@arcgis/core 5.2.0-next.6 → 5.2.0-next.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (346) hide show
  1. package/WebLinkChart.d.ts +1 -1
  2. package/WebMap.d.ts +2 -2
  3. package/WebScene.d.ts +3 -3
  4. package/arcade.d.ts +9 -9
  5. package/arcgisGlobal.d.ts +4 -0
  6. package/assets/esri/core/workers/RemoteClient.js +1 -1
  7. package/assets/esri/core/workers/chunks/03354ad3d74d858173b4.js +1 -0
  8. package/assets/esri/core/workers/chunks/{07a242ea908aa8e2ba28.js → 09a4139fc6d069ab6928.js} +1 -1
  9. package/assets/esri/core/workers/chunks/09d0e430c66788a2626f.js +640 -0
  10. package/assets/esri/core/workers/chunks/0a510acf50915e00c62b.js +1 -0
  11. package/assets/esri/core/workers/chunks/{829a0583b8a228c65379.js → 0b169bb1969f86232a1a.js} +1 -1
  12. package/assets/esri/core/workers/chunks/{20e2d11f6de438ee883e.js → 0ded58ccb83f624f1460.js} +1 -1
  13. package/assets/esri/core/workers/chunks/{d1ac98f48bb6d43d97c8.js → 0f3654c8157ec8f22869.js} +3 -3
  14. package/assets/esri/core/workers/chunks/19dcae83be0fc0aced02.js +1 -0
  15. package/assets/esri/core/workers/chunks/1eabe746481e0b228498.js +1 -0
  16. package/assets/esri/core/workers/chunks/{c27cb2a83a1d2e004501.js → 238478cfe493fd4a6100.js} +1 -1
  17. package/assets/esri/core/workers/chunks/{bf706a5d065a357de51b.js → 2413b383b7f2bdcd4ced.js} +1 -1
  18. package/assets/esri/core/workers/chunks/277718031c903da2b3b9.js +1 -0
  19. package/assets/esri/core/workers/chunks/{7ed5b669010db58845f8.js → 294f2803aac000c99693.js} +1 -1
  20. package/assets/esri/core/workers/chunks/{093f27e4e4781870b431.js → 297ae764445e6f73a5ea.js} +1 -1
  21. package/assets/esri/core/workers/chunks/2b36a54927f5a7281da3.js +1 -0
  22. package/assets/esri/core/workers/chunks/{be0eab592db0e651b023.js → 2b814bb51704a5b4fdc2.js} +6 -6
  23. package/assets/esri/core/workers/chunks/3172d7fc23787a287191.js +1 -0
  24. package/assets/esri/core/workers/chunks/{eedee0af459e6b8a6116.js → 33e0130e6a40fc768978.js} +1 -1
  25. package/assets/esri/core/workers/chunks/343ba5ea459e96ba79c6.js +1 -0
  26. package/assets/esri/core/workers/chunks/{a2159df718a7f2f59271.js → 38a2f34661563c7c29c1.js} +1 -1
  27. package/assets/esri/core/workers/chunks/3a5c1c501808352857bd.js +1 -0
  28. package/assets/esri/core/workers/chunks/{a96c7432ca97cbeef4b8.js → 3db898a38a7c5f0efb48.js} +1 -1
  29. package/assets/esri/core/workers/chunks/3fbb6ff940156a981983.js +1 -0
  30. package/assets/esri/core/workers/chunks/{24eaf1349ffe10e616e6.js → 40c4e14e7bb505ef10a3.js} +1 -1
  31. package/assets/esri/core/workers/chunks/4104fa1ede36bcee9be5.js +1 -0
  32. package/assets/esri/core/workers/chunks/{b002304a45856b024b46.js → 4714241189c13d0db897.js} +1 -1
  33. package/assets/esri/core/workers/chunks/485d20152495c27b8074.js +1 -0
  34. package/assets/esri/core/workers/chunks/{16b90d8f628a412ba4ba.js → 4894997bfa438f66da36.js} +1 -1
  35. package/assets/esri/core/workers/chunks/{0e774f14ba274832f390.js → 520e0e5307eef27becc6.js} +1 -1
  36. package/assets/esri/core/workers/chunks/53d165b4f30fd64e5d8a.js +1 -0
  37. package/assets/esri/core/workers/chunks/{c83fea0d0ebd0d8e43fd.js → 542f5469f7b42026b24f.js} +1 -1
  38. package/assets/esri/core/workers/chunks/5553279998ae07b60f5f.js +1 -0
  39. package/assets/esri/core/workers/chunks/{cda99b543a0e1979346c.js → 5cb1b950249d651f3837.js} +1 -1
  40. package/assets/esri/core/workers/chunks/{7601278ebced0c0c31cf.js → 5e3e0d7b85dfd52d1c7d.js} +1 -1
  41. package/assets/esri/core/workers/chunks/{f5a2c28dc26c065ea355.js → 62dfbdc847be4800e833.js} +22 -20
  42. package/assets/esri/core/workers/chunks/{c216cd5d6b5d4fe4bab3.js → 62e77e3c5ca9b4887923.js} +2 -2
  43. package/assets/esri/core/workers/chunks/{cc479daacd2cf715baa8.js → 62fc3c367f736c73b0d7.js} +1 -1
  44. package/assets/esri/core/workers/chunks/{b1f1271434af302938e8.js → 643c33a98f2d30a92001.js} +1 -1
  45. package/assets/esri/core/workers/chunks/{1c1515e020e32e177b54.js → 6a5356ebed70e0f8f979.js} +1 -1
  46. package/assets/esri/core/workers/chunks/{3402fb9c596b582311c7.js → 75839240022b280929f7.js} +1 -1
  47. package/assets/esri/core/workers/chunks/77a4f6f224d7ca4b69f4.js +1 -0
  48. package/assets/esri/core/workers/chunks/{6637f19b82555738a1d5.js → 78aa5bc6af2758da20d0.js} +1 -1
  49. package/assets/esri/core/workers/chunks/7df94cb985db41815fad.js +2 -0
  50. package/assets/esri/core/workers/chunks/{153dc2a0b08a0e44a881.js → 8419934bec7723b0feef.js} +1 -1
  51. package/assets/esri/core/workers/chunks/{50dc9893e13396f5e35d.js → 875cce0be4f6c89f80f3.js} +2 -2
  52. package/assets/esri/core/workers/chunks/{c319c3b85cdec73a9f45.js → 877c848beaf9a939862c.js} +1 -1
  53. package/assets/esri/core/workers/chunks/{ae74f722fb385e45fcf1.js → 893c0d28a5bf3f9f29f1.js} +1 -1
  54. package/assets/esri/core/workers/chunks/{5abe34bb0110694f7b42.js → 90953a827bc89d0e6bd5.js} +1 -1
  55. package/assets/esri/core/workers/chunks/{14c6419568d8a7a15cd6.js → 92ab5886aa2d8b9b179f.js} +1 -1
  56. package/assets/esri/core/workers/chunks/{4e676e888a935c507d90.js → 93d4bda22bde33fafa57.js} +1 -1
  57. package/assets/esri/core/workers/chunks/{fbb23db01f3cf629d32e.js → 992a90ecbab931198fd0.js} +1 -1
  58. package/assets/esri/core/workers/chunks/{1765042635084f75d2b3.js → 9b676606bf839b7aa433.js} +1 -1
  59. package/assets/esri/core/workers/chunks/a261f4c22224511fdfff.js +1 -0
  60. package/assets/esri/core/workers/chunks/{ea8f642b1db933d2c26f.js → a2ac139d0975085279a6.js} +1 -1
  61. package/assets/esri/core/workers/chunks/a4d3cbc02dc1186a9a6d.js +1 -0
  62. package/assets/esri/core/workers/chunks/a8ec5b85c2fa6fb4f391.js +1 -0
  63. package/assets/esri/core/workers/chunks/{6af77529c977d034d287.js → b23009d9f8eb7c20ce45.js} +1 -1
  64. package/assets/esri/core/workers/chunks/{1f55d60d3adc31283296.js → b79428c5093614174e76.js} +1 -1
  65. package/assets/esri/core/workers/chunks/b9bdb1f05e904c3655e4.js +1 -0
  66. package/assets/esri/core/workers/chunks/c4fc85281ca83af7abaf.js +1 -0
  67. package/assets/esri/core/workers/chunks/c983e5ce0ff952b65d7f.js +1 -0
  68. package/assets/esri/core/workers/chunks/{f79bd469b25099a31274.js → ca6907e14b1dde4d5c07.js} +1 -1
  69. package/assets/esri/core/workers/chunks/cbbd94c53e75efc99876.js +1 -0
  70. package/assets/esri/core/workers/chunks/{8f94c90fdb0333da2d0f.js → cfd28eba44cf5a296c6d.js} +1 -1
  71. package/assets/esri/core/workers/chunks/{e9dcc3e9dbafe9bbed84.js → d21480b078ec9680d4c4.js} +1 -1
  72. package/assets/esri/core/workers/chunks/{ace1899a8e5162b4018d.js → d6bb8db22ba85ad05fd7.js} +1 -1
  73. package/assets/esri/core/workers/chunks/{8244b74e9c3a30d8d2f6.js → d9d4754062758789f186.js} +2 -2
  74. package/assets/esri/core/workers/chunks/{d35c475f004367e333eb.js → e094364e54981c91e1b4.js} +1 -1
  75. package/assets/esri/core/workers/chunks/e33d2ede6c9f1527d51b.js +1 -0
  76. package/assets/esri/core/workers/chunks/{3e3134e4bc34d4e07179.js → e545df5ea7c0ced92cee.js} +1 -1
  77. package/assets/esri/core/workers/chunks/{49f6c9e9980b8c624fd7.js → f02fe24177e56a7e42b2.js} +1 -1
  78. package/assets/esri/core/workers/chunks/{d1ccc5f2d8892328ab01.js → f5731ad4cfbbf1cc569a.js} +2 -2
  79. package/assets/esri/themes/base/widgets/_DatePicker.scss +1 -1
  80. package/chunks/RealisticTree.glsl.js +17 -15
  81. package/config.d.ts +2 -2
  82. package/config.js +1 -1
  83. package/core/Collection.d.ts +25 -25
  84. package/core/Error.d.ts +1 -1
  85. package/core/JSONSupport.d.ts +1 -1
  86. package/core/promiseUtils.d.ts +3 -3
  87. package/core/reactiveUtils.d.ts +4 -4
  88. package/core/sql/WhereClause.d.ts +1 -1
  89. package/core/timeUtils.d.ts +1 -1
  90. package/core/workers/Connection.d.ts +9 -9
  91. package/core/workers.d.ts +1 -1
  92. package/editing/types.d.ts +3 -3
  93. package/geometry/Mesh.d.ts +9 -2
  94. package/geometry/Mesh.js +1 -1
  95. package/geometry/support/MeshMaterial.d.ts +5 -5
  96. package/geometry/support/MeshTexture.d.ts +19 -19
  97. package/geometry/support/jsonUtils.d.ts +1 -1
  98. package/geometry/support/meshUtils.d.ts +130 -2
  99. package/geometry/support/meshUtils.js +1 -1
  100. package/identity/Credential.d.ts +1 -1
  101. package/identity/IdentityManager.d.ts +1 -1
  102. package/identity/OAuthInfo.d.ts +1 -1
  103. package/identity/ServerInfo.d.ts +2 -2
  104. package/interfaces.d.ts +13 -0
  105. package/intl/number.d.ts +3 -3
  106. package/intl/substitute.d.ts +2 -2
  107. package/intl.d.ts +28 -28
  108. package/kernel.js +1 -1
  109. package/layers/AnnotationLayer.js +1 -1
  110. package/layers/BaseDynamicLayer.d.ts +5 -5
  111. package/layers/BaseTileLayer.d.ts +4 -4
  112. package/layers/BuildingSceneLayer.d.ts +1 -1
  113. package/layers/CSVLayer.d.ts +7 -1
  114. package/layers/CatalogLayer.d.ts +6 -0
  115. package/layers/DimensionFeatureLayer.js +1 -1
  116. package/layers/FeatureLayer.d.ts +44 -7
  117. package/layers/FeatureLayer.js +1 -1
  118. package/layers/GeoJSONLayer.d.ts +7 -1
  119. package/layers/LinkChartLayer.js +1 -1
  120. package/layers/MapImageLayer.d.ts +5 -5
  121. package/layers/MediaLayer.d.ts +2 -2
  122. package/layers/OrientedImageryLayer.d.ts +29 -2
  123. package/layers/ParquetLayer.d.ts +7 -1
  124. package/layers/SceneLayer.d.ts +1 -1
  125. package/layers/SceneLayer.js +1 -1
  126. package/layers/StreamLayer.d.ts +1 -1
  127. package/layers/SubtypeGroupLayer.d.ts +7 -1
  128. package/layers/TileLayer.d.ts +2 -2
  129. package/layers/VideoLayer.d.ts +1 -1
  130. package/layers/VoxelLayer.d.ts +4 -4
  131. package/layers/WCSLayer.d.ts +2 -2
  132. package/layers/WFSLayer.d.ts +6 -0
  133. package/layers/WebTileLayer.d.ts +1 -1
  134. package/layers/catalog/CatalogFootprintLayer.d.ts +20 -1
  135. package/layers/graphics/sources/FeatureLayerSource.js +1 -1
  136. package/layers/knowledgeGraph/KnowledgeGraphSublayer.d.ts +6 -0
  137. package/layers/mixins/ArcGISImageService.d.ts +7 -1
  138. package/layers/mixins/BlendLayer.d.ts +1 -1
  139. package/layers/mixins/DataSeriesLayer.d.ts +161 -0
  140. package/layers/mixins/DataSeriesLayer.js +2 -0
  141. package/layers/mixins/FeatureLayerBase.d.ts +3 -3
  142. package/layers/orientedImagery/core/coverageUtils.js +1 -1
  143. package/layers/support/DateTimeFieldFormat.d.ts +10 -10
  144. package/layers/support/FeatureEffect.d.ts +22 -22
  145. package/layers/support/FeatureReductionBinning.d.ts +12 -0
  146. package/layers/support/FeatureReductionCluster.d.ts +12 -0
  147. package/layers/support/Field.d.ts +2 -2
  148. package/layers/support/ImageElement.d.ts +1 -1
  149. package/layers/support/MosaicRule.d.ts +0 -2
  150. package/layers/support/NumberFieldFormat.d.ts +5 -5
  151. package/layers/support/StreamConnection.d.ts +1 -1
  152. package/layers/support/Sublayer.d.ts +2 -2
  153. package/layers/support/SubtypeSublayer.d.ts +14 -1
  154. package/layers/support/TimeSeriesFieldTimeMapping.d.ts +30 -0
  155. package/layers/support/TimeSeriesFieldTimeMapping.js +2 -0
  156. package/layers/support/TimeSeriesInfo.d.ts +149 -0
  157. package/layers/support/TimeSeriesInfo.js +2 -0
  158. package/layers/support/VideoElement.d.ts +1 -1
  159. package/layers/support/dataSeriesUtils.d.ts +18 -0
  160. package/layers/support/dataSeriesUtils.js +2 -0
  161. package/layers/support/kmlUtils.js +1 -1
  162. package/layers/support/timeSeriesUtils.d.ts +27 -0
  163. package/layers/support/timeSeriesUtils.js +2 -0
  164. package/layers/types.d.ts +1 -1
  165. package/linkChart/ChronologicalLayoutSettings.d.ts +1 -1
  166. package/networks/CircuitManager.d.ts +1 -1
  167. package/networks/Network.d.ts +1 -1
  168. package/networks/UnitIdentifierManager.d.ts +1 -1
  169. package/networks/support/NamedTraceConfiguration.d.ts +1 -1
  170. package/networks/support/TraceConfiguration.d.ts +2 -2
  171. package/networks/support/UNTraceConfiguration.d.ts +3 -3
  172. package/networks/support/jsonTypes.d.ts +7 -1
  173. package/networks/support/utils.js +1 -1
  174. package/package.json +3 -3
  175. package/popup/content/CustomContent.d.ts +1 -1
  176. package/portal/Portal.d.ts +2 -2
  177. package/portal/jsonTypes.d.ts +2 -2
  178. package/renderers/support/AuthoringInfo.d.ts +14 -1
  179. package/renderers/support/AuthoringInfo.js +1 -1
  180. package/renderers/support/AuthoringInfoVisualVariable.d.ts +14 -1
  181. package/renderers/support/AuthoringInfoVisualVariable.js +1 -1
  182. package/renderers/support/jsonUtils.d.ts +1 -1
  183. package/renderers/support/utils.d.ts +1 -1
  184. package/renderers/visualVariables/RotationVariable.d.ts +16 -1
  185. package/renderers/visualVariables/RotationVariable.js +1 -1
  186. package/request/types.d.ts +23 -23
  187. package/rest/geometryService.d.ts +1 -1
  188. package/rest/knowledgeGraph/CreateReplicaResponse.d.ts +1 -1
  189. package/rest/knowledgeGraph/GraphApplyEdits.d.ts +1 -1
  190. package/rest/knowledgeGraph/GraphProperty.d.ts +5 -1
  191. package/rest/knowledgeGraph/GraphQueryStreamingResult.d.ts +2 -2
  192. package/rest/knowledgeGraph/wasmInterface/wasmToDataModelFactories.js +1 -1
  193. package/rest/knowledgeGraph/wasmInterface/wasmToQueryResponseObjFactories.js +1 -1
  194. package/rest/knowledgeGraph/wasmInterface/wasmToReplicaFactories.js +1 -1
  195. package/rest/knowledgeGraphService.d.ts +13 -13
  196. package/rest/layerSources/DynamicDataLayer.d.ts +1 -1
  197. package/rest/print.d.ts +1 -1
  198. package/rest/support/AttributeBinsQuery.d.ts +16 -2
  199. package/rest/support/ClosestFacilityParameters.d.ts +6 -6
  200. package/rest/support/LastMileDeliveryParameters.d.ts +4 -4
  201. package/rest/support/LocationToAddressParameters.d.ts +1 -1
  202. package/rest/support/PrintTemplate.d.ts +5 -5
  203. package/rest/support/Query.d.ts +18 -4
  204. package/rest/support/RouteParameters.d.ts +5 -5
  205. package/rest/support/ServiceAreaParameters.d.ts +6 -6
  206. package/rest/support/TopFeaturesQuery.d.ts +16 -2
  207. package/rest/support/meshFeatureSet.js +1 -1
  208. package/smartMapping/renderers/color.d.ts +40 -0
  209. package/smartMapping/renderers/color.js +1 -1
  210. package/smartMapping/renderers/opacity.d.ts +8 -0
  211. package/smartMapping/renderers/opacity.js +1 -1
  212. package/smartMapping/renderers/size.d.ts +38 -0
  213. package/smartMapping/renderers/size.js +1 -1
  214. package/smartMapping/renderers/support/regenerateUtils.js +1 -1
  215. package/smartMapping/renderers/support/timeSeriesUtils.js +2 -0
  216. package/smartMapping/renderers/type.d.ts +20 -1
  217. package/smartMapping/renderers/type.js +1 -1
  218. package/smartMapping/renderers/univariateColorSize.d.ts +19 -0
  219. package/smartMapping/renderers/univariateColorSize.js +1 -1
  220. package/support/revision.js +1 -1
  221. package/support/tests/setupServiceMocksMesh.js +1 -1
  222. package/support/timeUtils.d.ts +3 -3
  223. package/symbols/Font.d.ts +7 -7
  224. package/symbols/WebStyleSymbol.d.ts +11 -11
  225. package/symbols/cim/effects/EffectControlMeasureLine.js +1 -1
  226. package/symbols/support/Symbol3DEmissive.d.ts +8 -2
  227. package/symbols/support/jsonUtils.d.ts +1 -1
  228. package/time/TimeExtent.d.ts +2 -2
  229. package/versionManagement/VersionManagementService.d.ts +8 -8
  230. package/versionManagement/VersionManager.d.ts +13 -3
  231. package/versionManagement/VersioningState.d.ts +4 -4
  232. package/views/2d/MapViewConstraints.d.ts +29 -25
  233. package/views/2d/engine/flow/styles/Imagery.js +1 -1
  234. package/views/2d/engine/flow/styles/Particles.js +1 -1
  235. package/views/2d/engine/flow/styles/Streamlines.js +1 -1
  236. package/views/2d/engine/vectorTiles/VectorTileFeatureIndex.js +1 -1
  237. package/views/2d/engine/vectorTiles/style/StyleLayer.js +1 -1
  238. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  239. package/views/2d/layers/BaseLayerView2D.d.ts +4 -20
  240. package/views/2d/layers/BaseLayerViewGL2D.d.ts +6 -22
  241. package/views/2d/layers/VectorTileLayerView2D.js +1 -1
  242. package/views/2d/layers/features/support/FeatureSetReader.js +1 -1
  243. package/views/2d/layers/features/support/FeatureSetReaderParquet.js +1 -1
  244. package/views/3d/analysis/Viewshed/ViewshedEditTool.js +1 -1
  245. package/views/3d/analysis/Viewshed/ViewshedPlacementController.js +1 -1
  246. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementError.d.ts +1 -1
  247. package/views/3d/glTF/internal/resourceUtils.js +1 -1
  248. package/views/3d/layers/GaussianSplatLayerView3D.js +1 -1
  249. package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
  250. package/views/3d/layers/graphics/Graphics3DSymbolLayer.js +1 -1
  251. package/views/3d/webgl/RenderNode.d.ts +7 -7
  252. package/views/3d/webgl-engine/effects/glow/Glow.js +1 -1
  253. package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
  254. package/views/3d/webgl-engine/shaders/RealisticTree.glsl.js +1 -1
  255. package/views/BreakpointsOwner.d.ts +1 -1
  256. package/views/DOMContainer.d.ts +6 -6
  257. package/views/Magnifier.d.ts +1 -1
  258. package/views/MapView.d.ts +1 -1
  259. package/views/SceneView.d.ts +2 -2
  260. package/views/View2D.d.ts +62 -54
  261. package/views/Viewport2DMixin.d.ts +1 -1
  262. package/views/analysis/ElevationProfile/ElevationProfileError.d.ts +1 -1
  263. package/views/input/gamepad/GamepadInputDevice.d.ts +1 -1
  264. package/views/input/types.d.ts +15 -15
  265. package/views/layers/FeatureLikeLayerView.d.ts +7 -4
  266. package/views/layers/GraphicsLayerView.d.ts +6 -3
  267. package/views/layers/ImageryLayerView.d.ts +4 -0
  268. package/views/navigation/Navigation.d.ts +1 -1
  269. package/views/support/WebAssemblyRequirements.js +1 -1
  270. package/views/types.d.ts +1 -1
  271. package/webscene/Glow.d.ts +0 -4
  272. package/widgets/BasemapGallery.d.ts +1 -1
  273. package/widgets/BasemapLayerList.d.ts +1 -1
  274. package/widgets/BatchAttributeForm/inputs/AttachmentElementInput.js +1 -1
  275. package/widgets/BatchAttributeForm.d.ts +1 -1
  276. package/widgets/BatchAttributeForm.js +1 -1
  277. package/widgets/Bookmarks.d.ts +1 -1
  278. package/widgets/BuildingExplorer.d.ts +1 -1
  279. package/widgets/CoordinateConversion/CoordinateConversionViewModel.d.ts +2 -2
  280. package/widgets/CoordinateConversion/CoordinateConversionViewModel.js +1 -1
  281. package/widgets/CoordinateConversion.d.ts +2 -2
  282. package/widgets/Daylight.d.ts +1 -1
  283. package/widgets/Directions.d.ts +1 -1
  284. package/widgets/Editor.d.ts +1 -1
  285. package/widgets/Feature.d.ts +1 -1
  286. package/widgets/FeatureForm.d.ts +1 -1
  287. package/widgets/FeatureTable/FieldColumn.d.ts +1 -14
  288. package/widgets/FeatureTable/Grid/Column.d.ts +1 -1
  289. package/widgets/FeatureTable/support/ColumnTemplateBase.d.ts +1 -1
  290. package/widgets/FeatureTemplates.d.ts +1 -1
  291. package/widgets/FloorFilter.d.ts +1 -1
  292. package/widgets/Fullscreen/FullscreenViewModel.d.ts +3 -3
  293. package/widgets/Fullscreen/FullscreenViewModel.js +1 -1
  294. package/widgets/Fullscreen.d.ts +3 -3
  295. package/widgets/LayerList/ListItemPanel.d.ts +5 -5
  296. package/widgets/Legend.d.ts +1 -1
  297. package/widgets/Locate/LocateViewModel.d.ts +2 -2
  298. package/widgets/Locate.d.ts +1 -1
  299. package/widgets/PanoramicViewer/utils.js +1 -1
  300. package/widgets/Popup.d.ts +1 -1
  301. package/widgets/Print/PrintViewModel.d.ts +2 -2
  302. package/widgets/Print/TemplateOptions.d.ts +4 -4
  303. package/widgets/Print.d.ts +6 -6
  304. package/widgets/Search/SearchViewModel.d.ts +5 -5
  305. package/widgets/Search.d.ts +4 -4
  306. package/widgets/ShadowCast.d.ts +1 -1
  307. package/widgets/Sketch/SketchViewModel.d.ts +1 -1
  308. package/widgets/Slice.d.ts +1 -1
  309. package/widgets/TableList/ListItemPanel.d.ts +5 -5
  310. package/widgets/Track/TrackViewModel.d.ts +3 -3
  311. package/widgets/Track.d.ts +3 -3
  312. package/widgets/UtilityNetworkTrace.d.ts +1 -1
  313. package/widgets/VersionManagement/VersionManagementViewModel.d.ts +2 -2
  314. package/widgets/Weather.d.ts +1 -1
  315. package/widgets/Widget.d.ts +1 -1
  316. package/widgets/support/forms/formUtils.js +1 -1
  317. package/widgets/support/types.d.ts +1 -1
  318. package/widgets/support/widget.d.ts +6 -6
  319. package/assets/esri/core/workers/chunks/1ddbf5f507ac153234be.js +0 -1
  320. package/assets/esri/core/workers/chunks/29615df388a0df022d8c.js +0 -1
  321. package/assets/esri/core/workers/chunks/2bd334f9ab89334df713.js +0 -1
  322. package/assets/esri/core/workers/chunks/319ff04282dc8ae38b56.js +0 -2
  323. package/assets/esri/core/workers/chunks/3a6678ee9990d7e83e15.js +0 -1
  324. package/assets/esri/core/workers/chunks/3b3986276e70297d573b.js +0 -1
  325. package/assets/esri/core/workers/chunks/46fbd519cc1a37923bfc.js +0 -1
  326. package/assets/esri/core/workers/chunks/4ef53455c8bc6efee80e.js +0 -1
  327. package/assets/esri/core/workers/chunks/51ee6102f5f4840a5b47.js +0 -1
  328. package/assets/esri/core/workers/chunks/58994b6bfcda5f2ada80.js +0 -1
  329. package/assets/esri/core/workers/chunks/6db274f6767102a39021.js +0 -1
  330. package/assets/esri/core/workers/chunks/77769663cd712822d33e.js +0 -1
  331. package/assets/esri/core/workers/chunks/8c5a41ae68775bac3446.js +0 -1
  332. package/assets/esri/core/workers/chunks/b08a1255dacf6cfcf139.js +0 -640
  333. package/assets/esri/core/workers/chunks/b098469e0010a6b44df9.js +0 -1
  334. package/assets/esri/core/workers/chunks/ca1b0cb14ea9ae1bf2a3.js +0 -1
  335. package/assets/esri/core/workers/chunks/ca4245414d8ecd217f9d.js +0 -1
  336. package/assets/esri/core/workers/chunks/d3af51a6d9014ff46170.js +0 -1
  337. package/assets/esri/core/workers/chunks/d561dc933d8fe1672d85.js +0 -1
  338. package/assets/esri/core/workers/chunks/e38836bfcc7a15a2fd1f.js +0 -1
  339. package/assets/esri/core/workers/chunks/e645f992ec6f935ee3a5.js +0 -1
  340. package/assets/esri/core/workers/chunks/eabd4a78221b7e733793.js +0 -1
  341. package/assets/esri/core/workers/chunks/f05932aea4eb267cba4d.js +0 -1
  342. /package/assets/esri/core/workers/chunks/{50dc9893e13396f5e35d.js.LICENSE.txt → 62e77e3c5ca9b4887923.js.LICENSE.txt} +0 -0
  343. /package/assets/esri/core/workers/chunks/{319ff04282dc8ae38b56.js.LICENSE.txt → 7df94cb985db41815fad.js.LICENSE.txt} +0 -0
  344. /package/assets/esri/core/workers/chunks/{c216cd5d6b5d4fe4bab3.js.LICENSE.txt → 875cce0be4f6c89f80f3.js.LICENSE.txt} +0 -0
  345. /package/assets/esri/core/workers/chunks/{8244b74e9c3a30d8d2f6.js.LICENSE.txt → d9d4754062758789f186.js.LICENSE.txt} +0 -0
  346. /package/assets/esri/core/workers/chunks/{d1ccc5f2d8892328ab01.js.LICENSE.txt → f5731ad4cfbbf1cc569a.js.LICENSE.txt} +0 -0
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{createUniqueColors as e}from"../../core/colorUtils.js";import i from"../../core/Error.js";import{clone as l}from"../../core/lang.js";import{fetchMessageBundle as n}from"../../intl/messages.js";import{isTimeOnlyField as r}from"../../layers/support/fieldUtils.js";import o from"../../renderers/PointCloudUniqueValueRenderer.js";import t from"../../renderers/UniqueValueRenderer.js";import s from"../../renderers/support/RendererLegendOptions.js";import{createUniqueValueLabel as a,calculateDateFormatInterval as u,dateFormatIntervalOptions as p}from"../../renderers/support/utils.js";import m from"../../renderers/support/pointCloud/ColorUniqueValueInfo.js";import d from"../heuristics/outline.js";import c from"../heuristics/sizeRange.js";import{spliceVisualVariables as f,findOutlineVVIndex as y,findScaleDependentSizeVVIndex as v,processRegenerateParams as b,getRendererToUpdate as g,getStyleType as h,hasOutlineVV as w,hasScaleDependentSizeVV as T}from"./support/regenerateUtils.js";import{getPointSizeAlgorithm as z,errorCallback as E,getBasemapInfo as x,isValidPointSize as I,verifyBasicFieldValidity as V,getSymbolSizeFromScheme as M,getSymbolOutlineFromScheme as j,createSymbol as S}from"./support/utils.js";import O from"../statistics/uniqueValues.js";import{verifyBinningParams as q}from"../support/binningUtils.js";import{getFieldsList as U,fieldDelimiter as C,isAnyDateField as B}from"../support/utils.js";import{createLayerAdapter as R,getLayerTypeLabels as P,binningCapableLayerTypes as Z,featureCapableLayerTypes as F}from"../support/adapters/support/layerUtils.js";import{cloneScheme as D,getSchemes as k}from"../symbology/type.js";async function A(e){if(!e?.layer||!e.field&&!e.valueExpression)throw new i("type-renderer:missing-parameters","'layer' and 'field' or 'valueExpression' parameters are required");if(e.valueExpression&&!e.view)throw new i("type-renderer:missing-parameters","View is required when 'valueExpression' is specified");e.forBinning&&q(e,"type-renderer");const n={...e,layer:e.layer};n.symbolType=n.symbolType||"2d",n.defaultSymbolEnabled??=!0,n.sortBy??="count",n.sortEnabled??=!0,n.statistics=l(n.statistics);const r=null==n.numTypes?10:n.numTypes,o=e.forBinning?Z:F,t=R(n.layer,o,e.forBinning);if(!t)throw new i("type-renderer:invalid-parameters","'layer' must be one of these types: "+P(o).join(", "));const s=null!=n.signal?{signal:n.signal}:null;await t.load(s);const a=t.geometryType;n.outlineOptimizationEnabled="polygon"===a&&n.outlineOptimizationEnabled;const u="featureReduction"in e.layer&&"cluster"===e.layer.featureReduction?.type;if(n.sizeOptimizationEnabled=!("point"!==a&&"multipoint"!==a&&"polyline"!==a||u)&&n.sizeOptimizationEnabled,"mesh"===a)n.symbolType="3d-volumetric",n.colorMixMode=n.colorMixMode||"replace",n.edgesType=n.edgesType||"none";else{if("3d-volumetric-uniform"===n.symbolType&&"point"!==a)throw new i("type-renderer:not-supported","3d-volumetric-uniform symbols are supported for point layers only");if(n.symbolType.includes("3d-volumetric")&&"3d"!==n.view?.type)throw new i("type-renderer:invalid-parameters","'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or '3d-volumetric-uniform'")}const p=await U({field:n.field,field2:n.field2,field3:n.field3,valueExpression:n.valueExpression}),m=V(t,p,"type-renderer:invalid-parameters");if(m)throw m;return{...n,layer:t,numTypes:r}}async function L(e){const l="regenerate-type-renderer";await b(e,l);const n=await g(e),r=h(n);if(!r||!["type","type-size"].includes(r))throw new i(`${l}:invalid-parameters`,"Renderer is invalid");const{field:o,field2:t,field3:s,valueExpression:a,valueExpressionTitle:u}=n,p=n.uniqueValueInfos.length,{layer:m,forBinning:d,filter:c,view:f,signal:y}=e,v=w(n),z=T(n),E=await A({layer:m,field:o,field2:t,field3:s,valueExpression:a,valueExpressionTitle:u,numTypes:p,outlineOptimizationEnabled:v,sizeOptimizationEnabled:z,forBinning:d,filter:c,view:f,signal:y});return{...e,creatorParameters:E,renderer:n}}async function $(e){if(!e?.layer||!e.field)throw new i("type-point-cloud-class-renderer:missing-parameters","'layer' and 'field' parameters are required");const n={...e,layer:e.layer};n.statistics=l(n.statistics);const r=[10],o=R(n.layer,r);if(!o)throw new i("type-point-cloud-class-renderer:invalid-parameters","'layer' must be one of these types: "+P(r).join(", "));if(n.layer=o,n.density=n.density||25,n.size=n.size||"100%",!I(n.size))throw new i("type-point-cloud-class-renderer:invalid-parameters","Invalid 'size' parameter. It should be a string of the form '100%'");const t=null!=n.signal?{signal:n.signal}:null;await o.load(t);const s=await U({field:n.field}),a=V(o,s,"type-point-cloud-class-renderer:invalid-parameters");if(a)throw a;return n}async function G(e){let i=e.typeScheme,l=null,n=null;const r=await x(e.basemap,e.view);if(l=null!=r.basemapId?r.basemapId:null,n=null!=r.basemapTheme?r.basemapTheme:null,i)return{scheme:D(i),basemapId:l,basemapTheme:n};const o=k({numColors:e.numColors,basemapTheme:n,geometryType:e.geometryType,theme:e.theme,worldScale:e.worldScale,view:e.view});return o&&(i=o.primaryScheme,l=o.basemapId,n=o.basemapTheme),{scheme:i,basemapId:l,basemapTheme:n}}function H(e,i){let l;return l=e.label<i.label?-1:e.label>i.label?1:0,l}function J(e,i){let l;return l=e.value<i.value?-1:e.value>i.value?1:0,l}function K(e,i){let l=i.count-e.count;return 0===l&&(l=H(e,i)),l}function N(e,i){let l=i.count-e.count;return 0===l&&(l=J(e,i)),l}function Q(e,i,l){let n;"count"===i?(n=N,l&&"codedValues"in l&&l.codedValues&&(n=K)):"value"===i&&(n=J,l&&"codedValues"in l&&l.codedValues&&(n=H)),n&&e.sort(n)}async function W(e,i,l,r){const o=await n("esri/smartMapping/t9n/smartMapping"),{field:u,field2:p,field3:m}=i,d=e.uniqueValueInfos,c=i.layer,f=u?c.getField(u):null,y=f?c.getFieldDomain(f.name):null,v=-1===i.numTypes?d.length:i.numTypes,b=c.geometryType,g=new t({field:u,field2:p,field3:m,fieldDelimiter:u&&p?C:null}),h=[],w=[],T={value:null,domain:y,fieldInfo:f};d.forEach((e,i)=>{T.value=e.value,e.label=a(T);const l=e.value;(null===l||"string"==typeof l&&l.toLowerCase().includes("<null>"))&&h.unshift(i)});for(const n of h)w.unshift(d.splice(n,1)[0]);!1!==i.sortEnabled&&Q(d,i.sortBy,y),X(T,i,d);const z=l?.opacity,E=await G({numColors:d.length,basemap:i.basemap,geometryType:b,typeScheme:i.typeScheme,worldScale:!!i.symbolType?.includes("3d-volumetric"),view:i.view}),x=E.scheme,I=x.colors.map(e=>e.clone()),V=M(x,b),O=j(x,b,z);d.forEach((e,l)=>{T.value=e.value,e.label=a(T),e.symbol=S(b,{type:i.symbolType,color:I[l],size:V,outline:O,meshInfo:{colorMixMode:i.colorMixMode,edgesType:i.edgesType}})}),i.valueExpression&&(g.valueExpression=i.valueExpression,g.valueExpressionTitle=i.valueExpressionTitle),i.legendOptions&&(g.legendOptions=new s(i.legendOptions));for(let n=0;n<v;n++){const e=d[n];e&&g.addUniqueValueInfo({value:e.value,label:e.label,symbol:S(b,{type:i.symbolType,color:I[n].clone(),size:V,outline:O,meshInfo:{colorMixMode:i.colorMixMode,edgesType:i.edgesType}})})}i.defaultSymbolEnabled&&(g.defaultSymbol=S(b,{type:i.symbolType,color:x.noDataColor,size:V,outline:O,meshInfo:{colorMixMode:i.colorMixMode,edgesType:i.edgesType}}),g.defaultLabel=o.other);for(const n of w)n.symbol=S(b,{type:i.symbolType,color:x.noDataColor,size:V,outline:O,meshInfo:{colorMixMode:i.colorMixMode,edgesType:i.edgesType}}),d.push(n);const q=[],U=g.uniqueValueInfos?.length??0,B=U===d.length?-1:U;if(B>-1)for(let n=B;n<d.length;n++)q.push({...d[n]});return l?.visualVariables?.length&&(g.visualVariables=l.visualVariables.map(e=>e.clone())),r?.minSize&&(g.visualVariables?g.visualVariables.push(r.minSize):g.visualVariables=[r.minSize]),{renderer:g,uniqueValueInfos:d,excludedUniqueValueInfos:q,typeScheme:D(x),basemapId:E.basemapId,basemapTheme:E.basemapTheme}}function X(e,i,l){const{field:n,numTypes:o,layer:t,view:s}=i,a=n?t.getField(n):null;if(a&&(B(a)||r(a))){const i=l.filter((e,i)=>i<o).map(e=>e.value),n=r(a)?null:u(i),m=n?p[n]:void 0;if(e.dateFormatOptions={fieldType:a.type,format:m},s){const i=t.layer;e.dateFormatOptions.timeZoneOptions={layerTimeZone:"preferredTimeZone"in i?i.preferredTimeZone:null,viewTimeZone:s.timeZone,datesInUnknownTimezone:"datesInUnknownTimezone"in i&&i.datesInUnknownTimezone}}}}async function Y(i,l){const n=i.uniqueValueInfos,r=await G({numColors:n.length,basemap:"gray",theme:"point-cloud-class",geometryType:"point",typeScheme:l}),o=r?.scheme,t="point-cloud-class"===o?.theme,s=t?o.colors:e(o?.colors??[],n.length);return Q(n,"value"),n.map((e,i)=>{const l=e.value;let n=null;return t?(n=s[l],n||(n=s[s.length-1])):n=s[i],new m({values:[l],color:n,label:e.label})})}async function _(e){const i=await A(e),{layer:l,view:n,signal:r,filter:o}=i,t={layer:l,field:i.field,field2:i.field2,field3:i.field3,valueExpression:i.valueExpression,returnAllCodedValues:i.returnAllCodedValues,view:n,filter:o,signal:r},[s,a,u]=await Promise.all([null!=i.statistics?i.statistics:O(t),i.outlineOptimizationEnabled?d({layer:l,view:n,signal:r,filter:o}).catch(E):null,i.sizeOptimizationEnabled?c({layer:l,view:n,signal:r,filter:o}).catch(E):null]);return W(s,i,a,u)}async function ee(e){const{creatorParameters:i,view:l,signal:n,filter:r,renderer:o}=await L(e),{layer:t,outlineOptimizationEnabled:s,sizeOptimizationEnabled:a}=i,[u,p]=await Promise.all([s?d({layer:t,view:l,signal:n,filter:r}).catch(E):null,a?c({layer:t,view:l,signal:n,filter:r}).catch(E):null]);return f(o,u?.visualVariables,y),f(o,p?.minSize,v),{renderer:o}}async function ie(e){const i=await $(e),l=null!=i.statistics?i.statistics:await O({layer:i.layer,field:i.field,signal:i.signal});return{renderer:new o({field:i.field,pointsPerInch:i.density??void 0,pointSizeAlgorithm:z(i.size),colorUniqueValueInfos:await Y(l,i.typeScheme)})}}export{ie as createPCClassRenderer,_ as createRenderer,G as getTypeSchemeData,ee as regenerateRenderer};
2
+ import{createUniqueColors as e}from"../../core/colorUtils.js";import i from"../../core/Error.js";import{clone as l}from"../../core/lang.js";import{fetchMessageBundle as n}from"../../intl/messages.js";import{isTimeOnlyField as r}from"../../layers/support/fieldUtils.js";import o from"../../renderers/PointCloudUniqueValueRenderer.js";import t from"../../renderers/UniqueValueRenderer.js";import s from"../../renderers/support/AuthoringInfo.js";import a from"../../renderers/support/RendererLegendOptions.js";import{createUniqueValueLabel as u,calculateDateFormatInterval as p,dateFormatIntervalOptions as m}from"../../renderers/support/utils.js";import d from"../../renderers/support/pointCloud/ColorUniqueValueInfo.js";import c from"../heuristics/outline.js";import f from"../heuristics/sizeRange.js";import{spliceVisualVariables as y,findOutlineVVIndex as v,findScaleDependentSizeVVIndex as b,processRegenerateParams as g,getRendererToUpdate as h,getStyleType as w,hasOutlineVV as T,hasScaleDependentSizeVV as E}from"./support/regenerateUtils.js";import{resolveDataSeriesInfo as z}from"./support/timeSeriesUtils.js";import{getPointSizeAlgorithm as x,errorCallback as I,getBasemapInfo as V,isValidPointSize as S,verifyBasicFieldValidity as j,getSymbolSizeFromScheme as M,getSymbolOutlineFromScheme as O,createSymbol as q}from"./support/utils.js";import U from"../statistics/uniqueValues.js";import{verifyBinningParams as C}from"../support/binningUtils.js";import{getFieldsList as B,fieldDelimiter as R,isAnyDateField as N}from"../support/utils.js";import{createLayerAdapter as P,getLayerTypeLabels as Z,binningCapableLayerTypes as F,featureCapableLayerTypes as A}from"../support/adapters/support/layerUtils.js";import{cloneScheme as D,getSchemes as k}from"../symbology/type.js";async function L(e){const n=z({...e});if(!n?.layer||!n.field&&!n.valueExpression)throw new i("type-renderer:missing-parameters","'layer' and 'field' or 'valueExpression' parameters are required");if(n.valueExpression&&!n.view)throw new i("type-renderer:missing-parameters","View is required when 'valueExpression' is specified");n.forBinning&&C(n,"type-renderer");const r={...n,layer:n.layer};r.symbolType=r.symbolType||"2d",r.defaultSymbolEnabled??=!0,r.sortBy??="count",r.sortEnabled??=!0,r.statistics=l(r.statistics);const o=null==r.numTypes?10:r.numTypes,t=n.forBinning?F:A,s=P(r.layer,t,n.forBinning);if(!s)throw new i("type-renderer:invalid-parameters","'layer' must be one of these types: "+Z(t).join(", "));const a=null!=r.signal?{signal:r.signal}:null;await s.load(a);const u=s.geometryType;r.outlineOptimizationEnabled="polygon"===u&&r.outlineOptimizationEnabled;const p="featureReduction"in n.layer&&"cluster"===n.layer.featureReduction?.type;if(r.sizeOptimizationEnabled=!("point"!==u&&"multipoint"!==u&&"polyline"!==u||p)&&r.sizeOptimizationEnabled,"mesh"===u)r.symbolType="3d-volumetric",r.colorMixMode=r.colorMixMode||"replace",r.edgesType=r.edgesType||"none";else{if("3d-volumetric-uniform"===r.symbolType&&"point"!==u)throw new i("type-renderer:not-supported","3d-volumetric-uniform symbols are supported for point layers only");if(r.symbolType.includes("3d-volumetric")&&"3d"!==r.view?.type)throw new i("type-renderer:invalid-parameters","'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or '3d-volumetric-uniform'")}const m=await B({field:r.field,field2:r.field2,field3:r.field3,valueExpression:r.valueExpression}),d=j(s,m,"type-renderer:invalid-parameters");if(d)throw d;return{...r,layer:s,numTypes:o}}async function $(e){const l="regenerate-type-renderer";await g(e,l);const n=await h(e),r=w(n);if(!r||!["type","type-size"].includes(r))throw new i(`${l}:invalid-parameters`,"Renderer is invalid");const{field:o,field2:t,field3:s,valueExpression:a,valueExpressionTitle:u}=n,p=n.uniqueValueInfos.length,{layer:m,forBinning:d,filter:c,view:f,signal:y}=e,v=n.authoringInfo?.dataSeriesName,b=T(n),z=E(n),x=await L({layer:m,field:o,field2:t,field3:s,valueExpression:a,valueExpressionTitle:u,numTypes:p,outlineOptimizationEnabled:b,sizeOptimizationEnabled:z,dataSeriesName:v,forBinning:d,filter:c,view:f,signal:y});return{...e,creatorParameters:x,renderer:n}}async function G(e){if(!e?.layer||!e.field)throw new i("type-point-cloud-class-renderer:missing-parameters","'layer' and 'field' parameters are required");const n={...e,layer:e.layer};n.statistics=l(n.statistics);const r=[10],o=P(n.layer,r);if(!o)throw new i("type-point-cloud-class-renderer:invalid-parameters","'layer' must be one of these types: "+Z(r).join(", "));if(n.layer=o,n.density=n.density||25,n.size=n.size||"100%",!S(n.size))throw new i("type-point-cloud-class-renderer:invalid-parameters","Invalid 'size' parameter. It should be a string of the form '100%'");const t=null!=n.signal?{signal:n.signal}:null;await o.load(t);const s=await B({field:n.field}),a=j(o,s,"type-point-cloud-class-renderer:invalid-parameters");if(a)throw a;return n}async function H(e){let i=e.typeScheme,l=null,n=null;const r=await V(e.basemap,e.view);if(l=null!=r.basemapId?r.basemapId:null,n=null!=r.basemapTheme?r.basemapTheme:null,i)return{scheme:D(i),basemapId:l,basemapTheme:n};const o=k({numColors:e.numColors,basemapTheme:n,geometryType:e.geometryType,theme:e.theme,worldScale:e.worldScale,view:e.view});return o&&(i=o.primaryScheme,l=o.basemapId,n=o.basemapTheme),{scheme:i,basemapId:l,basemapTheme:n}}function J(e,i){let l;return l=e.label<i.label?-1:e.label>i.label?1:0,l}function K(e,i){let l;return l=e.value<i.value?-1:e.value>i.value?1:0,l}function Q(e,i){let l=i.count-e.count;return 0===l&&(l=J(e,i)),l}function W(e,i){let l=i.count-e.count;return 0===l&&(l=K(e,i)),l}function X(e,i,l){let n;"count"===i?(n=W,l&&"codedValues"in l&&l.codedValues&&(n=Q)):"value"===i&&(n=K,l&&"codedValues"in l&&l.codedValues&&(n=J)),n&&e.sort(n)}async function Y(e,i,l,r){const o=await n("esri/smartMapping/t9n/smartMapping"),{field:p,field2:m,field3:d}=i,c=e.uniqueValueInfos,f=i.layer,y=p?f.getField(p):null,v=y?f.getFieldDomain(y.name):null,b=-1===i.numTypes?c.length:i.numTypes,g=f.geometryType,h=new t({field:p,field2:m,field3:d,fieldDelimiter:p&&m?R:null}),w=[],T=[],E={value:null,domain:v,fieldInfo:y};c.forEach((e,i)=>{E.value=e.value,e.label=u(E);const l=e.value;(null===l||"string"==typeof l&&l.toLowerCase().includes("<null>"))&&w.unshift(i)});for(const n of w)T.unshift(c.splice(n,1)[0]);!1!==i.sortEnabled&&X(c,i.sortBy,v),_(E,i,c);const z=l?.opacity,x=await H({numColors:c.length,basemap:i.basemap,geometryType:g,typeScheme:i.typeScheme,worldScale:!!i.symbolType?.includes("3d-volumetric"),view:i.view}),I=x.scheme,V=I.colors.map(e=>e.clone()),S=M(I,g),j=O(I,g,z);c.forEach((e,l)=>{E.value=e.value,e.label=u(E),e.symbol=q(g,{type:i.symbolType,color:V[l],size:S,outline:j,meshInfo:{colorMixMode:i.colorMixMode,edgesType:i.edgesType}})}),i.valueExpression&&(h.valueExpression=i.valueExpression,h.valueExpressionTitle=i.valueExpressionTitle),i.legendOptions&&(h.legendOptions=new a(i.legendOptions));for(let n=0;n<b;n++){const e=c[n];e&&h.addUniqueValueInfo({value:e.value,label:e.label,symbol:q(g,{type:i.symbolType,color:V[n].clone(),size:S,outline:j,meshInfo:{colorMixMode:i.colorMixMode,edgesType:i.edgesType}})})}i.defaultSymbolEnabled&&(h.defaultSymbol=q(g,{type:i.symbolType,color:I.noDataColor,size:S,outline:j,meshInfo:{colorMixMode:i.colorMixMode,edgesType:i.edgesType}}),h.defaultLabel=o.other);for(const n of T)n.symbol=q(g,{type:i.symbolType,color:I.noDataColor,size:S,outline:j,meshInfo:{colorMixMode:i.colorMixMode,edgesType:i.edgesType}}),c.push(n);const U=[],C=h.uniqueValueInfos?.length??0,B=C===c.length?-1:C;if(B>-1)for(let n=B;n<c.length;n++)U.push({...c[n]});return l?.visualVariables?.length&&(h.visualVariables=l.visualVariables.map(e=>e.clone())),r?.minSize&&(h.visualVariables?h.visualVariables.push(r.minSize):h.visualVariables=[r.minSize]),i.dataSeriesName&&(h.authoringInfo=new s({dataSeriesName:i.dataSeriesName})),{renderer:h,uniqueValueInfos:c,excludedUniqueValueInfos:U,typeScheme:D(I),basemapId:x.basemapId,basemapTheme:x.basemapTheme}}function _(e,i,l){const{field:n,numTypes:o,layer:t,view:s}=i,a=n?t.getField(n):null;if(a&&(N(a)||r(a))){const i=l.filter((e,i)=>i<o).map(e=>e.value),n=r(a)?null:p(i),u=n?m[n]:void 0;if(e.dateFormatOptions={fieldType:a.type,format:u},s){const i=t.layer;e.dateFormatOptions.timeZoneOptions={layerTimeZone:"preferredTimeZone"in i?i.preferredTimeZone:null,viewTimeZone:s.timeZone,datesInUnknownTimezone:"datesInUnknownTimezone"in i&&i.datesInUnknownTimezone}}}}async function ee(i,l){const n=i.uniqueValueInfos,r=await H({numColors:n.length,basemap:"gray",theme:"point-cloud-class",geometryType:"point",typeScheme:l}),o=r?.scheme,t="point-cloud-class"===o?.theme,s=t?o.colors:e(o?.colors??[],n.length);return X(n,"value"),n.map((e,i)=>{const l=e.value;let n=null;return t?(n=s[l],n||(n=s[s.length-1])):n=s[i],new d({values:[l],color:n,label:e.label})})}async function ie(e){const i=await L(e),{layer:l,view:n,signal:r,filter:o}=i,t={layer:l,field:i.field,field2:i.field2,field3:i.field3,valueExpression:i.valueExpression,returnAllCodedValues:i.returnAllCodedValues,view:n,filter:o,signal:r},[s,a,u]=await Promise.all([null!=i.statistics?i.statistics:U(t),i.outlineOptimizationEnabled?c({layer:l,view:n,signal:r,filter:o}).catch(I):null,i.sizeOptimizationEnabled?f({layer:l,view:n,signal:r,filter:o}).catch(I):null]);return Y(s,i,a,u)}async function le(e){const{creatorParameters:i,view:l,signal:n,filter:r,renderer:o}=await $(e),{layer:t,outlineOptimizationEnabled:s,sizeOptimizationEnabled:a,field:u,valueExpression:p,valueExpressionTitle:m}=i,[d,g]=await Promise.all([s?c({layer:t,view:l,signal:n,filter:r}).catch(I):null,a?f({layer:t,view:l,signal:n,filter:r}).catch(I):null]);return y(o,d?.visualVariables,v),y(o,g?.minSize,b),i.dataSeriesName&&(o.field=u,o.valueExpression=p,o.valueExpressionTitle=m),{renderer:o}}async function ne(e){const i=await G(e),l=null!=i.statistics?i.statistics:await U({layer:i.layer,field:i.field,signal:i.signal});return{renderer:new o({field:i.field,pointsPerInch:i.density??void 0,pointSizeAlgorithm:x(i.size),colorUniqueValueInfos:await ee(l,i.typeScheme)})}}export{ne as createPCClassRenderer,ie as createRenderer,H as getTypeSchemeData,le as regenerateRenderer};
@@ -170,6 +170,16 @@ export function createVisualVariables(parameters: VisualVariablesParameters): Pr
170
170
  * .then(function(response){
171
171
  * layer.renderer = response.renderer;
172
172
  * });
173
+ * @example
174
+ * // visualization based off time series definition
175
+ * const params = {
176
+ * layer,
177
+ * dataSeriesName: "ts0",
178
+ * view,
179
+ * };
180
+ *
181
+ * const { renderer } = await univariateColorSizeRendererCreator.createContinuousRenderer(params);
182
+ * layer.renderer = renderer;
173
183
  */
174
184
  export function createContinuousRenderer(parameters: RendererParameters): Promise<RendererResult>;
175
185
 
@@ -209,6 +219,15 @@ export interface VisualVariablesParamsBase extends AbortOptions {
209
219
  * This is used by the [Legend](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-legend/).
210
220
  */
211
221
  valueExpressionTitle?: string | null;
222
+ /**
223
+ * Name of a configured entry in [DataSeriesLayer.dataSeriesInfos](https://developers.arcgis.com/javascript/latest/references/core/layers/mixins/DataSeriesLayer/#dataSeriesInfos).
224
+ * When provided, the renderer creator reads the Arcade expression from the matching
225
+ * data series info and uses mapped fields to calculate statistics. Set this as an alternative to `field`
226
+ * or `valueExpression` when working with a layer that has data series configured.
227
+ * If all three of `field`, `valueExpression`, and `dataSeriesName` are provided, then the
228
+ * precedence is `dataSeriesName` over `valueExpression` over `field`.
229
+ */
230
+ dataSeriesName?: string | null;
212
231
  /**
213
232
  * A SQL expression evaluating to a number. When provided, statistics are
214
233
  * queried from the server for the entire layer. Only use this parameter when generating a renderer based on
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import e from"../../core/Error.js";import i from"../../renderers/support/AuthoringInfo.js";import a from"../../renderers/support/ClassBreakInfo.js";import s from"../../renderers/visualVariables/support/SizeStop.js";import{getSize as o}from"../../renderers/visualVariables/support/visualVariableUtils.js";import{createVisualVariable as n}from"./color.js";import{createContinuousRenderer as l,createVisualVariables as t,regenerateContinuousRenderer as r}from"./size.js";import{isColorVV as u,updateAuthoringInfoVisualVariable as p,spliceVisualVariables as m,findSizeVVIndex as c,getAuthoringInfoVisualVariable as v,processRegenerateParams as d,getRendererToUpdate as f,getStyleType as b,hasOutlineVV as y,hasScaleDependentSizeVV as w}from"./support/regenerateUtils.js";import{verifyBasicFieldValidity as h,createStopValuesForAboveBelow as z,clampAboveAndBelowStopValues as g,createDefaultStopValues as V}from"./support/utils.js";import{verifyBinningParams as O}from"../support/binningUtils.js";import{isAnyDateField as x,getFieldsList as E}from"../support/utils.js";import{binningCapableLayerTypes as S,featureCapableLayerTypes as I,createLayerAdapter as T,getLayerTypeLabels as j}from"../support/adapters/support/layerUtils.js";import{getAboveAndBelowSymbols as B}from"../symbology/support/aboveAndBelowUtils.js";import{applyCIMSymbolColor as q}from"../../symbols/support/cimSymbolUtils.js";import D from"../../symbols/support/Symbol3DMaterial.js";const U=2**53-1;async function C(i){if(!i?.layer||!(i.field||i.valueExpression||i.sqlExpression))throw new e("univariate-colorsize-visual-variables:missing-parameters","'layer' and 'field', 'valueExpression' or 'sqlExpression' parameters are required");if(i.valueExpression&&!i.sqlExpression&&!i.view)throw new e("univariate-colorsize-visual-variables:missing-parameters","View is required when 'valueExpression' is specified");if("above-and-below"===i.theme&&i.sizeOptions?.sizeOptimizationEnabled)throw new e("univariate-colorsize-visual-variables:invalid-parameters","sizeOptimizationEnabled cannot be true for 'above-and-below' theme");i.forBinning&&O(i,"univariate-colorsize-visual-variables");const a={...i,layer:i.layer},s=i.forBinning?S:I,o=T(a.layer,s,i.forBinning);if(!o)throw new e("univariate-colorsize-visual-variables:invalid-parameters","'layer' must be one of these types: "+j(s).join(", "));a.layer=o,a.theme=a.theme||a.colorOptions?.theme?a.theme:"high-to-low";const n=null!=a.signal?{signal:a.signal}:null;await o.load(n);const l=await E({field:a.field,normalizationField:a.normalizationField,valueExpression:a.valueExpression}),t=h(o,l,"univariate-colorsize-visual-variables:invalid-parameters");if(t)throw t;return a}function F(e,i){const a={...e},{sizeOptions:s,theme:o}=a,n=a.legendOptions||a.sizeOptions?.legendOptions;return delete a.sizeOptions,delete a.colorOptions,{...a,...s,statistics:i||a.statistics,theme:"above-and-below"===o?null:o,legendOptions:n}}function k(e,i){const a={...e},s=a.colorOptions,o=a.theme||s?.theme,n=a.legendOptions||a.colorOptions?.legendOptions;return delete a.sizeOptions,delete a.colorOptions,{...a,...s,statistics:i||a.statistics,theme:o,legendOptions:n}}async function A(i){if(!i?.layer||!(i.field||i.valueExpression||i.sqlExpression))throw new e("univariate-colorsize-continuous-renderer:missing-parameters","'layer' and 'field', 'valueExpression' or 'sqlExpression' parameters are required");if(i.valueExpression&&!i.sqlExpression&&!i.view)throw new e("univariate-colorsize-continuous-renderer:missing-parameters","View is required when 'valueExpression' is specified");i.forBinning&&O(i,"univariate-colorsize-continuous-renderer");const a={...i,layer:i.layer};a.symbolType=a.symbolType||"2d",a.colorOptions||(a.colorOptions={}),a.colorOptions.isContinuous=a.colorOptions.isContinuous??!1;const s=i.forBinning?S:I,o=T(a.layer,s,i.forBinning);if(!o)throw new e("univariate-colorsize-continuous-renderer:invalid-parameters","'layer' must be one of these types: "+j(s).join(", "));const n=null!=a.signal?{signal:a.signal}:null;if(await o.load(n),"above-and-below"===a.theme&&a.symbolOptions){if(a.symbolType.includes("3d-volumetric"))throw new e("univariate-colorsize-continuous-renderer:invalid-parameters","'symbolOptions' is applicable for '2d' and '3d-flat' 'symbolType' only");if("point"!==o.geometryType&&"polygon"!==o.geometryType)throw new e("univariate-colorsize-continuous-renderer:invalid-parameters","'symbolOptions' only apply to layers with 'point' or 'polygon' geometryType")}const l=await E({field:a.field,normalizationField:a.normalizationField,valueExpression:a.valueExpression}),t=h(o,l,"univariate-colorsize-continuous-renderer:invalid-parameters");if(t)throw t;return{...a,layer:o}}function M(e){const i={...e},a={...i.sizeOptions};return delete i.sizeOptions,delete i.colorOptions,delete a.sizeOptimizationEnabled,{...i,...a}}async function P(i){const a="regenerate-univariate-color-size-renderer";await d(i,a);const s=await f(i);if("univariate-color-size"!==b(s))throw new e(`${a}:invalid-parameters`,"Renderer is invalid");const{layer:o,forBinning:n,filter:l,view:t,signal:r}=i,{field:u,normalizationField:p,valueExpression:m,valueExpressionTitle:c}=s,v=y(s),h=w(s),z=s.authoringInfo?.univariateTheme,g=await A({layer:o,field:u,normalizationField:p,valueExpression:m,valueExpressionTitle:c,outlineOptimizationEnabled:v,theme:z,colorOptions:{isContinuous:"above-and-below"===z?s.visualVariables?.some(e=>"color"===e.type):void 0},sizeOptions:{sizeOptimizationEnabled:h},forBinning:n,filter:l,view:t,signal:r});return{...i,creatorParameters:g,renderer:s}}function R(e,i){if("type"in e&&"cim"===e.type)q(e,i);else if("type"in e&&e.type.includes("3d")){e.symbolLayers.forEach(e=>{"material"in e&&null!=e.material&&"color"in e.material&&(e.material?e.material.color=i:e.material=new D({color:i}))})}else"color"in e&&(e.color=i)}function L(e,i,a){if((i?.symbolStyle||i?.symbols)&&("point"===a||"polygon"===a))return i.symbols||B(i.symbolStyle);const s=e.classBreakInfos[0].symbol;return{above:s.clone(),below:s.clone()}}function $(e,i,s){const o=s.symbolOptions,n=s.layer,l=o?.symbols?"custom":o?.symbolStyle,t=s.colorOptions?.isContinuous;if(G(e,i,t),l||!t){const s=i.size.visualVariables[0].stops,{above:r,below:u}=L(e,o,n.geometryType);if(!t){const e=i.color.colorScheme.colors,a=e[0];R(r,e[e.length-1]),R(u,a)}e.classBreakInfos=[new a({minValue:-U,maxValue:s[2].value,symbol:u}),new a({minValue:s[2].value,maxValue:U,symbol:r})],l&&e.authoringInfo&&(e.authoringInfo.univariateSymbolStyle=l)}}function G(e,i,a=!0){const s=i?.authoringInfo?.clone(),o=s?.visualVariables?.some(e=>"reference-size"===e.theme),n=o?[]:i.size.visualVariables.map(e=>e.clone());a?n.push(i.color.visualVariable.clone()):s.visualVariables=s.visualVariables?.filter(e=>"size"===e.type),e.visualVariables&&n.push(...e.visualVariables.filter(e=>"target"in e&&"outline"===e.target).map(e=>e.clone())),e.authoringInfo=s,e.visualVariables=n}function H(e){const i={...e},a=i.symbolType,s=!!a?.includes("3d-volumetric");delete i.symbolType,delete i.defaultSymbolEnabled;const o=i;return o.worldScale=s,s&&(o.sizeOptions={...o.sizeOptions},o.sizeOptions.axis="3d-volumetric-uniform"===a?"all":"height"),o}async function J(e,i,a,n){const l=i[0],t=i[1],r=Math.round((t-l)/2)+l,u=e.clone();u.stops=[new s({value:a[0],size:t}),new s({value:a[1],size:r}),new s({value:a[2],size:l}),new s({value:a[3],size:r}),new s({value:a[4],size:t})],e.stops=[new s({value:n[0],size:o(u,n[0])}),new s({value:n[1],size:o(u,n[1])}),new s({value:n[2],size:o(u,n[2])}),new s({value:n[3],size:o(u,n[3])}),new s({value:n[4],size:o(u,n[4])})]}async function K(e,i,a,s,o){const n=e.find(e=>"width-and-depth"!==e.axis&&!e.target),l="number"==typeof n?.minSize?n?.minSize:null,t="number"==typeof n?.maxSize?n?.maxSize:null;if(null!=n?.minDataValue&&null!=l&&null!=t)if(s)if("above-and-below"===s){n.minDataValue=null,n.maxDataValue=null,n.minSize=null,n.maxSize=null;const e=z(a,o),s=g(e,a);await J(n,[l,t],e,s),i.stops.forEach((e,i)=>e.value=s[i])}else{const{minDataValue:e,maxDataValue:a}=n,s=V(e,a,5);i.stops.forEach((e,i)=>e.value=s[i]),n.minDataValue=s[0],n.maxDataValue=s[s.length-1]}else n.minDataValue=i.stops[0].value,n.maxDataValue=i.stops[i.stops.length-1].value}function N(e,a,s){const{theme:o,minValue:n,maxValue:l}=e,t=a.authoringInfo.visualVariables[0].clone(),r=s.authoringInfo.visualVariables[0].clone(),{stops:u}=a.visualVariable;return"above-and-below"===o?(t.minSliderValue=r.minSliderValue=n??u[0].value,t.maxSliderValue=r.maxSliderValue=l??u.at(-1)?.value,r.theme="above-and-below"):o&&"high-to-low"!==o||"reference-size"!==r.theme||2!==r.sizeStops?.length||(r.sizeStops[0].value=u[0].value,r.sizeStops[1].value=u.at(-1)?.value),new i({type:"univariate-color-size",univariateTheme:o,visualVariables:[t,r]})}async function Q(e){const i=await C(e),a=await n(k(i)),{visualVariable:s,statistics:o}=a,l=await t(F(i,o)),r=l.visualVariables,u=e.layer,p=e.field?u.getField(e.field):null;return await K(r,s,o,i.theme,x(p)),{basemapId:l.basemapId,basemapTheme:l.basemapTheme,statistics:o,defaultValuesUsed:a.defaultValuesUsed,color:{visualVariable:s,colorScheme:a.colorScheme},size:{visualVariables:r,sizeScheme:l.sizeScheme},authoringInfo:N(i,a,l)}}async function W(e){return X(e)}async function X(e){const i=await A(e),{renderer:a,statistics:s,defaultValuesUsed:o}=await l(M(i)),n=H(i);n.statistics=s;const t=await Q(n);return"above-and-below"===i.theme?$(a,t,i):G(a,t),{renderer:a,statistics:s,defaultValuesUsed:o,color:i.colorOptions?.isContinuous||"above-and-below"!==i.theme?t.color:null,size:t.size,basemapId:t.basemapId,basemapTheme:t.basemapTheme}}async function Y(e){const{creatorParameters:i}=await P(e),{layer:a,field:s,theme:o,colorOptions:l}=i,{renderer:d,statistics:f}=await r(e),b=await C({...H(i),statistics:f}),y=await n(k(b)),w=y.visualVariable,h=(await t(F(b))).visualVariables,z=s?a.getField(s):null;await K(h,w,f,o,x(z));const g=l?.isContinuous||"above-and-below"!==o,V=d.visualVariables?.find(u);g&&V?.stops&&(V.stops.forEach((e,i)=>e.value=w.stops[i].value),p(d,y.authoringInfo,"color")),m(d,h,c);const O=v(d,"size");if((!o||"high-to-low"===o)&&"reference-size"===O?.theme&&2===O.sizeStops?.length){const{stops:e}=w;O.sizeStops[0].value=e[0].value,O.sizeStops[1].value=e.at(-1)?.value}if("above-and-below"===o&&h[0]?.stops){const e=h[0].stops;d.classBreakInfos[0].maxValue=e[2].value,d.classBreakInfos[1].minValue=e[2].value}return{renderer:d}}export{W as createContinuousRenderer,X as createRenderer,Q as createVisualVariables,Y as regenerateRenderer};
2
+ import e from"../../core/Error.js";import i from"../../renderers/support/AuthoringInfo.js";import a from"../../renderers/support/ClassBreakInfo.js";import s from"../../renderers/visualVariables/support/SizeStop.js";import{getSize as o}from"../../renderers/visualVariables/support/visualVariableUtils.js";import{createVisualVariable as n}from"./color.js";import{createContinuousRenderer as l,createVisualVariables as t,regenerateContinuousRenderer as r}from"./size.js";import{isColorVV as u,updateAuthoringInfoVisualVariable as p,spliceVisualVariables as m,findSizeVVIndex as c,getAuthoringInfoVisualVariable as v,processRegenerateParams as d,getRendererToUpdate as f,getStyleType as b,hasOutlineVV as y,hasScaleDependentSizeVV as w}from"./support/regenerateUtils.js";import{resolveDataSeriesInfo as h}from"./support/timeSeriesUtils.js";import{verifyBasicFieldValidity as z,createStopValuesForAboveBelow as g,clampAboveAndBelowStopValues as V,createDefaultStopValues as x}from"./support/utils.js";import{verifyBinningParams as E}from"../support/binningUtils.js";import{isAnyDateField as O,getFieldsList as S}from"../support/utils.js";import{binningCapableLayerTypes as T,featureCapableLayerTypes as I,createLayerAdapter as j,getLayerTypeLabels as B}from"../support/adapters/support/layerUtils.js";import{getAboveAndBelowSymbols as U}from"../symbology/support/aboveAndBelowUtils.js";import{applyCIMSymbolColor as q}from"../../symbols/support/cimSymbolUtils.js";import D from"../../symbols/support/Symbol3DMaterial.js";const C=2**53-1;async function F(i){const a=h({...i});if(!a?.layer||!(a.field||a.valueExpression||a.sqlExpression))throw new e("univariate-colorsize-visual-variables:missing-parameters","'layer' and 'field', 'valueExpression' or 'sqlExpression' parameters are required");if(a.valueExpression&&!a.sqlExpression&&!a.view)throw new e("univariate-colorsize-visual-variables:missing-parameters","View is required when 'valueExpression' is specified");if("above-and-below"===a.theme&&a.sizeOptions?.sizeOptimizationEnabled)throw new e("univariate-colorsize-visual-variables:invalid-parameters","sizeOptimizationEnabled cannot be true for 'above-and-below' theme");a.forBinning&&E(a,"univariate-colorsize-visual-variables");const s={...a,layer:a.layer},o=a.forBinning?T:I,n=j(s.layer,o,a.forBinning);if(!n)throw new e("univariate-colorsize-visual-variables:invalid-parameters","'layer' must be one of these types: "+B(o).join(", "));s.layer=n,s.theme=s.theme||s.colorOptions?.theme?s.theme:"high-to-low";const l=null!=s.signal?{signal:s.signal}:null;await n.load(l);const t=await S({field:s.field,normalizationField:s.normalizationField,valueExpression:s.valueExpression}),r=z(n,t,"univariate-colorsize-visual-variables:invalid-parameters");if(r)throw r;return s}function k(e,i){const a={...e},{sizeOptions:s,theme:o}=a,n=a.legendOptions||a.sizeOptions?.legendOptions;return delete a.sizeOptions,delete a.colorOptions,{...a,...s,statistics:i||a.statistics,theme:"above-and-below"===o?null:o,legendOptions:n}}function N(e,i){const a={...e},s=a.colorOptions,o=a.theme||s?.theme,n=a.legendOptions||a.colorOptions?.legendOptions;return delete a.sizeOptions,delete a.colorOptions,{...a,...s,statistics:i||a.statistics,theme:o,legendOptions:n}}async function A(i){const a=h({...i});if(!a?.layer||!(a.field||a.valueExpression||a.sqlExpression))throw new e("univariate-colorsize-continuous-renderer:missing-parameters","'layer' and 'field', 'valueExpression' or 'sqlExpression' parameters are required");if(a.valueExpression&&!a.sqlExpression&&!a.view)throw new e("univariate-colorsize-continuous-renderer:missing-parameters","View is required when 'valueExpression' is specified");a.forBinning&&E(a,"univariate-colorsize-continuous-renderer");const s={...a,layer:a.layer};s.symbolType=s.symbolType||"2d",s.colorOptions||(s.colorOptions={}),s.colorOptions.isContinuous=s.colorOptions.isContinuous??!1;const o=a.forBinning?T:I,n=j(s.layer,o,a.forBinning);if(!n)throw new e("univariate-colorsize-continuous-renderer:invalid-parameters","'layer' must be one of these types: "+B(o).join(", "));const l=null!=s.signal?{signal:s.signal}:null;if(await n.load(l),"above-and-below"===s.theme&&s.symbolOptions){if(s.symbolType.includes("3d-volumetric"))throw new e("univariate-colorsize-continuous-renderer:invalid-parameters","'symbolOptions' is applicable for '2d' and '3d-flat' 'symbolType' only");if("point"!==n.geometryType&&"polygon"!==n.geometryType)throw new e("univariate-colorsize-continuous-renderer:invalid-parameters","'symbolOptions' only apply to layers with 'point' or 'polygon' geometryType")}const t=await S({field:s.field,normalizationField:s.normalizationField,valueExpression:s.valueExpression}),r=z(n,t,"univariate-colorsize-continuous-renderer:invalid-parameters");if(r)throw r;return{...s,layer:n}}function M(e){const i={...e},a={...i.sizeOptions};return delete i.sizeOptions,delete i.colorOptions,delete a.sizeOptimizationEnabled,{...i,...a}}async function P(i){const a="regenerate-univariate-color-size-renderer";await d(i,a);const s=await f(i);if("univariate-color-size"!==b(s))throw new e(`${a}:invalid-parameters`,"Renderer is invalid");const{layer:o,forBinning:n,filter:l,view:t,signal:r}=i,u=v(s,"color")?.dataSeriesName??v(s,"size")?.dataSeriesName,{field:p,normalizationField:m,valueExpression:c,valueExpressionTitle:h}=s,z=y(s),g=w(s),V=s.authoringInfo?.univariateTheme,x=await A({layer:o,field:p,normalizationField:m,valueExpression:c,valueExpressionTitle:h,outlineOptimizationEnabled:z,theme:V,colorOptions:{isContinuous:"above-and-below"===V?s.visualVariables?.some(e=>"color"===e.type):void 0},sizeOptions:{sizeOptimizationEnabled:g},dataSeriesName:u,forBinning:n,filter:l,view:t,signal:r});return{...i,creatorParameters:x,renderer:s}}function R(e,i){if("type"in e&&"cim"===e.type)q(e,i);else if("type"in e&&e.type.includes("3d")){e.symbolLayers.forEach(e=>{"material"in e&&null!=e.material&&"color"in e.material&&(e.material?e.material.color=i:e.material=new D({color:i}))})}else"color"in e&&(e.color=i)}function L(e,i,a){if((i?.symbolStyle||i?.symbols)&&("point"===a||"polygon"===a))return i.symbols||U(i.symbolStyle);const s=e.classBreakInfos[0].symbol;return{above:s.clone(),below:s.clone()}}function $(e,i,s){const o=s.symbolOptions,n=s.layer,l=o?.symbols?"custom":o?.symbolStyle,t=s.colorOptions?.isContinuous;if(G(e,i,t),l||!t){const s=i.size.visualVariables[0].stops,{above:r,below:u}=L(e,o,n.geometryType);if(!t){const e=i.color.colorScheme.colors,a=e[0];R(r,e[e.length-1]),R(u,a)}e.classBreakInfos=[new a({minValue:-C,maxValue:s[2].value,symbol:u}),new a({minValue:s[2].value,maxValue:C,symbol:r})],l&&e.authoringInfo&&(e.authoringInfo.univariateSymbolStyle=l)}}function G(e,i,a=!0){const s=i?.authoringInfo?.clone(),o=s?.visualVariables?.some(e=>"reference-size"===e.theme),n=o?[]:i.size.visualVariables.map(e=>e.clone());a?n.push(i.color.visualVariable.clone()):s.visualVariables=s.visualVariables?.filter(e=>"size"===e.type),e.visualVariables&&n.push(...e.visualVariables.filter(e=>"target"in e&&"outline"===e.target).map(e=>e.clone())),e.authoringInfo=s,e.visualVariables=n}function H(e){const i={...e},a=i.symbolType,s=!!a?.includes("3d-volumetric");delete i.symbolType,delete i.defaultSymbolEnabled;const o=i;return o.worldScale=s,s&&(o.sizeOptions={...o.sizeOptions},o.sizeOptions.axis="3d-volumetric-uniform"===a?"all":"height"),o}async function J(e,i,a,n){const l=i[0],t=i[1],r=Math.round((t-l)/2)+l,u=e.clone();u.stops=[new s({value:a[0],size:t}),new s({value:a[1],size:r}),new s({value:a[2],size:l}),new s({value:a[3],size:r}),new s({value:a[4],size:t})],e.stops=[new s({value:n[0],size:o(u,n[0])}),new s({value:n[1],size:o(u,n[1])}),new s({value:n[2],size:o(u,n[2])}),new s({value:n[3],size:o(u,n[3])}),new s({value:n[4],size:o(u,n[4])})]}async function K(e,i,a,s,o){const n=e.find(e=>"width-and-depth"!==e.axis&&!e.target),l="number"==typeof n?.minSize?n?.minSize:null,t="number"==typeof n?.maxSize?n?.maxSize:null;if(null!=n?.minDataValue&&null!=l&&null!=t)if(s)if("above-and-below"===s){n.minDataValue=null,n.maxDataValue=null,n.minSize=null,n.maxSize=null;const e=g(a,o),s=V(e,a);await J(n,[l,t],e,s),i.stops.forEach((e,i)=>e.value=s[i])}else{const{minDataValue:e,maxDataValue:a}=n,s=x(e,a,5);i.stops.forEach((e,i)=>e.value=s[i]),n.minDataValue=s[0],n.maxDataValue=s[s.length-1]}else n.minDataValue=i.stops[0].value,n.maxDataValue=i.stops[i.stops.length-1].value}function Q(e,a,s){const{theme:o,minValue:n,maxValue:l}=e,t=a.authoringInfo.visualVariables[0].clone(),r=s.authoringInfo.visualVariables[0].clone(),{stops:u}=a.visualVariable;return"above-and-below"===o?(t.minSliderValue=r.minSliderValue=n??u[0].value,t.maxSliderValue=r.maxSliderValue=l??u.at(-1)?.value,r.theme="above-and-below"):o&&"high-to-low"!==o||"reference-size"!==r.theme||2!==r.sizeStops?.length||(r.sizeStops[0].value=u[0].value,r.sizeStops[1].value=u.at(-1)?.value),new i({type:"univariate-color-size",univariateTheme:o,visualVariables:[t,r]})}async function W(e){const i=await F(e),a=await n(N(i)),{visualVariable:s,statistics:o}=a,l=await t(k(i,o)),r=l.visualVariables,u=e.layer,p=e.field?u.getField(e.field):null;return await K(r,s,o,i.theme,O(p)),{basemapId:l.basemapId,basemapTheme:l.basemapTheme,statistics:o,defaultValuesUsed:a.defaultValuesUsed,color:{visualVariable:s,colorScheme:a.colorScheme},size:{visualVariables:r,sizeScheme:l.sizeScheme},authoringInfo:Q(i,a,l)}}async function X(e){return Y(e)}async function Y(e){const i=await A(e),{renderer:a,statistics:s,defaultValuesUsed:o}=await l(M(i)),n=H(i);n.statistics=s;const t=await W(n);return"above-and-below"===i.theme?$(a,t,i):G(a,t),{renderer:a,statistics:s,defaultValuesUsed:o,color:i.colorOptions?.isContinuous||"above-and-below"!==i.theme?t.color:null,size:t.size,basemapId:t.basemapId,basemapTheme:t.basemapTheme}}async function Z(e){const{creatorParameters:i}=await P(e),{layer:a,field:s,theme:o,colorOptions:l,valueExpression:d,valueExpressionTitle:f}=i,{renderer:b,statistics:y}=await r(e),w=await F({...H(i),statistics:y}),h=await n(N(w)),z=h.visualVariable,g=(await t(k(w))).visualVariables,V=s?a.getField(s):null;await K(g,z,y,o,O(V));const x=l?.isContinuous||"above-and-below"!==o,E=b.visualVariables?.find(u);b.valueExpression=d??null,b.valueExpressionTitle=f??null,x&&E?.stops&&(E.stops.forEach((e,i)=>e.value=z.stops[i].value),E.valueExpression=z.valueExpression??null,E.valueExpressionTitle=z.valueExpressionTitle??null,p(b,h.authoringInfo,"color")),m(b,g,c);const S=v(b,"size");if((!o||"high-to-low"===o)&&"reference-size"===S?.theme&&2===S.sizeStops?.length){const{stops:e}=z;S.sizeStops[0].value=e[0].value,S.sizeStops[1].value=e.at(-1)?.value}if("above-and-below"===o&&g[0]?.stops){const e=g[0].stops;b.classBreakInfos[0].maxValue=e[2].value,b.classBreakInfos[1].minValue=e[2].value}return{renderer:b}}export{X as createContinuousRenderer,Y as createRenderer,W as createVisualVariables,Z as regenerateRenderer};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- const d="20260603",e="d8b35e2d829435550e5cd4e2b9a1680f9363cd5b";export{d as buildDate,e as commitHash};
2
+ const a="20260604",b="f0d9f89ba3a2742a8b37cb479094ab1fcad64ad7";export{a as buildDate,b as commitHash};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import e from"../../geometry/Mesh.js";import t from"../../geometry/Point.js";import r from"../../geometry/support/MeshMaterialMetallicRoughness.js";import o from"../../geometry/support/MeshTransform.js";import{loadImage as a}from"../../request/loadImage.js";import{meshMakeAbsolute as n}from"./meshUtils.js";import{isEncodedMeshTexture as i}from"../../views/3d/glTF/internal/resourceUtils.js";async function s(r,a,n,i){const s=URL.createObjectURL(new Blob([r]));try{const r=t.fromJSON(a),n=await e.createFromGLTF(r,s,{vertexSpace:r.spatialReference.isGeographic?"local":"georeferenced"}),{rotationAxis:l,rotationAngle:c,translation:u,scale:m}=i;return n.transform=new o({rotationAngle:c??0,rotationAxis:null!=l?[l[0],l[1],l[2]]:[0,0,1],translation:null!=u?[u[0],u[1],u[2]]:[0,0,0],scale:null!=m?[m[0],m[1],m[2]]:[1,1,1]}),n}finally{URL.revokeObjectURL(s)}}async function l(e,t,r,o){const a=await s(e,t,r,o),n=a.extent.toJSON();return a.destroy(),n}async function c(e,t,o,a){const i=await s(e,t,o,a),{components:l}=i;if(null==l)throw new Error("Mesh has no components");const{transform:c}=i;if(null==c)throw new Error("Mesh has no transform");const m=n(i);if(!m)throw new Error("failed to project");const d=l.map(async e=>{const{faces:t,material:o}=e,a=o instanceof r,n={pbrMetallicRoughness:{baseColorFactor:o?.color?.toUnitRGBA()??[1,1,1,1],baseColorTexture:await u(o?.colorTexture),metallicFactor:a?o.metallic:void 0,roughnessFactor:a?o.roughness:void 0,metallicRoughnessTexture:a&&null!=o.metallicRoughnessTexture?await u(o.metallicRoughnessTexture):void 0},normalTexture:null!=o?.normalTexture?await u(o.normalTexture):void 0,occlusionTexture:a&&null!=o.occlusionTexture?await u(o.occlusionTexture):void 0,emissiveTexture:a&&null!=o.emissiveTexture?await u(o.emissiveTexture):void 0,emissiveFactor:a&&o.emissiveColor?.toUnitRGB()||void 0,alphaMode:("auto"===o?.alphaMode?"blend":o?.alphaMode)??"opaque",alphaCutoff:o?.alphaCutoff??.1,doubleSided:o?.doubleSided??!0,cullFace:o?.doubleSided??1?"none":"back"};return{geometry:{position:m.vertexAttributes.position,faces:t,normal:"source"===e.shading?m.vertexAttributes.normal:void 0,uv:m.vertexAttributes.uv,color:m.vertexAttributes.color},material:n}});return Promise.all(d)}async function u(e){if(null==e)return;const{url:t,data:r}=e,o="image/png",a="string"==typeof e.wrap?"clamp"===e.wrap?"none":e.wrap:"repeat";if(null!=r){if(i(r))throw new Error("Cannot bake encoded textures");if(r instanceof HTMLVideoElement)throw new Error("Cannot bake video textures");if(r instanceof HTMLImageElement){const e=await m(await d(r),o),t=await e.arrayBuffer();return{type:o,width:r.width,wrap:a,data:t}}if(r instanceof HTMLCanvasElement){const e=await m(r,o),t=await e.arrayBuffer();return{type:o,width:r.width,wrap:a,data:t}}const e=await m(w(r),o),t=await e.arrayBuffer();return{type:o,width:r.width,wrap:a,data:t}}if(null!=t){const e=await f(t),r=await m(await d(e),o),n=await r.arrayBuffer();return{type:o,width:e.width,wrap:a,data:n}}}async function m(e,t){return new Promise((r,o)=>e.toBlob(e=>null==e?o(new Error("Failed to load image content")):r(e),t))}async function d(e){await e.decode();const t=document.createElement("canvas");t.width=e.width,t.height=e.height;const r=t.getContext("2d");if(null==r)throw new Error("Failed to create 2d context");return r.drawImage(e,0,0),t}function w(e){const t=document.createElement("canvas");t.width=e.width,t.height=e.height;const r=t.getContext("2d");if(null==r)throw new Error("Failed to create 2d context");return r.putImageData(e,0,0),t}function f(e){const t=new Image;return t.src=e,a(t,t.src,!1,void 0)}export{l as extentFromGLB,c as nodeDataFromGLB};
2
+ import t from"../../geometry/Point.js";import e from"../../geometry/support/MeshMaterialMetallicRoughness.js";import o from"../../geometry/support/MeshTransform.js";import{createFromGLTF as r}from"../../geometry/support/meshUtils.js";import{loadImage as a}from"../../request/loadImage.js";import{meshMakeAbsolute as n}from"./meshUtils.js";import{isEncodedMeshTexture as i}from"../../views/3d/glTF/internal/resourceUtils.js";async function s(e,a,n,i){const s=URL.createObjectURL(new Blob([e]));try{const e=t.fromJSON(a),n=await r(e,s,{vertexSpace:e.spatialReference.isGeographic?"local":"georeferenced"}),{rotationAxis:l,rotationAngle:c,translation:u,scale:m}=i;return n.transform=new o({rotationAngle:c??0,rotationAxis:null!=l?[l[0],l[1],l[2]]:[0,0,1],translation:null!=u?[u[0],u[1],u[2]]:[0,0,0],scale:null!=m?[m[0],m[1],m[2]]:[1,1,1]}),n}finally{URL.revokeObjectURL(s)}}async function l(t,e,o,r){const a=await s(t,e,o,r),n=a.extent.toJSON();return a.destroy(),n}async function c(t,o,r,a){const i=await s(t,o,r,a),{components:l}=i;if(null==l)throw new Error("Mesh has no components");const{transform:c}=i;if(null==c)throw new Error("Mesh has no transform");const m=n(i);if(!m)throw new Error("failed to project");const d=l.map(async t=>{const{faces:o,material:r}=t,a=r instanceof e,n={pbrMetallicRoughness:{baseColorFactor:r?.color?.toUnitRGBA()??[1,1,1,1],baseColorTexture:await u(r?.colorTexture),metallicFactor:a?r.metallic:void 0,roughnessFactor:a?r.roughness:void 0,metallicRoughnessTexture:a&&null!=r.metallicRoughnessTexture?await u(r.metallicRoughnessTexture):void 0},normalTexture:null!=r?.normalTexture?await u(r.normalTexture):void 0,occlusionTexture:a&&null!=r.occlusionTexture?await u(r.occlusionTexture):void 0,emissiveTexture:a&&null!=r.emissiveTexture?await u(r.emissiveTexture):void 0,emissiveFactor:a&&r.emissiveColor?.toUnitRGB()||void 0,alphaMode:("auto"===r?.alphaMode?"blend":r?.alphaMode)??"opaque",alphaCutoff:r?.alphaCutoff??.1,doubleSided:r?.doubleSided??!0,cullFace:r?.doubleSided??1?"none":"back"};return{geometry:{position:m.vertexAttributes.position,faces:o,normal:"source"===t.shading?m.vertexAttributes.normal:void 0,uv:m.vertexAttributes.uv,color:m.vertexAttributes.color},material:n}});return Promise.all(d)}async function u(t){if(null==t)return;const{url:e,data:o}=t,r="image/png",a="string"==typeof t.wrap?"clamp"===t.wrap?"none":t.wrap:"repeat";if(null!=o){if(i(o))throw new Error("Cannot bake encoded textures");if(o instanceof HTMLVideoElement)throw new Error("Cannot bake video textures");if(o instanceof HTMLImageElement){const t=await m(await d(o),r),e=await t.arrayBuffer();return{type:r,width:o.width,wrap:a,data:e}}if(o instanceof HTMLCanvasElement){const t=await m(o,r),e=await t.arrayBuffer();return{type:r,width:o.width,wrap:a,data:e}}const t=await m(w(o),r),e=await t.arrayBuffer();return{type:r,width:o.width,wrap:a,data:e}}if(null!=e){const t=await f(e),o=await m(await d(t),r),n=await o.arrayBuffer();return{type:r,width:t.width,wrap:a,data:n}}}async function m(t,e){return new Promise((o,r)=>t.toBlob(t=>null==t?r(new Error("Failed to load image content")):o(t),e))}async function d(t){await t.decode();const e=document.createElement("canvas");e.width=t.width,e.height=t.height;const o=e.getContext("2d");if(null==o)throw new Error("Failed to create 2d context");return o.drawImage(t,0,0),e}function w(t){const e=document.createElement("canvas");e.width=t.width,e.height=t.height;const o=e.getContext("2d");if(null==o)throw new Error("Failed to create 2d context");return o.putImageData(t,0,0),e}function f(t){const e=new Image;return e.src=t,a(e,e.src,!1,void 0)}export{l as extentFromGLB,c as nodeDataFromGLB};
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Provides utility methods for working with [dates](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date).
2
+ * Provides utility methods for working with [dates](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Date).
3
3
  *
4
4
  * @since 4.21
5
5
  * @see [TimeExtent](https://developers.arcgis.com/javascript/latest/references/core/time/TimeExtent/)
@@ -22,9 +22,9 @@ import type { TimeSliderSettings } from "../widgets/TimeSlider/types.js";
22
22
  * For [FeatureLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/) or [MapImageLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/MapImageLayer/) with `hasLiveData` set to `true`, the method fetches the time extent from the server.
23
23
  *
24
24
  * @param layers - An array or collection of layers to compute a time extent from.
25
- * @param signal - [AbortSignal](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal) allows for cancelable requests.
25
+ * @param signal - [AbortSignal](https://developer.mozilla.org/docs/Web/API/AbortSignal) allows for cancelable requests.
26
26
  * If canceled, the promise will be rejected with an error named `AbortError`.
27
- * See also [AbortController](https://developer.mozilla.org/en-US/docs/Web/API/AbortController).
27
+ * See also [AbortController](https://developer.mozilla.org/docs/Web/API/AbortController).
28
28
  * @returns Returns a promise that resolves to a [TimeExtent](https://developers.arcgis.com/javascript/latest/references/core/time/TimeExtent/).
29
29
  * @example
30
30
  * // Get the time extent of all layers in the view.
package/symbols/Font.d.ts CHANGED
@@ -14,7 +14,7 @@ export interface FontProperties extends Partial<Pick<Font, "decoration" | "famil
14
14
  * > - In 3D [SceneViews](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/), if the [TextSymbol3DLayer.size](https://developers.arcgis.com/javascript/latest/references/core/symbols/TextSymbol3DLayer/#size) property is set, it will override this [size](https://developers.arcgis.com/javascript/latest/references/core/symbols/Font/#size) property.
15
15
  *
16
16
  * @default 9
17
- * @see [MDN: font-size](https://developer.mozilla.org/en-US/docs/Web/CSS/font-size)
17
+ * @see [MDN: font-size](https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/font-size)
18
18
  * @example
19
19
  * // size in points
20
20
  * symbol.size = 14;
@@ -83,14 +83,14 @@ export default class Font extends JSONSupport {
83
83
  * See these references for instructions on how to install a new font on [Windows](https://support.microsoft.com/en-us/help/314960/how-to-install-or-remove-a-font-in-windows)
84
84
  * or [macOS](https://support.apple.com/en-us/ht201749).
85
85
  *
86
- * Fonts that are not installed locally can also be loaded from a url by defining a [@font-face](https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face)
86
+ * Fonts that are not installed locally can also be loaded from a url by defining a [@font-face](https://developer.mozilla.org/docs/Web/CSS/@font-face)
87
87
  * in a css file and referencing it from the `family` property in a symbol layer.
88
88
  *
89
89
  * #### Font families for 2D MapImageLayer
90
90
  *
91
91
  * The supported font families for [MapImageLayers](https://developers.arcgis.com/javascript/latest/references/core/layers/MapImageLayer/)
92
92
  * in a [MapView](https://developers.arcgis.com/javascript/latest/references/core/views/MapView/) are dependent upon the fonts installed on the
93
- * [ArcGIS Server](https://enterprise.arcgis.com/en/server/latest/get-started/windows/what-is-arcgis-for-server-.htm)
93
+ * [ArcGIS Server](https://doc.esri.com/en/arcgis-enterprise/latest/plan/what-is-arcgis-server.html)
94
94
  * that published the layer. If an app uses a font that is not installed, the Font class implements a fallback
95
95
  * mechanism that will use the default font family value, which is `sans-serif`.
96
96
  *
@@ -231,7 +231,7 @@ export default class Font extends JSONSupport {
231
231
  *
232
232
  * @default "sans-serif"
233
233
  * @see [Guide: Labeling](https://developers.arcgis.com/javascript/latest/labeling/)
234
- * @see [MDN: font-family](https://developer.mozilla.org/en-US/docs/Web/CSS/font-family)
234
+ * @see [MDN: font-family](https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/font-family)
235
235
  * @example
236
236
  * let textSymbol = {
237
237
  * type: "text", // autocasts as new TextSymbol()
@@ -257,7 +257,7 @@ export default class Font extends JSONSupport {
257
257
  * > - In 3D [SceneViews](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/), if the [TextSymbol3DLayer.size](https://developers.arcgis.com/javascript/latest/references/core/symbols/TextSymbol3DLayer/#size) property is set, it will override this [size](https://developers.arcgis.com/javascript/latest/references/core/symbols/Font/#size) property.
258
258
  *
259
259
  * @default 9
260
- * @see [MDN: font-size](https://developer.mozilla.org/en-US/docs/Web/CSS/font-size)
260
+ * @see [MDN: font-size](https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/font-size)
261
261
  * @example
262
262
  * // size in points
263
263
  * symbol.size = 14;
@@ -280,7 +280,7 @@ export default class Font extends JSONSupport {
280
280
  * > `oblique` is not supported in 2D [FeatureLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/), [CSVLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/CSVLayer/), and [StreamLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/StreamLayer/) labels.
281
281
  *
282
282
  * @default "normal"
283
- * @see [MDN: font-style](https://developer.mozilla.org/en-US/docs/Web/CSS/font-style)
283
+ * @see [MDN: font-style](https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/font-style)
284
284
  */
285
285
  accessor style: FontStyle;
286
286
  /**
@@ -293,7 +293,7 @@ export default class Font extends JSONSupport {
293
293
  * > `bolder` and `lighter` are not supported in 2D [FeatureLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/), [CSVLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/CSVLayer/), and [StreamLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/StreamLayer/) labels.
294
294
  *
295
295
  * @default "normal"
296
- * @see [MDN: font-weight](https://developer.mozilla.org/en-US/docs/Web/CSS/font-weight)
296
+ * @see [MDN: font-weight](https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/font-weight)
297
297
  */
298
298
  accessor weight: FontWeight;
299
299
  /**
@@ -25,10 +25,10 @@ export interface WebStyleSymbolProperties extends SymbolProperties, Partial<Pick
25
25
  *
26
26
  * Web styles are collections of symbols stored in an [ArcGIS Enterprise portal](https://enterprise.arcgis.com/en/portal/) or
27
27
  * [ArcGIS Online](https://www.arcgis.com/home/) item. As of the current release, only
28
- * [Esri Web Style Symbols (2D)](https://developers.arcgis.com/javascript/latest/visualization/symbols-color-ramps/webstyle-symbols-2d/) and
29
- * [Esri Web Style Symbols (3D)](https://developers.arcgis.com/javascript/latest/visualization/symbols-color-ramps/webstyle-symbols-3d/) can be used in conjunction with this class.
28
+ * [Esri Web Style Symbols (2D)](https://developers.arcgis.com/javascript/latest/visualization/symbols-color-ramps/esri-web-style-symbols-2d/) and
29
+ * [Esri Web Style Symbols (3D)](https://developers.arcgis.com/javascript/latest/visualization/symbols-color-ramps/esri-web-style-symbols-3d/) can be used in conjunction with this class.
30
30
  * Note that the 2D web style symbols are only supported in 2D and 3D web style symbols are only supported in 3D with an
31
- * exception of [`EsriIconsStyle`](https://developers.arcgis.com/javascript/latest/visualization/symbols-color-ramps/webstyle-symbols-3d/#icons) which can be used in both 2D and 3D.
31
+ * exception of [`EsriIconsStyle`](https://developers.arcgis.com/javascript/latest/visualization/symbols-color-ramps/esri-web-style-symbols-3d/#icons) which can be used in both 2D and 3D.
32
32
  *
33
33
  * A WebStyleSymbol does not contain any symbology definition itself; it only contains a
34
34
  * reference to a web style
@@ -48,7 +48,7 @@ export interface WebStyleSymbolProperties extends SymbolProperties, Partial<Pick
48
48
  *
49
49
  * @since 4.1
50
50
  * @see [Guide - Visualizing points with 3D symbols](https://developers.arcgis.com/javascript/latest/visualizing-points-3d/)
51
- * @see [Guide - WebStyleSymbol reference list](https://developers.arcgis.com/javascript/latest/visualization/symbols-color-ramps/webstyle-symbols-3d/)
51
+ * @see [Guide - WebStyleSymbol reference list](https://developers.arcgis.com/javascript/latest/visualization/symbols-color-ramps/esri-web-style-symbols-3d/)
52
52
  * @see [Symbol Builder](https://developers.arcgis.com/javascript/latest/symbol-builder/)
53
53
  * @see [Sample - WebStyleSymbols(2D)](https://developers.arcgis.com/javascript/latest/sample-code/webstylesymbol-2d/)
54
54
  * @see [Sample - Visualize features with realistic WebStyleSymbols](https://developers.arcgis.com/javascript/latest/sample-code/visualization-webstylesymbol/)
@@ -77,10 +77,10 @@ export default class WebStyleSymbol extends Symbol {
77
77
  constructor(properties?: WebStyleSymbolProperties);
78
78
  /**
79
79
  * The name of the symbol within the web style. Each symbol in a web style is identified
80
- * by a unique name. Only [Esri Web Style Symbols (2D)](https://developers.arcgis.com/javascript/latest/visualization/symbols-color-ramps/webstyle-symbols-2d/) and
81
- * [Esri Web Style Symbols (3D)](https://developers.arcgis.com/javascript/latest/visualization/symbols-color-ramps/webstyle-symbols-3d/) can be referenced here.
80
+ * by a unique name. Only [Esri Web Style Symbols (2D)](https://developers.arcgis.com/javascript/latest/visualization/symbols-color-ramps/esri-web-style-symbols-2d/) and
81
+ * [Esri Web Style Symbols (3D)](https://developers.arcgis.com/javascript/latest/visualization/symbols-color-ramps/esri-web-style-symbols-3d/) can be referenced here.
82
82
  *
83
- * @see [Guide - WebStyleSymbol reference list](https://developers.arcgis.com/javascript/latest/visualization/symbols-color-ramps/webstyle-symbols-3d/)
83
+ * @see [Guide - WebStyleSymbol reference list](https://developers.arcgis.com/javascript/latest/visualization/symbols-color-ramps/esri-web-style-symbols-3d/)
84
84
  */
85
85
  accessor name: string | null | undefined;
86
86
  /**
@@ -93,17 +93,17 @@ export default class WebStyleSymbol extends Symbol {
93
93
  set portal(value: PortalProperties | null | undefined);
94
94
  /**
95
95
  * A registered web style name. Only
96
- * [Esri Web Style Symbols (2D)](https://developers.arcgis.com/javascript/latest/visualization/symbols-color-ramps/webstyle-symbols-2d/) and
97
- * [Esri Web Style Symbols (3D)](https://developers.arcgis.com/javascript/latest/visualization/symbols-color-ramps/webstyle-symbols-3d/) can be referenced here.
96
+ * [Esri Web Style Symbols (2D)](https://developers.arcgis.com/javascript/latest/visualization/symbols-color-ramps/esri-web-style-symbols-2d/) and
97
+ * [Esri Web Style Symbols (3D)](https://developers.arcgis.com/javascript/latest/visualization/symbols-color-ramps/esri-web-style-symbols-3d/) can be referenced here.
98
98
  * Note that the 2D web style symbols are only supported in 2D and 3D web style symbols are only supported in 3D with an
99
- * exception of [`EsriIconsStyle`](https://developers.arcgis.com/javascript/latest/visualization/symbols-color-ramps/webstyle-symbols-3d/#icons) which can be used in both 2D and 3D.
99
+ * exception of [`EsriIconsStyle`](https://developers.arcgis.com/javascript/latest/visualization/symbols-color-ramps/esri-web-style-symbols-3d/#icons) which can be used in both 2D and 3D.
100
100
  *
101
101
  * Requires [portal](https://developers.arcgis.com/javascript/latest/references/core/symbols/WebStyleSymbol/#portal) property to be set.
102
102
  * Can not be used in conjunction with [styleUrl](https://developers.arcgis.com/javascript/latest/references/core/symbols/WebStyleSymbol/#styleUrl).
103
103
  *
104
104
  * See class description for example.
105
105
  *
106
- * @see [Guide - WebStyleSymbol reference list](https://developers.arcgis.com/javascript/latest/visualization/symbols-color-ramps/webstyle-symbols-3d/)
106
+ * @see [Guide - WebStyleSymbol reference list](https://developers.arcgis.com/javascript/latest/visualization/symbols-color-ramps/esri-web-style-symbols-3d/)
107
107
  */
108
108
  accessor styleName: string | null | undefined;
109
109
  /**
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{inchesPerMeter as s}from"../../../core/units.js";import{GeometryCursor as t}from"../../../geometry/GeometryCursor.js";import{collectMultipath as i}from"../../../geometry/geometryCursorCollectUtils.js";import h from"../../../geometry/SpatialReference.js";import{getPathLength as e}from"../../../geometry/support/coordsUtils.js";import{setId as r}from"../CIMCursor.js";import{lazyOffsetOperator as _}from"../CIMEffects.js";class c{static{this.instance=null}static local(){return null===c.instance&&(c.instance=new c),c.instance}execute(s,t,i){return new o(s,t,i)}}class o{constructor(s,t,i){this._defaultPointSize=20,this._inputGeometries=s,this._geomUnitsPerPoint=i.geomUnitsPerPoint??1,this._scale=i?.scale,this._rule=t.rule??"FullGeometry",this._spatialReference=i?.spatialReference??h.WebMercator,this._width=this._computeWidth(t.width??25),this._defaultSize=this._defaultPointSize*this._geomUnitsPerPoint}next(){let s;for(;s=this._inputGeometries.next();){const h=this._processGeom(i(s));if(h?.length)return t.fromJSONCIM({paths:h})}return null}_computeWidth(t){if(!u(this._rule)||null==this._scale||!this._spatialReference.metersPerUnit)return t*this._geomUnitsPerPoint;const i=this._scale/(96*s*this._spatialReference.metersPerUnit);return t/(this._spatialReference.metersPerUnit*i)}_clone(s){return[s[0],s[1]]}_mid(s,t){return[(s[0]+t[0])/2,(s[1]+t[1])/2]}_mix(s,t,i,h){return[s[0]*t+i[0]*h,s[1]*t+i[1]*h]}_add(s,t){return[s[0]+t[0],s[1]+t[1]]}_add2(s,t,i){return[s[0]+t,s[1]+i]}_sub(s,t){return[s[0]-t[0],s[1]-t[1]]}_dist(s,t){return Math.sqrt((s[0]-t[0])*(s[0]-t[0])+(s[1]-t[1])*(s[1]-t[1]))}_norm(s){return Math.sqrt(s[0]*s[0]+s[1]*s[1])}_normalize(s,t=1){const i=t/this._norm(s);s[0]*=i,s[1]*=i}_leftPerpendicular(s){const t=-s[1],i=s[0];s[0]=t,s[1]=i}_leftPerp(s){return[-s[1],s[0]]}_rightPerpendicular(s){const t=s[1],i=-s[0];s[0]=t,s[1]=i}_rightPerp(s){return[s[1],-s[0]]}_dotProduct(s,t){return s[0]*t[0]+s[1]*t[1]}_crossProduct(s,t){return s[0]*t[1]-s[1]*t[0]}_rotateDirect(s,t,i){const h=s[0]*t-s[1]*i,e=s[0]*i+s[1]*t;s[0]=h,s[1]=e}_makeCtrlPt(s){const t=[s[0],s[1]];return r(t,1),t}_addAngledTicks(s,t,i,h){const e=this._sub(i,t);this._normalize(e);const r=this._crossProduct(e,this._sub(h,t));let _;_=r>0?this._rightPerp(e):this._leftPerp(e);const c=Math.abs(r)/2,o=[];o.push([t[0]+(_[0]-e[0])*c,t[1]+(_[1]-e[1])*c]),o.push(t),o.push(i),o.push([i[0]+(_[0]+e[0])*c,i[1]+(_[1]+e[1])*c]),s.push(o)}_addBezier2(s,t,i,h,e){if(0===e--)return void s.push(h);const r=this._mid(t,i),_=this._mid(i,h),c=this._mid(r,_);this._addBezier2(s,t,r,c,e),this._addBezier2(s,c,_,h,e)}_addBezier3(s,t,i,h,e,r){if(0===r--)return void s.push(e);const _=this._mid(t,i),c=this._mid(i,h),o=this._mid(h,e),u=this._mid(_,c),a=this._mid(c,o),n=this._mid(u,a);this._addBezier3(s,t,_,u,n,r),this._addBezier3(s,n,a,o,e,r)}_add90DegArc(s,t,i,h,e){const r=e??this._crossProduct(this._sub(i,t),this._sub(h,t))>0,_=this._mid(t,i),c=this._sub(_,t);r?this._leftPerpendicular(c):this._rightPerpendicular(c),_[0]+=c[0],_[1]+=c[1],this._addBezier3(s,t,this._mix(t,.33333,_,.66667),this._mix(i,.33333,_,.66667),i,4)}_addArrow(s,t,i){const h=t[0],e=t[1],r=t[t.length-1],_=this._sub(h,e),c=this._norm(_);this._normalize(_);const o=Math.abs(this._crossProduct(_,this._sub(r,e)));let u=this._dotProduct(_,this._sub(r,e));u<.05*c?u=.05*c:u>.95*c&&(u=.95*c);const a=.5*o,n=this._leftPerp(_),p=[e[0]+_[0]*u,e[1]+_[1]*u],d=t.length-1,l=[];l.push(i?[-n[0],-n[1]]:n);let b=[-_[0],-_[1]];for(let m=1;m<d-1;m++){const s=this._sub(t[m+1],t[m]);this._normalize(s);const i=this._dotProduct(s,b),h=this._crossProduct(s,b),e=Math.sqrt((1+i)/2),r=this._sub(s,b);this._normalize(r),r[0]/=e,r[1]/=e,l.push(h<0?[-r[0],-r[1]]:r),b=s}l.push(this._rightPerp(b));for(let m=l.length-1;m>0;m--)s.push([t[m][0]+l[m][0]*a,t[m][1]+l[m][1]*a]);s.push([p[0]+l[0][0]*a,p[1]+l[0][1]*a]),s.push([p[0]+l[0][0]*o,p[1]+l[0][1]*o]),s.push(h),s.push([p[0]-l[0][0]*o,p[1]-l[0][1]*o]),s.push([p[0]-l[0][0]*a,p[1]-l[0][1]*a]);for(let m=1;m<l.length;m++)s.push([t[m][0]-l[m][0]*a,t[m][1]-l[m][1]*a])}_addDash(s,t,i){const h=this._norm(i)/7;this._normalize(i);let e=[];for(let r=0;r<=7;r++)e.push([t[0]+i[0]*r*h,t[1]+i[1]*r*h]),1&r&&(s.push(e),e=[])}_cp2(s,t,i){return s.length>=2?s[1]:this._add2(s[0],t*this._defaultSize,i*this._defaultSize)}_cp3(s,t,i,h){if(s.length>=3)return s[2];const e=this._mix(s[0],1-i,t,i),r=this._sub(t,s[0]);return this._normalize(r),this._rightPerpendicular(r),[e[0]+r[0]*h*this._defaultSize,e[1]+r[1]*h*this._defaultSize]}_arrowPath(s){if(s.length>2)return s;const t=s[0],i=this._cp2(s,-4,0),h=this._sub(t,i);this._normalize(h);const e=this._rightPerp(h);return[t,i,[t[0]+(e[0]-h[0])*this._defaultSize,t[1]+(e[1]-h[1])*this._defaultSize]]}_arrowLastSeg(s){const t=s[0],i=this._cp2(s,-4,0);let h;if(s.length>=3)h=s[s.length-1];else{const s=this._sub(t,i);this._normalize(s);const e=this._rightPerp(s);h=[t[0]+(e[0]-s[0])*this._defaultSize,t[1]+(e[1]-s[1])*this._defaultSize]}return[i,h]}_offsetPath(s,h){const e=_.module.execute({paths:[s],spatialReference:this._spatialReference.toJSON()},h,{joins:"miter",miterLimit:4}),[r]=i(t.fromJSONCIM(e));return r?.length?r:null}_processGeom(s){if(!s)return null;const t=[];for(const i of s){const s=i.length>1&&e(i)<this._defaultSize;if(!i||0===i.length||s)continue;const h=i.length;let _=i[0];switch(this._rule){case"PerpendicularFromFirstSegment":{const s=this._cp2(i,0,-1),h=this._cp3(i,s,.5,4),e=[];e.push(h),e.push(this._mid(_,s)),t.push(e);break}case"ReversedFirstSegment":{const s=this._cp2(i,0,-1);t.push([s,_]);break}case"PerpendicularToSecondSegment":{if(i.length<3)return[];const s=this._cp2(i,-4,1),h=this._cp3(i,s,.882353,-1.94),e=[];e.push(this._mid(s,h)),e.push(_),t.push(e);break}case"SecondSegmentWithTicks":{if(i.length<3)return[];const s=this._cp2(i,-4,1),h=this._cp3(i,s,.882353,-1.94),e=this._sub(h,s);let r;r=this._crossProduct(e,this._sub(_,s))>0?this._rightPerp(e):this._leftPerp(e);const c=[];c.push([s[0]+(r[0]-e[0])/3,s[1]+(r[1]-e[1])/3]),c.push(s),c.push(h),c.push([h[0]+(r[0]+e[0])/3,h[1]+(r[1]+e[1])/3]),t.push(c);break}case"DoublePerpendicular":{const s=this._cp2(i,0,-1),h=this._cp3(i,s,.5,3),e=this._mid(_,s),r=this._sub(e,h);this._normalize(r);const c=this._crossProduct(r,this._sub(_,h));this._leftPerpendicular(r);const o=[];o.push(_),o.push([h[0]+r[0]*c,h[1]+r[1]*c]),t.push(o);const u=[];u.push([h[0]-r[0]*c,h[1]-r[1]*c]),u.push(s),t.push(u);break}case"OppositeToFirstSegment":{const s=this._cp2(i,0,-1),h=this._cp3(i,s,.5,3),e=this._mid(_,s),r=this._sub(e,h);this._normalize(r);const c=this._crossProduct(r,this._sub(_,h));this._leftPerpendicular(r);const o=[];o.push([h[0]+r[0]*c,h[1]+r[1]*c]),o.push([h[0]-r[0]*c,h[1]-r[1]*c]),t.push(o);break}case"TriplePerpendicular":{const s=this._cp2(i,0,-1),h=this._cp3(i,s,.5,4),e=this._mid(_,s),r=this._sub(e,h);this._normalize(r);const c=this._crossProduct(r,this._sub(_,h));this._leftPerpendicular(r);const o=[];o.push([h[0]+r[0]*c*.8,h[1]+r[1]*c*.8]),o.push([e[0]+.8*(_[0]-e[0]),e[1]+.8*(_[1]-e[1])]),t.push(o),t.push([h,e]);const u=[];u.push([h[0]-r[0]*c*.8,h[1]-r[1]*c*.8]),u.push([e[0]+.8*(s[0]-e[0]),e[1]+.8*(s[1]-e[1])]),t.push(u);break}case"HalfCircleFirstSegment":{const s=this._cp2(i,0,-1),h=this._cp3(i,s,.5,4),e=this._mid(_,s);let r=this._sub(s,_);const c=Math.cos(Math.PI/18),o=Math.sin(Math.PI/18),u=Math.sqrt((1+c)/2),a=Math.sqrt((1-c)/2),n=[];let p;this._crossProduct(r,this._sub(h,_))>0?(n.push(_),r=this._sub(_,e),p=s):(n.push(s),r=this._sub(s,e),p=_),this._rotateDirect(r,u,a),r[0]/=u,r[1]/=u;for(let t=1;t<=18;t++)n.push(this._add(e,r)),this._rotateDirect(r,c,o);n.push(p),t.push(n);break}case"HalfCircleSecondSegment":{const s=this._cp2(i,0,-1),h=this._cp3(i,s,1,-1);let e=this._sub(_,s);this._normalize(e);const r=this._crossProduct(e,this._sub(h,s))/2;this._leftPerpendicular(e);const c=[s[0]+e[0]*r,s[1]+e[1]*r];e=this._sub(s,c);const o=Math.cos(Math.PI/18);let u=Math.sin(Math.PI/18);r>0&&(u=-u);const a=[s];for(let t=1;t<=18;t++)this._rotateDirect(e,o,u),a.push(this._add(c,e));t.push(a);break}case"HalfCircleExtended":{const s=this._cp2(i,0,-2),e=this._cp3(i,s,1,-1);let r;if(h>=4)r=i[3];else{const t=this._sub(_,s);r=this._add(e,t)}const c=this._dist(s,e)/2/.75,o=this._sub(s,_);this._normalize(o,c);const u=this._sub(e,r);this._normalize(u,c);const a=[r,e];t.push(a);const n=[this._clone(e)];this._addBezier3(n,e,this._add(e,u),this._add(s,o),s,4),n.push(_),t.push(n);break}case"OpenCircle":{const s=this._cp2(i,-2,0),h=this._sub(s,_),e=Math.cos(Math.PI/18),r=-Math.sin(Math.PI/18),c=[s];for(let t=1;t<=33;t++)this._rotateDirect(h,e,r),c.push(this._add(_,h));t.push(c);break}case"CoverageEdgesWithTicks":{const s=this._cp2(i,0,-1);let e,r;if(h>=3)e=i[2];else{const t=this._sub(s,_),i=this._leftPerp(t);e=[_[0]+i[0]-.25*t[0],_[1]+i[1]-.25*t[1]]}if(h>=4)r=i[3];else{const t=this._mid(_,s),i=this._sub(_,s);this._normalize(i),this._leftPerpendicular(i);const h=this._crossProduct(i,this._sub(e,t));this._rightPerpendicular(i),r=[e[0]+i[0]*h*2,e[1]+i[1]*h*2]}const c=this._sub(s,_);let o,u;o=this._crossProduct(c,this._sub(e,_))>0?this._rightPerp(c):this._leftPerp(c),u=[],u.push(e),u.push(_),u.push([_[0]+(o[0]-c[0])/3,_[1]+(o[1]-c[1])/3]),t.push(u),o=this._crossProduct(c,this._sub(r,s))>0?this._rightPerp(c):this._leftPerp(c),u=[],u.push([s[0]+(o[0]+c[0])/3,s[1]+(o[1]+c[1])/3]),u.push(s),u.push(r),t.push(u);break}case"GapExtentWithDoubleTicks":{const s=this._cp2(i,0,2),e=this._cp3(i,s,0,1);let r;if(h>=4)r=i[3];else{const t=this._sub(s,_);r=this._add(e,t)}this._addAngledTicks(t,_,s,this._mid(e,r)),this._addAngledTicks(t,e,r,this._mid(_,s));break}case"GapExtentMidline":{const s=this._cp2(i,2,0),e=this._cp3(i,s,0,1);let r;if(h>=4)r=i[3];else{const t=this._sub(s,_);r=this._add(e,t)}const c=[];c.push(this._mid(_,e)),c.push(this._mid(s,r)),t.push(c);break}case"Chevron":{const s=this._cp2(i,-1,-1);let e;if(h>=3)e=i[2];else{const t=this._sub(s,_);this._leftPerpendicular(t),e=this._add(_,t)}t.push([s,this._makeCtrlPt(_),e]);break}case"PerpendicularWithArc":{const s=this._cp2(i,0,-2),e=this._cp3(i,s,.5,-1),r=this._sub(s,_),c=this._norm(r);r[0]/=c,r[1]/=c;const o=this._crossProduct(r,this._sub(e,_));let u=this._dotProduct(r,this._sub(e,_));u<.05*c?u=.05*c:u>.95*c&&(u=.95*c);const a=[_[0]+r[0]*u,_[1]+r[1]*u];let n=this._leftPerp(r),p=[];if(p.push([a[0]-n[0]*o,a[1]-n[1]*o]),p.push([a[0]+n[0]*o,a[1]+n[1]*o]),t.push(p),h>=4){const s=i[3];let h=this._dotProduct(r,this._sub(s,_));h<.1*c?h=.1*c:h>.9*c&&(h=.9*c);const e=[_[0]+r[0]*h,_[1]+r[1]*h],o=this._crossProduct(r,this._sub(s,_)),u=[];u.push([e[0]-n[0]*o,e[1]-n[1]*o]),u.push([e[0]+n[0]*o,e[1]+n[1]*o]),t.push(u)}const d=[s[0]+n[0]*o,s[1]+n[1]*o];n=this._sub(s,d);const l=Math.cos(Math.PI/18);let b=Math.sin(Math.PI/18);o<0&&(b=-b),p=[_,s];for(let t=1;t<=9;t++)this._rotateDirect(n,l,b),p.push(this._add(d,n));t.push(p);break}case"ClosedHalfCircle":{const s=this._cp2(i,2,0),h=this._mid(_,s),e=this._sub(s,h),r=Math.cos(Math.PI/18),c=Math.sin(Math.PI/18),o=[_,s];for(let t=1;t<=18;t++)this._rotateDirect(e,r,c),o.push(this._add(h,e));t.push(o);break}case"TripleParallelExtended":{const s=this._cp2(i,0,-2),h=this._cp3(i,s,1,-2),e=this._mid(_,s),c=this._sub(h,s);this._normalize(c);const o=Math.abs(this._crossProduct(c,this._sub(e,s)))/2,u=this._dist(s,h),a=[s,_];a.push([_[0]+c[0]*u*.5,_[1]+c[1]*u*.5]),t.push(a);const n=[];n.push([e[0]-c[0]*o,e[1]-c[1]*o]),n.push([e[0]+c[0]*u*.375,e[1]+c[1]*u*.375]),r(n[n.length-1],1),n.push([e[0]+c[0]*u*.75,e[1]+c[1]*u*.75]),t.push(n);const p=[s,h];t.push(p);break}case"ParallelWithTicks":{const s=this._cp2(i,3,0),h=this._cp3(i,s,.5,-1),e=this._sub(h,s);this._normalize(e);const r=this._crossProduct(e,this._sub(h,_));this._leftPerpendicular(e),this._addAngledTicks(t,_,s,h),this._addAngledTicks(t,this._mix(_,1,e,r),this._mix(s,1,e,r),this._mid(_,s));break}case"Parallel":{const s=this._cp2(i,3,0),h=this._cp3(i,s,.5,-1),e=this._sub(s,_);this._normalize(e);const r=this._leftPerp(e),c=this._crossProduct(e,this._sub(h,_));let o=[_,s];t.push(o),o=[],o.push([_[0]+r[0]*c,_[1]+r[1]*c]),o.push([s[0]+r[0]*c,s[1]+r[1]*c]),t.push(o);break}case"PerpendicularToFirstSegment":{const s=this._cp2(i,3,0),h=this._cp3(i,s,.5,-1),e=this._mid(_,s),r=this._sub(s,_);this._normalize(r);const c=this._crossProduct(r,this._sub(h,_));this._leftPerpendicular(r);const o=[];o.push([e[0]-r[0]*c*.25,e[1]-r[1]*c*.25]),o.push([e[0]+r[0]*c*1.25,e[1]+r[1]*c*1.25]),t.push(o);break}case"ParallelOffset":{const s=this._cp2(i,3,0),h=this._cp3(i,s,.5,-1),e=this._sub(s,_);this._normalize(e);const r=this._crossProduct(e,this._sub(h,_));this._leftPerpendicular(e);const c=[];c.push([_[0]-e[0]*r,_[1]-e[1]*r]),c.push([s[0]-e[0]*r,s[1]-e[1]*r]),t.push(c);const o=[];o.push([_[0]+e[0]*r,_[1]+e[1]*r]),o.push([s[0]+e[0]*r,s[1]+e[1]*r]),t.push(o);break}case"OffsetOpposite":{const s=this._cp2(i,3,0),h=this._cp3(i,s,.5,-1),e=this._sub(s,_);this._normalize(e);const r=this._crossProduct(e,this._sub(h,_));this._leftPerpendicular(e);const c=[];c.push([_[0]-e[0]*r,_[1]-e[1]*r]),c.push([s[0]-e[0]*r,s[1]-e[1]*r]),t.push(c);break}case"OffsetSame":{const s=this._cp2(i,3,0),h=this._cp3(i,s,.5,-1),e=this._sub(s,_);this._normalize(e);const r=this._crossProduct(e,this._sub(h,_));this._leftPerpendicular(e);const c=[];c.push([_[0]+e[0]*r,_[1]+e[1]*r]),c.push([s[0]+e[0]*r,s[1]+e[1]*r]),t.push(c);break}case"CircleWithArc":{let s=this._cp2(i,3,0);const e=this._cp3(i,s,.5,-1);let c,o;if(h>=4)c=i[3],o=this._crossProduct(this._sub(c,s),this._sub(e,s))>0;else{c=s,o=this._crossProduct(this._sub(c,_),this._sub(e,_))>0;const t=24*this._geomUnitsPerPoint,i=this._sub(c,_);this._normalize(i,t);const h=Math.sqrt(2)/2;this._rotateDirect(i,h,o?h:-h),s=this._add(_,i)}const u=this._sub(s,_),a=Math.cos(Math.PI/18),n=Math.sin(Math.PI/18),p=[s];for(let t=1;t<=36;t++)this._rotateDirect(u,a,n),p.push(this._add(_,u));this._add90DegArc(p,s,c,e,o),r(p[p.length-8],1),t.push(p);break}case"DoubleJog":{let s,e=this._cp2(i,-3,1),r=this._cp3(i,e,-1,-.5);if(h>=4)s=i[3];else{const t=_;_=e,s=r;const i=this._dist(_,t),h=this._dist(s,t);let c=30*this._geomUnitsPerPoint;.5*i<c&&(c=.5*i),.5*h<c&&(c=.5*h),e=this._mix(_,c/i,t,(i-c)/i),r=this._mix(s,c/h,t,(h-c)/h)}const c=this._mid(_,e),o=this._mid(s,r),u=this._dist(_,e),a=this._dist(r,s);let n=Math.min(u,a)/8;n=Math.min(n,24*this._geomUnitsPerPoint);const p=Math.cos(Math.PI/4);let d=this._sub(_,e);this._normalize(d,n),this._crossProduct(d,this._sub(s,e))>0?this._rotateDirect(d,p,-p):this._rotateDirect(d,p,p);let l=[];l.push(e),l.push(this._add(c,d)),l.push(this._sub(c,d)),l.push(_),t.push(l),d=this._sub(s,r),this._normalize(d,n),this._crossProduct(d,this._sub(_,r))<0?this._rotateDirect(d,p,p):this._rotateDirect(d,p,-p),l=[],l.push(r),l.push(this._add(o,d)),l.push(this._sub(o,d)),l.push(s),t.push(l);break}case"PerpendicularOffset":{const s=this._cp2(i,-4,1),h=this._cp3(i,s,.882353,-1.94),e=this._sub(h,s);this._crossProduct(e,this._sub(_,s))>0?this._rightPerpendicular(e):this._leftPerpendicular(e);const r=[e[0]/8,e[1]/8],c=this._sub(this._mid(s,h),r);t.push([c,_]);break}case"LineExcludingLastSegment":{const s=this._arrowPath(i),h=[];let e=s.length-2;for(;e--;)h.push(s[e]);t.push(h);break}case"MultivertexArrow":{const s=this._arrowPath(i),h=[];this._addArrow(h,s,!1),t.push(h);break}case"CrossedArrow":{const s=this._arrowPath(i),h=[];this._addArrow(h,s,!0),t.push(h);break}case"ChevronArrow":{const[s,h]=this._arrowLastSeg(i),e=10*this._geomUnitsPerPoint,r=this._sub(_,s),c=this._norm(r);this._normalize(r);const o=this._crossProduct(r,this._sub(h,s));let u=this._dotProduct(r,this._sub(h,s));u<.05*c?u=.05*c:u>.95*c-e&&(u=.95*c-e);const a=[s[0]+r[0]*u,s[1]+r[1]*u],n=this._leftPerp(r),p=[];p.push([a[0]+n[0]*o+r[0]*e,a[1]+n[1]*o+r[1]*e]),p.push(_),p.push([a[0]-n[0]*o+r[0]*e,a[1]-n[1]*o+r[1]*e]),t.push(p);break}case"ChevronArrowOffset":{const[s,h]=this._arrowLastSeg(i),e=this._sub(_,s),r=this._norm(e);this._normalize(e);const c=this._crossProduct(e,this._sub(h,s));let o=this._dotProduct(e,this._sub(h,s));o<.05*r?o=.05*r:o>.95*r&&(o=.95*r);const u=[s[0]+e[0]*o,s[1]+e[1]*o];this._leftPerpendicular(e);const a=[];a.push([u[0]+e[0]*c*.5,u[1]+e[1]*c*.5]),a.push(this._mid(u,_)),a.push([u[0]-e[0]*c*.5,u[1]-e[1]*c*.5]),t.push(a);break}case"PartialFirstSegment":{const[s,h]=this._arrowLastSeg(i),e=this._sub(_,s),r=this._norm(e);this._normalize(e);let c=this._dotProduct(e,this._sub(h,s));c<.05*r?c=.05*r:c>.95*r&&(c=.95*r);const o=[s[0]+e[0]*c,s[1]+e[1]*c];t.push([s,o]);break}case"Arch":{const s=this._cp2(i,0,-1),h=this._cp3(i,s,.5,1),e=this._sub(_,s),r=this._mix(h,1,e,.55),c=this._mix(h,1,e,-.55),o=[_];this._addBezier2(o,_,r,h,4),this._addBezier2(o,h,c,s,4),t.push(o);break}case"CurvedParallelTicks":{const s=this._cp2(i,-4,1),h=this._cp3(i,s,.882353,-1.94),e=this._sub(h,s);this._crossProduct(e,this._sub(_,s))>0?this._rightPerpendicular(e):this._leftPerpendicular(e);const r=[e[0]/8,e[1]/8],c=this._sub(this._mid(s,h),r),o=this._sub(this._mix(s,.75,h,.25),r),u=this._sub(this._mix(s,.25,h,.75),r),a=[s];this._addBezier2(a,s,o,c,3),this._addBezier2(a,c,u,h,3),t.push(a);for(let i=0;i<8;i++){const s=a[2*i+1],h=[this._clone(s)];h.push(this._add(s,[e[0]/4,e[1]/4])),t.push(h)}break}case"Arc90Degrees":{const s=this._cp2(i,0,-1),h=this._cp3(i,s,.5,1),e=[s];this._add90DegArc(e,s,_,h),t.push(e);break}case"TipWithPerpendicularAndTicks":{const[s,h]=this._arrowLastSeg(i),e=10*this._geomUnitsPerPoint,r=this._sub(_,s),c=this._norm(r);this._normalize(r);let o=this._crossProduct(r,this._sub(h,s)),u=this._dotProduct(r,this._sub(h,s));u<.05*c?u=.05*c:u>.95*c-e&&(u=.95*c-e);const a=this._leftPerp(r),n=[_[0]-r[0]*e,_[1]-r[1]*e],p=.5*Math.max(c-u-e,e);o=Math.abs(o);const d=[];d.push([n[0]+a[0]*(o+p)-r[0]*p,n[1]+a[1]*(o+p)-r[1]*p]),d.push([n[0]+a[0]*o,n[1]+a[1]*o]),d.push([n[0]-a[0]*o,n[1]-a[1]*o]),d.push([n[0]-a[0]*(o+p)-r[0]*p,n[1]-a[1]*(o+p)-r[1]*p]),t.push(d),t.push([n,_]);break}case"ConcentricCircles":{const s=this._cp2(i,1,0),e=this._cp3(i,s,2,0),c=Math.cos(Math.PI/18),o=Math.sin(Math.PI/18);let u=this._dist(s,_),a=[u,0],n=[];for(let t=0;t<=36;t++)n.push(this._add(_,a)),this._rotateDirect(a,c,o);if(t.push(n),h>=4){n=[];const s=i[3];u=this._dist(s,_),a=[u,0];for(let t=0;t<=36;t++)n.push(this._add(_,a)),0===t&&(n.push(this._add(_,a)),r(n[1],1)),this._rotateDirect(a,c,o);t.push(n)}n=[],u=this._dist(e,_),a=[u,0];for(let t=0;t<=36;t++)n.push(this._add(_,a)),this._rotateDirect(a,c,o);t.push(n);break}case"DoubleJogArrow":{_=this._arrowPath(i)[0];const[s,h]=this._arrowLastSeg(i),e=this._sub(_,s),r=this._norm(e);this._normalize(e);const c=Math.abs(this._crossProduct(e,this._sub(h,_)));let o=Math.abs(this._dotProduct(e,this._sub(h,_)));o<.05*r?o=.05*r:o>.95*r&&(o=.95*r);const u=Math.max(c,o),a=this._leftPerp(e);let n=[];const p=[_[0]-e[0]*o*.5+a[0]*c*.5,_[1]-e[1]*o*.5+a[1]*c*.5];n.push([p[0],p[1]]),p[0]+=e[0]*u*.5+a[0]*u*.4,p[1]+=e[1]*u*.5+a[1]*u*.4,n.push([p[0],p[1]]),p[0]-=a[0]*u*.25,p[1]-=a[1]*u*.25,n.push([p[0],p[1]]),p[0]+=e[0]*u*.5+a[0]*u*.4,p[1]+=e[1]*u*.5+a[1]*u*.4,n.push([p[0],p[1]]),t.push(n),n=[],p[0]=_[0]-e[0]*o*.5-a[0]*c*.5,p[1]=_[1]-e[1]*o*.5-a[1]*c*.5,n.push([p[0],p[1]]),p[0]+=e[0]*u*.5-a[0]*u*.4,p[1]+=e[1]*u*.5-a[1]*u*.4,n.push([p[0],p[1]]),p[0]+=a[0]*u*.25,p[1]+=a[1]*u*.25,n.push([p[0],p[1]]),p[0]+=e[0]*u*.5-a[0]*u*.4,p[1]+=e[1]*u*.5-a[1]*u*.4,n.push([p[0],p[1]]),t.push(n);break}case"LinkedChevrons":{const s=this._cp2(i,-5,0),h=this._cp3(i,s,-.2,1),e=this._sub(_,s);this._normalize(e);const r=this._leftPerp(e),c=Math.abs(this._crossProduct(e,this._sub(h,s)));t.push([s,_]);const o=[];o.push([_[0]-e[0]*c+r[0]*c,_[1]-e[1]*c+r[1]*c]),o.push(_),o.push([_[0]-e[0]*c-r[0]*c,_[1]-e[1]*c-r[1]*c]),t.push(o),this._addDash(t,s,[-e[0]*c+r[0]*c,-e[1]*c+r[1]*c]),this._addDash(t,s,[-e[0]*c-r[0]*c,-e[1]*c-r[1]*c]);break}case"SegmentThenHalfCircle":{const s=this._cp2(i,2,0),e=this._cp3(i,s,1.5,0);let r;r=h>=4?i[3]:this._cp3(i,s,1.25,-.5);const c=this._sub(s,_);this._normalize(c);const o=.5*this._dist(s,e),u=this._crossProduct(c,this._sub(r,_))>0,a=Math.cos(Math.PI/18);let n=Math.sin(Math.PI/18);u&&(n=-n);const p=[_,s];c[0]*=o,c[1]*=o;const d=this._add(s,c);c[0]=-c[0],c[1]=-c[1];for(let t=1;t<=18;t++)this._rotateDirect(c,a,n),p.push(this._add(d,c));t.push(p);break}case"LineWithStraightTicks":{const s=this._cp2(i,-2,1),h=this._cp3(i,s,-1,-.5),e=this._sub(h,s);this._normalize(e);const r=this._dotProduct(e,this._sub(s,_)),c=this._dotProduct(e,this._sub(h,_));let o=[_];o.push([_[0]+e[0]*r,_[1]+e[1]*r]),o.push(s),t.push(o),o=[_],o.push([_[0]+e[0]*c,_[1]+e[1]*c]),o.push(h),t.push(o);break}case"DoubleCurve":{const s=this._cp2(i,-5,-1),h=this._cp3(i,s,2,0),e=Math.atan2(1,5),c=Math.cos(e),o=Math.sin(e),u=this._sub(s,_),a=this._dist(_,s);this._normalize(u),this._rotateDirect(u,c,-o);const n=[_];n.push([_[0]+u[0]*a*.5,_[1]+u[1]*a*.5]),r(n[1],1),n.push([_[0]+u[0]*a*.8,_[1]+u[1]*a*.8]),this._addBezier2(n,n[2],[_[0]+u[0]*a,_[1]+u[1]*a],s,3);const p=this._sub(h,s),d=this._dist(s,h);this._normalize(p),this._rotateDirect(p,c,-o),this._addBezier2(n,s,[h[0]-p[0]*d,h[1]-p[1]*d],[h[0]-p[0]*d*.8,h[1]-p[1]*d*.8],3),n.push(h),t.push(n);break}case"ParallelWithTicksByWidth":{const s=this._cp2(i,0,-1),h=this._cp3(i,s,.5,3),e=this._sub(s,_);this._normalize(e);const r=this._crossProduct(e,this._sub(h,_));this._leftPerpendicular(e),r>0?(this._addAngledTicks(t,_,[_[0]+e[0]*r,_[1]+e[1]*r],s),this._addAngledTicks(t,s,[s[0]+e[0]*r,s[1]+e[1]*r],_)):(this._addAngledTicks(t,[_[0]+e[0]*r,_[1]+e[1]*r],_,s),this._addAngledTicks(t,[s[0]+e[0]*r,s[1]+e[1]*r],_,s));break}case"EnclosingRoundedRectangle":{const s=this._cp2(i,3,-2),t=[Math.min(_[0],s[0]),Math.max(_[1],s[1])],h=[Math.max(_[0],s[0]),Math.min(_[1],s[1])],e=h[0]-t[0],r=t[1]-h[1],c=Math.min(e,r)/10,o=[];o.push([t[0]+c+.75*(e-2*c),t[1]]),o.push([h[0]-c,t[1]]),this._add90DegArc(o,[h[0]-c,t[1]],[h[0],t[1]-c],[h[0],t[1]]),o.push([h[0],h[1]+c]),this._add90DegArc(o,[h[0],h[1]+c],[h[0]-c,h[1]],h),o.push([t[0]+c,h[1]]),this._add90DegArc(o,[t[0]+c,h[1]],[t[0],h[1]+c],[t[0],h[1]]),o.push([t[0],t[1]-c]),this._add90DegArc(o,[t[0],t[1]-c],[t[0]+c,t[1]],t),o.push([t[0]+c+.75*(e-2*c),t[1]]);break}case"ParallelOffsetByValue":{if(i.length<2||0===this._width)break;const s=this._offsetPath(i,.5*this._width);s&&t.push(s);const h=this._offsetPath(i,.5*-this._width);h&&t.push(h);break}default:t.push(i)}}return t}}function u(s){return"ParallelOffsetByValue"===s}export{c as EffectControlMeasureLine};
2
+ import{inchesPerMeter as s}from"../../../core/units.js";import{GeometryCursor as t}from"../../../geometry/GeometryCursor.js";import{collectMultipath as i}from"../../../geometry/geometryCursorCollectUtils.js";import h from"../../../geometry/SpatialReference.js";import{getPathLength as e}from"../../../geometry/support/coordsUtils.js";import{setId as r}from"../CIMCursor.js";import{lazyOffsetOperator as _}from"../CIMEffects.js";class c{static{this.instance=null}static local(){return null===c.instance&&(c.instance=new c),c.instance}execute(s,t,i){return new o(s,t,i)}}class o{constructor(s,t,i){this._defaultPointSize=20,this._inputGeometries=s,this._geomUnitsPerPoint=i.geomUnitsPerPoint??1,this._scale=i?.scale,this._rule=t.rule??"FullGeometry",this._spatialReference=i?.spatialReference??h.WebMercator,this._width=this._computeWidth(t.width??25),this._defaultSize=this._defaultPointSize*this._geomUnitsPerPoint}next(){let s;for(;s=this._inputGeometries.next();){const h=this._processGeom(i(s));if(h?.length)return t.fromJSONCIM({paths:h})}return null}_computeWidth(t){if(!u(this._rule)||null==this._scale||!this._spatialReference.metersPerUnit)return t*this._geomUnitsPerPoint;const i=this._scale/(96*s*this._spatialReference.metersPerUnit);return t/(this._spatialReference.metersPerUnit*i)}_clone(s){return[s[0],s[1]]}_mid(s,t){return[(s[0]+t[0])/2,(s[1]+t[1])/2]}_mix(s,t,i,h){return[s[0]*t+i[0]*h,s[1]*t+i[1]*h]}_add(s,t){return[s[0]+t[0],s[1]+t[1]]}_add2(s,t,i){return[s[0]+t,s[1]+i]}_sub(s,t){return[s[0]-t[0],s[1]-t[1]]}_dist(s,t){return Math.sqrt((s[0]-t[0])*(s[0]-t[0])+(s[1]-t[1])*(s[1]-t[1]))}_norm(s){return Math.sqrt(s[0]*s[0]+s[1]*s[1])}_normalize(s,t=1){const i=t/this._norm(s);s[0]*=i,s[1]*=i}_leftPerpendicular(s){const t=-s[1],i=s[0];s[0]=t,s[1]=i}_leftPerp(s){return[-s[1],s[0]]}_rightPerpendicular(s){const t=s[1],i=-s[0];s[0]=t,s[1]=i}_rightPerp(s){return[s[1],-s[0]]}_dotProduct(s,t){return s[0]*t[0]+s[1]*t[1]}_crossProduct(s,t){return s[0]*t[1]-s[1]*t[0]}_rotateDirect(s,t,i){const h=s[0]*t-s[1]*i,e=s[0]*i+s[1]*t;s[0]=h,s[1]=e}_makeCtrlPt(s){const t=[s[0],s[1]];return r(t,1),t}_addAngledTicks(s,t,i,h){const e=this._sub(i,t);this._normalize(e);const r=this._crossProduct(e,this._sub(h,t));let _;_=r>0?this._rightPerp(e):this._leftPerp(e);const c=Math.abs(r)/2,o=[];o.push([t[0]+(_[0]-e[0])*c,t[1]+(_[1]-e[1])*c]),o.push(t),o.push(i),o.push([i[0]+(_[0]+e[0])*c,i[1]+(_[1]+e[1])*c]),s.push(o)}_addBezier2(s,t,i,h,e){if(0===e--)return void s.push(h);const r=this._mid(t,i),_=this._mid(i,h),c=this._mid(r,_);this._addBezier2(s,t,r,c,e),this._addBezier2(s,c,_,h,e)}_addBezier3(s,t,i,h,e,r){if(0===r--)return void s.push(e);const _=this._mid(t,i),c=this._mid(i,h),o=this._mid(h,e),u=this._mid(_,c),a=this._mid(c,o),n=this._mid(u,a);this._addBezier3(s,t,_,u,n,r),this._addBezier3(s,n,a,o,e,r)}_add90DegArc(s,t,i,h,e){const r=e??this._crossProduct(this._sub(i,t),this._sub(h,t))>0,_=this._mid(t,i),c=this._sub(_,t);r?this._leftPerpendicular(c):this._rightPerpendicular(c),_[0]+=c[0],_[1]+=c[1],this._addBezier3(s,t,this._mix(t,.33333,_,.66667),this._mix(i,.33333,_,.66667),i,4)}_addArrow(s,t,i){const h=t[0],e=t[1],r=t[t.length-1],_=this._sub(h,e),c=this._norm(_);this._normalize(_);const o=Math.abs(this._crossProduct(_,this._sub(r,e)));let u=this._dotProduct(_,this._sub(r,e));u<.05*c?u=.05*c:u>.95*c&&(u=.95*c);const a=.5*o,n=this._leftPerp(_),p=[e[0]+_[0]*u,e[1]+_[1]*u],d=t.length-1,l=[];l.push(i?[-n[0],-n[1]]:n);let b=[-_[0],-_[1]];for(let P=1;P<d-1;P++){const s=this._sub(t[P+1],t[P]);this._normalize(s);const i=this._dotProduct(s,b),h=this._crossProduct(s,b),e=Math.sqrt((1+i)/2),r=this._sub(s,b);this._normalize(r),r[0]/=e,r[1]/=e,l.push(h<0?[-r[0],-r[1]]:r),b=s}l.push(this._rightPerp(b));for(let P=l.length-1;P>0;P--)s.push([t[P][0]+l[P][0]*a,t[P][1]+l[P][1]*a]);s.push([p[0]+l[0][0]*a,p[1]+l[0][1]*a]),s.push([p[0]+l[0][0]*o,p[1]+l[0][1]*o]),s.push(h),s.push([p[0]-l[0][0]*o,p[1]-l[0][1]*o]),s.push([p[0]-l[0][0]*a,p[1]-l[0][1]*a]);for(let P=1;P<l.length;P++)s.push([t[P][0]-l[P][0]*a,t[P][1]-l[P][1]*a])}_addDash(s,t,i){const h=this._norm(i)/7;this._normalize(i);let e=[];for(let r=0;r<=7;r++)e.push([t[0]+i[0]*r*h,t[1]+i[1]*r*h]),1&r&&(s.push(e),e=[])}_cp2(s,t,i){return s.length>=2?s[1]:this._add2(s[0],t*this._defaultSize,i*this._defaultSize)}_cp3(s,t,i,h){if(s.length>=3)return s[2];const e=this._mix(s[0],1-i,t,i),r=this._sub(t,s[0]);return this._normalize(r),this._rightPerpendicular(r),[e[0]+r[0]*h*this._defaultSize,e[1]+r[1]*h*this._defaultSize]}_arrowPath(s){if(s.length>2)return s;const t=s[0],i=this._cp2(s,-4,0),h=this._sub(t,i);this._normalize(h);const e=this._rightPerp(h);return[t,i,[t[0]+(e[0]-h[0])*this._defaultSize,t[1]+(e[1]-h[1])*this._defaultSize]]}_arrowLastSeg(s){const t=s[0],i=this._cp2(s,-4,0);let h;if(s.length>=3)h=s[s.length-1];else{const s=this._sub(t,i);this._normalize(s);const e=this._rightPerp(s);h=[t[0]+(e[0]-s[0])*this._defaultSize,t[1]+(e[1]-s[1])*this._defaultSize]}return[i,h]}_offsetPath(s,h){const e=_.module.execute({paths:[s],spatialReference:this._spatialReference.toJSON()},h,{joins:"miter",miterLimit:4}),[r]=i(t.fromJSONCIM(e));return r?.length?r:null}_processGeom(s){if(!s)return null;const t=[];for(const i of s){const s=i.length>1&&e(i)<this._defaultSize;if(!i||0===i.length||s)continue;const h=i.length;let _=i[0];switch(this._rule){case"PerpendicularFromFirstSegment":{const s=this._cp2(i,0,-1),h=this._cp3(i,s,.5,4),e=[];e.push(h),e.push(this._mid(_,s)),t.push(e);break}case"ReversedFirstSegment":{const s=this._cp2(i,0,-1);t.push([s,_]);break}case"PerpendicularToSecondSegment":{if(i.length<3)return[];const s=this._cp2(i,-4,1),h=this._cp3(i,s,.882353,-1.94),e=[];e.push(this._mid(s,h)),e.push(_),t.push(e);break}case"SecondSegmentWithTicks":{if(i.length<3)return[];const s=this._cp2(i,-4,1),h=this._cp3(i,s,.882353,-1.94),e=this._sub(h,s);let r;r=this._crossProduct(e,this._sub(_,s))>0?this._rightPerp(e):this._leftPerp(e);const c=[];c.push([s[0]+(r[0]-e[0])/3,s[1]+(r[1]-e[1])/3]),c.push(s),c.push(h),c.push([h[0]+(r[0]+e[0])/3,h[1]+(r[1]+e[1])/3]),t.push(c);break}case"DoublePerpendicular":{const s=this._cp2(i,0,-1),h=this._cp3(i,s,.5,3),e=this._mid(_,s),r=this._sub(e,h);this._normalize(r);const c=this._crossProduct(r,this._sub(_,h));this._leftPerpendicular(r);const o=[];o.push(_),o.push([h[0]+r[0]*c,h[1]+r[1]*c]),t.push(o);const u=[];u.push([h[0]-r[0]*c,h[1]-r[1]*c]),u.push(s),t.push(u);break}case"OppositeToFirstSegment":{const s=this._cp2(i,0,-1),h=this._cp3(i,s,.5,3),e=this._mid(_,s),r=this._sub(e,h);this._normalize(r);const c=this._crossProduct(r,this._sub(_,h));this._leftPerpendicular(r);const o=[];o.push([h[0]+r[0]*c,h[1]+r[1]*c]),o.push([h[0]-r[0]*c,h[1]-r[1]*c]),t.push(o);break}case"TriplePerpendicular":{const s=this._cp2(i,0,-1),h=this._cp3(i,s,.5,4),e=this._mid(_,s),r=this._sub(e,h);this._normalize(r);const c=this._crossProduct(r,this._sub(_,h));this._leftPerpendicular(r);const o=[];o.push([h[0]+r[0]*c*.8,h[1]+r[1]*c*.8]),o.push([e[0]+.8*(_[0]-e[0]),e[1]+.8*(_[1]-e[1])]),t.push(o),t.push([h,e]);const u=[];u.push([h[0]-r[0]*c*.8,h[1]-r[1]*c*.8]),u.push([e[0]+.8*(s[0]-e[0]),e[1]+.8*(s[1]-e[1])]),t.push(u);break}case"HalfCircleFirstSegment":{const s=this._cp2(i,0,-1),h=this._cp3(i,s,.5,4),e=this._mid(_,s);let r=this._sub(s,_);const c=Math.cos(Math.PI/18),o=Math.sin(Math.PI/18),u=Math.sqrt((1+c)/2),a=Math.sqrt((1-c)/2),n=[];let p;this._crossProduct(r,this._sub(h,_))>0?(n.push(_),r=this._sub(_,e),p=s):(n.push(s),r=this._sub(s,e),p=_),this._rotateDirect(r,u,a),r[0]/=u,r[1]/=u;for(let t=1;t<=18;t++)n.push(this._add(e,r)),this._rotateDirect(r,c,o);n.push(p),t.push(n);break}case"HalfCircleSecondSegment":{const s=this._cp2(i,0,-1),h=this._cp3(i,s,1,-1);let e=this._sub(_,s);this._normalize(e);const r=this._crossProduct(e,this._sub(h,s))/2;this._leftPerpendicular(e);const c=[s[0]+e[0]*r,s[1]+e[1]*r];e=this._sub(s,c);const o=Math.cos(Math.PI/18);let u=Math.sin(Math.PI/18);r>0&&(u=-u);const a=[s];for(let t=1;t<=18;t++)this._rotateDirect(e,o,u),a.push(this._add(c,e));t.push(a);break}case"HalfCircleExtended":{const s=this._cp2(i,0,-2),e=this._cp3(i,s,1,-1);let r;if(h>=4)r=i[3];else{const t=this._sub(_,s);r=this._add(e,t)}const c=this._dist(s,e)/2/.75,o=this._sub(s,_);this._normalize(o,c);const u=this._sub(e,r);this._normalize(u,c);const a=[r,e];t.push(a);const n=[this._clone(e)];this._addBezier3(n,e,this._add(e,u),this._add(s,o),s,4),n.push(_),t.push(n);break}case"OpenCircle":{const s=this._cp2(i,-2,0),h=this._sub(s,_),e=Math.cos(Math.PI/18),r=-Math.sin(Math.PI/18),c=[s];for(let t=1;t<=33;t++)this._rotateDirect(h,e,r),c.push(this._add(_,h));t.push(c);break}case"CoverageEdgesWithTicks":{const s=this._cp2(i,0,-1);let e,r;if(h>=3)e=i[2];else{const t=this._sub(s,_),i=this._leftPerp(t);e=[_[0]+i[0]-.25*t[0],_[1]+i[1]-.25*t[1]]}if(h>=4)r=i[3];else{const t=this._mid(_,s),i=this._sub(_,s);this._normalize(i),this._leftPerpendicular(i);const h=this._crossProduct(i,this._sub(e,t));this._rightPerpendicular(i),r=[e[0]+i[0]*h*2,e[1]+i[1]*h*2]}const c=this._sub(s,_);let o,u;o=this._crossProduct(c,this._sub(e,_))>0?this._rightPerp(c):this._leftPerp(c),u=[],u.push(e),u.push(_),u.push([_[0]+(o[0]-c[0])/3,_[1]+(o[1]-c[1])/3]),t.push(u),o=this._crossProduct(c,this._sub(r,s))>0?this._rightPerp(c):this._leftPerp(c),u=[],u.push([s[0]+(o[0]+c[0])/3,s[1]+(o[1]+c[1])/3]),u.push(s),u.push(r),t.push(u);break}case"GapExtentWithDoubleTicks":{const s=this._cp2(i,0,2),e=this._cp3(i,s,0,1);let r;if(h>=4)r=i[3];else{const t=this._sub(s,_);r=this._add(e,t)}this._addAngledTicks(t,_,s,this._mid(e,r)),this._addAngledTicks(t,e,r,this._mid(_,s));break}case"GapExtentMidline":{const s=this._cp2(i,2,0),e=this._cp3(i,s,0,1);let r;if(h>=4)r=i[3];else{const t=this._sub(s,_);r=this._add(e,t)}const c=[];c.push(this._mid(_,e)),c.push(this._mid(s,r)),t.push(c);break}case"Chevron":{const s=this._cp2(i,-1,-1);let e;if(h>=3)e=i[2];else{const t=this._sub(s,_);this._leftPerpendicular(t),e=this._add(_,t)}t.push([s,this._makeCtrlPt(_),e]);break}case"PerpendicularWithArc":{const s=this._cp2(i,0,-2),e=this._cp3(i,s,.5,-1),r=this._sub(s,_),c=this._norm(r);r[0]/=c,r[1]/=c;const o=this._crossProduct(r,this._sub(e,_));let u=this._dotProduct(r,this._sub(e,_));u<.05*c?u=.05*c:u>.95*c&&(u=.95*c);const a=[_[0]+r[0]*u,_[1]+r[1]*u];let n=this._leftPerp(r),p=[];if(p.push([a[0]-n[0]*o,a[1]-n[1]*o]),p.push([a[0]+n[0]*o,a[1]+n[1]*o]),t.push(p),h>=4){const s=i[3];let h=this._dotProduct(r,this._sub(s,_));h<.1*c?h=.1*c:h>.9*c&&(h=.9*c);const e=[_[0]+r[0]*h,_[1]+r[1]*h],o=this._crossProduct(r,this._sub(s,_)),u=[];u.push([e[0]-n[0]*o,e[1]-n[1]*o]),u.push([e[0]+n[0]*o,e[1]+n[1]*o]),t.push(u)}const d=[s[0]+n[0]*o,s[1]+n[1]*o];n=this._sub(s,d);const l=Math.cos(Math.PI/18);let b=Math.sin(Math.PI/18);o<0&&(b=-b),p=[_,s];for(let t=1;t<=9;t++)this._rotateDirect(n,l,b),p.push(this._add(d,n));t.push(p);break}case"ClosedHalfCircle":{const s=this._cp2(i,2,0),h=this._mid(_,s),e=this._sub(s,h),r=Math.cos(Math.PI/18),c=Math.sin(Math.PI/18),o=[_,s];for(let t=1;t<=18;t++)this._rotateDirect(e,r,c),o.push(this._add(h,e));t.push(o);break}case"TripleParallelExtended":{const s=this._cp2(i,0,-2),h=this._cp3(i,s,1,-2),e=this._mid(_,s),c=this._sub(h,s);this._normalize(c);const o=Math.abs(this._crossProduct(c,this._sub(e,s)))/2,u=this._dist(s,h),a=[s,_];a.push([_[0]+c[0]*u*.5,_[1]+c[1]*u*.5]),t.push(a);const n=[];n.push([e[0]-c[0]*o,e[1]-c[1]*o]),n.push([e[0]+c[0]*u*.375,e[1]+c[1]*u*.375]),r(n[n.length-1],1),n.push([e[0]+c[0]*u*.75,e[1]+c[1]*u*.75]),t.push(n);const p=[s,h];t.push(p);break}case"ParallelWithTicks":{const s=this._cp2(i,3,0),h=this._cp3(i,s,.5,-1),e=this._sub(s,_);this._normalize(e);const r=this._crossProduct(e,this._sub(h,_)),c=this._leftPerp(e);this._addAngledTicks(t,_,s,h),this._addAngledTicks(t,this._add2(_,c[0]*r,c[1]*r),this._add2(s,c[0]*r,c[1]*r),this._mid(_,s));break}case"Parallel":{const s=this._cp2(i,3,0),h=this._cp3(i,s,.5,-1),e=this._sub(s,_);this._normalize(e);const r=this._leftPerp(e),c=this._crossProduct(e,this._sub(h,_));let o=[_,s];t.push(o),o=[],o.push([_[0]+r[0]*c,_[1]+r[1]*c]),o.push([s[0]+r[0]*c,s[1]+r[1]*c]),t.push(o);break}case"PerpendicularToFirstSegment":{const s=this._cp2(i,3,0),h=this._cp3(i,s,.5,-1),e=this._mid(_,s),r=this._sub(s,_);this._normalize(r);const c=this._crossProduct(r,this._sub(h,_));this._leftPerpendicular(r);const o=[];o.push([e[0]-r[0]*c*.25,e[1]-r[1]*c*.25]),o.push([e[0]+r[0]*c*1.25,e[1]+r[1]*c*1.25]),t.push(o);break}case"ParallelOffset":{const s=this._cp2(i,3,0),h=this._cp3(i,s,.5,-1),e=this._sub(s,_);this._normalize(e);const r=this._crossProduct(e,this._sub(h,_));this._leftPerpendicular(e);const c=[];c.push([_[0]-e[0]*r,_[1]-e[1]*r]),c.push([s[0]-e[0]*r,s[1]-e[1]*r]),t.push(c);const o=[];o.push([_[0]+e[0]*r,_[1]+e[1]*r]),o.push([s[0]+e[0]*r,s[1]+e[1]*r]),t.push(o);break}case"OffsetOpposite":{const s=this._cp2(i,3,0),h=this._cp3(i,s,.5,-1),e=this._sub(s,_);this._normalize(e);const r=this._crossProduct(e,this._sub(h,_));this._leftPerpendicular(e);const c=[];c.push([_[0]-e[0]*r,_[1]-e[1]*r]),c.push([s[0]-e[0]*r,s[1]-e[1]*r]),t.push(c);break}case"OffsetSame":{const s=this._cp2(i,3,0),h=this._cp3(i,s,.5,-1),e=this._sub(s,_);this._normalize(e);const r=this._crossProduct(e,this._sub(h,_));this._leftPerpendicular(e);const c=[];c.push([_[0]+e[0]*r,_[1]+e[1]*r]),c.push([s[0]+e[0]*r,s[1]+e[1]*r]),t.push(c);break}case"CircleWithArc":{let s=this._cp2(i,3,0);const e=this._cp3(i,s,.5,-1);let c,o;if(h>=4)c=i[3],o=this._crossProduct(this._sub(c,s),this._sub(e,s))>0;else{c=s,o=this._crossProduct(this._sub(c,_),this._sub(e,_))>0;const t=24*this._geomUnitsPerPoint,i=this._sub(c,_);this._normalize(i,t);const h=Math.sqrt(2)/2;this._rotateDirect(i,h,o?h:-h),s=this._add(_,i)}const u=this._sub(s,_),a=Math.cos(Math.PI/18),n=Math.sin(Math.PI/18),p=[s];for(let t=1;t<=36;t++)this._rotateDirect(u,a,n),p.push(this._add(_,u));this._add90DegArc(p,s,c,e,o),r(p[p.length-8],1),t.push(p);break}case"DoubleJog":{let s,e=this._cp2(i,-3,1),r=this._cp3(i,e,-1,-.5);if(h>=4)s=i[3];else{const t=_;_=e,s=r;const i=this._dist(_,t),h=this._dist(s,t);let c=30*this._geomUnitsPerPoint;.5*i<c&&(c=.5*i),.5*h<c&&(c=.5*h),e=this._mix(_,c/i,t,(i-c)/i),r=this._mix(s,c/h,t,(h-c)/h)}const c=this._mid(_,e),o=this._mid(s,r),u=this._dist(_,e),a=this._dist(r,s);let n=Math.min(u,a)/8;n=Math.min(n,24*this._geomUnitsPerPoint);const p=Math.cos(Math.PI/4);let d=this._sub(_,e);this._normalize(d,n),this._crossProduct(d,this._sub(s,e))>0?this._rotateDirect(d,p,-p):this._rotateDirect(d,p,p);let l=[];l.push(e),l.push(this._add(c,d)),l.push(this._sub(c,d)),l.push(_),t.push(l),d=this._sub(s,r),this._normalize(d,n),this._crossProduct(d,this._sub(_,r))<0?this._rotateDirect(d,p,p):this._rotateDirect(d,p,-p),l=[],l.push(r),l.push(this._add(o,d)),l.push(this._sub(o,d)),l.push(s),t.push(l);break}case"PerpendicularOffset":{const s=this._cp2(i,-4,1),h=this._cp3(i,s,.882353,-1.94),e=this._sub(h,s);this._crossProduct(e,this._sub(_,s))>0?this._rightPerpendicular(e):this._leftPerpendicular(e);const r=[e[0]/8,e[1]/8],c=this._sub(this._mid(s,h),r);t.push([c,_]);break}case"LineExcludingLastSegment":{const s=this._arrowPath(i),h=[];let e=s.length-2;for(;e--;)h.push(s[e]);t.push(h);break}case"MultivertexArrow":{const s=this._arrowPath(i),h=[];this._addArrow(h,s,!1),t.push(h);break}case"CrossedArrow":{const s=this._arrowPath(i),h=[];this._addArrow(h,s,!0),t.push(h);break}case"ChevronArrow":{const[s,h]=this._arrowLastSeg(i),e=10*this._geomUnitsPerPoint,r=this._sub(_,s),c=this._norm(r);this._normalize(r);const o=this._crossProduct(r,this._sub(h,s));let u=this._dotProduct(r,this._sub(h,s));u<.05*c?u=.05*c:u>.95*c-e&&(u=.95*c-e);const a=[s[0]+r[0]*u,s[1]+r[1]*u],n=this._leftPerp(r),p=[];p.push([a[0]+n[0]*o+r[0]*e,a[1]+n[1]*o+r[1]*e]),p.push(_),p.push([a[0]-n[0]*o+r[0]*e,a[1]-n[1]*o+r[1]*e]),t.push(p);break}case"ChevronArrowOffset":{const[s,h]=this._arrowLastSeg(i),e=this._sub(_,s),r=this._norm(e);this._normalize(e);const c=this._crossProduct(e,this._sub(h,s));let o=this._dotProduct(e,this._sub(h,s));o<.05*r?o=.05*r:o>.95*r&&(o=.95*r);const u=[s[0]+e[0]*o,s[1]+e[1]*o];this._leftPerpendicular(e);const a=[];a.push([u[0]+e[0]*c*.5,u[1]+e[1]*c*.5]),a.push(this._mid(u,_)),a.push([u[0]-e[0]*c*.5,u[1]-e[1]*c*.5]),t.push(a);break}case"PartialFirstSegment":{const[s,h]=this._arrowLastSeg(i),e=this._sub(_,s),r=this._norm(e);this._normalize(e);let c=this._dotProduct(e,this._sub(h,s));c<.05*r?c=.05*r:c>.95*r&&(c=.95*r);const o=[s[0]+e[0]*c,s[1]+e[1]*c];t.push([s,o]);break}case"Arch":{const s=this._cp2(i,0,-1),h=this._cp3(i,s,.5,1),e=this._sub(_,s),r=this._mix(h,1,e,.55),c=this._mix(h,1,e,-.55),o=[_];this._addBezier2(o,_,r,h,4),this._addBezier2(o,h,c,s,4),t.push(o);break}case"CurvedParallelTicks":{const s=this._cp2(i,-4,1),h=this._cp3(i,s,.882353,-1.94),e=this._sub(h,s);this._crossProduct(e,this._sub(_,s))>0?this._rightPerpendicular(e):this._leftPerpendicular(e);const r=[e[0]/8,e[1]/8],c=this._sub(this._mid(s,h),r),o=this._sub(this._mix(s,.75,h,.25),r),u=this._sub(this._mix(s,.25,h,.75),r),a=[s];this._addBezier2(a,s,o,c,3),this._addBezier2(a,c,u,h,3),t.push(a);for(let i=0;i<8;i++){const s=a[2*i+1],h=[this._clone(s)];h.push(this._add(s,[e[0]/4,e[1]/4])),t.push(h)}break}case"Arc90Degrees":{const s=this._cp2(i,0,-1),h=this._cp3(i,s,.5,1),e=[s];this._add90DegArc(e,s,_,h),t.push(e);break}case"TipWithPerpendicularAndTicks":{const[s,h]=this._arrowLastSeg(i),e=10*this._geomUnitsPerPoint,r=this._sub(_,s),c=this._norm(r);this._normalize(r);let o=this._crossProduct(r,this._sub(h,s)),u=this._dotProduct(r,this._sub(h,s));u<.05*c?u=.05*c:u>.95*c-e&&(u=.95*c-e);const a=this._leftPerp(r),n=[_[0]-r[0]*e,_[1]-r[1]*e],p=.5*Math.max(c-u-e,e);o=Math.abs(o);const d=[];d.push([n[0]+a[0]*(o+p)-r[0]*p,n[1]+a[1]*(o+p)-r[1]*p]),d.push([n[0]+a[0]*o,n[1]+a[1]*o]),d.push([n[0]-a[0]*o,n[1]-a[1]*o]),d.push([n[0]-a[0]*(o+p)-r[0]*p,n[1]-a[1]*(o+p)-r[1]*p]),t.push(d),t.push([n,_]);break}case"ConcentricCircles":{const s=this._cp2(i,1,0),e=this._cp3(i,s,2,0),c=Math.cos(Math.PI/18),o=Math.sin(Math.PI/18);let u=this._dist(s,_),a=[u,0],n=[];for(let t=0;t<=36;t++)n.push(this._add(_,a)),this._rotateDirect(a,c,o);if(t.push(n),h>=4){n=[];const s=i[3];u=this._dist(s,_),a=[u,0];for(let t=0;t<=36;t++)n.push(this._add(_,a)),0===t&&(n.push(this._add(_,a)),r(n[1],1)),this._rotateDirect(a,c,o);t.push(n)}n=[],u=this._dist(e,_),a=[u,0];for(let t=0;t<=36;t++)n.push(this._add(_,a)),this._rotateDirect(a,c,o);t.push(n);break}case"DoubleJogArrow":{_=this._arrowPath(i)[0];const[s,h]=this._arrowLastSeg(i),e=this._sub(_,s),r=this._norm(e);this._normalize(e);const c=Math.abs(this._crossProduct(e,this._sub(h,_)));let o=Math.abs(this._dotProduct(e,this._sub(h,_)));o<.05*r?o=.05*r:o>.95*r&&(o=.95*r);const u=Math.max(c,o),a=this._leftPerp(e);let n=[];const p=[_[0]-e[0]*o*.5+a[0]*c*.5,_[1]-e[1]*o*.5+a[1]*c*.5];n.push([p[0],p[1]]),p[0]+=e[0]*u*.5+a[0]*u*.4,p[1]+=e[1]*u*.5+a[1]*u*.4,n.push([p[0],p[1]]),p[0]-=a[0]*u*.25,p[1]-=a[1]*u*.25,n.push([p[0],p[1]]),p[0]+=e[0]*u*.5+a[0]*u*.4,p[1]+=e[1]*u*.5+a[1]*u*.4,n.push([p[0],p[1]]),t.push(n),n=[],p[0]=_[0]-e[0]*o*.5-a[0]*c*.5,p[1]=_[1]-e[1]*o*.5-a[1]*c*.5,n.push([p[0],p[1]]),p[0]+=e[0]*u*.5-a[0]*u*.4,p[1]+=e[1]*u*.5-a[1]*u*.4,n.push([p[0],p[1]]),p[0]+=a[0]*u*.25,p[1]+=a[1]*u*.25,n.push([p[0],p[1]]),p[0]+=e[0]*u*.5-a[0]*u*.4,p[1]+=e[1]*u*.5-a[1]*u*.4,n.push([p[0],p[1]]),t.push(n);break}case"LinkedChevrons":{const s=this._cp2(i,-5,0),h=this._cp3(i,s,-.2,1),e=this._sub(_,s);this._normalize(e);const r=this._leftPerp(e),c=Math.abs(this._crossProduct(e,this._sub(h,s)));t.push([s,_]);const o=[];o.push([_[0]-e[0]*c+r[0]*c,_[1]-e[1]*c+r[1]*c]),o.push(_),o.push([_[0]-e[0]*c-r[0]*c,_[1]-e[1]*c-r[1]*c]),t.push(o),this._addDash(t,s,[-e[0]*c+r[0]*c,-e[1]*c+r[1]*c]),this._addDash(t,s,[-e[0]*c-r[0]*c,-e[1]*c-r[1]*c]);break}case"SegmentThenHalfCircle":{const s=this._cp2(i,2,0),e=this._cp3(i,s,1.5,0);let r;r=h>=4?i[3]:this._cp3(i,s,1.25,-.5);const c=this._sub(s,_);this._normalize(c);const o=.5*this._dist(s,e),u=this._crossProduct(c,this._sub(r,_))>0,a=Math.cos(Math.PI/18);let n=Math.sin(Math.PI/18);u&&(n=-n);const p=[_,s];c[0]*=o,c[1]*=o;const d=this._add(s,c);c[0]=-c[0],c[1]=-c[1];for(let t=1;t<=18;t++)this._rotateDirect(c,a,n),p.push(this._add(d,c));t.push(p);break}case"LineWithStraightTicks":{const s=this._cp2(i,-2,1),h=this._cp3(i,s,-1,-.5),e=this._sub(h,s);this._normalize(e);const r=this._dotProduct(e,this._sub(s,_)),c=this._dotProduct(e,this._sub(h,_));let o=[_];o.push([_[0]+e[0]*r,_[1]+e[1]*r]),o.push(s),t.push(o),o=[_],o.push([_[0]+e[0]*c,_[1]+e[1]*c]),o.push(h),t.push(o);break}case"DoubleCurve":{const s=this._cp2(i,-5,-1),h=this._cp3(i,s,2,0),e=Math.atan2(1,5),c=Math.cos(e),o=Math.sin(e),u=this._sub(s,_),a=this._dist(_,s);this._normalize(u),this._rotateDirect(u,c,-o);const n=[_];n.push([_[0]+u[0]*a*.5,_[1]+u[1]*a*.5]),r(n[1],1),n.push([_[0]+u[0]*a*.8,_[1]+u[1]*a*.8]),this._addBezier2(n,n[2],[_[0]+u[0]*a,_[1]+u[1]*a],s,3);const p=this._sub(h,s),d=this._dist(s,h);this._normalize(p),this._rotateDirect(p,c,-o),this._addBezier2(n,s,[h[0]-p[0]*d,h[1]-p[1]*d],[h[0]-p[0]*d*.8,h[1]-p[1]*d*.8],3),n.push(h),t.push(n);break}case"ParallelWithTicksByWidth":{const s=this._cp2(i,0,-1),h=this._cp3(i,s,.5,3),e=this._sub(s,_);this._normalize(e);const r=this._crossProduct(e,this._sub(h,_));this._leftPerpendicular(e),r>0?(this._addAngledTicks(t,_,[_[0]+e[0]*r,_[1]+e[1]*r],s),this._addAngledTicks(t,s,[s[0]+e[0]*r,s[1]+e[1]*r],_)):(this._addAngledTicks(t,[_[0]+e[0]*r,_[1]+e[1]*r],_,s),this._addAngledTicks(t,[s[0]+e[0]*r,s[1]+e[1]*r],_,s));break}case"EnclosingRoundedRectangle":{const s=this._cp2(i,3,-2),t=[Math.min(_[0],s[0]),Math.max(_[1],s[1])],h=[Math.max(_[0],s[0]),Math.min(_[1],s[1])],e=h[0]-t[0],r=t[1]-h[1],c=Math.min(e,r)/10,o=[];o.push([t[0]+c+.75*(e-2*c),t[1]]),o.push([h[0]-c,t[1]]),this._add90DegArc(o,[h[0]-c,t[1]],[h[0],t[1]-c],[h[0],t[1]]),o.push([h[0],h[1]+c]),this._add90DegArc(o,[h[0],h[1]+c],[h[0]-c,h[1]],h),o.push([t[0]+c,h[1]]),this._add90DegArc(o,[t[0]+c,h[1]],[t[0],h[1]+c],[t[0],h[1]]),o.push([t[0],t[1]-c]),this._add90DegArc(o,[t[0],t[1]-c],[t[0]+c,t[1]],t),o.push([t[0]+c+.75*(e-2*c),t[1]]);break}case"ParallelOffsetByValue":{if(i.length<2||0===this._width)break;const s=this._offsetPath(i,.5*this._width);s&&t.push(s);const h=this._offsetPath(i,.5*-this._width);h&&t.push(h);break}default:t.push(i)}}return t}}function u(s){return"ParallelOffsetByValue"===s}export{c as EffectControlMeasureLine};
@@ -21,8 +21,6 @@ export interface Symbol3DEmissiveProperties extends Partial<Pick<Symbol3DEmissiv
21
21
  * >
22
22
  * > **Known Limitations**
23
23
  * >
24
- * > [Symbol3DEmissive](https://developers.arcgis.com/javascript/latest/references/core/symbols/support/Symbol3DEmissive/) and [Glow](https://developers.arcgis.com/javascript/latest/references/core/webscene/Glow/) require support for the WebGL2 extension
25
- * > `EXT_float_blend`, not available on iOS.
26
24
  * > [Symbol3DEmissive](https://developers.arcgis.com/javascript/latest/references/core/symbols/support/Symbol3DEmissive/) is supported on [ObjectSymbol3DLayer](https://developers.arcgis.com/javascript/latest/references/core/symbols/ObjectSymbol3DLayer/),
27
25
  * > [ExtrudeSymbol3DLayer](https://developers.arcgis.com/javascript/latest/references/core/symbols/ExtrudeSymbol3DLayer/), [PathSymbol3DLayer](https://developers.arcgis.com/javascript/latest/references/core/symbols/PathSymbol3DLayer/), or [FillSymbol3DLayer](https://developers.arcgis.com/javascript/latest/references/core/symbols/FillSymbol3DLayer/) on
28
26
  * > [MeshSymbol3D](https://developers.arcgis.com/javascript/latest/references/core/symbols/MeshSymbol3D/).
@@ -88,6 +86,14 @@ export class Symbol3DEmissive extends Symbol3DEmissiveSuperclass {
88
86
  * is emitted and 1 represents the full emission color. Values greater than 1 increase the amount of emitted light and
89
87
  * may lead to overexposure, causing colors to shift toward white.
90
88
  *
89
+ * > [!WARNING]
90
+ * >
91
+ * > **Known Limitations**
92
+ * > The displayed emissive strength is clamped to `16`. Values above this maximum do not increase the amount of light emitted.
93
+ * > If the source model defines emissive strength greater than 1 by using the glTF
94
+ * > `KHR_materials_emissive_strength` extension, the API `strength` value is multiplied with that source contribution and can reach
95
+ * > the maximum value sooner.
96
+ *
91
97
  * Increasing [strength](https://developers.arcgis.com/javascript/latest/references/core/symbols/support/Symbol3DEmissive/#strength) makes emissive elements appear more prominent and can
92
98
  * amplify their visual impact when the optional [Glow](https://developers.arcgis.com/javascript/latest/references/core/webscene/Glow/) effect is enabled.
93
99
  *
@@ -11,7 +11,7 @@ import type { SymbolUnion } from "../types.js";
11
11
  * Creates a new instance of an appropriate [Symbol](https://developers.arcgis.com/javascript/latest/references/core/symbols/Symbol/) class and initializes it with values from a JSON object
12
12
  * generated from an ArcGIS product. The object passed into the input `json`
13
13
  * parameter often comes from a response to a query operation in the REST API or a
14
- * [toJSON()](https://pro.arcgis.com/en/pro-app/latest/tool-reference/conversion/features-to-json.htm)
14
+ * [toJSON()](https://doc.esri.com/en/arcgis-pro/latest/tool-reference/conversion/features-to-json.html?tabs=dialog)
15
15
  * method from another ArcGIS product. See the [Using fromJSON()](https://developers.arcgis.com/javascript/latest/using-fromjson)
16
16
  * topic in the Guide for details and examples of when and how to use this function.
17
17
  *
@@ -15,10 +15,10 @@ export interface TimeExtentProperties {
15
15
  * [query](https://developers.arcgis.com/javascript/latest/references/core/views/layers/FeatureLayerView/#queryFeatures) features that fall within the specified time period.
16
16
  * To represent an instant of time, set the [start](https://developers.arcgis.com/javascript/latest/references/core/time/TimeExtent/#start) and [end](https://developers.arcgis.com/javascript/latest/references/core/time/TimeExtent/#end) times to the same date.
17
17
  *
18
- * When creating a [JavaScript Date](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date),
18
+ * When creating a [JavaScript Date](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Date),
19
19
  * be mindful that most constructors will create a date with respect to your local timezone rather than
20
20
  * [UTC](https://en.wikipedia.org/wiki/Coordinated_Universal_Time) (i.e. universal time). To create a date with
21
- * respect to UTC, use the [UTC method](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/UTC)
21
+ * respect to UTC, use the [UTC method](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Date/UTC)
22
22
  * on the Date object.
23
23
  *
24
24
  * @since 4.31
@@ -84,8 +84,8 @@ export default class VersionManagementService extends VersionManagementServiceSu
84
84
  * >
85
85
  * > **License**
86
86
  * >
87
- * > This method requires the feature service and version management service to be published with [ArcGIS Enterprise](https://enterprise.arcgis.com/en/get-started/latest/windows/what-is-arcgis-enterprise-.htm) version 11.2 or higher.
88
- * > Organization members must be assigned a license for the [ArcGIS Advanced Editing user type extension](https://enterprise.arcgis.com/en/portal/latest/administer/windows/license-user-type-extensions.htm#ESRI_SECTION1_B75DA80066744473AD5DD1312734654A) to use this method.
87
+ * > This method requires the feature service and version management service to be published with [ArcGIS Enterprise](https://doc.esri.com/en/arcgis-enterprise/latest/introduction/what-is-arcgis-enterprise-.html) version 11.2 or higher.
88
+ * > Organization members must be assigned a license for the [ArcGIS Advanced Editing user type extension](https://doc.esri.com/en/arcgis-enterprise/latest/plan/license-user-type-extensions.html#ESRI_SECTION1_B75DA80066744473AD5DD1312734654A) to use this method.
89
89
  *
90
90
  * @param versionIdentifier - Identifier for a version.
91
91
  * @param props - Contains properties that will be altered.
@@ -218,8 +218,8 @@ export default class VersionManagementService extends VersionManagementServiceSu
218
218
  * >
219
219
  * > **License**
220
220
  * >
221
- * > This method requires the feature service and version management service to be published with [ArcGIS Enterprise](https://enterprise.arcgis.com/en/get-started/latest/windows/what-is-arcgis-enterprise-.htm) version 11.2 or higher.
222
- * > Organization members must be assigned a license for the [ArcGIS Advanced Editing user type extension](https://enterprise.arcgis.com/en/portal/latest/administer/windows/license-user-type-extensions.htm#ESRI_SECTION1_B75DA80066744473AD5DD1312734654A) to use this method.
221
+ * > This method requires the feature service and version management service to be published with [ArcGIS Enterprise](https://doc.esri.com/en/arcgis-enterprise/latest/introduction/what-is-arcgis-enterprise-.html) version 11.2 or higher.
222
+ * > Organization members must be assigned a license for the [ArcGIS Advanced Editing user type extension](https://doc.esri.com/en/arcgis-enterprise/latest/plan/license-user-type-extensions.html#ESRI_SECTION1_B75DA80066744473AD5DD1312734654A) to use this method.
223
223
  *
224
224
  * @param versionIdentifier - Identifier for a version.
225
225
  * @returns Specifies if the selected version was deleted.
@@ -304,8 +304,8 @@ export default class VersionManagementService extends VersionManagementServiceSu
304
304
  * >
305
305
  * > **License**
306
306
  * >
307
- * > This method requires the feature service and version management service to be published with [ArcGIS Enterprise](https://enterprise.arcgis.com/en/get-started/latest/windows/what-is-arcgis-enterprise-.htm) version 11.2 or higher.
308
- * > Organization members must be assigned a license for the [ArcGIS Advanced Editing user type extension](https://enterprise.arcgis.com/en/portal/latest/administer/windows/license-user-type-extensions.htm#ESRI_SECTION1_B75DA80066744473AD5DD1312734654A) to use this method.
307
+ * > This method requires the feature service and version management service to be published with [ArcGIS Enterprise](https://doc.esri.com/en/arcgis-enterprise/latest/introduction/what-is-arcgis-enterprise-.html) version 11.2 or higher.
308
+ * > Organization members must be assigned a license for the [ArcGIS Advanced Editing user type extension](https://doc.esri.com/en/arcgis-enterprise/latest/plan/license-user-type-extensions.html#ESRI_SECTION1_B75DA80066744473AD5DD1312734654A) to use this method.
309
309
  *
310
310
  * @param versionIdentifier - Identifier for a version.
311
311
  * @returns Returns the result of the post.
@@ -330,8 +330,8 @@ export default class VersionManagementService extends VersionManagementServiceSu
330
330
  * >
331
331
  * > **License**
332
332
  * >
333
- * > This method requires the feature service and version management service to be published with [ArcGIS Enterprise](https://enterprise.arcgis.com/en/get-started/latest/windows/what-is-arcgis-enterprise-.htm) version 11.2 or higher.
334
- * > Organization members must be assigned a license for the [ArcGIS Advanced Editing user type extension](https://enterprise.arcgis.com/en/portal/latest/administer/windows/license-user-type-extensions.htm#ESRI_SECTION1_B75DA80066744473AD5DD1312734654A) to use this method.
333
+ * > This method requires the feature service and version management service to be published with [ArcGIS Enterprise](https://doc.esri.com/en/arcgis-enterprise/latest/introduction/what-is-arcgis-enterprise-.html) version 11.2 or higher.
334
+ * > Organization members must be assigned a license for the [ArcGIS Advanced Editing user type extension](https://doc.esri.com/en/arcgis-enterprise/latest/plan/license-user-type-extensions.html#ESRI_SECTION1_B75DA80066744473AD5DD1312734654A) to use this method.
335
335
  *
336
336
  * > **Changes to Reconcile**
337
337
  * >
@@ -99,7 +99,7 @@ export type VersionManagerExecutionError = "no-feature-service-found" | "no-vali
99
99
  export type VersionManagerLoadError = "no-feature-services" | "no-layers-property" | undefined;
100
100
 
101
101
  /** @since 5.0 */
102
- export type VersionManagerState = "loading" | "ready" | "executing" | "success" | "failed" | "disabled";
102
+ export type VersionManagerState = "loading" | "ready" | "executing" | "failed" | "disabled";
103
103
 
104
104
  /**
105
105
  * This class allows you to manage versions from a variety of [feature services](https://developers.arcgis.com/javascript/latest/references/core/rest/featureService/FeatureService/).
@@ -126,6 +126,8 @@ export type VersionManagerState = "loading" | "ready" | "executing" | "success"
126
126
  * webMap.layers.add(featureLayer);
127
127
  *
128
128
  * const versionManager = new VersionManager({ view });
129
+ *
130
+ * // Wait for the version manager instance to be ready before performing operations.
129
131
  * await whenOnce(() => versionManager.state === "ready");
130
132
  */
131
133
  export default class VersionManager extends Accessor {
@@ -164,6 +166,14 @@ export default class VersionManager extends Accessor {
164
166
  /**
165
167
  * The current state of this object.
166
168
  *
169
+ * | Value | Description |
170
+ * | ----- |------------ |
171
+ * | disabled | An error occured during initialization. |
172
+ * | executing | An operation is being performed. |
173
+ * | failed | An error occurred during execution. |
174
+ * | loading | The object is loading. |
175
+ * | ready | Object loaded successfully or operation completed successfully. All items in [versioningStates](https://developers.arcgis.com/javascript/latest/references/core/versionManagement/VersionManager/#versioningStates) are loaded. |
176
+ *
167
177
  * @since 5.0
168
178
  */
169
179
  get state(): VersionManagerState;
@@ -200,7 +210,7 @@ export default class VersionManager extends Accessor {
200
210
  * >
201
211
  * > **License**
202
212
  * >
203
- * > This method requires the feature service and version management service to be published with [ArcGIS Enterprise](https://enterprise.arcgis.com/en/get-started/latest/windows/what-is-arcgis-enterprise-.htm) version 11.2 or higher.
213
+ * > This method requires the feature service and version management service to be published with [ArcGIS Enterprise](https://doc.esri.com/en/arcgis-enterprise/latest/introduction/what-is-arcgis-enterprise-.html) version 11.2 or higher.
204
214
  *
205
215
  * @param parameters - Parameters used to alter a version.
206
216
  * @returns When resolved, returns `true` if the alter operation completes successfully.
@@ -254,7 +264,7 @@ export default class VersionManager extends Accessor {
254
264
  * >
255
265
  * > **License**
256
266
  * >
257
- * > This method requires the feature service and version management service to be published with [ArcGIS Enterprise](https://enterprise.arcgis.com/en/get-started/latest/windows/what-is-arcgis-enterprise-.htm) version 11.2 or higher.
267
+ * > This method requires the feature service and version management service to be published with [ArcGIS Enterprise](https://doc.esri.com/en/arcgis-enterprise/latest/introduction/what-is-arcgis-enterprise-.html) version 11.2 or higher.
258
268
  *
259
269
  * @param featureServerUrl - The url of a feature service.
260
270
  * @param versionName - The name of the version that is to be deleted.