@arcgis/core 5.0.0-next.55 → 5.0.0-next.56

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 (392) hide show
  1. package/Color.d.ts +12 -4
  2. package/Ground.js +1 -1
  3. package/applications/Components/SelectionOperation.d.ts +5 -0
  4. package/applications/Components/SketchTooltipControls.d.ts +5 -0
  5. package/applications/Components/actionUtils.d.ts +5 -0
  6. package/applications/Components/analysisUtils.d.ts +5 -0
  7. package/applications/Components/arcadeEditorUtils.d.ts +5 -0
  8. package/applications/Components/arcadeFeatureUtils.d.ts +5 -0
  9. package/applications/Components/basemapUtils.d.ts +5 -0
  10. package/applications/Components/drawUtils.d.ts +5 -0
  11. package/applications/Components/featureUtils.d.ts +5 -0
  12. package/applications/Components/fontUtils.d.ts +5 -0
  13. package/applications/Components/formatUtils.d.ts +5 -0
  14. package/applications/Components/getDefaultUnits.d.ts +5 -0
  15. package/applications/Components/gfxUtils.d.ts +5 -0
  16. package/applications/Components/imageryUtils.d.ts +5 -0
  17. package/applications/Components/layerOriginUtils.d.ts +5 -0
  18. package/applications/Components/layersEffectsJsonUtils.d.ts +5 -0
  19. package/applications/Components/previewSymbol2D.d.ts +5 -0
  20. package/applications/Components/reactiveUtils.d.ts +6 -0
  21. package/applications/Components/sanitizerUtils.d.ts +5 -0
  22. package/applications/Components/stringUtils.d.ts +6 -2
  23. package/applications/Components/styleUtils.d.ts +5 -0
  24. package/applications/Components/svgUtils.d.ts +5 -0
  25. package/applications/Components/testUtils.d.ts +5 -0
  26. package/applications/Components/viewUtils.d.ts +5 -0
  27. package/applications/Components/webStyleSymbolUtils.d.ts +5 -0
  28. package/applications/Excalibur/videoViewUtils.d.ts +5 -0
  29. package/applications/ExperienceBuilder/sketchUtils.d.ts +5 -0
  30. package/applications/KnowledgeStudio/generalSdkInternalAccess.d.ts +10 -0
  31. package/applications/KnowledgeStudio/generalSharedKgUtils.d.ts +10 -0
  32. package/applications/KnowledgeStudio/layerInternalAccessUtils.d.ts +11 -1
  33. package/applications/KnowledgeStudio/reshape.d.ts +5 -0
  34. package/applications/KnowledgeStudio/resourceSerializationUtils.d.ts +5 -0
  35. package/applications/MapViewer/layerUtils.d.ts +5 -0
  36. package/applications/MapViewer/mediaUtils.d.ts +5 -0
  37. package/applications/MapViewer/templateUtils.d.ts +5 -0
  38. package/applications/PortalApp/layerUtils.d.ts +5 -0
  39. package/applications/SceneViewer/colorUtils.d.ts +5 -0
  40. package/applications/SceneViewer/devEnvironmentUtils.d.ts +5 -0
  41. package/applications/SceneViewer/layerUtils.d.ts +5 -0
  42. package/applications/SceneViewer/sceneViewerUtils.d.ts +5 -0
  43. package/applications/SceneViewer/symbolUtils.d.ts +5 -0
  44. package/applications/Urban/meshUtils.d.ts +5 -0
  45. package/applications/WebEditor/sketchUtils.d.ts +5 -0
  46. package/arcade.d.ts +22 -0
  47. package/assets/esri/core/workers/RemoteClient.js +1 -1
  48. package/assets/esri/core/workers/chunks/5340887a4a48bde3407a.js +1 -0
  49. package/assets/esri/core/workers/chunks/82ced9254b27707522ef.js +1 -0
  50. package/assets/esri/core/workers/chunks/8628bf45a33af786cd49.js +1 -0
  51. package/assets/esri/core/workers/chunks/{d63cf90d1356d1f10138.js → 8f4c480c418eba299c2b.js} +1 -1
  52. package/assets/esri/core/workers/chunks/{fa92a7c11befbad8739f.js → b4f944ef6c174b20b619.js} +1 -1
  53. package/assets/esri/core/workers/chunks/c531c0e3d420a1be0ad2.js +316 -0
  54. package/assets/esri/core/workers/chunks/{14765f98b8ea447498a1.js → da2c41ac0f82f32013c1.js} +4 -4
  55. package/assets/esri/libs/lyr3d/lyr3DMain.wasm +0 -0
  56. package/assets/esri/libs/lyr3d/lyr3DWorker.wasm +0 -0
  57. package/chunks/ChapmanAtmosphere.glsl.js +5 -7
  58. package/chunks/HUDMaterial.glsl.js +1 -1
  59. package/chunks/LineCallout.glsl.js +2 -2
  60. package/chunks/Precipitation.glsl.js +1 -1
  61. package/chunks/Terrain.glsl.js +1 -1
  62. package/chunks/lyr3DMain.js +1 -1
  63. package/chunks/vec32.js +1 -1
  64. package/config.d.ts +19 -1
  65. package/config.js +1 -1
  66. package/core/Error.d.ts +3 -4
  67. package/core/Error.js +1 -1
  68. package/core/Warning.js +1 -1
  69. package/core/accessorSupport/decorators.d.ts +11 -0
  70. package/core/accessorSupport/types.d.ts +2 -0
  71. package/core/has.js +1 -1
  72. package/core/lang.d.ts +6 -0
  73. package/core/libs/gl-matrix-2/math/vec3.js +1 -1
  74. package/core/libs/gl-matrix-2/vec3.js +1 -1
  75. package/core/promiseUtils.d.ts +5 -0
  76. package/core/quantity.d.ts +5 -0
  77. package/core/reactiveUtils.d.ts +142 -0
  78. package/core/scheduling.d.ts +26 -5
  79. package/core/scheduling.js +1 -1
  80. package/core/sql/WhereClause.d.ts +2 -13
  81. package/core/sql/{WhereGrammar.d.ts → types.d.ts} +22 -1
  82. package/core/sql.d.ts +8 -0
  83. package/core/string.js +1 -1
  84. package/core/types.d.ts +30 -1
  85. package/core/units.d.ts +8 -0
  86. package/core/urlUtils.d.ts +7 -0
  87. package/core/workers/loaderConfig.js +1 -1
  88. package/core/workers/workerFactory.js +1 -1
  89. package/core/workers.d.ts +26 -0
  90. package/form/elements/inputs.d.ts +55 -0
  91. package/form/elements.d.ts +43 -0
  92. package/geometry/coordinateFormatter.d.ts +33 -0
  93. package/geometry/geometryEngine.d.ts +16 -0
  94. package/geometry/operators/affineTransformOperator.d.ts +5 -0
  95. package/geometry/operators/alphaShapeOperator.d.ts +9 -0
  96. package/geometry/operators/areaOperator.d.ts +7 -0
  97. package/geometry/operators/autoCompleteOperator.d.ts +5 -0
  98. package/geometry/operators/boundaryOperator.d.ts +5 -0
  99. package/geometry/operators/bufferOperator.d.ts +11 -0
  100. package/geometry/operators/centroidOperator.d.ts +14 -0
  101. package/geometry/operators/clipOperator.d.ts +7 -0
  102. package/geometry/operators/containsOperator.d.ts +9 -0
  103. package/geometry/operators/convexHullOperator.d.ts +9 -0
  104. package/geometry/operators/crossesOperator.d.ts +7 -0
  105. package/geometry/operators/cutOperator.d.ts +18 -0
  106. package/geometry/operators/densifyOperator.d.ts +21 -0
  107. package/geometry/operators/differenceOperator.d.ts +7 -0
  108. package/geometry/operators/disjointOperator.d.ts +8 -0
  109. package/geometry/operators/distanceOperator.d.ts +8 -0
  110. package/geometry/operators/equalsOperator.d.ts +5 -0
  111. package/geometry/operators/extendOperator.d.ts +8 -0
  112. package/geometry/operators/generalizeOperator.d.ts +7 -0
  113. package/geometry/operators/geodesicBufferOperator.d.ts +13 -0
  114. package/geometry/operators/geodesicProximityOperator.d.ts +13 -0
  115. package/geometry/operators/geodeticAreaOperator.d.ts +11 -0
  116. package/geometry/operators/geodeticDensifyOperator.d.ts +12 -0
  117. package/geometry/operators/geodeticDistanceOperator.d.ts +14 -0
  118. package/geometry/operators/geodeticLengthOperator.d.ts +11 -0
  119. package/geometry/operators/geodeticUtilsOperator.d.ts +11 -0
  120. package/geometry/operators/graphicBufferOperator.d.ts +7 -0
  121. package/geometry/operators/integrateOperator.d.ts +9 -0
  122. package/geometry/operators/intersectionOperator.d.ts +7 -0
  123. package/geometry/operators/intersectsOperator.d.ts +9 -0
  124. package/geometry/operators/isNearOperator.d.ts +7 -0
  125. package/geometry/operators/labelPointOperator.d.ts +14 -0
  126. package/geometry/operators/lengthOperator.d.ts +7 -0
  127. package/geometry/operators/linesToPolygonsOperator.d.ts +5 -0
  128. package/geometry/operators/locateBetweenOperator.d.ts +10 -0
  129. package/geometry/operators/minimumBoundingCircleOperator.d.ts +13 -0
  130. package/geometry/operators/multiPartToSinglePartOperator.d.ts +7 -0
  131. package/geometry/operators/offsetOperator.d.ts +44 -0
  132. package/geometry/operators/overlapsOperator.d.ts +7 -0
  133. package/geometry/operators/polygonOverlayOperator.d.ts +6 -0
  134. package/geometry/operators/polygonSlicerOperator.d.ts +5 -0
  135. package/geometry/operators/projectOperator.d.ts +41 -0
  136. package/geometry/operators/proximityOperator.d.ts +8 -0
  137. package/geometry/operators/relateOperator.d.ts +7 -0
  138. package/geometry/operators/reshapeOperator.d.ts +5 -0
  139. package/geometry/operators/shapePreservingProjectOperator.d.ts +27 -0
  140. package/geometry/operators/simplifyOGCOperator.d.ts +8 -0
  141. package/geometry/operators/simplifyOperator.d.ts +9 -0
  142. package/geometry/operators/support/geographicTransformationUtils.d.ts +11 -0
  143. package/geometry/operators/symmetricDifferenceOperator.d.ts +12 -0
  144. package/geometry/operators/touchesOperator.d.ts +7 -0
  145. package/geometry/operators/unionOperator.d.ts +7 -0
  146. package/geometry/operators/withinOperator.d.ts +9 -0
  147. package/geometry/support/geodesicUtils.d.ts +8 -0
  148. package/geometry/support/jsonUtils.d.ts +7 -0
  149. package/geometry/support/meshUtils.d.ts +5 -0
  150. package/geometry/support/normalizeUtils.d.ts +7 -0
  151. package/geometry/support/webMercatorUtils.d.ts +12 -0
  152. package/geometry.d.ts +38 -0
  153. package/interfaces.d.ts +31 -32
  154. package/intl.d.ts +111 -0
  155. package/kernel.d.ts +5 -0
  156. package/kernel.js +1 -1
  157. package/layers/BaseDynamicLayer.d.ts +1 -1
  158. package/layers/CSVLayer.d.ts +2 -2
  159. package/layers/CatalogLayer.d.ts +2 -2
  160. package/layers/FeatureLayer.d.ts +2 -1
  161. package/layers/GeoJSONLayer.d.ts +2 -1
  162. package/layers/ILyr3DWasmPerSceneView.js +1 -1
  163. package/layers/Layer.d.ts +1 -1
  164. package/layers/Lyr3DWasmPerSceneView.js +1 -1
  165. package/layers/OGCFeatureLayer.d.ts +1 -1
  166. package/layers/ParquetLayer.d.ts +1 -1
  167. package/layers/RouteLayer.js +1 -1
  168. package/layers/SceneLayer.d.ts +2 -1
  169. package/layers/StreamLayer.d.ts +6 -5
  170. package/layers/SubtypeGroupLayer.d.ts +3 -4
  171. package/layers/VectorTileLayer.d.ts +1 -1
  172. package/layers/WFSLayer.d.ts +2 -1
  173. package/layers/WMSLayer.d.ts +2 -2
  174. package/layers/catalog/catalogUtils.d.ts +6 -0
  175. package/layers/ogc/wcsUtils.d.ts +6 -0
  176. package/layers/ogc/wfsUtils.d.ts +6 -0
  177. package/layers/orientedImagery/transformations/imageToWorld.d.ts +10 -0
  178. package/layers/orientedImagery/transformations/rectifyMapPoint.js +1 -1
  179. package/layers/orientedImagery/transformations/worldToImage.d.ts +10 -0
  180. package/layers/orientedImagery/types.d.ts +1 -1
  181. package/layers/support/arcadeUtils.d.ts +5 -0
  182. package/layers/support/csvUtils.d.ts +6 -0
  183. package/layers/support/fieldUtils.d.ts +9 -0
  184. package/layers/support/parquetUtils.d.ts +6 -0
  185. package/layers/support/rasterFunctionConstants.d.ts +9 -0
  186. package/layers/support/rasterFunctionUtils.d.ts +7 -0
  187. package/package.json +1 -1
  188. package/pointCloudRenderers.d.ts +44 -0
  189. package/popup/content.d.ts +48 -0
  190. package/rasterRenderers.d.ts +46 -0
  191. package/renderers/support/AuthoringInfo.d.ts +1 -1
  192. package/renderers/support/jsonUtils.d.ts +7 -0
  193. package/renderers/support/utils.d.ts +5 -0
  194. package/renderers/visualVariables/SizeVariable.d.ts +0 -3
  195. package/renderers/visualVariables/VisualVariable.d.ts +1 -1
  196. package/renderers/visualVariables/support/VisualVariableLegendOptions.d.ts +1 -1
  197. package/renderers.d.ts +46 -0
  198. package/request.d.ts +17 -0
  199. package/rest/closestFacility.d.ts +21 -0
  200. package/rest/featureService/utils.d.ts +5 -0
  201. package/rest/find.d.ts +21 -0
  202. package/rest/geometryService.d.ts +14 -0
  203. package/rest/geoprocessor.d.ts +16 -0
  204. package/rest/identify.d.ts +19 -0
  205. package/rest/imageService.d.ts +10 -0
  206. package/rest/knowledgeGraphService.d.ts +39 -0
  207. package/rest/lastMileDelivery.d.ts +12 -0
  208. package/rest/locator.d.ts +24 -0
  209. package/rest/networkService.d.ts +5 -0
  210. package/rest/networks/queryAssociations.d.ts +7 -0
  211. package/rest/networks/support/NetworkElement.d.ts +1 -1
  212. package/rest/networks/synthesizeAssociationGeometries.d.ts +7 -0
  213. package/rest/networks/trace.d.ts +6 -0
  214. package/rest/places.d.ts +34 -0
  215. package/rest/print.d.ts +74 -0
  216. package/rest/query.d.ts +33 -0
  217. package/rest/route.d.ts +18 -0
  218. package/rest/serviceArea.d.ts +18 -0
  219. package/rest/support/AreasAndLengthsParameters.d.ts +2 -2
  220. package/rest/support/AttachmentQuery.d.ts +0 -1
  221. package/rest/support/AttributeBinsQuery.d.ts +3 -3
  222. package/rest/support/AutoIntervalBinParameters.d.ts +4 -4
  223. package/rest/support/DateBinParameters.d.ts +2 -2
  224. package/rest/support/DateBinTimeInterval.d.ts +1 -1
  225. package/rest/support/DensifyParameters.d.ts +1 -1
  226. package/rest/support/DirectionsFeature.d.ts +1 -1
  227. package/rest/support/GPMessage.d.ts +1 -1
  228. package/rest/support/LastMileDeliveryParameters.d.ts +1 -1
  229. package/rest/support/QuantizationParameters.d.ts +3 -3
  230. package/rest/support/Query.d.ts +0 -1
  231. package/rest/support/QueryMixin.d.ts +1 -1
  232. package/rest/support/RelationshipQuery.d.ts +0 -1
  233. package/rest/support/interfaces.d.ts +1 -2
  234. package/rest/symbolService.d.ts +9 -0
  235. package/smartMapping/heuristics/binLevel.d.ts +12 -0
  236. package/smartMapping/heuristics/scaleRange.d.ts +15 -0
  237. package/smartMapping/heuristics/sizeRange.d.ts +12 -0
  238. package/smartMapping/labels/bins.d.ts +13 -0
  239. package/smartMapping/labels/clusters.d.ts +16 -0
  240. package/smartMapping/popup/clusters.d.ts +21 -0
  241. package/smartMapping/popup/templates.d.ts +18 -0
  242. package/smartMapping/raster/renderers/classBreaks.d.ts +7 -0
  243. package/smartMapping/raster/renderers/colormap.d.ts +7 -0
  244. package/smartMapping/raster/renderers/flow.d.ts +19 -0
  245. package/smartMapping/raster/renderers/rgb.d.ts +7 -0
  246. package/smartMapping/raster/renderers/shadedRelief.d.ts +7 -0
  247. package/smartMapping/raster/renderers/stretch.d.ts +7 -0
  248. package/smartMapping/raster/renderers/uniqueValue.d.ts +7 -0
  249. package/smartMapping/raster/renderers/vectorField.d.ts +20 -0
  250. package/smartMapping/raster/support/colorRamps.d.ts +7 -0
  251. package/smartMapping/raster/support/utils.d.ts +5 -0
  252. package/smartMapping/renderers/color.d.ts +17 -0
  253. package/smartMapping/renderers/dotDensity.d.ts +21 -0
  254. package/smartMapping/renderers/heatmap.d.ts +17 -0
  255. package/smartMapping/renderers/location.d.ts +10 -0
  256. package/smartMapping/renderers/opacity.d.ts +19 -0
  257. package/smartMapping/renderers/pieChart.d.ts +19 -0
  258. package/smartMapping/renderers/predominance.d.ts +27 -0
  259. package/smartMapping/renderers/relationship.d.ts +48 -0
  260. package/smartMapping/renderers/size.d.ts +18 -0
  261. package/smartMapping/renderers/support/rendererUtils.d.ts +8 -0
  262. package/smartMapping/renderers/support/spikeUtils.d.ts +6 -0
  263. package/smartMapping/renderers/type.d.ts +18 -0
  264. package/smartMapping/renderers/univariateColorSize.d.ts +29 -0
  265. package/smartMapping/statistics/classBreaks.d.ts +14 -0
  266. package/smartMapping/statistics/heatmapStatistics.d.ts +15 -0
  267. package/smartMapping/statistics/histogram.d.ts +17 -0
  268. package/smartMapping/statistics/predominantCategories.d.ts +6 -0
  269. package/smartMapping/statistics/summaryStatistics.d.ts +15 -0
  270. package/smartMapping/statistics/summaryStatisticsForAge.d.ts +8 -1
  271. package/smartMapping/statistics/support/ageUtils.d.ts +8 -0
  272. package/smartMapping/statistics/support/predominanceUtils.d.ts +8 -1
  273. package/smartMapping/statistics/types.d.ts +6 -1
  274. package/smartMapping/statistics/uniqueValues.d.ts +13 -0
  275. package/smartMapping/symbology/color.d.ts +8 -0
  276. package/smartMapping/symbology/dotDensity.d.ts +7 -0
  277. package/smartMapping/symbology/flow.d.ts +8 -0
  278. package/smartMapping/symbology/heatmap.d.ts +8 -0
  279. package/smartMapping/symbology/location.d.ts +8 -0
  280. package/smartMapping/symbology/pieChart.d.ts +7 -0
  281. package/smartMapping/symbology/predominance.d.ts +7 -0
  282. package/smartMapping/symbology/relationship.d.ts +7 -0
  283. package/smartMapping/symbology/size.d.ts +7 -0
  284. package/smartMapping/symbology/support/colorRamps.d.ts +7 -0
  285. package/smartMapping/symbology/type.d.ts +8 -0
  286. package/support/popupUtils.d.ts +5 -0
  287. package/support/revision.js +1 -1
  288. package/support/timeUtils.d.ts +9 -0
  289. package/symbols/CIMSymbol.d.ts +1 -1
  290. package/symbols/ExtrudeSymbol3DLayer.d.ts +2 -2
  291. package/symbols/FillSymbol3DLayer.d.ts +1 -1
  292. package/symbols/LineSymbol3DLayer.d.ts +2 -2
  293. package/symbols/ObjectSymbol3DLayer.d.ts +2 -2
  294. package/symbols/PathSymbol3DLayer.d.ts +2 -2
  295. package/symbols/TextSymbol.d.ts +2 -2
  296. package/symbols/support/Symbol3DFillMaterial.d.ts +1 -1
  297. package/symbols/support/Symbol3DFillMaterial.js +1 -1
  298. package/symbols/support/Symbol3DHalo.d.ts +8 -4
  299. package/symbols/support/Symbol3DHalo.js +1 -1
  300. package/symbols/support/cimConversionUtils.d.ts +9 -0
  301. package/symbols/support/cimSymbolUtils.d.ts +10 -0
  302. package/symbols/support/jsonUtils.d.ts +7 -0
  303. package/symbols/support/symbolUtils.d.ts +5 -0
  304. package/symbols.d.ts +59 -0
  305. package/tables/elements.d.ts +41 -0
  306. package/time/TimeExtent.d.ts +1 -1
  307. package/time/TimeInterval.d.ts +1 -1
  308. package/unionTypes.d.ts +5 -0
  309. package/versionManagement/utils.d.ts +5 -0
  310. package/versionManagement/versionAdapters/utils.d.ts +5 -0
  311. package/views/2d/MapViewConstraints.d.ts +18 -10
  312. package/views/2d/engine/vectorTiles/shaders/sources/shaderRepository.js +1 -1
  313. package/views/2d/layers/RouteLayerView2D.js +1 -1
  314. package/views/2d/layers/TileLayerView2D.js +1 -1
  315. package/views/2d/layers/support/RouteLayerInteraction.js +1 -1
  316. package/views/2d/layers/support/RouteLayerWaypointVisualization.js +5 -0
  317. package/views/3d/analysis/DirectLineMeasurement/types.d.ts +5 -0
  318. package/views/3d/analysis/LineOfSight/types.d.ts +5 -0
  319. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementError.d.ts +1 -1
  320. package/views/3d/analysis/VolumeMeasurement/types.d.ts +5 -0
  321. package/views/3d/environment/ChapmanRaymarching.glsl.js +2 -1
  322. package/views/3d/interactive/visualElements/PointVisualElement.js +1 -1
  323. package/views/3d/layers/graphics/Deconflictor.js +1 -1
  324. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  325. package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
  326. package/views/3d/layers/graphics/Graphics3DLineCalloutSymbolLayer.js +1 -1
  327. package/views/3d/layers/graphics/Graphics3DSymbolLayer.js +1 -1
  328. package/views/3d/layers/graphics/Graphics3DTextSymbolLayer.js +1 -1
  329. package/views/3d/layers/graphics/GraphicsDeconflictor.js +1 -1
  330. package/views/3d/layers/graphics/GraphicsProcessor.js +1 -1
  331. package/views/3d/layers/graphics/pipeline/symbolization/IconSymbolLayerRenderer.js +1 -1
  332. package/views/3d/state/helpers/SceneIntersectionHelper.js +1 -1
  333. package/views/3d/support/pointsOfInterest/StableSurfaceCenter.js +1 -1
  334. package/views/3d/terrain/TerrainSurface.js +1 -1
  335. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  336. package/views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js +2 -2
  337. package/views/3d/webgl-engine/lib/GaussianSplatRenderNode.js +1 -1
  338. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  339. package/views/3d/webgl-engine/materials/LineCalloutMaterial.js +1 -1
  340. package/views/3d/webgl-engine/shaders/HUDMaterialTechniqueConfiguration.js +1 -1
  341. package/views/3d/webgl-engine/shaders/LineCalloutTechniqueConfiguration.js +1 -1
  342. package/views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js +8 -8
  343. package/views/3d/webgl.d.ts +6 -0
  344. package/views/BreakpointsOwner.d.ts +16 -16
  345. package/views/IBreakpointsOwner.d.ts +15 -15
  346. package/views/MapView.d.ts +1 -1
  347. package/views/PopupView.d.ts +2 -2
  348. package/views/SelectionManager.d.ts +1 -0
  349. package/views/SelectionManager.js +1 -1
  350. package/views/VideoView.js +1 -1
  351. package/views/View.d.ts +6 -8
  352. package/views/analysis/AreaMeasurement/types.d.ts +6 -0
  353. package/views/analysis/DistanceMeasurement/types.d.ts +5 -0
  354. package/views/analysis/ElevationProfile/ElevationProfileError.d.ts +4 -4
  355. package/views/analysis/ElevationProfile/types.d.ts +6 -0
  356. package/views/analysis/types.d.ts +5 -0
  357. package/views/interactive/editGeometry/support/editPlaneUtils.js +1 -1
  358. package/views/interactive/snapping/GridSnappingEngine.js +1 -1
  359. package/views/layers/BuildingSceneLayerView.d.ts +1 -1
  360. package/views/layers/LayerView.d.ts +1 -1
  361. package/views/support/colorUtils.d.ts +5 -0
  362. package/views/support/selectionUtils.js +1 -1
  363. package/webscene/types.d.ts +5 -0
  364. package/widgets/FeatureForm/FeatureFormViewModel.d.ts +2 -2
  365. package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
  366. package/widgets/Features/FeaturesViewModel.d.ts +1 -1
  367. package/widgets/Home/HomeViewModel.d.ts +1 -1
  368. package/widgets/Locate/LocateViewModel.d.ts +2 -2
  369. package/widgets/Search/types.d.ts +5 -0
  370. package/widgets/TimeSlider/TimeSliderViewModel.d.ts +1 -1
  371. package/widgets/UtilityNetworkValidateTopology.js +1 -1
  372. package/widgets/smartMapping/support/utils.d.ts +6 -0
  373. package/widgets/support/SelectionList/FeatureItem.js +1 -1
  374. package/widgets/support/SelectionList/LayerItem.js +1 -1
  375. package/widgets/support/SelectionList/SelectionListViewModel.js +1 -1
  376. package/widgets/support/SelectionList.js +1 -1
  377. package/widgets/support/Selector2D/selectorUtils.js +1 -1
  378. package/widgets/support/symbolPreviewUtils.js +1 -1
  379. package/widgets/support/widget.d.ts +11 -0
  380. package/assets/esri/core/workers/chunks/0d1e8d5d9abee38e275e.js +0 -316
  381. package/assets/esri/core/workers/chunks/73c3ee2697265b0f7208.js +0 -1
  382. package/assets/esri/core/workers/chunks/cd2ea924cb91cdb6dde9.js +0 -1
  383. package/assets/esri/core/workers/chunks/d57577c02fb2932e8305.js +0 -1
  384. package/colorUtils.d.ts +0 -13
  385. package/core/Logger.d.ts +0 -29
  386. package/core/Message.d.ts +0 -2
  387. package/core/Message.js +0 -5
  388. package/core/accessorSupport/PropertyOrigin.d.ts +0 -2
  389. package/core/sql/sql92grammar.d.ts +0 -12
  390. package/core/string.d.ts +0 -3
  391. package/core/time.d.ts +0 -2
  392. package/core/timeUtils.d.ts +0 -2
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import{clamp as e,deg2rad as t}from"../../../../core/mathUtils.js";import{fromMat4 as i}from"../../../../core/libs/gl-matrix-2/math/mat3.js";import{IDENTITY as s,create as r}from"../../../../core/libs/gl-matrix-2/factories/mat3f64.js";import{invert as a}from"../../../../core/libs/gl-matrix-2/math/mat4.js";import{create as n}from"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{set as o,rotate as l}from"../../../../core/libs/gl-matrix-2/math/vec2.js";import{fromValues as c,create as u}from"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{h as f,p,n as h,e as m,j as d,c as g,d as b,b as v,D as x,a as S,t as z,g as y,i as O}from"../../../../chunks/vec32.js";import{create as P,fromValues as _}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{fromArray as j,create as D,freeze as R}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{isMat4 as C}from"../../../../core/libs/gl-matrix-2/types/mat4.js";import{create as M}from"../../../../geometry/support/aaBoundingRect.js";import{BufferViewVec4u8 as A}from"../../../../geometry/support/buffer/BufferView.js";import{evaluateModelTransformScale as V}from"../../layers/support/FastSymbolUpdates.js";import{debugFlags as F}from"../../support/debugFlags.js";import{isColorHighlightOrOLID as w,isColor as T}from"../core/shaderLibrary/ShaderOutput.js";import{HUDVerticalPixelOffset as E}from"../core/shaderLibrary/hud/HUD.glsl.js";import{GLTextureMaterialBindParameters as L,GLTextureMaterial as U}from"../lib/GLTextureMaterial.js";import{Material as B}from"../lib/Material.js";import{SeparateScreenSizePerspectiveEvaluators as I}from"../lib/screenSizePerspectiveUtils.js";import{assert as W}from"../lib/Util.js";import{writePosition as H,writeNormal as G,writeColor as N,writeBufferVec2 as X,writeBufferFloat as Y,writeBufferVec4 as q,writeBufferVec4Zeros as k,writeOlidColor as J}from"./internal/bufferWriterUtils.js";import{verticalOffsetAtDistance as K}from"./internal/MaterialUtil.js";import{c as Q,f as Z}from"../../../../chunks/HUDMaterial.glsl.js";import{getInstanceLayout as $,baseLayout as ee,HUDMaterialTechnique as te}from"../shaders/HUDMaterialTechnique.js";import{HUDMaterialTechniqueConfiguration as ie}from"../shaders/HUDMaterialTechniqueConfiguration.js";import{alphaCutoff as se}from"../../../../webscene/support/AlphaCutoff.js";class re extends B{constructor(e,t){super(e,Re),this.produces=new Map([[14,e=>w(e)&&!this.parameters.drawAsLabel],[15,e=>w(e)&&this.parameters.drawAsLabel],[13,()=>this.parameters.occlusionTest],[19,e=>this.parameters.draped&&w(e)]]),this._visible=!0,this._configuration=new ie(t)}getConfiguration(e,t){const i=this.parameters.draped;return super.getConfiguration(e,t,this._configuration),this._configuration.hasSlicePlane=this.parameters.hasSlicePlane,this._configuration.hasVerticalOffset=!!this.parameters.verticalOffset,this._configuration.hasScreenSizePerspective=!!this.parameters.screenSizePerspective,this._configuration.screenCenterOffsetUnitsEnabled="screen"===this.parameters.centerOffsetUnits,this._configuration.hasPolygonOffset=this.parameters.polygonOffset,this._configuration.draped=i,this._configuration.occlusionTestEnabled=this.parameters.occlusionTest,this._configuration.pixelSnappingEnabled=this.parameters.pixelSnappingEnabled,this._configuration.signedDistanceFieldEnabled=this.parameters.textureIsSignedDistanceField,this._configuration.sampleSignedDistanceFieldTexelCenter=this.parameters.sampleSignedDistanceFieldTexelCenter,this._configuration.hasRotation=this.parameters.hasRotation,this._configuration.hasVVSize=!!this.parameters.vvSize,this._configuration.hasVVColor=!!this.parameters.vvColor,this._configuration.occlusionPass=13===t.slot,this._configuration.occludedFragmentFade=!i&&this.parameters.occludedFragmentFade,this._configuration.horizonCullingEnabled=this.parameters.horizonCullingEnabled,this._configuration.isFocused=this.parameters.isFocused,this._configuration.depthTestEnabled=this.parameters.depthEnabled||13===t.slot,T(e)&&(this._configuration.debugDrawLabelBorder=!!F.LABELS_SHOW_BORDER),this._configuration.oitPass=t.oitPass,this._configuration.terrainDepthTest=t.terrainDepthTest,this._configuration.cullAboveTerrain=t.cullAboveTerrain,this._configuration}intersect(e,t,i,s,r,n){const{options:{selectionMode:o,hud:l,excludeLabels:c},point:u,camera:S}=i,{parameters:z}=this;if(!o||!l||c&&z.isLabel||!e.visible||!u||!S)return;const y=e.attributes.get("featureAttribute"),O=null==y?null:j(y.data,ye),{scaleX:_,scaleY:D}=Me(O,z,S.pixelRatio),R=e.attributes.get("position"),C=e.attributes.get("size"),M=e.attributes.get("normal"),A=e.attributes.get("rotation"),V=e.attributes.get("centerOffsetAndDistance");W(R.size>=3);const F=Q(z),w="screen"===this.parameters.centerOffsetUnits;for(let j=0;j<R.data.length/R.size;j++){const e=j*R.size;f(ue,R.data[e],R.data[e+1],R.data[e+2]),p(ue,ue,t),p(ue,ue,S.viewMatrix);const s=j*V.size;if(f(Se,V.data[s],V.data[s+1],V.data[s+2]),!w&&(ue[0]+=Se[0],ue[1]+=Se[1],0!==Se[2])){const e=Se[2];h(Se,ue),m(ue,ue,d(Se,Se,e))}const r=j*M.size;f(fe,M.data[r],M.data[r+1],M.data[r+2]);const{normal:o,cosAngle:l}=oe(fe,t,S,Oe),c=Ve(this.parameters,ue,l,S,ce);if(g(ue,ue,o,c),S.applyProjection(ue,pe),pe[0]>-1){w&&(Se[0]||Se[1])&&(pe[0]+=Se[0]*S.pixelRatio,0!==Se[1]&&(pe[1]+=ce.alignmentEvaluator.apply(Se[1])*S.pixelRatio),S.unapplyProjection(pe,ue)),pe[0]+=this.parameters.screenOffset[0]*S.pixelRatio,pe[1]+=this.parameters.screenOffset[1]*S.pixelRatio,pe[0]=Math.floor(pe[0]),pe[1]=Math.floor(pe[1]);const e=j*C.size;je[0]=C.data[e],je[1]=C.data[e+1],ce.evaluator.applyVec2(je,je);const t=Pe*S.pixelRatio;let s=0;if(z.textureIsSignedDistanceField){s=Math.min(z.outlineSize,.5*je[0])*S.pixelRatio/2}je[0]*=_,je[1]*=D;const r=j*A.size,o=z.rotation+A.data[r];if(le(u,pe[0],pe[1],je,t,s,o,z,F)){const e=i.ray;if(p(me,ue,a(ve,S.viewMatrix)),pe[0]=u[0],pe[1]=u[1],S.unprojectFromRenderScreen(pe,ue)){const t=P();b(t,e.direction);const i=1/v(t);d(t,t,i);n(x(e.origin,ue)*i,t,-1,me)}}}}}intersectDraped(e,t,i,s,r){const a=e.attributes.get("position"),n=e.attributes.get("size"),o=e.attributes.get("rotation"),l=this.parameters,c=Q(l),u=e.attributes.get("featureAttribute"),f=null==u?null:j(u.data,ye),{scaleX:p,scaleY:h}=Me(f,l,e.screenToWorldRatio),m=_e*e.screenToWorldRatio;for(let d=0;d<a.data.length/a.size;d++){const t=d*a.size,u=a.data[t],f=a.data[t+1],g=d*n.size;je[0]=n.data[g],je[1]=n.data[g+1];let b=0;if(l.textureIsSignedDistanceField){b=Math.min(l.outlineSize,.5*je[0])*e.screenToWorldRatio/2}je[0]*=p,je[1]*=h;const v=d*o.size,x=l.rotation+o.data[v];le(i,u,f,je,m,b,x,l,c)&&s(r.distance,r.normal,-1)}}createBufferWriter(){return new Ce}applyShaderOffsets(e,t,i,s,r,a,n){const o=oe(i,s,a,Oe),l=Ae(v(t),a),c=Ve(this.parameters,t,o.cosAngle,a,n);g(t,t,o.normal,c+l),g(e,e,i,c+l);const u=r[3]+c;this._applyPolygonOffsetView(t,o,u,a,t),this._applyCenterOffsetView(t,r,t)}applyShaderOffsetsNDC(e,t,i,s,r){return this._applyCenterOffsetNDC(e,t,i,s),null!=r&&b(r,s),this._applyPolygonOffsetNDC(s,t,i,s),s}_applyPolygonOffsetView(t,i,s,r,a){const n=r.aboveGround?1:-1;let o=Math.sign(s);0===o&&(o=n);const l=n*o;if(this.parameters.shaderPolygonOffset<=0)return b(a,t);const c=e(Math.abs(i.cosAngle),.01,1),u=1-Math.sqrt(1-c*c)/c/r.viewport[2];return d(a,t,l>0?u:1/u),a}_applyCenterOffsetView(e,t,i){const s="screen"!==this.parameters.centerOffsetUnits;return i!==e&&b(i,e),s&&(i[0]+=t[0],i[1]+=t[1],t[2]&&(h(fe,i),S(i,i,d(fe,fe,t[2])))),i}_applyCenterOffsetNDC(e,t,i,s){const r="screen"!==this.parameters.centerOffsetUnits;return s!==e&&b(s,e),r||(s[0]+=t[0]/i.fullWidth*2,s[1]+=t[1]/i.fullHeight*2),s}_applyPolygonOffsetNDC(e,t,i,s){const r=this.parameters.shaderPolygonOffset;if(e!==s&&b(s,e),r){const e=i.aboveGround?1:-1,a=e*Math.sign(t[3]);s[2]-=(a||e)*r}return s}set visible(e){this._visible=e}get visible(){const{color:e,outlineSize:t,outlineColor:i}=this.parameters,s=e[3]>=se||t>=se&&i[3]>=se;return this._visible&&s}createGLMaterial(e){return new ae(e)}calculateRelativeScreenBounds(e,t,i=M()){return ne(this.parameters,e,t,i),i[2]=i[0]+e[0],i[3]=i[1]+e[1],i}}class ae extends U{constructor(e){super({...e,...e.material.parameters})}beginSlot(e){return this.updateTexture(this._material.parameters.textureId),this._material.setParameters(this.textureBindParameters),this.getTechnique(te,e)}}function ne(e,t,i,s){s[0]=e.anchorPosition[0]*-t[0]+e.screenOffset[0]*i,s[1]=e.anchorPosition[1]*-t[1]+e.screenOffset[1]*i}function oe(e,t,s,r){return C(t)&&(t=i(be,t)),z(r.normal,e,t),p(r.normal,r.normal,s.viewInverseTransposeMatrix),r.cosAngle=y(he,De),r}function le(e,i,s,r,a,n,c,u,f){let p=i-a-r[0]*f[0],h=p+r[0]+2*a,m=s-a-r[1]*f[1],d=m+r[1]+2*a;const g=u.distanceFieldBoundingBox;return u.textureIsSignedDistanceField&&null!=g&&(p+=r[0]*g[0],m+=r[1]*g[1],h-=r[0]*(1-g[2]),d-=r[1]*(1-g[3]),p-=n,h+=n,m-=n,d+=n),o(ge,i,s),l(de,e,ge,t(c)),de[0]>p&&de[0]<h&&de[1]>m&&de[1]<d}const ce=new I,ue=P(),fe=P(),pe=D(),he=P(),me=P(),de=u(),ge=u(),be=r(),ve=n(),xe=D(),Se=P(),ze=P(),ye=D(),Oe={normal:he,cosAngle:0},Pe=1,_e=2,je=c(0,0),De=_(0,0,1);class Re extends L{constructor(){super(...arguments),this.renderOccluded=1,this.isDecoration=!1,this.color=R(1,1,1,1),this.polygonOffset=!1,this.anchorPosition=c(.5,.5),this.screenOffset=[0,0],this.shaderPolygonOffset=1e-5,this.textureIsSignedDistanceField=!1,this.sampleSignedDistanceFieldTexelCenter=!1,this.outlineColor=R(1,1,1,1),this.outlineSize=0,this.distanceFieldBoundingBox=D(),this.rotation=0,this.hasRotation=!1,this.vvSizeEnabled=!1,this.vvSize=null,this.vvColor=null,this.vvOpacity=null,this.vvSymbolAnchor=null,this.vvSymbolRotationMatrix=null,this.hasSlicePlane=!1,this.pixelSnappingEnabled=!0,this.occlusionTest=!0,this.occludedFragmentFade=!1,this.horizonCullingEnabled=!1,this.centerOffsetUnits="world",this.drawAsLabel=!1,this.depthEnabled=!0,this.isFocused=!0,this.focusStyle="bright",this.draped=!1,this.isLabel=!1}get hasVVSize(){return!!this.vvSize}get hasVVColor(){return!!this.vvColor}get hasVVOpacity(){return!!this.vvOpacity}}class Ce{constructor(){this.layout=$(),this.baseInstanceLayout=ee}elementCount(e){return e.get("position").indices.length}elementCountBaseInstance(e){return e.get("uv0").indices.length}write(e,t,i,s,r,a){const{position:n,normal:o,color:l,size:c,rotation:u,centerOffsetAndDistance:f,featureAttribute:p,uvi:h}=r;H(i.get("position"),e,n,a),G(i.get("normal"),t,o,a);const m=i.get("position").indices.length;let d=0,g=0,b=Z,v=Z;const x=i.get("uvi")?.data;x&&x.length>=4&&(d=x[0],g=x[1],b=x[2],v=x[3]);for(let S=0;S<m;++S){const e=a+S;h.setValues(e,d,g,b,v)}if(N(i.get("color"),4,l,a),X(i.get("size"),c,a),Y(i.get("rotation"),u,a),i.get("centerOffsetAndDistance")?q(i.get("centerOffsetAndDistance"),f,a):k(f,a,m),i.get("featureAttribute")?q(i.get("featureAttribute"),p,a):k(p,a,m),null!=s){const e=i.get("position")?.indices;if(e){const t=e.length,i=r.getField("olidColor",A);J(s,i,t,a)}}return{numVerticesPerItem:1,numItems:m}}writeBaseInstance(e,t){const{uv0:i}=t;X(e.get("uv0"),i,0)}intersect(e,t,i,r,n,o,l){const{options:{selectionMode:c,hud:u,excludeLabels:S},point:z,camera:y}=r;if(!c||!u||S&&t.isLabel||!z)return;const _=this.layout.createView(e),{position:j,normal:D,rotation:R,size:C,featureAttribute:M,centerOffsetAndDistance:A}=_,V="screen"===t.centerOffsetUnits,F=Q(t);if(null==j||null==D||null==R||null==C||null==A||null==y)return;const w=null==M?null:M.getVec(0,ye),{scaleX:T,scaleY:E}=Me(w,t,y.pixelRatio),L=j.count;for(let U=0;U<L;U++){if(j.getVec(U,ue),null!=i&&O(ue,ue,i),p(ue,ue,y.viewMatrix),A.getVec(U,xe),f(Se,xe[0],xe[1],xe[2]),!V&&(ue[0]+=Se[0],ue[1]+=Se[1],0!==Se[2])){const e=Se[2];h(Se,ue),m(ue,ue,d(Se,Se,e))}D.getVec(U,fe),oe(fe,s,y,Oe);const e=Ve(t,ue,Oe.cosAngle,y,ce);if(g(ue,ue,Oe.normal,e),y.applyProjection(ue,pe),pe[0]>-1){V&&(Se[0]||Se[1])&&(pe[0]+=Se[0]*y.pixelRatio,0!==Se[1]&&(pe[1]+=ce.alignmentEvaluator.apply(Se[1])*y.pixelRatio),y.unapplyProjection(pe,ue)),pe[0]+=t.screenOffset[0]*y.pixelRatio,pe[1]+=t.screenOffset[1]*y.pixelRatio,pe[0]=Math.floor(pe[0]),pe[1]=Math.floor(pe[1]),C.getVec(U,je),ce.evaluator.applyVec2(je,je);const e=Pe*y.pixelRatio;let i=0;if(t.textureIsSignedDistanceField){i=Math.min(t.outlineSize,.5*je[0])*y.pixelRatio/2}je[0]*=T,je[1]*=E;const s=R.get(U),n=t.rotation+s;if(le(z,pe[0],pe[1],je,e,i,n,t,F)){const e=r.ray;if(p(me,ue,a(ve,y.viewMatrix)),pe[0]=z[0],pe[1]=z[1],y.unprojectFromRenderScreen(pe,ue)){const t=P();b(t,e.direction);const i=1/v(t);d(t,t,i);l(x(e.origin,ue)*i,t,U,me)}}}}}}function Me(e,t,i){return null==e||null==t.vvSize?{scaleX:i,scaleY:i}:(V(ze,t,e),{scaleX:ze[0]*i,scaleY:ze[1]*i})}function Ae(e,t){const i=t.computeRenderPixelSizeAtDist(e)*E;return(t.aboveGround?1:-1)*i}function Ve(e,t,i,s,r){if(!e.verticalOffset?.screenLength){const s=v(t);return r.update(i,s,e.screenSizePerspective,e.screenSizePerspectiveMinPixelReferenceSize,e.screenSizePerspectiveAlignment,null),0}const a=v(t),n=e.screenSizePerspectiveAlignment??e.screenSizePerspective,o=K(s,a,e.verticalOffset,i,n,e.screenSizePerspectiveMinPixelReferenceSize);return r.update(i,a,e.screenSizePerspective,e.screenSizePerspectiveMinPixelReferenceSize,e.screenSizePerspectiveAlignment,null),o}export{re as HUDMaterial,Re as Parameters};
5
+ import{clamp as e,deg2rad as t}from"../../../../core/mathUtils.js";import{fromMat4 as i}from"../../../../core/libs/gl-matrix-2/math/mat3.js";import{create as s}from"../../../../core/libs/gl-matrix-2/factories/mat3f64.js";import{invert as r}from"../../../../core/libs/gl-matrix-2/math/mat4.js";import{create as a}from"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{set as n,rotate as o}from"../../../../core/libs/gl-matrix-2/math/vec2.js";import{fromValues as l,create as c}from"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{h as u,p as f,n as p,e as h,j as d,t as m,c as g,d as b,b as v,D as x,a as S,g as y,i as z}from"../../../../chunks/vec32.js";import{create as O,fromValues as P}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{fromArray as _,create as j,freeze as D}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{create as M}from"../../../../geometry/support/aaBoundingRect.js";import{BufferViewVec4u8 as R}from"../../../../geometry/support/buffer/BufferView.js";import{evaluateModelTransformScale as V}from"../../layers/support/FastSymbolUpdates.js";import{debugFlags as C}from"../../support/debugFlags.js";import{isColorHighlightOrOLID as A,isColor as F}from"../core/shaderLibrary/ShaderOutput.js";import{HUDVerticalPixelOffset as w}from"../core/shaderLibrary/hud/HUD.glsl.js";import{GLTextureMaterialBindParameters as E,GLTextureMaterial as L}from"../lib/GLTextureMaterial.js";import{Material as T}from"../lib/Material.js";import{SeparateScreenSizePerspectiveEvaluators as U}from"../lib/screenSizePerspectiveUtils.js";import{assert as B}from"../lib/Util.js";import{writePosition as I,writeNormal as W,writeColor as H,writeBufferVec2 as G,writeBufferFloat as N,writeBufferVec4 as X,writeBufferVec4Zeros as Y,writeOlidColor as q}from"./internal/bufferWriterUtils.js";import{verticalOffsetAtDistance as k}from"./internal/MaterialUtil.js";import{c as J,f as K}from"../../../../chunks/HUDMaterial.glsl.js";import{getInstanceLayout as Q,baseLayout as Z,HUDMaterialTechnique as $}from"../shaders/HUDMaterialTechnique.js";import{HUDMaterialTechniqueConfiguration as ee}from"../shaders/HUDMaterialTechniqueConfiguration.js";import{alphaCutoff as te}from"../../../../webscene/support/AlphaCutoff.js";class ie extends T{constructor(e,t){super(e,je),this.produces=new Map([[14,e=>A(e)&&!this.parameters.drawAsLabel],[15,e=>A(e)&&this.parameters.drawAsLabel],[13,()=>this.parameters.useVisibilityPixel],[19,e=>this.parameters.draped&&A(e)]]),this._visible=!0,this._configuration=new ee(t)}getConfiguration(e,t){const i=this.parameters.draped;return super.getConfiguration(e,t,this._configuration),this._configuration.hasSlicePlane=this.parameters.hasSlicePlane,this._configuration.hasVerticalOffset=!!this.parameters.verticalOffset,this._configuration.hasScreenSizePerspective=!!this.parameters.screenSizePerspective,this._configuration.screenCenterOffsetUnitsEnabled="screen"===this.parameters.centerOffsetUnits,this._configuration.hasPolygonOffset=this.parameters.polygonOffset,this._configuration.draped=i,this._configuration.visibilityPixelEnabled=this.parameters.useVisibilityPixel,this._configuration.pixelSnappingEnabled=this.parameters.pixelSnappingEnabled,this._configuration.signedDistanceFieldEnabled=this.parameters.textureIsSignedDistanceField,this._configuration.sampleSignedDistanceFieldTexelCenter=this.parameters.sampleSignedDistanceFieldTexelCenter,this._configuration.hasRotation=this.parameters.hasRotation,this._configuration.hasVVSize=!!this.parameters.vvSize,this._configuration.hasVVColor=!!this.parameters.vvColor,this._configuration.occlusionPass=13===t.slot,this._configuration.occludedFragmentFade=!i&&this.parameters.occludedFragmentFade,this._configuration.horizonCullingEnabled=this.parameters.horizonCullingEnabled,this._configuration.isFocused=this.parameters.isFocused,this._configuration.depthTestEnabled=this.parameters.depthEnabled||13===t.slot,F(e)&&(this._configuration.debugDrawLabelBorder=!!C.LABELS_SHOW_BORDER),this._configuration.oitPass=t.oitPass,this._configuration.terrainDepthTest=t.terrainDepthTest,this._configuration.cullAboveTerrain=t.cullAboveTerrain,this._configuration}intersect(e,t,s,a,n,o){const{options:{selectionMode:l,hud:c,excludeLabels:S},point:y,camera:z}=s,{parameters:P}=this;if(!l||!c||S&&P.isLabel||!e.visible||!y||!z)return;const j=e.attributes.get("featureAttribute"),D=null==j?null:_(j.data,Se),{scaleX:M,scaleY:R}=Me(D,P,z.pixelRatio),V=e.attributes.get("position"),C=e.attributes.get("size"),A=e.attributes.get("normal"),F=e.attributes.get("rotation"),w=e.attributes.get("centerOffsetAndDistance");B(V.size>=3);const E=J(P),L="screen"===this.parameters.centerOffsetUnits;for(let _=0;_<V.data.length/V.size;_++){const e=_*V.size;u(le,V.data[e],V.data[e+1],V.data[e+2]),f(le,le,t),f(le,le,z.viewMatrix);const a=_*w.size;if(u(ve,w.data[a],w.data[a+1],w.data[a+2]),!L&&(le[0]+=ve[0],le[1]+=ve[1],0!==ve[2])){const e=ve[2];p(ve,le),h(le,le,d(ve,ve,e))}const n=_*A.size;u(ce,A.data[n],A.data[n+1],A.data[n+2]),m(ce,ce,i(me,t));const{normal:l,cosAngle:c}=ae(ce,z,ye),S=Ve(this.parameters,le,c,z,oe);if(g(le,le,l,S),z.applyProjection(le,ue),ue[0]>-1){L&&(ve[0]||ve[1])&&(ue[0]+=ve[0]*z.pixelRatio,0!==ve[1]&&(ue[1]+=oe.alignmentEvaluator.apply(ve[1])*z.pixelRatio),z.unapplyProjection(ue,le)),ue[0]+=this.parameters.screenOffset[0]*z.pixelRatio,ue[1]+=this.parameters.screenOffset[1]*z.pixelRatio,ue[0]=Math.floor(ue[0]),ue[1]=Math.floor(ue[1]);const e=_*C.size;Pe[0]=C.data[e],Pe[1]=C.data[e+1],oe.evaluator.applyVec2(Pe,Pe);const t=ze*z.pixelRatio;let i=0;if(P.textureIsSignedDistanceField){i=Math.min(P.outlineSize,.5*Pe[0])*z.pixelRatio/2}Pe[0]*=M,Pe[1]*=R;const a=_*F.size,n=P.rotation+F.data[a];if(ne(y,ue[0],ue[1],Pe,t,i,n,P,E)){const e=s.ray;if(f(pe,le,r(ge,z.viewMatrix)),ue[0]=y[0],ue[1]=y[1],z.unprojectFromRenderScreen(ue,le)){const t=O();b(t,e.direction);const i=1/v(t);d(t,t,i);o(x(e.origin,le)*i,t,-1,pe)}}}}}intersectDraped(e,t,i,s,r){const a=e.attributes.get("position"),n=e.attributes.get("size"),o=e.attributes.get("rotation"),l=this.parameters,c=J(l),u=e.attributes.get("featureAttribute"),f=null==u?null:_(u.data,Se),{scaleX:p,scaleY:h}=Me(f,l,e.screenToWorldRatio),d=Oe*e.screenToWorldRatio;for(let m=0;m<a.data.length/a.size;m++){const t=m*a.size,u=a.data[t],f=a.data[t+1],g=m*n.size;Pe[0]=n.data[g],Pe[1]=n.data[g+1];let b=0;if(l.textureIsSignedDistanceField){b=Math.min(l.outlineSize,.5*Pe[0])*e.screenToWorldRatio/2}Pe[0]*=p,Pe[1]*=h;const v=m*o.size,x=l.rotation+o.data[v];ne(i,u,f,Pe,d,b,x,l,c)&&s(r.distance,r.normal,-1)}}createBufferWriter(){return new De}applyShaderOffsets(e,t,s,r,a,n,o){m(fe,s,i(me,r));const l=ae(fe,n,ye),c=Re(v(t),n),u=Ve(this.parameters,t,l.cosAngle,n,o);g(t,t,l.normal,u+c),g(e,e,fe,u+c);const f=a[3]+u;this._applyPolygonOffsetView(t,l,f,n,t),this._applyCenterOffsetView(t,a,t)}applyShaderOffsetsNDC(e,t,i,s,r){return this._applyCenterOffsetNDC(e,t,i,s),null!=r&&b(r,s),this._applyPolygonOffsetNDC(s,t,i,s),s}_applyPolygonOffsetView(t,i,s,r,a){const n=r.aboveGround?1:-1;let o=Math.sign(s);0===o&&(o=n);const l=n*o;if(this.parameters.shaderPolygonOffset<=0)return b(a,t);const c=e(Math.abs(i.cosAngle),.01,1),u=1-Math.sqrt(1-c*c)/c/r.viewport[2];return d(a,t,l>0?u:1/u),a}_applyCenterOffsetView(e,t,i){const s="screen"!==this.parameters.centerOffsetUnits;return i!==e&&b(i,e),s&&(i[0]+=t[0],i[1]+=t[1],t[2]&&(p(ce,i),S(i,i,d(ce,ce,t[2])))),i}_applyCenterOffsetNDC(e,t,i,s){const r="screen"!==this.parameters.centerOffsetUnits;return s!==e&&b(s,e),r||(s[0]+=t[0]/i.fullWidth*2,s[1]+=t[1]/i.fullHeight*2),s}_applyPolygonOffsetNDC(e,t,i,s){const r=this.parameters.shaderPolygonOffset;if(e!==s&&b(s,e),r){const e=i.aboveGround?1:-1,a=e*Math.sign(t[3]);s[2]-=(a||e)*r}return s}set visible(e){this._visible=e}get visible(){const{color:e,outlineSize:t,outlineColor:i}=this.parameters,s=e[3]>=te||t>=te&&i[3]>=te;return this._visible&&s}createGLMaterial(e){return new se(e)}calculateRelativeScreenBounds(e,t,i=M()){return re(this.parameters,e,t,i),i[2]=i[0]+e[0],i[3]=i[1]+e[1],i}}class se extends L{constructor(e){super({...e,...e.material.parameters})}beginSlot(e){return this.updateTexture(this._material.parameters.textureId),this._material.setParameters(this.textureBindParameters),this.getTechnique($,e)}}function re(e,t,i,s){s[0]=e.anchorPosition[0]*-t[0]+e.screenOffset[0]*i,s[1]=e.anchorPosition[1]*-t[1]+e.screenOffset[1]*i}function ae(e,t,i){return f(i.normal,e,t.viewInverseTransposeMatrix),i.cosAngle=y(i.normal,_e),i}function ne(e,i,s,r,a,l,c,u,f){let p=i-a-r[0]*f[0],h=p+r[0]+2*a,d=s-a-r[1]*f[1],m=d+r[1]+2*a;const g=u.distanceFieldBoundingBox;return u.textureIsSignedDistanceField&&null!=g&&(p+=r[0]*g[0],d+=r[1]*g[1],h-=r[0]*(1-g[2]),m-=r[1]*(1-g[3]),p-=l,h+=l,d-=l,m+=l),n(de,i,s),o(he,e,de,t(c)),he[0]>p&&he[0]<h&&he[1]>d&&he[1]<m}const oe=new U,le=O(),ce=O(),ue=j(),fe=O(),pe=O(),he=c(),de=c(),me=s(),ge=a(),be=j(),ve=O(),xe=O(),Se=j(),ye={normal:O(),cosAngle:0},ze=1,Oe=2,Pe=l(0,0),_e=P(0,0,1);class je extends E{constructor(){super(...arguments),this.renderOccluded=1,this.isDecoration=!1,this.color=D(1,1,1,1),this.polygonOffset=!1,this.anchorPosition=l(.5,.5),this.screenOffset=[0,0],this.shaderPolygonOffset=1e-5,this.textureIsSignedDistanceField=!1,this.sampleSignedDistanceFieldTexelCenter=!1,this.outlineColor=D(1,1,1,1),this.outlineSize=0,this.distanceFieldBoundingBox=j(),this.rotation=0,this.hasRotation=!1,this.vvSizeEnabled=!1,this.vvSize=null,this.vvColor=null,this.vvOpacity=null,this.vvSymbolAnchor=null,this.vvSymbolRotationMatrix=null,this.hasSlicePlane=!1,this.pixelSnappingEnabled=!0,this.useVisibilityPixel=!0,this.occludedFragmentFade=!1,this.horizonCullingEnabled=!1,this.occludedVisibilityMode="hidden",this.centerOffsetUnits="world",this.drawAsLabel=!1,this.depthEnabled=!0,this.isFocused=!0,this.focusStyle="bright",this.draped=!1,this.isLabel=!1}get hasVVSize(){return!!this.vvSize}get hasVVColor(){return!!this.vvColor}get hasVVOpacity(){return!!this.vvOpacity}}class De{constructor(){this.layout=Q(),this.baseInstanceLayout=Z}elementCount(e){return e.get("position").indices.length}elementCountBaseInstance(e){return e.get("uv0").indices.length}write(e,t,i,s,r,a){const{position:n,normal:o,color:l,size:c,rotation:u,centerOffsetAndDistance:f,featureAttribute:p,uvi:h}=r;I(i.get("position"),e,n,a),W(i.get("normal"),t,o,a);const d=i.get("position").indices.length;let m=0,g=0,b=K,v=K;const x=i.get("uvi")?.data;x&&x.length>=4&&(m=x[0],g=x[1],b=x[2],v=x[3]);for(let S=0;S<d;++S){const e=a+S;h.setValues(e,m,g,b,v)}if(H(i.get("color"),4,l,a),G(i.get("size"),c,a),N(i.get("rotation"),u,a),i.get("centerOffsetAndDistance")?X(i.get("centerOffsetAndDistance"),f,a):Y(f,a,d),i.get("featureAttribute")?X(i.get("featureAttribute"),p,a):Y(p,a,d),null!=s){const e=i.get("position")?.indices;if(e){const t=e.length,i=r.getField("olidColor",R);q(s,i,t,a)}}return{numVerticesPerItem:1,numItems:d}}writeBaseInstance(e,t){const{uv0:i}=t;G(e.get("uv0"),i,0)}intersect(e,t,i,s,a,n,o){const{options:{selectionMode:l,hud:c,excludeLabels:m},point:S,camera:y}=s;if(!l||!c||m&&t.isLabel||!S)return;const P=this.layout.createView(e),{position:_,normal:j,rotation:D,size:M,featureAttribute:R,centerOffsetAndDistance:V}=P,C="screen"===t.centerOffsetUnits,A=J(t);if(null==_||null==j||null==D||null==M||null==V||null==y)return;const F=null==R?null:R.getVec(0,Se),{scaleX:w,scaleY:E}=Me(F,t,y.pixelRatio),L=_.count;for(let T=0;T<L;T++){if(_.getVec(T,le),null!=i&&z(le,le,i),f(le,le,y.viewMatrix),V.getVec(T,be),u(ve,be[0],be[1],be[2]),!C&&(le[0]+=ve[0],le[1]+=ve[1],0!==ve[2])){const e=ve[2];p(ve,le),h(le,le,d(ve,ve,e))}j.getVec(T,ce),ae(ce,y,ye);const e=Ve(t,le,ye.cosAngle,y,oe);if(g(le,le,ye.normal,e),y.applyProjection(le,ue),ue[0]>-1){C&&(ve[0]||ve[1])&&(ue[0]+=ve[0]*y.pixelRatio,0!==ve[1]&&(ue[1]+=oe.alignmentEvaluator.apply(ve[1])*y.pixelRatio),y.unapplyProjection(ue,le)),ue[0]+=t.screenOffset[0]*y.pixelRatio,ue[1]+=t.screenOffset[1]*y.pixelRatio,ue[0]=Math.floor(ue[0]),ue[1]=Math.floor(ue[1]),M.getVec(T,Pe),oe.evaluator.applyVec2(Pe,Pe);const e=ze*y.pixelRatio;let i=0;if(t.textureIsSignedDistanceField){i=Math.min(t.outlineSize,.5*Pe[0])*y.pixelRatio/2}Pe[0]*=w,Pe[1]*=E;const a=D.get(T),n=t.rotation+a;if(ne(S,ue[0],ue[1],Pe,e,i,n,t,A)){const e=s.ray;if(f(pe,le,r(ge,y.viewMatrix)),ue[0]=S[0],ue[1]=S[1],y.unprojectFromRenderScreen(ue,le)){const t=O();b(t,e.direction);const i=1/v(t);d(t,t,i);o(x(e.origin,le)*i,t,T,pe)}}}}}}function Me(e,t,i){return null==e||null==t.vvSize?{scaleX:i,scaleY:i}:(V(xe,t,e),{scaleX:xe[0]*i,scaleY:xe[1]*i})}function Re(e,t){const i=t.computeRenderPixelSizeAtDist(e)*w;return(t.aboveGround?1:-1)*i}function Ve(e,t,i,s,r){if(!e.verticalOffset?.screenLength){const s=v(t);return r.update(i,s,e.screenSizePerspective,e.screenSizePerspectiveMinPixelReferenceSize,e.screenSizePerspectiveAlignment,null),0}const a=v(t),n=e.screenSizePerspectiveAlignment??e.screenSizePerspective,o=k(s,a,e.verticalOffset,i,n,e.screenSizePerspectiveMinPixelReferenceSize);return r.update(i,a,e.screenSizePerspective,e.screenSizePerspectiveMinPixelReferenceSize,e.screenSizePerspectiveAlignment,null),o}export{ie as HUDMaterial,je as Parameters};
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import{safeToString as e}from"../../../../core/string.js";import{fromValues as t}from"../../../../core/libs/gl-matrix-2/factories/vec2f32.js";import{fromValues as r}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{isColor as i}from"../core/shaderLibrary/ShaderOutput.js";import s from"../lib/GLMaterial.js";import{Material as n,MaterialParameters as o}from"../lib/Material.js";import{writePosition as a,writeNormal as c,writeBufferVec4 as l}from"./internal/bufferWriterUtils.js";import{LineCalloutTechnique as h,layout as u}from"../shaders/LineCalloutTechnique.js";import{LineCalloutTechniqueConfiguration as f}from"../shaders/LineCalloutTechniqueConfiguration.js";import{alphaCutoff as p}from"../../../../webscene/support/AlphaCutoff.js";class m extends n{constructor(e,t){super(e,S),this.intersectDraped=void 0,this.produces=new Map([[16,e=>i(e)],[17,e=>i(e)]]),this._configuration=new f(t),this._uniqueMaterialIdentifier=g(this.parameters)}passParameters(){return this.parameters}getConfiguration(e,t){return super.getConfiguration(e,t,this._configuration),this._configuration.occlusionTestEnabled=this.parameters.occlusionTest,this._configuration.hasVerticalOffset=null!=this.parameters.verticalOffset,this._configuration.hasScreenSizePerspective=null!=this.parameters.screenSizePerspective,this._configuration.hudDepth=17===t.slot,this._configuration.hudDepthAlignStart=!!this.parameters.hudDepthAlignStart,this._configuration.screenCenterOffsetUnitsEnabled="screen"===this.parameters.centerOffsetUnits,this._configuration.hasSlicePlane=this.parameters.hasSlicePlane,this._configuration.terrainDepthTest=t.terrainDepthTest,this._configuration}get visible(){return this.parameters.color[3]>=p||(this.parameters.borderColor?.[3]??0)>=p}intersect(){}createGLMaterial(e){return new d(e)}createBufferWriter(){return new $}validateParameters(e){this._uniqueMaterialIdentifier=g(e)}get uniqueMaterialIdentifier(){return this._uniqueMaterialIdentifier}}function g({renderOccluded:t,isDecoration:r,horizontalScreenOffset:i,color:s,size:n,occlusionTest:o,shaderPolygonOffset:a,hudDepthAlignStart:c,centerOffsetUnits:l,hasSlicePlane:h,screenSizePerspective:u,verticalOffset:f,borderColor:p}){return e`${t}:${r}:${i}:[${s}]:${n}:${o}:${a}:${c}:${l}:${h}:${null!=u}:{${f?.screenLength}:${f?.minWorldLength}:${f?.maxWorldLength}}:[${p}]`}class d extends s{beginSlot(e){return this.getTechnique(h,e)}}class S extends o{constructor(){super(...arguments),this.horizontalScreenOffset=0,this.color=r(0,0,0,1),this.size=1,this.occlusionTest=!1,this.shaderPolygonOffset=1e-5,this.hudDepthAlignStart=!1,this.centerOffsetUnits="world",this.hasSlicePlane=!1}}const O=[t(0,0),t(1,0),t(0,1),t(1,0),t(1,1),t(0,1)];class ${constructor(){this.layout=u}elementCount(e){return 6*e.get("position").indices.length}write(e,t,r,i,s,n){a(r.get("position"),e,s.position,n,6),c(r.get("normal"),t,s.normal,n,6),l(r.get("centerOffsetAndDistance"),s.centerOffsetAndDistance,n,6);for(let o=0;o<O.length;++o)s.uv0.setVec(n+o,O[o]);return null}}export{m as LineCalloutMaterial,S as Parameters,g as uniqueMaterialIdentifier};
5
+ import{safeToString as e}from"../../../../core/string.js";import{fromValues as t}from"../../../../core/libs/gl-matrix-2/factories/vec2f32.js";import{fromValues as i}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{isColor as r}from"../core/shaderLibrary/ShaderOutput.js";import s from"../lib/GLMaterial.js";import{Material as n,MaterialParameters as a}from"../lib/Material.js";import{writePosition as o,writeNormal as l,writeBufferVec4 as c}from"./internal/bufferWriterUtils.js";import{LineCalloutTechnique as h,layout as u}from"../shaders/LineCalloutTechnique.js";import{LineCalloutTechniqueConfiguration as f}from"../shaders/LineCalloutTechniqueConfiguration.js";import{alphaCutoff as p}from"../../../../webscene/support/AlphaCutoff.js";class m extends n{constructor(e,t){super(e,b),this.intersectDraped=void 0,this.produces=new Map([[16,e=>r(e)],[17,e=>r(e)]]),this._configuration=new f(t),this._uniqueMaterialIdentifier=g(this.parameters)}passParameters(){return this.parameters}getConfiguration(e,t){return super.getConfiguration(e,t,this._configuration),this._configuration.useVisibilityPixel=this.parameters.useVisibilityPixel,this._configuration.hasVerticalOffset=null!=this.parameters.verticalOffset,this._configuration.hasScreenSizePerspective=null!=this.parameters.screenSizePerspective,this._configuration.hudDepth=17===t.slot,this._configuration.hudDepthAlignStart=!!this.parameters.hudDepthAlignStart,this._configuration.screenCenterOffsetUnitsEnabled="screen"===this.parameters.centerOffsetUnits,this._configuration.hasSlicePlane=this.parameters.hasSlicePlane,this._configuration.terrainDepthTest=t.terrainDepthTest,this._configuration}get visible(){return this.parameters.color[3]>=p||(this.parameters.borderColor?.[3]??0)>=p}intersect(){}createGLMaterial(e){return new d(e)}createBufferWriter(){return new O}validateParameters(e){this._uniqueMaterialIdentifier=g(e)}get uniqueMaterialIdentifier(){return this._uniqueMaterialIdentifier}}function g({renderOccluded:t,isDecoration:i,horizontalScreenOffset:r,color:s,size:n,useVisibilityPixel:a,shaderPolygonOffset:o,hudDepthAlignStart:l,centerOffsetUnits:c,hasSlicePlane:h,screenSizePerspective:u,verticalOffset:f,borderColor:p}){return e`${t}:${i}:${r}:[${s}]:${n}:${a}:${o}:${l}:${c}:${h}:${null!=u}:{${f?.screenLength}:${f?.minWorldLength}:${f?.maxWorldLength}}:[${p}]`}class d extends s{beginSlot(e){return this.getTechnique(h,e)}}class b extends a{constructor(){super(...arguments),this.horizontalScreenOffset=0,this.color=i(0,0,0,1),this.size=1,this.useVisibilityPixel=!1,this.shaderPolygonOffset=1e-5,this.hudDepthAlignStart=!1,this.centerOffsetUnits="world",this.hasSlicePlane=!1}}const S=[t(0,0),t(1,0),t(0,1),t(1,0),t(1,1),t(0,1)];class O{constructor(){this.layout=u}elementCount(e){return 6*e.get("position").indices.length}write(e,t,i,r,s,n){o(i.get("position"),e,s.position,n,6),l(i.get("normal"),t,s.normal,n,6),c(i.get("centerOffsetAndDistance"),s.centerOffsetAndDistance,n,6);for(let a=0;a<S.length;++a)s.uv0.setVec(n+a,S[a]);return null}}export{m as LineCalloutMaterial,b as Parameters,g as uniqueMaterialIdentifier};
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as e}from"tslib";import{parameter as t}from"../core/shaderTechnique/ShaderTechniqueConfiguration.js";import{DefaultTechniqueConfiguration as o}from"../materials/DefaultTechniqueConfiguration.js";class i extends o{constructor(e){super(),this.spherical=e,this.screenCenterOffsetUnitsEnabled=!1,this.occlusionTestEnabled=!0,this.signedDistanceFieldEnabled=!1,this.sampleSignedDistanceFieldTexelCenter=!1,this.hasVVSize=!1,this.hasVVColor=!1,this.hasVerticalOffset=!1,this.hasScreenSizePerspective=!1,this.hasRotation=!1,this.debugDrawLabelBorder=!1,this.hasPolygonOffset=!1,this.depthTestEnabled=!0,this.pixelSnappingEnabled=!0,this.draped=!1,this.terrainDepthTest=!1,this.cullAboveTerrain=!1,this.occlusionPass=!1,this.occludedFragmentFade=!1,this.horizonCullingEnabled=!0,this.isFocused=!0,this.olidColorInstanced=!1,this.textureCoordinateType=0,this.emissionSource=0,this.discardInvisibleFragments=!0,this.hasVVInstancing=!1,this.snowCover=!1}}e([t()],i.prototype,"screenCenterOffsetUnitsEnabled",void 0),e([t()],i.prototype,"occlusionTestEnabled",void 0),e([t()],i.prototype,"signedDistanceFieldEnabled",void 0),e([t()],i.prototype,"sampleSignedDistanceFieldTexelCenter",void 0),e([t()],i.prototype,"hasVVSize",void 0),e([t()],i.prototype,"hasVVColor",void 0),e([t()],i.prototype,"hasVerticalOffset",void 0),e([t()],i.prototype,"hasScreenSizePerspective",void 0),e([t()],i.prototype,"hasRotation",void 0),e([t()],i.prototype,"debugDrawLabelBorder",void 0),e([t()],i.prototype,"hasPolygonOffset",void 0),e([t()],i.prototype,"depthTestEnabled",void 0),e([t()],i.prototype,"pixelSnappingEnabled",void 0),e([t()],i.prototype,"draped",void 0),e([t()],i.prototype,"terrainDepthTest",void 0),e([t()],i.prototype,"cullAboveTerrain",void 0),e([t()],i.prototype,"occlusionPass",void 0),e([t()],i.prototype,"occludedFragmentFade",void 0),e([t()],i.prototype,"horizonCullingEnabled",void 0),e([t()],i.prototype,"isFocused",void 0);export{i as HUDMaterialTechniqueConfiguration};
5
+ import{__decorate as e}from"tslib";import{parameter as t}from"../core/shaderTechnique/ShaderTechniqueConfiguration.js";import{DefaultTechniqueConfiguration as i}from"../materials/DefaultTechniqueConfiguration.js";class o extends i{constructor(e){super(),this.spherical=e,this.screenCenterOffsetUnitsEnabled=!1,this.visibilityPixelEnabled=!0,this.signedDistanceFieldEnabled=!1,this.sampleSignedDistanceFieldTexelCenter=!1,this.hasVVSize=!1,this.hasVVColor=!1,this.hasVerticalOffset=!1,this.hasScreenSizePerspective=!1,this.hasRotation=!1,this.debugDrawLabelBorder=!1,this.hasPolygonOffset=!1,this.depthTestEnabled=!0,this.pixelSnappingEnabled=!0,this.draped=!1,this.terrainDepthTest=!1,this.cullAboveTerrain=!1,this.occlusionPass=!1,this.occludedFragmentFade=!1,this.horizonCullingEnabled=!0,this.isFocused=!0,this.olidColorInstanced=!1,this.textureCoordinateType=0,this.emissionSource=0,this.discardInvisibleFragments=!0,this.hasVVInstancing=!1,this.snowCover=!1}}e([t()],o.prototype,"screenCenterOffsetUnitsEnabled",void 0),e([t()],o.prototype,"visibilityPixelEnabled",void 0),e([t()],o.prototype,"signedDistanceFieldEnabled",void 0),e([t()],o.prototype,"sampleSignedDistanceFieldTexelCenter",void 0),e([t()],o.prototype,"hasVVSize",void 0),e([t()],o.prototype,"hasVVColor",void 0),e([t()],o.prototype,"hasVerticalOffset",void 0),e([t()],o.prototype,"hasScreenSizePerspective",void 0),e([t()],o.prototype,"hasRotation",void 0),e([t()],o.prototype,"debugDrawLabelBorder",void 0),e([t()],o.prototype,"hasPolygonOffset",void 0),e([t()],o.prototype,"depthTestEnabled",void 0),e([t()],o.prototype,"pixelSnappingEnabled",void 0),e([t()],o.prototype,"draped",void 0),e([t()],o.prototype,"terrainDepthTest",void 0),e([t()],o.prototype,"cullAboveTerrain",void 0),e([t()],o.prototype,"occlusionPass",void 0),e([t()],o.prototype,"occludedFragmentFade",void 0),e([t()],o.prototype,"horizonCullingEnabled",void 0),e([t()],o.prototype,"isFocused",void 0);export{o as HUDMaterialTechniqueConfiguration};
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as e}from"tslib";import{parameter as t}from"../core/shaderTechnique/ShaderTechniqueConfiguration.js";import{DefaultTechniqueConfiguration as i}from"../materials/DefaultTechniqueConfiguration.js";class r extends i{constructor(e){super(),this.spherical=e,this.screenCenterOffsetUnitsEnabled=!1,this.occlusionTestEnabled=!0,this.hasVerticalOffset=!1,this.hasScreenSizePerspective=!1,this.hudDepth=!1,this.hudDepthAlignStart=!1,this.terrainDepthTest=!1,this.draped=!1}}e([t()],r.prototype,"screenCenterOffsetUnitsEnabled",void 0),e([t()],r.prototype,"occlusionTestEnabled",void 0),e([t()],r.prototype,"hasVerticalOffset",void 0),e([t()],r.prototype,"hasScreenSizePerspective",void 0),e([t()],r.prototype,"hudDepth",void 0),e([t()],r.prototype,"hudDepthAlignStart",void 0),e([t()],r.prototype,"terrainDepthTest",void 0);export{r as LineCalloutTechniqueConfiguration};
5
+ import{__decorate as e}from"tslib";import{parameter as t}from"../core/shaderTechnique/ShaderTechniqueConfiguration.js";import{DefaultTechniqueConfiguration as i}from"../materials/DefaultTechniqueConfiguration.js";class r extends i{constructor(e){super(),this.spherical=e,this.screenCenterOffsetUnitsEnabled=!1,this.useVisibilityPixel=!0,this.hasVerticalOffset=!1,this.hasScreenSizePerspective=!1,this.hudDepth=!1,this.hudDepthAlignStart=!1,this.terrainDepthTest=!1,this.draped=!1}}e([t()],r.prototype,"screenCenterOffsetUnitsEnabled",void 0),e([t()],r.prototype,"useVisibilityPixel",void 0),e([t()],r.prototype,"hasVerticalOffset",void 0),e([t()],r.prototype,"hasScreenSizePerspective",void 0),e([t()],r.prototype,"hudDepth",void 0),e([t()],r.prototype,"hudDepthAlignStart",void 0),e([t()],r.prototype,"terrainDepthTest",void 0);export{r as LineCalloutTechniqueConfiguration};
@@ -2,16 +2,16 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import{isColor as o}from"../core/shaderLibrary/ShaderOutput.js";import{Emissions as r}from"../core/shaderLibrary/output/Emissions.glsl.js";import{OutputHighlight as l}from"../core/shaderLibrary/output/OutputHighlight.glsl.js";import{ColorConversion as i}from"../core/shaderLibrary/util/ColorConversion.glsl.js";import{If as a,glsl as s}from"../core/shaderModules/glsl.js";import{alphaCutoff as t}from"../../../../webscene/support/AlphaCutoff.js";function e(e,n){e.include(l,n),e.include(r,n),e.fragment.include(i);const{output:f,oitPass:u,hasEmission:d,discardInvisibleFragments:m,oitPremultipliedAlpha:p,snowCover:c}=n,C=9===f,g=o(f)&&1===u,h=o(f)&&1!==u;let v=0;(h||g)&&e.outputs.add("fragColor","vec4",v++),d&&e.outputs.add("fragEmission","vec4",v++),g&&e.outputs.add("fragAlpha","float",v++),e.fragment.code.add(s`
6
- void outputColorHighlightOLID(vec4 finalColor, const in vec3 vWorldPosition, vec3 emissiveSymbolColor ${a(c,", float snow")}) {
7
- ${a(C,"finalColor.a = 1.0;")}
8
- ${a(m,`if (finalColor.a < ${s.float(t)}) { discard; }`)}
5
+ import{isColor as o}from"../core/shaderLibrary/ShaderOutput.js";import{Emissions as r}from"../core/shaderLibrary/output/Emissions.glsl.js";import{OutputHighlight as l}from"../core/shaderLibrary/output/OutputHighlight.glsl.js";import{ColorConversion as i}from"../core/shaderLibrary/util/ColorConversion.glsl.js";import{If as s,glsl as a}from"../core/shaderModules/glsl.js";import{alphaCutoff as t}from"../../../../webscene/support/AlphaCutoff.js";function e(e,n){e.include(l,n),e.include(r,n),e.fragment.include(i);const{output:f,oitPass:u,hasEmission:d,discardInvisibleFragments:m,oitPremultipliedAlpha:p,snowCover:c}=n,C=9===f,g=o(f)&&1===u,h=o(f)&&1!==u;let v=0;(h||g)&&e.outputs.add("fragColor","vec4",v++),d&&e.outputs.add("fragEmission","vec4",v++),g&&e.outputs.add("fragAlpha","float",v++),e.fragment.code.add(a`
6
+ void outputColorHighlightOLID(vec4 finalColor, const in vec3 vWorldPosition, vec3 emissiveSymbolColor ${s(c,", float snow")}) {
7
+ ${s(C,"finalColor.a = 1.0;")}
8
+ ${s(m,`if (finalColor.a < ${a.float(t)}) { discard; }`)}
9
9
  finalColor = applySlice(finalColor, vWorldPosition);
10
10
 
11
- ${a(g,`${a(p,"fragColor = vec4(finalColor.rgb, sqrt(finalColor.a));","fragColor = premultiplyAlpha(finalColor);")}\n fragAlpha = finalColor.a;`)}
12
- ${a(h,"fragColor = finalColor;")}
13
- ${a(d,`fragEmission = ${a(c,"mix(finalColor.a * getEmissions(emissiveSymbolColor), vec4(0.0), snow);","finalColor.a * getEmissions(emissiveSymbolColor);")}`)}
11
+ ${s(g,`${s(p,"fragColor = finalColor;","fragColor = premultiplyAlpha(finalColor);")}\n fragAlpha = finalColor.a;`)}
12
+ ${s(h,"fragColor = finalColor;")}
13
+ ${s(d,`fragEmission = ${s(c,"mix(finalColor.a * getEmissions(emissiveSymbolColor), vec4(0.0), snow);","finalColor.a * getEmissions(emissiveSymbolColor);")}`)}
14
14
  calculateOcclusionAndOutputHighlight();
15
- ${a(C,"outputObjectAndLayerIdColor();")}
15
+ ${s(C,"outputObjectAndLayerIdColor();")}
16
16
  }
17
17
  `)}export{e as outputColorHighlightOLID};
@@ -1,3 +1,9 @@
1
+ /**
2
+ * This module contains convenience functions and typings to work with [RenderNode](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-3d-webgl-RenderNode.html).
3
+ *
4
+ * @since 4.29
5
+ * @see [RenderNode](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-3d-webgl-RenderNode.html)
6
+ */
1
7
  import type Camera from "../../Camera.js";
2
8
  import type SpatialReference from "../../geometry/SpatialReference.js";
3
9
  import type SceneView from "../SceneView.js";
@@ -6,8 +6,8 @@ export interface BreakpointsOwnerProperties extends Partial<Pick<BreakpointsOwne
6
6
  export abstract class BreakpointsOwner {
7
7
  constructor(...args: any[]);
8
8
  /**
9
- * A convenience property used for defining the breakpoints on the {@link views/BreakpointsOwner#height}
10
- * and {@link views/BreakpointsOwner#width} of the view. The sizes specified here determine the values of
9
+ * A convenience property used for defining the breakpoints on the [View2D#height](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View2D.html#height)
10
+ * and [View2D#width](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View2D.html#width) of the view. The sizes specified here determine the values of
11
11
  * the [widthBreakpoint](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BreakpointsOwner.html#widthBreakpoint) and [heightBreakpoint](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BreakpointsOwner.html#heightBreakpoint)
12
12
  * properties depending on the view's size.
13
13
  *
@@ -51,7 +51,7 @@ export abstract class BreakpointsOwner {
51
51
  accessor breakpoints: Breakpoints;
52
52
  /**
53
53
  * A convenience property indicating the general size of the view's height. This value is
54
- * determined based on where the view's {@link views/BreakpointsOwner#height} falls in the ranges defined
54
+ * determined based on where the view's [View2D#height](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View2D.html#height) falls in the ranges defined
55
55
  * in the [breakpoints](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BreakpointsOwner.html#breakpoints) property. See the table below
56
56
  * for a list of possible values. Use the [breakpoints](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BreakpointsOwner.html#breakpoints) property to
57
57
  * override the default thresholds.
@@ -63,11 +63,11 @@ export abstract class BreakpointsOwner {
63
63
  *
64
64
  * Possible Value | Description | Default thresholds (pixels)
65
65
  * ---------------|-------------|----------------------------
66
- * xsmall | The {@link views/BreakpointsOwner#height} of the view is smaller than the value set in the `xsmall` [breakpoint](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BreakpointsOwner.html#breakpoints). | < 545
67
- * small | The {@link views/BreakpointsOwner#height} of the view is between the values set in the `xsmall` and `small` [breakpoints](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BreakpointsOwner.html#breakpoints). | 545 - 768
68
- * medium | The {@link views/BreakpointsOwner#height} of the view is between the values set in the `small` and `medium` [breakpoints](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BreakpointsOwner.html#breakpoints). | 769 - 992
69
- * large | The {@link views/BreakpointsOwner#height} of the view is between the values set in the `medium` and `large` [breakpoints](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BreakpointsOwner.html#breakpoints). | 993 - 1200
70
- * xlarge | The {@link views/BreakpointsOwner#height} of the view is larger than the value set in the `large` [breakpoint](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BreakpointsOwner.html#breakpoints). | > 1200
66
+ * xsmall | The [View2D#height](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View2D.html#height) of the view is smaller than the value set in the `xsmall` [breakpoint](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BreakpointsOwner.html#breakpoints). | < 545
67
+ * small | The [View2D#height](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View2D.html#height) of the view is between the values set in the `xsmall` and `small` [breakpoints](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BreakpointsOwner.html#breakpoints). | 545 - 768
68
+ * medium | The [View2D#height](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View2D.html#height) of the view is between the values set in the `small` and `medium` [breakpoints](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BreakpointsOwner.html#breakpoints). | 769 - 992
69
+ * large | The [View2D#height](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View2D.html#height) of the view is between the values set in the `medium` and `large` [breakpoints](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BreakpointsOwner.html#breakpoints). | 993 - 1200
70
+ * xlarge | The [View2D#height](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View2D.html#height) of the view is larger than the value set in the `large` [breakpoint](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BreakpointsOwner.html#breakpoints). | > 1200
71
71
  *
72
72
  * @see [Sample: Responsive widgets](https://developers.arcgis.com/javascript/latest/sample-code/view-breakpoints/)
73
73
  * @see [Sample: Responsive apps using CSS](https://developers.arcgis.com/javascript/latest/sample-code/view-breakpoints-css/)
@@ -93,13 +93,13 @@ export abstract class BreakpointsOwner {
93
93
  *
94
94
  * Possible Value | Description
95
95
  * ---------------|------------
96
- * landscape | The {@link views/BreakpointsOwner#width} of the view is greater than its {@link views/BreakpointsOwner#height}.
97
- * portrait | The {@link views/BreakpointsOwner#width} of the view is equal to or smaller than its {@link views/BreakpointsOwner#height}.
96
+ * landscape | The [View2D#width](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View2D.html#width) of the view is greater than its [View2D#height](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View2D.html#height).
97
+ * portrait | The [View2D#width](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View2D.html#width) of the view is equal to or smaller than its [View2D#height](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View2D.html#height).
98
98
  */
99
99
  get orientation(): BreakpointOrientation;
100
100
  /**
101
101
  * A convenience property indicating the general size of the view's width. This value is
102
- * determined based on where the view's {@link views/BreakpointsOwner#width} falls in the ranges defined
102
+ * determined based on where the view's [View2D#width](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View2D.html#width) falls in the ranges defined
103
103
  * in the [breakpoints](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BreakpointsOwner.html#breakpoints) property. See the table below
104
104
  * for a list of possible values. Use the [breakpoints](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BreakpointsOwner.html#breakpoints) property to
105
105
  * override the default thresholds.
@@ -111,11 +111,11 @@ export abstract class BreakpointsOwner {
111
111
  *
112
112
  * Possible Value | Description | Default thresholds (pixels)
113
113
  * ---------------|-------------|-------------------
114
- * xsmall | The {@link views/BreakpointsOwner#width} of the view is smaller than the value set in the `xsmall` [breakpoint](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BreakpointsOwner.html#breakpoints). | < 545
115
- * small | The {@link views/BreakpointsOwner#width} of the view is between the values set in the `xsmall` and `small` [breakpoints](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BreakpointsOwner.html#breakpoints). | 545 - 768
116
- * medium | The {@link views/BreakpointsOwner#width} of the view is between the values set in the `small` and `medium` [breakpoints](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BreakpointsOwner.html#breakpoints). | 769 - 992
117
- * large | The {@link views/BreakpointsOwner#width} of the view is between the values set in the `medium` and `large` [breakpoints](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BreakpointsOwner.html#breakpoints). | 993 - 1200
118
- * xlarge | The {@link views/BreakpointsOwner#width} of the view is larger than the value set in the `large` [breakpoint](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BreakpointsOwner.html#breakpoints). | > 1200
114
+ * xsmall | The [View2D#width](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View2D.html#width) of the view is smaller than the value set in the `xsmall` [breakpoint](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BreakpointsOwner.html#breakpoints). | < 545
115
+ * small | The [View2D#width](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View2D.html#width) of the view is between the values set in the `xsmall` and `small` [breakpoints](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BreakpointsOwner.html#breakpoints). | 545 - 768
116
+ * medium | The [View2D#width](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View2D.html#width) of the view is between the values set in the `small` and `medium` [breakpoints](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BreakpointsOwner.html#breakpoints). | 769 - 992
117
+ * large | The [View2D#width](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View2D.html#width) of the view is between the values set in the `medium` and `large` [breakpoints](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BreakpointsOwner.html#breakpoints). | 993 - 1200
118
+ * xlarge | The [View2D#width](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View2D.html#width) of the view is larger than the value set in the `large` [breakpoint](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BreakpointsOwner.html#breakpoints). | > 1200
119
119
  *
120
120
  * @see [Sample: Responsive widgets](https://developers.arcgis.com/javascript/latest/sample-code/view-breakpoints/)
121
121
  * @see [Sample: Responsive apps using CSS](https://developers.arcgis.com/javascript/latest/sample-code/view-breakpoints-css/)
@@ -2,15 +2,15 @@
2
2
  export interface Breakpoints {
3
3
  /**
4
4
  * Sets the `large` breakpoint in pixels used by
5
- * {@link views/IBreakpointsOwner#widthBreakpoint} and {@link views/IBreakpointsOwner#heightBreakpoint}. If the
6
- * view's {@link views/IBreakpointsOwner#height} or {@link views/IBreakpointsOwner#width} is between this value and the value
5
+ * [widthBreakpoint](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BreakpointsOwner.html#widthBreakpoint) and [heightBreakpoint](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BreakpointsOwner.html#heightBreakpoint). If the
6
+ * view's [height](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View2D.html#height) or [width](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View2D.html#width) is between this value and the value
7
7
  * of the `medium` property, then the value of
8
- * {@link views/IBreakpointsOwner#widthBreakpoint} or {@link views/IBreakpointsOwner#heightBreakpoint} will
8
+ * [widthBreakpoint](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BreakpointsOwner.html#widthBreakpoint) or [heightBreakpoint](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BreakpointsOwner.html#heightBreakpoint) will
9
9
  * be `large`.
10
- * {@link views/IBreakpointsOwner#widthBreakpoint} and {@link views/IBreakpointsOwner#heightBreakpoint}. If the
11
- * view's {@link views/IBreakpointsOwner#height} or {@link views/IBreakpointsOwner#width} is greater than the value
10
+ * [widthBreakpoint](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BreakpointsOwner.html#widthBreakpoint) and [heightBreakpoint](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BreakpointsOwner.html#heightBreakpoint). If the
11
+ * view's [height](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View2D.html#height) or [width](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View2D.html#width) is greater than the value
12
12
  * of the `large` property, then the value of
13
- * {@link views/IBreakpointsOwner#widthBreakpoint} or {@link views/IBreakpointsOwner#heightBreakpoint} will
13
+ * [widthBreakpoint](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BreakpointsOwner.html#widthBreakpoint) or [heightBreakpoint](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BreakpointsOwner.html#heightBreakpoint) will
14
14
  * be `xlarge`.
15
15
  *
16
16
  * @default 1200
@@ -18,10 +18,10 @@ export interface Breakpoints {
18
18
  large: number;
19
19
  /**
20
20
  * Sets the `medium` breakpoint in pixels used by
21
- * {@link views/IBreakpointsOwner#widthBreakpoint} and {@link views/IBreakpointsOwner#heightBreakpoint}. If the
22
- * view's {@link views/IBreakpointsOwner#height} or {@link views/IBreakpointsOwner#width} is between this value and the value
21
+ * [widthBreakpoint](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BreakpointsOwner.html#widthBreakpoint) and [heightBreakpoint](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BreakpointsOwner.html#heightBreakpoint). If the
22
+ * view's [height](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View2D.html#height) or [width](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View2D.html#width) is between this value and the value
23
23
  * of the `small` property, then the value of
24
- * {@link views/IBreakpointsOwner#widthBreakpoint} or {@link views/IBreakpointsOwner#heightBreakpoint} will
24
+ * [widthBreakpoint](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BreakpointsOwner.html#widthBreakpoint) or [heightBreakpoint](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BreakpointsOwner.html#heightBreakpoint) will
25
25
  * be `medium`.
26
26
  *
27
27
  * @default 992
@@ -29,10 +29,10 @@ export interface Breakpoints {
29
29
  medium: number;
30
30
  /**
31
31
  * Sets the `small` breakpoint in pixels used by
32
- * {@link views/IBreakpointsOwner#widthBreakpoint} and {@link views/IBreakpointsOwner#heightBreakpoint}. If the
33
- * view's {@link views/IBreakpointsOwner#height} or {@link views/IBreakpointsOwner#width} is between this value and the value
32
+ * [widthBreakpoint](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BreakpointsOwner.html#widthBreakpoint) and [heightBreakpoint](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BreakpointsOwner.html#heightBreakpoint). If the
33
+ * view's [height](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View2D.html#height) or [width](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View2D.html#width) is between this value and the value
34
34
  * of the `xsmall` property, then the value of
35
- * {@link views/IBreakpointsOwner#widthBreakpoint} or {@link views/IBreakpointsOwner#heightBreakpoint} will
35
+ * [widthBreakpoint](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BreakpointsOwner.html#widthBreakpoint) or [heightBreakpoint](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BreakpointsOwner.html#heightBreakpoint) will
36
36
  * be `small`.
37
37
  *
38
38
  * @default 768
@@ -40,9 +40,9 @@ export interface Breakpoints {
40
40
  small: number;
41
41
  /**
42
42
  * Sets the `xsmall` breakpoint in pixels used by
43
- * {@link views/IBreakpointsOwner#widthBreakpoint} and {@link views/IBreakpointsOwner#heightBreakpoint}. If the
44
- * view's {@link views/IBreakpointsOwner#height} or {@link views/IBreakpointsOwner#width} is smaller than this value, then the value of
45
- * {@link views/IBreakpointsOwner#widthBreakpoint} or {@link views/IBreakpointsOwner#heightBreakpoint} will
43
+ * [widthBreakpoint](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BreakpointsOwner.html#widthBreakpoint) and [heightBreakpoint](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BreakpointsOwner.html#heightBreakpoint). If the
44
+ * view's [height](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View2D.html#height) or [width](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View2D.html#width) is smaller than this value, then the value of
45
+ * [widthBreakpoint](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BreakpointsOwner.html#widthBreakpoint) or [heightBreakpoint](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BreakpointsOwner.html#heightBreakpoint) will
46
46
  * be `xsmall`.
47
47
  *
48
48
  * @default 544
@@ -52,7 +52,7 @@ export interface MapViewProperties extends View2DProperties {}
52
52
  * can be used.
53
53
  *
54
54
  * `.when()` method on the MapView instance can be called to execute processes that may only run after
55
- * the {@link Map#loaded map has loaded}.
55
+ * the map has loaded.
56
56
  *
57
57
  * ```js
58
58
  * view.when(function() {
@@ -5,7 +5,7 @@ import type { PopupOpenOptions } from "../widgets/Popup/types.js";
5
5
  export interface PopupViewProperties extends Partial<Pick<PopupView, "popupEnabled">> {
6
6
  /**
7
7
  * A [Popup](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Popup.html) object that displays general content or attributes from
8
- * [Map#layers](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#layers) in the {@link views/PopupView#map}.
8
+ * [layers](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#layers) in the [map](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View.html#map).
9
9
  *
10
10
  * By default, the `popup` property is an empty object that allows you to set the popup options.
11
11
  * A [Popup](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Popup.html) instance is automatically created and assigned to the view's [popup](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-PopupView.html#popup)
@@ -45,7 +45,7 @@ export abstract class PopupView {
45
45
  constructor(...args: any[]);
46
46
  /**
47
47
  * A [Popup](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Popup.html) object that displays general content or attributes from
48
- * [Map#layers](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#layers) in the {@link views/PopupView#map}.
48
+ * [layers](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#layers) in the [map](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View.html#map).
49
49
  *
50
50
  * By default, the `popup` property is an empty object that allows you to set the popup options.
51
51
  * A [Popup](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Popup.html) instance is automatically created and assigned to the view's [popup](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-PopupView.html#popup)
@@ -0,0 +1 @@
1
+
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as e}from"tslib";import{isSome as t,difference as s}from"../core/arrayUtils.js";import i from"../core/Collection.js";import{referenceSetter as o}from"../core/collectionUtils.js";import{deprecatedProperty as n}from"../core/deprecate.js";import{EventedAccessor as r}from"../core/Evented.js";import{makeHandle as l}from"../core/handleUtils.js";import a from"../core/Logger.js";import{getOrCreateMapValue as c}from"../core/MapUtils.js";import{destroyMaybe as h}from"../core/maybe.js";import d from"../core/ReactiveMap.js";import{watch as u,on as p,initial as g}from"../core/reactiveUtils.js";import{symmetricDifference as f}from"../core/SetUtils.js";import{property as y,subclass as _}from"../core/accessorSupport/decorators.js";import{UpdatingHandles as m}from"../core/support/UpdatingHandles.js";import{isSubtypeSublayer as w,isSubtypeGroupLayer as v,isKnowledgeGraphLayer as S,isMapImageLayer as b}from"../layers/support/layerUtils.js";import E from"../rest/support/Query.js";import{isTableLayer as M,isISelectableLayer as j,isISelectableLayerView as H,isISelectableLayerViewWithHighlights as L,isISelectableLayerBaseWithEditing as V}from"./support/selectionUtils.js";let C=class extends r{constructor(e){super(e),this._layerEditHandles=new i,this._selectionMap=new d,this._sources=new i,this._trashCan=[],this._updatingHandles=new m,this._vizTaskId=0,this.highlightEnabled=!0,this.highlightName="default",this.layerViewMap=new WeakMap,this.view=null}initialize(){this.addHandles([u(()=>[this.view,this.highlightEnabled],()=>{this._refreshVisualization()}),u(()=>this.view,e=>{e?.when().then(()=>this.syncSources())},g),p(()=>this.sources,"change",e=>{const t=this._selectionMap,s=[];for(const i of e.removed){const e=t.get(i);e&&(t.delete(i),e.highlightHandle?.remove(),s.push({layer:i,selection:[],added:[],removed:[...e.selection]}))}this._refreshListeners(),s.length&&this._onSelectionChange(s)},{onListenerAdd:()=>this._refreshListeners()})])}destroy(){this.clear(),this._layerEditHandles.destroyAll(),this._updatingHandles.destroy(),h(this._layerEditHandles),h(this._sources)}get count(){let e=0;for(const t of this._selectionMap.values())e+=t.selection.length;return e}get hasSelection(){return this.count>0}get selections(){return Array.from(this._selectionMap.entries()).map(e=>{const[t,s]=e;return{layer:t,selection:[...s.selection]}})}get showHighlight(){return this.highlightEnabled}set showHighlight(e){n(a.getLogger(this),"showHighlight",{replacement:"highlightEnabled"}),this.highlightEnabled=e}get sources(){return this._sources}set sources(e){o(e,this._sources)}get updating(){return this._updatingHandles.updating}clear(){const e=this._selectionMap.values();this._trashCan.push(...e);const t=[];for(const[s,i]of this._selectionMap.entries())t.push({layer:s,added:[],removed:[...i.selection],selection:[]});this._selectionMap.clear(),this._onSelectionChange(t)}getSelection(e){return this._selectionMap.get(e)?.selection}syncSources(){const e=new Set,t=this.view?.map;if(!t)return;const s=t=>{S(t)?(t.layers?.forEach(s),t.tables?.forEach(s)):b(t)?(t.sublayers?.forEach(s),t.subtables?.forEach(s)):v(t)?t.sublayers?.forEach(s):j(t)&&e.add(t)};t.allLayers.forEach(s),t.allTables.forEach(s),this.sources=[...e]}async getSelectedFeatures(e,s={},i="layerView"){const{view:o,selections:n}=this;if(!o&&"layerView"===i)return a.getLogger(this).warn("Cannot query layer views without a view."),[];const r=(e?.length?n.filter(t=>e.includes(t.layer)):n).map(async e=>{const{layer:t,selection:o}=e;if(o.length){if("layerView"===i&&!M(t)){const e=await this._findLayerView(t);if(e)return I(e,o,s)}return I(t,o,s)}}).filter(t);return(await Promise.all(r)).filter(t)}updateSelection(e){const t=new Map;for(const[s,n]of this._selectionMap)t.set(s,[...n.selection]);let i=!1;const o=e.current.concat(e.added);for(const s of o){const e=s.sourceLayer,o=s.getObjectId();if(this.sources.includes(e)&&(j(e)||w(e))&&null!==o){const s=c(t,e,()=>[]);s.includes(o)||(s.push(o),i=!0)}}for(const s of e.removed){const e=s.sourceLayer,o=s.getObjectId();if(this.sources.includes(e)&&(j(e)||w(e))&&null!==o){const s=t.get(e),n=s?.indexOf(o);void 0!==n&&n>=0&&(s?.splice(n,1),i=!0)}}if(i){const{_selectionMap:e,_trashCan:i}=this,o=[];for(const[n,r]of t){const t=e.get(n);void 0!==t&&i.push(t),e.set(n,{selection:r}),o.push({layer:n,selection:r,...s(void 0!==t?t.selection:[],r)})}this._onSelectionChange(o)}}setSelection(e,t){this._setSelection(e,t)}appendToSelection(e,t){const s=this._selectionMap.get(e),i=void 0!==s?[...s.selection]:[];for(const o of t)i.includes(o)||i.push(o);this._setSelection(e,i)}removeFromSelection(e,t){const s=this._selectionMap.get(e);if(!s)return;const i=[];for(const o of s.selection)t.includes(o)||i.push(o);this._setSelection(e,i)}toggleInSelection(e,t){const s=this._selectionMap.get(e);if(!s||0===s.selection.length)return void this._setSelection(e,t);const i=new Set(s.selection),o=new Set(t),n=f(i,o);this._setSelection(e,Array.from(n))}async _findLayerView(e){const t=this.layerViewMap.get(e);if(t||!this.view)return t;const s=w(e)&&e.parent?e.parent:e,i=await this.view.whenLayerView(s).catch(()=>{});return H(i)?(this.layerViewMap.set(e,i),i.addHandles(l(()=>this.layerViewMap.delete(e))),i):void 0}_onSelectionChange(e){this._refreshVisualization(),this.emit("selection-change",{view:this.view,changes:e})}async _refreshVisualization(){await this._updatingHandles.addPromise(this._updateVisualization())}async _updateVisualization(){for(this._vizTaskId++;this._trashCan.length>0;){const e=this._trashCan.pop();e?.highlightHandle?.remove()}const{_selectionMap:e,highlightName:t,sources:s}=this,i=this.view&&this.highlightEnabled,o=this._vizTaskId;for(const n of s){const s=e.get(n);if(s?.highlightHandle?.remove(),i&&s?.selection.length&&!M(n)){const e=await this._findLayerView(n);L(e)&&o===this._vizTaskId&&(s.highlightHandle=e.highlight(s.selection,{name:t}))}}}_refreshListeners(){this._layerEditHandles.destroyAll();const e=new Set(this.sources.map(e=>w(e)?e.parent:e));for(const t of e)j(t)&&V(t)&&this._layerEditHandles.push(t.on("edits",e=>this._onLayerEdit(e,t)))}_onLayerEdit(e,t){if(v(t))this._onParentLayerEdit(e,t);else if(e.deletedFeatures.length&&this._selectionMap.has(t)){const s=[];e.deletedFeatures.forEach(({error:e,objectId:t})=>{null!=t&&null==e&&s.push(t)}),this.removeFromSelection(t,s)}}_onParentLayerEdit(e,t){const{deletedFeatures:s,edits:i,updatedFeatures:o}=e;if(i?.updateFeatures?.forEach(e=>{const s=e.getObjectId()??e.attributes[t.objectIdField];if(null==s)return;if(o.find(e=>e.objectId===s)?.error)return;const i=t.findSublayerForFeature(e);if(!j(i))return;const n=t.sublayers.find(e=>!(!j(e)||!this.getSelection(e)?.includes(s)));j(n)&&n!==i&&(this.removeFromSelection(n,[s]),this.appendToSelection(i,[s]))}),s.length){const e=[];s.forEach(({error:t,objectId:s})=>{null!=s&&null==t&&e.push(s)}),t.sublayers.forEach(t=>{j(t)&&this._selectionMap.has(t)&&this.removeFromSelection(t,e)})}}_setSelection(e,t){if(!this.sources.includes(e))throw new Error(`Cannot set selection on layer ${e.title} because it is not in 'sources'`);const i=this._selectionMap.get(e);if(void 0===i||!F(i,{selection:t})){void 0!==i&&this._trashCan.push(i),this._selectionMap.set(e,{selection:[...t]});const o={layer:e,selection:[...t],...s(void 0!==i?i.selection:[],t)};this._onSelectionChange([o])}}};e([y()],C.prototype,"_layerEditHandles",void 0),e([y()],C.prototype,"_selectionMap",void 0),e([y()],C.prototype,"_sources",void 0),e([y()],C.prototype,"_updatingHandles",void 0),e([y({readOnly:!0,nonNullable:!0})],C.prototype,"count",null),e([y({readOnly:!0,nonNullable:!0})],C.prototype,"hasSelection",null),e([y()],C.prototype,"highlightEnabled",void 0),e([y()],C.prototype,"highlightName",void 0),e([y()],C.prototype,"layerViewMap",void 0),e([y({readOnly:!0,nonNullable:!0})],C.prototype,"selections",null),e([y()],C.prototype,"showHighlight",null),e([y()],C.prototype,"sources",null),e([y()],C.prototype,"updating",null),e([y()],C.prototype,"view",void 0),C=e([_("esri.views.SelectionManager")],C);const F=(e,t)=>{if(null==e&&null==t)return!0;if(null!=e&&null==t||null==e&&null!=t)return!1;if(null!=e&&null!=t&&null!=e.selection&&null!=t.selection){const s=[...e.selection],i=[...t.selection];if(s.length!==i.length)return!1;s.sort(),i.sort();for(let e=0;e<s.length;e++)if(s[e]!==i[e])return!1}return!0},I=async(e,t,s={})=>e.queryFeatures(new E({...s,objectIds:t})).then(t=>({data:t,layer:H(e)?e.layer:e})),z=C;export{z as default};
5
+ import{__decorate as e}from"tslib";import{isSome as t,difference as s}from"../core/arrayUtils.js";import i from"../core/Collection.js";import{referenceSetter as o}from"../core/collectionUtils.js";import{deprecatedProperty as n,deprecatedFunction as r}from"../core/deprecate.js";import{EventedAccessor as l}from"../core/Evented.js";import{makeHandle as a}from"../core/handleUtils.js";import c from"../core/Logger.js";import{getOrCreateMapValue as h}from"../core/MapUtils.js";import{destroyMaybe as d}from"../core/maybe.js";import p from"../core/ReactiveMap.js";import{watch as g,on as u,initial as f}from"../core/reactiveUtils.js";import{addMany as y,symmetricDifference as m}from"../core/SetUtils.js";import{property as _,subclass as w}from"../core/accessorSupport/decorators.js";import{UpdatingHandles as v}from"../core/support/UpdatingHandles.js";import{getGraphicLayer as S}from"../graphic/graphicOriginUtils.js";import{isSubtypeSublayer as M,isSubtypeGroupLayer as E,isKnowledgeGraphLayer as b,isMapImageLayer as j}from"../layers/support/layerUtils.js";import H from"../rest/support/Query.js";import{isISelectableLayerWithObjectIds as L,isISelectableLayerViewWithObjectIds as V,isISelectableLayer as C,isISelectableLayerView as I,isTableLayer as U,isISelectableLayerViewWithHighlights as F,isISelectableLayerWithGraphics as O,isISelectableLayerBaseWithEditing as z}from"./support/selectionUtils.js";let T=class extends l{constructor(e){super(e),this._layerEditHandles=new i,this._selectionMap=new p,this._sources=new i,this._trashCan=[],this._updatingHandles=new v,this._vizTaskId=0,this.highlightEnabled=!0,this.highlightName="default",this.layerViewMap=new WeakMap,this.view=null}initialize(){this.addHandles([g(()=>[this.view,this.highlightEnabled],()=>{this._refreshVisualization()}),g(()=>this.view,e=>{e?.when().then(()=>this.syncSources())},f),u(()=>this.sources,"change",e=>{const t=this._selectionMap,s=[];for(const i of e.removed){const e=t.get(i);e&&(t.delete(i),e.highlightHandle?.remove(),s.push({layer:i,selection:[],added:[],removed:[...e.selection]}))}this._refreshListeners(),s.length&&this._onSelectionChange(s)},{onListenerAdd:()=>this._refreshListeners()})])}destroy(){this.clear(),this._layerEditHandles.destroyAll(),this._updatingHandles.destroy(),d(this._layerEditHandles),d(this._sources)}get count(){let e=0;for(const t of this._selectionMap.values())e+=t.selection.length;return e}get hasSelection(){return this.count>0}get selections(){return Array.from(this._selectionMap.entries()).map(e=>{const[t,s]=e;return{layer:t,selection:[...s.selection]}})}get showHighlight(){return this.highlightEnabled}set showHighlight(e){n(c.getLogger(this),"showHighlight",{replacement:"highlightEnabled"}),this.highlightEnabled=e}get sources(){return this._sources}set sources(e){o(e,this._sources)}get updating(){return this._updatingHandles.updating}add(e,t){const s=new Set;y(s,this._selectionMap.get(e)?.selection);for(const i of t)s.add(i);this._setSelection(e,Array.from(s))}clear(){const e=this._selectionMap.values();this._trashCan.push(...e);const t=[];for(const[s,i]of this._selectionMap.entries())t.push({layer:s,added:[],removed:[...i.selection],selection:[]});this._selectionMap.clear(),this._onSelectionChange(t)}getSelection(e){return this._selectionMap.get(e)?.selection}syncSources(){const e=new Set,t=this.view?.map;if(!t)return;const s=t=>{b(t)?(t.layers?.forEach(s),t.tables?.forEach(s)):j(t)?(t.sublayers?.forEach(s),t.subtables?.forEach(s)):E(t)?t.sublayers?.forEach(s):C(t)&&e.add(t)};t.allLayers.forEach(s),t.allTables.forEach(s),this.sources=[...e]}async getSelectedFeatures(e,s={},i="layerView"){const{view:o,selections:n}=this;if(!o&&"layerView"===i)return c.getLogger(this).warn("Cannot query layer views without a view."),[];const r=n.map(async t=>{const{layer:n,selection:r}=t;if(r.length&&L(n)&&(!e||e.includes(n))){if(o&&"layerView"===i&&!n.isTable){const e=await this._findLayerView(n);if(V(e))return N(e,r,s)}return N(n,r,s)}}).filter(t);return(await Promise.all(r)).filter(t)}updateSelection(e){const t=new Map;for(const[s,n]of this._selectionMap)t.set(s,new Set(n.selection));let i=!1;const o=e.current.concat(e.added);for(const s of o){const e=S(s);if(C(e)&&this.sources.includes(e)){const o=h(t,e,()=>new Set),n=L(e)?s.getObjectId():s;null!=n&&(o.add(n),i=!0)}}for(const s of e.removed){const e=S(s);if(C(e)&&this.sources.includes(e)){const o=t.get(e),n=L(e)?s.getObjectId():s;n&&o&&(o.delete(n),i=!0)}}if(i){const{_selectionMap:e,_trashCan:i}=this,o=[];for(const[n,r]of t){const t=e.get(n),l=Array.from(r);void 0!==t&&i.push(t),e.set(n,{selection:l}),o.push({layer:n,selection:l,...s(void 0!==t?t.selection:[],l)})}this._onSelectionChange(o)}}setSelection(e,t){r(c.getLogger(this),"SelectionManager.setSelection is deprecated. Use SelectionManager.replace instead.",{replacement:"SelectionManager.replace",warnOnce:!0}),this.replace(e,t)}appendToSelection(e,t){r(c.getLogger(this),"SelectionManager.appendToSelection is deprecated. Use SelectionManager.add instead.",{replacement:"SelectionManager.add",warnOnce:!0}),this.add(e,t)}remove(e,t){const s=this._selectionMap.get(e);if(!s)return;const i=[];for(const o of s.selection)t.includes(o)||i.push(o);this._setSelection(e,i)}replace(e,t){this._setSelection(e,t)}removeFromSelection(e,t){r(c.getLogger(this),"SelectionManager.removeFromSelection is deprecated. Use SelectionManager.remove instead.",{replacement:"SelectionManager.remove",warnOnce:!0}),this.remove(e,t)}toggle(e,t){const s=this._selectionMap.get(e);if(!s||0===s.selection.length)return void this._setSelection(e,t);const i=new Set(s.selection),o=new Set(t),n=m(i,o);this._setSelection(e,Array.from(n))}toggleInSelection(e,t){r(c.getLogger(this),"SelectionManager.toggleInSelection is deprecated. Use SelectionManager.toggle instead.",{replacement:"SelectionManager.toggle",warnOnce:!0}),this.toggle(e,t)}async _findLayerView(e){const t=this.layerViewMap.get(e);if(t||!this.view)return t;const s=M(e)&&e.parent?e.parent:e,i=await this.view.whenLayerView(s).catch(()=>{});return I(i)?(this.layerViewMap.set(e,i),i.addHandles(a(()=>this.layerViewMap.delete(e))),i):void 0}_onSelectionChange(e){this._refreshVisualization(),this.emit("selection-change",{view:this.view,changes:e})}async _refreshVisualization(){await this._updatingHandles.addPromise(this._updateVisualization())}async _updateVisualization(){for(this._vizTaskId++;this._trashCan.length>0;){const e=this._trashCan.pop();e?.highlightHandle?.remove()}const{_selectionMap:e,highlightName:t,sources:s}=this,i=this.view&&this.highlightEnabled,o=this._vizTaskId;for(const n of s){const s=e.get(n);if(s?.highlightHandle?.remove(),i&&s?.selection.length&&!U(n)){const e=await this._findLayerView(n);if(F(e)&&o===this._vizTaskId){const i=s.selection;s.highlightHandle=e.highlight(i,{name:t})}}}}_refreshListeners(){this._layerEditHandles.destroyAll();const e=new Set(this.sources.map(e=>M(e)?e.parent:e));for(const t of e)C(t)&&(O(t)?this._layerEditHandles.push(t.graphics.on("change",e=>this._onGraphicsLayerEdit(t,e))):z(t)&&this._layerEditHandles.push(t.on("edits",e=>this._onLayerEdit(t,e))))}_onLayerEdit(e,t){if(E(e))this._onParentLayerEdit(e,t);else if(t.deletedFeatures.length&&this._selectionMap.has(e)){const s=[];t.deletedFeatures.forEach(({error:e,objectId:t})=>{null!=t&&null==e&&s.push(t)}),this.remove(e,s)}}_onGraphicsLayerEdit(e,t){const{removed:s}=t;s.length&&this._selectionMap.has(e)&&this.remove(e,s)}_onParentLayerEdit(e,t){const{deletedFeatures:s,edits:i,updatedFeatures:o}=t;if(i?.updateFeatures?.forEach(t=>{const s=t.getObjectId()??t.attributes[e.objectIdField];if(null==s)return;if(o.find(e=>e.objectId===s)?.error)return;const i=e.findSublayerForFeature(t);if(!C(i))return;const n=e.sublayers.find(e=>!(!C(e)||!this.getSelection(e)?.includes(s)));C(n)&&n!==i&&(this.remove(n,[s]),this.add(i,[s]))}),s.length){const t=[];s.forEach(({error:e,objectId:s})=>{null!=s&&null==e&&t.push(s)}),e.sublayers.forEach(e=>{C(e)&&this._selectionMap.has(e)&&this.remove(e,t)})}}_setSelection(e,t){if(!this.sources.includes(e))throw new Error(`Cannot set selection on layer ${e.title} because it is not in 'sources'`);const i=this._selectionMap.get(e);if(!i||!A(i,{selection:t})){i&&this._trashCan.push(i),this._selectionMap.set(e,{selection:[...t]});const o=i?s(i.selection,t):{};this._onSelectionChange([{layer:e,selection:[...t],...o}])}}};e([_()],T.prototype,"_layerEditHandles",void 0),e([_()],T.prototype,"_selectionMap",void 0),e([_()],T.prototype,"_sources",void 0),e([_()],T.prototype,"_updatingHandles",void 0),e([_({readOnly:!0,nonNullable:!0})],T.prototype,"count",null),e([_({readOnly:!0,nonNullable:!0})],T.prototype,"hasSelection",null),e([_()],T.prototype,"highlightEnabled",void 0),e([_()],T.prototype,"highlightName",void 0),e([_()],T.prototype,"layerViewMap",void 0),e([_({readOnly:!0,nonNullable:!0})],T.prototype,"selections",null),e([_()],T.prototype,"showHighlight",null),e([_()],T.prototype,"sources",null),e([_()],T.prototype,"updating",null),e([_()],T.prototype,"view",void 0),T=e([w("esri.views.SelectionManager")],T);const A=(e,t)=>{if(null==e&&null==t)return!0;if(null!=e&&null==t||null==e&&null!=t)return!1;if(null!=e&&null!=t&&null!=e.selection&&null!=t.selection){const s=[...e.selection],i=[...t.selection];if(s.length!==i.length)return!1;s.sort(),i.sort();for(let e=0;e<s.length;e++)if(s[e]!==i[e])return!1}return!0},N=async(e,t,s={})=>e.queryFeatures(new H({...s,objectIds:t})).then(t=>({data:t,layer:I(e)?e.layer:e})),k=T;export{k as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as e}from"tslib";import t from"../Color.js";import i from"../Viewpoint.js";import s from"../core/Accessor.js";import{EventedMixin as r}from"../core/Evented.js";import{destroyMaybe as o}from"../core/maybe.js";import{EsriPromiseMixin as a}from"../core/Promise.js";import{watch as n,initial as l,whenOnce as p,syncAndInitial as m}from"../core/reactiveUtils.js";import{property as h,cast as d,subclass as c}from"../core/accessorSupport/decorators.js";import{ensureClass as g}from"../core/accessorSupport/ensureType.js";import f from"../geometry/Extent.js";import u from"../geometry/Point.js";import y from"../geometry/SpatialReference.js";import{load as j,execute as w}from"../geometry/operators/projectOperator.js";import b from"../layers/support/ExtentAndRotationGeoreference.js";import{MediaElementView as v}from"../layers/support/MediaElementView.js";import M from"../layers/support/TileInfo.js";import _ from"../layers/support/VideoElement.js";import{DOMContainer as S}from"./DOMContainer.js";import{Viewport2DBaseMixin as C}from"./Viewport2DBaseMixin.js";import{Viewport2DMixin as V}from"./Viewport2DMixin.js";import x from"./2d/AnimationManager.js";import P from"./2d/MapViewConstraints.js";import"../core/Error.js";import"../core/has.js";import"../core/scheduling.js";import"../core/RandomLCG.js";import"../core/Logger.js";import"../core/mathUtils.js";import"../config.js";import"../symbols/cim/defaultCIMValues.js";import"../core/floatRGBA.js";import"../symbols/Font.js";import"../core/ObjectPool.js";import"../geometry/support/spatialReferenceUtils.js";import"../symbols/cim/effects/EffectAddControlPoints.js";import"../symbols/cim/effects/EffectArrow.js";import"../symbols/cim/effects/EffectBuffer.js";import"../symbols/cim/effects/EffectControlMeasureLine.js";import"../symbols/cim/effects/EffectCut.js";import"../symbols/cim/effects/EffectDashes.js";import"../symbols/cim/effects/EffectDonut.js";import"../symbols/cim/effects/EffectEnclosingPolygon.js";import"../symbols/cim/effects/EffectJog.js";import"../symbols/cim/effects/EffectMove.js";import"../symbols/cim/effects/EffectOffset.js";import"../symbols/cim/effects/EffectRadial.js";import"../symbols/cim/effects/EffectReverse.js";import"../symbols/cim/effects/EffectRotate.js";import"../symbols/cim/effects/EffectScale.js";import"../symbols/cim/effects/EffectSuppress.js";import"../symbols/cim/effects/EffectTaperedPolygon.js";import"../symbols/cim/effects/EffectWave.js";import"../symbols/cim/placements/PlacementAlongLineSameSize.js";import"../symbols/cim/placements/PlacementAtExtremities.js";import"../symbols/cim/placements/PlacementAtMeasuredUnits.js";import"../symbols/cim/placements/PlacementAtRatioPositions.js";import"../symbols/cim/placements/PlacementInsidePolygon.js";import"../symbols/cim/placements/PlacementOnLine.js";import"../symbols/cim/placements/PlacementOnVertices.js";import"../symbols/cim/placements/PlacementPolygonCenter.js";import"../symbols/cim/constants.js";import"../core/libs/gl-matrix-2/factories/vec2f32.js";import"../geometry/Polygon.js";import"../symbols/support/defaults.js";import"../symbols/cim/OverrideHelper.js";import{Container as G}from"./2d/engine/Container.js";import"../core/libs/gl-matrix-2/factories/vec4f32.js";import"./webgl/enums.js";import"./2d/engine/webgl/shaders/BackgroundPrograms.js";import"./webgl/Program.js";import"./webgl/Util.js";import"./webgl/VertexAttributeLayouts.js";import"./webgl/BufferObject.js";import"./2d/engine/webgl/AFeatureTile.js";import"./2d/engine/webgl/DisplayEntity.js";import"./2d/engine/webgl/shaderGraph/techniques/featureTechniqueUtils.js";import"./2d/engine/webgl/cpuMapped/MappedMesh.js";import"./2d/engine/webgl/number.js";import"./2d/engine/webgl/shaders/TileInfoPrograms.js";import"./webgl/Texture.js";import"./2d/engine/webgl/shaders/BitBlitPrograms.js";import"../request.js";import"../core/urlUtils.js";import"../core/pbf.js";import"./2d/engine/webgl/shaders/StencilPrograms.js";import"./2d/engine/webgl/shaderGraph/techniques/shaders/BlendShader.js";import"./2d/engine/webgl/shaderGraph/techniques/shaders/OpacityShader.js";import"./2d/engine/webgl/shaders/HighlightPrograms.js";import"./webgl/FramebufferObject.js";import"./2d/engine/webgl/shaderGraph/techniques/shaders/BlitShader.js";import"./2d/engine/webgl/shaderGraph/techniques/shaders/BloomShader.js";import"./2d/engine/webgl/shaderGraph/techniques/shaders/BlurShader.js";import"./2d/engine/webgl/shaderGraph/techniques/shaders/ColorizeShader.js";import"./2d/engine/webgl/shaderGraph/techniques/shaders/DropShadowShader.js";import"./2d/engine/webgl/meshing/SimpleMesh.js";import"./webgl/Renderbuffer.js";import"./2d/engine/webgl/PooledUint32Array.js";import"./2d/engine/webgl/Profiler.js";import"./2d/engine/webgl/shaderGraph/techniques/TechniqueRegistry.js";import"./2d/engine/webgl/shaderGraph/techniques/animated/attributes.js";import"./2d/engine/webgl/mesh/templates/templateUtils.js";import"./2d/engine/webgl/shaderGraph/techniques/line/LineMeshWriter.js";import"./2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityMeshWriter.js";import"./2d/engine/webgl/shaderGraph/techniques/fill/ComplexFillMeshWriter.js";import"./2d/engine/webgl/shaderGraph/techniques/fill/ComplexOutlineFillMeshWriter.js";import"./2d/engine/webgl/shaderGraph/techniques/fill/FillMeshWriter.js";import"./2d/engine/webgl/shaderGraph/techniques/fill/GradientFillMeshWriter.js";import"./2d/engine/webgl/shaderGraph/techniques/fill/OutlineFillMeshWriter.js";import"./2d/engine/webgl/shaderGraph/techniques/fill/PatternFillMeshWriter.js";import"./2d/engine/webgl/shaderGraph/techniques/fill/PatternOutlineFillMeshWriter.js";import"./2d/engine/webgl/shaderGraph/techniques/heatmap/HeatmapMeshWriter.js";import"../geometry/support/aaBoundingBox.js";import"./2d/engine/webgl/shaderGraph/techniques/text/TextMeshWriter.js";import"./2d/engine/webgl/shaderGraph/techniques/line/GradientStrokeMeshWriter.js";import"./2d/engine/webgl/shaderGraph/techniques/line/TexturedLineMeshWriter.js";import"./2d/engine/webgl/shaderGraph/techniques/markers/MarkerMeshWriter.js";import"../core/sql/UnknownTimeZone.js";import"luxon";import"../intl/locale.js";import"../geometry/Geometry.js";import"../geometry/Multipoint.js";import"../geometry/Polyline.js";import"../layers/support/fieldUtils.js";import"../time/constants.js";import"./2d/engine/webgl/animations/instructions.js";import"./2d/engine/webgl/shaderGraph/techniques/pieChart/PieChartMeshWriter.js";import"./webgl/checkWebGLError.js";import"./webgl/renderState.js";import"./3d/webgl-engine/core/shaderModules/glsl.js";import"./webgl/testSVGPremultipliedAlpha.js";import{ManagedCanvas as E}from"./2d/engine/ManagedCanvas.js";import"./2d/engine/transitions/FadeTransition.js";import"./2d/engine/webgl/meshing/definitions.js";import"./2d/engine/webgl/shaderGraph/techniques/shaders/VideoScreenShader.js";import"./2d/LabelManager.js";import"./2d/layers/graphics/GraphicsView2D.js";import"../chunks/earcut.js";import"../core/libs/gl-matrix-2/factories/vec3f32.js";import"../geometry/support/normalizeUtils.js";import"./2d/layers/support/util.js";import D from"./2d/navigation/MapViewNavigation.js";import"../core/asyncUtils.js";import"../core/support/UpdatingHandles.js";import"./2d/engine/webgl/shaderGraph/techniques/shaders/MagnifierShader.js";import"../core/units.js";import"../geometry/ellipsoidUtils.js";import"../geometry/operators/support/GeographicTransformation.js";import"../geometry/projection/projectors.js";import"./2d/engine/webgl/shaderGraph/techniques/shaders/GridShader.js";import"../geometry/support/geodesicConstants.js";import"../geometry/support/Ellipsoid.js";import{ViewStateManager as R}from"./2d/ViewStateManager.js";import q from"./2d/engine/webgl/Overlay.js";import z from"./2d/engine/webgl/OverlayContainer.js";import O from"./navigation/Navigation.js";import T from"./ui/DefaultUI.js";import W from"./ui/video/DefaultUIVideo.js";const A=new t("#000");let U;async function k(){const[,{ParentStage:e}]=await Promise.all([import("./2d/webglDeps.js"),import("./2d/mapViewDeps.js")]);U=e}const B=.01,F=["feature","geojson","csv","stream","ogc-feature","catalog","wfs","parquet","graphics","group"];let H=class extends(V(C(S(r(a(s)))))){constructor(e){super(e),this._isValid=!1,this._prevZoomEnabled=!1,this._prevRotationEnabled=!1,this.stage=null,this.childStage=null,this._operationalDataView=null,this.operationalDataVisible=!1,this.layer=null,this.map=null,this.navigation=new O,this.ready=!1,this.spatialReference=new y({wkid:0}),this.stateManager=new R({constraints:new P({view:this,minScale:1,maxScale:B})}),this.type="2d",this.ui=new W,this.view2dType="video",this.addHandles([n(()=>this.preconditionsReady,e=>e?this._startup():this._teardown()),n(()=>this.layer,(e,t)=>{t&&(this._teardown(),this._startup()),this.addResolvingPromise(p(()=>this.ready))},l),n(()=>this.videoSize,([e,t])=>{this._extent&&e&&t&&(this._extent.xmax=e,this._extent.ymax=t)}),n(()=>this.size,e=>{this._operationalDataView&&this._operationalDataView.stateManager.resize(e[0],e[1])}),n(()=>[this.layer?.frameEffect,this._effectsContainer],()=>{this._effectsContainer&&(this._effectsContainer.effect=this.layer?.frameEffect??null)},m)])}initialize(){this._prevZoomEnabled="zoom"===this.navigation.actionMap.mouseWheel&&this.ui.components.includes("zoom"),this._prevRotationEnabled="rotate"===this.navigation.actionMap.dragSecondary&&this.ui.components.includes("compass"),this.addHandles([n(()=>[this.operationalDataVisible,this.childStage],()=>{this.childStage&&(this.childStage.videoScreenRenderer.visible=this.operationalDataVisible),this.operationalDataVisible&&(this.scale=1,this.rotation=0),this.navigation&&(this._prevZoomEnabled&&(this.navigation.actionMap.mouseWheel=this.operationalDataVisible?"none":"zoom",this.navigation.actionMap.dragPrimary=this.operationalDataVisible?"none":"pan",this.ui.components&&(this.ui.components=this.operationalDataVisible?this.ui.components.filter(e=>"zoom"!==e):[...new Set([...this.ui.components,"zoom"])])),this._prevRotationEnabled&&(this.navigation.actionMap.dragSecondary=this.operationalDataVisible?"none":"rotate",this.ui.components&&(this.ui.components=this.operationalDataVisible?this.ui.components.filter(e=>"compass"!==e):[...new Set([...this.ui.components,"compass"])])))},m)]),this.addResolvingPromise(k().then(()=>(this._isValid=!0,p(()=>this.ready))))}destroy(){this._teardown(),this.removeAllHandles(),this._set("preconditionsReady",!1),this.frameTask=o(this.frameTask),this.goToManager.destroy(),this.inputManager.destroy(),this._set("inputManager",null)}get constraintsInfo(){return{lods:null,spatialReference:this.spatialReference}}get preconditionsReady(){return!(!this._isValid||0===this.width||0===this.height||0===this.videoSize[0]||0===this.videoSize[1])}get rendering(){return this.stage?.renderRequested??!1}get scale(){return this.stateManager?.scale??0}set scale(e){this.stateManager&&(this.stateManager.scale=e)}get videoSize(){if(!this.layer?.videoWidth||!this.layer?.videoHeight)return[0,0];const[e,t]=this.size,i=(this.layer?.videoWidth||0)/(this.layer?.videoHeight||0),s=t*i,r=e/i;return e/t>=1?i>=1?s<=e?[s,t]:[e,r]:r<=t?[e,r]:[s,t]:i>=1?r<=t?[e,r]:[s,t]:s<=e?[s,t]:[e,r]}async hitTest(e,t){return this._operationalDataView&&this._operationalDataView.ready?this._operationalDataView.hitTest(e,t):{screenPoint:e,results:[]}}_startup(){if(!this.layer)return;const e=this._getViewpoint();this.stateManager.startup(e,this.size,e.targetGeometry.spatialReference);const t={renderingOptions:this.renderingOptions,backgroundColor:A,groundControlPoints:()=>this.layer?.groundControlPoints,getSize:()=>this.videoSize},i=new U(this.surface,t,new E(this.surface));this.stage=i,this._prepareStage(this.stage),this.childStage=i.childStage,this._prepareChildStage(this.childStage);const s=new x({view:this});this._set("animationManager",s);const r=new D({view:this,animationManager:s});this._set("mapViewNavigation",r),this._updateConstraints(),this.frameTask.start(),this._set("ready",!0)}_teardown(){this.stage.destroy(),this.stage=null,this._videoElementView=null,this._overlayContainer.removeAllChildren(),this._overlayContainer=null,this.removeHandles("video-view"),this._set("ready",!1),this.stateManager.teardown(),this.frameTask.stop(),this.stationaryManager.clear()}_getViewpoint(){return new i({targetGeometry:new u({x:this.videoSize[0]/2,y:this.videoSize[1]/2,spatialReference:this.spatialReference}),scale:1})}_prepareStage(e){this.addHandles([n(()=>this.stationary,t=>e.stationary=t,m),n(()=>this.state.id,()=>e.state=this.state,m),n(()=>this.renderingOptions,t=>e.renderingOptions=t,m)],"video-view"),this._extent=new f({xmin:0,ymin:0,xmax:this.videoSize[0],ymax:this.videoSize[1],spatialReference:{wkid:0}}),this._videoElementView=new v({element:new _({video:this.layer?.videoElement,georeference:new b({extent:this._extent}),autoplay:!1}),spatialReference:this.spatialReference});const t=new q(this._videoElementView);this._overlayContainer=new z,this._overlayContainer.addChild(t),this._effectsContainer=new G,this._effectsContainer.addChild(this._overlayContainer),this.stage.addChild(this._effectsContainer);const i=document.createElement("div");i.classList.add("esri-video-poster"),this.container?.classList.add("esri-video-view"),this.container?.appendChild(i)}_prepareChildStage(e){this.addHandles([n(()=>this.map,async t=>{if(!t)return;const{default:i}=await import("./video/VideoOperationalDataView.js");this._operationalDataView=new i({stage:e,layerViewFilter:e=>new Set(F).has(e.type),width:this.size[0],height:this.size[1],map:t}),p(()=>this._operationalDataView?.ready).then(()=>{e.videoScreenRenderer.visible=this.operationalDataVisible})},m),n(()=>this.layer?.groundControlPoints,async()=>{if(!this.layer?.groundControlPoints||!e.state)return;const t=this.layer.groundControlPoints,i=t?.length;if(!i)return;await j();const s=new Array(i),r=e.state.spatialReference;for(let e=0;e<i;e++){const{lat:i,lon:o}=t[e];s[e]=w(new u(o,i),r)}let o=1/0,a=1/0,n=-1/0,l=-1/0;for(const e of s)o=Math.min(o,e.x),a=Math.min(a,e.y),n=Math.max(n,e.x),l=Math.max(l,e.y);const p=f.fromJSON({xmin:o,ymin:a,xmax:n,ymax:l,spatialReference:r});await(this._operationalDataView?.goTo(p,{animate:!1}).catch(()=>{}))},m)])}_updateConstraints(){this._updateZoomConstraints(),this._updatePanConstraints()}_updateZoomConstraints(){const e=this.videoSize,t=Math.max(e[0]/this.size[0],e[1]/this.size[1]),i=[];for(let r=t;r>B;r/=2)i.push(r);i.push(B);const{lods:s}=M.create({scales:i});this.constraints.set({lods:s,minScale:t})}_updatePanConstraints(){const e=e=>{if(!e.targetGeometry)return e;const[t,i]=this.videoSize,s=t*e.scale/2,r=i*e.scale/2,o=e.targetGeometry.clone();return o.x=Math.max(s,Math.min(t-s,o.x)),o.y=Math.max(r,Math.min(i-r,o.y)),e.targetGeometry=o,e};this.constraints.customConstraints.add({constrain:e,applyPanConstraint:e})}};e([h()],H.prototype,"_overlayContainer",void 0),e([h()],H.prototype,"_isValid",void 0),e([h()],H.prototype,"_effectsContainer",void 0),e([h()],H.prototype,"constraintsInfo",null),e([h()],H.prototype,"operationalDataVisible",void 0),e([h()],H.prototype,"layer",void 0),e([h()],H.prototype,"map",void 0),e([h({type:O,nonNullable:!0})],H.prototype,"navigation",void 0),e([h({readOnly:!0})],H.prototype,"preconditionsReady",null),e([h({readOnly:!0})],H.prototype,"ready",void 0),e([h({readOnly:!0})],H.prototype,"rendering",null),e([h()],H.prototype,"scale",null),e([h()],H.prototype,"spatialReference",void 0),e([h()],H.prototype,"stateManager",void 0),e([h()],H.prototype,"type",void 0),e([h(),d(e=>e instanceof T?e:g(W,e))],H.prototype,"ui",void 0),e([h({readOnly:!0})],H.prototype,"videoSize",null),e([h({readOnly:!0})],H.prototype,"view2dType",void 0),H=e([c("esri.views.VideoView")],H);const L=H;export{L as default};
5
+ import{__decorate as e}from"tslib";import t from"../Color.js";import i from"../Viewpoint.js";import s from"../core/Accessor.js";import{EventedMixin as r}from"../core/Evented.js";import{destroyMaybe as o}from"../core/maybe.js";import{EsriPromiseMixin as a}from"../core/Promise.js";import{watch as n,initial as l,whenOnce as p,syncAndInitial as m}from"../core/reactiveUtils.js";import{property as h,cast as d,subclass as c}from"../core/accessorSupport/decorators.js";import{ensureClass as g}from"../core/accessorSupport/ensureType.js";import f from"../geometry/Extent.js";import u from"../geometry/Point.js";import y from"../geometry/SpatialReference.js";import{load as j,execute as w}from"../geometry/operators/projectOperator.js";import b from"../layers/support/ExtentAndRotationGeoreference.js";import{MediaElementView as v}from"../layers/support/MediaElementView.js";import M from"../layers/support/TileInfo.js";import _ from"../layers/support/VideoElement.js";import{DOMContainer as S}from"./DOMContainer.js";import{Viewport2DBaseMixin as C}from"./Viewport2DBaseMixin.js";import{Viewport2DMixin as V}from"./Viewport2DMixin.js";import x from"./2d/AnimationManager.js";import P from"./2d/MapViewConstraints.js";import"../core/has.js";import"../core/RandomLCG.js";import"../core/Logger.js";import"../core/scheduling.js";import"../core/mathUtils.js";import"../config.js";import"../symbols/cim/defaultCIMValues.js";import"../core/floatRGBA.js";import"../symbols/Font.js";import"../core/ObjectPool.js";import"../geometry/support/spatialReferenceUtils.js";import"../symbols/cim/effects/EffectAddControlPoints.js";import"../symbols/cim/effects/EffectArrow.js";import"../symbols/cim/effects/EffectBuffer.js";import"../symbols/cim/effects/EffectControlMeasureLine.js";import"../symbols/cim/effects/EffectCut.js";import"../symbols/cim/effects/EffectDashes.js";import"../symbols/cim/effects/EffectDonut.js";import"../symbols/cim/effects/EffectEnclosingPolygon.js";import"../symbols/cim/effects/EffectJog.js";import"../symbols/cim/effects/EffectMove.js";import"../symbols/cim/effects/EffectOffset.js";import"../symbols/cim/effects/EffectRadial.js";import"../symbols/cim/effects/EffectReverse.js";import"../symbols/cim/effects/EffectRotate.js";import"../symbols/cim/effects/EffectScale.js";import"../symbols/cim/effects/EffectSuppress.js";import"../symbols/cim/effects/EffectTaperedPolygon.js";import"../symbols/cim/effects/EffectWave.js";import"../symbols/cim/placements/PlacementAlongLineSameSize.js";import"../symbols/cim/placements/PlacementAtExtremities.js";import"../symbols/cim/placements/PlacementAtMeasuredUnits.js";import"../symbols/cim/placements/PlacementAtRatioPositions.js";import"../symbols/cim/placements/PlacementInsidePolygon.js";import"../symbols/cim/placements/PlacementOnLine.js";import"../symbols/cim/placements/PlacementOnVertices.js";import"../symbols/cim/placements/PlacementPolygonCenter.js";import"../symbols/cim/constants.js";import"../core/libs/gl-matrix-2/factories/vec2f32.js";import"../geometry/Polygon.js";import"../symbols/support/defaults.js";import"../symbols/cim/OverrideHelper.js";import{Container as G}from"./2d/engine/Container.js";import"../core/libs/gl-matrix-2/factories/vec4f32.js";import"./webgl/enums.js";import"./2d/engine/webgl/shaders/BackgroundPrograms.js";import"./webgl/Program.js";import"./webgl/Util.js";import"./webgl/VertexAttributeLayouts.js";import"./webgl/BufferObject.js";import"./2d/engine/webgl/AFeatureTile.js";import"./2d/engine/webgl/DisplayEntity.js";import"./2d/engine/webgl/shaderGraph/techniques/featureTechniqueUtils.js";import"./2d/engine/webgl/cpuMapped/MappedMesh.js";import"./2d/engine/webgl/number.js";import"./2d/engine/webgl/shaders/TileInfoPrograms.js";import"./webgl/Texture.js";import"./2d/engine/webgl/shaders/BitBlitPrograms.js";import"../request.js";import"../core/urlUtils.js";import"../core/pbf.js";import"./2d/engine/webgl/shaders/StencilPrograms.js";import"./2d/engine/webgl/shaderGraph/techniques/shaders/BlendShader.js";import"./2d/engine/webgl/shaderGraph/techniques/shaders/OpacityShader.js";import"./2d/engine/webgl/shaders/HighlightPrograms.js";import"./webgl/FramebufferObject.js";import"./2d/engine/webgl/shaderGraph/techniques/shaders/BlitShader.js";import"./2d/engine/webgl/shaderGraph/techniques/shaders/BloomShader.js";import"./2d/engine/webgl/shaderGraph/techniques/shaders/BlurShader.js";import"./2d/engine/webgl/shaderGraph/techniques/shaders/ColorizeShader.js";import"./2d/engine/webgl/shaderGraph/techniques/shaders/DropShadowShader.js";import"./2d/engine/webgl/meshing/SimpleMesh.js";import"./webgl/Renderbuffer.js";import"./2d/engine/webgl/PooledUint32Array.js";import"./2d/engine/webgl/Profiler.js";import"./2d/engine/webgl/shaderGraph/techniques/TechniqueRegistry.js";import"./2d/engine/webgl/shaderGraph/techniques/animated/attributes.js";import"./2d/engine/webgl/mesh/templates/templateUtils.js";import"./2d/engine/webgl/shaderGraph/techniques/line/LineMeshWriter.js";import"./2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityMeshWriter.js";import"./2d/engine/webgl/shaderGraph/techniques/fill/ComplexFillMeshWriter.js";import"./2d/engine/webgl/shaderGraph/techniques/fill/ComplexOutlineFillMeshWriter.js";import"./2d/engine/webgl/shaderGraph/techniques/fill/FillMeshWriter.js";import"./2d/engine/webgl/shaderGraph/techniques/fill/GradientFillMeshWriter.js";import"./2d/engine/webgl/shaderGraph/techniques/fill/OutlineFillMeshWriter.js";import"./2d/engine/webgl/shaderGraph/techniques/fill/PatternFillMeshWriter.js";import"./2d/engine/webgl/shaderGraph/techniques/fill/PatternOutlineFillMeshWriter.js";import"./2d/engine/webgl/shaderGraph/techniques/heatmap/HeatmapMeshWriter.js";import"../geometry/support/aaBoundingBox.js";import"./2d/engine/webgl/shaderGraph/techniques/text/TextMeshWriter.js";import"./2d/engine/webgl/shaderGraph/techniques/line/GradientStrokeMeshWriter.js";import"./2d/engine/webgl/shaderGraph/techniques/line/TexturedLineMeshWriter.js";import"./2d/engine/webgl/shaderGraph/techniques/markers/MarkerMeshWriter.js";import"../core/sql/UnknownTimeZone.js";import"luxon";import"../intl/locale.js";import"../geometry/Geometry.js";import"../geometry/Multipoint.js";import"../geometry/Polyline.js";import"../layers/support/fieldUtils.js";import"../time/constants.js";import"./2d/engine/webgl/animations/instructions.js";import"./2d/engine/webgl/shaderGraph/techniques/pieChart/PieChartMeshWriter.js";import"./webgl/checkWebGLError.js";import"./webgl/renderState.js";import"./3d/webgl-engine/core/shaderModules/glsl.js";import"./webgl/testSVGPremultipliedAlpha.js";import{ManagedCanvas as E}from"./2d/engine/ManagedCanvas.js";import"./2d/engine/transitions/FadeTransition.js";import"./2d/engine/webgl/meshing/definitions.js";import"./2d/engine/webgl/shaderGraph/techniques/shaders/VideoScreenShader.js";import"./2d/LabelManager.js";import"./2d/layers/graphics/GraphicsView2D.js";import"../chunks/earcut.js";import"../core/libs/gl-matrix-2/factories/vec3f32.js";import"../geometry/support/normalizeUtils.js";import"./2d/layers/support/util.js";import D from"./2d/navigation/MapViewNavigation.js";import"../core/asyncUtils.js";import"../core/support/UpdatingHandles.js";import"./2d/engine/webgl/shaderGraph/techniques/shaders/MagnifierShader.js";import"../core/units.js";import"../geometry/ellipsoidUtils.js";import"../geometry/operators/support/GeographicTransformation.js";import"../geometry/projection/projectors.js";import"./2d/engine/webgl/shaderGraph/techniques/shaders/GridShader.js";import"../geometry/support/geodesicConstants.js";import"../geometry/support/Ellipsoid.js";import{ViewStateManager as R}from"./2d/ViewStateManager.js";import q from"./2d/engine/webgl/Overlay.js";import z from"./2d/engine/webgl/OverlayContainer.js";import O from"./navigation/Navigation.js";import T from"./ui/DefaultUI.js";import W from"./ui/video/DefaultUIVideo.js";const A=new t("#000");let U;async function k(){const[,{ParentStage:e}]=await Promise.all([import("./2d/webglDeps.js"),import("./2d/mapViewDeps.js")]);U=e}const B=.01,F=["feature","geojson","csv","stream","ogc-feature","catalog","wfs","parquet","graphics","group"];let H=class extends(V(C(S(r(a(s)))))){constructor(e){super(e),this._isValid=!1,this._prevZoomEnabled=!1,this._prevRotationEnabled=!1,this.stage=null,this.childStage=null,this._operationalDataView=null,this.operationalDataVisible=!1,this.layer=null,this.map=null,this.navigation=new O,this.ready=!1,this.spatialReference=new y({wkid:0}),this.stateManager=new R({constraints:new P({view:this,minScale:1,maxScale:B})}),this.type="2d",this.ui=new W,this.view2dType="video",this.addHandles([n(()=>this.preconditionsReady,e=>e?this._startup():this._teardown()),n(()=>this.layer,(e,t)=>{t&&(this._teardown(),this._startup()),this.addResolvingPromise(p(()=>this.ready))},l),n(()=>this.videoSize,([e,t])=>{this._extent&&e&&t&&(this._extent.xmax=e,this._extent.ymax=t)}),n(()=>this.size,e=>{this._operationalDataView&&this._operationalDataView.stateManager.resize(e[0],e[1])}),n(()=>[this.layer?.frameEffect,this._effectsContainer],()=>{this._effectsContainer&&(this._effectsContainer.effect=this.layer?.frameEffect??null)},m)])}initialize(){this._prevZoomEnabled="zoom"===this.navigation.actionMap.mouseWheel&&this.ui.components.includes("zoom"),this._prevRotationEnabled="rotate"===this.navigation.actionMap.dragSecondary&&this.ui.components.includes("compass"),this.addHandles([n(()=>[this.operationalDataVisible,this.childStage],()=>{this.childStage&&(this.childStage.videoScreenRenderer.visible=this.operationalDataVisible),this.operationalDataVisible&&(this.scale=1,this.rotation=0),this.navigation&&(this._prevZoomEnabled&&(this.navigation.actionMap.mouseWheel=this.operationalDataVisible?"none":"zoom",this.navigation.actionMap.dragPrimary=this.operationalDataVisible?"none":"pan",this.ui.components&&(this.ui.components=this.operationalDataVisible?this.ui.components.filter(e=>"zoom"!==e):[...new Set([...this.ui.components,"zoom"])])),this._prevRotationEnabled&&(this.navigation.actionMap.dragSecondary=this.operationalDataVisible?"none":"rotate",this.ui.components&&(this.ui.components=this.operationalDataVisible?this.ui.components.filter(e=>"compass"!==e):[...new Set([...this.ui.components,"compass"])])))},m)]),this.addResolvingPromise(k().then(()=>(this._isValid=!0,p(()=>this.ready))))}destroy(){this._teardown(),this.removeAllHandles(),this._set("preconditionsReady",!1),this.frameTask=o(this.frameTask),this.goToManager.destroy(),this.inputManager.destroy(),this._set("inputManager",null)}get constraintsInfo(){return{lods:null,spatialReference:this.spatialReference}}get preconditionsReady(){return!(!this._isValid||0===this.width||0===this.height||0===this.videoSize[0]||0===this.videoSize[1])}get rendering(){return this.stage?.renderRequested??!1}get scale(){return this.stateManager?.scale??0}set scale(e){this.stateManager&&(this.stateManager.scale=e)}get videoSize(){if(!this.layer?.videoWidth||!this.layer?.videoHeight)return[0,0];const[e,t]=this.size,i=(this.layer?.videoWidth||0)/(this.layer?.videoHeight||0),s=t*i,r=e/i;return e/t>=1?i>=1?s<=e?[s,t]:[e,r]:r<=t?[e,r]:[s,t]:i>=1?r<=t?[e,r]:[s,t]:s<=e?[s,t]:[e,r]}async hitTest(e,t){return this._operationalDataView&&this._operationalDataView.ready?this._operationalDataView.hitTest(e,t):{screenPoint:e,results:[]}}_startup(){if(!this.layer)return;const e=this._getViewpoint();this.stateManager.startup(e,this.size,e.targetGeometry.spatialReference);const t={renderingOptions:this.renderingOptions,backgroundColor:A,groundControlPoints:()=>this.layer?.groundControlPoints,getSize:()=>this.videoSize},i=new U(this.surface,t,new E(this.surface));this.stage=i,this._prepareStage(this.stage),this.childStage=i.childStage,this._prepareChildStage(this.childStage);const s=new x({view:this});this._set("animationManager",s);const r=new D({view:this,animationManager:s});this._set("mapViewNavigation",r),this._updateConstraints(),this.frameTask.start(),this._set("ready",!0)}_teardown(){this.stage.destroy(),this.stage=null,this._videoElementView=null,this._overlayContainer.removeAllChildren(),this._overlayContainer=null,this.removeHandles("video-view"),this._set("ready",!1),this.stateManager.teardown(),this.frameTask.stop(),this.stationaryManager.clear()}_getViewpoint(){return new i({targetGeometry:new u({x:this.videoSize[0]/2,y:this.videoSize[1]/2,spatialReference:this.spatialReference}),scale:1})}_prepareStage(e){this.addHandles([n(()=>this.stationary,t=>e.stationary=t,m),n(()=>this.state.id,()=>e.state=this.state,m),n(()=>this.renderingOptions,t=>e.renderingOptions=t,m)],"video-view"),this._extent=new f({xmin:0,ymin:0,xmax:this.videoSize[0],ymax:this.videoSize[1],spatialReference:{wkid:0}}),this._videoElementView=new v({element:new _({video:this.layer?.videoElement,georeference:new b({extent:this._extent}),autoplay:!1}),spatialReference:this.spatialReference});const t=new q(this._videoElementView);this._overlayContainer=new z,this._overlayContainer.addChild(t),this._effectsContainer=new G,this._effectsContainer.addChild(this._overlayContainer),this.stage.addChild(this._effectsContainer);const i=document.createElement("div");i.classList.add("esri-video-poster"),this.container?.classList.add("esri-video-view"),this.container?.appendChild(i)}_prepareChildStage(e){this.addHandles([n(()=>this.map,async t=>{if(!t)return;const{default:i}=await import("./video/VideoOperationalDataView.js");this._operationalDataView=new i({stage:e,layerViewFilter:e=>new Set(F).has(e.type),width:this.size[0],height:this.size[1],map:t}),p(()=>this._operationalDataView?.ready).then(()=>{e.videoScreenRenderer.visible=this.operationalDataVisible})},m),n(()=>this.layer?.groundControlPoints,async()=>{if(!this.layer?.groundControlPoints||!e.state)return;const t=this.layer.groundControlPoints,i=t?.length;if(!i)return;await j();const s=new Array(i),r=e.state.spatialReference;for(let e=0;e<i;e++){const{lat:i,lon:o}=t[e];s[e]=w(new u(o,i),r)}let o=1/0,a=1/0,n=-1/0,l=-1/0;for(const e of s)o=Math.min(o,e.x),a=Math.min(a,e.y),n=Math.max(n,e.x),l=Math.max(l,e.y);const p=f.fromJSON({xmin:o,ymin:a,xmax:n,ymax:l,spatialReference:r});await(this._operationalDataView?.goTo(p,{animate:!1}).catch(()=>{}))},m)])}_updateConstraints(){this._updateZoomConstraints(),this._updatePanConstraints()}_updateZoomConstraints(){const e=this.videoSize,t=Math.max(e[0]/this.size[0],e[1]/this.size[1]),i=[];for(let r=t;r>B;r/=2)i.push(r);i.push(B);const{lods:s}=M.create({scales:i});this.constraints.set({lods:s,minScale:t})}_updatePanConstraints(){const e=e=>{if(!e.targetGeometry)return e;const[t,i]=this.videoSize,s=t*e.scale/2,r=i*e.scale/2,o=e.targetGeometry.clone();return o.x=Math.max(s,Math.min(t-s,o.x)),o.y=Math.max(r,Math.min(i-r,o.y)),e.targetGeometry=o,e};this.constraints.customConstraints.add({constrain:e,applyPanConstraint:e})}};e([h()],H.prototype,"_overlayContainer",void 0),e([h()],H.prototype,"_isValid",void 0),e([h()],H.prototype,"_effectsContainer",void 0),e([h()],H.prototype,"constraintsInfo",null),e([h()],H.prototype,"operationalDataVisible",void 0),e([h()],H.prototype,"layer",void 0),e([h()],H.prototype,"map",void 0),e([h({type:O,nonNullable:!0})],H.prototype,"navigation",void 0),e([h({readOnly:!0})],H.prototype,"preconditionsReady",null),e([h({readOnly:!0})],H.prototype,"ready",void 0),e([h({readOnly:!0})],H.prototype,"rendering",null),e([h()],H.prototype,"scale",null),e([h()],H.prototype,"spatialReference",void 0),e([h()],H.prototype,"stateManager",void 0),e([h()],H.prototype,"type",void 0),e([h(),d(e=>e instanceof T?e:g(W,e))],H.prototype,"ui",void 0),e([h({readOnly:!0})],H.prototype,"videoSize",null),e([h({readOnly:!0})],H.prototype,"view2dType",void 0),H=e([c("esri.views.VideoView")],H);const L=H;export{L as default};
package/views/View.d.ts CHANGED
@@ -242,7 +242,7 @@ export type ViewEvents = SceneViewEventTypes;
242
242
  * });
243
243
  * ```
244
244
  *
245
- * In the snippet above, you'll notice a `container` property set on the view. The {@link views/View#container}
245
+ * In the snippet above, you'll notice a `container` property set on the view. The [container](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-DOMContainer.html#container)
246
246
  * property is the reference to the DOM node that contains the view. This is commonly a `<div>` element. The container
247
247
  * referenced in the example above might look something like:
248
248
  *
@@ -548,17 +548,15 @@ export default abstract class View<TLayerView extends LayerView = LayerView> ext
548
548
  * signaling that the following conditions are met.
549
549
  *
550
550
  * * The view has a [map](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View.html#map). If [map](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View.html#map)
551
- * is a [WebMap](https://developers.arcgis.com/javascript/latest/api-reference/esri-WebMap.html)
552
- * or a [WebScene](https://developers.arcgis.com/javascript/latest/api-reference/esri-WebScene.html), then the map or scene
553
- * must be [WebScene#loaded](https://developers.arcgis.com/javascript/latest/api-reference/esri-WebScene.html#loaded).
554
- * * The view has a {@link views/View#container} with a size greater than `0`.
555
- * * The view has a [spatialReference](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View.html#spatialReference), a {@link views/View#center}, and a {@link views/View#scale}.
556
- * These also can be inferred by setting an {@link views/View#extent}.
551
+ * is a [WebMap](https://developers.arcgis.com/javascript/latest/api-reference/esri-WebMap.html) or a [WebScene](https://developers.arcgis.com/javascript/latest/api-reference/esri-WebScene.html), then the map or scene must be [loaded](https://developers.arcgis.com/javascript/latest/api-reference/esri-WebScene.html#loaded).
552
+ * * The view has a [container](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-DOMContainer.html#container) with a size greater than `0`.
553
+ * * The view has a [spatialReference](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View.html#spatialReference), a `center`, and a `scale`.
554
+ * These also can be inferred by setting an `extent`.
557
555
  *
558
556
  * When a view becomes ready it will resolve itself and invoke
559
557
  * the callback defined in [when()](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View.html#when) where code can execute on a working view. Subsequent
560
558
  * changes to a view's readiness would typically be handled by watching `view.ready` and providing
561
- * logic for cases where the [map](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View.html#map) or {@link views/View#container} change.
559
+ * logic for cases where the [map](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View.html#map) or [container](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-DOMContainer.html#container) change.
562
560
  *
563
561
  * @default false
564
562
  * @see [when()](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View.html#when)
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Types for the [AreaMeasurementAnalysisView2D](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-2d-analysis-AreaMeasurementAnalysisView2D.html) and
3
+ * [AreaMeasurementAnalysisView3D](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-3d-analysis-AreaMeasurementAnalysisView3D.html).
4
+ *
5
+ * @since 5.0
6
+ */
1
7
  import type { Area, Length } from "../../../core/quantity.js";
2
8
  import type { MeasurementMode } from "../types.js";
3
9
 
@@ -1,3 +1,8 @@
1
+ /**
2
+ * Types for the [DistanceMeasurementAnalysisView2D](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-2d-analysis-DistanceMeasurementAnalysisView2D.html).
3
+ *
4
+ * @since 5.0
5
+ */
1
6
  import type { Length } from "../../../core/quantity.js";
2
7
  import type { MeasurementMode } from "../types.js";
3
8