diff --git a/types/arcgis-js-api/index.d.ts b/types/arcgis-js-api/index.d.ts index 015c976e06..d7b3c0884f 100644 --- a/types/arcgis-js-api/index.d.ts +++ b/types/arcgis-js-api/index.d.ts @@ -1,4 +1,4 @@ -// Type definitions for ArcGIS API for JavaScript 4.12 +// Type definitions for ArcGIS API for JavaScript 4.13 // Project: http://js.arcgis.com // Definitions by: Esri // Bjorn Svensson @@ -204,6 +204,10 @@ declare namespace __esri { export type BaseElevationLayerLayerviewDestroyEventHandler = (event: BaseElevationLayerLayerviewDestroyEvent) => void; + export type BasemapLayerListTriggerActionEventHandler = (event: BasemapLayerListTriggerActionEvent) => void; + + export type BasemapToggleToggleEventHandler = (event: BasemapToggleToggleEvent) => void; + export type BaseTileLayerLayerviewCreateErrorEventHandler = (event: BaseTileLayerLayerviewCreateErrorEvent) => void; export type BaseTileLayerLayerviewCreateEventHandler = (event: BaseTileLayerLayerviewCreateEvent) => void; @@ -216,6 +220,8 @@ declare namespace __esri { export type BingMapsLayerLayerviewDestroyEventHandler = (event: BingMapsLayerLayerviewDestroyEvent) => void; + export type BookmarksSelectBookmarkEventHandler = (event: BookmarksSelectBookmarkEvent) => void; + export type BuildingSceneLayerLayerviewCreateErrorEventHandler = ( event: BuildingSceneLayerLayerviewCreateErrorEvent ) => void; @@ -240,10 +246,6 @@ declare namespace __esri { event: ClassedColorSliderViewModelMinChangeEvent ) => void; - export type ClassedColorSliderViewModelValueChangeEventHandler = ( - event: ClassedColorSliderViewModelValueChangeEvent - ) => void; - export type ClassedSizeSliderMaxChangeEventHandler = (event: ClassedSizeSliderMaxChangeEvent) => void; export type ClassedSizeSliderMinChangeEventHandler = (event: ClassedSizeSliderMinChangeEvent) => void; @@ -260,10 +262,6 @@ declare namespace __esri { event: ClassedSizeSliderViewModelMinChangeEvent ) => void; - export type ClassedSizeSliderViewModelValueChangeEventHandler = ( - event: ClassedSizeSliderViewModelValueChangeEvent - ) => void; - export type ColorSizeSliderMaxChangeEventHandler = (event: ColorSizeSliderMaxChangeEvent) => void; export type ColorSizeSliderMinChangeEventHandler = (event: ColorSizeSliderMinChangeEvent) => void; @@ -276,10 +274,6 @@ declare namespace __esri { export type ColorSizeSliderViewModelMinChangeEventHandler = (event: ColorSizeSliderViewModelMinChangeEvent) => void; - export type ColorSizeSliderViewModelValueChangeEventHandler = ( - event: ColorSizeSliderViewModelValueChangeEvent - ) => void; - export type ColorSliderMaxChangeEventHandler = (event: ColorSliderMaxChangeEvent) => void; export type ColorSliderMinChangeEventHandler = (event: ColorSliderMinChangeEvent) => void; @@ -292,8 +286,6 @@ declare namespace __esri { export type ColorSliderViewModelMinChangeEventHandler = (event: ColorSliderViewModelMinChangeEvent) => void; - export type ColorSliderViewModelValueChangeEventHandler = (event: ColorSliderViewModelValueChangeEvent) => void; - export type CredentialDestroyEventHandler = (event: CredentialDestroyEvent) => void; export type CredentialTokenChangeEventHandler = (event: CredentialTokenChangeEvent) => void; @@ -312,12 +304,28 @@ declare namespace __esri { export type ElevationSamplerChangedEventHandler = (event: ElevationSamplerChangedEvent) => void; + export type FeatureFormSubmitEventHandler = (event: FeatureFormSubmitEvent) => void; + + export type FeatureFormValueChangeEventHandler = (event: FeatureFormValueChangeEvent) => void; + + export type FeatureFormViewModelSubmitEventHandler = (event: FeatureFormViewModelSubmitEvent) => void; + + export type FeatureFormViewModelValueChangeEventHandler = (event: FeatureFormViewModelValueChangeEvent) => void; + + export type FeatureLayerEditsEventHandler = (event: FeatureLayerEditsEvent) => void; + export type FeatureLayerLayerviewCreateErrorEventHandler = (event: FeatureLayerLayerviewCreateErrorEvent) => void; export type FeatureLayerLayerviewCreateEventHandler = (event: FeatureLayerLayerviewCreateEvent) => void; export type FeatureLayerLayerviewDestroyEventHandler = (event: FeatureLayerLayerviewDestroyEvent) => void; + export type FeatureTemplatesSelectEventHandler = (event: FeatureTemplatesSelectEvent) => void; + + export type FeatureTemplatesViewModelSelectEventHandler = (event: FeatureTemplatesViewModelSelectEvent) => void; + + export type GeoJSONLayerEditsEventHandler = (event: GeoJSONLayerEditsEvent) => void; + export type GeoJSONLayerLayerviewCreateErrorEventHandler = (event: GeoJSONLayerLayerviewCreateErrorEvent) => void; export type GeoJSONLayerLayerviewCreateEventHandler = (event: GeoJSONLayerLayerviewCreateEvent) => void; @@ -342,11 +350,27 @@ declare namespace __esri { export type GroupLayerLayerviewDestroyEventHandler = (event: GroupLayerLayerviewDestroyEvent) => void; + export type HeatmapSliderThumbChangeEventHandler = (event: HeatmapSliderThumbChangeEvent) => void; + + export type HeatmapSliderThumbDragEventHandler = (event: HeatmapSliderThumbDragEvent) => void; + export type HeatmapSliderViewModelMaxChangeEventHandler = (event: HeatmapSliderViewModelMaxChangeEvent) => void; export type HeatmapSliderViewModelMinChangeEventHandler = (event: HeatmapSliderViewModelMinChangeEvent) => void; - export type HeatmapSliderViewModelValueChangeEventHandler = (event: HeatmapSliderViewModelValueChangeEvent) => void; + export type HistogramRangeSliderMaxChangeEventHandler = (event: HistogramRangeSliderMaxChangeEvent) => void; + + export type HistogramRangeSliderMinChangeEventHandler = (event: HistogramRangeSliderMinChangeEvent) => void; + + export type HistogramRangeSliderSegmentDragEventHandler = (event: HistogramRangeSliderSegmentDragEvent) => void; + + export type HistogramRangeSliderThumbChangeEventHandler = (event: HistogramRangeSliderThumbChangeEvent) => void; + + export type HistogramRangeSliderThumbDragEventHandler = (event: HistogramRangeSliderThumbDragEvent) => void; + + export type HistogramRangeSliderValueChangeEventHandler = (event: HistogramRangeSliderValueChangeEvent) => void; + + export type HistogramRangeSliderValuesChangeEventHandler = (event: HistogramRangeSliderValuesChangeEvent) => void; export type HistogramRangeSliderViewModelMaxChangeEventHandler = ( event: HistogramRangeSliderViewModelMaxChangeEvent @@ -356,9 +380,13 @@ declare namespace __esri { event: HistogramRangeSliderViewModelMinChangeEvent ) => void; - export type HistogramRangeSliderViewModelValueChangeEventHandler = ( - event: HistogramRangeSliderViewModelValueChangeEvent - ) => void; + export type HomeGoEventHandler = (event: HomeGoEvent) => void; + + export type HomeViewModelGoEventHandler = (event: HomeViewModelGoEvent) => void; + + export type IdentityManagerCredentialCreateEventHandler = (event: IdentityManagerCredentialCreateEvent) => void; + + export type IdentityManagerDialogCreateEventHandler = (event: IdentityManagerDialogCreateEvent) => void; export type ImageryLayerLayerviewCreateErrorEventHandler = (event: ImageryLayerLayerviewCreateErrorEvent) => void; @@ -382,6 +410,22 @@ declare namespace __esri { export type KMLLayerLayerviewDestroyEventHandler = (event: KMLLayerLayerviewDestroyEvent) => void; + export type LayerLayerviewCreateErrorEventHandler = (event: LayerLayerviewCreateErrorEvent) => void; + + export type LayerLayerviewCreateEventHandler = (event: LayerLayerviewCreateEvent) => void; + + export type LayerLayerviewDestroyEventHandler = (event: LayerLayerviewDestroyEvent) => void; + + export type LayerListTriggerActionEventHandler = (event: LayerListTriggerActionEvent) => void; + + export type LayerListViewModelTriggerActionEventHandler = (event: LayerListViewModelTriggerActionEvent) => void; + + export type LocateLocateErrorEventHandler = (event: LocateLocateErrorEvent) => void; + + export type LocateLocateEventHandler = (event: LocateLocateEvent) => void; + + export type LocateViewModelLocateErrorEventHandler = (event: LocateViewModelLocateErrorEvent) => void; + export type MapImageLayerLayerviewCreateErrorEventHandler = (event: MapImageLayerLayerviewCreateErrorEvent) => void; export type MapImageLayerLayerviewCreateEventHandler = (event: MapImageLayerLayerviewCreateEvent) => void; @@ -849,7 +893,7 @@ declare namespace __esri { */ kmlServiceUrl: string; /** - * The URL of the portal instance. If using an on-premise portal, this value should be set to the portal instance, for example: `https://www.example.com/arcgis` + * The default URL of new portal instances. If using an on-premise portal, this value should be set to the portal instance, for example: `https://www.example.com/arcgis` * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-config.html#portalUrl) * @@ -1143,14 +1187,14 @@ declare namespace __esri { */ declared(baseClass: T, ...mixinClasses: any[]): T; /** - * This convenience decorator is used to define an [Accessor](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Accessor.html) property. Any property defined with this decorator can now be `get` and `set`. In addition, you can [watch for any property changes](https://developers.arcgis.com/javascript/latest/guide/working-with-props/index.html). Many times this decorator is used in conjunction with the [@renderable](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-support-widget.html#renderable) decorator. + * This convenience decorator is used to define an [Accessor](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Accessor.html) property. Any property defined with this decorator can now be `get` and `set`. In addition, you can [watch for any property changes](https://developers.arcgis.com/javascript/latest/guide/programming-patterns/#properties). Many times this decorator is used in conjunction with the [@renderable](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-support-widget.html#renderable) decorator. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-accessorSupport-decorators.html#property) * * @param propertyMetadata An object describing the property. * @param propertyMetadata.dependsOn Property names of dependencies. - * @param propertyMetadata.type The constructor used to [autocast](https://developers.arcgis.com/javascript/latest/guide/autocasting/index.html) the property. - * @param propertyMetadata.cast The function to use to [autocast](https://developers.arcgis.com/javascript/latest/guide/autocasting/index.html) the property. Alternative to define the `type`. The function is called with the value set by the user and should return the cast value. + * @param propertyMetadata.type The constructor used to [autocast](https://developers.arcgis.com/javascript/latest/guide/programming-patterns/#autocasting) the property. + * @param propertyMetadata.cast The function to use to [autocast](https://developers.arcgis.com/javascript/latest/guide/programming-patterns/#autocasting) the property. Alternative to define the `type`. The function is called with the value set by the user and should return the cast value. * @param propertyMetadata.readOnly Indicates whether the property is read-only. * @param propertyMetadata.constructOnly Indicates whether the property can be set during construction but is otherwise read-only. * @param propertyMetadata.aliasOf The property decorator that creates a two-way binding between the property it decorates and an inner property of one of its members. @@ -1179,13 +1223,13 @@ declare namespace __esri { */ dependsOn?: string[]; /** - * The constructor used to [autocast](https://developers.arcgis.com/javascript/latest/guide/autocasting/index.html) the property. + * The constructor used to [autocast](https://developers.arcgis.com/javascript/latest/guide/programming-patterns/#autocasting) the property. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-accessorSupport-decorators.html#property) */ type?: Function; /** - * The function to use to [autocast](https://developers.arcgis.com/javascript/latest/guide/autocasting/index.html) the property. Alternative to define the `type`. The function is called with the value set by the user and should return the cast value. + * The function to use to [autocast](https://developers.arcgis.com/javascript/latest/guide/programming-patterns/#autocasting) the property. Alternative to define the `type`. The function is called with the value set by the user and should return the cast value. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-accessorSupport-decorators.html#property) */ @@ -1220,7 +1264,66 @@ declare namespace __esri { value?: any; } - interface Error {} + export interface CollectionAfterAddEvent { + item: any; + } + + export interface CollectionAfterChangesEvent {} + + export interface CollectionAfterRemoveEvent { + item: any; + } + + export interface CollectionBeforeAddEvent { + cancellable: boolean; + + defaultPrevented: boolean; + + item: any; + + preventDefault: Function; + } + + export interface CollectionBeforeChangesEvent { + cancellable: boolean; + + defaultPrevented: boolean; + + item: any; + + preventDefault: Function; + } + + export interface CollectionBeforeRemoveEvent { + cancellable: boolean; + + defaultPrevented: boolean; + + item: any; + + preventDefault: Function; + } + + interface Error { + /** + * The details object provides additional details specific to the error, giving more information about why the error was raised. For example, the details object for esriRequest includes additional information to help the developer diagnose issues with a problematic request. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Error.html#details) + */ + details: any; + /** + * A message describing the details of the error. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Error.html#message) + */ + message: string; + /** + * A unique error name. This can be used to map to a localized error message to present to the user. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Error.html#name) + */ + name: string; + } interface ErrorConstructor { new (): Error; @@ -1357,7 +1460,7 @@ declare namespace __esri { interface JSONSupport { /** - * Converts an instance of [this class]() to its [ArcGIS portal JSON](https://developers.arcgis.com/documentation/common-data-types/geometry-objects.htm) representation. See the [Using fromJSON()](https://developers.arcgis.com/javascript/latest/guide/using-fromjson/index.html) topic in the Guide for more information. + * Converts an instance of [this class]() to its [ArcGIS portal JSON](https://developers.arcgis.com/documentation/common-data-types/geometry-objects.htm) representation. See the [Using fromJSON()](https://developers.arcgis.com/javascript/latest/guide/programming-patterns/#using-fromjson) topic in the Guide for more information. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-JSONSupport.html#toJSON) * @@ -1370,7 +1473,7 @@ declare namespace __esri { new (): JSONSupport; /** - * Creates a new instance of [this class]() and initializes it with values from a JSON object generated from a product in the ArcGIS platform. The object passed into the input `json` parameter often comes from a response to a query operation in the REST API or a [toJSON()](http://pro.arcgis.com/en/pro-app/tool-reference/conversion/features-to-json.htm) method from another ArcGIS product. See the [Using fromJSON()](https://developers.arcgis.com/javascript/latest/guide/using-fromjson/index.html) topic in the Guide for details and examples of when and how to use this function. + * Creates a new instance of [this class]() and initializes it with values from a JSON object generated from a product in the ArcGIS platform. The object passed into the input `json` parameter often comes from a response to a query operation in the REST API or a [toJSON()](http://pro.arcgis.com/en/pro-app/tool-reference/conversion/features-to-json.htm) method from another ArcGIS product. See the [Using fromJSON()](https://developers.arcgis.com/javascript/latest/guide/programming-patterns/#using-fromjson) topic in the Guide for details and examples of when and how to use this function. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-JSONSupport.html#fromJSON) * @@ -1420,7 +1523,7 @@ declare namespace __esri { * * @default not-loaded */ - readonly loadStatus: string; + readonly loadStatus: "not-loaded" | "loading" | "failed" | "loaded"; /** * A list of warnings which occurred while loading. * @@ -1628,7 +1731,7 @@ declare namespace __esri { interface requireUtils { /** - * **Deprecated in favor of [promiseUtils.create()](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-promiseUtils.html#create).** Dynamically requires one or more modules and returns a promise that resolves when all the specified modules have loaded. + * Dynamically requires one or more modules and returns a promise that resolves when all the specified modules have loaded. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-requireUtils.html#when) * @@ -1903,6 +2006,30 @@ declare namespace __esri { * */ whenDefinedOnce(obj: Accessor, propertyName: string | string[], callback?: WatchCallback): PromisedWatchHandle; + /** + * Watches a property for becoming equal with a given `value`. The `callback` will fire after the given property has a value equal to the provided value. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-watchUtils.html#whenEqual) + * + * @param obj The object containing the property to watch. + * @param propertyName The name of the property to watch. + * @param value The value to test with the value of the given property. + * @param callback The function to call when the property is equal to the given value. + * + */ + whenEqual(obj: Accessor, propertyName: string, value: any, callback: WatchCallback): WatchHandle; + /** + * Watches a property for becoming equal with a given `value`. The `callback` will fire after the given property is equal to the provided value for the first time. The returned watch handle is removed after the first time the callback has been invoked. The returned handle additionally implements the Promise interface and can be used to create a promise chain to asynchronously handle a property value becoming false. The promise result is an object containing a `value`, `oldValue`, `propertyName` and `target`. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-watchUtils.html#whenEqualOnce) + * + * @param obj The object containing the property to watch. + * @param propertyName The name of the property to watch. + * @param value The value to test with the value of the given property. + * @param callback The function to call when the property is equal to the given value. + * + */ + whenEqualOnce(obj: Accessor, propertyName: string, value: any, callback?: WatchCallback): PromisedWatchHandle; /** * Watches a property for becoming `false`. As with init(), the callback is called if the property is initially `false`. * @@ -2284,13 +2411,13 @@ declare namespace __esri { */ radius: number; /** - * Unit of the radius. **Possible Values:** feet | kilometers | meters | miles | nautical-miles | yards + * Unit of the radius. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Circle.html#radiusUnit) * * @default meters */ - radiusUnit: string; + radiusUnit: "feet" | "kilometers" | "meters" | "miles" | "nautical-miles" | "yards"; /** * Creates a deep clone of Circle. @@ -2342,13 +2469,13 @@ declare namespace __esri { */ radius?: number; /** - * Unit of the radius. **Possible Values:** feet | kilometers | meters | miles | nautical-miles | yards + * Unit of the radius. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Circle.html#radiusUnit) * * @default meters */ - radiusUnit?: string; + radiusUnit?: "feet" | "kilometers" | "meters" | "miles" | "nautical-miles" | "yards"; } /** @@ -2587,11 +2714,7 @@ declare namespace __esri { * @default undefined */ mmin: number; - /** - * For Extent, the type is always `extent`. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Extent.html#type) - */ + readonly type: "extent"; /** * The width of the extent in map units (the distance between [xmin](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Extent.html#xmin) and [xmax](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Extent.html#xmax)). @@ -2854,11 +2977,11 @@ declare namespace __esri { */ spatialReference: SpatialReference; /** - * The geometry type. **Possible Values:** point | multipoint | polyline | polygon | extent | mesh + * The geometry type. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Geometry.html#type) */ - readonly type: string; + readonly type: "point" | "multipoint" | "polyline" | "polygon" | "extent" | "mesh"; /** * Creates a deep clone of the geometry. @@ -3776,13 +3899,29 @@ declare namespace __esri { */ readonly heightModel: string; /** - * The unit of the vertical coordinate system. A [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html) will use this property to check that the vertical data of layers that define a HeightModelInfo is compatible with the view. **Possible Values:** meters | feet | us-feet | clarke-feet | clarke-yards | clarke-links | sears-yards | sears-feet | sears-chains | benoit-1895-b-chains | indian-yards | indian-1937-yards | gold-coast-feet | sears-1922-truncated-chains | 50-kilometers | 150-kilometers + * The unit of the vertical coordinate system. A [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html) will use this property to check that the vertical data of layers that define a HeightModelInfo is compatible with the view. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-HeightModelInfo.html#heightUnit) * * @default "meters" */ - readonly heightUnit: string; + readonly heightUnit: + | "meters" + | "feet" + | "us-feet" + | "clarke-feet" + | "clarke-yards" + | "clarke-links" + | "sears-yards" + | "sears-feet" + | "sears-chains" + | "benoit-1895-b-chains" + | "indian-yards" + | "indian-1937-yards" + | "gold-coast-feet" + | "sears-1922-truncated-chains" + | "50-kilometers" + | "150-kilometers"; /** * The datum realization of the vertical coordinate system. A [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html) will only render layers that define a HeightModelInfo with an identical `vertCRS` to that of the scene, when using an `ellipsoidal` height model. * @@ -3815,13 +3954,29 @@ declare namespace __esri { */ heightModel?: string; /** - * The unit of the vertical coordinate system. A [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html) will use this property to check that the vertical data of layers that define a HeightModelInfo is compatible with the view. **Possible Values:** meters | feet | us-feet | clarke-feet | clarke-yards | clarke-links | sears-yards | sears-feet | sears-chains | benoit-1895-b-chains | indian-yards | indian-1937-yards | gold-coast-feet | sears-1922-truncated-chains | 50-kilometers | 150-kilometers + * The unit of the vertical coordinate system. A [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html) will use this property to check that the vertical data of layers that define a HeightModelInfo is compatible with the view. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-HeightModelInfo.html#heightUnit) * * @default "meters" */ - heightUnit?: string; + heightUnit?: + | "meters" + | "feet" + | "us-feet" + | "clarke-feet" + | "clarke-yards" + | "clarke-links" + | "sears-yards" + | "sears-feet" + | "sears-chains" + | "benoit-1895-b-chains" + | "indian-yards" + | "indian-1937-yards" + | "gold-coast-feet" + | "sears-1922-truncated-chains" + | "50-kilometers" + | "150-kilometers"; /** * The datum realization of the vertical coordinate system. A [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html) will only render layers that define a HeightModelInfo with an identical `vertCRS` to that of the scene, when using an `ellipsoidal` height model. * @@ -3838,7 +3993,7 @@ declare namespace __esri { */ components: MeshComponent[]; /** - * For Mesh, the type is always `mesh`. + * The string value representing the type of geometry. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Mesh.html#type) */ @@ -4090,7 +4245,7 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Mesh.html#createBox) */ - material?: MeshCreateBoxParamsMaterial; + material?: MeshMaterial; /** * The face for generating image uv coordinates. By default, a single set of unwrapped UV coordinates are generated for all the faces. By setting the `imageFace` parameter to one of `east`, `west`, `north`, `south`, `up` or `down`, the specified face will have full sized UV coordinates while the other faces will pertain their regular unwrapped UV coordinates. This is useful for applying an image only to a single face of the box. The provided `material` parameter will be applied to the specified `imageFace`. The resulting mesh will have two components, the first contains the selected image face and the second contains the other faces of the box. * @@ -4099,15 +4254,6 @@ declare namespace __esri { imageFace?: string; } - export interface MeshCreateBoxParamsMaterial extends Object { - /** - * The material color. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Mesh.html#createBox) - */ - color?: ValueMeshColor | ImageMeshColor | string | HTMLImageElement | HTMLCanvasElement | number[]; - } - export interface MeshCreateBoxParamsSize extends Object { /** * The width of the created mesh. @@ -4159,16 +4305,7 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Mesh.html#createCylinder) */ - material?: MeshCreateCylinderParamsMaterial; - } - - export interface MeshCreateCylinderParamsMaterial extends Object { - /** - * The material color. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Mesh.html#createCylinder) - */ - color: ValueMeshColor | ImageMeshColor | string | HTMLImageElement | HTMLCanvasElement | number[]; + material?: MeshMaterial; } export interface MeshCreateCylinderParamsSize extends Object { @@ -4213,16 +4350,7 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Mesh.html#createFromPolygon) */ - material?: MeshCreateFromPolygonParamsMaterial; - } - - export interface MeshCreateFromPolygonParamsMaterial extends Object { - /** - * The material color. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Mesh.html#createFromPolygon) - */ - color?: ValueMeshColor | ImageMeshColor | string | HTMLImageElement | HTMLCanvasElement | number[]; + material?: MeshMaterial; } export interface MeshCreatePlaneParams extends Object { @@ -4255,16 +4383,7 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Mesh.html#createPlane) */ - material?: MeshCreatePlaneParamsMaterial; - } - - export interface MeshCreatePlaneParamsMaterial extends Object { - /** - * The material color. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Mesh.html#createPlane) - */ - color?: ValueMeshColor | ImageMeshColor | string | HTMLImageElement | HTMLCanvasElement | number[]; + material?: MeshMaterial; } export interface MeshCreatePlaneParamsSize extends Object { @@ -4312,16 +4431,7 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Mesh.html#createSphere) */ - material?: MeshCreateSphereParamsMaterial; - } - - export interface MeshCreateSphereParamsMaterial extends Object { - /** - * The material color. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Mesh.html#createSphere) - */ - color?: ValueMeshColor | ImageMeshColor | string | HTMLImageElement | HTMLCanvasElement | number[]; + material?: MeshMaterial; } export interface MeshCreateSphereParamsSize extends Object { @@ -4409,6 +4519,12 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Mesh.html#vertexAttributes) */ color?: Uint8Array | number[] | Uint8ClampedArray; + /** + * **Since: 4.11** A flat array of the vertex tangents (4 elements per vertex ranging from -1 to 1. The 4th element is a sign value (-1 or +1) indicating handedness of the tangent basis). Vertex tangents are used for normal mapping, see [MeshMaterial.normalTexture](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-support-MeshMaterial.html#normalTexture). + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Mesh.html#vertexAttributes) + */ + tangent?: Float32Array | number[] | Float64Array; } export interface MeshVertexAttributes extends AnonymousAccessor { @@ -4436,6 +4552,12 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Mesh.html#vertexAttributes) */ color?: Uint8Array; + /** + * **Since: 4.11** A flat array of the vertex tangents (4 elements per vertex ranging from -1 to 1. The 4th element is a sign value (-1 or +1) indicating handedness of the tangent basis). Vertex tangents are used for normal mapping, see [MeshMaterial.normalTexture](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-support-MeshMaterial.html#normalTexture). + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Mesh.html#vertexAttributes) + */ + tangent?: Float32Array; } interface Multipoint extends Geometry { @@ -4446,7 +4568,7 @@ declare namespace __esri { */ points: number[][]; /** - * For Multipoint, the type is always `multipoint`. + * The string value representing the type of geometry. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Multipoint.html#type) */ @@ -4539,7 +4661,7 @@ declare namespace __esri { */ m: number; /** - * For Point, the type is always `point`. + * The string value representing the type of geometry. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Point.html#type) */ @@ -4706,7 +4828,7 @@ declare namespace __esri { */ rings: number[][][]; /** - * For Polygon, the type is always `polygon`. + * The string value representing the type of geometry. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Polygon.html#type) */ @@ -4868,11 +4990,7 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Polyline.html#paths) */ paths: number[][][]; - /** - * For Polyline, the type is always `polyline`. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Polyline.html#type) - */ + readonly type: "polyline"; /** @@ -5057,6 +5175,12 @@ declare namespace __esri { export const projection: projection; interface SpatialReference extends Accessor, JSONSupport { + /** + * An [image coordinate system](https://developers.arcgis.com/rest/services-reference/raster-ics.htm) defines the spatial reference used to display the image in its original coordinates without distortion, map transformations or ortho-rectification. Typically, [ImageryLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-ImageryLayer.html) is displayed in the [spatialReference](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#spatialReference) of the view. In some cases, converting images into map coordinates can cause your images to look skewed or distorted because of the various transformations and terrain corrections that are used. Since there is no distortion with images in the image coordinate system, it is ideal for using with oblique imagery and mensuration. The image can be displayed in its original coordinates only in 2D [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) with a `top-up`rotation which is always oriented in the look of direction of the dataset. This works similarly to an in-car navigation system where the choices are often either north is at the top of the screen (therefore, not using a top up option) or the screen rotates so the travel direction is always displayed at the top. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-SpatialReference.html#imageCoordinateSystem) + */ + imageCoordinateSystem: any; /** * Indicates if the spatial reference refers to a geographic coordinate system. * @@ -5135,6 +5259,12 @@ declare namespace __esri { export const SpatialReference: SpatialReferenceConstructor; interface SpatialReferenceProperties { + /** + * An [image coordinate system](https://developers.arcgis.com/rest/services-reference/raster-ics.htm) defines the spatial reference used to display the image in its original coordinates without distortion, map transformations or ortho-rectification. Typically, [ImageryLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-ImageryLayer.html) is displayed in the [spatialReference](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#spatialReference) of the view. In some cases, converting images into map coordinates can cause your images to look skewed or distorted because of the various transformations and terrain corrections that are used. Since there is no distortion with images in the image coordinate system, it is ideal for using with oblique imagery and mensuration. The image can be displayed in its original coordinates only in 2D [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) with a `top-up`rotation which is always oriented in the look of direction of the dataset. This works similarly to an in-car navigation system where the choices are often either north is at the top of the screen (therefore, not using a top up option) or the screen rotates so the travel direction is always displayed at the top. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-SpatialReference.html#imageCoordinateSystem) + */ + imageCoordinateSystem?: any; /** * The well-known ID of a spatial reference. See [Projected Coordinate Systems](https://developers.arcgis.com/rest/services-reference/projected-coordinate-systems.htm) and [Geographic Coordinate Systems](https://developers.arcgis.com/rest/services-reference/geographic-coordinate-systems.htm) for the list of supported spatial references. * @@ -5315,11 +5445,7 @@ declare namespace __esri { * @default undefined */ transparent: boolean; - /** - * For ImageMeshColor the type is always `image`. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-support-ImageMeshColor.html#type) - */ + readonly type: "image"; /** * The url to the image resource. This can either be a remote url (absolute or relative) or a data url. The url property is mutually exclusive with the data property, setting the url will clear the data (if there is one). @@ -5339,12 +5465,6 @@ declare namespace __esri { } interface ImageMeshColorConstructor { - /** - * ImageMeshColor is a type of mesh color that represents an image mapped to the mesh by its uv vertex attributes. ImageMeshColor instances can be used with the [MeshComponent.material.color](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-support-MeshComponent.html#material) property. Images can be referred to either by url or directly by data ( [image element](https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement), [canvas element](https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement) or [ImageData](https://developer.mozilla.org/en-US/docs/Web/API/ImageData)). - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-support-ImageMeshColor.html) - */ - new (properties?: ImageMeshColorProperties): ImageMeshColor; } @@ -5375,7 +5495,7 @@ declare namespace __esri { interface jsonUtils { /** - * Creates a new instance of an appropriate [Geometry](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Geometry.html) class and initializes it with values from a JSON object generated from a product in the ArcGIS platform. The object passed into the input `json` parameter often comes from a response to a query operation in the REST API or a [toJSON()](http://pro.arcgis.com/en/pro-app/tool-reference/conversion/features-to-json.htm) method from another ArcGIS product. See the [Using fromJSON()](https://developers.arcgis.com/javascript/latest/guide/using-fromjson/index.html) topic in the Guide for details and examples of when and how to use this function. + * Creates a new instance of an appropriate [Geometry](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Geometry.html) class and initializes it with values from a JSON object generated from a product in the ArcGIS platform. The object passed into the input `json` parameter often comes from a response to a query operation in the REST API or a [toJSON()](http://pro.arcgis.com/en/pro-app/tool-reference/conversion/features-to-json.htm) method from another ArcGIS product. See the [Using fromJSON()](https://developers.arcgis.com/javascript/latest/guide/programming-patterns/#using-fromjson) topic in the Guide for details and examples of when and how to use this function. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-support-jsonUtils.html#fromJSON) * @@ -5497,7 +5617,7 @@ declare namespace __esri { * * @default "auto" */ - alphaMode: string; + alphaMode: "auto" | "blend" | "opaque" | "mask"; /** * Allows to specify a single, uniform color for the mesh component. This can be autocast with a named string, hex string, array of rgb or rgba values, an object with `r`, `g`, `b`, and `a` properties, or a [Color](https://developers.arcgis.com/javascript/latest/api-reference/esri-Color.html) object. * @@ -5519,7 +5639,7 @@ declare namespace __esri { */ doubleSided: boolean; /** - * Allows to specify a texture to get normal information from. The texture is accessed using the uv coordinate specified for each vertex in the mesh vertex attributes. Normal mapping requires also for tangents to be specified in the mesh vertex attributes. + * Allows to specify a texture to get normal information from. The texture is accessed using the uv coordinate specified for each vertex in the mesh vertex attributes. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-support-MeshMaterial.html#normalTexture) */ @@ -5528,7 +5648,7 @@ declare namespace __esri { interface MeshMaterialConstructor { /** - * The material determines how a mesh component is visualized. Among other properties, MeshMaterial specifies a color that may be a [Color](https://developers.arcgis.com/javascript/latest/api-reference/esri-Color.html) value, as well as a colorTexture that may be a [MeshTexture](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-support-MeshTexture.html)), which is mapped to the uv coordinate specified for each vertex in the [Mesh.vertexAttributes](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Mesh.html#vertexAttributes). + * The material determines how a mesh component is visualized. Among other properties, MeshMaterial specifies a [color](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-support-MeshMaterial.html#color) that may be a [Color](https://developers.arcgis.com/javascript/latest/api-reference/esri-Color.html) value, as well as a [colorTexture](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-support-MeshMaterial.html#colorTexture) that may be a [MeshTexture](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-support-MeshTexture.html)), which is mapped to the uv coordinate specified for each vertex in the [Mesh.vertexAttributes](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Mesh.html#vertexAttributes). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-support-MeshMaterial.html) */ @@ -5562,7 +5682,7 @@ declare namespace __esri { * * @default "auto" */ - alphaMode?: string; + alphaMode?: "auto" | "blend" | "opaque" | "mask"; /** * Allows to specify a single, uniform color for the mesh component. This can be autocast with a named string, hex string, array of rgb or rgba values, an object with `r`, `g`, `b`, and `a` properties, or a [Color](https://developers.arcgis.com/javascript/latest/api-reference/esri-Color.html) object. * @@ -5584,7 +5704,7 @@ declare namespace __esri { */ doubleSided?: boolean; /** - * Allows to specify a texture to get normal information from. The texture is accessed using the uv coordinate specified for each vertex in the mesh vertex attributes. Normal mapping requires also for tangents to be specified in the mesh vertex attributes. + * Allows to specify a texture to get normal information from. The texture is accessed using the uv coordinate specified for each vertex in the mesh vertex attributes. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-support-MeshMaterial.html#normalTexture) */ @@ -5625,7 +5745,7 @@ declare namespace __esri { * * @default "repeat" */ - wrap: string | any; + wrap: "clamp" | "repeat" | SeparableWrapModes; /** * Creates a deep clone. @@ -5639,7 +5759,7 @@ declare namespace __esri { interface MeshTextureConstructor { /** - * MeshTexture represents image data to be used for a MeshMaterial. It is mapped to the mesh by its uv vertex attributes. MeshTexture instances can be used with the [MeshComponent.material.colorTexture](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-support-MeshComponent.html#material) and [MeshComponent.material.normalTexture](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-support-MeshComponent.html#material) properties. Images can be referred to either by url or directly by data ( [image element](https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement), [canvas element](https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement) or [ImageData](https://developer.mozilla.org/en-US/docs/Web/API/ImageData)). + * MeshTexture represents image data to be used for a esri/geometry/support/MeshMaterial. It is mapped to the mesh by its uv vertex attributes. MeshTexture instances can be used with the [MeshComponent.material](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-support-MeshComponent.html#material) property and they can be set either as a [MeshMaterial.colorTexture](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-support-MeshMaterial.html#colorTexture) or as [MeshMaterial.normalTexture](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-support-MeshMaterial.html#normalTexture). Images can be referred to either by url or directly by data ( [HTMLImageElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement), [HTMLCanvasElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement) or [ImageData](https://developer.mozilla.org/en-US/docs/Web/API/ImageData)). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-support-MeshTexture.html) */ @@ -5683,7 +5803,27 @@ declare namespace __esri { * * @default "repeat" */ - wrap?: string | any; + wrap?: "clamp" | "repeat" | SeparableWrapModes; + } + + /** + * A separable wrap configuration for horizontal and vertical wrapping modes. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-support-MeshTexture.html#SeparableWrapModes) + */ + export interface SeparableWrapModes extends Object { + /** + * Horizontal wrapping mode. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-support-MeshTexture.html#SeparableWrapModes) + */ + horizontal: "clamp" | "repeat"; + /** + * Vertical wrapping mode. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-support-MeshTexture.html#SeparableWrapModes) + */ + vertical: "clamp" | "repeat"; } interface meshUtils { @@ -5706,7 +5846,6 @@ declare namespace __esri { * @param source The source from which to query the elevation data. * @param extent The extent from which to create the mesh. * @param options Additional options. - * @param options.material The material. * @param options.demResolution Controls the horizontal resolution (cell size) in meters from which elevation data is sampled (defaults to `auto`). See [ElevationLayer.queryElevation](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-ElevationLayer.html#queryElevation) for more details on the different settings. * */ @@ -5774,12 +5913,6 @@ declare namespace __esri { } export interface meshUtilsCreateFromElevationOptions extends Object { - /** - * The material. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-support-meshUtils.html#createFromElevation) - */ - material?: meshUtilsCreateFromElevationOptionsMaterial; /** * Controls the horizontal resolution (cell size) in meters from which elevation data is sampled (defaults to `auto`). See [ElevationLayer.queryElevation](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-ElevationLayer.html#queryElevation) for more details on the different settings. * @@ -5790,15 +5923,6 @@ declare namespace __esri { demResolution?: number | string; } - export interface meshUtilsCreateFromElevationOptionsMaterial extends Object { - /** - * The material color. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-support-meshUtils.html#createFromElevation) - */ - color?: ValueMeshColor | ImageMeshColor | string | HTMLImageElement | HTMLCanvasElement | number[]; - } - export interface meshUtilsGeoreferenceOptions extends Object { /** * Indicates whether to georeference relative to the globe or the projected coordinate system. @@ -5870,11 +5994,6 @@ declare namespace __esri { export const normalizeUtils: normalizeUtils; interface ValueMeshColor extends Accessor { - /** - * For ValueMeshColor the type is always `value`. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-support-ValueMeshColor.html#type) - */ readonly type: "value"; /** * The color value. @@ -5894,12 +6013,6 @@ declare namespace __esri { } interface ValueMeshColorConstructor { - /** - * ValueMeshColor is a type of mesh color that represents a single uniform color to be applied to a mesh component. ValueMeshColor instances can be used with the [MeshComponent.material.color](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-support-MeshComponent.html#material) property. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-support-ValueMeshColor.html) - */ - new (properties?: ValueMeshColorProperties): ValueMeshColor; } @@ -6594,12 +6707,12 @@ declare namespace __esri { /** * Returns information about the server that is hosting the specified URL. * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-identity-IdentityManager.html#findServerinfo) + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-identity-IdentityManager.html#findServerInfo) * * @param url The URL to the server * */ - findServerinfo(url: string): ServerInfo; + findServerInfo(url: string): ServerInfo; /** * Returns an object containing a token and its expiration time. It is necessary to provide the [ServerInfo](https://developers.arcgis.com/javascript/latest/api-reference/esri-identity-ServerInfo.html) object that contains a token service URL and a user info object containing username and password. This is a helper method typically called by sub-classes to generate tokens. * @@ -6728,6 +6841,10 @@ declare namespace __esri { * */ toJSON(): any; + + on(name: "dialog-create", eventHandler: IdentityManagerDialogCreateEventHandler): IHandle; + + on(name: "credential-create", eventHandler: IdentityManagerCredentialCreateEventHandler): IHandle; } interface IdentityManagerConstructor { @@ -6742,6 +6859,12 @@ declare namespace __esri { export const IdentityManager: IdentityManagerConstructor; + export interface IdentityManagerCredentialCreateEvent { + credential: Credential; + } + + export interface IdentityManagerDialogCreateEvent {} + export type HandlerCallback = ( authorizeParams: any, authorizeUrl: string, @@ -7311,8 +7434,10 @@ declare namespace __esri { export const kernel: kernel; interface BaseDynamicLayer extends Layer, ScaleRangeLayer, RefreshableLayer { + readonly type: "base-dynamic"; + /** - * Adds a promise to the layer's [loadable](https://developers.arcgis.com/javascript/latest/guide/loadable/index.html) chain. This is typically used in the [load()](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-BaseDynamicLayer.html#load) method to ensure that all [loadable](https://developers.arcgis.com/javascript/latest/guide/loadable/index.html) resources required for the layer to function are loaded prior to this layer resolving and becoming [loaded](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-BaseDynamicLayer.html#loaded). + * Adds a promise to the layer's [loadable](https://developers.arcgis.com/javascript/latest/guide/programming-patterns/#loadable) chain. This is typically used in the [load()](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-BaseDynamicLayer.html#load) method to ensure that all [loadable](https://developers.arcgis.com/javascript/latest/guide/programming-patterns/#loadable) resources required for the layer to function are loaded prior to this layer resolving and becoming [loaded](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-BaseDynamicLayer.html#loaded). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-BaseDynamicLayer.html#addResolvingPromise) * @@ -7414,8 +7539,10 @@ declare namespace __esri { */ tileInfo: TileInfo; + readonly type: "base-elevation"; + /** - * Adds a promise to the layer's [loadable](https://developers.arcgis.com/javascript/latest/guide/loadable/index.html) chain. This is typically used in the [load()](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-BaseElevationLayer.html#load) method to ensure that all [loadable](https://developers.arcgis.com/javascript/latest/guide/loadable/index.html) resources required for the layer to function are loaded prior to this layer resolving and becoming [loaded](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-BaseElevationLayer.html#loaded). + * Adds a promise to the layer's [loadable](https://developers.arcgis.com/javascript/latest/guide/programming-patterns/#loadable) chain. This is typically used in the [load()](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-BaseElevationLayer.html#load) method to ensure that all [loadable](https://developers.arcgis.com/javascript/latest/guide/programming-patterns/#loadable) resources required for the layer to function are loaded prior to this layer resolving and becoming [loaded](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-BaseElevationLayer.html#loaded). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-BaseElevationLayer.html#addResolvingPromise) * @@ -7670,9 +7797,15 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-BaseTileLayer.html#tileInfo) */ tileInfo: TileInfo; + /** + * For [BaseTileLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-BaseTileLayer.html) the type is `base-tile`. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-BaseTileLayer.html#type) + */ + readonly type: "base-tile" | "bing-maps"; /** - * Adds a promise to the layer's [loadable](https://developers.arcgis.com/javascript/latest/guide/loadable/index.html) chain. This is typically used in the [load()](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-BaseTileLayer.html#load) method to ensure that all [loadable](https://developers.arcgis.com/javascript/latest/guide/loadable/index.html) resources required for the layer to function are loaded prior to this layer resolving and becoming [loaded](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-BaseTileLayer.html#loaded). + * Adds a promise to the layer's [loadable](https://developers.arcgis.com/javascript/latest/guide/programming-patterns/#loadable) chain. This is typically used in the [load()](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-BaseTileLayer.html#load) method to ensure that all [loadable](https://developers.arcgis.com/javascript/latest/guide/programming-patterns/#loadable) resources required for the layer to function are loaded prior to this layer resolving and becoming [loaded](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-BaseTileLayer.html#loaded). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-BaseTileLayer.html#addResolvingPromise) * @@ -7852,6 +7985,8 @@ declare namespace __esri { */ style: string; + readonly type: "bing-maps"; + on(name: "layerview-create", eventHandler: BingMapsLayerLayerviewCreateEventHandler): IHandle; on(name: "layerview-create-error", eventHandler: BingMapsLayerLayerviewCreateErrorEventHandler): IHandle; @@ -7956,6 +8091,8 @@ declare namespace __esri { */ readonly sublayers: Collection; + readonly type: "building-scene"; + /** * Loads the layer and all of its sublayers. * @@ -8108,11 +8245,7 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-buildingSublayers-BuildingComponentSublayer.html#renderer) */ renderer: Renderer; - /** - * The type for this sublayer is always `building-component`. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-buildingSublayers-BuildingComponentSublayer.html#type) - */ + readonly type: "building-component"; /** @@ -8244,11 +8377,7 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-buildingSublayers-BuildingGroupSublayer.html#sublayers) */ readonly sublayers: Collection; - /** - * The type for this sublayer is always `building-group`. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-buildingSublayers-BuildingGroupSublayer.html#type) - */ + readonly type: "building-group"; /** @@ -8391,6 +8520,12 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-CSVLayer.html#delimiter) */ delimiter: string; + /** + * The name of the layer's primary display field. The value of this property matches the name of one of the fields of the layer. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-CSVLayer.html#displayField) + */ + displayField: string; /** * Specifies how graphics are placed on the vertical axis (z). This property may only be used in a [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). See the [ElevationInfo sample](https://developers.arcgis.com/javascript/latest/sample-code/scene-elevationinfo/index.html) for an example of how this property may be used. * @@ -8494,6 +8629,8 @@ declare namespace __esri { * @default SpatialReference.WGS84 */ spatialReference: SpatialReference; + + readonly type: "csv"; /** * The URL of the CSV file. * @@ -8520,6 +8657,26 @@ declare namespace __esri { * */ createQuery(): Query; + /** + * Returns the [Field](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-Field.html) instance for a field name (case-insensitive). + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-CSVLayer.html#getField) + * + * @param fieldName Name of the field. + * + */ + getField(fieldName: string): Field; + /** + * Returns the [Domain](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-Domain.html) associated with the given field name. The domain can be either a [CodedValueDomain](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-CodedValueDomain.html) or [RangeDomain](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-RangeDomain.html). + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-CSVLayer.html#getFieldDomain) + * + * @param fieldName Name of the field. + * @param options An object specifying additional options. See the object specification table below for the required properties of this object. + * @param options.feature The feature to which the [Domain](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-Domain.html) is assigned. + * + */ + getFieldDomain(fieldName: string, options?: CSVLayerGetFieldDomainOptions): Domain; /** * Executes a [Query](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-Query.html) against the CSV data and returns the [Extent](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Extent.html) of features that satisfy the query. If no parameters are specified, then the extent and count of all features satisfying the layer's configuration/filters are returned. * > **Known Limitations** @@ -8647,6 +8804,12 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-CSVLayer.html#delimiter) */ delimiter?: string; + /** + * The name of the layer's primary display field. The value of this property matches the name of one of the fields of the layer. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-CSVLayer.html#displayField) + */ + displayField?: string; /** * Specifies how graphics are placed on the vertical axis (z). This property may only be used in a [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). See the [ElevationInfo sample](https://developers.arcgis.com/javascript/latest/sample-code/scene-elevationinfo/index.html) for an example of how this property may be used. * @@ -9072,7 +9235,7 @@ declare namespace __esri { * on-the-ground | Graphics are draped on the terrain surface. This is the default value for [Point](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Point.html) geometries rendered with [ObjectSymbol3DLayers](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-ObjectSymbol3DLayer.html). * relative-to-ground | Graphics are placed at an elevation relative to the terrain surface. The graphic's elevation is determined by summing up the terrain elevation and the result of `featureExpressionInfo` (if defined). This is the default value for [Point](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Point.html) geometries rendered with [IconSymbol3DLayers](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-IconSymbol3DLayer.html). * absolute-height | Graphics are placed at an absolute elevation (z-value) above sea level. This z-value is determined by the result of `featureExpressionInfo` (if defined). This mode doesn't take the elevation of the terrain into account. - * relative-to-scene | Graphics are aligned to buildings and other objects part of 3D Object [SceneLayers](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-SceneLayer.html) or [IntegratedMeshLayers](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-IntegratedMeshLayer.html), depending on which has higher elevation. If the graphic is not directly above a building or any other feature, it is aligned to the terrain surface elevation. If defined, the result of `featureExpressionInfo` is added to the 3D Object/terrain surface elevation. + * relative-to-scene | Features are aligned to [extruded polygons](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-ExtrudeSymbol3DLayer.html) and objects part of 3D Object [SceneLayers](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-SceneLayer.html) or [IntegratedMeshLayers](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-IntegratedMeshLayer.html), depending on which has higher elevation. If the graphic is not directly above a building or any other feature, it is aligned to the terrain surface elevation. If defined, the result of `featureExpressionInfo` is added to the 3D Object/terrain surface elevation. * * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-CSVLayer.html#elevationInfo) @@ -9116,6 +9279,15 @@ declare namespace __esri { type: string; } + export interface CSVLayerGetFieldDomainOptions extends Object { + /** + * The feature to which the [Domain](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-Domain.html) is assigned. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-CSVLayer.html#getFieldDomain) + */ + feature: Graphic; + } + export interface CSVLayerQueryExtentOptions extends Object { /** * Signal object that can be used to abort the asynchronous task. The returned promise will be rejected with an [Error](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Error.html) named `AbortError` when an abort is signaled. See also [AbortController](https://developer.mozilla.org/en-US/docs/Web/API/AbortController) for more information on how to construct a controller that can be used to deliver abort signals. @@ -9171,6 +9343,14 @@ declare namespace __esri { } interface ElevationLayer extends Layer, ArcGISCachedService, PortalLayer { + /** + * The [image service's metadata JSON](https://developers.arcgis.com/rest/services-reference/image-service.htm) exposed by the ArcGIS REST API. While most commonly used [properties](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-ElevationLayer.html#properties-summary) are exposed on the ElevationLayer class directly, this property gives access to all information returned by the elevation image service. This property is useful if working in an application built using an older version of the API which requires access to elevation image service properties from a more recent version. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-ElevationLayer.html#sourceJSON) + */ + sourceJSON: any; + + readonly type: "elevation"; /** * URL pointing to the Elevation layer resource on an ArcGIS Image Server. * @@ -9278,6 +9458,12 @@ declare namespace __esri { export const ElevationLayer: ElevationLayerConstructor; interface ElevationLayerProperties extends LayerProperties, ArcGISCachedServiceProperties, PortalLayerProperties { + /** + * The [image service's metadata JSON](https://developers.arcgis.com/rest/services-reference/image-service.htm) exposed by the ArcGIS REST API. While most commonly used [properties](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-ElevationLayer.html#properties-summary) are exposed on the ElevationLayer class directly, this property gives access to all information returned by the elevation image service. This property is useful if working in an application built using an older version of the API which requires access to elevation image service properties from a more recent version. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-ElevationLayer.html#sourceJSON) + */ + sourceJSON?: any; /** * URL pointing to the Elevation layer resource on an ArcGIS Image Server. * @@ -9487,11 +9673,11 @@ declare namespace __esri { */ readonly gdbVersion: string; /** - * The geometry type of features in the layer. All features must be of the same type. This property is read-only when the layer is created from a [url](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html#url). When creating a FeatureLayer from client-side features, this property is inferred by the geometryType of the features provided in the layer's [source](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html#source) property. **Possible Values:** point | multipoint | polyline | polygon | multipatch | mesh + * The geometry type of features in the layer. All features must be of the same type. This property is read-only when the layer is created from a [url](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html#url). When creating a FeatureLayer from client-side features, this property is inferred by the geometryType of the features provided in the layer's [source](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html#source) property. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html#geometryType) */ - geometryType: string; + geometryType: "point" | "multipoint" | "polyline" | "polygon" | "multipatch" | "mesh"; /** * Indicates whether the client-side features in the layer have `M` (measurement) values. Use the `supportsM` property in the FeatureLayer's [capabilities.data](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html#capabilities) object to verify if `M` values are supported on [feature service](https://developers.arcgis.com/rest/services-reference/feature-service.htm) features. * @@ -9630,6 +9816,12 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html#source) */ source: Collection; + /** + * The [feature service's metadata JSON](https://developers.arcgis.com/rest/services-reference/layer-feature-service-.htm) exposed by the ArcGIS REST API. While most commonly used [properties](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html#properties-summary) are exposed on the FeatureLayer class directly, this property gives access to all information returned by the feature service. This property is useful if working in an application built using an older version of the API which requires access to feature service properties from a more recent version. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html#sourceJSON) + */ + sourceJSON: any; /** * The spatial reference of the layer. When creating the layer from a [url](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html#url), the spatial reference is read from the service. When creating a FeatureLayer from client-side features, this property is inferred from the geometries of the features provided in the [source](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html#source) property. * @@ -9642,12 +9834,18 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html#templates) */ templates: FeatureTemplate[]; + /** + * For [FeatureLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html) the type is `feature`. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html#type) + */ + readonly type: "feature" | "stream"; /** * The name of the field holding the type ID or subtypes for the features. See [ArcGIS Pro subtypes document](https://pro.arcgis.com/en/pro-app/help/data/geodatabases/overview/an-overview-of-subtypes.htm). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html#typeIdField) */ - readonly typeIdField: string; + typeIdField: string; /** * An array of subtypes defined in the feature service exposed by ArcGIS REST API. Each item includes information about the type, such as the type ID, name, and definition expression. * @@ -9790,7 +9988,7 @@ declare namespace __esri { options?: FeatureLayerQueryFeatureCountOptions ): IPromise; /** - * Executes a [Query](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-Query.html) against the feature service and returns a [FeatureSet](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-FeatureSet.html), which can be accessed using the `.then()` method once the promise resolves. A [FeatureSet](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-FeatureSet.html) contains an array of [Graphic](https://developers.arcgis.com/javascript/latest/api-reference/esri-Graphic.html) features, which can be added to the [view's graphics](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View.html#graphics). This array will not be populated if zero results are found. + * Executes a [Query](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-Query.html) against the feature service and returns a [FeatureSet](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-FeatureSet.html), which can be accessed using the `.then()` method once the promise resolves. A [FeatureSet](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-FeatureSet.html) contains an array of [Graphic](https://developers.arcgis.com/javascript/latest/api-reference/esri-Graphic.html) features. See the [querying](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html#querying) section for more information on how to query features from a layer. * > To query features/graphics available to or visible in the [View](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View.html) on the client rather than making a server-side query, you must use the [FeatureLayerView.queryFeatures()](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-FeatureLayerView.html#queryFeatures) method. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html#queryFeatures) @@ -9843,6 +10041,8 @@ declare namespace __esri { attachment: HTMLFormElement | FormData ): IPromise; + on(name: "edits", eventHandler: FeatureLayerEditsEventHandler): IHandle; + on(name: "layerview-create", eventHandler: FeatureLayerLayerviewCreateEventHandler): IHandle; on(name: "layerview-create-error", eventHandler: FeatureLayerLayerviewCreateErrorEventHandler): IHandle; @@ -9913,11 +10113,11 @@ declare namespace __esri { */ fields?: FieldProperties[]; /** - * The geometry type of features in the layer. All features must be of the same type. This property is read-only when the layer is created from a [url](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html#url). When creating a FeatureLayer from client-side features, this property is inferred by the geometryType of the features provided in the layer's [source](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html#source) property. **Possible Values:** point | multipoint | polyline | polygon | multipatch | mesh + * The geometry type of features in the layer. All features must be of the same type. This property is read-only when the layer is created from a [url](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html#url). When creating a FeatureLayer from client-side features, this property is inferred by the geometryType of the features provided in the layer's [source](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html#source) property. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html#geometryType) */ - geometryType?: string; + geometryType?: "point" | "multipoint" | "polyline" | "polygon" | "multipatch" | "mesh"; /** * The historic moment to query. If historicMoment is not specified, the query will apply to the current features. * @@ -10034,6 +10234,12 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html#source) */ source?: CollectionProperties; + /** + * The [feature service's metadata JSON](https://developers.arcgis.com/rest/services-reference/layer-feature-service-.htm) exposed by the ArcGIS REST API. While most commonly used [properties](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html#properties-summary) are exposed on the FeatureLayer class directly, this property gives access to all information returned by the feature service. This property is useful if working in an application built using an older version of the API which requires access to feature service properties from a more recent version. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html#sourceJSON) + */ + sourceJSON?: any; /** * The spatial reference of the layer. When creating the layer from a [url](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html#url), the spatial reference is read from the service. When creating a FeatureLayer from client-side features, this property is inferred from the geometries of the features provided in the [source](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html#source) property. * @@ -10046,6 +10252,12 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html#templates) */ templates?: FeatureTemplateProperties[]; + /** + * The name of the field holding the type ID or subtypes for the features. See [ArcGIS Pro subtypes document](https://pro.arcgis.com/en/pro-app/help/data/geodatabases/overview/an-overview-of-subtypes.htm). + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html#typeIdField) + */ + typeIdField?: string; /** * An array of subtypes defined in the feature service exposed by ArcGIS REST API. Each item includes information about the type, such as the type ID, name, and definition expression. * @@ -10106,6 +10318,14 @@ declare namespace __esri { lastEditDate: Date; } + export interface FeatureLayerEditsEvent { + addedFeatures: FeatureLayerEditsEventAddedFeatures[]; + + deletedFeatures: FeatureLayerEditsEventDeletedFeatures[]; + + updatedFeatures: FeatureLayerEditsEventUpdatedFeatures[]; + } + /** * FeatureEditResult represents the result of adding, updating or deleting a feature. * @@ -10482,7 +10702,7 @@ declare namespace __esri { * on-the-ground | Features are draped on the terrain surface. This is the default value for features with [Polyline](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Polyline.html) or [Polygon](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Polygon.html) geometries and features with [Point](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Point.html) geometries rendered with [ObjectSymbol3DLayers](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-ObjectSymbol3DLayer.html). * relative-to-ground | Features are placed at an elevation relative to the terrain surface. The feature's elevation is determined by summing up the terrain elevation and the geometry's z-value (if present). If `featureExpressionInfo` is defined, the result of the expression is used instead of the geometry’s z-value. `relative-to-ground` is the default value for [Point](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Point.html) geometries rendered with [IconSymbol3DLayers](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-IconSymbol3DLayer.html). * absolute-height | Features are placed at an absolute elevation (z-value) above sea level. This z-value is determined by the geometry's z-value (if present). If `featureExpressionInfo` is defined, the result of the expression is used instead of the geometry’s z-value. This mode doesn't take the elevation of the terrain into account. This is the default value of features with any geometry type where [hasZ](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html#hasZ) is `true`. - * relative-to-scene | Features are aligned to buildings and other objects part of 3D Object [SceneLayers](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-SceneLayer.html) or [IntegratedMeshLayers](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-IntegratedMeshLayer.html), depending on which has higher elevation. If the feature is not directly above a building or any other feature, it is aligned to the terrain surface elevation. If defined, the result of `featureExpressionInfo` is added to the 3D Object/terrain surface elevation. In this mode z-values are ignored. + * relative-to-scene | Features are aligned to [extruded polygons](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-ExtrudeSymbol3DLayer.html) and objects part of 3D Object [SceneLayers](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-SceneLayer.html) or [IntegratedMeshLayers](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-IntegratedMeshLayer.html), depending on which has higher elevation. If the feature is not directly above a building or any other feature, it is aligned to the terrain surface elevation. If defined, the result of `featureExpressionInfo` is added to the 3D Object/terrain surface elevation. In this mode z-values are ignored. * * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html#elevationInfo) @@ -10607,6 +10827,18 @@ declare namespace __esri { view: View; } + export interface FeatureLayerEditsEventAddedFeatures extends Object { + objectId: number; + } + + export interface FeatureLayerEditsEventDeletedFeatures extends Object { + objectId: number; + } + + export interface FeatureLayerEditsEventUpdatedFeatures extends Object { + objectId: number; + } + export interface FeatureEditResultError extends Object { /** * Error name. @@ -10672,11 +10904,11 @@ declare namespace __esri { */ readonly fieldsIndex: FieldsIndex; /** - * The geometry type of features in the layer. All features must be of the same type. **Possible Values:** point | multipoint | polyline | polygon + * The geometry type of features in the layer. All features must be of the same type. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-GeoJSONLayer.html#geometryType) */ - geometryType: string; + geometryType: "point" | "polygon" | "polyline" | "multipoint"; /** * Indicates whether the client-side features in the layer have `Z` (elevation) values. Refer to [elevationInfo](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-GeoJSONLayer.html#elevationInfo) for details regarding placement and rendering of features with z-values in 3D [SceneViews](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). Use the `supportsZ` property in the layer's [capabilities.data](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-GeoJSONLayer.html#capabilities) object to verify if `Z` values are supported on the features. * @@ -10760,6 +10992,8 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-GeoJSONLayer.html#templates) */ templates: FeatureTemplate[]; + + readonly type: "geojson"; /** * The URL of the GeoJSON file. * @@ -10895,6 +11129,8 @@ declare namespace __esri { */ queryObjectIds(query?: Query | QueryProperties, options?: GeoJSONLayerQueryObjectIdsOptions): IPromise; + on(name: "edits", eventHandler: GeoJSONLayerEditsEventHandler): IHandle; + on(name: "layerview-create", eventHandler: GeoJSONLayerLayerviewCreateEventHandler): IHandle; on(name: "layerview-create-error", eventHandler: GeoJSONLayerLayerviewCreateErrorEventHandler): IHandle; @@ -10952,11 +11188,11 @@ declare namespace __esri { */ fields?: FieldProperties[]; /** - * The geometry type of features in the layer. All features must be of the same type. **Possible Values:** point | multipoint | polyline | polygon + * The geometry type of features in the layer. All features must be of the same type. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-GeoJSONLayer.html#geometryType) */ - geometryType?: string; + geometryType?: "point" | "polygon" | "polyline" | "multipoint"; /** * The label definition for this layer, specified as an array of [LabelClass](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-LabelClass.html). Use this property to specify labeling properties for the layer such as label expression, placement, and size. Multiple Label classes with different `where` clauses can be used to define several labels with varying styles on the same feature. Likewise, multiple label classes may be used to label different types of features (for example blue labels for lakes and green labels for parks). * > **Known Limitations** @@ -11040,6 +11276,14 @@ declare namespace __esri { url?: string; } + export interface GeoJSONLayerEditsEvent { + addedFeatures: GeoJSONLayerEditsEventAddedFeatures[]; + + deletedFeatures: GeoJSONLayerEditsEventDeletedFeatures[]; + + updatedFeatures: GeoJSONLayerEditsEventUpdatedFeatures[]; + } + export interface GeoJSONLayerApplyEditsEdits extends Object { /** * Array of features to be added. Values of non nullable fields must be provided when adding new features. Date fields must have [numeric](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTime) values representing universal time. @@ -11381,7 +11625,7 @@ declare namespace __esri { * on-the-ground | Graphics are draped on the terrain surface. This is the default value for [Point](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Point.html) geometries rendered with [ObjectSymbol3DLayers](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-ObjectSymbol3DLayer.html). * relative-to-ground | Graphics are placed at an elevation relative to the terrain surface. The graphic's elevation is determined by summing up the terrain elevation and the result of `featureExpressionInfo` (if defined). This is the default value for [Point](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Point.html) geometries rendered with [IconSymbol3DLayers](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-IconSymbol3DLayer.html). * absolute-height | Graphics are placed at an absolute elevation (z-value) above sea level. This z-value is determined by the result of `featureExpressionInfo` (if defined). This mode doesn't take the elevation of the terrain into account. - * relative-to-scene | Graphics are aligned to buildings and other objects part of 3D Object [SceneLayers](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-SceneLayer.html) or [IntegratedMeshLayers](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-IntegratedMeshLayer.html), depending on which has higher elevation. If the graphic is not directly above a building or any other feature, it is aligned to the terrain surface elevation. If defined, the result of `featureExpressionInfo` is added to the 3D Object/terrain surface elevation. + * relative-to-scene | Features are aligned to [extruded polygons](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-ExtrudeSymbol3DLayer.html) and objects part of 3D Object [SceneLayers](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-SceneLayer.html) or [IntegratedMeshLayers](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-IntegratedMeshLayer.html), depending on which has higher elevation. If the graphic is not directly above a building or any other feature, it is aligned to the terrain surface elevation. If defined, the result of `featureExpressionInfo` is added to the 3D Object/terrain surface elevation. * * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-GeoJSONLayer.html#elevationInfo) @@ -11488,6 +11732,18 @@ declare namespace __esri { view: View; } + export interface GeoJSONLayerEditsEventAddedFeatures extends Object { + objectId: number; + } + + export interface GeoJSONLayerEditsEventDeletedFeatures extends Object { + objectId: number; + } + + export interface GeoJSONLayerEditsEventUpdatedFeatures extends Object { + objectId: number; + } + interface GeoRSSLayer extends Layer, ScaleRangeLayer { /** * Symbol used to represent line features from the GeoRSS feed. @@ -11507,6 +11763,8 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-GeoRSSLayer.html#polygonSymbol) */ polygonSymbol: SimpleFillSymbol; + + readonly type: "geo-rss"; /** * The URL pointing to a GeoRSS file. This must be publicly available. * @@ -11600,11 +11858,7 @@ declare namespace __esri { * @default true */ screenSizePerspectiveEnabled: boolean; - /** - * For [GraphicsLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-GraphicsLayer.html) the type is `graphics`. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-GraphicsLayer.html#type) - */ + readonly type: "graphics"; /** @@ -11704,7 +11958,7 @@ declare namespace __esri { * on-the-ground | Graphics are placed on the terrain surface. * relative-to-ground | Graphics are placed at an elevation relative to the terrain surface. The graphic's elevation is determined by summing the terrain elevation and the geometry's z-value (if present). In case `featureExpressionInfo` is defined, the result of the expression is used instead of the geometry’s z-value. * absolute-height | Graphics are placed at an absolute elevation (z-value) above sea level. This z-value is determined by the geometry's z-value (if present). If `featureExpressionInfo` is defined, the result of the expression is used instead of the geometry’s z-value. It doesn't take the elevation of the terrain into account. - * relative-to-scene | Graphics are aligned to buildings and other objects part of 3D Object [SceneLayers](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-SceneLayer.html) or [IntegratedMeshLayers](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-IntegratedMeshLayer.html), depending on which has higher elevation. If the graphic is not directly above a building or any other feature, it is aligned to the terrain surface elevation. If defined, the result of `featureExpressionInfo` is added to the 3D Object/terrain surface elevation. In this mode z-values are ignored. + * relative-to-scene | Features are aligned to [extruded polygons](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-ExtrudeSymbol3DLayer.html) and objects part of 3D Object [SceneLayers](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-SceneLayer.html) or [IntegratedMeshLayers](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-IntegratedMeshLayer.html), depending on which has higher elevation. If the graphic is not directly above a building or any other feature, it is aligned to the terrain surface elevation. If defined, the result of `featureExpressionInfo` is added to the 3D Object/terrain surface elevation. In this mode z-values are ignored. * * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-GraphicsLayer.html#elevationInfo) @@ -11758,6 +12012,7 @@ declare namespace __esri { } interface GroupLayer extends Layer, LayersMixin, PortalLayer { + readonly type: "group"; /** * Indicates how to manage the visibility of the children layers. Possible values are described in the table below. * @@ -11770,7 +12025,7 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-GroupLayer.html#visibilityMode) */ - visibilityMode: string; + visibilityMode: "independent" | "inherited" | "exclusive"; /** * Loads all the externally loadable resources associated with the group layer. For the group layer this will load all the layers. @@ -11815,7 +12070,7 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-GroupLayer.html#visibilityMode) */ - visibilityMode?: string; + visibilityMode?: "independent" | "inherited" | "exclusive"; } export interface GroupLayerLayerviewCreateErrorEvent { @@ -11866,6 +12121,8 @@ declare namespace __esri { */ popupTemplate: PopupTemplate; + readonly type: "imagery"; + /** * Creates a default popup template for the layer, populated with all the fields of the layer. * @@ -11895,7 +12152,7 @@ declare namespace __esri { interface ImageryLayerConstructor { /** - * Represents an image service resource as a layer. An ImageryLayer retrieves and displays data from image services. ImageryLayer allows you to and apply client side [pixel filtering](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-ImageryLayer.html#pixelFilter), server defined or client-defined [rendering rules](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-ImageryLayer.html#renderingRule) (e.g. remap, colormap), and [mosaic rules](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-ImageryLayer.html#mosaicRule). This layer is particularly useful when you need to interactively change pixel manipulation criteria and get an immediate response on the client. + * Represents an [image service resource](https://developers.arcgis.com/rest/services-reference/image-service.htm) as a layer. An ImageryLayer retrieves and displays data from image services. An image service supports accessing the mosaicked image, its catalog, and the individual rasters in the catalog. An image service supports dynamic access and tiled access. Dynamic access provides more functionalities, and tiled access provides faster and more scalable access to precooked tiles. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-ImageryLayer.html) */ @@ -11981,6 +12238,8 @@ declare namespace __esri { */ elevationInfo: IntegratedMeshLayerElevationInfo; + readonly type: "integrated-mesh"; + on(name: "layerview-create", eventHandler: IntegratedMeshLayerLayerviewCreateEventHandler): IHandle; on(name: "layerview-create-error", eventHandler: IntegratedMeshLayerLayerviewCreateErrorEventHandler): IHandle; @@ -12070,6 +12329,8 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-KMLLayer.html#sublayers) */ sublayers: Collection; + + readonly type: "kml"; /** * The publicly accessible URL for a .kml or .kmz file. * @@ -12182,11 +12443,39 @@ declare namespace __esri { */ title: string; /** - * The layer type provides a convenient way to check the type of the layer without the need to import specific layer modules. **Possible values:** base-dynamic | base-elevation | base-tile | bing-maps | elevation | feature | graphics | group | imagery | integrated-mesh | map-image | open-street-map | point-cloud | scene | stream | tile | unknown | unsupported | vector-tile | web-tile + * The layer type provides a convenient way to check the type of the layer without the need to import specific layer modules. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-Layer.html#type) */ - readonly type: string; + readonly type: + | "base-dynamic" + | "base-elevation" + | "base-tile" + | "bing-maps" + | "building-scene" + | "csv" + | "elevation" + | "feature" + | "geojson" + | "geo-rss" + | "graphics" + | "group" + | "imagery" + | "integrated-mesh" + | "kml" + | "map-image" + | "map-notes" + | "open-street-map" + | "point-cloud" + | "scene" + | "stream" + | "tile" + | "unknown" + | "unsupported" + | "vector-tile" + | "web-tile" + | "wms" + | "wmts"; /** * Indicates if the layer is visible in the [View](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View.html). When `false`, the layer may still be added to a [Map](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html) instance that is referenced in a view, but its features will not be visible in the view. * @@ -12215,6 +12504,12 @@ declare namespace __esri { * */ fetchAttributionData(): IPromise; + + on(name: "layerview-create", eventHandler: LayerLayerviewCreateEventHandler): IHandle; + + on(name: "layerview-create-error", eventHandler: LayerLayerviewCreateErrorEventHandler): IHandle; + + on(name: "layerview-destroy", eventHandler: LayerLayerviewDestroyEventHandler): IHandle; } interface LayerConstructor { @@ -12336,6 +12631,24 @@ declare namespace __esri { portalItem: PortalItem; } + export interface LayerLayerviewCreateErrorEvent { + error: Error; + + view: View; + } + + export interface LayerLayerviewCreateEvent { + layerView: LayerView; + + view: View; + } + + export interface LayerLayerviewDestroyEvent { + layerView: LayerView; + + view: View; + } + interface MapImageLayer extends Layer, SublayersOwner, @@ -12364,13 +12677,13 @@ declare namespace __esri { */ gdbVersion: string; /** - * The output image type. **Possible Values:** png | png8 | png24 | png32 | jpg | pdf | bmp | gif | svg | pngjpg + * The output image type. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-MapImageLayer.html#imageFormat) * * @default png24 */ - imageFormat: string; + imageFormat: "png" | "png8" | "png24" | "png32" | "jpg" | "pdf" | "bmp" | "gif" | "svg" | "pngjpg"; /** * Indicates the maximum height of the image exported by the service. * @@ -12402,11 +12715,19 @@ declare namespace __esri { */ portalItem: PortalItem; /** - * A [Collection](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Collection.html) of [Sublayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-Sublayer.html) objects that allow you to alter the properties of one or more sublayers of the MapImageLayer. If this property is not specified, all the sublayers from the service are displayed as defined in the service. If an empty array is passed to this property then none of the sublayers from the service are displayed in the layer. All sublayers are referenced in the order in which they are drawn in the view (bottom to top). They may be [added](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Collection.html#add), [removed](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Collection.html#remove), or [reordered](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Collection.html#reorder) using the [Collection](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Collection.html) methods. Because [Sublayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-Sublayer.html) extends [Accessor](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Accessor.html), its properties may be [watched](https://developers.arcgis.com/javascript/latest/guide/working-with-props/index.html#watchProperties). + * The [map service's metadata JSON](https://developers.arcgis.com/rest/services-reference/map-service.htm) exposed by the ArcGIS REST API. While most commonly used [properties](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-MapImageLayer.html#properties-summary) are exposed on the MapImageLayer class directly, this property gives access to all information returned by the map service. This property is useful if working in an application built using an older version of the API which requires access to map service properties from a more recent version. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-MapImageLayer.html#sourceJSON) + */ + sourceJSON: any; + /** + * A [Collection](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Collection.html) of [Sublayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-Sublayer.html) objects that allow you to alter the properties of one or more sublayers of the MapImageLayer. If this property is not specified, all the sublayers from the service are displayed as defined in the service. If an empty array is passed to this property then none of the sublayers from the service are displayed in the layer. All sublayers are referenced in the order in which they are drawn in the view (bottom to top). They may be [added](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Collection.html#add), [removed](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Collection.html#remove), or [reordered](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Collection.html#reorder) using the [Collection](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Collection.html) methods. Because [Sublayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-Sublayer.html) extends [Accessor](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Accessor.html), its properties may be [watched](https://developers.arcgis.com/javascript/latest/guide/programming-patterns/#watching-for-property-changes). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-MapImageLayer.html#sublayers) */ sublayers: Collection; + + readonly type: "map-image"; /** * The URL to the REST endpoint of the map service. * @@ -12517,13 +12838,13 @@ declare namespace __esri { */ gdbVersion?: string; /** - * The output image type. **Possible Values:** png | png8 | png24 | png32 | jpg | pdf | bmp | gif | svg | pngjpg + * The output image type. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-MapImageLayer.html#imageFormat) * * @default png24 */ - imageFormat?: string; + imageFormat?: "png" | "png8" | "png24" | "png32" | "jpg" | "pdf" | "bmp" | "gif" | "svg" | "pngjpg"; /** * Indicates the maximum height of the image exported by the service. * @@ -12555,7 +12876,13 @@ declare namespace __esri { */ portalItem?: PortalItemProperties; /** - * A [Collection](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Collection.html) of [Sublayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-Sublayer.html) objects that allow you to alter the properties of one or more sublayers of the MapImageLayer. If this property is not specified, all the sublayers from the service are displayed as defined in the service. If an empty array is passed to this property then none of the sublayers from the service are displayed in the layer. All sublayers are referenced in the order in which they are drawn in the view (bottom to top). They may be [added](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Collection.html#add), [removed](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Collection.html#remove), or [reordered](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Collection.html#reorder) using the [Collection](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Collection.html) methods. Because [Sublayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-Sublayer.html) extends [Accessor](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Accessor.html), its properties may be [watched](https://developers.arcgis.com/javascript/latest/guide/working-with-props/index.html#watchProperties). + * The [map service's metadata JSON](https://developers.arcgis.com/rest/services-reference/map-service.htm) exposed by the ArcGIS REST API. While most commonly used [properties](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-MapImageLayer.html#properties-summary) are exposed on the MapImageLayer class directly, this property gives access to all information returned by the map service. This property is useful if working in an application built using an older version of the API which requires access to map service properties from a more recent version. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-MapImageLayer.html#sourceJSON) + */ + sourceJSON?: any; + /** + * A [Collection](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Collection.html) of [Sublayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-Sublayer.html) objects that allow you to alter the properties of one or more sublayers of the MapImageLayer. If this property is not specified, all the sublayers from the service are displayed as defined in the service. If an empty array is passed to this property then none of the sublayers from the service are displayed in the layer. All sublayers are referenced in the order in which they are drawn in the view (bottom to top). They may be [added](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Collection.html#add), [removed](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Collection.html#remove), or [reordered](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Collection.html#reorder) using the [Collection](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Collection.html) methods. Because [Sublayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-Sublayer.html) extends [Accessor](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Accessor.html), its properties may be [watched](https://developers.arcgis.com/javascript/latest/guide/programming-patterns/#watching-for-property-changes). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-MapImageLayer.html#sublayers) */ @@ -12650,6 +12977,8 @@ declare namespace __esri { } interface MapNotesLayer extends Layer, PortalLayer, ScaleRangeLayer { + readonly type: "map-notes"; + on(name: "layerview-create", eventHandler: MapNotesLayerLayerviewCreateEventHandler): IHandle; on(name: "layerview-create-error", eventHandler: MapNotesLayerLayerviewCreateErrorEventHandler): IHandle; @@ -12757,17 +13086,11 @@ declare namespace __esri { */ copyright: string; /** - * The SQL where clause used to filter rasters on the client. Only the rasters that satisfy the definition expression are displayed in the [View](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View.html). + * The SQL where clause used to filter rasters. Only the rasters that satisfy the definition expression are displayed in the [View](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View.html). This property overrides the [mosaicRule's](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-mixins-ArcGISImageService.html#mosaicRule) [where](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-MosaicRule.html#where) property if both properties are set on the layer. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-mixins-ArcGISImageService.html#definitionExpression) */ definitionExpression: string; - /** - * An array of fields in the layer for which a [Domain](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-Domain.html) has been defined. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-mixins-ArcGISImageService.html#domainFields) - */ - domainFields: Field[]; /** * An array of fields in the layer. Each field represents an attribute that may contain a value for each raster in the layer. * @@ -12775,23 +13098,17 @@ declare namespace __esri { */ fields: Field[]; /** - * The format of the exported image. **Possible Values:** png | png8 | png24 | png32 | jpg | bmp | jpgpng | lerc | tiff + * The format of the exported image. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-mixins-ArcGISImageService.html#format) */ - format: string; + format: "png" | "png8" | "png24" | "png32" | "jpg" | "jpgpng" | "lerc" | "tiff"; /** * Indicates if the layer has [multidimensionalInfo](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-mixins-ArcGISImageService.html#multidimensionalInfo). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-mixins-ArcGISImageService.html#hasMultidimensions) */ hasMultidimensions: boolean; - /** - * Indicates if the Image Service has a [raster attribute table](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-mixins-ArcGISImageService.html#rasterAttributeTable). - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-mixins-ArcGISImageService.html#hasRasterAttributeTable) - */ - hasRasterAttributeTable: boolean; /** * Indicates the maximum height of the image exported by the service. * @@ -12809,11 +13126,11 @@ declare namespace __esri { */ imageMaxWidth: number; /** - * Defines how to interpolate pixel values. **Possible Values:** nearest | bilinear | cubic | majority + * Defines how to interpolate pixel values. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-mixins-ArcGISImageService.html#interpolation) */ - interpolation: string; + interpolation: "nearest" | "bilinear" | "cubic" | "majority"; /** * Defines how overlapping images should be mosaicked. * @@ -12835,7 +13152,7 @@ declare namespace __esri { */ noData: number | number[]; /** - * Interpretation of the [noData](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-mixins-ArcGISImageService.html#noData) setting. **Possible values:** + * Interpretation of the [noData](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-mixins-ArcGISImageService.html#noData) setting. * * Value | Description | * ----- | ----------- | @@ -12845,7 +13162,7 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-mixins-ArcGISImageService.html#noDataInterpretation) */ - noDataInterpretation: string; + noDataInterpretation: "any" | "all"; /** * The name of an `oid` [field](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-mixins-ArcGISImageService.html#fields) containing a unique value or identifier for each raster in the layer. * @@ -12853,13 +13170,13 @@ declare namespace __esri { */ objectIdField: string; /** - * A function that processes [pixelData](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-ImageryLayerView.html#pixelData). The `pixelData` object contains a [pixelBlock](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-PixelBlock.html) property that gives you access to all of the pixels in the raster on the client. Inside the `pixelFilter` you may loop through all the [pixels](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-PixelBlock.html#pixels) found in the `pixelBlock` property of the `pixelData` object and process them. This function may be used to hide some pixels from the view, alter their values, and change their color. + * A function that processes [pixelData](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-ImageryLayerView.html#pixelData). The `pixelData` object contains a [pixelBlock](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-PixelBlock.html) property that gives you access to all of the pixels in the raster on the client. Inside the `pixelFilter` you may loop through all the [pixels](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-PixelBlock.html#pixels) found in the `pixelBlock` property of the `pixelData` object and process them. This function may be used to hide some pixels from the view, alter their values, and change their color. The pixelFilter should be used when the imagery layer's [format](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-mixins-ArcGISImageService.html#format) is `lerc` or `tiff` as these formats return raw pixel data to the client. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-mixins-ArcGISImageService.html#pixelFilter) */ pixelFilter: Function; /** - * Raster source pixel type. **Possible Values:** + * Raster source pixel type. * * Value | Range of values that each cell can contain | * ----- | ------------------------------------------- | @@ -12876,13 +13193,7 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-mixins-ArcGISImageService.html#pixelType) */ - pixelType: "s8" | "s16" | "s32" | "u8" | "u16" | "u32" | "f32" | "f64"; - /** - * The raster attribute table associated with the service. To access the raster attribute table, the layer must be [loaded](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-mixins-ArcGISImageService.html#loaded). - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-mixins-ArcGISImageService.html#rasterAttributeTable) - */ - rasterAttributeTable: any; + pixelType: "unknown" | "s8" | "s16" | "s32" | "u8" | "u16" | "u32" | "f32" | "f64"; /** * Prefix used to define the fields from the raster attribute table. It's primarily used for [popups](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Popup.html) * @@ -12890,13 +13201,13 @@ declare namespace __esri { */ rasterAttributeTableFieldPrefix: string; /** - * A complete list of fields that consists of fields from the layer, pixel value fields and the attribute table fields. This list is used for layer's [popupTemplate](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-ImageryLayer.html#popupTemplate). + * A complete list of fields that consists of raster catalog fields, item pixel value, service pixel value, service pixel value with various server defined function templates, and raster attribute table fields. This list is used for layer's [popupTemplate](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-ImageryLayer.html#popupTemplate). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-mixins-ArcGISImageService.html#rasterFields) */ readonly rasterFields: Field[]; /** - * The renderer assigned to the layer. The renderer defines how to visualize pixels in the layer. Depending on the renderer type, the pixels may be [stretched](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html) across the color ramp, [classified](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-ClassBreaksRenderer.html) or have [different symbols](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-UniqueValueRenderer.html) based on values. + * The renderer assigned to the layer. The renderer defines how to visualize pixels in the layer. Depending on the renderer type, the pixels may be [stretched](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html) across the color ramp, [classified](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-ClassBreaksRenderer.html) or have [different symbols](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-UniqueValueRenderer.html) based on values. If both renderer and [pixelFilter](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-mixins-ArcGISImageService.html#pixelFilter) is applied to an ImageryLayer then pixelFilter will override the renderer. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-mixins-ArcGISImageService.html#renderer) */ @@ -12913,6 +13224,12 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-mixins-ArcGISImageService.html#serviceRasterInfo) */ readonly serviceRasterInfo: RasterInfo; + /** + * The [image service's metadata JSON](https://developers.arcgis.com/rest/services-reference/image-service.htm) exposed by the ArcGIS REST API. While most commonly used [properties](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-mixins-ArcGISImageService.html#properties-summary) are exposed on the ImageryLayer class directly, this property gives access to all information returned by the image service. This property is useful if working in an application built using an older version of the API which requires access to image service properties from a more recent version. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-mixins-ArcGISImageService.html#sourceJSON) + */ + sourceJSON: any; /** * The spatial reference of the image service. * @@ -12959,6 +13276,26 @@ declare namespace __esri { * */ generateRasterInfo(renderingRule: RasterFunction): IPromise; + /** + * Gets the [image coordinate system](https://developers.arcgis.com/rest/services-reference/raster-ics.htm) information of a catalog item in an image service. The returned object can be used to set the 2D MapView's [spatialReference](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#spatialReference) and [extent](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#extent) so that the image can be displayed in its original coordinate system. The image service must have a catalog capability. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-mixins-ArcGISImageService.html#getCatalogItemICSInfo) + * + * @param rasterId Raster catalog id. + * @param abortOptions Signal object that can be used to abort the asynchronous task. + * + */ + getCatalogItemICSInfo(rasterId: number, abortOptions?: AbortSignal): IPromise; + /** + * Get the [raster info](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-RasterInfo.html) of a [catalog item](https://developers.arcgis.com/rest/services-reference/raster-catalog-item.htm) in an image service. Each raster catalog item represents a feature in the raster catalog. Each such feature has an associated raster. The image service must have a catalog capability. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-mixins-ArcGISImageService.html#getCatalogItemRasterInfo) + * + * @param rasterId Raster catalog id. + * @param abortOptions Signal object that can be used to abort the asynchronous task. + * + */ + getCatalogItemRasterInfo(rasterId: number, abortOptions?: AbortSignal): IPromise; } interface ArcGISImageServiceConstructor { @@ -12991,17 +13328,11 @@ declare namespace __esri { */ copyright?: string; /** - * The SQL where clause used to filter rasters on the client. Only the rasters that satisfy the definition expression are displayed in the [View](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View.html). + * The SQL where clause used to filter rasters. Only the rasters that satisfy the definition expression are displayed in the [View](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View.html). This property overrides the [mosaicRule's](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-mixins-ArcGISImageService.html#mosaicRule) [where](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-MosaicRule.html#where) property if both properties are set on the layer. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-mixins-ArcGISImageService.html#definitionExpression) */ definitionExpression?: string; - /** - * An array of fields in the layer for which a [Domain](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-Domain.html) has been defined. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-mixins-ArcGISImageService.html#domainFields) - */ - domainFields?: FieldProperties[]; /** * An array of fields in the layer. Each field represents an attribute that may contain a value for each raster in the layer. * @@ -13009,23 +13340,17 @@ declare namespace __esri { */ fields?: FieldProperties[]; /** - * The format of the exported image. **Possible Values:** png | png8 | png24 | png32 | jpg | bmp | jpgpng | lerc | tiff + * The format of the exported image. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-mixins-ArcGISImageService.html#format) */ - format?: string; + format?: "png" | "png8" | "png24" | "png32" | "jpg" | "jpgpng" | "lerc" | "tiff"; /** * Indicates if the layer has [multidimensionalInfo](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-mixins-ArcGISImageService.html#multidimensionalInfo). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-mixins-ArcGISImageService.html#hasMultidimensions) */ hasMultidimensions?: boolean; - /** - * Indicates if the Image Service has a [raster attribute table](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-mixins-ArcGISImageService.html#rasterAttributeTable). - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-mixins-ArcGISImageService.html#hasRasterAttributeTable) - */ - hasRasterAttributeTable?: boolean; /** * Indicates the maximum height of the image exported by the service. * @@ -13043,11 +13368,11 @@ declare namespace __esri { */ imageMaxWidth?: number; /** - * Defines how to interpolate pixel values. **Possible Values:** nearest | bilinear | cubic | majority + * Defines how to interpolate pixel values. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-mixins-ArcGISImageService.html#interpolation) */ - interpolation?: string; + interpolation?: "nearest" | "bilinear" | "cubic" | "majority"; /** * Defines how overlapping images should be mosaicked. * @@ -13069,7 +13394,7 @@ declare namespace __esri { */ noData?: number | number[]; /** - * Interpretation of the [noData](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-mixins-ArcGISImageService.html#noData) setting. **Possible values:** + * Interpretation of the [noData](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-mixins-ArcGISImageService.html#noData) setting. * * Value | Description | * ----- | ----------- | @@ -13079,7 +13404,7 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-mixins-ArcGISImageService.html#noDataInterpretation) */ - noDataInterpretation?: string; + noDataInterpretation?: "any" | "all"; /** * The name of an `oid` [field](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-mixins-ArcGISImageService.html#fields) containing a unique value or identifier for each raster in the layer. * @@ -13087,13 +13412,13 @@ declare namespace __esri { */ objectIdField?: string; /** - * A function that processes [pixelData](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-ImageryLayerView.html#pixelData). The `pixelData` object contains a [pixelBlock](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-PixelBlock.html) property that gives you access to all of the pixels in the raster on the client. Inside the `pixelFilter` you may loop through all the [pixels](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-PixelBlock.html#pixels) found in the `pixelBlock` property of the `pixelData` object and process them. This function may be used to hide some pixels from the view, alter their values, and change their color. + * A function that processes [pixelData](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-ImageryLayerView.html#pixelData). The `pixelData` object contains a [pixelBlock](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-PixelBlock.html) property that gives you access to all of the pixels in the raster on the client. Inside the `pixelFilter` you may loop through all the [pixels](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-PixelBlock.html#pixels) found in the `pixelBlock` property of the `pixelData` object and process them. This function may be used to hide some pixels from the view, alter their values, and change their color. The pixelFilter should be used when the imagery layer's [format](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-mixins-ArcGISImageService.html#format) is `lerc` or `tiff` as these formats return raw pixel data to the client. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-mixins-ArcGISImageService.html#pixelFilter) */ pixelFilter?: Function; /** - * Raster source pixel type. **Possible Values:** + * Raster source pixel type. * * Value | Range of values that each cell can contain | * ----- | ------------------------------------------- | @@ -13110,13 +13435,7 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-mixins-ArcGISImageService.html#pixelType) */ - pixelType?: "s8" | "s16" | "s32" | "u8" | "u16" | "u32" | "f32" | "f64"; - /** - * The raster attribute table associated with the service. To access the raster attribute table, the layer must be [loaded](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-mixins-ArcGISImageService.html#loaded). - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-mixins-ArcGISImageService.html#rasterAttributeTable) - */ - rasterAttributeTable?: any; + pixelType?: "unknown" | "s8" | "s16" | "s32" | "u8" | "u16" | "u32" | "f32" | "f64"; /** * Prefix used to define the fields from the raster attribute table. It's primarily used for [popups](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Popup.html) * @@ -13124,7 +13443,7 @@ declare namespace __esri { */ rasterAttributeTableFieldPrefix?: string; /** - * The renderer assigned to the layer. The renderer defines how to visualize pixels in the layer. Depending on the renderer type, the pixels may be [stretched](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html) across the color ramp, [classified](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-ClassBreaksRenderer.html) or have [different symbols](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-UniqueValueRenderer.html) based on values. + * The renderer assigned to the layer. The renderer defines how to visualize pixels in the layer. Depending on the renderer type, the pixels may be [stretched](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html) across the color ramp, [classified](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-ClassBreaksRenderer.html) or have [different symbols](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-UniqueValueRenderer.html) based on values. If both renderer and [pixelFilter](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-mixins-ArcGISImageService.html#pixelFilter) is applied to an ImageryLayer then pixelFilter will override the renderer. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-mixins-ArcGISImageService.html#renderer) */ @@ -13135,6 +13454,12 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-mixins-ArcGISImageService.html#renderingRule) */ renderingRule?: RasterFunctionProperties; + /** + * The [image service's metadata JSON](https://developers.arcgis.com/rest/services-reference/image-service.htm) exposed by the ArcGIS REST API. While most commonly used [properties](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-mixins-ArcGISImageService.html#properties-summary) are exposed on the ImageryLayer class directly, this property gives access to all information returned by the image service. This property is useful if working in an application built using an older version of the API which requires access to image service properties from a more recent version. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-mixins-ArcGISImageService.html#sourceJSON) + */ + sourceJSON?: any; /** * The URL to the REST endpoint of the layer. The URL may either point to a resource on ArcGIS Enterprise or ArcGIS Online. * @@ -13569,6 +13894,8 @@ declare namespace __esri { } interface OpenStreetMapLayer extends WebTileLayer { + readonly type: "open-street-map"; + on(name: "layerview-create", eventHandler: OpenStreetMapLayerLayerviewCreateEventHandler): IHandle; on(name: "layerview-create-error", eventHandler: OpenStreetMapLayerLayerviewCreateErrorEventHandler): IHandle; @@ -13578,6 +13905,8 @@ declare namespace __esri { interface OpenStreetMapLayerConstructor { new (properties?: OpenStreetMapLayerProperties): OpenStreetMapLayer; + + fromJSON(json: any): OpenStreetMapLayer; } export const OpenStreetMapLayer: OpenStreetMapLayerConstructor; @@ -13610,7 +13939,7 @@ declare namespace __esri { */ field: string; /** - * The type of filter. **Possible values**: value | bitfield | return + * The type of filter. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-pointCloudFilters-PointCloudFilter.html#type) */ @@ -13651,11 +13980,7 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-pointCloudFilters-PointCloudReturnFilter.html#includedReturns) */ includedReturns: ("firstOfMany" | "last" | "lastOfMany" | "single")[]; - /** - * For PointCloudReturnFilter the type is always `return`. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-pointCloudFilters-PointCloudReturnFilter.html#type) - */ + readonly type: "return"; } @@ -13688,18 +14013,14 @@ declare namespace __esri { interface PointCloudValueFilter extends PointCloudFilter { /** - * Whether points should be included or excluded from the filter. **Possible values:** include | exclude + * Whether points should be included or excluded from the filter. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-pointCloudFilters-PointCloudValueFilter.html#mode) * * @default "exclude" */ mode: "include" | "exclude"; - /** - * For PointCloudValueFilter the type is always `value`. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-pointCloudFilters-PointCloudValueFilter.html#type) - */ + readonly type: "value"; /** * An array of numeric values representing the classification codes that the filter should apply. @@ -13725,7 +14046,7 @@ declare namespace __esri { interface PointCloudValueFilterProperties extends PointCloudFilterProperties { /** - * Whether points should be included or excluded from the filter. **Possible values:** include | exclude + * Whether points should be included or excluded from the filter. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-pointCloudFilters-PointCloudValueFilter.html#mode) * @@ -13748,11 +14069,17 @@ declare namespace __esri { */ elevationInfo: PointCloudLayerElevationInfo; /** - * An array of fields accessible in the layer. + * An array of fields accessible in the layer. The most common fields for PointCloudLayers are described more in detail in the following table: Name | Comment -- | -- ELEVATION | Check the [LAS Specification](https://www.opengeospatial.org/standards/LAS) for details. INTENSITY | Check the [LAS Specification](https://www.opengeospatial.org/standards/LAS) for details. CLASS_CODE | Get the list with the class label with [PointCloudLayer.queryCachedStatistics](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-PointCloudLayer.html#queryCachedStatistics). RGB | The individual RGB channels (uint8) are packed into a single uint32 value. See example for decode. RETURNS | Bits 0-5 for Return Number and Number of Returns. See example for decode. FLAGS | Check the [LAS Specification](https://www.opengeospatial.org/standards/LAS) for details. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-PointCloudLayer.html#fields) */ fields: Field[]; + /** + * A convenient property that can be used to make case-insensitive lookups for a field by name. It can also provide a list of the [date fields](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-FieldsIndex.html#dateFields) in a layer. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-PointCloudLayer.html#fieldsIndex) + */ + readonly fieldsIndex: FieldsIndex; /** * An array of [pointCloudFilters](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-pointCloudFilters-PointCloudFilter.html) used to filter points. Only the points that satisfy all the filters are displayed in the view. There are two types of filters that can be set: [PointCloudValueFilter](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-pointCloudFilters-PointCloudValueFilter.html) filters points based on classification values and [PointCloudReturnFilter](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-pointCloudFilters-PointCloudReturnFilter.html) filters points based on return values. * @@ -13767,6 +14094,28 @@ declare namespace __esri { * @default true */ legendEnabled: boolean; + /** + * An array of field names from the service to include with each feature. To fetch the values from all fields in the layer, use `["*"]`. Fields specified in `outFields` will be requested alongside with required fields for [rendering](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-PointCloudLayer.html#renderer) and [filtering](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-PointCloudLayer.html#filters). The required fields and `outFields` are used to populate [PointCloudLayerView.availableFields](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-PointCloudLayerView.html#availableFields). + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-PointCloudLayer.html#outFields) + * + * @default null + */ + outFields: string[]; + /** + * Indicates whether to display popups when points in the layer are clicked. The layer needs to have a [popupTemplate](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-PointCloudLayer.html#popupTemplate) to define what information should be displayed in the popup. Alternatively, a default popup template may be automatically used if [Popup.defaultPopupTemplateEnabled](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Popup.html#defaultPopupTemplateEnabled) is set to `true`. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-PointCloudLayer.html#popupEnabled) + * + * @default true + */ + popupEnabled: boolean; + /** + * The popup template for the layer. When set on the layer, the `popupTemplate` allows users to access attributes and display their values in the [view's popup](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View.html#popup) when a feature is selected using text and/or charts. See the [PointCloudLayer.fields](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-PointCloudLayer.html#fields) for the most common attributes information. See the [PopupTemplate sample](https://developers.arcgis.com/javascript/latest/sample-code/intro-popuptemplate/index.html) for an example of how [PopupTemplate](https://developers.arcgis.com/javascript/latest/api-reference/esri-PopupTemplate.html) interacts with a [FeatureLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html). Setting a [PopupTemplate](https://developers.arcgis.com/javascript/latest/api-reference/esri-PopupTemplate.html) on this layer type is done in the same way as a FeatureLayer. A default popup template is automatically used if no `popupTemplate` has been defined when [Popup.defaultPopupTemplateEnabled](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Popup.html#defaultPopupTemplateEnabled) is set to `true`. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-PointCloudLayer.html#popupTemplate) + */ + popupTemplate: PopupTemplate; /** * The renderer assigned to the layer. The renderer defines how to visualize each point in the layer. * @@ -13774,6 +14123,40 @@ declare namespace __esri { */ renderer: PointCloudRenderer; + readonly type: "point-cloud"; + + /** + * Creates a default popup template for the layer, populated with all the fields of the layer. The field CLASS_CODE is decoded with the category name. The field RGB describes rgb with decimal-codes. The field RETURNS is decoded with the number of returns out of total like (1/3), which shows number 1 out of 3. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-PointCloudLayer.html#createPopupTemplate) + * + * @param options Options for creating the popup template. + * @param options.maximumFields The maximum number of fields to include in the popup template. + * @param options.ignoreFieldTypes Field types to ignore when creating the popup. By default the `geometry`, `blob`, `raster`, `guid` and `xml` field types are ignored. + * + */ + createPopupTemplate(options?: PointCloudLayerCreatePopupTemplateOptions): PopupTemplate; + /** + * Returns the [Domain](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-Domain.html) associated with the given field name. The domain can be either a [CodedValueDomain](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-CodedValueDomain.html) or [RangeDomain](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-RangeDomain.html). + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-PointCloudLayer.html#getFieldDomain) + * + * @param fieldName Name of the field. + * + */ + getFieldDomain(fieldName: string): Domain; + /** + * Queries cached statistics from the service for a given field. Check for the response details the [I3S PointCloud Specification](https://github.com/Esri/i3s-spec/blob/master/docs/2.0/statistics.pcsl.md) + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-PointCloudLayer.html#queryCachedStatistics) + * + * @param fieldName The name of the field to query statistics for. + * @param options An object with the following properties. + * @param options.signal Signal object that can be used to abort the asynchronous task. The returned promise will be rejected with an [Error](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Error.html) named `AbortError` when an abort is signaled. See also [AbortController](https://developer.mozilla.org/en-US/docs/Web/API/AbortController) for more information on how to construct a controller that can be used to deliver abort signals. + * + */ + queryCachedStatistics(fieldName: string, options?: PointCloudLayerQueryCachedStatisticsOptions): any; + on(name: "layerview-create", eventHandler: PointCloudLayerLayerviewCreateEventHandler): IHandle; on(name: "layerview-create-error", eventHandler: PointCloudLayerLayerviewCreateErrorEventHandler): IHandle; @@ -13807,7 +14190,7 @@ declare namespace __esri { */ elevationInfo?: PointCloudLayerElevationInfo; /** - * An array of fields accessible in the layer. + * An array of fields accessible in the layer. The most common fields for PointCloudLayers are described more in detail in the following table: Name | Comment -- | -- ELEVATION | Check the [LAS Specification](https://www.opengeospatial.org/standards/LAS) for details. INTENSITY | Check the [LAS Specification](https://www.opengeospatial.org/standards/LAS) for details. CLASS_CODE | Get the list with the class label with [PointCloudLayer.queryCachedStatistics](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-PointCloudLayer.html#queryCachedStatistics). RGB | The individual RGB channels (uint8) are packed into a single uint32 value. See example for decode. RETURNS | Bits 0-5 for Return Number and Number of Returns. See example for decode. FLAGS | Check the [LAS Specification](https://www.opengeospatial.org/standards/LAS) for details. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-PointCloudLayer.html#fields) */ @@ -13826,6 +14209,28 @@ declare namespace __esri { * @default true */ legendEnabled?: boolean; + /** + * An array of field names from the service to include with each feature. To fetch the values from all fields in the layer, use `["*"]`. Fields specified in `outFields` will be requested alongside with required fields for [rendering](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-PointCloudLayer.html#renderer) and [filtering](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-PointCloudLayer.html#filters). The required fields and `outFields` are used to populate [PointCloudLayerView.availableFields](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-PointCloudLayerView.html#availableFields). + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-PointCloudLayer.html#outFields) + * + * @default null + */ + outFields?: string[]; + /** + * Indicates whether to display popups when points in the layer are clicked. The layer needs to have a [popupTemplate](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-PointCloudLayer.html#popupTemplate) to define what information should be displayed in the popup. Alternatively, a default popup template may be automatically used if [Popup.defaultPopupTemplateEnabled](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Popup.html#defaultPopupTemplateEnabled) is set to `true`. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-PointCloudLayer.html#popupEnabled) + * + * @default true + */ + popupEnabled?: boolean; + /** + * The popup template for the layer. When set on the layer, the `popupTemplate` allows users to access attributes and display their values in the [view's popup](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View.html#popup) when a feature is selected using text and/or charts. See the [PointCloudLayer.fields](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-PointCloudLayer.html#fields) for the most common attributes information. See the [PopupTemplate sample](https://developers.arcgis.com/javascript/latest/sample-code/intro-popuptemplate/index.html) for an example of how [PopupTemplate](https://developers.arcgis.com/javascript/latest/api-reference/esri-PopupTemplate.html) interacts with a [FeatureLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html). Setting a [PopupTemplate](https://developers.arcgis.com/javascript/latest/api-reference/esri-PopupTemplate.html) on this layer type is done in the same way as a FeatureLayer. A default popup template is automatically used if no `popupTemplate` has been defined when [Popup.defaultPopupTemplateEnabled](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Popup.html#defaultPopupTemplateEnabled) is set to `true`. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-PointCloudLayer.html#popupTemplate) + */ + popupTemplate?: PopupTemplateProperties; /** * The renderer assigned to the layer. The renderer defines how to visualize each point in the layer. * @@ -13852,6 +14257,23 @@ declare namespace __esri { view: View; } + export interface PointCloudLayerCreatePopupTemplateOptions extends Object { + /** + * The maximum number of fields to include in the popup template. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-PointCloudLayer.html#createPopupTemplate) + * + * @default 75 + */ + maximumFields?: number; + /** + * Field types to ignore when creating the popup. By default the `geometry`, `blob`, `raster`, `guid` and `xml` field types are ignored. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-PointCloudLayer.html#createPopupTemplate) + */ + ignoreFieldTypes?: string[]; + } + export interface PointCloudLayerElevationInfo extends Object { /** * Defines how the points are placed on the vertical axis (z). Currently only `absolute-height` mode is supported. @@ -13882,6 +14304,15 @@ declare namespace __esri { unit?: string; } + export interface PointCloudLayerQueryCachedStatisticsOptions extends Object { + /** + * Signal object that can be used to abort the asynchronous task. The returned promise will be rejected with an [Error](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Error.html) named `AbortError` when an abort is signaled. See also [AbortController](https://developer.mozilla.org/en-US/docs/Web/API/AbortController) for more information on how to construct a controller that can be used to deliver abort signals. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-PointCloudLayer.html#queryCachedStatistics) + */ + signal?: AbortSignal; + } + interface SceneLayer extends Layer, SceneService, PortalLayer, ScaleRangeLayer { /** * The SQL where clause used to filter features on the client. Only the features that satisfy the definition expression are displayed in the [View](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View.html). Setting a definition expression is useful when only a subset of the data in the layer should be displayed. Setting the definition expression of a layer automatically updates all layer views. If the definition expression is set after the layer has been added to the map, the view will automatically refresh itself to display the features that satisfy the new definition expression. Important to note is that the initial loading time of the features remains unchanged, even if they are filtered. This happens because, as opposed to Feature Layers, feature filtering is done client-side. As a result all features need to be downloaded always for filter evaluation. @@ -13915,11 +14346,11 @@ declare namespace __esri { */ readonly fieldsIndex: FieldsIndex; /** - * The geometry type of features in the layer. **Possible Values:** point | mesh + * The geometry type of features in the layer. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-SceneLayer.html#geometryType) */ - geometryType: string; + geometryType: "point" | "mesh"; /** * The label definition for this layer, specified as an array of [LabelClass](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-LabelClass.html). Use this property to specify labeling properties for the layer such as label expression, placement, and size. * > **Known Limitations** This property is only relevant to SceneLayers with [Point](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Point.html) geometries. This property has no effect on SceneLayers with other geometry types. Each point can have only one label. Multiple [Label classes](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-LabelClass.html) with different [where](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-LabelClass.html#where) clauses can be used to have different label styles on different features that belong to the same layer (for example blue labels for lakes and green labels for parks). @@ -13987,6 +14418,8 @@ declare namespace __esri { */ screenSizePerspectiveEnabled: boolean; + readonly type: "scene"; + /** * Creates a default popup template for the layer, populated with all the fields of the layer. * @@ -14041,6 +14474,17 @@ declare namespace __esri { * */ getFieldUsageInfo(fieldName: string): any; + /** + * Queries cached statistics from the service for a given field. Check for the response details the [I3S SceneLayer Specification](https://github.com/Esri/i3s-spec/blob/master/docs/1.7/statsInfo.cmn.md) + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-SceneLayer.html#queryCachedStatistics) + * + * @param fieldName The name of the field to query statistics for. + * @param options An object with the following properties. + * @param options.signal Signal object that can be used to abort the asynchronous task. The returned promise will be rejected with an [Error](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Error.html) named `AbortError` when an abort is signaled. See also [AbortController](https://developer.mozilla.org/en-US/docs/Web/API/AbortController) for more information on how to construct a controller that can be used to deliver abort signals. + * + */ + queryCachedStatistics(fieldName: string, options?: SceneLayerQueryCachedStatisticsOptions): any; /** * Executes a [Query](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-Query.html) against the service and returns the 2D [Extent](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Extent.html) of features that satisfy the query. At the moment the 3D Extent can be returned by using [SceneLayerView.queryExtent()](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-SceneLayerView.html#queryExtent), but this will return the 3D extent only for features currently in the view. The query succeeds only if the layer's `supportsLayerQuery` capability is enabled. Use the [getFieldUsageInfo()](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-SceneLayer.html#getFieldUsageInfo) method to check if the layer supports queries. If querying is not enabled, then an error with the name `scenelayer:query-not-available` is thrown. Read more about queries in the [Querying](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-SceneLayer.html#querying) section of the class description above. * @@ -14132,11 +14576,11 @@ declare namespace __esri { */ featureReduction?: SceneLayerFeatureReduction; /** - * The geometry type of features in the layer. **Possible Values:** point | mesh + * The geometry type of features in the layer. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-SceneLayer.html#geometryType) */ - geometryType?: string; + geometryType?: "point" | "mesh"; /** * The label definition for this layer, specified as an array of [LabelClass](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-LabelClass.html). Use this property to specify labeling properties for the layer such as label expression, placement, and size. * > **Known Limitations** This property is only relevant to SceneLayers with [Point](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Point.html) geometries. This property has no effect on SceneLayers with other geometry types. Each point can have only one label. Multiple [Label classes](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-LabelClass.html) with different [where](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-LabelClass.html#where) clauses can be used to have different label styles on different features that belong to the same layer (for example blue labels for lakes and green labels for parks). @@ -14282,6 +14726,15 @@ declare namespace __esri { type: string; } + export interface SceneLayerQueryCachedStatisticsOptions extends Object { + /** + * Signal object that can be used to abort the asynchronous task. The returned promise will be rejected with an [Error](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Error.html) named `AbortError` when an abort is signaled. See also [AbortController](https://developer.mozilla.org/en-US/docs/Web/API/AbortController) for more information on how to construct a controller that can be used to deliver abort signals. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-SceneLayer.html#queryCachedStatistics) + */ + signal?: AbortSignal; + } + export interface SceneLayerQueryExtentOptions extends Object { /** * Signal object that can be used to abort the asynchronous task. The returned promise will be rejected with an [Error](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Error.html) named `AbortError` when an abort is signaled. See also [AbortController](https://developer.mozilla.org/en-US/docs/Web/API/AbortController) for more information on how to construct a controller that can be used to deliver abort signals. @@ -14319,12 +14772,6 @@ declare namespace __esri { } interface StreamLayer extends FeatureLayer { - /** - * Contains the attribute and spatial filters used to filter messages sent to the client by a Stream Service. This property can be set in the constructor but is `read-only` after the layer is created. To change the filter after the layer is created, use the [updateFilter()](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-StreamLayer.html#updateFilter) method. **Use definitionExpression or geometryDefinition instead.** - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-StreamLayer.html#filter) - */ - readonly filter: StreamLayerFilter; /** * An extent object used to filter features. Only features intersecting the extent are displayed in the view. * @@ -14332,7 +14779,13 @@ declare namespace __esri { */ geometryDefinition: Extent; /** - * Maximum number of features to show per [trackId](https://enterprise.arcgis.com/en/geoevent/latest/get-started/essential-geoevent-server-vocabulary.htm#ESRI_SECTION1_F45BBCE9ADFA4E57AF38DD225921EFCD). + * The geometry type of features in the layer. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-StreamLayer.html#geometryType) + */ + readonly geometryType: "point" | "multipoint" | "polyline" | "polygon"; + /** + * Maximum number of features to show per [trackId](https://enterprise.arcgis.com/en/geoevent/latest/get-started/essential-geoevent-server-vocabulary.htm#ESRI_SECTION1_F45BBCE9ADFA4E57AF38DD225921EFCD). If `trackId` is not configured on the GeoEvent Service, the `maximumTrackPoints` property will have no effect and an error will be logged in the console. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-StreamLayer.html#maximumTrackPoints) */ @@ -14344,17 +14797,7 @@ declare namespace __esri { */ purgeOptions: StreamLayerPurgeOptions; - /** - * Updates the [filter](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-StreamLayer.html#filter) on the layer. The filter is updated on all views that contain the layer. If the input `filterChanges` object is `undefined` or `null`, the spatial and attribute filters are removed. To update the filter on a single layer view associated with the layer, use the [StreamLayerView.updateFilter()](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-StreamLayerView.html#updateFilter) method after getting the layer view object. Filter changes only apply to incoming features. Features already displayed in the view will be removed automatically. **Use [definitionExpression](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-StreamLayer.html#definitionExpression) or [geometryDefinition](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-StreamLayer.html#definitionExpression) instead.** - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-StreamLayer.html#updateFilter) - * - * @param filterChanges Updates the spatial and attribute [filters](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-StreamLayer.html#filter) on the layer and all of its associated views. If `null`, all filters are cleared. - * @param filterChanges.geometry A spatial filter for filtering features. Only features that intersect the given geometry are displayed in the view(s). If `null`, the spatial filter is cleared. - * @param filterChanges.where A SQL where clause used to filter features by attributes. If `null`, the attribute filter is cleared. - * - */ - updateFilter(filterChanges: StreamLayerUpdateFilterFilterChanges): IPromise; + readonly type: "stream"; on(name: "edits", eventHandler: StreamLayerEditsEventHandler): IHandle; @@ -14380,12 +14823,6 @@ declare namespace __esri { export const StreamLayer: StreamLayerConstructor; interface StreamLayerProperties extends FeatureLayerProperties { - /** - * Contains the attribute and spatial filters used to filter messages sent to the client by a Stream Service. This property can be set in the constructor but is `read-only` after the layer is created. To change the filter after the layer is created, use the [updateFilter()](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-StreamLayer.html#updateFilter) method. **Use definitionExpression or geometryDefinition instead.** - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-StreamLayer.html#filter) - */ - filter?: StreamLayerFilter; /** * An extent object used to filter features. Only features intersecting the extent are displayed in the view. * @@ -14393,7 +14830,7 @@ declare namespace __esri { */ geometryDefinition?: ExtentProperties; /** - * Maximum number of features to show per [trackId](https://enterprise.arcgis.com/en/geoevent/latest/get-started/essential-geoevent-server-vocabulary.htm#ESRI_SECTION1_F45BBCE9ADFA4E57AF38DD225921EFCD). + * Maximum number of features to show per [trackId](https://enterprise.arcgis.com/en/geoevent/latest/get-started/essential-geoevent-server-vocabulary.htm#ESRI_SECTION1_F45BBCE9ADFA4E57AF38DD225921EFCD). If `trackId` is not configured on the GeoEvent Service, the `maximumTrackPoints` property will have no effect and an error will be logged in the console. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-StreamLayer.html#maximumTrackPoints) */ @@ -14432,21 +14869,6 @@ declare namespace __esri { view: View; } - export interface StreamLayerFilter extends Object { - /** - * A spatial filter for filtering features. Only features that intersect the given geometry are displayed in the view. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-StreamLayer.html#filter) - */ - geometry?: Extent; - /** - * A SQL where clause used to filter features by attributes. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-StreamLayer.html#filter) - */ - where?: string; - } - export interface StreamLayerPurgeOptions extends Object { /** * The maximum number of features to display. Excess features are purged from the beginning of the graphics array. @@ -14462,21 +14884,6 @@ declare namespace __esri { age: number; } - export interface StreamLayerUpdateFilterFilterChanges extends Object { - /** - * A spatial filter for filtering features. Only features that intersect the given geometry are displayed in the view(s). If `null`, the spatial filter is cleared. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-StreamLayer.html#updateFilter) - */ - geometry: Extent; - /** - * A SQL where clause used to filter features by attributes. If `null`, the attribute filter is cleared. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-StreamLayer.html#updateFilter) - */ - where: string; - } - export interface StreamLayerEditsEventAddedFeatures extends Object { objectId: number; } @@ -14621,7 +15028,7 @@ declare namespace __esri { } /** - * An array of [Exchangeable image file format](http://www.cipa.jp/std/documents/e/DC-008-Translation-2016-E.pdf) information for the attachment. You must set the attachment query's [returnMetadata](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-AttachmentQuery.html#returnMetadata) to `true` to get the `exif` info associated with the attachment. + * An array of [Exchangeable image file format](https://en.wikipedia.org/wiki/Exif) information for the attachment. You must set the attachment query's [returnMetadata](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-AttachmentQuery.html#returnMetadata) to `true` to get the `exif` info associated with the attachment. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-AttachmentInfo.html#ExifInfo) */ @@ -14789,11 +15196,7 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-CodedValueDomain.html#codedValues) */ codedValues: CodedValueDomainCodedValues[]; - /** - * The domain type. This value is always `coded-value`. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-CodedValueDomain.html#type) - */ + readonly type: "coded-value"; /** @@ -14928,7 +15331,7 @@ declare namespace __esri { */ name: string; /** - * The domain type. **Possible Values:** range | coded-value | inherited + * The domain type. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-Domain.html#type) */ @@ -14951,7 +15354,7 @@ declare namespace __esri { */ name?: string; /** - * The domain type. **Possible Values:** range | coded-value | inherited + * The domain type. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-Domain.html#type) */ @@ -14959,6 +15362,25 @@ declare namespace __esri { } interface ElevationSampler { + /** + * The minimum and maximum resolution of the data in the sampler. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-ElevationSampler.html#demResolution) + */ + readonly demResolution: ElevationSamplerDemResolution; + /** + * The extent within which the sampler can be queried. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-ElevationSampler.html#extent) + */ + readonly extent: Extent; + /** + * The value that is used to represent areas where there is no data available. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-ElevationSampler.html#noDataValue) + */ + readonly noDataValue: number; + /** * Registers an event handler on the instance. Call this method to hook an event with a listener. See the [Events summary table](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-ElevationSampler.html#events-summary) for a list of listened events. * @@ -14996,6 +15418,21 @@ declare namespace __esri { export interface ElevationSamplerChangedEvent {} + export interface ElevationSamplerDemResolution extends Object { + /** + * The minimum resolution. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-ElevationSampler.html#demResolution) + */ + min: number; + /** + * The maximum resolution. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-ElevationSampler.html#demResolution) + */ + max: number; + } + interface FeatureTemplate extends Accessor, JSONSupport { /** * Description of the feature template. @@ -15004,11 +15441,26 @@ declare namespace __esri { */ description: string; /** - * Name of the default drawing tool defined for the template to create a feature. **Possible Values:** auto-complete-polygon | circle | ellipse | freehand | line | none | point | polygon | rectangle | arrow | triangle | left-arrow | right-arrow | up-arrow | down-arrow + * Name of the default drawing tool defined for the template to create a feature. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-FeatureTemplate.html#drawingTool) */ - drawingTool: string; + drawingTool: + | "auto-complete-polygon" + | "circle" + | "ellipse" + | "freehand" + | "line" + | "none" + | "point" + | "polygon" + | "rectangle" + | "arrow" + | "triangle" + | "left-arrow" + | "right-arrow" + | "up-arrow" + | "down-arrow"; /** * Name of the feature template. * @@ -15045,11 +15497,26 @@ declare namespace __esri { */ description?: string; /** - * Name of the default drawing tool defined for the template to create a feature. **Possible Values:** auto-complete-polygon | circle | ellipse | freehand | line | none | point | polygon | rectangle | arrow | triangle | left-arrow | right-arrow | up-arrow | down-arrow + * Name of the default drawing tool defined for the template to create a feature. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-FeatureTemplate.html#drawingTool) */ - drawingTool?: string; + drawingTool?: + | "auto-complete-polygon" + | "circle" + | "ellipse" + | "freehand" + | "line" + | "none" + | "point" + | "polygon" + | "rectangle" + | "arrow" + | "triangle" + | "left-arrow" + | "right-arrow" + | "up-arrow" + | "down-arrow"; /** * Name of the feature template. * @@ -15223,7 +15690,7 @@ declare namespace __esri { */ nullable: boolean; /** - * The data type of the field. **Possible Values:** small-integer | integer | single | double | long | string | date | oid | geometry | blob | raster | guid | global-id | xml + * The data type of the field. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-Field.html#type) * @@ -15354,7 +15821,7 @@ declare namespace __esri { */ nullable?: boolean; /** - * The data type of the field. **Possible Values:** small-integer | integer | single | double | long | string | date | oid | geometry | blob | raster | guid | global-id | xml + * The data type of the field. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-Field.html#type) * @@ -15515,13 +15982,13 @@ declare namespace __esri { */ extent: Extent; /** - * Map image format. **Possible Values:** png | png8 | png24 | png32 | jpg | pdf | bmp | gif | svg + * Map image format. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-ImageParameters.html#format) * * @default png8 */ - format: string; + format: "png" | "png8" | "png24" | "png32" | "jpg" | "pdf" | "bmp" | "gif" | "svg"; /** * Requested image height in pixels. * @@ -15547,11 +16014,11 @@ declare namespace __esri { */ layerIds: number[]; /** - * The option for displaying or hiding the layer. **Possible Values:** show | hide | include | exclude + * The option for displaying or hiding the layer. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-ImageParameters.html#layerOption) */ - layerOption: string; + layerOption: "show" | "hide" | "include" | "exclude"; /** * Indicates whether or not the background of the dynamic image is transparent. * @@ -15568,7 +16035,7 @@ declare namespace __esri { width: number; /** - * Converts an instance of [this class]() to its ArcGIS portal JSON representation. See the [Using fromJSON()](https://developers.arcgis.com/javascript/latest/guide/using-fromjson/index.html) topic in the Guide for more information. + * Converts an instance of [this class]() to its ArcGIS portal JSON representation. See the [Using fromJSON()](https://developers.arcgis.com/javascript/latest/guide/programming-patterns/#using-fromjson) topic in the Guide for more information. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-ImageParameters.html#toJSON) * @@ -15599,13 +16066,13 @@ declare namespace __esri { */ extent?: ExtentProperties; /** - * Map image format. **Possible Values:** png | png8 | png24 | png32 | jpg | pdf | bmp | gif | svg + * Map image format. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-ImageParameters.html#format) * * @default png8 */ - format?: string; + format?: "png" | "png8" | "png24" | "png32" | "jpg" | "pdf" | "bmp" | "gif" | "svg"; /** * Requested image height in pixels. * @@ -15631,11 +16098,11 @@ declare namespace __esri { */ layerIds?: number[]; /** - * The option for displaying or hiding the layer. **Possible Values:** show | hide | include | exclude + * The option for displaying or hiding the layer. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-ImageParameters.html#layerOption) */ - layerOption?: string; + layerOption?: "show" | "hide" | "include" | "exclude"; /** * Indicates whether or not the background of the dynamic image is transparent. * @@ -15654,7 +16121,7 @@ declare namespace __esri { interface InheritedDomain extends Domain { /** - * The domain type. This value is always `inherited`. + * The domain type. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-InheritedDomain.html#type) */ @@ -15787,17 +16254,49 @@ declare namespace __esri { */ labelExpressionInfo: LabelClassLabelExpressionInfo; /** - * The position of the label. Possible values are based on the feature type. This property requires a value. **Possible Values (Points):** above-center | above-left | above-right | below-center | below-left | below-right | center-center | center-left | center-right **Possible Values (Polylines):** above-after | above-along | above-before | above-start | above-end | below-after | below-along | below-before | below-start | below-end | center-after | center-along | center-before | center-start | center-end **Possible Values (Polygons):** always-horizontal + * The position of the label. Possible values are based on the feature type. This property requires a value. + * + * | Feature Type | Possible Values | + * |--------------|-----------------| + * | Points | `above-center`, `above-left`, `above-right`, `below-center`, `below-left`, `below-right`, `center-center`, `center-left`, `center-right` | + * | Polylines | `above-after`, `above-along`, `above-before`, `above-start`, `above-end`, `below-after`, `below-along`, `below-before`, `below-start`, `below-end`, `center-after`, `center-along`, `center-before`, `center-start`, `center-end`| + * | Polygons | `always-horizontal`| + * * > **Known Limitations** * * Currently, if the label has a [line callout](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-callouts-LineCallout3D.html) in a 3D SceneView, then only `above-center` is supported. * * Label placement only applies to [Point](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Point.html) layers in 3D SceneViews. - * * [Polylines](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Polyline.html) only support `center-along` label placement in 2D MapViews. + * * FeatureLayer [Polylines](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Polyline.html) only support `center-along` label placement in 2D MapViews. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-LabelClass.html#labelPlacement) * * @default null */ - labelPlacement: string; + labelPlacement: + | "above-center" + | "above-left" + | "above-right" + | "below-center" + | "below-left" + | "below-right" + | "center-center" + | "center-left" + | "center-right" + | "above-after" + | "above-along" + | "above-before" + | "above-start" + | "above-end" + | "below-after" + | "below-along" + | "below-before" + | "below-start" + | "below-end" + | "center-after" + | "center-along" + | "center-before" + | "center-start" + | "center-end" + | "always-horizontal"; /** * The maximum scale (most zoomed in) at which labels are visible in the view. A value of `0` means the label's visibility does not have a maximum scale. The maxScale value should always be smaller than the [minScale](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-LabelClass.html#minScale) value, and greater than or equal to the service specification. * @@ -15877,17 +16376,49 @@ declare namespace __esri { */ labelExpressionInfo?: LabelClassLabelExpressionInfo; /** - * The position of the label. Possible values are based on the feature type. This property requires a value. **Possible Values (Points):** above-center | above-left | above-right | below-center | below-left | below-right | center-center | center-left | center-right **Possible Values (Polylines):** above-after | above-along | above-before | above-start | above-end | below-after | below-along | below-before | below-start | below-end | center-after | center-along | center-before | center-start | center-end **Possible Values (Polygons):** always-horizontal + * The position of the label. Possible values are based on the feature type. This property requires a value. + * + * | Feature Type | Possible Values | + * |--------------|-----------------| + * | Points | `above-center`, `above-left`, `above-right`, `below-center`, `below-left`, `below-right`, `center-center`, `center-left`, `center-right` | + * | Polylines | `above-after`, `above-along`, `above-before`, `above-start`, `above-end`, `below-after`, `below-along`, `below-before`, `below-start`, `below-end`, `center-after`, `center-along`, `center-before`, `center-start`, `center-end`| + * | Polygons | `always-horizontal`| + * * > **Known Limitations** * * Currently, if the label has a [line callout](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-callouts-LineCallout3D.html) in a 3D SceneView, then only `above-center` is supported. * * Label placement only applies to [Point](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Point.html) layers in 3D SceneViews. - * * [Polylines](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Polyline.html) only support `center-along` label placement in 2D MapViews. + * * FeatureLayer [Polylines](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Polyline.html) only support `center-along` label placement in 2D MapViews. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-LabelClass.html#labelPlacement) * * @default null */ - labelPlacement?: string; + labelPlacement?: + | "above-center" + | "above-left" + | "above-right" + | "below-center" + | "below-left" + | "below-right" + | "center-center" + | "center-left" + | "center-right" + | "above-after" + | "above-along" + | "above-before" + | "above-start" + | "above-end" + | "below-after" + | "below-along" + | "below-before" + | "below-start" + | "below-end" + | "center-after" + | "center-along" + | "center-before" + | "center-start" + | "center-end" + | "always-horizontal"; /** * The maximum scale (most zoomed in) at which labels are visible in the view. A value of `0` means the label's visibility does not have a maximum scale. The maxScale value should always be smaller than the [minScale](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-LabelClass.html#minScale) value, and greater than or equal to the service specification. * @@ -15928,7 +16459,7 @@ declare namespace __esri { export interface LabelClassLabelExpressionInfo extends Object { /** - * The SQL expression defining the content of the label text. **Deprecated as of v4.5. Use `expression` instead.** + * The SQL expression defining the content of the label text. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-LabelClass.html#labelExpressionInfo) */ @@ -16017,11 +16548,11 @@ declare namespace __esri { */ height: number; /** - * URL to the returned image. The image format must be of a type supported by the HTML `` tag. **Possible Values:** gif | jpg | png | bmp + * URL to the returned image. The image format must be of a type supported by the HTML `` tag. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-MapImage.html#href) */ - href: string; + href: "gif" | "jpg" | "png" | "bmp"; /** * The opacity of the image. Value can be any number between `0` and `1` where `0` is 100% transparent, `0.5` is 50% transparent and `1` is fully opaque. * @@ -16074,11 +16605,11 @@ declare namespace __esri { */ height?: number; /** - * URL to the returned image. The image format must be of a type supported by the HTML `` tag. **Possible Values:** gif | jpg | png | bmp + * URL to the returned image. The image format must be of a type supported by the HTML `` tag. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-MapImage.html#href) */ - href?: string; + href?: "gif" | "jpg" | "png" | "bmp"; /** * The opacity of the image. Value can be any number between `0` and `1` where `0` is 100% transparent, `0.5` is 50% transparent and `1` is fully opaque. * @@ -16131,7 +16662,7 @@ declare namespace __esri { */ lockRasterIds: number[]; /** - * The mosaic method determines how the selected rasters are ordered. The mosaic method defines how the mosaicked image is created from these input rasters. **Possible Values:** + * The mosaic method determines how the selected rasters are ordered. The mosaic method defines how the mosaicked image is created from these input rasters. * * Value | Description | * ----- | ----------- | @@ -16147,7 +16678,7 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-MosaicRule.html#method) */ - method: string; + method: "none" | "center" | "nadir" | "viewpoint" | "attribute" | "lock-raster" | "northwest" | "seamline"; /** * A multiple dimensional service can have multiple dimensions for one or more variables. Use multiDimensionalDefinitions to filter data based on a slice or range of data. For example, a single ImageryLayer may have a `depth` dimension storing sea temperatures for the same pixel location at various depths. Another dimension could be `time`, where the same pixel stores multiple values based on a window of time. This property can be used to filter and display ImageryLayer pixels for specific "slices" in those dimensions (e.g. display sea temperature at 1000m below sea level for a specific week in the year). * @@ -16176,7 +16707,7 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-MosaicRule.html#operation) */ - operation: string; + operation: "first" | "last" | "min" | "max" | "mean" | "blend" | "sum"; /** * The name of the attribute field that is used with a constant sortValue to define the mosaicking order when the mosaic [method](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-MosaicRule.html#method) is set to `attribute`. The ordering is defined by the absolute value of the difference between the specified sort field value and the sort base value. For example, if the sort field is `Month` and the sort value is `7 (July)`, then the ordering is defined by `ABS(Month -7)`. * @@ -16196,7 +16727,7 @@ declare namespace __esri { */ viewpoint: Point; /** - * The where clause determines which rasters will participate in the mosaic. This property applies to all mosaic methods. + * The where clause determines which rasters will participate in the mosaic. This property applies to all mosaic methods. This property will be overridden by the ImageryLayer's [definitionExpression](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-ImageryLayer.html#definitionExpression) property if both properties are set. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-MosaicRule.html#where) */ @@ -16248,7 +16779,7 @@ declare namespace __esri { */ lockRasterIds?: number[]; /** - * The mosaic method determines how the selected rasters are ordered. The mosaic method defines how the mosaicked image is created from these input rasters. **Possible Values:** + * The mosaic method determines how the selected rasters are ordered. The mosaic method defines how the mosaicked image is created from these input rasters. * * Value | Description | * ----- | ----------- | @@ -16264,7 +16795,7 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-MosaicRule.html#method) */ - method?: string; + method?: "none" | "center" | "nadir" | "viewpoint" | "attribute" | "lock-raster" | "northwest" | "seamline"; /** * A multiple dimensional service can have multiple dimensions for one or more variables. Use multiDimensionalDefinitions to filter data based on a slice or range of data. For example, a single ImageryLayer may have a `depth` dimension storing sea temperatures for the same pixel location at various depths. Another dimension could be `time`, where the same pixel stores multiple values based on a window of time. This property can be used to filter and display ImageryLayer pixels for specific "slices" in those dimensions (e.g. display sea temperature at 1000m below sea level for a specific week in the year). * @@ -16293,7 +16824,7 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-MosaicRule.html#operation) */ - operation?: string; + operation?: "first" | "last" | "min" | "max" | "mean" | "blend" | "sum"; /** * The name of the attribute field that is used with a constant sortValue to define the mosaicking order when the mosaic [method](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-MosaicRule.html#method) is set to `attribute`. The ordering is defined by the absolute value of the difference between the specified sort field value and the sort base value. For example, if the sort field is `Month` and the sort value is `7 (July)`, then the ordering is defined by `ABS(Month -7)`. * @@ -16313,7 +16844,7 @@ declare namespace __esri { */ viewpoint?: PointProperties; /** - * The where clause determines which rasters will participate in the mosaic. This property applies to all mosaic methods. + * The where clause determines which rasters will participate in the mosaic. This property applies to all mosaic methods. This property will be overridden by the ImageryLayer's [definitionExpression](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-ImageryLayer.html#definitionExpression) property if both properties are set. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-MosaicRule.html#where) */ @@ -16328,7 +16859,7 @@ declare namespace __esri { */ height: number; /** - * Bit Mask. All pixels are valid when mask is null. + * An array of nodata mask. All pixels are valid when mask is null. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-PixelBlock.html#mask) */ @@ -16356,11 +16887,11 @@ declare namespace __esri { | Float32Array | Float64Array; /** - * The pixel type. **Possible Values:** s8 | s16 | s32 | u8 | u16 | u32 | f32 | f64 + * The pixel type. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-PixelBlock.html#pixelType) */ - pixelType: string; + pixelType: "unknown" | "s8" | "s16" | "s32" | "u8" | "u16" | "u32" | "f32" | "f64"; /** * An array of objects containing numeric statistical properties. Each object has the following specification if defined. * @@ -16431,7 +16962,7 @@ declare namespace __esri { */ height?: number; /** - * Bit Mask. All pixels are valid when mask is null. + * An array of nodata mask. All pixels are valid when mask is null. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-PixelBlock.html#mask) */ @@ -16459,11 +16990,11 @@ declare namespace __esri { | Float32Array | Float64Array; /** - * The pixel type. **Possible Values:** s8 | s16 | s32 | u8 | u16 | u32 | f32 | f64 + * The pixel type. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-PixelBlock.html#pixelType) */ - pixelType?: string; + pixelType?: "unknown" | "s8" | "s16" | "s32" | "u8" | "u16" | "u32" | "f32" | "f64"; /** * An array of objects containing numeric statistical properties. Each object has the following specification if defined. * @@ -16534,7 +17065,7 @@ declare namespace __esri { */ minValue: number; /** - * The domain type. This value is always `range`. + * The domain type. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-RangeDomain.html#type) */ @@ -16566,25 +17097,39 @@ declare namespace __esri { interface RasterFunction extends Accessor, JSONSupport { /** - * The arguments for the raster function. The structure depends on the function specified. See [raster functions](https://developers.arcgis.com/documentation/common-data-types/raster-function-objects.htm) for a list of functions and their arguments. + * The arguments for the raster function. The structure depends on the function specified. See [raster functions](https://developers.arcgis.com/documentation/common-data-types/raster-function-objects.htm) for a list of functions and their arguments. Also parses the arguments of RFT format. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-RasterFunction.html#functionArguments) */ functionArguments: any; /** - * The raster function name. See [raster functions](https://developers.arcgis.com/documentation/common-data-types/raster-function-objects.htm) for a list of functions and their arguments. + * The raster function name. See [raster functions](https://developers.arcgis.com/documentation/common-data-types/raster-function-objects.htm) for a list of functions and their arguments. The name in the raster function in RFT JSON format is also parsed to functionName. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-RasterFunction.html#functionName) */ functionName: string; /** - * Defines the pixel type of the output image. **Possible Values:** c128 | c64 | f32 | f64 | s16 | s32 | s8 | u1 | u16 | u2 | u32 | u4 | u8 | unknown + * Defines the pixel type of the output image. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-RasterFunction.html#outputPixelType) * * @default unknown */ - outputPixelType: string; + outputPixelType: + | "c128" + | "c64" + | "f32" + | "f64" + | "s16" + | "s32" + | "s8" + | "u1" + | "u16" + | "u2" + | "u32" + | "u4" + | "u8" + | "unknown"; /** * The variable name for the raster function. * @@ -16595,7 +17140,7 @@ declare namespace __esri { interface RasterFunctionConstructor { /** - * Raster functions specify processing to be done to the image service. They allow the mosaic image service to deliver a dynamically mosaicked image and they can be used to enhance the mosaicked image product product by applying processing operations such as image enhancements, and image algebra. See [raster functions](https://developers.arcgis.com/documentation/common-data-types/raster-function-objects.htm) for a list of functions and their [arguments](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-RasterFunction.html#functionArguments). The following image shows a landcover ImageryLayer rendered with two chained client-side raster functions used to reclass pixel values (Remap) and assign each pixel a new color (Colormap). + * Raster functions specify processing to be done to the image service. They allow the mosaic image service to deliver a dynamically mosaicked image and they can be used to enhance the mosaicked image product by applying processing operations such as image enhancements, and image algebra. See [raster functions](https://developers.arcgis.com/documentation/common-data-types/raster-function-objects.htm) for a list of functions and their [arguments](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-RasterFunction.html#functionArguments). The following image shows a landcover ImageryLayer rendered with two chained client-side raster functions used to reclass pixel values (Remap) and assign each pixel a new color (Colormap). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-RasterFunction.html) */ @@ -16609,25 +17154,39 @@ declare namespace __esri { interface RasterFunctionProperties { /** - * The arguments for the raster function. The structure depends on the function specified. See [raster functions](https://developers.arcgis.com/documentation/common-data-types/raster-function-objects.htm) for a list of functions and their arguments. + * The arguments for the raster function. The structure depends on the function specified. See [raster functions](https://developers.arcgis.com/documentation/common-data-types/raster-function-objects.htm) for a list of functions and their arguments. Also parses the arguments of RFT format. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-RasterFunction.html#functionArguments) */ functionArguments?: any; /** - * The raster function name. See [raster functions](https://developers.arcgis.com/documentation/common-data-types/raster-function-objects.htm) for a list of functions and their arguments. + * The raster function name. See [raster functions](https://developers.arcgis.com/documentation/common-data-types/raster-function-objects.htm) for a list of functions and their arguments. The name in the raster function in RFT JSON format is also parsed to functionName. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-RasterFunction.html#functionName) */ functionName?: string; /** - * Defines the pixel type of the output image. **Possible Values:** c128 | c64 | f32 | f64 | s16 | s32 | s8 | u1 | u16 | u2 | u32 | u4 | u8 | unknown + * Defines the pixel type of the output image. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-RasterFunction.html#outputPixelType) * * @default unknown */ - outputPixelType?: string; + outputPixelType?: + | "c128" + | "c64" + | "f32" + | "f64" + | "s16" + | "s32" + | "s8" + | "u1" + | "u16" + | "u2" + | "u32" + | "u4" + | "u8" + | "unknown"; /** * The variable name for the raster function. * @@ -16638,7 +17197,7 @@ declare namespace __esri { interface RasterInfo extends JSONSupport { /** - * The raster attribute table associated with an imagery layer. It returns categorical mapping of pixel values such as class, group, or category. or membership. + * The raster attribute table associated with an imagery layer. It returns categorical mapping of pixel values such as class, group, or category, or membership. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-RasterInfo.html#attributeTable) */ @@ -16656,7 +17215,7 @@ declare namespace __esri { */ colormap: number[][]; /** - * Raster data type controls how the data is rendered by default. **Possible Values:** + * Raster data type controls how the data is rendered by default. * * Value | Description | * ----- | ----------- | @@ -16671,7 +17230,7 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-RasterInfo.html#dataType) */ - dataType: string; + dataType: "generic" | "elevation" | "thematic" | "processed" | "scientific" | "vector-uv" | "vector-magdir"; /** * The minimum and maximum X and Y coordinates of a bounding box containing all the raster data. * @@ -16697,13 +17256,13 @@ declare namespace __esri { */ multidimensionalInfo: any; /** - * Raster pixel size. + * Raster pixel size. Specifies the pixel size being identified on the x and y axis. Defaults to the base resolution of the dataset when not specified. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-RasterInfo.html#pixelSize) */ pixelSize: Point; /** - * Pixel type for the raster data source. **Possible Values:** + * Pixel type for the raster data source. * * Value | Range of values that each cell can contain | * ----- | ------------------------------------------- | @@ -16720,7 +17279,7 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-RasterInfo.html#pixelType) */ - pixelType: string; + pixelType: "unknown" | "s8" | "s16" | "s32" | "u8" | "u16" | "u32" | "f32" | "f64"; /** * The spatial reference of the raster. * @@ -16745,7 +17304,7 @@ declare namespace __esri { interface RasterInfoProperties { /** - * The raster attribute table associated with an imagery layer. It returns categorical mapping of pixel values such as class, group, or category. or membership. + * The raster attribute table associated with an imagery layer. It returns categorical mapping of pixel values such as class, group, or category, or membership. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-RasterInfo.html#attributeTable) */ @@ -16763,7 +17322,7 @@ declare namespace __esri { */ colormap?: number[][]; /** - * Raster data type controls how the data is rendered by default. **Possible Values:** + * Raster data type controls how the data is rendered by default. * * Value | Description | * ----- | ----------- | @@ -16778,7 +17337,7 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-RasterInfo.html#dataType) */ - dataType?: string; + dataType?: "generic" | "elevation" | "thematic" | "processed" | "scientific" | "vector-uv" | "vector-magdir"; /** * The minimum and maximum X and Y coordinates of a bounding box containing all the raster data. * @@ -16804,13 +17363,13 @@ declare namespace __esri { */ multidimensionalInfo?: any; /** - * Raster pixel size. + * Raster pixel size. Specifies the pixel size being identified on the x and y axis. Defaults to the base resolution of the dataset when not specified. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-RasterInfo.html#pixelSize) */ pixelSize?: PointProperties; /** - * Pixel type for the raster data source. **Possible Values:** + * Pixel type for the raster data source. * * Value | Range of values that each cell can contain | * ----- | ------------------------------------------- | @@ -16827,7 +17386,7 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-RasterInfo.html#pixelType) */ - pixelType?: string; + pixelType?: "unknown" | "s8" | "s16" | "s32" | "u8" | "u16" | "u32" | "f32" | "f64"; /** * The spatial reference of the raster. * @@ -17497,11 +18056,25 @@ declare namespace __esri { */ dpi: number; /** - * Image format of the cached tiles. **Possible Values:** png | png24 | png32 | jpg | dib | tiff | emf | ps | pdf | gif | svg | svgz | mixed | lerc + * Image format of the cached tiles. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-TileInfo.html#format) */ - format: string; + format: + | "png" + | "png24" + | "png32" + | "jpg" + | "dib" + | "tiff" + | "emf" + | "ps" + | "pdf" + | "gif" + | "svg" + | "svgz" + | "mixed" + | "lerc"; /** * Indicates if the tiling scheme supports wrap around. * @@ -17582,11 +18155,25 @@ declare namespace __esri { */ dpi?: number; /** - * Image format of the cached tiles. **Possible Values:** png | png24 | png32 | jpg | dib | tiff | emf | ps | pdf | gif | svg | svgz | mixed | lerc + * Image format of the cached tiles. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-TileInfo.html#format) */ - format?: string; + format?: + | "png" + | "png24" + | "png32" + | "jpg" + | "dib" + | "tiff" + | "emf" + | "ps" + | "pdf" + | "gif" + | "svg" + | "svgz" + | "mixed" + | "lerc"; /** * Indicates if the tiling scheme supports wrap around. * @@ -18240,13 +18827,19 @@ declare namespace __esri { */ readonly hasAttributionData: boolean; /** - * Resampling is enabled by default in 2D [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) and 3D [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). This means that tile images are resampled at a lower level of detail and displayed at levels where tiles may not be available. Setting this property to `true` disables this behavior. Instead, if a tile is not available, a transparent image is displayed. + * Resampling is enabled by default in 2D [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) and 3D [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). This means that tile images are resampled at a lower level of detail and displayed at levels where tiles may not be available. Setting this property to `false` disables this behavior. Instead, if a tile is not available, a transparent image is displayed. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-TileLayer.html#resampling) * * @default true */ resampling: boolean; + /** + * The [tiled map service's metadata JSON](https://developers.arcgis.com/rest/services-reference/map-service.htm) exposed by the ArcGIS REST API. While most commonly used [properties](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-TileLayer.html#properties-summary) are exposed on the TileLayer class directly, this property gives access to all information returned by the tiled map service. This property is useful if working in an application built using an older version of the API which requires access to tiled map service properties from a more recent version. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-TileLayer.html#sourceJSON) + */ + sourceJSON: any; /** * A [Collection](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Collection.html) of [Sublayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-Sublayer.html) objects. All sublayers are referenced in the order in which they are drawn in the view (bottom to top). Sublayer properties on TileLayer are read-only, with the following exceptions: * * [legendEnabled](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-Sublayer.html#legendEnabled) @@ -18263,11 +18856,7 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-TileLayer.html#tileServers) */ tileServers: string[]; - /** - * For [TileLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-TileLayer.html) the type is `tile`. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-TileLayer.html#type) - */ + readonly type: "tile"; /** * The URL of the REST endpoint of the layer. The URL may either point to a resource on ArcGIS Enterprise or ArcGIS Online. @@ -18331,13 +18920,19 @@ declare namespace __esri { ScaleRangeLayerProperties, PortalLayerProperties { /** - * Resampling is enabled by default in 2D [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) and 3D [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). This means that tile images are resampled at a lower level of detail and displayed at levels where tiles may not be available. Setting this property to `true` disables this behavior. Instead, if a tile is not available, a transparent image is displayed. + * Resampling is enabled by default in 2D [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) and 3D [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). This means that tile images are resampled at a lower level of detail and displayed at levels where tiles may not be available. Setting this property to `false` disables this behavior. Instead, if a tile is not available, a transparent image is displayed. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-TileLayer.html#resampling) * * @default true */ resampling?: boolean; + /** + * The [tiled map service's metadata JSON](https://developers.arcgis.com/rest/services-reference/map-service.htm) exposed by the ArcGIS REST API. While most commonly used [properties](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-TileLayer.html#properties-summary) are exposed on the TileLayer class directly, this property gives access to all information returned by the tiled map service. This property is useful if working in an application built using an older version of the API which requires access to tiled map service properties from a more recent version. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-TileLayer.html#sourceJSON) + */ + sourceJSON?: any; /** * An array of tile servers used for changing map tiles. * @@ -18386,6 +18981,8 @@ declare namespace __esri { } interface UnknownLayer extends Layer { + readonly type: "unknown"; + on(name: "layerview-create", eventHandler: UnknownLayerLayerviewCreateEventHandler): IHandle; on(name: "layerview-create-error", eventHandler: UnknownLayerLayerviewCreateErrorEventHandler): IHandle; @@ -18426,6 +19023,8 @@ declare namespace __esri { } interface UnsupportedLayer extends Layer { + readonly type: "unsupported"; + on(name: "layerview-create", eventHandler: UnsupportedLayerLayerviewCreateEventHandler): IHandle; on(name: "layerview-create-error", eventHandler: UnsupportedLayerLayerviewCreateErrorEventHandler): IHandle; @@ -18502,6 +19101,8 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-VectorTileLayer.html#tileInfo) */ tileInfo: TileInfo; + + readonly type: "vector-tile"; /** * The URL to the vector tile service, or the URL to the style resource of vector tiles that will be used to render the layer. If specifying a URL to a style, the tiles are fetched from the tile servers specified in the style object. * @@ -18731,7 +19332,7 @@ declare namespace __esri { signal?: AbortSignal; } - interface WebTileLayer extends Layer, ScaleRangeLayer, RefreshableLayer { + interface WebTileLayer extends Layer, ScaleRangeLayer, RefreshableLayer, PortalLayer { /** * The attribution information for the layer. * @@ -18769,7 +19370,7 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-WebTileLayer.html#type) */ - readonly type: "web-tile"; + readonly type: "web-tile" | "open-street-map"; /** * URL template for the hosted tiles. The `urlTemplate` should contain a `{subDomain}` place holder if [subDomains](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-WebTileLayer.html#subDomains) are specified. * @@ -18823,11 +19424,17 @@ declare namespace __esri { */ new (properties?: WebTileLayerProperties): WebTileLayer; + + fromJSON(json: any): WebTileLayer; } export const WebTileLayer: WebTileLayerConstructor; - interface WebTileLayerProperties extends LayerProperties, ScaleRangeLayerProperties, RefreshableLayerProperties { + interface WebTileLayerProperties + extends LayerProperties, + ScaleRangeLayerProperties, + RefreshableLayerProperties, + PortalLayerProperties { /** * The attribution information for the layer. * @@ -18986,6 +19593,8 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-WMSLayer.html#sublayers) */ sublayers: Collection; + + readonly type: "wms"; /** * The URL of the WMS service. * @@ -19221,19 +19830,21 @@ declare namespace __esri { */ customParameters: any; /** - * The service mode for the WMTS layer. If not specified, the API will first make a getCapabilities request using `RESTful`. If that fails, it will try using `KVP`. **Possible Values:** RESTful | KVP + * The service mode for the WMTS layer. If not specified, the API will first make a getCapabilities request using `RESTful`. If that fails, it will try using `KVP`. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-WMTSLayer.html#serviceMode) * * @default RESTful */ - serviceMode: string; + serviceMode: "RESTful" | "KVP"; /** * A collection of [WMTSSublayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-WMTSSublayer.html) objects. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-WMTSLayer.html#sublayers) */ sublayers: Collection; + + readonly type: "wmts"; /** * The URL of the WMTS service. The URL for the GetCapabilities is created based on the url and serviceMode properties. For example https://gibs.earthdata.nasa.gov/wmts/epsg4326/best. * @@ -19302,13 +19913,13 @@ declare namespace __esri { */ customParameters?: any; /** - * The service mode for the WMTS layer. If not specified, the API will first make a getCapabilities request using `RESTful`. If that fails, it will try using `KVP`. **Possible Values:** RESTful | KVP + * The service mode for the WMTS layer. If not specified, the API will first make a getCapabilities request using `RESTful`. If that fails, it will try using `KVP`. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-WMTSLayer.html#serviceMode) * * @default RESTful */ - serviceMode?: string; + serviceMode?: "RESTful" | "KVP"; /** * A collection of [WMTSSublayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-WMTSSublayer.html) objects. * @@ -19590,11 +20201,19 @@ declare namespace __esri { */ attachmentInfos: AttachmentInfo; /** - * A string value indicating how to display the attachment. Possible values are: preview | list If `list` is specified, attachments show as links. + * A string value indicating how to display the attachment. If `list` is specified, attachments show as links. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-content-AttachmentsContent.html#displayType) */ displayType: "preview" | "list"; + /** + * The type of popup element displayed. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-content-AttachmentsContent.html#type) + * + * @default attachments + */ + readonly type: "attachments"; } interface AttachmentsContentConstructor { @@ -19619,7 +20238,7 @@ declare namespace __esri { */ attachmentInfos?: AttachmentInfoProperties; /** - * A string value indicating how to display the attachment. Possible values are: preview | list If `list` is specified, attachments show as links. + * A string value indicating how to display the attachment. If `list` is specified, attachments show as links. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-content-AttachmentsContent.html#displayType) */ @@ -19700,11 +20319,11 @@ declare namespace __esri { interface Content extends Accessor, JSONSupport { /** - * The type of popup element displayed. **Possible values**: text | fields | media | attachments + * The type of popup element displayed. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-content-Content.html#type) */ - readonly type: string; + readonly type: "text" | "fields" | "media" | "attachments"; } interface ContentConstructor { @@ -19730,6 +20349,14 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-content-FieldsContent.html#fieldInfos) */ fieldInfos: FieldInfo[]; + /** + * The type of popup element displayed. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-content-FieldsContent.html#type) + * + * @default fields + */ + readonly type: "fields"; /** * Creates a deep clone of the FieldsContent class. @@ -19874,6 +20501,14 @@ declare namespace __esri { | LineChartMediaInfo | PieChartMediaInfo | any[]; + /** + * The type of popup element displayed. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-content-MediaContent.html#type) + * + * @default media + */ + readonly type: "media"; /** * Creates a deep clone of the MediaContent class. @@ -20078,9 +20713,9 @@ declare namespace __esri { /** * String value indicating the tooltip for a series. * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-content-support-ChartMediaInfoValueSeries.html#tooltipField) + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-content-support-ChartMediaInfoValueSeries.html#tooltip) */ - tooltipField: string; + tooltip: string; /** * Numerical value indicating the x-value for the chart series. * @@ -20114,9 +20749,9 @@ declare namespace __esri { /** * String value indicating the tooltip for a series. * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-content-support-ChartMediaInfoValueSeries.html#tooltipField) + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-content-support-ChartMediaInfoValueSeries.html#tooltip) */ - tooltipField?: string; + tooltip?: string; /** * Numerical value indicating the x-value for the chart series. * @@ -20185,6 +20820,14 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-content-TextContent.html#text) */ text: string; + /** + * The type of popup element displayed. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-content-TextContent.html#type) + * + * @default text + */ + readonly type: "text"; /** * Creates a deep clone of the TextContent class. @@ -20353,19 +20996,19 @@ declare namespace __esri { */ label: string; /** - * Used in a `one:many` or `many:many` relationship to compute the statistics on the field to show in the popup. If the property is present, must be one of the following values: **Possible Values:** count | sum | min | max | avg | stddev | var + * Used in a `one:many` or `many:many` relationship to compute the statistics on the field to show in the popup. If the property is present, must be one of the following values: * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-FieldInfo.html#statisticType) */ - statisticType: string; + statisticType: "count" | "sum" | "min" | "max" | "avg" | "stddev" | "var"; /** - * A string determining what type of input box editors see when editing the field. Applies only to string fields. This is not applicable to Arcade expressions. If this property is present, it must be one of the following values: **Possible Values:** rich-text | text-area | text-box + * A string determining what type of input box editors see when editing the field. Applies only to string fields. This is not applicable to Arcade expressions. If this property is present, it must be one of the following values: * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-FieldInfo.html#stringFieldOption) * * @default text-box */ - stringFieldOption: string; + stringFieldOption: "rich-text" | "text-area" | "text-box"; /** * A string providing an editing hint for editors of the field. This is not applicable to Arcade expressions. * @@ -20427,19 +21070,19 @@ declare namespace __esri { */ label?: string; /** - * Used in a `one:many` or `many:many` relationship to compute the statistics on the field to show in the popup. If the property is present, must be one of the following values: **Possible Values:** count | sum | min | max | avg | stddev | var + * Used in a `one:many` or `many:many` relationship to compute the statistics on the field to show in the popup. If the property is present, must be one of the following values: * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-FieldInfo.html#statisticType) */ - statisticType?: string; + statisticType?: "count" | "sum" | "min" | "max" | "avg" | "stddev" | "var"; /** - * A string determining what type of input box editors see when editing the field. Applies only to string fields. This is not applicable to Arcade expressions. If this property is present, it must be one of the following values: **Possible Values:** rich-text | text-area | text-box + * A string determining what type of input box editors see when editing the field. Applies only to string fields. This is not applicable to Arcade expressions. If this property is present, it must be one of the following values: * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-FieldInfo.html#stringFieldOption) * * @default text-box */ - stringFieldOption?: string; + stringFieldOption?: "rich-text" | "text-area" | "text-box"; /** * A string providing an editing hint for editors of the field. This is not applicable to Arcade expressions. * @@ -20596,7 +21239,35 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-support-FieldInfoFormat.html#dateFormat) */ - dateFormat: string; + dateFormat: + | "default" + | "short-date" + | "short-date-short-time" + | "short-date-long-time" + | "short-date-long-time-24" + | "short-date-le" + | "short-date-le-short-time" + | "short-date-le-short-time-24" + | "short-date-le-long-time" + | "short-date-le-long-time-24" + | "long-month-day-year" + | "long-month-day-year-short-time" + | "long-month-day-year-short-time-24" + | "long-month-day-year-long-time" + | "long-month-day-year-long-time-24" + | "day-short-month-year" + | "day-short-month-year-short-time" + | "day-short-month-year-short-time-24" + | "day-short-month-year-long-time" + | "day-short-month-year-long-time-24" + | "long-date" + | "long-date-short-time" + | "long-date-short-time-24" + | "long-date-long-time" + | "long-date-long-time-24" + | "long-month-year" + | "short-month-year" + | "year"; /** * Used only with `Number` fields. A value of `true` indicates the number should have a digit (or thousands) separator when the value appears in popups. A value of `false` means that no separator will be used. * @@ -20674,7 +21345,35 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-support-FieldInfoFormat.html#dateFormat) */ - dateFormat?: string; + dateFormat?: + | "default" + | "short-date" + | "short-date-short-time" + | "short-date-long-time" + | "short-date-long-time-24" + | "short-date-le" + | "short-date-le-short-time" + | "short-date-le-short-time-24" + | "short-date-le-long-time" + | "short-date-le-long-time-24" + | "long-month-day-year" + | "long-month-day-year-short-time" + | "long-month-day-year-short-time-24" + | "long-month-day-year-long-time" + | "long-month-day-year-long-time-24" + | "day-short-month-year" + | "day-short-month-year-short-time" + | "day-short-month-year-short-time-24" + | "day-short-month-year-long-time" + | "day-short-month-year-long-time-24" + | "long-date" + | "long-date-short-time" + | "long-date-short-time-24" + | "long-date-long-time" + | "long-date-long-time-24" + | "long-month-year" + | "short-month-year" + | "year"; /** * Used only with `Number` fields. A value of `true` indicates the number should have a digit (or thousands) separator when the value appears in popups. A value of `false` means that no separator will be used. * @@ -20699,11 +21398,11 @@ declare namespace __esri { */ field: string; /** - * Set the ascending or descending sort order of the returned related records. **Possible Values**: asc | desc + * Set the ascending or descending sort order of the returned related records. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-support-RelatedRecordsInfoFieldOrder.html#order) */ - order: string; + order: "asc" | "desc"; /** * Creates a deep clone of the RelatedRecordsInfoFieldOrder class. @@ -20731,11 +21430,11 @@ declare namespace __esri { */ field?: string; /** - * Set the ascending or descending sort order of the returned related records. **Possible Values**: asc | desc + * Set the ascending or descending sort order of the returned related records. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-support-RelatedRecordsInfoFieldOrder.html#order) */ - order?: string; + order?: "asc" | "desc"; } interface PopupTemplate extends Accessor, JSONSupport { @@ -20817,7 +21516,7 @@ declare namespace __esri { */ relatedRecordsInfo: RelatedRecordsInfo; /** - * The template for defining how to format the title used in a popup. You can format the title by specifying either a string value or a function that returns a simple string. + * The template for defining how to format the title used in a popup. You can format the title by specifying either a string value or a JavaScript function that returns a simple string. If using a function, the defined content returns a string value. When the feature is clicked, the feature is passed as an argument to the function and provides access to the feature's graphic and attributes. The function then executes and returns a value to display in the popup template's title. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-PopupTemplate.html#title) */ @@ -20926,7 +21625,7 @@ declare namespace __esri { */ relatedRecordsInfo?: RelatedRecordsInfoProperties; /** - * The template for defining how to format the title used in a popup. You can format the title by specifying either a string value or a function that returns a simple string. + * The template for defining how to format the title used in a popup. You can format the title by specifying either a string value or a JavaScript function that returns a simple string. If using a function, the defined content returns a string value. When the feature is clicked, the feature is passed as an argument to the function and provides access to the feature's graphic and attributes. The function then executes and returns a value to display in the popup template's title. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-PopupTemplate.html#title) */ @@ -20935,11 +21634,11 @@ declare namespace __esri { interface Portal extends Accessor, Loadable { /** - * The access level of the organization. When public, anonymous users can access the organization. When private, access is restricted to only members of the organization. **Possible Values:** public | private + * The access level of the organization. When public, anonymous users can access the organization. When private, access is restricted to only members of the organization. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-portal-Portal.html#access) */ - access: string; + access: "public" | "private"; /** * When `true`, access to the organization's Portal resources must occur over SSL. * @@ -20960,7 +21659,7 @@ declare namespace __esri { * * @default auto */ - authMode: string; + authMode: "anonymous" | "auto" | "immediate"; /** * Array of trusted servers to send credentials to when making Cross-Origin Resource Sharing (CORS) requests to access services secured with web-tier authentication. * @@ -21261,6 +21960,12 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-portal-Portal.html#showHomePageDescription) */ showHomePageDescription: boolean; + /** + * The JSON used to create the property values when the `Portal` is loaded. Although most commonly used properties are exposed on the `Portal` class directly, this provides access to all information returned by the portal. This property is useful if working in an application built using an older version of the API which requires access to portal properties from a more recent version. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-portal-Portal.html#sourceJSON) + */ + sourceJSON: any; /** * Indicates whether hosted services are supported. * @@ -21288,11 +21993,11 @@ declare namespace __esri { */ readonly thumbnailUrl: string; /** - * Sets the units of measure for the organization's users. The user default is derived from the organization's [region](https://developers.arcgis.com/javascript/latest/api-reference/esri-portal-Portal.html#region). **Possible Values:** english | metric + * Sets the units of measure for the organization's users. The user default is derived from the organization's [region](https://developers.arcgis.com/javascript/latest/api-reference/esri-portal-Portal.html#region). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-portal-Portal.html#units) */ - units: string; + units: "english" | "metric"; /** * The URL to the portal instance. Setting the location of the portal instance via [esriConfig.portalUrl](https://developers.arcgis.com/javascript/latest/api-reference/esri-config.html#portalUrl) should be used in favor of setting it directly on this property. If using an on-premise portal, the syntax should look similar to: `https://www.example.com/arcgis` * @@ -21475,7 +22180,7 @@ declare namespace __esri { new (properties?: PortalProperties): Portal; /** - * Returns a cached default Portal instance. + * A new `Portal` instance is created the first time this method is called. The URL from [config.portalUrl](https://developers.arcgis.com/javascript/latest/api-reference/esri-config.html#portalUrl) is automatically used for this instance. This instance is then cached and used for any subsequent calls to this method. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-portal-Portal.html#getDefault) * @@ -21488,11 +22193,11 @@ declare namespace __esri { interface PortalProperties extends LoadableProperties { /** - * The access level of the organization. When public, anonymous users can access the organization. When private, access is restricted to only members of the organization. **Possible Values:** public | private + * The access level of the organization. When public, anonymous users can access the organization. When private, access is restricted to only members of the organization. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-portal-Portal.html#access) */ - access?: string; + access?: "public" | "private"; /** * When `true`, access to the organization's Portal resources must occur over SSL. * @@ -21513,7 +22218,7 @@ declare namespace __esri { * * @default auto */ - authMode?: string; + authMode?: "anonymous" | "auto" | "immediate"; /** * Array of trusted servers to send credentials to when making Cross-Origin Resource Sharing (CORS) requests to access services secured with web-tier authentication. * @@ -21794,6 +22499,12 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-portal-Portal.html#showHomePageDescription) */ showHomePageDescription?: boolean; + /** + * The JSON used to create the property values when the `Portal` is loaded. Although most commonly used properties are exposed on the `Portal` class directly, this provides access to all information returned by the portal. This property is useful if working in an application built using an older version of the API which requires access to portal properties from a more recent version. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-portal-Portal.html#sourceJSON) + */ + sourceJSON?: any; /** * Indicates whether hosted services are supported. * @@ -21815,11 +22526,11 @@ declare namespace __esri { */ templatesGroupQuery?: string; /** - * Sets the units of measure for the organization's users. The user default is derived from the organization's [region](https://developers.arcgis.com/javascript/latest/api-reference/esri-portal-Portal.html#region). **Possible Values:** english | metric + * Sets the units of measure for the organization's users. The user default is derived from the organization's [region](https://developers.arcgis.com/javascript/latest/api-reference/esri-portal-Portal.html#region). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-portal-Portal.html#units) */ - units?: string; + units?: "english" | "metric"; /** * The URL to the portal instance. Setting the location of the portal instance via [esriConfig.portalUrl](https://developers.arcgis.com/javascript/latest/api-reference/esri-config.html#portalUrl) should be used in favor of setting it directly on this property. If using an on-premise portal, the syntax should look similar to: `https://www.example.com/arcgis` * @@ -22006,11 +22717,11 @@ declare namespace __esri { interface PortalGroup extends Accessor { /** - * The access privileges on the group which determines who can see and access the group. **Possible Values:** private | org | public + * The access privileges on the group which determines who can see and access the group. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-portal-PortalGroup.html#access) */ - access: string; + access: "private" | "org" | "public"; /** * The date the group was created. * @@ -22139,11 +22850,11 @@ declare namespace __esri { interface PortalGroupProperties { /** - * The access privileges on the group which determines who can see and access the group. **Possible Values:** private | org | public + * The access privileges on the group which determines who can see and access the group. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-portal-PortalGroup.html#access) */ - access?: string; + access?: "private" | "org" | "public"; /** * The date the group was created. * @@ -22297,7 +23008,7 @@ declare namespace __esri { */ groupCategories: string[]; /** - * The unique id for the item. + * The unique id for the item. You can typically find the id for an item in its url. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-portal-PortalItem.html#id) */ @@ -22384,7 +23095,22 @@ declare namespace __esri { */ ownerFolder: string; /** - * The portal that contains the item. Defaults to the value in [config.portalUrl](https://developers.arcgis.com/javascript/latest/api-reference/esri-config.html#portalUrl) (e.g. https://www.arcgis.com). Suggested to use [config.portalUrl](https://developers.arcgis.com/javascript/latest/api-reference/esri-config.html#portalUrl) instead of this property. + * The portal that contains the item. It uses Portal.getDefault(). This, in turn, obtains the URL from [config.portalUrl](https://developers.arcgis.com/javascript/latest/api-reference/esri-config.html#portalUrl). It's suggested to use [config.portalUrl](https://developers.arcgis.com/javascript/latest/api-reference/esri-config.html#portalUrl) instead of this property. If needing to work with multiple portal instances, either set the portal's [url](https://developers.arcgis.com/javascript/latest/api-reference/esri-portal-Portal.html#url) directly within the PortalItem or create separate portal instances before passing them into the PortalItem.portal property. Both examples are shown below. + * ```js + * Layer.fromPortalItem({ + * portalItem: { + * id: "e691172598f04ea8881cd2a4adaa45ba", + * // autocastable to Portal + * portal: { + * url: "https://thePortalUrl" + * } + * } + * }); + * ``` + * + * ```js + * let portalA = new Portal({ url: "https://www.exampleA.com/arcgis" // First instance }); let portalB = new Portal({ url: "https://www.exampleB.com/arcgis" // Second instance }); let item = new PortalItem({ id: "e691172598f04ea8881cd2a4adaa45ba", portal: portalA // This loads the first portal instance set above }); item.load(); + * ``` * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-portal-PortalItem.html#portal) */ @@ -22409,6 +23135,12 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-portal-PortalItem.html#snippet) */ snippet: string; + /** + * The JSON used to create the property values when the `PortalItem` is loaded. Although most commonly used properties are exposed on the `PortalItem` class directly, this provides access to all information returned by the portal item. This property is useful if working in an application built using an older version of the API which requires access to a portal's item properties from a more recent version. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-portal-PortalItem.html#sourceJSON) + */ + sourceJSON: any; /** * User defined tags that describe the item. * @@ -22603,7 +23335,7 @@ declare namespace __esri { */ groupCategories?: string[]; /** - * The unique id for the item. + * The unique id for the item. You can typically find the id for an item in its url. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-portal-PortalItem.html#id) */ @@ -22657,7 +23389,22 @@ declare namespace __esri { */ ownerFolder?: string; /** - * The portal that contains the item. Defaults to the value in [config.portalUrl](https://developers.arcgis.com/javascript/latest/api-reference/esri-config.html#portalUrl) (e.g. https://www.arcgis.com). Suggested to use [config.portalUrl](https://developers.arcgis.com/javascript/latest/api-reference/esri-config.html#portalUrl) instead of this property. + * The portal that contains the item. It uses Portal.getDefault(). This, in turn, obtains the URL from [config.portalUrl](https://developers.arcgis.com/javascript/latest/api-reference/esri-config.html#portalUrl). It's suggested to use [config.portalUrl](https://developers.arcgis.com/javascript/latest/api-reference/esri-config.html#portalUrl) instead of this property. If needing to work with multiple portal instances, either set the portal's [url](https://developers.arcgis.com/javascript/latest/api-reference/esri-portal-Portal.html#url) directly within the PortalItem or create separate portal instances before passing them into the PortalItem.portal property. Both examples are shown below. + * ```js + * Layer.fromPortalItem({ + * portalItem: { + * id: "e691172598f04ea8881cd2a4adaa45ba", + * // autocastable to Portal + * portal: { + * url: "https://thePortalUrl" + * } + * } + * }); + * ``` + * + * ```js + * let portalA = new Portal({ url: "https://www.exampleA.com/arcgis" // First instance }); let portalB = new Portal({ url: "https://www.exampleB.com/arcgis" // Second instance }); let item = new PortalItem({ id: "e691172598f04ea8881cd2a4adaa45ba", portal: portalA // This loads the first portal instance set above }); item.load(); + * ``` * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-portal-PortalItem.html#portal) */ @@ -22682,6 +23429,12 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-portal-PortalItem.html#snippet) */ snippet?: string; + /** + * The JSON used to create the property values when the `PortalItem` is loaded. Although most commonly used properties are exposed on the `PortalItem` class directly, this provides access to all information returned by the portal item. This property is useful if working in an application built using an older version of the API which requires access to a portal's item properties from a more recent version. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-portal-PortalItem.html#sourceJSON) + */ + sourceJSON?: any; /** * User defined tags that describe the item. * @@ -22848,7 +23601,18 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-portal-PortalQueryParams.html#sortField) */ - sortField: string; + sortField: + | "title" + | "uploaded" + | "modified" + | "username" + | "created" + | "type" + | "owner" + | "avg-rating" + | "num-ratings" + | "num-comments" + | "num-views"; /** * The order in which to sort the results. * @@ -22862,7 +23626,7 @@ declare namespace __esri { * * @default asc */ - sortOrder: string; + sortOrder: "asc" | "desc"; /** * The index of the first entry in the result set response. The index is 1-based. The [start](https://developers.arcgis.com/javascript/latest/api-reference/esri-portal-PortalQueryParams.html#start) property, along with the [num](https://developers.arcgis.com/javascript/latest/api-reference/esri-portal-PortalQueryParams.html#num) property can be used to paginate the search results. * @@ -22941,7 +23705,18 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-portal-PortalQueryParams.html#sortField) */ - sortField?: string; + sortField?: + | "title" + | "uploaded" + | "modified" + | "username" + | "created" + | "type" + | "owner" + | "avg-rating" + | "num-ratings" + | "num-comments" + | "num-views"; /** * The order in which to sort the results. * @@ -22955,7 +23730,7 @@ declare namespace __esri { * * @default asc */ - sortOrder?: string; + sortOrder?: "asc" | "desc"; /** * The index of the first entry in the result set response. The index is 1-based. The [start](https://developers.arcgis.com/javascript/latest/api-reference/esri-portal-PortalQueryParams.html#start) property, along with the [num](https://developers.arcgis.com/javascript/latest/api-reference/esri-portal-PortalQueryParams.html#num) property can be used to paginate the search results. * @@ -23064,11 +23839,11 @@ declare namespace __esri { interface PortalUser extends Accessor { /** - * Indicates the level of access of the user. If private, the user descriptive information will not be available to others nor will the username be searchable. **Possible Values:** private | org | public + * Indicates the level of access of the user. If private, the user descriptive information will not be available to others nor will the username be searchable. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-portal-PortalUser.html#access) */ - access: string; + access: "private" | "org" | "public"; /** * The date the user was created. * @@ -23141,6 +23916,12 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-portal-PortalUser.html#roleId) */ roleId: string; + /** + * The JSON used to create the property values when the `PortalUser` is created. Although most commonly used properties are exposed on the `PortalUser` class directly, this provides access to all information returned for the portal user. This property is useful if working in an application built using an older version of the API which requires access to a portal's user properties from a more recent version. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-portal-PortalUser.html#sourceJSON) + */ + sourceJSON: any; /** * The URL to the thumbnail image for the user. * @@ -23148,11 +23929,11 @@ declare namespace __esri { */ readonly thumbnailUrl: string; /** - * The user's personal units of measure setting. **Possible Values:** english | metric + * The user's personal units of measure setting. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-portal-PortalUser.html#units) */ - units: string; + units: "english" | "metric"; /** * The URL for the user's content. * @@ -23220,6 +24001,8 @@ declare namespace __esri { * @param params See the object specifications table below for the parameters that may be passed as properties in this object. * @param params.folder The folder to retrieve items from. * @param params.num The maximum number of results to be included in the result set response. The maximum value allowed is 100. The start property combined with the num property can be used to paginate the search results. + * @param params.sortField A comma-delimited list of fields to sort by. Allowed values are `created`, `modified`, `size`, and `type`. + * @param params.sortOrder The order in which to sort the results. Allowed values are `asc` for ascending order and `desc` for descending order. * @param params.start The index of the first entry in the result set response. The index is 1-based. * */ @@ -23238,7 +24021,7 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-portal-PortalUser.html#queryFavorites) * - * @param queryParams The input query parameters defined in [PortalQueryParams](https://developers.arcgis.com/javascript/latest/api-reference/esri-portal-PortalQueryParams.html). This object may be [autocast](https://developers.arcgis.com/javascript/latest/guide/autocasting/). + * @param queryParams The input query parameters defined in [PortalQueryParams](https://developers.arcgis.com/javascript/latest/api-reference/esri-portal-PortalQueryParams.html). This object may be [autocast](https://developers.arcgis.com/javascript/latest/guide/programming-patterns/#autocasting). * */ queryFavorites(queryParams?: PortalQueryParams): IPromise; @@ -23252,11 +24035,11 @@ declare namespace __esri { interface PortalUserProperties { /** - * Indicates the level of access of the user. If private, the user descriptive information will not be available to others nor will the username be searchable. **Possible Values:** private | org | public + * Indicates the level of access of the user. If private, the user descriptive information will not be available to others nor will the username be searchable. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-portal-PortalUser.html#access) */ - access?: string; + access?: "private" | "org" | "public"; /** * The date the user was created. * @@ -23330,11 +24113,17 @@ declare namespace __esri { */ roleId?: string; /** - * The user's personal units of measure setting. **Possible Values:** english | metric + * The JSON used to create the property values when the `PortalUser` is created. Although most commonly used properties are exposed on the `PortalUser` class directly, this provides access to all information returned for the portal user. This property is useful if working in an application built using an older version of the API which requires access to a portal's user properties from a more recent version. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-portal-PortalUser.html#sourceJSON) + */ + sourceJSON?: any; + /** + * The user's personal units of measure setting. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-portal-PortalUser.html#units) */ - units?: string; + units?: "english" | "metric"; /** * The username of the user. * @@ -23379,6 +24168,22 @@ declare namespace __esri { * @default 10 */ num?: number; + /** + * A comma-delimited list of fields to sort by. Allowed values are `created`, `modified`, `size`, and `type`. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-portal-PortalUser.html#fetchItems) + * + * @default created + */ + sortField?: string; + /** + * The order in which to sort the results. Allowed values are `asc` for ascending order and `desc` for descending order. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-portal-PortalUser.html#fetchItems) + * + * @default asc + */ + sortOrder?: string; /** * The index of the first entry in the result set response. The index is 1-based. * @@ -23389,6 +24194,58 @@ declare namespace __esri { start?: number; } + /** + * A convenience module for importing renderer classes that can be used to render [ImageryLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-ImageryLayer.html) when developing with [TypeScript](https://developers.arcgis.com/javascript/latest/guide/typescript-setup/index.html). For example, rather than importing renderers one at a time like this: + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-rasterRenderers.html) + */ + namespace rasterRenderers { + /** + * ClassBreaksRenderer. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-rasterRenderers.html#ClassBreaksRenderer) + */ + export type ClassBreaksRenderer = __esri.ClassBreaksRenderer; + export const ClassBreaksRenderer: typeof __esri.ClassBreaksRenderer; + + /** + * UniqueValueRenderer. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-rasterRenderers.html#UniqueValueRenderer) + */ + export type UniqueValueRenderer = __esri.UniqueValueRenderer; + export const UniqueValueRenderer: typeof __esri.UniqueValueRenderer; + + /** + * RasterStretchRenderer. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-rasterRenderers.html#RasterStretchRenderer) + */ + export type RasterStretchRenderer = __esri.RasterStretchRenderer; + export const RasterStretchRenderer: typeof __esri.RasterStretchRenderer; + } + + /** + * ClassBreaksRenderer. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-rasterRenderers.html#ClassBreaksRenderer) + */ + export type rasterRenderersClassBreaksRenderer = ClassBreaksRenderer; + + /** + * RasterStretchRenderer. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-rasterRenderers.html#RasterStretchRenderer) + */ + export type rasterRenderersRasterStretchRenderer = RasterStretchRenderer; + + /** + * UniqueValueRenderer. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-rasterRenderers.html#UniqueValueRenderer) + */ + export type rasterRenderersUniqueValueRenderer = UniqueValueRenderer; + /** * A convenience module for importing [Renderer](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-Renderer.html) classes when developing with [TypeScript](https://developers.arcgis.com/javascript/latest/guide/typescript-setup/index.html). For example, rather than importing renderers one at a time like this: * @@ -23438,13 +24295,6 @@ declare namespace __esri { | __esri.UniqueValueRenderer | __esri.DotDensityRenderer; - /** - * RasterRenderer. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers.html#RasterRenderer) - */ - export type RasterRenderer = __esri.ClassBreaksRenderer | __esri.UniqueValueRenderer; - /** * HeatmapRenderer. * @@ -23461,7 +24311,7 @@ declare namespace __esri { export type Renderer = __esri.HeatmapRenderer | __esri.RendererWithVisualVariables; } - interface ClassBreaksRenderer extends Renderer, VisualVariablesRenderer { + interface ClassBreaksRenderer extends Renderer, VisualVariablesMixin { /** * When symbolizing polygon features with graduated symbols, set a [FillSymbol](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-FillSymbol.html) on this property to visualize the boundaries of each feature. Use a [FillSymbol](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-FillSymbol.html) of varying sizes in the [classBreakInfos](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-ClassBreaksRenderer.html#classBreakInfos) to indicate the quantity. * @@ -23524,9 +24374,9 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-ClassBreaksRenderer.html#normalizationType) */ - normalizationType: string; + normalizationType: "field" | "log" | "percent-of-total"; /** - * The type of renderer. For ClassBreaksRenderer this value is always `class-breaks`. + * The type of renderer. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-ClassBreaksRenderer.html#type) */ @@ -23598,7 +24448,7 @@ declare namespace __esri { export const ClassBreaksRenderer: ClassBreaksRendererConstructor; - interface ClassBreaksRendererProperties extends RendererProperties, VisualVariablesRendererProperties { + interface ClassBreaksRendererProperties extends RendererProperties, VisualVariablesMixinProperties { /** * When symbolizing polygon features with graduated symbols, set a [FillSymbol](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-FillSymbol.html) on this property to visualize the boundaries of each feature. Use a [FillSymbol](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-FillSymbol.html) of varying sizes in the [classBreakInfos](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-ClassBreaksRenderer.html#classBreakInfos) to indicate the quantity. * @@ -23661,7 +24511,7 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-ClassBreaksRenderer.html#normalizationType) */ - normalizationType?: string; + normalizationType?: "field" | "log" | "percent-of-total"; /** * An [Arcade](https://developers.arcgis.com/javascript/latest/guide/arcade/index.html) expression evaluating to a number. This expression can reference field values using the `$feature` global variable and perform mathematical calculations and logical evaluations at runtime. This property is typically used as an alternative to [field](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-ClassBreaksRenderer.html#field) for data-driven visualizations. * @@ -23685,6 +24535,83 @@ declare namespace __esri { title: string; } + interface DictionaryRenderer extends Renderer, VisualVariablesMixin { + /** + * This property allows you to set display options that can be configured on the dictionary symbol style. For example, if the dictionary symbol style provides a display option to turn on/off a symbol/text, you could set it here. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-DictionaryRenderer.html#config) + */ + config: any; + /** + * Defines a field mapping that maps input fields from the feature to the dictionary symbol style's expected fields for symbols and text. Each key identifies an expected field (defined in the dictionary's symbol and text properties). The value identifies the corresponding mapped field from the dataset. Field names are case sensitive. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-DictionaryRenderer.html#fieldMap) + */ + fieldMap: HashMap; + /** + * The type of renderer. For this renderer the type is always `dictionary`. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-DictionaryRenderer.html#type) + */ + type: "dictionary"; + /** + * The URL to the dictionary style, e.g. https://jsapi.maps.arcgis.com/sharing/rest/content/items/30cfbf36efd64ccf92136201d9e852af. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-DictionaryRenderer.html#url) + */ + url: string; + + /** + * Creates a deep clone of the renderer. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-DictionaryRenderer.html#clone) + * + * + */ + clone(): DictionaryRenderer; + } + + interface DictionaryRendererConstructor { + /** + * Dictionary Renderer is used to symbolize layers using a dictionary of [CIMSymbols](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-CIMSymbol.html) configured with multiple attributes. This renderer should be used when individual features need to be visualized based on multiple data attributes. This may lead to many symbol permutations that would be inappropriate for using a UniqueValueRenderer. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-DictionaryRenderer.html) + */ + + new (properties?: DictionaryRendererProperties): DictionaryRenderer; + + fromJSON(json: any): DictionaryRenderer; + } + + export const DictionaryRenderer: DictionaryRendererConstructor; + + interface DictionaryRendererProperties extends RendererProperties, VisualVariablesMixinProperties { + /** + * This property allows you to set display options that can be configured on the dictionary symbol style. For example, if the dictionary symbol style provides a display option to turn on/off a symbol/text, you could set it here. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-DictionaryRenderer.html#config) + */ + config?: any; + /** + * Defines a field mapping that maps input fields from the feature to the dictionary symbol style's expected fields for symbols and text. Each key identifies an expected field (defined in the dictionary's symbol and text properties). The value identifies the corresponding mapped field from the dataset. Field names are case sensitive. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-DictionaryRenderer.html#fieldMap) + */ + fieldMap?: HashMap; + /** + * The type of renderer. For this renderer the type is always `dictionary`. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-DictionaryRenderer.html#type) + */ + type?: "dictionary"; + /** + * The URL to the dictionary style, e.g. https://jsapi.maps.arcgis.com/sharing/rest/content/items/30cfbf36efd64ccf92136201d9e852af. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-DictionaryRenderer.html#url) + */ + url?: string; + } + interface DotDensityRenderer extends Renderer { /** * Defines the variable(s) used to visualize density. This is an array of objects, each of which references a numeric field value or [Arcade](https://developers.arcgis.com/javascript/latest/guide/arcade/index.html) expression used to drive the density. You must also set a color corresponding to each value. If you set a single attribute, `POPULATION` and match it with a color `black` and the [dotValue](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-DotDensityRenderer.html#dotValue) is `100`, then number of black dots rendered for each feature will approximately equal the value of `POPULATION` divided by `100`. This property is limited to no more than 8 attributes. @@ -23746,7 +24673,7 @@ declare namespace __esri { */ seed: number; /** - * The type of renderer. For DotDensityRenderer this value is always `dot-density`. + * The type of renderer. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-DotDensityRenderer.html#type) */ @@ -23756,7 +24683,7 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-DotDensityRenderer.html#visualVariables) */ - visualVariables: ScaleDependentStops[]; + visualVariables: VisualVariable[]; /** * Calculates an updated dot value for the given scale for the cases where a [referenceScale](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-DotDensityRenderer.html#referenceScale) is provided. This allows the [Legend](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Legend.html) to update the dot value as the user zooms in or out in the view. @@ -23856,7 +24783,7 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-DotDensityRenderer.html#visualVariables) */ - visualVariables?: ScaleDependentStops[]; + visualVariables?: VisualVariableProperties[]; } export interface DotDensityRendererLegendOptions extends Object { @@ -23913,7 +24840,7 @@ declare namespace __esri { */ minPixelIntensity: number; /** - * The type of renderer. For HeatmapRenderer this value is always `heatmap`. + * The type of renderer. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-HeatmapRenderer.html#type) */ @@ -23989,7 +24916,7 @@ declare namespace __esri { minPixelIntensity?: number; } - interface VisualVariablesRenderer { + interface VisualVariablesMixin { /** * An array of [VisualVariable](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-visualVariables-VisualVariable.html) objects. Each object must indicate the type of visual variable to apply (e.g. [ColorVisualVariable](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-visualVariables-ColorVariable.html), [SizeVisualVariable](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-visualVariables-SizeVariable.html), [OpacityVisualVariable](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-visualVariables-OpacityVariable.html), [RotationVisualVariable](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-visualVariables-RotationVariable.html)), the numeric field or expression from which to drive the visualization, and the visual values to map to the data. The following list identifies each visual variable type and provides a link to the specification table of each. * @@ -24039,20 +24966,20 @@ declare namespace __esri { * See the [Thematic visualization with realistic 3D symbols](https://developers.arcgis.com/javascript/latest/sample-code/visualization-trees-realistic/index.html) * for an example of using multiple visual variables to visualize your data. * - * > **Known Limitations** Color and opacity visual variables must not have more than 8 stops and size visual variables must not have more than 6 stops. This does not apply to variables driven by view scale. + * > **Known Limitations** Color and opacity visual variables must not have more than 8 stops and size visual variables must not have more than 6 stops. This does not apply to variables driven by view scale. For apps where users can interactively change the `field` or `valueExpression` of a visual variable, we suggest you include all potential fields referenced by visual variables in the [outFields](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html#outFields) of the layer. This ensures the best user experience when switching or updating fields in renderers. * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-mixins-VisualVariablesRenderer.html#visualVariables) + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-mixins-VisualVariablesMixin.html#visualVariables) */ visualVariables: VisualVariable[]; } - interface VisualVariablesRendererConstructor { - new (): VisualVariablesRenderer; + interface VisualVariablesMixinConstructor { + new (): VisualVariablesMixin; } - export const VisualVariablesRenderer: VisualVariablesRendererConstructor; + export const VisualVariablesMixin: VisualVariablesMixinConstructor; - interface VisualVariablesRendererProperties { + interface VisualVariablesMixinProperties { /** * An array of [VisualVariable](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-visualVariables-VisualVariable.html) objects. Each object must indicate the type of visual variable to apply (e.g. [ColorVisualVariable](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-visualVariables-ColorVariable.html), [SizeVisualVariable](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-visualVariables-SizeVariable.html), [OpacityVisualVariable](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-visualVariables-OpacityVariable.html), [RotationVisualVariable](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-visualVariables-RotationVariable.html)), the numeric field or expression from which to drive the visualization, and the visual values to map to the data. The following list identifies each visual variable type and provides a link to the specification table of each. * @@ -24102,9 +25029,9 @@ declare namespace __esri { * See the [Thematic visualization with realistic 3D symbols](https://developers.arcgis.com/javascript/latest/sample-code/visualization-trees-realistic/index.html) * for an example of using multiple visual variables to visualize your data. * - * > **Known Limitations** Color and opacity visual variables must not have more than 8 stops and size visual variables must not have more than 6 stops. This does not apply to variables driven by view scale. + * > **Known Limitations** Color and opacity visual variables must not have more than 8 stops and size visual variables must not have more than 6 stops. This does not apply to variables driven by view scale. For apps where users can interactively change the `field` or `valueExpression` of a visual variable, we suggest you include all potential fields referenced by visual variables in the [outFields](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html#outFields) of the layer. This ensures the best user experience when switching or updating fields in renderers. * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-mixins-VisualVariablesRenderer.html#visualVariables) + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-mixins-VisualVariablesMixin.html#visualVariables) */ visualVariables?: VisualVariableProperties[]; } @@ -24123,13 +25050,13 @@ declare namespace __esri { */ field: string; /** - * A transform that is applied to the field value before evaluating the renderer. **Possible Values:** none | low-four-bit | high-four-bit | absolute-value | modulo-ten + * A transform that is applied to the field value before evaluating the renderer. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-PointCloudClassBreaksRenderer.html#fieldTransformType) * * @default null */ - fieldTransformType: string; + fieldTransformType: "none" | "low-four-bit" | "high-four-bit" | "absolute-value" | "modulo-ten"; /** * An object providing options for displaying the renderer in the Legend. * @@ -24137,7 +25064,7 @@ declare namespace __esri { */ legendOptions: PointCloudClassBreaksRendererLegendOptions; /** - * The type of renderer. For PointCloudClassBreaksRenderer this value is always `point-cloud-class-breaks`. + * The type of renderer. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-PointCloudClassBreaksRenderer.html#type) */ @@ -24181,13 +25108,13 @@ declare namespace __esri { */ field?: string; /** - * A transform that is applied to the field value before evaluating the renderer. **Possible Values:** none | low-four-bit | high-four-bit | absolute-value | modulo-ten + * A transform that is applied to the field value before evaluating the renderer. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-PointCloudClassBreaksRenderer.html#fieldTransformType) * * @default null */ - fieldTransformType?: string; + fieldTransformType?: "none" | "low-four-bit" | "high-four-bit" | "absolute-value" | "modulo-ten"; /** * An object providing options for displaying the renderer in the Legend. * @@ -24254,11 +25181,11 @@ declare namespace __esri { */ pointsPerInch: number; /** - * The point cloud renderer type. **Possible values:** point-cloud-class-breaks | point-cloud-rgb | point-cloud-stretch | point-cloud-unique-value + * The point cloud renderer type. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-PointCloudRenderer.html#type) */ - readonly type: string; + readonly type: "point-cloud-class-breaks" | "point-cloud-rgb" | "point-cloud-stretch" | "point-cloud-unique-value"; /** * Creates a deep clone of the renderer. @@ -24363,7 +25290,7 @@ declare namespace __esri { */ field: string; /** - * The type of Renderer. For PointCloudRGBRenderer this value is always `point-cloud-rgb`. + * The type of Renderer. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-PointCloudRGBRenderer.html#type) */ @@ -24410,13 +25337,13 @@ declare namespace __esri { */ field: string; /** - * A transform that is applied to the field value before evaluating the renderer. **Possible Values:** none | low-four-bit | high-four-bit | absolute-value | modulo-ten + * A transform that is applied to the field value before evaluating the renderer. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-PointCloudStretchRenderer.html#fieldTransformType) * * @default null */ - fieldTransformType: string; + fieldTransformType: "none" | "low-four-bit" | "high-four-bit" | "absolute-value" | "modulo-ten"; /** * An object providing options for displaying the renderer in the Legend. * @@ -24430,7 +25357,7 @@ declare namespace __esri { */ stops: PointCloudStretchRendererStops[]; /** - * The type of Renderer. For PointCloudStretchRenderer this value is always `point-cloud-stretch`. + * The type of Renderer. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-PointCloudStretchRenderer.html#type) */ @@ -24468,13 +25395,13 @@ declare namespace __esri { */ field?: string; /** - * A transform that is applied to the field value before evaluating the renderer. **Possible Values:** none | low-four-bit | high-four-bit | absolute-value | modulo-ten + * A transform that is applied to the field value before evaluating the renderer. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-PointCloudStretchRenderer.html#fieldTransformType) * * @default null */ - fieldTransformType?: string; + fieldTransformType?: "none" | "low-four-bit" | "high-four-bit" | "absolute-value" | "modulo-ten"; /** * An object providing options for displaying the renderer in the Legend. * @@ -24533,13 +25460,13 @@ declare namespace __esri { */ field: string; /** - * A transform that is applied to the field value before evaluating the renderer. **Possible Values:** none | low-four-bit | high-four-bit | absolute-value | modulo-ten + * A transform that is applied to the field value before evaluating the renderer. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-PointCloudUniqueValueRenderer.html#fieldTransformType) * * @default null */ - fieldTransformType: string; + fieldTransformType: "none" | "low-four-bit" | "high-four-bit" | "absolute-value" | "modulo-ten"; /** * An object providing options for displaying the renderer in the Legend. * @@ -24547,7 +25474,7 @@ declare namespace __esri { */ legendOptions: PointCloudUniqueValueRendererLegendOptions; /** - * The type of Renderer. For PointCloudUniqueValueRenderer this value is always `point-cloud-unique-value`. + * The type of Renderer. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-PointCloudUniqueValueRenderer.html#type) */ @@ -24591,13 +25518,13 @@ declare namespace __esri { */ field?: string; /** - * A transform that is applied to the field value before evaluating the renderer. **Possible Values:** none | low-four-bit | high-four-bit | absolute-value | modulo-ten + * A transform that is applied to the field value before evaluating the renderer. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-PointCloudUniqueValueRenderer.html#fieldTransformType) * * @default null */ - fieldTransformType?: string; + fieldTransformType?: "none" | "low-four-bit" | "high-four-bit" | "absolute-value" | "modulo-ten"; /** * An object providing options for displaying the renderer in the Legend. * @@ -24636,6 +25563,217 @@ declare namespace __esri { title?: string; } + interface RasterStretchRenderer extends Accessor, JSONSupport { + /** + * The stretched values are mapped to this specified color ramp. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html#colorRamp) + */ + colorRamp: ColorRamp; + /** + * The computeGamma automatically calculates best gamma value to render exported image based on empirical model. This is applicable to any stretch type when [useGamma](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html#useGamma) is `true`. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html#computeGamma) + * + * @default false + */ + computeGamma: boolean; + /** + * When Dynamic Range Adjustment is `true`, the statistics based on the current display extent are calculated as you zoom and pan around the image. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html#dynamicRangeAdjustment) + */ + dynamicRangeAdjustment: boolean; + /** + * The gamma values to be used if [useGamma](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html#useGamma) is set to `false`. Gamma refers to the degree of contrast between the mid-level gray values of a raster dataset. Gamma does not affect the black or white values in a raster dataset, only the middle values. By applying a gamma correction, you can control the overall brightness of an [ImageryLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-ImageryLayer.html). + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html#gamma) + */ + gamma: number[]; + /** + * Applicable when [stretchType](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html#stretchType) is percent-clip. Specifies the percentage of the highest values to exclude from the stretch. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html#maxPercent) + */ + maxPercent: number; + /** + * Applicable when [stretchType](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html#stretchType) is percent-clip. Specifies the percentage of the lowest values to exclude from the stretch. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html#minPercent) + */ + minPercent: number; + /** + * Applicable when [stretchType](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html#stretchType) is standard-deviation. Specifies the number of standard deviations to use. The values beyond the number of standard deviations become the [outputMin](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html#outputMin) and [outputMax](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html#outputMax). The remaining values are linearly stretched between [outputMin](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html#outputMin) and [outputMax](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html#outputMax). + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html#numberOfStandardDeviations) + */ + numberOfStandardDeviations: number; + /** + * The outputMax denotes the Output Maximum, which is the highest pixel value for the histogram. The [outputMin](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html#outputMin) and [outputMax](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html#outputMax) will set the range of values that will then be linearly contrast stretched. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html#outputMax) + */ + outputMax: number; + /** + * The outputMin denotes the Output Minimum, which is the lowest pixel value for the histogram. The [outputMin](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html#outputMin) and [outputMax](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html#outputMax) will set the range of values that will then be linearly contrast stretched. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html#outputMin) + */ + outputMin: number; + /** + * The Strength Level determines how much of the sigmoidal function will be used in the stretch. A low value such as 1 will only use the middle portion of the curve, which tends to produce dull and faint colors. A high value such as 6 will use the entire curve, which tends to produce bold and sharp colors. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html#sigmoidStrengthLevel) + */ + sigmoidStrengthLevel: number; + /** + * The stretch type defines a histogram stretch that will be applied to the rasters to enhance their appearance. Stretching improves the appearance of the data by spreading the pixel values along a histogram from the minimum and maximum values defined by their bit depth. For example, an 8-bit raster dataset or mosaic dataset will be stretched from 0 to 255. Different stretches will produce different results in the raster display. The possible stretch types are listed below. + * + * Value | Description + * ------|------------ + * none | No stretch method will be applied, even if statistics exist. + * standard-deviation | This stretch type applies a linear stretch between the values defined by the standard deviation value. + * histogram-equalization | The pixel values are stretched to adjust the contrast using the histogram of the data. + * min-max | This stretch type applies a linear stretch based on the output minimum and output maximum pixel values, which are used as the endpoints for the histogram. + * percent-clip | This stretch type applies a linear stretch between the defined [minPercent](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html#minPercent) and [maxPercent](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html#maxPercent) pixel values. + * sigmoid | The Sigmoid contrast stretch is designed to highlight moderate pixel values in your imagery while maintaining sufficient contrast at the extremes. + * + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html#stretchType) + * + * @default none + */ + stretchType: "none" | "standard-deviation" | "histogram-equalization" | "min-max" | "percent-clip" | "sigmoid"; + /** + * The type of Renderer. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html#type) + */ + readonly type: "raster-stretch"; + /** + * Denotes wether the [gamma](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html#gamma) value should be used. When `useGamma` is `false`, the gamma is calculated from the statistics and histogram of the data. The [gamma](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html#gamma) property is required if `useGamma` is `true`. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html#useGamma) + * + * @default false + */ + useGamma: boolean; + + /** + * Creates a deep clone of the renderer. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html#clone) + * + * + */ + clone(): RasterStretchRenderer; + } + + interface RasterStretchRendererConstructor { + /** + * RasterStretchRenderer defines the symbology with a gradual ramp of colors for each pixel in a [ImageryLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-ImageryLayer.html) based on the pixel value. The RasterStretchRenderer works well when you have a large range of values to display, such as in imagery, aerial photographs, or elevation models. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html) + */ + + new (properties?: RasterStretchRendererProperties): RasterStretchRenderer; + + fromJSON(json: any): RasterStretchRenderer; + } + + export const RasterStretchRenderer: RasterStretchRendererConstructor; + + interface RasterStretchRendererProperties { + /** + * The stretched values are mapped to this specified color ramp. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html#colorRamp) + */ + colorRamp?: ColorRampProperties; + /** + * The computeGamma automatically calculates best gamma value to render exported image based on empirical model. This is applicable to any stretch type when [useGamma](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html#useGamma) is `true`. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html#computeGamma) + * + * @default false + */ + computeGamma?: boolean; + /** + * When Dynamic Range Adjustment is `true`, the statistics based on the current display extent are calculated as you zoom and pan around the image. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html#dynamicRangeAdjustment) + */ + dynamicRangeAdjustment?: boolean; + /** + * The gamma values to be used if [useGamma](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html#useGamma) is set to `false`. Gamma refers to the degree of contrast between the mid-level gray values of a raster dataset. Gamma does not affect the black or white values in a raster dataset, only the middle values. By applying a gamma correction, you can control the overall brightness of an [ImageryLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-ImageryLayer.html). + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html#gamma) + */ + gamma?: number[]; + /** + * Applicable when [stretchType](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html#stretchType) is percent-clip. Specifies the percentage of the highest values to exclude from the stretch. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html#maxPercent) + */ + maxPercent?: number; + /** + * Applicable when [stretchType](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html#stretchType) is percent-clip. Specifies the percentage of the lowest values to exclude from the stretch. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html#minPercent) + */ + minPercent?: number; + /** + * Applicable when [stretchType](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html#stretchType) is standard-deviation. Specifies the number of standard deviations to use. The values beyond the number of standard deviations become the [outputMin](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html#outputMin) and [outputMax](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html#outputMax). The remaining values are linearly stretched between [outputMin](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html#outputMin) and [outputMax](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html#outputMax). + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html#numberOfStandardDeviations) + */ + numberOfStandardDeviations?: number; + /** + * The outputMax denotes the Output Maximum, which is the highest pixel value for the histogram. The [outputMin](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html#outputMin) and [outputMax](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html#outputMax) will set the range of values that will then be linearly contrast stretched. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html#outputMax) + */ + outputMax?: number; + /** + * The outputMin denotes the Output Minimum, which is the lowest pixel value for the histogram. The [outputMin](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html#outputMin) and [outputMax](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html#outputMax) will set the range of values that will then be linearly contrast stretched. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html#outputMin) + */ + outputMin?: number; + /** + * The Strength Level determines how much of the sigmoidal function will be used in the stretch. A low value such as 1 will only use the middle portion of the curve, which tends to produce dull and faint colors. A high value such as 6 will use the entire curve, which tends to produce bold and sharp colors. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html#sigmoidStrengthLevel) + */ + sigmoidStrengthLevel?: number; + /** + * The stretch type defines a histogram stretch that will be applied to the rasters to enhance their appearance. Stretching improves the appearance of the data by spreading the pixel values along a histogram from the minimum and maximum values defined by their bit depth. For example, an 8-bit raster dataset or mosaic dataset will be stretched from 0 to 255. Different stretches will produce different results in the raster display. The possible stretch types are listed below. + * + * Value | Description + * ------|------------ + * none | No stretch method will be applied, even if statistics exist. + * standard-deviation | This stretch type applies a linear stretch between the values defined by the standard deviation value. + * histogram-equalization | The pixel values are stretched to adjust the contrast using the histogram of the data. + * min-max | This stretch type applies a linear stretch based on the output minimum and output maximum pixel values, which are used as the endpoints for the histogram. + * percent-clip | This stretch type applies a linear stretch between the defined [minPercent](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html#minPercent) and [maxPercent](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html#maxPercent) pixel values. + * sigmoid | The Sigmoid contrast stretch is designed to highlight moderate pixel values in your imagery while maintaining sufficient contrast at the extremes. + * + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html#stretchType) + * + * @default none + */ + stretchType?: "none" | "standard-deviation" | "histogram-equalization" | "min-max" | "percent-clip" | "sigmoid"; + /** + * Denotes wether the [gamma](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html#gamma) value should be used. When `useGamma` is `false`, the gamma is calculated from the statistics and histogram of the data. The [gamma](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html#gamma) property is required if `useGamma` is `true`. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html#useGamma) + * + * @default false + */ + useGamma?: boolean; + } + interface Renderer extends Accessor, JSONSupport { /** * Authoring metadata only included in renderers generated from one of the Smart Mapping creator methods, such as [sizeRendererCreator.createContinuousRenderer()](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-size.html#createContinuousRenderer) or [colorRendererCreator.createContinuousRenderer()](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-color.html#createContinuousRenderer). This includes information from UI elements such as sliders and selected classification methods and themes. This allows the authoring clients to save specific overridable settings so that next time it is accessed via the UI, their selections can be remembered. @@ -24674,7 +25812,7 @@ declare namespace __esri { authoringInfo?: AuthoringInfoProperties; } - interface SimpleRenderer extends Renderer, VisualVariablesRenderer { + interface SimpleRenderer extends Renderer, VisualVariablesMixin { /** * The label for the renderer. This describes what features with the given [symbol](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-SimpleRenderer.html#symbol) represent in the real world. This will display next to the layer's [symbol](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-SimpleRenderer.html#symbol) inside the [Legend](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Legend.html) widget. This text is not displayed in the [Legend](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Legend.html) when [visualVariables](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-SimpleRenderer.html#visualVariables) are used. When the renderer contains [visualVariables](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-SimpleRenderer.html#visualVariables), you should set the `title` property in `legendOptions` on each visual variable to describe the visualization. * @@ -24688,7 +25826,7 @@ declare namespace __esri { */ symbol: Symbol; /** - * The type of renderer. For SimpleRenderer this value is always `simple`. + * The type of renderer. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-SimpleRenderer.html#type) */ @@ -24718,7 +25856,7 @@ declare namespace __esri { export const SimpleRenderer: SimpleRendererConstructor; - interface SimpleRendererProperties extends RendererProperties, VisualVariablesRendererProperties { + interface SimpleRendererProperties extends RendererProperties, VisualVariablesMixinProperties { /** * The label for the renderer. This describes what features with the given [symbol](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-SimpleRenderer.html#symbol) represent in the real world. This will display next to the layer's [symbol](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-SimpleRenderer.html#symbol) inside the [Legend](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Legend.html) widget. This text is not displayed in the [Legend](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Legend.html) when [visualVariables](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-SimpleRenderer.html#visualVariables) are used. When the renderer contains [visualVariables](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-SimpleRenderer.html#visualVariables), you should set the `title` property in `legendOptions` on each visual variable to describe the visualization. * @@ -24746,11 +25884,11 @@ declare namespace __esri { * * @param params Input parameters for generating a continuous color visualization of age for time data returned from start and/or end date field(s). See the table below for details of each parameter. * @param params.layer The layer for which the visualization is generated. - * @param params.view The view instance in which the visualization will be rendered. + * @param params.view The view where the input layer is rendered. This method inspects the view's background (i.e. basemap, web map background, or view container) to determine optimal colors for the output renderer. + * @param params.basemap The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. Determines optimal colors for the output renderer. * @param params.startTime The name of the field, or a date value representing the start time in the age calculation. If a date value is specified, then the `endTime` parameter must reference a Date field in the layer. * @param params.endTime The name of the field, or a date value representing the end time in the age calculation. If a date value is specified, then the `startTime` parameter must reference a Date field in the layer. * @param params.unit The time unit used to calculate the difference between `endTime` and `startTime`. If a unit is not specified, then a suggested unit is determined based on the spread and distribution of the data. **Possible Values:** years | months | days | hours | minutes | seconds - * @param params.basemap The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. * @param params.theme * Determines which values will be emphasized in the continuous ramp and the map. Possible values are listed below. * @@ -24791,6 +25929,8 @@ declare namespace __esri { * * @param params Input parameters for generating a classed color visualization based on data returned from a given field or expression. See the table below for details of each parameter. * @param params.layer The layer for which the visualization is generated. + * @param params.view The view where the input layer is rendered. This method inspects the view's background (i.e. basemap, web map background, or view container) to determine optimal colors for the output renderer. This parameter should always be set in practice, but if not provided this method will assume the generated renderer will display on a light background. This parameter is required when creating renderers using a `valueExpression` or for renderers intended for display in a SceneView. + * @param params.basemap The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. Determines optimal colors for the output renderer. * @param params.field The name of the field whose data will be queried for statistics and classified. This property is ignored if a `valueExpression` is used. * @param params.normalizationField The name of the field to normalize the values of the given `field`. Providing a normalization field helps minimize some visualization errors and standardizes the data so all features are visualized with minimal bias due to area differences or count variation. This option is commonly used when visualizing densities. * @param params.normalizationType With the exception of `log` normalization, data normalization creates a ratio by dividing two values. When comparing attribute values between features, normalization minimizes the effect of varying map areas and the number of observations. For example, dividing the 18 to 30 year old population by the area of a polygon feature yields a density value that can be compared evenly with other features, regardless of their size. @@ -24803,7 +25943,6 @@ declare namespace __esri { * percent-of-total | Divides the data value by the sum of all data values then multiplies by 100. Use `normalizationTotal` to define the total value by which to normalize. This value is set by default if the `normalizationTotal` is provided. * * @param params.normalizationTotal When `normalizationType` is `percent-of-total`, this property contains the total of all data values. - * @param params.basemap The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. * @param params.classificationMethod * The classification method used for generating breaks. See the table below for a list of possible values. * @@ -24825,7 +25964,6 @@ declare namespace __esri { * @param params.minValue A minimum value set by the user. Use this in conjunction with `maxValue` to generate class breaks between lower and upper bounds. This will be the lower bound of the lowest class break. * @param params.maxValue A maximum value set by the user. Use this in conjunction with `minValue` to generate class breaks between lower and upper bounds. This will be the upper bound of the highest class break. * @param params.defaultSymbolEnabled Enables the `defaultSymbol` on the renderer and assigns it to features with no value and features that do not fall within the configured data range. - * @param params.view The view instance in which the visualization will be rendered. A [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html) is required if `symbolType = "3d-volumetric"` or `3d-volumetric-uniform`. The relevant SceneView or [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) is required when a `valueExpression` is specified. * @param params.symbolType * The type of symbol to generate. This depends on the view in which you are working and the desired visualization. This parameter does not need to be specified for layers with a `mesh` geometry type. Possible values are described below. * @@ -24852,9 +25990,10 @@ declare namespace __esri { * * @param params Input parameters for generating a continuous color visualization based on data returned from a given field or expression. See the table below for details of each parameter. * @param params.layer The layer for which the visualization is generated. + * @param params.view The view where the input layer is rendered. This method inspects the view's background (i.e. basemap, web map background, or view container) to determine optimal colors for the output renderer. This parameter should always be set in practice, but if not provided this method will assume the generated renderer will display on a light background. This parameter is required when creating renderers using a `valueExpression` or for renderers intended for display in a SceneView. + * @param params.basemap The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. Determines optimal colors for the output renderer. * @param params.field The name of the field whose data will be queried for statistics and used for the basis of the data-driven visualization. This property is ignored if a `valueExpression` is used. * @param params.normalizationField The name of the field to normalize the values of the given `field`. Providing a normalization field helps minimize some visualization errors and standardizes the data so all features are visualized with minimal bias due to area differences or count variation. This option is commonly used when visualizing densities. - * @param params.basemap The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. * @param params.theme * Determines which values will be emphasized in the continuous ramp and the map. Possible values are listed below. * @@ -24875,7 +26014,6 @@ declare namespace __esri { * @param params.minValue A custom minimum value set by the user. Use this in conjunction with `maxValue` to generate statistics between lower and upper bounds. This will be the lowest stop in the returned color visual variable. * @param params.maxValue A custom maximum value set by the user. Use this in conjunction with `minValue` to generate statistics between lower and upper bounds. This will be the uppermost stop in the returned color visual variable. * @param params.defaultSymbolEnabled Enables the `defaultSymbol` on the renderer and assigns it to features with no value and features that do not fall within the configured data range. - * @param params.view The view instance in which the visualization will be rendered. A [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html) is required if `symbolType = "3d-volumetric"` or `3d-volumetric-uniform`. The relevant SceneView or [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) is required when a `valueExpression` is specified. * @param params.symbolType * The type of symbol to generate. This depends on the view in which you are working and the desired visualization. This parameter does not need to be specified for layers with a `mesh` geometry type. Possible values are described below. * @@ -24930,9 +26068,10 @@ declare namespace __esri { * * @param params Input parameters for generating a color visual variable based on data returned from a given field or expression. See the table below for details of each parameter. * @param params.layer The layer for which the visual variable is generated. + * @param params.view The view where the input layer is rendered. This method inspects the view's background (i.e. basemap, web map background, or view container) to determine optimal colors for the output renderer. This parameter should always be set in practice, but if not provided this method will assume the generated renderer will display on a light background. This parameter is required when creating renderers using a `valueExpression` or for renderers intended for display in a SceneView. + * @param params.basemap The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. Determines optimal colors for the output renderer. * @param params.field The name of the field whose data will be queried for statistics and used for the basis of the data-driven visualization. This property is ignored if a `valueExpression` is used. * @param params.normalizationField The name of the field to normalize the values of the given `field`. Providing a normalization field helps minimize some visualization errors and standardizes the data so all features are visualized with minimal bias due to area differences or count variation. This option is commonly used when visualizing densities. - * @param params.basemap The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. * @param params.theme * Determines which values will be emphasized in the continuous ramp and the map. Possible values are listed below. * @@ -24951,7 +26090,6 @@ declare namespace __esri { * @param params.statistics A statistics object generated from the [summaryStatistics](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-statistics-summaryStatistics.html) function. If statistics for the field have already been generated, then pass the object here to avoid making a second statistics query to the server. * @param params.minValue A custom minimum value set by the user. Use this in conjunction with `maxValue` to generate statistics between lower and upper bounds. This will be the lowest stop in the returned color visual variable. * @param params.maxValue A custom maximum value set by the user. Use this in conjunction with `minValue` to generate statistics between lower and upper bounds. This will be the uppermost stop in the returned color visual variable. - * @param params.view When generating 3D symbols (except for layers with a `mesh` geometry type), a [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html) instance is required. The relevant SceneView or [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) is required when a `valueExpression` is specified. * @param params.worldScale Indicates if the size units of the symbols will be in meters. This should be `true` when generating visualizations with 3D volumetric symbology, except for layers with a `mesh` geometry type. A `view` must be provided if this property is set to `true`. * */ @@ -25008,6 +26146,12 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-color.html#AgeRendererResult) */ basemapId: string; + /** + * Indicates whether the average color of the input view's basemap is `light` or `dark`. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-color.html#AgeRendererResult) + */ + basemapTheme: string; } /** @@ -25046,6 +26190,12 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-color.html#ClassBreaksRendererResult) */ basemapId: string; + /** + * Indicates whether the average color of the input view's basemap is `light` or `dark`. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-color.html#ClassBreaksRendererResult) + */ + basemapTheme: string; } export interface colorCreateAgeRendererParams extends Object { @@ -25056,11 +26206,19 @@ declare namespace __esri { */ layer: FeatureLayer | SceneLayer | CSVLayer | GeoJSONLayer; /** - * The view instance in which the visualization will be rendered. + * The view where the input layer is rendered. This method inspects the view's background (i.e. basemap, web map background, or view container) to determine optimal colors for the output renderer. * * [Read more...](global.html) */ view: View; + /** + * The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. Determines optimal colors for the output renderer. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-color.html#createAgeRenderer) + * + * @default gray + */ + basemap?: string | Basemap; /** * The name of the field, or a date value representing the start time in the age calculation. If a date value is specified, then the `endTime` parameter must reference a Date field in the layer. * @@ -25079,14 +26237,6 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-color.html#createAgeRenderer) */ unit?: string; - /** - * The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-color.html#createAgeRenderer) - * - * @default gray - */ - basemap?: string | Basemap; /** * Determines which values will be emphasized in the continuous ramp and the map. Possible values are listed below. * @@ -25189,6 +26339,20 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-color.html#createClassBreaksRenderer) */ layer: FeatureLayer | SceneLayer | CSVLayer | GeoJSONLayer; + /** + * The view where the input layer is rendered. This method inspects the view's background (i.e. basemap, web map background, or view container) to determine optimal colors for the output renderer. This parameter should always be set in practice, but if not provided this method will assume the generated renderer will display on a light background. This parameter is required when creating renderers using a `valueExpression` or for renderers intended for display in a SceneView. + * + * [Read more...](global.html) + */ + view?: View; + /** + * The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. Determines optimal colors for the output renderer. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-color.html#createClassBreaksRenderer) + * + * @default gray + */ + basemap?: string | Basemap; /** * The name of the field whose data will be queried for statistics and classified. This property is ignored if a `valueExpression` is used. * @@ -25221,14 +26385,6 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-color.html#createClassBreaksRenderer) */ normalizationTotal?: number; - /** - * The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-color.html#createClassBreaksRenderer) - * - * @default gray - */ - basemap?: string | Basemap; /** * The classification method used for generating breaks. See the table below for a list of possible values. * @@ -25325,12 +26481,6 @@ declare namespace __esri { * @default true */ defaultSymbolEnabled?: boolean; - /** - * The view instance in which the visualization will be rendered. A [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html) is required if `symbolType = "3d-volumetric"` or `3d-volumetric-uniform`. The relevant SceneView or [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) is required when a `valueExpression` is specified. - * - * [Read more...](global.html) - */ - view?: View; /** * The type of symbol to generate. This depends on the view in which you are working and the desired visualization. This parameter does not need to be specified for layers with a `mesh` geometry type. Possible values are described below. * @@ -25379,6 +26529,20 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-color.html#createContinuousRenderer) */ layer: FeatureLayer | SceneLayer | CSVLayer | GeoJSONLayer; + /** + * The view where the input layer is rendered. This method inspects the view's background (i.e. basemap, web map background, or view container) to determine optimal colors for the output renderer. This parameter should always be set in practice, but if not provided this method will assume the generated renderer will display on a light background. This parameter is required when creating renderers using a `valueExpression` or for renderers intended for display in a SceneView. + * + * [Read more...](global.html) + */ + view?: View; + /** + * The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. Determines optimal colors for the output renderer. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-color.html#createContinuousRenderer) + * + * @default gray + */ + basemap?: string | Basemap; /** * The name of the field whose data will be queried for statistics and used for the basis of the data-driven visualization. This property is ignored if a `valueExpression` is used. * @@ -25391,14 +26555,6 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-color.html#createContinuousRenderer) */ normalizationField?: string; - /** - * The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-color.html#createContinuousRenderer) - * - * @default gray - */ - basemap?: string | Basemap; /** * Determines which values will be emphasized in the continuous ramp and the map. Possible values are listed below. * @@ -25483,12 +26639,6 @@ declare namespace __esri { * @default true */ defaultSymbolEnabled?: boolean; - /** - * The view instance in which the visualization will be rendered. A [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html) is required if `symbolType = "3d-volumetric"` or `3d-volumetric-uniform`. The relevant SceneView or [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) is required when a `valueExpression` is specified. - * - * [Read more...](global.html) - */ - view?: View; /** * The type of symbol to generate. This depends on the view in which you are working and the desired visualization. This parameter does not need to be specified for layers with a `mesh` geometry type. Possible values are described below. * @@ -25619,6 +26769,20 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-color.html#createVisualVariable) */ layer: FeatureLayer | SceneLayer | CSVLayer | GeoJSONLayer; + /** + * The view where the input layer is rendered. This method inspects the view's background (i.e. basemap, web map background, or view container) to determine optimal colors for the output renderer. This parameter should always be set in practice, but if not provided this method will assume the generated renderer will display on a light background. This parameter is required when creating renderers using a `valueExpression` or for renderers intended for display in a SceneView. + * + * [Read more...](global.html) + */ + view?: View; + /** + * The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. Determines optimal colors for the output renderer. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-color.html#createVisualVariable) + * + * @default gray + */ + basemap?: string | Basemap; /** * The name of the field whose data will be queried for statistics and used for the basis of the data-driven visualization. This property is ignored if a `valueExpression` is used. * @@ -25631,14 +26795,6 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-color.html#createVisualVariable) */ normalizationField?: string; - /** - * The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-color.html#createVisualVariable) - * - * @default gray - */ - basemap?: string | Basemap; /** * Determines which values will be emphasized in the continuous ramp and the map. Possible values are listed below. * @@ -25707,12 +26863,6 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-color.html#createVisualVariable) */ maxValue?: number; - /** - * When generating 3D symbols (except for layers with a `mesh` geometry type), a [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html) instance is required. The relevant SceneView or [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) is required when a `valueExpression` is specified. - * - * [Read more...](global.html) - */ - view?: View; /** * Indicates if the size units of the symbols will be in meters. This should be `true` when generating visualizations with 3D volumetric symbology, except for layers with a `mesh` geometry type. A `view` must be provided if this property is set to `true`. * @@ -25778,6 +26928,12 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-color.html#ContinuousRendererResult) */ basemapId: string; + /** + * Indicates whether the average color of the input view's basemap is `light` or `dark`. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-color.html#ContinuousRendererResult) + */ + basemapTheme: string; } /** @@ -25816,6 +26972,12 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-color.html#PCContinuousRendererResult) */ basemapId: string; + /** + * Indicates whether the average color of the input view's basemap is `light` or `dark`. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-color.html#PCContinuousRendererResult) + */ + basemapTheme: string; } /** @@ -25868,6 +27030,12 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-color.html#VisualVariableResult) */ basemapId: string; + /** + * Indicates whether the average color of the input view's basemap is `light` or `dark`. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-color.html#VisualVariableResult) + */ + basemapTheme: string; /** * Authoring information related to the creation of the visual variable. This includes information related to UI inputs from sliders and selected themes. * @@ -25901,7 +27069,7 @@ declare namespace __esri { * @param params.layer The **polygon** layer for which the visualization is generated. * @param params.view The MapView instance in which the visualization will be rendered. * @param params.attributes A set of complementary numeric fields/expressions used as the basis of the dot density visualization. For example, if creating an election map, you would indicate the names of each field representing the candidate or political party where total votes are stored. - * @param params.basemap The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. + * @param params.basemap The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. Determines optimal colors for the output renderer. * @param params.dotValueOptimizationEnabled Indicates whether to vary the value of each dot by the view's scale. This will set the [referenceScale](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-DotDensityRenderer.html#referenceScale) of the output renderer. * @param params.dotBlendingEnabled Indicates whether to enable color blending of different colored dots rendered at the same pixel. This is only visible in highly dense and highly diverse features. * @param params.outlineOptimizationEnabled Indicates whether the polygon outline width should vary based on view scale. When false, no outline will be used in the output renderer. @@ -25934,7 +27102,7 @@ declare namespace __esri { */ attributes: dotDensityCreateRendererParamsAttributes[]; /** - * The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. + * The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. Determines optimal colors for the output renderer. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-dotDensity.html#createRenderer) * @@ -26039,6 +27207,12 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-dotDensity.html#RendererResult) */ basemapId: string; + /** + * Indicates whether the average color of the input view's basemap is `light` or `dark`. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-dotDensity.html#RendererResult) + */ + basemapTheme: string; } /** @@ -26056,7 +27230,7 @@ declare namespace __esri { * @param params.layer The point layer for which the visualization is generated. * @param params.view The view instance in which the visualization will be rendered. * @param params.field The name of the field whose data will be queried for statistics and used for the basis of the data-driven visualization. The value of the `field` is used as a multiplier in the heatmap, making areas with high field values hotter than areas where the features have low field values. - * @param params.basemap The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. + * @param params.basemap The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. Determines optimal colors for the output renderer. * @param params.heatmapScheme In authoring apps, the user may select a pre-defined heatmap scheme. Pass the scheme object to this property to avoid getting one based on the `basemap`. * @param params.statistics A statistics object generated from the [heatmapStatistics](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-statistics-heatmapStatistics.html) function. If statistics for the field have already been generated, then pass the object here to avoid making a second statistics query to the server. * @param params.fadeToTransparent Indicates whether to fade the lower color stops to a transparent color to create a fuzzy boundary on the edge of the heatmap. A value of `false` makes a discrete boundary on the lower color stop. @@ -26090,7 +27264,7 @@ declare namespace __esri { */ field?: string; /** - * The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. + * The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. Determines optimal colors for the output renderer. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-heatmap.html#createRenderer) * @@ -26179,6 +27353,12 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-heatmap.html#HeatmapRendererResult) */ basemapId: string; + /** + * Indicates whether the average color of the input view's basemap is `light` or `dark`. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-heatmap.html#HeatmapRendererResult) + */ + basemapTheme: string; } interface location { @@ -26189,9 +27369,9 @@ declare namespace __esri { * * @param params Input parameters for generating a location-based visualization. See the table below for details of each parameter. * @param params.layer The layer for which the visualization is generated. - * @param params.basemap The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. + * @param params.view The view where the input layer is rendered. This method inspects the view's background (i.e. basemap, web map background, or view container) to determine optimal colors for the output renderer. This parameter should always be set in practice, but if not provided this method will assume the generated renderer will display on a light background. + * @param params.basemap The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. Determines optimal colors for the output renderer. * @param params.locationScheme In authoring apps, the user may select a pre-defined location scheme. Pass the scheme object to this property to avoid getting one based on the `basemap`. - * @param params.view The SceneView instance in which the visualization will be rendered. This parameter is required if `symbolType = "3d-volumetric"`, except for layers with a `mesh` geometryType. * @param params.outlineOptimizationEnabled For polygon layers only. Indicates whether the polygon outline width should vary based on view scale. When set, a valid [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) instance must be provided in the `view` parameter. This option is not supported for 3D [SceneViews](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). * @param params.symbolType * The type of symbol to generate. This depends on the view in which you are working and the desired visualization. This parameter does not need to be specified for layers with a `mesh` geometry type. Possible values are described below. @@ -26206,7 +27386,7 @@ declare namespace __esri { * * Value | Description * ------|------------ - * tint | Applies the symbol `color` to the desaturated geometry/texture color. + * tint | Applies the symbol `color` to the unsaturated geometry/texture color. * replace | Removes the geometry/texture color and applies the symbol `color`. * multiply | Multiplies geometry/texture color value with the symbol `color` value. The result is a darker color. Multiplying with white keeps the geometry color the same. * @@ -26224,7 +27404,13 @@ declare namespace __esri { */ layer: FeatureLayer | SceneLayer | CSVLayer | GeoJSONLayer; /** - * The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. + * The view where the input layer is rendered. This method inspects the view's background (i.e. basemap, web map background, or view container) to determine optimal colors for the output renderer. This parameter should always be set in practice, but if not provided this method will assume the generated renderer will display on a light background. + * + * [Read more...](global.html) + */ + view?: View; + /** + * The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. Determines optimal colors for the output renderer. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-location.html#createRenderer) * @@ -26237,12 +27423,6 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-location.html#createRenderer) */ locationScheme?: LocationScheme; - /** - * The SceneView instance in which the visualization will be rendered. This parameter is required if `symbolType = "3d-volumetric"`, except for layers with a `mesh` geometryType. - * - * [Read more...](global.html) - */ - view?: SceneView; /** * For polygon layers only. Indicates whether the polygon outline width should vary based on view scale. When set, a valid [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) instance must be provided in the `view` parameter. This option is not supported for 3D [SceneViews](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). * @@ -26271,7 +27451,7 @@ declare namespace __esri { * * Value | Description * ------|------------ - * tint | Applies the symbol `color` to the desaturated geometry/texture color. + * tint | Applies the symbol `color` to the unsaturated geometry/texture color. * replace | Removes the geometry/texture color and applies the symbol `color`. * multiply | Multiplies geometry/texture color value with the symbol `color` value. The result is a darker color. Multiplying with white keeps the geometry color the same. * @@ -26307,6 +27487,12 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-location.html#RendererResult) */ basemapId: string; + /** + * Indicates whether the average color of the input view's basemap is `light` or `dark`. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-location.html#RendererResult) + */ + basemapTheme: string; } /** @@ -26481,7 +27667,7 @@ declare namespace __esri { * @param params.layer The layer for which the visualization is generated. * @param params.view The view instance in which the visualization will be rendered. * @param params.fields A set of competing numeric fields used as the basis of the predominance visualization. For example, if creating an election map, you would indicate the names of each field representing the candidate or political party where total votes are stored. - * @param params.basemap The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. + * @param params.basemap The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. Determines optimal colors for the output renderer. * @param params.includeOpacityVariable Indicates whether to include data-driven opacity in the final renderer. If `true`, features where the predominant value beats all others by a large margin are given a high opacity. Features where the predominant value beats others by a small margin will be assigned a low opacity, indicating that while the feature has a winning value, it doesn't win by much. ![predominance-opacity](https://developers.arcgis.com/javascript/assets/img/apiref/renderers/smartmapping/predominance-opacity.png) * @param params.includeSizeVariable Indicates whether to include data-driven size in the final renderer. If `true`, features will be assigned a sized based on the sum of all competing values in the `fields` param. Features with small total counts will be sized with small icons or lines depending on the geometry type of the layer, and features with large total counts will be sized with large icons or lines. Enabling this option is good for visualizing how influential a particular feature is compared to the dataset as a whole. It removes bias introduced by features with large geographic areas, but relatively small data values. ![predominance-size](https://developers.arcgis.com/javascript/assets/img/apiref/renderers/smartmapping/predominance-size.png) * @param params.outlineOptimizationEnabled Only for polygon layers. Indicates whether the polygon outline width should vary based on view scale. When set, a valid [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) instance must be provided in the `view` parameter. This option is not supported for 3D [SceneViews](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). @@ -26542,7 +27728,7 @@ declare namespace __esri { */ fields: predominanceCreateRendererParamsFields[]; /** - * The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. + * The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. Determines optimal colors for the output renderer. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-predominance.html#createRenderer) * @@ -26729,6 +27915,12 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-predominance.html#RendererResult) */ basemapId: string; + /** + * Indicates whether the average color of the input view's basemap is `light` or `dark`. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-predominance.html#RendererResult) + */ + basemapTheme: string; } /** @@ -26766,7 +27958,7 @@ declare namespace __esri { * ![relationship-breaks-2](https://developers.arcgis.com/javascript/assets/img/apiref/renderers/smartmapping/relationship-breaks-2.png) | ![relationship-breaks-3](https://developers.arcgis.com/javascript/assets/img/apiref/renderers/smartmapping/relationship-breaks-3.png) | ![relationship-breaks-4](https://developers.arcgis.com/javascript/assets/img/apiref/renderers/smartmapping/relationship-breaks-4.png) * * **Possible Values:** 2 | 3 | 4 - * @param params.basemap The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. + * @param params.basemap The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. Determines optimal colors for the output renderer. * @param params.outlineOptimizationEnabled For polygon layers only. Indicates whether the polygon outline width should vary based on view scale. When set, a valid [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) instance must be provided in the `view` parameter. This option is not supported for 3D [SceneViews](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). * @param params.legendOptions Provides options for modifying [Legend](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Legend.html) properties describing the visualization. * @param params.relationshipScheme In authoring apps, the user may select a pre-defined relationship scheme. Pass the scheme object to this property to avoid getting one based on the `basemap`. @@ -26889,7 +28081,7 @@ declare namespace __esri { */ numClasses?: number; /** - * The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. + * The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. Determines optimal colors for the output renderer. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-relationship.html#createRenderer) * @@ -27158,6 +28350,12 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-relationship.html#RendererResult) */ basemapId: string; + /** + * Indicates whether the average color of the input view's basemap is `light` or `dark`. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-relationship.html#RendererResult) + */ + basemapTheme: string; } export interface RendererResultClassBreaks extends Object { @@ -27188,11 +28386,11 @@ declare namespace __esri { * * @param params Input parameters for generating a continuous size visualization of age for time data returned from start and/or end date field(s). See the table below for details of each parameter. * @param params.layer The layer for which the visualization is generated. - * @param params.view The view instance in which the visualization will be rendered. + * @param params.view The view where the input layer is rendered. This method inspects the view's background (i.e. basemap, web map background, or view container) to determine optimal colors for the output renderer. * @param params.startTime The name of the field, or a date value representing the start time in the age calculation. If a date value is specified, then the `endTime` parameter must reference a Date field in the layer. * @param params.endTime The name of the field, or a date value representing the end time in the age calculation. If a date value is specified, then the `startTime` parameter must reference a Date field in the layer. * @param params.unit The time unit used to calculate the difference between `endTime` and `startTime`. If a unit is not specified, then a suggested unit is determined based on the spread and distribution of the data. **Possible Values:** years | months | days | hours | minutes | seconds - * @param params.basemap The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. + * @param params.basemap The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. Determines optimal colors for the output renderer. * @param params.outlineOptimizationEnabled Only for polygon layers. Indicates whether the polygon outline width should vary based on view scale. When set, a valid [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) instance must be provided in the `view` parameter. This option is not supported for 3D [SceneViews](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). * @param params.sizeOptimizationEnabled Only for polygon layers in 2D MapViews. Indicates whether icon sizes should vary based on view scale. When set, a valid [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) instance must be provided in the `view` parameter. This option is not supported for 3D [SceneViews](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). * @param params.legendOptions Provides options for modifying [Legend](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Legend.html) properties describing the visualization. @@ -27217,7 +28415,8 @@ declare namespace __esri { * * @param params Input parameters for generating a classed size visualization based on data returned from a given field or expression. See the table below for details of each parameter. * @param params.layer The layer for which the visualization is generated. - * @param params.basemap The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. + * @param params.view The view where the input layer is rendered. This method inspects the view's background (i.e. basemap, web map background, or view container) to determine optimal colors for the output renderer. This parameter should always be set in practice, but if not provided this method will assume the generated renderer will display on a light background. This parameter is required when creating renderers using a `valueExpression` or for renderers intended for display in a SceneView. + * @param params.basemap The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. Determines optimal colors for the output renderer. * @param params.field The name of the field whose data will be queried for statistics and classified. This property is ignored if a `valueExpression` is used. * @param params.normalizationField The name of the field to normalize the values of the given `field`. Providing a normalization field helps minimize some visualization errors and standardizes the data so all features are visualized with minimal bias due to area differences or count variation. This option is commonly used when visualizing densities. * @param params.normalizationType With the exception of `log` normalization, data normalization creates a ratio by dividing two values. When comparing attribute values between features, normalization minimizes the effect of varying map areas and the number of observations. For example, dividing the 18 to 30 year old population by the area of a polygon feature yields a density value that can be compared evenly with other features, regardless of their size. @@ -27251,7 +28450,6 @@ declare namespace __esri { * @param params.minValue A minimum value set by the user. Use this in conjunction with `maxValue` to generate class breaks between lower and upper bounds. This will be the lower bound of the lowest class break. * @param params.maxValue A maximum value set by the user. Use this in conjunction with `minValue` to generate class breaks between lower and upper bounds. This will be the upper bound of the highest class break. * @param params.defaultSymbolEnabled Enables the `defaultSymbol` on the renderer and assigns it to features with no value and features that do not fall within the configured data range. - * @param params.view The view instance in which the visualization will be rendered. A [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html) is required if `symbolType = "3d-volumetric"` or `3d-volumetric-uniform`. The relevant SceneView or [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) is required when a `valueExpression` is specified. * @param params.symbolType * The type of symbol to generate. This depends on the view in which you are working and the desired visualization. Possible values are described below. * @@ -27271,9 +28469,10 @@ declare namespace __esri { * * @param params Input parameters for generating size visual variables based on data returned from a given field or expression. See the table below for details of each parameter. * @param params.layer The layer for which the renderer is generated. + * @param params.view The view where the input layer is rendered. This method inspects the view's background (i.e. basemap, web map background, or view container) to determine optimal colors for the output renderer. This parameter should always be set in practice, but if not provided this method will assume the generated renderer will display on a light background. This parameter is required when creating renderers using a `valueExpression` or for renderers intended for display in a SceneView. + * @param params.basemap The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. Determines optimal colors for the output renderer. * @param params.field The name of the field whose data will be queried for statistics and used for the basis of the data-driven visualization. This property is ignored if a `valueExpression` is used. * @param params.normalizationField The name of the field to normalize the values of the given `field`. Providing a normalization field helps minimize some visualization errors and standardizes the data so all features are visualized with minimal bias due to area differences or count variation. This option is commonly used when visualizing densities. - * @param params.basemap The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. * @param params.sizeScheme In authoring apps, the user may select a pre-defined size scheme. Pass the scheme object to this property to avoid getting one based on the `basemap`. * @param params.valueExpression An [Arcade](https://developers.arcgis.com/javascript/latest/guide/arcade/index.html) expression that returns a number. This expression can reference field values using the `$feature` global variable. This property overrides the `field` property and therefore is used instead of an input `field` value. * @param params.valueExpressionTitle Text describing the value returned from the `valueExpression`. This is used by the [Legend](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Legend.html) widget. @@ -27286,7 +28485,6 @@ declare namespace __esri { * @param params.minValue A custom minimum value set by the user. Use this in conjunction with `maxValue` to generate statistics between lower and upper bounds. This will be the lowest stop in the returned size visual variable. * @param params.maxValue A custom maximum value set by the user. Use this in conjunction with `minValue` to generate statistics between lower and upper bounds. This will be the uppermost stop in the returned size visual variable. * @param params.defaultSymbolEnabled Enables the `defaultSymbol` on the renderer and assigns it to features with no value and features that do not fall within the configured data range. - * @param params.view The view instance in which the visualization will be rendered. A [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html) is required if `symbolType = "3d-volumetric"` or `3d-volumetric-uniform`. The relevant SceneView or [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) is required when a `valueExpression` is specified. * @param params.symbolType * The type of symbol to generate. This depends on the view in which you are working and the desired visualization. Possible values are described below. * @@ -27306,9 +28504,10 @@ declare namespace __esri { * * @param params Input parameters for generating size visual variables based on data returned from a given field or expression. See the table below for details of each parameter. * @param params.layer The layer for which the visual variables are generated. + * @param params.view The view where the input layer is rendered. This method inspects the view's background (i.e. basemap, web map background, or view container) to determine optimal colors for the output renderer. This parameter should always be set in practice, but if not provided this method will assume the generated renderer will display on a light background. This parameter is required when creating renderers using a `valueExpression` or for renderers intended for display in a SceneView. + * @param params.basemap The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. Determines optimal colors for the output renderer. * @param params.field The name of the field whose data will be queried for statistics and used for the basis of the data-driven visualization. This property is ignored if a `valueExpression` is used. * @param params.normalizationField The name of the field to normalize the values of the given `field`. Providing a normalization field helps minimize some visualization errors and standardizes the data so all features are visualized with minimal bias due to area differences or count variation. This option is commonly used when visualizing densities. - * @param params.basemap The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. * @param params.sizeScheme In authoring apps, the user may select a pre-defined size scheme. Pass the scheme object to this property to avoid getting one based on the `basemap`. * @param params.valueExpression An [Arcade](https://developers.arcgis.com/javascript/latest/guide/arcade/index.html) expression that returns a number. This expression can reference field values using the `$feature` global variable. This property overrides the `field` property and therefore is used instead of an input `field` value. * @param params.valueExpressionTitle Text describing the value returned from the `valueExpression`. This is used by the [Legend](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Legend.html) widget. @@ -27319,8 +28518,7 @@ declare namespace __esri { * @param params.statistics A statistics object generated from the [summaryStatistics](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-statistics-summaryStatistics.html) function. If statistics for the field have already been generated, then pass the object here to avoid making a second statistics query to the server. * @param params.minValue A custom minimum value set by the user. Use this in conjunction with `maxValue` to generate statistics between lower and upper bounds. This will be the lowest stop in the returned size visual variable. * @param params.maxValue A custom maximum value set by the user. Use this in conjunction with `minValue` to generate statistics between lower and upper bounds. This will be the uppermost stop in the returned size visual variable. - * @param params.view When generating 3D symbols, a [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html) instance is required. The relevant SceneView or [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) is required when a `valueExpression` is specified. - * @param params.worldScale Indicates if the size units of the symbols will be in meters. This should be `true` when generating visualizations with 3D volumetric symbology. A `view` must be provided if this property is set to `true`. + * @param params.worldScale Indicates if the size units of the symbols will be in meters. This should be `true` when generating visualizations with 3D volumetric symbology. * @param params.axis When set to `all`, a single size variable that scales uniformly in all dimensions is generated. When set to `height`, the result contains two size visual variables: the first one sizes the height according to the field statistics, while the second defines a constant size for width and depth. **Possible Values:** all | height * */ @@ -27377,6 +28575,12 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-size.html#AgeRendererResult) */ basemapId: string; + /** + * Indicates whether the average color of the input view's basemap is `light` or `dark`. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-size.html#AgeRendererResult) + */ + basemapTheme: string; } /** @@ -27415,6 +28619,12 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-size.html#ClassBreaksRendererResult) */ basemapId: string; + /** + * Indicates whether the average color of the input view's basemap is `light` or `dark`. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-size.html#ClassBreaksRendererResult) + */ + basemapTheme: string; } /** @@ -27459,6 +28669,12 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-size.html#ContinuousRendererResult) */ basemapId: string; + /** + * Indicates whether the average color of the input view's basemap is `light` or `dark`. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-size.html#ContinuousRendererResult) + */ + basemapTheme: string; } export interface sizeCreateAgeRendererParams extends Object { @@ -27469,7 +28685,7 @@ declare namespace __esri { */ layer: FeatureLayer | SceneLayer | CSVLayer | GeoJSONLayer; /** - * The view instance in which the visualization will be rendered. + * The view where the input layer is rendered. This method inspects the view's background (i.e. basemap, web map background, or view container) to determine optimal colors for the output renderer. * * [Read more...](global.html) */ @@ -27493,7 +28709,7 @@ declare namespace __esri { */ unit?: string; /** - * The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. + * The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. Determines optimal colors for the output renderer. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-size.html#createAgeRenderer) * @@ -27582,7 +28798,13 @@ declare namespace __esri { */ layer: FeatureLayer | SceneLayer | CSVLayer | GeoJSONLayer; /** - * The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. + * The view where the input layer is rendered. This method inspects the view's background (i.e. basemap, web map background, or view container) to determine optimal colors for the output renderer. This parameter should always be set in practice, but if not provided this method will assume the generated renderer will display on a light background. This parameter is required when creating renderers using a `valueExpression` or for renderers intended for display in a SceneView. + * + * [Read more...](global.html) + */ + view?: View; + /** + * The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. Determines optimal colors for the output renderer. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-size.html#createClassBreaksRenderer) * @@ -27717,12 +28939,6 @@ declare namespace __esri { * @default true */ defaultSymbolEnabled?: boolean; - /** - * The view instance in which the visualization will be rendered. A [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html) is required if `symbolType = "3d-volumetric"` or `3d-volumetric-uniform`. The relevant SceneView or [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) is required when a `valueExpression` is specified. - * - * [Read more...](global.html) - */ - view?: View; /** * The type of symbol to generate. This depends on the view in which you are working and the desired visualization. Possible values are described below. * @@ -27757,6 +28973,20 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-size.html#createContinuousRenderer) */ layer: FeatureLayer | SceneLayer | CSVLayer | GeoJSONLayer; + /** + * The view where the input layer is rendered. This method inspects the view's background (i.e. basemap, web map background, or view container) to determine optimal colors for the output renderer. This parameter should always be set in practice, but if not provided this method will assume the generated renderer will display on a light background. This parameter is required when creating renderers using a `valueExpression` or for renderers intended for display in a SceneView. + * + * [Read more...](global.html) + */ + view?: View; + /** + * The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. Determines optimal colors for the output renderer. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-size.html#createContinuousRenderer) + * + * @default gray + */ + basemap?: string | Basemap; /** * The name of the field whose data will be queried for statistics and used for the basis of the data-driven visualization. This property is ignored if a `valueExpression` is used. * @@ -27769,14 +28999,6 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-size.html#createContinuousRenderer) */ normalizationField?: string; - /** - * The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-size.html#createContinuousRenderer) - * - * @default gray - */ - basemap?: string | Basemap; /** * In authoring apps, the user may select a pre-defined size scheme. Pass the scheme object to this property to avoid getting one based on the `basemap`. * @@ -27855,12 +29077,6 @@ declare namespace __esri { * @default true */ defaultSymbolEnabled?: boolean; - /** - * The view instance in which the visualization will be rendered. A [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html) is required if `symbolType = "3d-volumetric"` or `3d-volumetric-uniform`. The relevant SceneView or [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) is required when a `valueExpression` is specified. - * - * [Read more...](global.html) - */ - view?: View; /** * The type of symbol to generate. This depends on the view in which you are working and the desired visualization. Possible values are described below. * @@ -27901,6 +29117,20 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-size.html#createVisualVariables) */ layer: FeatureLayer | SceneLayer | CSVLayer | GeoJSONLayer; + /** + * The view where the input layer is rendered. This method inspects the view's background (i.e. basemap, web map background, or view container) to determine optimal colors for the output renderer. This parameter should always be set in practice, but if not provided this method will assume the generated renderer will display on a light background. This parameter is required when creating renderers using a `valueExpression` or for renderers intended for display in a SceneView. + * + * [Read more...](global.html) + */ + view?: View; + /** + * The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. Determines optimal colors for the output renderer. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-size.html#createVisualVariables) + * + * @default gray + */ + basemap?: string | Basemap; /** * The name of the field whose data will be queried for statistics and used for the basis of the data-driven visualization. This property is ignored if a `valueExpression` is used. * @@ -27913,14 +29143,6 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-size.html#createVisualVariables) */ normalizationField?: string; - /** - * The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-size.html#createVisualVariables) - * - * @default gray - */ - basemap?: string | Basemap; /** * In authoring apps, the user may select a pre-defined size scheme. Pass the scheme object to this property to avoid getting one based on the `basemap`. * @@ -27984,13 +29206,7 @@ declare namespace __esri { */ maxValue?: number; /** - * When generating 3D symbols, a [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html) instance is required. The relevant SceneView or [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) is required when a `valueExpression` is specified. - * - * [Read more...](global.html) - */ - view?: View; - /** - * Indicates if the size units of the symbols will be in meters. This should be `true` when generating visualizations with 3D volumetric symbology. A `view` must be provided if this property is set to `true`. + * Indicates if the size units of the symbols will be in meters. This should be `true` when generating visualizations with 3D volumetric symbology. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-size.html#createVisualVariables) */ @@ -28056,6 +29272,12 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-size.html#VisualVariableResult) */ basemapId: string; + /** + * Indicates whether the average color of the input view's basemap is `light` or `dark`. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-size.html#VisualVariableResult) + */ + basemapTheme: string; /** * Authoring information related to the creation of the visual variable. This includes information related to UI inputs from sliders and selected themes. * @@ -28092,8 +29314,9 @@ declare namespace __esri { * * @param params Input parameters for generating symbols to represent unique types based on data returned from a given field. See the table below for details of each parameter. * @param params.layer The layer for which the renderer is generated. + * @param params.view The view where the input layer is rendered. This method inspects the view's background (i.e. basemap, web map background, or view container) to determine optimal colors for the output renderer. This parameter should always be set in practice, but if not provided this method will assume the generated renderer will display on a light background. This parameter is required when creating renderers using a `valueExpression` or for renderers intended for display in a SceneView. + * @param params.basemap The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. Determines optimal colors for the output renderer. * @param params.field The name of the field from which to extract unique values that will be used for the basis of the data-driven visualization. This property is ignored if a `valueExpression` is used. - * @param params.basemap The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. * @param params.numTypes The number of types (or categories) displayed by the renderer. Use `-1` to display all returned types. * @param params.sortBy * Indicates how values should be sorted in the [Legend](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Legend.html). See the table below for information about values that may be passed to this parameter. @@ -28110,7 +29333,6 @@ declare namespace __esri { * @param params.outlineOptimizationEnabled For polygon layers only. Indicates whether the polygon outline width should vary based on view scale. When set, a valid [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) instance must be provided in the `view` parameter. This option is not supported for 3D [SceneViews](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). * @param params.legendOptions Provides options for setting a title to a field that will override the field alias defined in the service. This title will represent the field in the [Legend](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Legend.html). * @param params.defaultSymbolEnabled Enables the `defaultSymbol` on the renderer and assigns it to features with no value. - * @param params.view The view instance in which the visualization will be rendered. A [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html) is required if `symbolType = "3d-volumetric"` or `3d-volumetric-uniform`. The relevant SceneView or [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) is required when a `valueExpression` is specified. * @param params.symbolType * The type of symbol to generate. This depends on the view in which you are working and the desired visualization. This parameter can be ignored for layers with a `mesh` geometry type. Possible values are described below. * @@ -28186,6 +29408,12 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-type.html#RendererResult) */ basemapId: string; + /** + * Indicates whether the average color of the input view's basemap is `light` or `dark`. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-type.html#RendererResult) + */ + basemapTheme: string; } export interface typeCreatePCClassRendererParams extends Object { @@ -28239,19 +29467,25 @@ declare namespace __esri { */ layer: FeatureLayer | SceneLayer | CSVLayer | GeoJSONLayer; /** - * The name of the field from which to extract unique values that will be used for the basis of the data-driven visualization. This property is ignored if a `valueExpression` is used. + * The view where the input layer is rendered. This method inspects the view's background (i.e. basemap, web map background, or view container) to determine optimal colors for the output renderer. This parameter should always be set in practice, but if not provided this method will assume the generated renderer will display on a light background. This parameter is required when creating renderers using a `valueExpression` or for renderers intended for display in a SceneView. * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-type.html#createRenderer) + * [Read more...](global.html) */ - field?: string; + view?: View; /** - * The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. + * The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. Determines optimal colors for the output renderer. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-type.html#createRenderer) * * @default gray */ basemap?: string | Basemap; + /** + * The name of the field from which to extract unique values that will be used for the basis of the data-driven visualization. This property is ignored if a `valueExpression` is used. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-type.html#createRenderer) + */ + field?: string; /** * The number of types (or categories) displayed by the renderer. Use `-1` to display all returned types. * @@ -28314,12 +29548,6 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-type.html#createRenderer) */ defaultSymbolEnabled?: boolean; - /** - * The view instance in which the visualization will be rendered. A [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html) is required if `symbolType = "3d-volumetric"` or `3d-volumetric-uniform`. The relevant SceneView or [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) is required when a `valueExpression` is specified. - * - * [Read more...](global.html) - */ - view?: View; /** * The type of symbol to generate. This depends on the view in which you are working and the desired visualization. This parameter can be ignored for layers with a `mesh` geometry type. Possible values are described below. * @@ -28413,7 +29641,8 @@ declare namespace __esri { * * @param params See the table below for details of each parameter that may be passed to this method. * @param params.layer The layer for which the visual variable is generated. - * @param params.basemap The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. + * @param params.view The view where the input layer is rendered. This method inspects the view's background (i.e. basemap, web map background, or view container) to determine optimal colors for the output renderer. This parameter should always be set in practice, but if not provided this method will assume the generated renderer will display on a light background. This parameter is required when creating renderers using a `valueExpression` or for renderers intended for display in a SceneView. + * @param params.basemap The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. Determines optimal colors for the output renderer. * @param params.field The name of the field whose data will be queried for statistics and used for the basis of the data-driven visualization. This property is ignored if a `valueExpression` is used. * @param params.normalizationField The name of the field to normalize the values of the given `field`. Providing a normalization field helps minimize some visualization errors and standardizes the data so all features are visualized with minimal bias due to area differences or count variation. This option is commonly used when visualizing densities. * @param params.valueExpression An [Arcade](https://developers.arcgis.com/javascript/latest/guide/arcade/index.html) expression that returns a number. This expression can reference field values using the `$feature` global variable. This property overrides the `field` property and therefore is used instead of an input `field` value. @@ -28427,7 +29656,6 @@ declare namespace __esri { * @param params.defaultSymbolEnabled Enables the `defaultSymbol` on the renderer and assigns it to features with no value and features that do not fall within the configured data range. * @param params.colorOptions Options for configuring the color portion of the visualization. * @param params.sizeOptions Options for configuring the size portion of the visualization. - * @param params.view The view instance in which the visualization will be rendered. A [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html) is required if `symbolType = "3d-volumetric"` or `3d-volumetric-uniform`. The relevant SceneView or [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) is required when a `valueExpression` is specified. * @param params.symbolType * The type of symbol to generate. This depends on the view in which you are working and the desired visualization. Possible values are described below. * @@ -28449,7 +29677,8 @@ declare namespace __esri { * * @param params Input parameters for generating color and size visual variables based on data returned from a given field or expression. See the table below for details of each parameter. * @param params.layer The layer for which the visual variable is generated. - * @param params.basemap The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. + * @param params.view The view where the input layer is rendered. This method inspects the view's background (i.e. basemap, web map background, or view container) to determine optimal colors for the output renderer. This parameter should always be set in practice, but if not provided this method will assume the generated renderer will display on a light background. This parameter is required when creating renderers using a `valueExpression` or for renderers intended for display in a SceneView. + * @param params.basemap The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. Determines optimal colors for the output renderer. * @param params.field The name of the field whose data will be queried for statistics and used for the basis of the data-driven visualization. This property is ignored if a `valueExpression` is used. * @param params.normalizationField The name of the field to normalize the values of the given `field`. Providing a normalization field helps minimize some visualization errors and standardizes the data so all features are visualized with minimal bias due to area differences or count variation. This option is commonly used when visualizing densities. * @param params.valueExpression An [Arcade](https://developers.arcgis.com/javascript/latest/guide/arcade/index.html) expression that returns a number. This expression can reference field values using the `$feature` global variable. This property overrides the `field` property and therefore is used instead of an input `field` value. @@ -28461,7 +29690,6 @@ declare namespace __esri { * @param params.maxValue A custom maximum value set by the user. Use this in conjunction with `minValue` to generate statistics between lower and upper bounds. This will be the uppermost stop in the returned visual variables. * @param params.colorOptions Options for configuring the color portion of the visualization. * @param params.sizeOptions Options for configuring the size portion of the visualization. - * @param params.view When generating 3D symbols, a [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html) instance is required. The relevant SceneView or [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) is required when a `valueExpression` is specified. * @param params.worldScale Indicates if the size units of the symbols will be in meters. This should be `true` when generating visualizations with 3D volumetric symbology. A `view` must be provided if this property is set to `true`. * */ @@ -28512,6 +29740,12 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-univariateColorSize.html#ContinuousRendererResult) */ basemapId: string; + /** + * Indicates whether the average color of the input view's basemap is `light` or `dark`. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-univariateColorSize.html#ContinuousRendererResult) + */ + basemapTheme: string; } export interface univariateColorSizeCreateContinuousRendererParams extends Object { @@ -28522,7 +29756,13 @@ declare namespace __esri { */ layer: FeatureLayer | SceneLayer | CSVLayer | GeoJSONLayer; /** - * The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. + * The view where the input layer is rendered. This method inspects the view's background (i.e. basemap, web map background, or view container) to determine optimal colors for the output renderer. This parameter should always be set in practice, but if not provided this method will assume the generated renderer will display on a light background. This parameter is required when creating renderers using a `valueExpression` or for renderers intended for display in a SceneView. + * + * [Read more...](global.html) + */ + view?: View; + /** + * The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. Determines optimal colors for the output renderer. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-univariateColorSize.html#createContinuousRenderer) * @@ -28609,12 +29849,6 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-univariateColorSize.html#createContinuousRenderer) */ sizeOptions?: univariateColorSizeCreateContinuousRendererParamsSizeOptions; - /** - * The view instance in which the visualization will be rendered. A [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html) is required if `symbolType = "3d-volumetric"` or `3d-volumetric-uniform`. The relevant SceneView or [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) is required when a `valueExpression` is specified. - * - * [Read more...](global.html) - */ - view?: View; /** * The type of symbol to generate. This depends on the view in which you are working and the desired visualization. Possible values are described below. * @@ -28703,7 +29937,13 @@ declare namespace __esri { */ layer: FeatureLayer | SceneLayer | CSVLayer | GeoJSONLayer; /** - * The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. + * The view where the input layer is rendered. This method inspects the view's background (i.e. basemap, web map background, or view container) to determine optimal colors for the output renderer. This parameter should always be set in practice, but if not provided this method will assume the generated renderer will display on a light background. This parameter is required when creating renderers using a `valueExpression` or for renderers intended for display in a SceneView. + * + * [Read more...](global.html) + */ + view?: View; + /** + * The [named string](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) or basemap object of the Esri basemap that will be paired with the output visualization. Determines optimal colors for the output renderer. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-univariateColorSize.html#createVisualVariables) * @@ -28776,12 +30016,6 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-univariateColorSize.html#createVisualVariables) */ sizeOptions?: univariateColorSizeCreateVisualVariablesParamsSizeOptions; - /** - * When generating 3D symbols, a [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html) instance is required. The relevant SceneView or [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) is required when a `valueExpression` is specified. - * - * [Read more...](global.html) - */ - view?: View; /** * Indicates if the size units of the symbols will be in meters. This should be `true` when generating visualizations with 3D volumetric symbology. A `view` must be provided if this property is set to `true`. * @@ -28896,6 +30130,12 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-univariateColorSize.html#VisualVariablesResult) */ basemapId: string; + /** + * Indicates whether the average color of the input view's basemap is `light` or `dark`. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-univariateColorSize.html#VisualVariablesResult) + */ + basemapTheme: string; /** * Authoring information related to the creation of the visual variables. This includes inforamation related to UI inputs from sliders and selected themes. * @@ -29535,6 +30775,81 @@ declare namespace __esri { maxValue: number; } + interface predominantCategories { + /** + * Determines predominant categories for a layer based on a given set of competing numeric fields and returns the number of features belonging to each category. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-statistics-predominantCategories.html#predominantCategories) + * + * @param params See the table below for details of each parameter. + * @param params.layer The layer from which to generate predominant categories for the given set of `fields`. + * @param params.fields An array of numeric fields from which to determine predominant categories. The fields must all be number fields and they must be competing or complementary (e.g. population totals by language spoken at home, or harvested acres by crop type, or the results of an election by candidate or party). + * @param params.view The view in which features will be rendered. + * + */ + predominantCategories( + params: predominantCategoriesPredominantCategoriesParams + ): IPromise; + } + + export const predominantCategories: predominantCategories; + + export interface predominantCategoriesPredominantCategoriesParams extends Object { + /** + * The layer from which to generate predominant categories for the given set of `fields`. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-statistics-predominantCategories.html#predominantCategories) + */ + layer: FeatureLayer | SceneLayer | CSVLayer | GeoJSONLayer; + /** + * An array of numeric fields from which to determine predominant categories. The fields must all be number fields and they must be competing or complementary (e.g. population totals by language spoken at home, or harvested acres by crop type, or the results of an election by candidate or party). + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-statistics-predominantCategories.html#predominantCategories) + */ + fields: string[]; + /** + * The view in which features will be rendered. + * + * [Read more...](global.html) + */ + view?: MapView | SceneView; + } + + /** + * The statistics returned from the [predominantCategories()](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-statistics-predominantCategories.html#predominantCategories) function. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-statistics-predominantCategories.html#PredominantCategoriesResult) + */ + export interface PredominantCategoriesResult extends Object { + /** + * An array of objects describing the count of each predominant category. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-statistics-predominantCategories.html#PredominantCategoriesResult) + */ + predominantCategoryInfos: PredominantCategoriesResultPredominantCategoryInfos[]; + } + + export interface PredominantCategoriesResultPredominantCategoryInfos extends Object { + /** + * The value or category referenced in a predominance visualization. This is typically a field name. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-statistics-predominantCategories.html#PredominantCategoriesResult) + */ + value: string | number; + /** + * The number of features belonging to the predominant category. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-statistics-predominantCategories.html#PredominantCategoriesResult) + */ + count: number; + /** + * The label describing the predominant category, or field name. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-statistics-predominantCategories.html#PredominantCategoriesResult) + */ + label?: string; + } + /** * Function for generating attribute statistics in a [Layer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-Layer.html) based on values returned from a given field. * @@ -29678,6 +30993,131 @@ declare namespace __esri { features?: Graphic[]; } + interface summaryStatisticsForAge { + /** + * Returns an object containing various statistics describing an age value (e.g. the difference between a given end time from a start time) in a [Layer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-Layer.html). + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-statistics-summaryStatisticsForAge.html#summaryStatisticsForAge) + * + * @param params See the table below for details of each parameter. + * @param params.layer The layer from which to generate age statistics for the given `startTime` and `endTime`. + * @param params.startTime The start time for the age calculation. This can be a field name or a date value, such as `Date.now()`. If a `Date` is provided, then the `endTime` parameter must be a field name. + * @param params.endTime The end time for the age calculation. This can be a field name or a date value, such as `Date.now()`. If a `Date` is provided, then the `startTime` parameter must be a field name. + * @param params.unit The desired units of the age result. **Possible Values:** years | months | days | hours | minutes | seconds + * @param params.view The view in which features will be rendered. + * + */ + summaryStatisticsForAge( + params: summaryStatisticsForAgeSummaryStatisticsForAgeParams + ): IPromise; + } + + export const summaryStatisticsForAge: summaryStatisticsForAge; + + export interface summaryStatisticsForAgeSummaryStatisticsForAgeParams extends Object { + /** + * The layer from which to generate age statistics for the given `startTime` and `endTime`. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-statistics-summaryStatisticsForAge.html#summaryStatisticsForAge) + */ + layer: FeatureLayer | SceneLayer | CSVLayer | GeoJSONLayer; + /** + * The start time for the age calculation. This can be a field name or a date value, such as `Date.now()`. If a `Date` is provided, then the `endTime` parameter must be a field name. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-statistics-summaryStatisticsForAge.html#summaryStatisticsForAge) + */ + startTime: Date | string | number; + /** + * The end time for the age calculation. This can be a field name or a date value, such as `Date.now()`. If a `Date` is provided, then the `startTime` parameter must be a field name. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-statistics-summaryStatisticsForAge.html#summaryStatisticsForAge) + */ + endTime: Date | string | number; + /** + * The desired units of the age result. **Possible Values:** years | months | days | hours | minutes | seconds + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-statistics-summaryStatisticsForAge.html#summaryStatisticsForAge) + */ + unit: string; + /** + * The view in which features will be rendered. + * + * [Read more...](global.html) + */ + view?: MapView | SceneView; + } + + interface ageUtils { + /** + * Returns an [Arcade](https://developers.arcgis.com/javascript/latest/guide/arcade/index.html) expression for visualizing the age of a feature based on a given start time and end time. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-statistics-support-ageUtils.html#getAgeExpressions) + * + * @param params See the table below for details of each parameter. + * @param params.layer The layer from which to generate age statistics for the given `startTime` and `endTime`. + * @param params.startTime The start time for the age calculation. This can be a field name or a date value, such as `Date.now()`. If a `Date` is provided, then the `endTime` parameter must be a field name. + * @param params.endTime The end time for the age calculation. This can be a field name or a date value, such as `Date.now()`. If a `Date` is provided, then the `startTime` parameter must be a field name. + * @param params.unit The desired units of the age result. **Possible Values:** years | months | days | hours | minutes | seconds + * + */ + getAgeExpressions(params: ageUtilsGetAgeExpressionsParams): AgeExpressionsResult; + } + + export const ageUtils: ageUtils; + + /** + * The result object returned from the [getAgeExpressions()](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-statistics-support-ageUtils.html#getAgeExpressions) method. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-statistics-support-ageUtils.html#AgeExpressionsResult) + */ + export interface AgeExpressionsResult extends Object { + /** + * The [Arcade](https://developers.arcgis.com/javascript/latest/guide/arcade/index.html) expression used to calculate the age of a feature based on the difference between the end time and the start time. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-statistics-support-ageUtils.html#AgeExpressionsResult) + */ + valueExpression: string; + /** + * A SQL expression and where clause that matches the generated `valueExpression` used to query statistics from the layer. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-statistics-support-ageUtils.html#AgeExpressionsResult) + */ + statisticsQuery: any; + /** + * A SQL expression and where clause that matches the generated `valueExpression` used to query for a histogram from the layer. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-statistics-support-ageUtils.html#AgeExpressionsResult) + */ + histogramQuery: any; + } + + export interface ageUtilsGetAgeExpressionsParams extends Object { + /** + * The layer from which to generate age statistics for the given `startTime` and `endTime`. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-statistics-support-ageUtils.html#getAgeExpressions) + */ + layer: FeatureLayer | SceneLayer | CSVLayer | GeoJSONLayer; + /** + * The start time for the age calculation. This can be a field name or a date value, such as `Date.now()`. If a `Date` is provided, then the `endTime` parameter must be a field name. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-statistics-support-ageUtils.html#getAgeExpressions) + */ + startTime: Date | string | number; + /** + * The end time for the age calculation. This can be a field name or a date value, such as `Date.now()`. If a `Date` is provided, then the `startTime` parameter must be a field name. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-statistics-support-ageUtils.html#getAgeExpressions) + */ + endTime: Date | string | number; + /** + * The desired units of the age result. **Possible Values:** years | months | days | hours | minutes | seconds + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-statistics-support-ageUtils.html#getAgeExpressions) + */ + unit?: string; + } + /** * A function that queries for unique values from a field in a [Layer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-Layer.html). * @@ -29827,6 +31267,7 @@ declare namespace __esri { * @param params See the table below for details of each parameter that may be passed to this function. * @param params.name The name of the scheme to retrieve. * @param params.basemap The basemap to pair with the visualization. This value indicates the best symbol colors for visualizing features against the given basemap. + * @param params.basemapTheme If you have a non-Esri basemap (e.g. a VectorTileLayer basemap with a custom style) or no basemap at all, use this parameter to indicate whether the background of the visualization is `light` or `dark`. **Possible Values:** light | dark * @param params.geometryType The geometry type of the features to visualize. **Possible Values:** point | multipoint | polyline | polygon | mesh * @param params.theme * The theme determines which values will be emphasized in the continuous ramp and the map. Possible values are listed below. @@ -29848,7 +31289,8 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-color.html#getSchemes) * * @param params See the table below for details of each parameter that may be passed to this function. - * @param params.basemap The basemap to pair with the visualization. This value indicates the best symbol colors for visualizing features against the given basemap. + * @param params.basemap The Esri basemap to pair with the visualization. This value indicates the best symbol colors for visualizing features against the given basemap. If you have a non-Esri basemap (e.g. a VectorTileLayer basemap with a custom style) or no basemap at all, then use the `basemapTheme` parameter instead of this parameter. + * @param params.basemapTheme If you have a non-Esri basemap (e.g. a VectorTileLayer basemap with a custom style) or no basemap at all, use this parameter to indicate whether the background of the visualization is `light` or `dark`. **Possible Values:** light | dark * @param params.geometryType The geometry type of the features to visualize. **Possible Values:** point | multipoint | polyline | polygon | mesh * @param params.theme * The theme determines which values will be emphasized in the continuous ramp and the map. Possible values are listed below. @@ -29873,6 +31315,7 @@ declare namespace __esri { * @param params.includedTags When provided, only schemes containing all the matching tags will be returned. **Known Tags:** light | dark | reds | yellows | oranges | greens | blues | purples | pinks | browns | grays | bright | subdued | deuteranopia | protanopia | tritanopia | grayscale | types | dot-density * @param params.excludedTags When provided, only schemes missing all the provided tags will be returned. **Known Tags:** light | dark | reds | yellows | oranges | greens | blues | purples | pinks | browns | grays | bright | subdued | deuteranopia | protanopia | tritanopia | grayscale | types | dot-density * @param params.basemap The basemap to pair with the visualization. This value indicates the best symbol colors for visualizing features against the given basemap. + * @param params.basemapTheme If you have a non-Esri basemap (e.g. a VectorTileLayer basemap with a custom style) or no basemap at all, use this parameter to indicate whether the background of the visualization is `light` or `dark`. **Possible Values:** light | dark * @param params.geometryType The geometry type of the features to visualize. **Possible Values:** point | multipoint | polyline | polygon | mesh * @param params.theme * The theme determines which values will be emphasized in the continuous ramp and the map. Possible values are listed below. @@ -29946,7 +31389,13 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-color.html#getSchemeByName) */ - basemap: string | Basemap; + basemap?: string | Basemap; + /** + * If you have a non-Esri basemap (e.g. a VectorTileLayer basemap with a custom style) or no basemap at all, use this parameter to indicate whether the background of the visualization is `light` or `dark`. **Possible Values:** light | dark + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-color.html#getSchemeByName) + */ + basemapTheme?: string; /** * The geometry type of the features to visualize. **Possible Values:** point | multipoint | polyline | polygon | mesh * @@ -29999,7 +31448,13 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-color.html#getSchemesByTag) */ - basemap: string | Basemap; + basemap?: string | Basemap; + /** + * If you have a non-Esri basemap (e.g. a VectorTileLayer basemap with a custom style) or no basemap at all, use this parameter to indicate whether the background of the visualization is `light` or `dark`. **Possible Values:** light | dark + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-color.html#getSchemesByTag) + */ + basemapTheme?: string; /** * The geometry type of the features to visualize. **Possible Values:** point | multipoint | polyline | polygon | mesh * @@ -30036,11 +31491,17 @@ declare namespace __esri { export interface colorGetSchemesParams extends Object { /** - * The basemap to pair with the visualization. This value indicates the best symbol colors for visualizing features against the given basemap. + * The Esri basemap to pair with the visualization. This value indicates the best symbol colors for visualizing features against the given basemap. If you have a non-Esri basemap (e.g. a VectorTileLayer basemap with a custom style) or no basemap at all, then use the `basemapTheme` parameter instead of this parameter. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-color.html#getSchemes) */ - basemap: string | Basemap; + basemap?: string | Basemap; + /** + * If you have a non-Esri basemap (e.g. a VectorTileLayer basemap with a custom style) or no basemap at all, use this parameter to indicate whether the background of the visualization is `light` or `dark`. **Possible Values:** light | dark + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-color.html#getSchemes) + */ + basemapTheme?: string; /** * The geometry type of the features to visualize. **Possible Values:** point | multipoint | polyline | polygon | mesh * @@ -30386,6 +31847,12 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-color.html#ColorSchemes) */ basemapId: string; + /** + * Indicates whether the average basemap color is `light` or `dark`. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-color.html#ColorSchemes) + */ + basemapTheme: string; } /** @@ -30528,6 +31995,7 @@ declare namespace __esri { * @param params See the table below for details of each parameter that may be passed to this function. * @param params.name The name of the scheme to retrieve. * @param params.basemap The basemap to pair with the visualization. This value indicates the best symbol color for visualizing features with the given basemap. + * @param params.basemapTheme If you have a non-Esri basemap (e.g. a VectorTileLayer basemap with a custom style) or no basemap at all, use this parameter to indicate whether the background of the visualization is `light` or `dark`. **Possible Values:** light | dark * @param params.numColors The number of colors to visualize. * */ @@ -30538,7 +32006,8 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-dotDensity.html#getSchemes) * * @param params See the table below for details of each parameter that may be passed to this function. - * @param params.basemap The basemap to pair with the visualization. This value indicates the best symbol color for visualizing features with the given basemap. + * @param params.basemap The Esri basemap to pair with the visualization. This value indicates the best symbol colors for visualizing features against the given basemap. If you have a non-Esri basemap (e.g. a VectorTileLayer basemap with a custom style) or no basemap at all, then use the `basemapTheme` parameter instead of this parameter. + * @param params.basemapTheme If you have a non-Esri basemap (e.g. a VectorTileLayer basemap with a custom style) or no basemap at all, use this parameter to indicate whether the background of the visualization is `light` or `dark`. **Possible Values:** light | dark * @param params.numColors The number of colors to visualize. * */ @@ -30552,6 +32021,7 @@ declare namespace __esri { * @param params.includedTags When provided, only schemes containing all the matching tags will be returned. **Known Tags:** light | dark | reds | yellows | oranges | greens | blues | purples | pinks | browns | grays | bright | subdued | deuteranopia | protanopia | tritanopia | grayscale | types | dot-density * @param params.excludedTags When provided, only schemes missing all the provided tags will be returned. **Known Tags:** light | dark | reds | yellows | oranges | greens | blues | purples | pinks | browns | grays | bright | subdued | deuteranopia | protanopia | tritanopia | grayscale | types | dot-density * @param params.basemap The basemap to pair with the visualization. This value indicates the best symbol color for visualizing features with the given basemap. + * @param params.basemapTheme If you have a non-Esri basemap (e.g. a VectorTileLayer basemap with a custom style) or no basemap at all, use this parameter to indicate whether the background of the visualization is `light` or `dark`. **Possible Values:** light | dark * @param params.numColors The number of colors to visualize. * */ @@ -30572,7 +32042,13 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-dotDensity.html#getSchemeByName) */ - basemap: string | Basemap; + basemap?: string | Basemap; + /** + * If you have a non-Esri basemap (e.g. a VectorTileLayer basemap with a custom style) or no basemap at all, use this parameter to indicate whether the background of the visualization is `light` or `dark`. **Possible Values:** light | dark + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-dotDensity.html#getSchemeByName) + */ + basemapTheme?: string; /** * The number of colors to visualize. * @@ -30599,7 +32075,13 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-dotDensity.html#getSchemesByTag) */ - basemap: string | Basemap; + basemap?: string | Basemap; + /** + * If you have a non-Esri basemap (e.g. a VectorTileLayer basemap with a custom style) or no basemap at all, use this parameter to indicate whether the background of the visualization is `light` or `dark`. **Possible Values:** light | dark + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-dotDensity.html#getSchemesByTag) + */ + basemapTheme?: string; /** * The number of colors to visualize. * @@ -30610,11 +32092,17 @@ declare namespace __esri { export interface dotDensityGetSchemesParams extends Object { /** - * The basemap to pair with the visualization. This value indicates the best symbol color for visualizing features with the given basemap. + * The Esri basemap to pair with the visualization. This value indicates the best symbol colors for visualizing features against the given basemap. If you have a non-Esri basemap (e.g. a VectorTileLayer basemap with a custom style) or no basemap at all, then use the `basemapTheme` parameter instead of this parameter. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-dotDensity.html#getSchemes) */ - basemap: string | Basemap; + basemap?: string | Basemap; + /** + * If you have a non-Esri basemap (e.g. a VectorTileLayer basemap with a custom style) or no basemap at all, use this parameter to indicate whether the background of the visualization is `light` or `dark`. **Possible Values:** light | dark + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-dotDensity.html#getSchemes) + */ + basemapTheme?: string; /** * The number of colors to visualize. * @@ -30685,6 +32173,12 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-dotDensity.html#DotDensitySchemes) */ basemapId: string; + /** + * Indicates whether the average basemap color is `light` or `dark`. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-dotDensity.html#DotDensitySchemes) + */ + basemapTheme: string; } export interface DotDensitySchemeOutline extends Object { @@ -30720,6 +32214,7 @@ declare namespace __esri { * @param params See the table below for details of each parameter that may be passed to this function. * @param params.name The name of the scheme to retrieve. * @param params.basemap The basemap to pair with the visualization. This value indicates the best colors for visualizing features against the given basemap. + * @param params.basemapTheme If you have a non-Esri basemap (e.g. a VectorTileLayer basemap with a custom style) or no basemap at all, use this parameter to indicate whether the background of the visualization is `light` or `dark`. **Possible Values:** light | dark * */ getSchemeByName(params: heatmapGetSchemeByNameParams): HeatmapScheme; @@ -30729,7 +32224,8 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-heatmap.html#getSchemes) * * @param params See the table below for details of each parameter that may be passed to this function. - * @param params.basemap The basemap to pair with the visualization. This value indicates the best colors for overlaying a heatmap against the given basemap. + * @param params.basemap The Esri basemap to pair with the visualization. This value indicates the best colors for visualizing features against the given basemap. If you have a non-Esri basemap (e.g. a VectorTileLayer basemap with a custom style) or no basemap at all, then use the `basemapTheme` parameter instead of this parameter. + * @param params.basemapTheme If you have a non-Esri basemap (e.g. a VectorTileLayer basemap with a custom style) or no basemap at all, use this parameter to indicate whether the background of the visualization is `light` or `dark`. **Possible Values:** light | dark * */ getSchemes(params: heatmapGetSchemesParams): HeatmapSchemes; @@ -30742,6 +32238,7 @@ declare namespace __esri { * @param params.includedTags When provided, only schemes containing all the matching tags will be returned. **Known Tags:** light | dark | reds | yellows | oranges | greens | blues | purples | pinks | browns | grays | bright | subdued | deuteranopia | protanopia | tritanopia | grayscale | types | dot-density * @param params.excludedTags When provided, only schemes missing all the provided tags will be returned. **Known Tags:** light | dark | reds | yellows | oranges | greens | blues | purples | pinks | browns | grays | bright | subdued | deuteranopia | protanopia | tritanopia | grayscale | types | dot-density * @param params.basemap The basemap to pair with the visualization. This value indicates the best symbol colors for visualizing features against the given basemap. + * @param params.basemapTheme If you have a non-Esri basemap (e.g. a VectorTileLayer basemap with a custom style) or no basemap at all, use this parameter to indicate whether the background of the visualization is `light` or `dark`. **Possible Values:** light | dark * */ getSchemesByTag(params: heatmapGetSchemesByTagParams): HeatmapScheme[]; @@ -30770,7 +32267,13 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-heatmap.html#getSchemeByName) */ - basemap: string | Basemap; + basemap?: string | Basemap; + /** + * If you have a non-Esri basemap (e.g. a VectorTileLayer basemap with a custom style) or no basemap at all, use this parameter to indicate whether the background of the visualization is `light` or `dark`. **Possible Values:** light | dark + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-heatmap.html#getSchemeByName) + */ + basemapTheme?: string; } export interface heatmapGetSchemesByTagParams extends Object { @@ -30791,16 +32294,28 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-heatmap.html#getSchemesByTag) */ - basemap: string | Basemap; + basemap?: string | Basemap; + /** + * If you have a non-Esri basemap (e.g. a VectorTileLayer basemap with a custom style) or no basemap at all, use this parameter to indicate whether the background of the visualization is `light` or `dark`. **Possible Values:** light | dark + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-heatmap.html#getSchemesByTag) + */ + basemapTheme?: string; } export interface heatmapGetSchemesParams extends Object { /** - * The basemap to pair with the visualization. This value indicates the best colors for overlaying a heatmap against the given basemap. + * The Esri basemap to pair with the visualization. This value indicates the best colors for visualizing features against the given basemap. If you have a non-Esri basemap (e.g. a VectorTileLayer basemap with a custom style) or no basemap at all, then use the `basemapTheme` parameter instead of this parameter. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-heatmap.html#getSchemes) */ - basemap: string | Basemap; + basemap?: string | Basemap; + /** + * If you have a non-Esri basemap (e.g. a VectorTileLayer basemap with a custom style) or no basemap at all, use this parameter to indicate whether the background of the visualization is `light` or `dark`. **Possible Values:** light | dark + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-heatmap.html#getSchemes) + */ + basemapTheme?: string; } /** @@ -30865,6 +32380,12 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-heatmap.html#HeatmapSchemes) */ basemapId: string; + /** + * Indicates whether the average basemap color is `light` or `dark`. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-heatmap.html#HeatmapSchemes) + */ + basemapTheme: string; } interface symbologyLocation { @@ -30883,7 +32404,8 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-location.html#getSchemes) * * @param params See the table below for details of each parameter that may be passed to this function. - * @param params.basemap The basemap to pair with the visualization. This value indicates the best symbol color for visualizing features on top of the given basemap. + * @param params.basemap The Esri basemap to pair with the visualization. This value indicates the best symbol color for visualizing features against the given basemap. If you have a non-Esri basemap (e.g. a VectorTileLayer basemap with a custom style) or no basemap at all, then use the `basemapTheme` parameter instead of this parameter. + * @param params.basemapTheme If you have a non-Esri basemap (e.g. a VectorTileLayer basemap with a custom style) or no basemap at all, use this parameter to indicate whether the background of the visualization is `light` or `dark`. **Possible Values:** light | dark * @param params.geometryType The geometry type of the features to visualize. **Possible Values:** point | multipoint | polyline | polygon | mesh * @param params.view The SceneView instance in which the scheme will be used. This property is only applicable when the scheme will be used in conjunction with 3D symbols. * @param params.worldScale Indicates if the size units of the scheme will be in meters. This should be `true` when the scheme is intended for 3D volumetric symbology. A `view` must be provided if this property is set to `true`. @@ -30905,11 +32427,17 @@ declare namespace __esri { export interface locationGetSchemesParams extends Object { /** - * The basemap to pair with the visualization. This value indicates the best symbol color for visualizing features on top of the given basemap. + * The Esri basemap to pair with the visualization. This value indicates the best symbol color for visualizing features against the given basemap. If you have a non-Esri basemap (e.g. a VectorTileLayer basemap with a custom style) or no basemap at all, then use the `basemapTheme` parameter instead of this parameter. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-location.html#getSchemes) */ - basemap: string | Basemap; + basemap?: string | Basemap; + /** + * If you have a non-Esri basemap (e.g. a VectorTileLayer basemap with a custom style) or no basemap at all, use this parameter to indicate whether the background of the visualization is `light` or `dark`. **Possible Values:** light | dark + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-location.html#getSchemes) + */ + basemapTheme?: string; /** * The geometry type of the features to visualize. **Possible Values:** point | multipoint | polyline | polygon | mesh * @@ -31069,6 +32597,12 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-location.html#LocationSchemes) */ basemapId: string; + /** + * Indicates whether the average basemap color is `light` or `dark`. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-location.html#LocationSchemes) + */ + basemapTheme: string; } export interface LocationSchemeForPointOutline extends Object { @@ -31119,6 +32653,7 @@ declare namespace __esri { * @param params See the table below for details of each parameter that may be passed to this function. * @param params.name The name of the scheme to retrieve. * @param params.basemap The basemap to pair with the visualization. This value indicates the best symbol color for visualizing features with the given basemap. + * @param params.basemapTheme If you have a non-Esri basemap (e.g. a VectorTileLayer basemap with a custom style) or no basemap at all, use this parameter to indicate whether the background of the visualization is `light` or `dark`. **Possible Values:** light | dark * @param params.geometryType The geometry type of the features to visualize. **Possible Values:** point | multipoint | polyline | polygon | mesh * @param params.numColors The number of unique values to include in the predominance visualization. * @param params.theme Determines which set of primary and secondary color schemes to return **Possible Values:** default @@ -31133,7 +32668,8 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-predominance.html#getSchemes) * * @param params See the table below for details of each parameter that may be passed to this function. - * @param params.basemap The basemap to pair with the visualization. This value indicates the best symbol color for visualizing features with the given basemap. + * @param params.basemap The Esri basemap to pair with the visualization. This value indicates the best symbol colors for visualizing features against the given basemap. If you have a non-Esri basemap (e.g. a VectorTileLayer basemap with a custom style) or no basemap at all, then use the `basemapTheme` parameter instead of this parameter. + * @param params.basemapTheme If you have a non-Esri basemap (e.g. a VectorTileLayer basemap with a custom style) or no basemap at all, use this parameter to indicate whether the background of the visualization is `light` or `dark`. **Possible Values:** light | dark * @param params.geometryType The geometry type of the features to visualize. **Possible Values:** point | multipoint | polyline | polygon | mesh * @param params.numColors The number of unique values to include in the predominance visualization. * @param params.theme Determines which set of primary and secondary color schemes to return **Possible Values:** default @@ -31151,6 +32687,7 @@ declare namespace __esri { * @param params.includedTags When provided, only schemes containing all the matching tags will be returned. **Known Tags:** light | dark | reds | yellows | oranges | greens | blues | purples | pinks | browns | grays | bright | subdued | deuteranopia | protanopia | tritanopia | grayscale | types | dot-density * @param params.excludedTags When provided, only schemes missing all the provided tags will be returned. **Known Tags:** light | dark | reds | yellows | oranges | greens | blues | purples | pinks | browns | grays | bright | subdued | deuteranopia | protanopia | tritanopia | grayscale | types | dot-density * @param params.basemap The basemap to pair with the visualization. This value indicates the best symbol color for visualizing features with the given basemap. + * @param params.basemapTheme If you have a non-Esri basemap (e.g. a VectorTileLayer basemap with a custom style) or no basemap at all, use this parameter to indicate whether the background of the visualization is `light` or `dark`. **Possible Values:** light | dark * @param params.geometryType The geometry type of the features to visualize. **Possible Values:** point | multipoint | polyline | polygon | mesh * @param params.numColors The number of unique values to include in the predominance visualization. * @param params.theme Determines which set of primary and secondary color schemes to return **Possible Values:** default @@ -31184,7 +32721,13 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-predominance.html#getSchemeByName) */ - basemap: string | Basemap; + basemap?: string | Basemap; + /** + * If you have a non-Esri basemap (e.g. a VectorTileLayer basemap with a custom style) or no basemap at all, use this parameter to indicate whether the background of the visualization is `light` or `dark`. **Possible Values:** light | dark + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-predominance.html#getSchemeByName) + */ + basemapTheme?: string; /** * The geometry type of the features to visualize. **Possible Values:** point | multipoint | polyline | polygon | mesh * @@ -31237,7 +32780,13 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-predominance.html#getSchemesByTag) */ - basemap: string | Basemap; + basemap?: string | Basemap; + /** + * If you have a non-Esri basemap (e.g. a VectorTileLayer basemap with a custom style) or no basemap at all, use this parameter to indicate whether the background of the visualization is `light` or `dark`. **Possible Values:** light | dark + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-predominance.html#getSchemesByTag) + */ + basemapTheme?: string; /** * The geometry type of the features to visualize. **Possible Values:** point | multipoint | polyline | polygon | mesh * @@ -31274,11 +32823,17 @@ declare namespace __esri { export interface predominanceGetSchemesParams extends Object { /** - * The basemap to pair with the visualization. This value indicates the best symbol color for visualizing features with the given basemap. + * The Esri basemap to pair with the visualization. This value indicates the best symbol colors for visualizing features against the given basemap. If you have a non-Esri basemap (e.g. a VectorTileLayer basemap with a custom style) or no basemap at all, then use the `basemapTheme` parameter instead of this parameter. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-predominance.html#getSchemes) */ - basemap: string | Basemap; + basemap?: string | Basemap; + /** + * If you have a non-Esri basemap (e.g. a VectorTileLayer basemap with a custom style) or no basemap at all, use this parameter to indicate whether the background of the visualization is `light` or `dark`. **Possible Values:** light | dark + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-predominance.html#getSchemes) + */ + basemapTheme?: string; /** * The geometry type of the features to visualize. **Possible Values:** point | multipoint | polyline | polygon | mesh * @@ -31536,6 +33091,12 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-predominance.html#PredominanceSchemes) */ basemapId: string; + /** + * Indicates whether the average basemap color is `light` or `dark`. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-predominance.html#PredominanceSchemes) + */ + basemapTheme: string; } export interface PredominanceSchemeForPointOutline extends Object { @@ -31586,6 +33147,7 @@ declare namespace __esri { * @param params See the table below for details of each parameter that may be passed to this function. * @param params.name The name of the scheme to retrieve. * @param params.basemap The basemap to pair with the visualization. This value indicates the best symbol colors for visualizing features with the given basemap. + * @param params.basemapTheme If you have a non-Esri basemap (e.g. a VectorTileLayer basemap with a custom style) or no basemap at all, use this parameter to indicate whether the background of the visualization is `light` or `dark`. **Possible Values:** light | dark * @param params.geometryType The geometry type of the features to visualize. **Possible Values:** point | multipoint | polyline | polygon | mesh * @param params.theme Determines which set of primary and secondary color schemes to return **Possible Values:** default * @param params.worldScale Indicates if the size units of the scheme will be in meters. This should be `true` when the scheme is intended for 3D volumetric symbology. A `view` must be provided if this property is set to `true`. @@ -31599,7 +33161,8 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-relationship.html#getSchemes) * * @param params See the table below for details of each parameter that may be passed to this function. - * @param params.basemap The basemap to pair with the visualization. This value indicates the best symbol colors for visualizing features with the given basemap. + * @param params.basemap The Esri basemap to pair with the visualization. This value indicates the best symbol colors for visualizing features against the given basemap. If you have a non-Esri basemap (e.g. a VectorTileLayer basemap with a custom style) or no basemap at all, then use the `basemapTheme` parameter instead of this parameter. + * @param params.basemapTheme If you have a non-Esri basemap (e.g. a VectorTileLayer basemap with a custom style) or no basemap at all, use this parameter to indicate whether the background of the visualization is `light` or `dark`. **Possible Values:** light | dark * @param params.geometryType The geometry type of the features to visualize. **Possible Values:** point | multipoint | polyline | polygon | mesh * @param params.theme Determines which set of primary and secondary color schemes to return **Possible Values:** default * @param params.worldScale Indicates if the size units of the scheme will be in meters. This should be `true` when the scheme is intended for 3D volumetric symbology. A `view` must be provided if this property is set to `true`. @@ -31616,6 +33179,7 @@ declare namespace __esri { * @param params.includedTags When provided, only schemes containing all the matching tags will be returned. **Known Tags:** light | dark | reds | yellows | oranges | greens | blues | purples | pinks | browns | grays | bright | subdued | deuteranopia | protanopia | tritanopia | grayscale | types | dot-density * @param params.excludedTags When provided, only schemes missing all the provided tags will be returned. **Known Tags:** light | dark | reds | yellows | oranges | greens | blues | purples | pinks | browns | grays | bright | subdued | deuteranopia | protanopia | tritanopia | grayscale | types | dot-density * @param params.basemap The basemap to pair with the visualization. This value indicates the best symbol colors for visualizing features with the given basemap. + * @param params.basemapTheme If you have a non-Esri basemap (e.g. a VectorTileLayer basemap with a custom style) or no basemap at all, use this parameter to indicate whether the background of the visualization is `light` or `dark`. **Possible Values:** light | dark * @param params.geometryType The geometry type of the features to visualize. **Possible Values:** point | multipoint | polyline | polygon | mesh * @param params.theme Determines which set of primary and secondary color schemes to return **Possible Values:** default * @param params.worldScale Indicates if the size units of the scheme will be in meters. This should be `true` when the scheme is intended for 3D volumetric symbology. A `view` must be provided if this property is set to `true`. @@ -31648,7 +33212,13 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-relationship.html#getSchemeByName) */ - basemap: string | Basemap; + basemap?: string | Basemap; + /** + * If you have a non-Esri basemap (e.g. a VectorTileLayer basemap with a custom style) or no basemap at all, use this parameter to indicate whether the background of the visualization is `light` or `dark`. **Possible Values:** light | dark + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-relationship.html#getSchemeByName) + */ + basemapTheme?: string; /** * The geometry type of the features to visualize. **Possible Values:** point | multipoint | polyline | polygon | mesh * @@ -31695,7 +33265,13 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-relationship.html#getSchemesByTag) */ - basemap: string | Basemap; + basemap?: string | Basemap; + /** + * If you have a non-Esri basemap (e.g. a VectorTileLayer basemap with a custom style) or no basemap at all, use this parameter to indicate whether the background of the visualization is `light` or `dark`. **Possible Values:** light | dark + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-relationship.html#getSchemesByTag) + */ + basemapTheme?: string; /** * The geometry type of the features to visualize. **Possible Values:** point | multipoint | polyline | polygon | mesh * @@ -31726,11 +33302,17 @@ declare namespace __esri { export interface relationshipGetSchemesParams extends Object { /** - * The basemap to pair with the visualization. This value indicates the best symbol colors for visualizing features with the given basemap. + * The Esri basemap to pair with the visualization. This value indicates the best symbol colors for visualizing features against the given basemap. If you have a non-Esri basemap (e.g. a VectorTileLayer basemap with a custom style) or no basemap at all, then use the `basemapTheme` parameter instead of this parameter. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-relationship.html#getSchemes) */ - basemap: string | Basemap; + basemap?: string | Basemap; + /** + * If you have a non-Esri basemap (e.g. a VectorTileLayer basemap with a custom style) or no basemap at all, use this parameter to indicate whether the background of the visualization is `light` or `dark`. **Possible Values:** light | dark + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-relationship.html#getSchemes) + */ + basemapTheme?: string; /** * The geometry type of the features to visualize. **Possible Values:** point | multipoint | polyline | polygon | mesh * @@ -31994,6 +33576,12 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-relationship.html#RelationshipSchemes) */ basemapId: string; + /** + * Indicates whether the average basemap color is `light` or `dark`. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-relationship.html#RelationshipSchemes) + */ + basemapTheme: string; } export interface RelationshipSchemeForMeshColorsForClassBreaks extends Object { @@ -32097,12 +33685,13 @@ declare namespace __esri { */ cloneScheme(scheme: SizeScheme): SizeScheme; /** - * Returns a primary scheme and secondary schemes defining symbol properties for size-based data-driven visualizions in a [FeatureLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html). The `basemap` parameter determines the color of the graphics used to visualize each feature. The `geometryType` determines which type of symbol to return. + * Returns a primary scheme and secondary schemes defining symbol properties for size-based data-driven visualizations in a [FeatureLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html). The `basemap` parameter determines the color of the graphics used to visualize each feature. The `geometryType` determines which type of symbol to return. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-size.html#getSchemes) * * @param params See the table below for details of each parameter that may be passed to this function. - * @param params.basemap The basemap to pair with the visualization. This value indicates the best symbol color for visualizing features against the given basemap. + * @param params.basemap The Esri basemap to pair with the visualization. This value indicates the best symbol colors for visualizing features against the given basemap. If you have a non-Esri basemap (e.g. a VectorTileLayer basemap with a custom style) or no basemap at all, then use the `basemapTheme` parameter instead of this parameter. + * @param params.basemapTheme If you have a non-Esri basemap (e.g. a VectorTileLayer basemap with a custom style) or no basemap at all, use this parameter to indicate whether the background of the visualization is `light` or `dark`. **Possible Values:** light | dark * @param params.geometryType The geometry type of the features to visualize. **Possible Values:** point | multipoint | polyline | polygon * @param params.view The SceneView instance in which the scheme will be used. This property is only applicable when the scheme will be used in conjunction with 3D symbols. * @param params.worldScale Indicates if the size units of the scheme will be in meters. This should be `true` when the scheme is intended for 3D volumetric symbology. A `view` must be provided if this property is set to `true`. @@ -32124,11 +33713,17 @@ declare namespace __esri { export interface sizeGetSchemesParams extends Object { /** - * The basemap to pair with the visualization. This value indicates the best symbol color for visualizing features against the given basemap. + * The Esri basemap to pair with the visualization. This value indicates the best symbol colors for visualizing features against the given basemap. If you have a non-Esri basemap (e.g. a VectorTileLayer basemap with a custom style) or no basemap at all, then use the `basemapTheme` parameter instead of this parameter. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-size.html#getSchemes) */ - basemap: string | Basemap; + basemap?: string | Basemap; + /** + * If you have a non-Esri basemap (e.g. a VectorTileLayer basemap with a custom style) or no basemap at all, use this parameter to indicate whether the background of the visualization is `light` or `dark`. **Possible Values:** light | dark + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-size.html#getSchemes) + */ + basemapTheme?: string; /** * The geometry type of the features to visualize. **Possible Values:** point | multipoint | polyline | polygon * @@ -32312,6 +33907,12 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-size.html#SizeSchemes) */ basemapId: string; + /** + * Indicates whether the average basemap color is `light` or `dark`. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-size.html#SizeSchemes) + */ + basemapTheme: string; } export interface SizeSchemeForPointOutline extends Object { @@ -32377,6 +33978,7 @@ declare namespace __esri { * @param params See the table below for details of each parameter that may be passed to this function. * @param params.name The name of the scheme to retrieve. * @param params.basemap The basemap to pair with the visualization. This value indicates the best symbol color for visualizing features with the given basemap. + * @param params.basemapTheme If you have a non-Esri basemap (e.g. a VectorTileLayer basemap with a custom style) or no basemap at all, use this parameter to indicate whether the background of the visualization is `light` or `dark`. **Possible Values:** light | dark * @param params.geometryType The geometry type of the features to visualize. **Possible Values:** point | multipoint | polyline | polygon | mesh * @param params.theme Determines whether to return a standardized unique value scheme for point cloud class renderers (i.e. when the `CLASS_CODE` field is driving the visualization in a [PointCloudLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-PointCloudLayer.html)), or to return the other default primary schemes used in other unique value renderers generated for non-point cloud layer types. **Possible Values:** point-cloud-class | default * @param params.worldScale Indicates if the size units of the scheme will be in meters. This should be `true` when the scheme is intended for 3D volumetric symbology. A `view` must be provided if this property is set to `true`. @@ -32390,7 +33992,8 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-type.html#getSchemes) * * @param params See the table below for details of each parameter that may be passed to this function. - * @param params.basemap The basemap to pair with the visualization. This value indicates the best symbol color for visualizing features with the given basemap. + * @param params.basemap The Esri basemap to pair with the visualization. This value indicates the best symbol colors for visualizing features against the given basemap. If you have a non-Esri basemap (e.g. a VectorTileLayer basemap with a custom style) or no basemap at all, then use the `basemapTheme` parameter instead of this parameter. + * @param params.basemapTheme If you have a non-Esri basemap (e.g. a VectorTileLayer basemap with a custom style) or no basemap at all, use this parameter to indicate whether the background of the visualization is `light` or `dark`. **Possible Values:** light | dark * @param params.geometryType The geometry type of the features to visualize. **Possible Values:** point | multipoint | polyline | polygon | mesh * @param params.theme Determines whether to return a standardized unique value scheme for point cloud class renderers (i.e. when the `CLASS_CODE` field is driving the visualization in a [PointCloudLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-PointCloudLayer.html)), or to return the other default primary schemes used in other unique value renderers generated for non-point cloud layer types. **Possible Values:** point-cloud-class | default * @param params.worldScale Indicates if the size units of the scheme will be in meters. This should be `true` when the scheme is intended for 3D volumetric symbology. A `view` must be provided if this property is set to `true`. @@ -32407,6 +34010,7 @@ declare namespace __esri { * @param params.includedTags When provided, only schemes containing all the matching tags will be returned. **Known Tags:** light | dark | reds | yellows | oranges | greens | blues | purples | pinks | browns | grays | bright | subdued | deuteranopia | protanopia | tritanopia | grayscale | types | dot-density * @param params.excludedTags When provided, only schemes missing all the provided tags will be returned. **Known Tags:** light | dark | reds | yellows | oranges | greens | blues | purples | pinks | browns | grays | bright | subdued | deuteranopia | protanopia | tritanopia | grayscale | types | dot-density * @param params.basemap The basemap to pair with the visualization. This value indicates the best symbol color for visualizing features with the given basemap. + * @param params.basemapTheme If you have a non-Esri basemap (e.g. a VectorTileLayer basemap with a custom style) or no basemap at all, use this parameter to indicate whether the background of the visualization is `light` or `dark`. **Possible Values:** light | dark * @param params.geometryType The geometry type of the features to visualize. **Possible Values:** point | multipoint | polyline | polygon | mesh * @param params.theme Determines whether to return a standardized unique value scheme for point cloud class renderers (i.e. when the `CLASS_CODE` field is driving the visualization in a [PointCloudLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-PointCloudLayer.html)), or to return the other default primary schemes used in other unique value renderers generated for non-point cloud layer types. **Possible Values:** point-cloud-class | default * @param params.worldScale Indicates if the size units of the scheme will be in meters. This should be `true` when the scheme is intended for 3D volumetric symbology. A `view` must be provided if this property is set to `true`. @@ -32439,7 +34043,13 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-type.html#getSchemeByName) */ - basemap: string | Basemap; + basemap?: string | Basemap; + /** + * If you have a non-Esri basemap (e.g. a VectorTileLayer basemap with a custom style) or no basemap at all, use this parameter to indicate whether the background of the visualization is `light` or `dark`. **Possible Values:** light | dark + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-type.html#getSchemeByName) + */ + basemapTheme?: string; /** * The geometry type of the features to visualize. **Possible Values:** point | multipoint | polyline | polygon | mesh * @@ -32486,7 +34096,13 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-type.html#getSchemesByTag) */ - basemap: string | Basemap; + basemap?: string | Basemap; + /** + * If you have a non-Esri basemap (e.g. a VectorTileLayer basemap with a custom style) or no basemap at all, use this parameter to indicate whether the background of the visualization is `light` or `dark`. **Possible Values:** light | dark + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-type.html#getSchemesByTag) + */ + basemapTheme?: string; /** * The geometry type of the features to visualize. **Possible Values:** point | multipoint | polyline | polygon | mesh * @@ -32517,11 +34133,17 @@ declare namespace __esri { export interface typeGetSchemesParams extends Object { /** - * The basemap to pair with the visualization. This value indicates the best symbol color for visualizing features with the given basemap. + * The Esri basemap to pair with the visualization. This value indicates the best symbol colors for visualizing features against the given basemap. If you have a non-Esri basemap (e.g. a VectorTileLayer basemap with a custom style) or no basemap at all, then use the `basemapTheme` parameter instead of this parameter. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-type.html#getSchemes) */ - basemap: string | Basemap; + basemap?: string | Basemap; + /** + * If you have a non-Esri basemap (e.g. a VectorTileLayer basemap with a custom style) or no basemap at all, use this parameter to indicate whether the background of the visualization is `light` or `dark`. **Possible Values:** light | dark + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-type.html#getSchemes) + */ + basemapTheme?: string; /** * The geometry type of the features to visualize. **Possible Values:** point | multipoint | polyline | polygon | mesh * @@ -32757,6 +34379,12 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-type.html#TypeSchemes) */ basemapId: string; + /** + * Indicates whether the average basemap color is `light` or `dark`. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-symbology-type.html#TypeSchemes) + */ + basemapTheme: string; } export interface TypeSchemeForPointOutline extends Object { @@ -32789,200 +34417,6 @@ declare namespace __esri { width: number; } - interface StretchRenderer extends Renderer { - /** - * The stretched values are mapped to this specified color ramp. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html#colorRamp) - */ - colorRamp: ColorRamp; - /** - * The computeGamma automatically calculates best gamma value to render exported image based on empirical model. This is applicable to any stretch type when [useGamma](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html#useGamma) is `true`. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html#computeGamma) - */ - computeGamma: boolean; - /** - * When Dynamic Range Adjustment is `true`, the statistics based on the current display extent are calculated as you zoom and pan around the image. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html#dynamicRangeAdjustment) - */ - dynamicRangeAdjustment: boolean; - /** - * The gamma values to be used if [useGamma](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html#useGamma) is set to `false`. Gamma refers to the degree of contrast between the mid-level gray values of a raster dataset. Gamma does not affect the black or white values in a raster dataset, only the middle values. By applying a gamma correction, you can control the overall brightness of an [ImageryLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-ImageryLayer.html). - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html#gamma) - */ - gamma: number[]; - /** - * Applicable when [stretchType](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html#stretchType) is percent-clip. Specifies the percentage of the highest values to exclude from the stretch. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html#maxPercent) - */ - maxPercent: number; - /** - * Applicable when [stretchType](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html#stretchType) is percent-clip. Specifies the percentage of the lowest values to exclude from the stretch. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html#minPercent) - */ - minPercent: number; - /** - * Applicable when [stretchType](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html#stretchType) is standard-deviation. Specifies the number of standard deviations to use. The values beyond the number of standard deviations become the [outputMin](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html#outputMin) and [outputMax](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html#outputMax). The remaining values are linearly stretched between [outputMin](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html#outputMin) and [outputMax](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html#outputMax). - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html#numberOfStandardDeviations) - */ - numberOfStandardDeviations: number; - /** - * The outputMax denotes the Output Maximum, which is the highest pixel value for the histogram. The [outputMin](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html#outputMin) and [outputMax](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html#outputMax) will set the range of values that will then be linearly contrast stretched. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html#outputMax) - */ - outputMax: number; - /** - * The outputMin denotes the Output Minimum, which is the lowest pixel value for the histogram. The [outputMin](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html#outputMin) and [outputMax](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html#outputMax) will set the range of values that will then be linearly contrast stretched. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html#outputMin) - */ - outputMin: number; - /** - * The Strength Level determines how much of the sigmoidal function will be used in the stretch. A low value such as 1 will only use the middle portion of the curve, which tends to produce dull and faint colors. A high value such as 6 will use the entire curve, which tends to produce bold and sharp colors. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html#sigmoidStrengthLevel) - */ - sigmoidStrengthLevel: number; - /** - * The stretch type defines a histogram stretch that will be applied to the rasters to enhance their appearance. Stretching improves the appearance of the data by spreading the pixel values along a histogram from the minimum and maximum values defined by their bit depth. For example, an 8-bit raster dataset or mosaic dataset will be stretched from 0 to 255. Different stretches will produce different results in the raster display. The possible stretch types are listed below. - * - * Value | Description - * ------|------------ - * none | No stretch method will be applied, even if statistics exist. - * standard-deviation | This stretch type applies a linear stretch between the values defined by the standard deviation value. - * histogram-equalization | The pixel values are stretched to adjust the contrast using the histogram of the data. - * min-max | This stretch type applies a linear stretch based on the output minimum and output maximum pixel values, which are used as the endpoints for the histogram. - * percent-clip | This stretch type applies a linear stretch between the defined [minPercent](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html#minPercent) and [maxPercent](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html#maxPercent) pixel values. - * sigmoid | The Sigmoid contrast stretch is designed to highlight moderate pixel values in your imagery while maintaining sufficient contrast at the extremes. - * - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html#stretchType) - * - * @default none - */ - stretchType: string; - /** - * The type of Renderer. For StretchRenderer this value is always `raster-stretch`. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html#type) - */ - readonly type: "raster-stretch"; - /** - * Denotes wether the [gamma](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html#gamma) value should be used. When `useGamma` is `false`, the gamma is calculated from the statistics and histogram of the data. The [gamma](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html#gamma) property is required if `useGamma` is `true`. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html#useGamma) - */ - useGamma: boolean; - } - - interface StretchRendererConstructor { - /** - * StretchRenderer defines the symbology with a gradual ramp of colors for each pixel in a [ImageryLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-ImageryLayer.html) based on the pixel value. The StretchRenderer works well when you have a large range of values to display, such as in imagery, aerial photographs, or elevation models. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html) - */ - - new (properties?: StretchRendererProperties): StretchRenderer; - - fromJSON(json: any): StretchRenderer; - } - - export const StretchRenderer: StretchRendererConstructor; - - interface StretchRendererProperties extends RendererProperties { - /** - * The stretched values are mapped to this specified color ramp. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html#colorRamp) - */ - colorRamp?: ColorRampProperties; - /** - * The computeGamma automatically calculates best gamma value to render exported image based on empirical model. This is applicable to any stretch type when [useGamma](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html#useGamma) is `true`. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html#computeGamma) - */ - computeGamma?: boolean; - /** - * When Dynamic Range Adjustment is `true`, the statistics based on the current display extent are calculated as you zoom and pan around the image. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html#dynamicRangeAdjustment) - */ - dynamicRangeAdjustment?: boolean; - /** - * The gamma values to be used if [useGamma](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html#useGamma) is set to `false`. Gamma refers to the degree of contrast between the mid-level gray values of a raster dataset. Gamma does not affect the black or white values in a raster dataset, only the middle values. By applying a gamma correction, you can control the overall brightness of an [ImageryLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-ImageryLayer.html). - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html#gamma) - */ - gamma?: number[]; - /** - * Applicable when [stretchType](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html#stretchType) is percent-clip. Specifies the percentage of the highest values to exclude from the stretch. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html#maxPercent) - */ - maxPercent?: number; - /** - * Applicable when [stretchType](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html#stretchType) is percent-clip. Specifies the percentage of the lowest values to exclude from the stretch. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html#minPercent) - */ - minPercent?: number; - /** - * Applicable when [stretchType](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html#stretchType) is standard-deviation. Specifies the number of standard deviations to use. The values beyond the number of standard deviations become the [outputMin](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html#outputMin) and [outputMax](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html#outputMax). The remaining values are linearly stretched between [outputMin](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html#outputMin) and [outputMax](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html#outputMax). - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html#numberOfStandardDeviations) - */ - numberOfStandardDeviations?: number; - /** - * The outputMax denotes the Output Maximum, which is the highest pixel value for the histogram. The [outputMin](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html#outputMin) and [outputMax](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html#outputMax) will set the range of values that will then be linearly contrast stretched. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html#outputMax) - */ - outputMax?: number; - /** - * The outputMin denotes the Output Minimum, which is the lowest pixel value for the histogram. The [outputMin](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html#outputMin) and [outputMax](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html#outputMax) will set the range of values that will then be linearly contrast stretched. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html#outputMin) - */ - outputMin?: number; - /** - * The Strength Level determines how much of the sigmoidal function will be used in the stretch. A low value such as 1 will only use the middle portion of the curve, which tends to produce dull and faint colors. A high value such as 6 will use the entire curve, which tends to produce bold and sharp colors. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html#sigmoidStrengthLevel) - */ - sigmoidStrengthLevel?: number; - /** - * The stretch type defines a histogram stretch that will be applied to the rasters to enhance their appearance. Stretching improves the appearance of the data by spreading the pixel values along a histogram from the minimum and maximum values defined by their bit depth. For example, an 8-bit raster dataset or mosaic dataset will be stretched from 0 to 255. Different stretches will produce different results in the raster display. The possible stretch types are listed below. - * - * Value | Description - * ------|------------ - * none | No stretch method will be applied, even if statistics exist. - * standard-deviation | This stretch type applies a linear stretch between the values defined by the standard deviation value. - * histogram-equalization | The pixel values are stretched to adjust the contrast using the histogram of the data. - * min-max | This stretch type applies a linear stretch based on the output minimum and output maximum pixel values, which are used as the endpoints for the histogram. - * percent-clip | This stretch type applies a linear stretch between the defined [minPercent](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html#minPercent) and [maxPercent](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html#maxPercent) pixel values. - * sigmoid | The Sigmoid contrast stretch is designed to highlight moderate pixel values in your imagery while maintaining sufficient contrast at the extremes. - * - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html#stretchType) - * - * @default none - */ - stretchType?: string; - /** - * Denotes wether the [gamma](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html#gamma) value should be used. When `useGamma` is `false`, the gamma is calculated from the statistics and histogram of the data. The [gamma](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html#gamma) property is required if `useGamma` is `true`. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-StretchRenderer.html#useGamma) - */ - useGamma?: boolean; - } - interface AttributeColorInfo extends Accessor, JSONSupport { /** * The color used to render dots representing the given [field](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-support-AttributeColorInfo.html#field). @@ -33074,11 +34508,11 @@ declare namespace __esri { interface AuthoringInfo extends Accessor, JSONSupport { /** - * Indicates which classification method was used if a classed color or classed size renderer was generated using one of the Smart Mapping functions. **Possible Values:** equal-interval | manual | natural-breaks | quantile | standard-deviation + * Indicates which classification method was used if a classed color or classed size renderer was generated using one of the Smart Mapping functions. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-support-AuthoringInfo.html#classificationMethod) */ - classificationMethod: string; + classificationMethod: "equal-interval" | "manual" | "natural-breaks" | "quantile" | "standard-deviation"; /** * Indicates the color ramp was used to create the symbols for Unique Value or Class Breaks renderer for Imagery Layer. * @@ -33110,11 +34544,22 @@ declare namespace __esri { */ focus: string; /** - * **Only applicable to renderer used in web scenes.** Indicates the unit used in real-world sizes. **Possible Values:** inches | feet | yards | miles | nautical-miles | millimeters | centimeters | decimeters | meters | kilometers | decimal-degrees + * **Only applicable to renderer used in web scenes.** Indicates the unit used in real-world sizes. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-support-AuthoringInfo.html#lengthUnit) */ - lengthUnit: string; + lengthUnit: + | "inches" + | "feet" + | "yards" + | "miles" + | "nautical-miles" + | "millimeters" + | "centimeters" + | "decimeters" + | "meters" + | "kilometers" + | "decimal-degrees"; /** * Indicates the value of the upper handle if a slider was used to generate the dot value for dot density renderer. * @@ -33140,11 +34585,18 @@ declare namespace __esri { */ standardDeviationInterval: number; /** - * Indicates the renderer type generated from one of the Smart Mapping functions. **Possible Values:** class-breaks-size | class-breaks-color | classed-color | classed-size | predominance | relationship | univariate-color-size + * Indicates the renderer type generated from one of the Smart Mapping functions. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-support-AuthoringInfo.html#type) */ - type: string; + type: + | "class-breaks-size" + | "class-breaks-color" + | "classed-color" + | "classed-size" + | "predominance" + | "relationship" + | "univariate-color-size"; /** * Contains authoring properties of visual variables generated from one of the Smart Mapping methods or sliders. * @@ -33172,11 +34624,11 @@ declare namespace __esri { interface AuthoringInfoProperties { /** - * Indicates which classification method was used if a classed color or classed size renderer was generated using one of the Smart Mapping functions. **Possible Values:** equal-interval | manual | natural-breaks | quantile | standard-deviation + * Indicates which classification method was used if a classed color or classed size renderer was generated using one of the Smart Mapping functions. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-support-AuthoringInfo.html#classificationMethod) */ - classificationMethod?: string; + classificationMethod?: "equal-interval" | "manual" | "natural-breaks" | "quantile" | "standard-deviation"; /** * Indicates the color ramp was used to create the symbols for Unique Value or Class Breaks renderer for Imagery Layer. * @@ -33208,11 +34660,22 @@ declare namespace __esri { */ focus?: string; /** - * **Only applicable to renderer used in web scenes.** Indicates the unit used in real-world sizes. **Possible Values:** inches | feet | yards | miles | nautical-miles | millimeters | centimeters | decimeters | meters | kilometers | decimal-degrees + * **Only applicable to renderer used in web scenes.** Indicates the unit used in real-world sizes. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-support-AuthoringInfo.html#lengthUnit) */ - lengthUnit?: string; + lengthUnit?: + | "inches" + | "feet" + | "yards" + | "miles" + | "nautical-miles" + | "millimeters" + | "centimeters" + | "decimeters" + | "meters" + | "kilometers" + | "decimal-degrees"; /** * Indicates the value of the upper handle if a slider was used to generate the dot value for dot density renderer. * @@ -33238,11 +34701,18 @@ declare namespace __esri { */ standardDeviationInterval?: number; /** - * Indicates the renderer type generated from one of the Smart Mapping functions. **Possible Values:** class-breaks-size | class-breaks-color | classed-color | classed-size | predominance | relationship | univariate-color-size + * Indicates the renderer type generated from one of the Smart Mapping functions. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-support-AuthoringInfo.html#type) */ - type?: string; + type?: + | "class-breaks-size" + | "class-breaks-color" + | "classed-color" + | "classed-size" + | "predominance" + | "relationship" + | "univariate-color-size"; /** * Contains authoring properties of visual variables generated from one of the Smart Mapping methods or sliders. * @@ -33355,29 +34825,29 @@ declare namespace __esri { */ startTime: string | number; /** - * If the UI offers the option to display values based on a ratio or percentage, this indicates which selection was made. **Possible Values:** percent | percent-of-total | ratio + * If the UI offers the option to display values based on a ratio or percentage, this indicates which selection was made. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-support-AuthoringInfoVisualVariable.html#style) */ - style: string; + style: "percent" | "percent-of-total" | "ratio"; /** - * Indicates the theme selected by the user when generating a renderer or visual variable with one of the Smart Mapping functions. **Possible Values:** above-and-below | centered-on | extremes | high-to-low + * Indicates the theme selected by the user when generating a renderer or visual variable with one of the Smart Mapping functions. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-support-AuthoringInfoVisualVariable.html#theme) */ - theme: string; + theme: "above-and-below" | "centered-on" | "extremes" | "high-to-low"; /** - * The type of visual variable generated. **Possible Values:** color | size | opacity + * The type of visual variable generated. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-support-AuthoringInfoVisualVariable.html#type) */ - type: string; + type: "color" | "size" | "opacity"; /** - * If an age or timeline renderer was generated, indicates the time units used. **Possible Values:** seconds | minutes | hours | days | months | years + * If an age or timeline renderer was generated, indicates the time units used. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-support-AuthoringInfoVisualVariable.html#units) */ - units: string; + units: "seconds" | "minutes" | "hours" | "days" | "months" | "years"; /** * Creates a deep clone of the instance. @@ -33429,29 +34899,29 @@ declare namespace __esri { */ startTime?: string | number; /** - * If the UI offers the option to display values based on a ratio or percentage, this indicates which selection was made. **Possible Values:** percent | percent-of-total | ratio + * If the UI offers the option to display values based on a ratio or percentage, this indicates which selection was made. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-support-AuthoringInfoVisualVariable.html#style) */ - style?: string; + style?: "percent" | "percent-of-total" | "ratio"; /** - * Indicates the theme selected by the user when generating a renderer or visual variable with one of the Smart Mapping functions. **Possible Values:** above-and-below | centered-on | extremes | high-to-low + * Indicates the theme selected by the user when generating a renderer or visual variable with one of the Smart Mapping functions. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-support-AuthoringInfoVisualVariable.html#theme) */ - theme?: string; + theme?: "above-and-below" | "centered-on" | "extremes" | "high-to-low"; /** - * The type of visual variable generated. **Possible Values:** color | size | opacity + * The type of visual variable generated. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-support-AuthoringInfoVisualVariable.html#type) */ - type?: string; + type?: "color" | "size" | "opacity"; /** - * If an age or timeline renderer was generated, indicates the time units used. **Possible Values:** seconds | minutes | hours | days | months | years + * If an age or timeline renderer was generated, indicates the time units used. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-support-AuthoringInfoVisualVariable.html#units) */ - units?: string; + units?: "seconds" | "minutes" | "hours" | "days" | "months" | "years"; } interface ClassBreakInfo extends Accessor, JSONSupport { @@ -33572,7 +35042,7 @@ declare namespace __esri { interface supportJsonUtils { /** - * Creates a new instance of an appropriate [Renderer](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-Renderer.html) class and initializes it with values from a JSON object generated from a product in the ArcGIS platform. The object passed into the input `json` parameter often comes from a response to a query operation in the REST API or a [toJSON()](http://pro.arcgis.com/en/pro-app/tool-reference/conversion/features-to-json.htm) method from another ArcGIS product. See the [Using fromJSON()](https://developers.arcgis.com/javascript/latest/guide/using-fromjson/index.html) topic in the Guide for details and examples of when and how to use this function. + * Creates a new instance of an appropriate [Renderer](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-Renderer.html) class and initializes it with values from a JSON object generated from a product in the ArcGIS platform. The object passed into the input `json` parameter often comes from a response to a query operation in the REST API or a [toJSON()](http://pro.arcgis.com/en/pro-app/tool-reference/conversion/features-to-json.htm) method from another ArcGIS product. See the [Using fromJSON()](https://developers.arcgis.com/javascript/latest/guide/programming-patterns/#using-fromjson) topic in the Guide for details and examples of when and how to use this function. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-support-jsonUtils.html#fromJSON) * @@ -33649,7 +35119,7 @@ declare namespace __esri { value?: string | number; } - interface UniqueValueRenderer extends Renderer, VisualVariablesRenderer { + interface UniqueValueRenderer extends Renderer, VisualVariablesMixin { /** * This property is only relevant When symbolizing polygon features with marker symbols (or [IconSymbol3DLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-IconSymbol3DLayer.html)) in the [uniqueValueInfos](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-UniqueValueRenderer.html#uniqueValueInfos) of this renderer. This is usually done when adding a [SizeVariable](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-visualVariables-SizeVariable.html) to the [visualVariables](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-UniqueValueRenderer.html#visualVariables)) in a bivariate visualization (color indicates a type-based value and size indicates the value of a separate numeric field). Use this property to set a background [FillSymbol](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-FillSymbol.html) (or [PolygonSymbol3D](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-PolygonSymbol3D.html) if visualizing data in 3D) to visualize the boundaries of each polygon. * @@ -33743,7 +35213,7 @@ declare namespace __esri { */ legendOptions: UniqueValueRendererLegendOptions; /** - * The type of Renderer. For UniqueValueRenderer this value is always `unique-value`. + * The type of Renderer. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-UniqueValueRenderer.html#type) */ @@ -33819,7 +35289,7 @@ declare namespace __esri { export const UniqueValueRenderer: UniqueValueRendererConstructor; - interface UniqueValueRendererProperties extends RendererProperties, VisualVariablesRendererProperties { + interface UniqueValueRendererProperties extends RendererProperties, VisualVariablesMixinProperties { /** * This property is only relevant When symbolizing polygon features with marker symbols (or [IconSymbol3DLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-IconSymbol3DLayer.html)) in the [uniqueValueInfos](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-UniqueValueRenderer.html#uniqueValueInfos) of this renderer. This is usually done when adding a [SizeVariable](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-visualVariables-SizeVariable.html) to the [visualVariables](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-UniqueValueRenderer.html#visualVariables)) in a bivariate visualization (color indicates a type-based value and size indicates the value of a separate numeric field). Use this property to set a background [FillSymbol](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-FillSymbol.html) (or [PolygonSymbol3D](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-PolygonSymbol3D.html) if visualizing data in 3D) to visualize the boundaries of each polygon. * @@ -33955,7 +35425,7 @@ declare namespace __esri { */ stops: ColorStop[]; /** - * The visual variable type. For ColorVariable, this value is always `color`. + * The visual variable type. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-visualVariables-ColorVariable.html#type) */ @@ -34014,7 +35484,7 @@ declare namespace __esri { */ stops: OpacityStop[]; /** - * The visual variable type. For OpacityVariable, this value is always `opacity`. + * The visual variable type. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-visualVariables-OpacityVariable.html#type) */ @@ -34074,7 +35544,7 @@ declare namespace __esri { * * @default heading */ - axis: string; + axis: "heading" | "tilt" | "roll"; /** * Defines the origin and direction of rotation depending on how the angle of rotation was measured. See the table below for a list of possible values. This property only applies to rotations around the `heading` axis. * @@ -34088,9 +35558,9 @@ declare namespace __esri { * * @default geographic */ - rotationType: string; + rotationType: "geographic" | "arithmetic"; /** - * The visual variable type. For RotationVariable, this value is always `rotation`. + * The visual variable type. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-visualVariables-RotationVariable.html#type) */ @@ -34135,7 +35605,7 @@ declare namespace __esri { * * @default heading */ - axis?: string; + axis?: "heading" | "tilt" | "roll"; /** * Defines the origin and direction of rotation depending on how the angle of rotation was measured. See the table below for a list of possible values. This property only applies to rotations around the `heading` axis. * @@ -34149,7 +35619,7 @@ declare namespace __esri { * * @default geographic */ - rotationType?: string; + rotationType?: "geographic" | "arithmetic"; } interface SizeVariable extends VisualVariable, JSONSupport { @@ -34169,9 +35639,9 @@ declare namespace __esri { * * @default all */ - axis: string; + axis: "width" | "depth" | "height" | "width-and-depth" | "all"; /** - * Deprecated. Use [valueExpression](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-visualVariables-SizeVariable.html#valueExpression) instead**. The only supported expression is `view.scale`. + * The only supported expression is `view.scale`. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-visualVariables-SizeVariable.html#expression) */ @@ -34225,7 +35695,7 @@ declare namespace __esri { */ target: string; /** - * The visual variable type. For SizeVariable, this value is always `size`. + * The visual variable type. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-visualVariables-SizeVariable.html#type) */ @@ -34250,13 +35720,25 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-visualVariables-SizeVariable.html#valueRepresentation) */ - valueRepresentation: string; + valueRepresentation: "radius" | "diameter" | "area" | "width" | "distance"; /** - * Indicates the unit of measurement used to interpret the value returned by [field](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-visualVariables-SizeVariable.html#field) or [valueExpression](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-visualVariables-SizeVariable.html#valueExpression). For 3D volumetric symbols the default is `meters`. This property should not be used if the data value represents a thematic quantity (e.g. traffic count, census data, etc.). **Possible Values:** unknown | inches | feet | yards | miles | nautical-miles | millimeters | centimeters | decimeters | meters | kilometers | decimal-degrees + * Indicates the unit of measurement used to interpret the value returned by [field](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-visualVariables-SizeVariable.html#field) or [valueExpression](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-visualVariables-SizeVariable.html#valueExpression). For 3D volumetric symbols the default is `meters`. This property should not be used if the data value represents a thematic quantity (e.g. traffic count, census data, etc.). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-visualVariables-SizeVariable.html#valueUnit) */ - valueUnit: string; + valueUnit: + | "unknown" + | "inches" + | "feet" + | "yards" + | "miles" + | "nautical-miles" + | "millimeters" + | "centimeters" + | "decimeters" + | "meters" + | "kilometers" + | "decimal-degrees"; /** * Creates a deep clone of the SizeVisualVariable. @@ -34266,6 +35748,14 @@ declare namespace __esri { * */ clone(): SizeVariable; + /** + * Modifies the SizeVariable in place by flipping the sizes in the [stops](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-visualVariables-SizeVariable.html#stops). This is designed for scenarios where you want small numbers (such as rankings 1, 2, 3) to be rendered with larger icons. This function is particularly useful for flipping the sizes of a SizeVariable after it has been returned from a method in the [sizeRendererCreator](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-size.html) module. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-visualVariables-SizeVariable.html#flipSizes) + * + * + */ + flipSizes(): void; } interface SizeVariableConstructor { @@ -34299,9 +35789,9 @@ declare namespace __esri { * * @default all */ - axis?: string; + axis?: "width" | "depth" | "height" | "width-and-depth" | "all"; /** - * Deprecated. Use [valueExpression](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-visualVariables-SizeVariable.html#valueExpression) instead**. The only supported expression is `view.scale`. + * The only supported expression is `view.scale`. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-visualVariables-SizeVariable.html#expression) */ @@ -34374,13 +35864,25 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-visualVariables-SizeVariable.html#valueRepresentation) */ - valueRepresentation?: string; + valueRepresentation?: "radius" | "diameter" | "area" | "width" | "distance"; /** - * Indicates the unit of measurement used to interpret the value returned by [field](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-visualVariables-SizeVariable.html#field) or [valueExpression](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-visualVariables-SizeVariable.html#valueExpression). For 3D volumetric symbols the default is `meters`. This property should not be used if the data value represents a thematic quantity (e.g. traffic count, census data, etc.). **Possible Values:** unknown | inches | feet | yards | miles | nautical-miles | millimeters | centimeters | decimeters | meters | kilometers | decimal-degrees + * Indicates the unit of measurement used to interpret the value returned by [field](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-visualVariables-SizeVariable.html#field) or [valueExpression](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-visualVariables-SizeVariable.html#valueExpression). For 3D volumetric symbols the default is `meters`. This property should not be used if the data value represents a thematic quantity (e.g. traffic count, census data, etc.). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-visualVariables-SizeVariable.html#valueUnit) */ - valueUnit?: string; + valueUnit?: + | "unknown" + | "inches" + | "feet" + | "yards" + | "miles" + | "nautical-miles" + | "millimeters" + | "centimeters" + | "decimeters" + | "meters" + | "kilometers" + | "decimal-degrees"; } /** @@ -34525,7 +36027,7 @@ declare namespace __esri { */ valueExpression?: string; /** - * **Deprecated since version 4.2. Use `valueExpression` instead**. The only supported expression is `view.scale`. + * The only supported expression is `view.scale`. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-visualVariables-SizeVariable.html#ScaleDependentIcons) */ @@ -34576,7 +36078,7 @@ declare namespace __esri { */ valueExpression: string; /** - * **Deprecated since version 4.2. Use `valueExpression` instead**. The only supported expression is `view.scale`. + * The only supported expression is `view.scale`. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-visualVariables-SizeVariable.html#ScaleDependentStops) */ @@ -34920,13 +36422,6 @@ declare namespace __esri { */ export type renderersHeatmapRenderer = HeatmapRenderer; - /** - * RasterRenderer. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers.html#RasterRenderer) - */ - export type RasterRenderer = ClassBreaksRenderer | UniqueValueRenderer; - /** * Renderer. * @@ -35687,12 +37182,8 @@ declare namespace __esri { * @default 1px */ size: number; - /** - * For LineCallout3D the type is always `line`. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-callouts-LineCallout3D.html#type) - */ - type: string; + + type: "line"; /** * Creates a deep clone of the callout. @@ -35741,12 +37232,8 @@ declare namespace __esri { * @default 1px */ size?: number | string; - /** - * For LineCallout3D the type is always `line`. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-callouts-LineCallout3D.html#type) - */ - type?: string; + + type?: "line"; } export interface LineCallout3DBorderProperties extends Object { @@ -35779,7 +37266,7 @@ declare namespace __esri { */ data: any; /** - * For CIMSymbol, the type is always `cim`. + * The symbol type. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-CIMSymbol.html#type) */ @@ -35897,7 +37384,7 @@ declare namespace __esri { interface SketchEdges3D extends Edges3D { /** - * For SketchEdges3D the type is always `sketch`. + * The symbol type. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-edges-SketchEdges3D.html#type) */ @@ -35929,7 +37416,7 @@ declare namespace __esri { interface SketchEdges3DProperties extends Edges3DProperties { /** - * For SketchEdges3D the type is always `sketch`. + * The symbol type. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-edges-SketchEdges3D.html#type) */ @@ -35938,7 +37425,7 @@ declare namespace __esri { interface SolidEdges3D extends Edges3D { /** - * For SolidEdges3D the type is always `solid`. + * The symbol type. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-edges-SolidEdges3D.html#type) */ @@ -35970,7 +37457,7 @@ declare namespace __esri { interface SolidEdges3DProperties extends Edges3DProperties { /** - * For SolidEdges3D the type is always `solid`. + * The symbol type. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-edges-SolidEdges3D.html#type) */ @@ -36007,7 +37494,7 @@ declare namespace __esri { */ size: number; /** - * For ExtrudeSymbol3DLayer the type is always `extrude`. + * The symbol type. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-ExtrudeSymbol3DLayer.html#type) */ @@ -36097,6 +37584,12 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-FillSymbol.html#outline) */ outline: SimpleLineSymbol; + /** + * The symbol type. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-FillSymbol.html#type) + */ + type: "simple-fill" | "picture-fill"; } interface FillSymbolConstructor { @@ -36120,6 +37613,12 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-FillSymbol.html#outline) */ outline?: SimpleLineSymbolProperties; + /** + * The symbol type. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-FillSymbol.html#type) + */ + type?: "simple-fill" | "picture-fill"; } interface FillSymbol3DLayer extends Symbol3DLayer { @@ -36150,7 +37649,7 @@ declare namespace __esri { */ outline: FillSymbol3DLayerOutline; /** - * For FillSymbol3DLayer the type is always `fill`. + * The symbol type. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-FillSymbol3DLayer.html#type) */ @@ -36293,7 +37792,7 @@ declare namespace __esri { interface Font extends Accessor, JSONSupport { /** - * The text decoration. **Possible Values:** underline | line-through | none + * The text decoration. * > **Known Limitations** This property is currently not supported in 3D [SceneViews](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-Font.html#decoration) @@ -36319,7 +37818,7 @@ declare namespace __esri { */ size: number; /** - * The text style. Specifies whether a font should be styled: normal, italic, or oblique. **Possible Values:** normal | italic | oblique + * The text style. Specifies whether a font should be styled: normal, italic, or oblique. * > **Known Limitations** `oblique` is not supported in 2D [FeatureLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html), [CSVLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-CSVLayer.html), and [StreamLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-StreamLayer.html) labels. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-Font.html#style) @@ -36328,7 +37827,7 @@ declare namespace __esri { */ style: "normal" | "italic" | "oblique"; /** - * The text weight. Specifies the level of boldness. **Possible Values:** normal | bold | bolder | lighter + * The text weight. Specifies the level of boldness. * > **Known Limitations** `bolder` and `lighter` are not supported in 2D [FeatureLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html), [CSVLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-CSVLayer.html), and [StreamLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-StreamLayer.html) labels. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-Font.html#weight) @@ -36357,7 +37856,7 @@ declare namespace __esri { interface FontProperties { /** - * The text decoration. **Possible Values:** underline | line-through | none + * The text decoration. * > **Known Limitations** This property is currently not supported in 3D [SceneViews](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-Font.html#decoration) @@ -36383,7 +37882,7 @@ declare namespace __esri { */ size?: number | string; /** - * The text style. Specifies whether a font should be styled: normal, italic, or oblique. **Possible Values:** normal | italic | oblique + * The text style. Specifies whether a font should be styled: normal, italic, or oblique. * > **Known Limitations** `oblique` is not supported in 2D [FeatureLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html), [CSVLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-CSVLayer.html), and [StreamLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-StreamLayer.html) labels. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-Font.html#style) @@ -36392,7 +37891,7 @@ declare namespace __esri { */ style?: "normal" | "italic" | "oblique"; /** - * The text weight. Specifies the level of boldness. **Possible Values:** normal | bold | bolder | lighter + * The text weight. Specifies the level of boldness. * > **Known Limitations** `bolder` and `lighter` are not supported in 2D [FeatureLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html), [CSVLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-CSVLayer.html), and [StreamLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-StreamLayer.html) labels. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-Font.html#weight) @@ -36404,13 +37903,23 @@ declare namespace __esri { interface IconSymbol3DLayer extends Symbol3DLayer { /** - * The positioning of the icon relative to the geometry. **Possible values:** center | left | right | top | bottom | top-left | top-right | bottom-left | bottom-right + * The positioning of the icon relative to the geometry. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-IconSymbol3DLayer.html#anchor) * * @default center */ - anchor: string; + anchor: + | "center" + | "left" + | "right" + | "top" + | "bottom" + | "top-left" + | "top-right" + | "bottom-left" + | "bottom-right" + | "relative"; /** * Defines the [anchor](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-IconSymbol3DLayer.html#anchor) relative to the center of the icon. It is specified as a ratio of the icon's dimensions. For example, a value of `{ x: 0, y: 0 }` designates the center of the icon, while a value of `{ x: -0.5, y: -0.5 }` causes the top-left corner of the icon to coincide with the feature geometry. This property only applies when [anchor](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-IconSymbol3DLayer.html#anchor) is set to `relative`. * @@ -36447,7 +37956,7 @@ declare namespace __esri { */ size: number; /** - * For IconSymbol3DLayer the type is always `icon`. + * The symbol type. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-IconSymbol3DLayer.html#type) */ @@ -36479,13 +37988,23 @@ declare namespace __esri { interface IconSymbol3DLayerProperties extends Symbol3DLayerProperties { /** - * The positioning of the icon relative to the geometry. **Possible values:** center | left | right | top | bottom | top-left | top-right | bottom-left | bottom-right + * The positioning of the icon relative to the geometry. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-IconSymbol3DLayer.html#anchor) * * @default center */ - anchor?: string; + anchor?: + | "center" + | "left" + | "right" + | "top" + | "bottom" + | "top-left" + | "top-right" + | "bottom-left" + | "bottom-right" + | "relative"; /** * Defines the [anchor](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-IconSymbol3DLayer.html#anchor) relative to the center of the icon. It is specified as a ratio of the icon's dimensions. For example, a value of `{ x: 0, y: 0 }` designates the center of the icon, while a value of `{ x: -0.5, y: -0.5 }` causes the top-left corner of the icon to coincide with the feature geometry. This property only applies when [anchor](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-IconSymbol3DLayer.html#anchor) is set to `relative`. * @@ -36631,7 +38150,7 @@ declare namespace __esri { */ callout: Callout3D; /** - * For LabelSymbol3D the type is always `label-3d`. + * The symbol type. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-LabelSymbol3D.html#type) */ @@ -36725,6 +38244,12 @@ declare namespace __esri { } interface LineSymbol extends Symbol { + /** + * The symbol type. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-LineSymbol.html#type) + */ + type: "simple-line"; /** * The width of the symbol in points. This value may be autocast with a string expressing size in points or pixels (e.g. `12px`). * @@ -36750,6 +38275,12 @@ declare namespace __esri { export const LineSymbol: LineSymbolConstructor; interface LineSymbolProperties extends SymbolProperties { + /** + * The symbol type. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-LineSymbol.html#type) + */ + type?: "simple-line"; /** * The width of the symbol in points. This value may be autocast with a string expressing size in points or pixels (e.g. `12px`). * @@ -36762,7 +38293,7 @@ declare namespace __esri { interface LineSymbol3D extends Symbol3D { /** - * For LineSymbol3D the type is always `line-3d`. + * The symbol type. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-LineSymbol3D.html#type) */ @@ -36840,7 +38371,7 @@ declare namespace __esri { */ size: number; /** - * For LineSymbol3DLayer the type is always `line`. + * The symbol type. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-LineSymbol3DLayer.html#type) */ @@ -36949,6 +38480,12 @@ declare namespace __esri { * @default 0 */ angle: number; + /** + * The symbol type. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-MarkerSymbol.html#type) + */ + type: "simple-marker" | "picture-marker"; /** * The offset on the x-axis in points. This value may be autocast with a string expressing size in points or pixels (e.g. `12px`). * @@ -36991,6 +38528,12 @@ declare namespace __esri { * @default 0 */ angle?: number; + /** + * The symbol type. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-MarkerSymbol.html#type) + */ + type?: "simple-marker" | "picture-marker"; /** * The offset on the x-axis in points. This value may be autocast with a string expressing size in points or pixels (e.g. `12px`). * @@ -37011,7 +38554,7 @@ declare namespace __esri { interface MeshSymbol3D extends Symbol3D { /** - * For MeshSymbol3D, the type is always `mesh-3d`. + * The symbol type. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-MeshSymbol3D.html#type) */ @@ -37051,13 +38594,13 @@ declare namespace __esri { * * For `href` resources, the origin coincides with the origin of the 3D model. * * - * If `anchor` is set to `relative`, the anchor is defined by [`anchorPosition`](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-ObjectSymbol3DLayer.html#anchorPosition) as a fraction of the symbol's bounding box. **Possible Values:** center | top | bottom | origin | relative + * If `anchor` is set to `relative`, the anchor is defined by [`anchorPosition`](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-ObjectSymbol3DLayer.html#anchorPosition) as a fraction of the symbol's bounding box. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-ObjectSymbol3DLayer.html#anchor) * * @default origin */ - anchor: string; + anchor: "center" | "top" | "bottom" | "origin" | "relative"; /** * Defines the [anchor](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-ObjectSymbol3DLayer.html#anchor) relative to the center of the [symbol layer resource](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-ObjectSymbol3DLayer.html#resource). It is specified as a ratio of the resource's bounding box dimensions. For example, a value of `{ x: 0, y: 0, z: 0 }` designates the center, while a value of `{ x: -0.5, y: -0.5, z: -0.5 }` places the symbol at the lower south-west corner of the symbol's bounding box. This property only applies when [anchor](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-ObjectSymbol3DLayer.html#anchor) is set to `relative`. * @@ -37101,7 +38644,7 @@ declare namespace __esri { */ material: ObjectSymbol3DLayerMaterial; /** - * The primitive shape (`primitive`) or external 3D model (`href`) used to visualize the points. If both properties are present, `primitive` takes precedence and `href` is ignored. When using the `href` property, external 3D models must be present in glTF format. + * The primitive shape (`primitive`) or external 3D model (`href`) used to visualize the points. If both properties are present, `primitive` takes precedence and `href` is ignored. When using the `href` property, external 3D models must be present in [glTF format](https://www.khronos.org/gltf/). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-ObjectSymbol3DLayer.html#resource) * @@ -37121,7 +38664,7 @@ declare namespace __esri { */ tilt: number; /** - * For ObjectSymbol3DLayer the type is always `object`. + * The object type. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-ObjectSymbol3DLayer.html#type) */ @@ -37167,13 +38710,13 @@ declare namespace __esri { * * For `href` resources, the origin coincides with the origin of the 3D model. * * - * If `anchor` is set to `relative`, the anchor is defined by [`anchorPosition`](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-ObjectSymbol3DLayer.html#anchorPosition) as a fraction of the symbol's bounding box. **Possible Values:** center | top | bottom | origin | relative + * If `anchor` is set to `relative`, the anchor is defined by [`anchorPosition`](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-ObjectSymbol3DLayer.html#anchorPosition) as a fraction of the symbol's bounding box. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-ObjectSymbol3DLayer.html#anchor) * * @default origin */ - anchor?: string; + anchor?: "center" | "top" | "bottom" | "origin" | "relative"; /** * Defines the [anchor](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-ObjectSymbol3DLayer.html#anchor) relative to the center of the [symbol layer resource](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-ObjectSymbol3DLayer.html#resource). It is specified as a ratio of the resource's bounding box dimensions. For example, a value of `{ x: 0, y: 0, z: 0 }` designates the center, while a value of `{ x: -0.5, y: -0.5, z: -0.5 }` places the symbol at the lower south-west corner of the symbol's bounding box. This property only applies when [anchor](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-ObjectSymbol3DLayer.html#anchor) is set to `relative`. * @@ -37217,7 +38760,7 @@ declare namespace __esri { */ material?: ObjectSymbol3DLayerMaterialProperties; /** - * The primitive shape (`primitive`) or external 3D model (`href`) used to visualize the points. If both properties are present, `primitive` takes precedence and `href` is ignored. When using the `href` property, external 3D models must be present in glTF format. + * The primitive shape (`primitive`) or external 3D model (`href`) used to visualize the points. If both properties are present, `primitive` takes precedence and `href` is ignored. When using the `href` property, external 3D models must be present in [glTF format](https://www.khronos.org/gltf/). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-ObjectSymbol3DLayer.html#resource) * @@ -37308,7 +38851,7 @@ declare namespace __esri { */ primitive?: string; /** - * The URL to the 3D model in glTF format. The URL should point to a glTF file (.gltf or .glb) which can reference additional binary (.bin) and image files (.jpg, .png). See the guide topic on [Visualizing points with 3D symbols](https://developers.arcgis.com/javascript/latest/guide/visualizing-points-3d/index.html) to learn how to use a custom 3D model. + * The URL to the 3D model in [glTF format](https://www.khronos.org/gltf/). The URL should point to a glTF file (.gltf or .glb) which can reference additional binary (.bin) and image files (.jpg, .png). See the guide topic on [Visualizing points with 3D symbols](https://developers.arcgis.com/javascript/latest/guide/visualizing-points-3d/index.html) to learn how to use a custom 3D model. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-ObjectSymbol3DLayer.html#resource) */ @@ -37323,15 +38866,16 @@ declare namespace __esri { * ---------------|--------- * center | ![anchor-center](https://developers.arcgis.com/javascript/assets/img/apiref/symbols/anchor-center.png) * bottom | ![anchor-bottom](https://developers.arcgis.com/javascript/assets/img/apiref/symbols/anchor-bottom.png) + * top | ![anchor-top](https://developers.arcgis.com/javascript/assets/img/apiref/symbols/anchor-top.png) * * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-PathSymbol3DLayer.html#anchor) * * @default "center" */ - anchor: "center" | "bottom"; + anchor: "center" | "bottom" | "top"; /** - * Controls the shape at the start and end point of the path. See the table below for possible values. + * Controls the shape at the start and end point of the path. `none` will not render the faces that close the path. See the table below for possible values. * * Possible Value | Example * ---------------|--------- @@ -37382,7 +38926,7 @@ declare namespace __esri { */ material: PathSymbol3DLayerMaterial; /** - * Cross-section profile of the path geometry. Setting it to `circle` creates a path with a pipe shape and setting it to `quad` gives the path a rectangular shape. **Possible values:** circle | quad + * Cross-section profile of the path geometry. Setting it to `circle` creates a path with a pipe shape and setting it to `quad` gives the path a rectangular shape. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-PathSymbol3DLayer.html#profile) * @@ -37390,7 +38934,7 @@ declare namespace __esri { */ profile: "circle" | "quad"; /** - * Defines how the [profile](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-PathSymbol3DLayer.html#profile) is rotated as it is extruded along the [Polyline](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Polyline.html) geometry. The rotation axes (heading, tilt, roll) can be limited to constrain the orientation of the profile in the scene. Setting `profileOrientation` to `all` minimizes the twist along the line and ensures that the diameter of the resulting visualization corresponds to [width](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-PathSymbol3DLayer.html#width) and [height](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-PathSymbol3DLayer.html#height). Setting `profileOrientation` to `"heading"` ensures that the profile stays upright (no tilt or twist). Typically, `all` is used for `circle` profiles and `heading` is used for `quad` profiles. As an example, when setting `heading` on a path with a `quad` profile the path is oriented upright: ![profileRotation-heading](https://developers.arcgis.com/javascript/assets/img/apiref/symbols/profileRotation-heading.png) The same path with `profileRotation` set to `all` will rotate in all three degrees of freedom: ![profileRotation-all](https://developers.arcgis.com/javascript/assets/img/apiref/symbols/profileRotation-all.png) **Possible values:** heading | all + * Defines how the [profile](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-PathSymbol3DLayer.html#profile) is rotated as it is extruded along the [Polyline](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Polyline.html) geometry. The rotation axes (heading, tilt, roll) can be limited to constrain the orientation of the profile in the scene. Setting `profileOrientation` to `all` minimizes the twist along the line and ensures that the diameter of the resulting visualization corresponds to [width](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-PathSymbol3DLayer.html#width) and [height](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-PathSymbol3DLayer.html#height). Setting `profileOrientation` to `"heading"` ensures that the profile stays upright (no tilt or twist). Typically, `all` is used for `circle` profiles and `heading` is used for `quad` profiles. As an example, when setting `heading` on a path with a `quad` profile the path is oriented upright: ![profileRotation-heading](https://developers.arcgis.com/javascript/assets/img/apiref/symbols/profileRotation-heading.png) The same path with `profileRotation` set to `all` will rotate in all three degrees of freedom: ![profileRotation-all](https://developers.arcgis.com/javascript/assets/img/apiref/symbols/profileRotation-all.png) * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-PathSymbol3DLayer.html#profileRotation) * @@ -37398,13 +38942,13 @@ declare namespace __esri { */ profileRotation: "heading" | "all"; /** - * Sets the width and height of the path in meters. Since this property is deprecated use [width](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-PathSymbol3DLayer.html#width) or [height](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-PathSymbol3DLayer.html#height) instead. + * Sets the width and height of the path in meters. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-PathSymbol3DLayer.html#size) */ size: number; /** - * For PathSymbol3DLayer, the type is always `path`. + * The symbol type. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-PathSymbol3DLayer.html#type) */ @@ -37448,15 +38992,16 @@ declare namespace __esri { * ---------------|--------- * center | ![anchor-center](https://developers.arcgis.com/javascript/assets/img/apiref/symbols/anchor-center.png) * bottom | ![anchor-bottom](https://developers.arcgis.com/javascript/assets/img/apiref/symbols/anchor-bottom.png) + * top | ![anchor-top](https://developers.arcgis.com/javascript/assets/img/apiref/symbols/anchor-top.png) * * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-PathSymbol3DLayer.html#anchor) * * @default "center" */ - anchor?: "center" | "bottom"; + anchor?: "center" | "bottom" | "top"; /** - * Controls the shape at the start and end point of the path. See the table below for possible values. + * Controls the shape at the start and end point of the path. `none` will not render the faces that close the path. See the table below for possible values. * * Possible Value | Example * ---------------|--------- @@ -37507,7 +39052,7 @@ declare namespace __esri { */ material?: PathSymbol3DLayerMaterialProperties; /** - * Cross-section profile of the path geometry. Setting it to `circle` creates a path with a pipe shape and setting it to `quad` gives the path a rectangular shape. **Possible values:** circle | quad + * Cross-section profile of the path geometry. Setting it to `circle` creates a path with a pipe shape and setting it to `quad` gives the path a rectangular shape. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-PathSymbol3DLayer.html#profile) * @@ -37515,7 +39060,7 @@ declare namespace __esri { */ profile?: "circle" | "quad"; /** - * Defines how the [profile](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-PathSymbol3DLayer.html#profile) is rotated as it is extruded along the [Polyline](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Polyline.html) geometry. The rotation axes (heading, tilt, roll) can be limited to constrain the orientation of the profile in the scene. Setting `profileOrientation` to `all` minimizes the twist along the line and ensures that the diameter of the resulting visualization corresponds to [width](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-PathSymbol3DLayer.html#width) and [height](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-PathSymbol3DLayer.html#height). Setting `profileOrientation` to `"heading"` ensures that the profile stays upright (no tilt or twist). Typically, `all` is used for `circle` profiles and `heading` is used for `quad` profiles. As an example, when setting `heading` on a path with a `quad` profile the path is oriented upright: ![profileRotation-heading](https://developers.arcgis.com/javascript/assets/img/apiref/symbols/profileRotation-heading.png) The same path with `profileRotation` set to `all` will rotate in all three degrees of freedom: ![profileRotation-all](https://developers.arcgis.com/javascript/assets/img/apiref/symbols/profileRotation-all.png) **Possible values:** heading | all + * Defines how the [profile](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-PathSymbol3DLayer.html#profile) is rotated as it is extruded along the [Polyline](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Polyline.html) geometry. The rotation axes (heading, tilt, roll) can be limited to constrain the orientation of the profile in the scene. Setting `profileOrientation` to `all` minimizes the twist along the line and ensures that the diameter of the resulting visualization corresponds to [width](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-PathSymbol3DLayer.html#width) and [height](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-PathSymbol3DLayer.html#height). Setting `profileOrientation` to `"heading"` ensures that the profile stays upright (no tilt or twist). Typically, `all` is used for `circle` profiles and `heading` is used for `quad` profiles. As an example, when setting `heading` on a path with a `quad` profile the path is oriented upright: ![profileRotation-heading](https://developers.arcgis.com/javascript/assets/img/apiref/symbols/profileRotation-heading.png) The same path with `profileRotation` set to `all` will rotate in all three degrees of freedom: ![profileRotation-all](https://developers.arcgis.com/javascript/assets/img/apiref/symbols/profileRotation-all.png) * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-PathSymbol3DLayer.html#profileRotation) * @@ -37523,7 +39068,7 @@ declare namespace __esri { */ profileRotation?: "heading" | "all"; /** - * Sets the width and height of the path in meters. Since this property is deprecated use [width](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-PathSymbol3DLayer.html#width) or [height](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-PathSymbol3DLayer.html#height) instead. + * Sets the width and height of the path in meters. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-PathSymbol3DLayer.html#size) */ @@ -37568,7 +39113,7 @@ declare namespace __esri { */ height: number; /** - * For PictureFillSymbol the type is always `picture-fill`. + * The symbol type. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-PictureFillSymbol.html#type) */ @@ -37711,16 +39256,16 @@ declare namespace __esri { */ height: number; /** - * For PictureMarkerSymbol the type is always `picture-marker`. + * The symbol type. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-PictureMarkerSymbol.html#type) */ readonly type: "picture-marker"; /** * The URL to an image or SVG document. To avoid CORS issues with this symbol, do one of the following: - * * Make certain that the [image](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-PictureMarkerSymbol.html#url) is hosted on a [CORS enabled server](https://enable-cors.org/server.html). + * * Make certain that the [image](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-PictureMarkerSymbol.html#url) is hosted on a [CORS enabled server](https://developers.arcgis.com/javascript/latest/guide/cors/index.html). * * Use an [image](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-PictureMarkerSymbol.html#url) hosted on the same domain as the application. - * * Install a proxy. + * * Install a [proxy](https://developers.arcgis.com/javascript/latest/guide/proxies/index.html). * * * > **Known Limitations** @@ -37775,9 +39320,9 @@ declare namespace __esri { height?: number | string; /** * The URL to an image or SVG document. To avoid CORS issues with this symbol, do one of the following: - * * Make certain that the [image](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-PictureMarkerSymbol.html#url) is hosted on a [CORS enabled server](https://enable-cors.org/server.html). + * * Make certain that the [image](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-PictureMarkerSymbol.html#url) is hosted on a [CORS enabled server](https://developers.arcgis.com/javascript/latest/guide/cors/index.html). * * Use an [image](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-PictureMarkerSymbol.html#url) hosted on the same domain as the application. - * * Install a proxy. + * * Install a [proxy](https://developers.arcgis.com/javascript/latest/guide/proxies/index.html). * * * > **Known Limitations** @@ -37806,7 +39351,7 @@ declare namespace __esri { */ callout: LineCallout3D; /** - * For PointSymbol3D the type is always `point-3d`. + * The symbol type. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-PointSymbol3D.html#type) */ @@ -37901,7 +39446,7 @@ declare namespace __esri { interface PolygonSymbol3D extends Symbol3D { /** - * For PolygonSymbol3D the type is always `polygon-3d`. + * The symbol type. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-PolygonSymbol3D.html#type) */ @@ -37954,9 +39499,17 @@ declare namespace __esri { * * @default solid */ - style: string; + style: + | "backward-diagonal" + | "cross" + | "diagonal-cross" + | "forward-diagonal" + | "horizontal" + | "none" + | "solid" + | "vertical"; /** - * For SimpleFillSymbol the type is always `simple-fill`. + * The symbol type. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-SimpleFillSymbol.html#type) */ @@ -38007,7 +39560,15 @@ declare namespace __esri { * * @default solid */ - style?: string; + style?: + | "backward-diagonal" + | "cross" + | "diagonal-cross" + | "forward-diagonal" + | "horizontal" + | "none" + | "solid" + | "vertical"; } interface SimpleLineSymbol extends LineSymbol { @@ -38076,13 +39637,19 @@ declare namespace __esri { * * @default solid */ - style: string; - /** - * For SimpleLineSymbol, the type is always `simple-line`. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-SimpleLineSymbol.html#type) - */ - readonly type: "simple-line"; + style: + | "dash" + | "dash-dot" + | "dot" + | "long-dash" + | "long-dash-dot" + | "long-dash-dot-dot" + | "none" + | "short-dash" + | "short-dash-dot" + | "short-dash-dot-dot" + | "short-dot" + | "solid"; /** * Creates a deep clone of the symbol. @@ -38174,7 +39741,19 @@ declare namespace __esri { * * @default solid */ - style?: string; + style?: + | "dash" + | "dash-dot" + | "dot" + | "long-dash" + | "long-dash-dot" + | "long-dash-dot-dot" + | "none" + | "short-dash" + | "short-dash-dot" + | "short-dash-dot-dot" + | "short-dot" + | "solid"; } interface SimpleMarkerSymbol extends MarkerSymbol { @@ -38216,9 +39795,9 @@ declare namespace __esri { * * @default circle */ - style: string; + style: "circle" | "square" | "cross" | "x" | "diamond" | "triangle" | "path"; /** - * For SimpleMarkerSymbol the type is always `simple-marker`. + * The symbol type. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-SimpleMarkerSymbol.html#type) */ @@ -38287,12 +39866,12 @@ declare namespace __esri { * * @default circle */ - style?: string; + style?: "circle" | "square" | "cross" | "x" | "diamond" | "triangle" | "path"; } interface symbolsSupportJsonUtils { /** - * Creates a new instance of an appropriate [Symbol](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-Symbol.html) class and initializes it with values from a JSON object generated from a product in the ArcGIS platform. The object passed into the input `json` parameter often comes from a response to a query operation in the REST API or a [toJSON()](http://pro.arcgis.com/en/pro-app/tool-reference/conversion/features-to-json.htm) method from another ArcGIS product. See the [Using fromJSON()](https://developers.arcgis.com/javascript/latest/guide/using-fromjson/index.html) topic in the Guide for details and examples of when and how to use this function. When you create a [MarkerSymbol](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-MarkerSymbol.html), [SimpleMarkerSymbol](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-SimpleMarkerSymbol.html) or [PictureMarkerSymbol](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-PictureMarkerSymbol.html) from a JSON object, you may specify a property angle to rotate the symbol. Be aware that the angle in the JSON is different from [MarkerSymbol.angle](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-MarkerSymbol.html#angle). The angle in the JSON follows the traditional ArcGIS specification and is rotated counter-clockwise, whereas the angle in the symbol is rotated clockwise. + * Creates a new instance of an appropriate [Symbol](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-Symbol.html) class and initializes it with values from a JSON object generated from a product in the ArcGIS platform. The object passed into the input `json` parameter often comes from a response to a query operation in the REST API or a [toJSON()](http://pro.arcgis.com/en/pro-app/tool-reference/conversion/features-to-json.htm) method from another ArcGIS product. See the [Using fromJSON()](https://developers.arcgis.com/javascript/latest/guide/programming-patterns/#using-fromjson) topic in the Guide for details and examples of when and how to use this function. When you create a [MarkerSymbol](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-MarkerSymbol.html), [SimpleMarkerSymbol](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-SimpleMarkerSymbol.html) or [PictureMarkerSymbol](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-PictureMarkerSymbol.html) from a JSON object, you may specify a property angle to rotate the symbol. Be aware that the angle in the JSON is different from [MarkerSymbol.angle](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-MarkerSymbol.html#angle). The angle in the JSON follows the traditional ArcGIS specification and is rotated counter-clockwise, whereas the angle in the symbol is rotated clockwise. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-support-jsonUtils.html#fromJSON) * @@ -38386,6 +39965,19 @@ declare namespace __esri { * */ getDisplayedSymbol(graphic: Graphic, options?: symbolUtilsGetDisplayedSymbolOptions): IPromise; + /** + * Generates a preview image of a color ramp to display in a custom widget or other DOM element. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-support-symbolUtils.html#renderColorRampPreviewHTML) + * + * @param colors An array of colors from which to construct the color ramp. + * @param options Formatting options for the color ramp. + * @param options.align Specifies the alignment of the color ramp. **Possible Values:** horizontal | vertical + * @param options.width The width of the ramp in pixels. + * @param options.height The height of the ramp in pixels. + * + */ + renderColorRampPreviewHTML(colors: Color[], options?: symbolUtilsRenderColorRampPreviewHTMLOptions): HTMLElement; /** * Generates a preview image of a given symbol that can be displayed in a custom widget or other DOM element. * @@ -38435,6 +40027,29 @@ declare namespace __esri { resolution?: number; } + export interface symbolUtilsRenderColorRampPreviewHTMLOptions extends Object { + /** + * Specifies the alignment of the color ramp. **Possible Values:** horizontal | vertical + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-support-symbolUtils.html#renderColorRampPreviewHTML) + * + * @default vertical + */ + align?: string; + /** + * The width of the ramp in pixels. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-support-symbolUtils.html#renderColorRampPreviewHTML) + */ + width?: number; + /** + * The height of the ramp in pixels. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-support-symbolUtils.html#renderColorRampPreviewHTML) + */ + height?: number; + } + export interface symbolUtilsRenderPreviewHTMLOptions extends Object { /** * The parent node to append to the symbol. @@ -38496,7 +40111,7 @@ declare namespace __esri { */ color: Color; /** - * The symbol type. **Possible values:** simple-marker | picture-marker | simple-line | cartographic-line-symbol | simple-fill | picture-fill | text | shield-label-symbol | point-3d | line-3d | polygon-3d | mesh-3d | label-3d + * The symbol type. **Possible values:** simple-marker | picture-marker | simple-line | simple-fill | picture-fill | text | shield-label-symbol | point-3d | line-3d | polygon-3d | mesh-3d | label-3d | cim * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-Symbol.html#type) */ @@ -38541,6 +40156,12 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-Symbol3D.html#symbolLayers) */ symbolLayers: Collection; + /** + * The symbol type. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-Symbol3D.html#type) + */ + readonly type: "point-3d" | "line-3d" | "polygon-3d" | "mesh-3d" | "label-3d"; } interface Symbol3DConstructor { @@ -38605,13 +40226,13 @@ declare namespace __esri { * path | ![s3d-path](https://developers.arcgis.com/javascript/assets/img/apiref/symbols/symbols3d-path-tube.png) * fill | ![s3d-fill](https://developers.arcgis.com/javascript/assets/img/apiref/symbols/symbols3d-fill-solid.png) * water | ![s3d-water](https://developers.arcgis.com/javascript/assets/img/apiref/symbols/symbols3d-water-solid.png) - * extrusion | ![s3d-extrusion](https://developers.arcgis.com/javascript/assets/img/apiref/symbols/symbols3d-extrude-solid.png) + * extrude | ![s3d-extrusion](https://developers.arcgis.com/javascript/assets/img/apiref/symbols/symbols3d-extrude-solid.png) * text | ![s3d-text](https://developers.arcgis.com/javascript/assets/img/apiref/symbols/symbols3d-label-text.png) * * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-Symbol3DLayer.html#type) */ - readonly type: string; + readonly type: "icon" | "object" | "line" | "path" | "fill" | "water" | "extrude" | "text"; } interface Symbol3DLayerConstructor { @@ -38659,7 +40280,7 @@ declare namespace __esri { */ borderLineSize: number; /** - * The font used to style the text. + * The [Font](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-Font.html) used to style the text. This property allows the developer to set the font's family, decoration, size, style, and weight properties. * > **Known Limitations** This property is not fully supported in 3D [SceneViews](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-TextSymbol.html#font) @@ -38683,14 +40304,14 @@ declare namespace __esri { */ haloSize: number; /** - * Adjusts the horizontal alignment of the text in multi-line labels. **Possible Values:** left | right | center | justify + * Adjusts the horizontal alignment of the text in multi-line labels. * > **Known Limitations** This property is currently not supported in 3D [SceneViews](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-TextSymbol.html#horizontalAlignment) * * @default center */ - horizontalAlignment: string; + horizontalAlignment: "left" | "right" | "center" | "justify"; /** * Determines whether to adjust the spacing between characters in the text string. * @@ -38715,21 +40336,17 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-TextSymbol.html#text) */ text: string; - /** - * For TextSymbol, the type is always `text`. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-TextSymbol.html#type) - */ + readonly type: "text"; /** - * Adjusts the vertical alignment of the text. **Possible Values:** baseline | top | middle | bottom + * Adjusts the vertical alignment of the text. * > **Known Limitations** This property is currently not supported in 3D [SceneViews](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-TextSymbol.html#verticalAlignment) * * @default baseline */ - verticalAlignment: string; + verticalAlignment: "baseline" | "top" | "middle" | "bottom"; /** * The offset on the x-axis in points. This value may be autocast with a string expressing size in points or pixels (e.g. `12px`). * > **Known Limitations** This property is currently not supported in 3D [SceneViews](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). @@ -38802,7 +40419,7 @@ declare namespace __esri { */ borderLineSize?: number; /** - * The font used to style the text. + * The [Font](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-Font.html) used to style the text. This property allows the developer to set the font's family, decoration, size, style, and weight properties. * > **Known Limitations** This property is not fully supported in 3D [SceneViews](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-TextSymbol.html#font) @@ -38826,14 +40443,14 @@ declare namespace __esri { */ haloSize?: number | string; /** - * Adjusts the horizontal alignment of the text in multi-line labels. **Possible Values:** left | right | center | justify + * Adjusts the horizontal alignment of the text in multi-line labels. * > **Known Limitations** This property is currently not supported in 3D [SceneViews](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-TextSymbol.html#horizontalAlignment) * * @default center */ - horizontalAlignment?: string; + horizontalAlignment?: "left" | "right" | "center" | "justify"; /** * Determines whether to adjust the spacing between characters in the text string. * @@ -38859,14 +40476,14 @@ declare namespace __esri { */ text?: string; /** - * Adjusts the vertical alignment of the text. **Possible Values:** baseline | top | middle | bottom + * Adjusts the vertical alignment of the text. * > **Known Limitations** This property is currently not supported in 3D [SceneViews](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-TextSymbol.html#verticalAlignment) * * @default baseline */ - verticalAlignment?: string; + verticalAlignment?: "baseline" | "top" | "middle" | "bottom"; /** * The offset on the x-axis in points. This value may be autocast with a string expressing size in points or pixels (e.g. `12px`). * > **Known Limitations** This property is currently not supported in 3D [SceneViews](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). @@ -38921,7 +40538,7 @@ declare namespace __esri { */ text: string; /** - * For TextSymbol3DLayer the type is always `text`. + * The symbol type. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-TextSymbol3DLayer.html#type) */ @@ -39056,13 +40673,13 @@ declare namespace __esri { */ color: Color; /** - * For WaterSymbol3DLayer the type is always `water`. + * The symbol type. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-WaterSymbol3DLayer.html#type) */ readonly type: "water"; /** - * Indicates the size of the waterbody which is represented by the symbol layer. `small` can be set for small lakes, rivers or swimming pools, `medium` can be set for large lakes, whereas `large` is recommended for ocean and sea waterbodies. **Possible values:** small | medium | large + * Indicates the size of the waterbody which is represented by the symbol layer. `small` can be set for small lakes, rivers or swimming pools, `medium` can be set for large lakes, whereas `large` is recommended for ocean and sea waterbodies. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-WaterSymbol3DLayer.html#waterbodySize) * @@ -39078,7 +40695,7 @@ declare namespace __esri { */ waveDirection: number; /** - * Indicates the shape and intensity of the waves. Currently only calm to moderate waterbodies can be represented. A `calm` wave strength represents water without waves, acting almost like a mirror. A water with `rippled` wave strength has very small and short waves. `slight` wave strength displays the waves with a more pronounced form, but they are still quite short. Choosing `moderate` will display waves with a longer form and a slightly increased intensity. **Possible values:** calm | rippled | slight | moderate + * Indicates the shape and intensity of the waves. Currently only calm to moderate waterbodies can be represented. A `calm` wave strength represents water without waves, acting almost like a mirror. A water with `rippled` wave strength has very small and short waves. `slight` wave strength displays the waves with a more pronounced form, but they are still quite short. Choosing `moderate` will display waves with a longer form and a slightly increased intensity. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-WaterSymbol3DLayer.html#waveStrength) * @@ -39120,7 +40737,7 @@ declare namespace __esri { */ color?: Color; /** - * Indicates the size of the waterbody which is represented by the symbol layer. `small` can be set for small lakes, rivers or swimming pools, `medium` can be set for large lakes, whereas `large` is recommended for ocean and sea waterbodies. **Possible values:** small | medium | large + * Indicates the size of the waterbody which is represented by the symbol layer. `small` can be set for small lakes, rivers or swimming pools, `medium` can be set for large lakes, whereas `large` is recommended for ocean and sea waterbodies. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-WaterSymbol3DLayer.html#waterbodySize) * @@ -39136,7 +40753,7 @@ declare namespace __esri { */ waveDirection?: number; /** - * Indicates the shape and intensity of the waves. Currently only calm to moderate waterbodies can be represented. A `calm` wave strength represents water without waves, acting almost like a mirror. A water with `rippled` wave strength has very small and short waves. `slight` wave strength displays the waves with a more pronounced form, but they are still quite short. Choosing `moderate` will display waves with a longer form and a slightly increased intensity. **Possible values:** calm | rippled | slight | moderate + * Indicates the shape and intensity of the waves. Currently only calm to moderate waterbodies can be represented. A `calm` wave strength represents water without waves, acting almost like a mirror. A water with `rippled` wave strength has very small and short waves. `slight` wave strength displays the waves with a more pronounced form, but they are still quite short. Choosing `moderate` will display waves with a longer form and a slightly increased intensity. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-WaterSymbol3DLayer.html#waveStrength) * @@ -39170,11 +40787,7 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-WebStyleSymbol.html#styleUrl) */ styleUrl: string; - /** - * For WebStyleSymbol the type is always `web-style`. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-WebStyleSymbol.html#type) - */ + readonly type: "web-style"; /** @@ -39505,7 +41118,7 @@ declare namespace __esri { interface FindTask extends Task { /** - * The geodatabase version. + * Specify the geodatabase version to search. Requires ArcGIS Server service 10.1 or greater. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-FindTask.html#gdbVersion) */ @@ -39520,7 +41133,7 @@ declare namespace __esri { * @param requestOptions Additional [options](https://developers.arcgis.com/javascript/latest/api-reference/esri-request.html#esriRequest) to be used for the data request (will override requestOptions defined during construction). * */ - execute(params: FindParameters, requestOptions?: any): IPromise; + execute(params: FindParameters | FindParametersProperties, requestOptions?: any): IPromise; } interface FindTaskConstructor { @@ -39537,7 +41150,7 @@ declare namespace __esri { interface FindTaskProperties extends TaskProperties { /** - * The geodatabase version. + * Specify the geodatabase version to search. Requires ArcGIS Server service 10.1 or greater. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-FindTask.html#gdbVersion) */ @@ -39868,22 +41481,42 @@ declare namespace __esri { * The spatial reference of the output geometries. If not specified, the output geometries will be in the spatial reference of the input geometries. If [processSpatialReference](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-Geoprocessor.html#processSpatialReference) is specified and `outSpatialReference` is not specified, the output geometries will be in the spatial reference of the process spatial reference. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-Geoprocessor.html#outSpatialReference) + * + * @default null */ outSpatialReference: SpatialReference; /** - * The spatial reference that the model will use to perform geometry operations. If `processSpatialReference` is specified and [outputSpatialReference](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-Geoprocessor.html#outputSpatialReference) is not specified, the output geometries will be in the spatial reference of the process spatial reference. + * ProcessExtent, if specified, will only process features that overlap this extent. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-Geoprocessor.html#processExtent) + * + * @default null + */ + processExtent: Extent; + /** + * The spatial reference that the model will use to perform geometry operations. If `processSpatialReference` is specified and [outputSpatialReference](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-Geoprocessor.html#outputSpatialReference) is not specified, the output geometries will be in the spatial reference of the process spatial reference. A possible common scenario for using `processSpatialReference` and `outputSpatialReference` is that you would like to perform spatial operations like buffer or clip on a projected coordinate system such as web mercator. And you would like to recieve the output based on a geographic coordinates such as WGS84. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-Geoprocessor.html#processSpatialReference) + * + * @default null */ processSpatialReference: SpatialReference; /** - * The time interval in milliseconds between each job status request sent to an asynchronous GP task. + * If `true`, m-values will be included in the results if the features have m-values. Otherwise, m-values are not returned. The default is false. * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-Geoprocessor.html#updateDelay) + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-Geoprocessor.html#returnM) * - * @default 1000 + * @default false */ - updateDelay: number; + returnM: boolean; + /** + * If `true`, z-values will be included in the results if the features have z-values. Otherwise, z-values are not returned. The default is false. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-Geoprocessor.html#returnZ) + * + * @default false + */ + returnZ: boolean; /** * Cancels an asynchronous geoprocessing job. Requires an ArcGIS Server 10.1 service or greater. @@ -39894,16 +41527,7 @@ declare namespace __esri { * @param requestOptions Additional [options](https://developers.arcgis.com/javascript/latest/api-reference/esri-request.html#esriRequest) to be used for the data request (will override requestOptions defined during construction). * */ - cancelJob(jobId: string, requestOptions?: any): IPromise; - /** - * Cancels the periodic job status updates automatically initiated when [submitJob()](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-Geoprocessor.html#submitJob) is invoked for the job identified by `jobId`. You can still obtain the status of this job by calling the [checkJobStatus()](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-Geoprocessor.html#checkJobStatus) method at your own discretion. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-Geoprocessor.html#cancelJobStatusUpdates) - * - * @param jobId A string that uniquely identifies the job for which the job updates are cancelled. - * - */ - cancelJobStatusUpdates(jobId: string): void; + cancelJob(jobId: string, requestOptions?: any): IPromise; /** * Sends a request to the GP Task for the current state of the job identified by `jobId`. * @@ -39946,7 +41570,7 @@ declare namespace __esri { * @param requestOptions Additional [options](https://developers.arcgis.com/javascript/latest/api-reference/esri-request.html#esriRequest) to be used for the data request (will override requestOptions defined during construction). * */ - getResultData(jobId: string, resultName: string, requestOptions?: any): IPromise; + getResultData(jobId: string, resultName: string, requestOptions?: any): IPromise; /** * Sends a request to the GP Task to get the task result identified by `jobId` and `resultName` as an image. * @@ -39963,18 +41587,18 @@ declare namespace __esri { resultName: string, imageParams: ImageParameters, requestOptions?: any - ): IPromise; + ): IPromise; /** - * Get the task result identified by `jobId` as an [MapImageLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-MapImageLayer.html). This method supports MapImageLayer 10.1 or greater. + * Get the task result identified by `jobId` as an [MapImageLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-MapImageLayer.html). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-Geoprocessor.html#getResultMapImageLayer) * * @param jobId The jobId returned from [JobInfo](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-JobInfo.html). * */ - getResultMapImageLayer(jobId: string): MapImageLayer; + getResultMapImageLayer(jobId: string): IPromise; /** - * Submits a job to the server for asynchronous processing by the GP task. The task execution results can be retrieved using the [getResultData()](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-Geoprocessor.html#getResultData), [getResultImage()](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-Geoprocessor.html#getResultImage), or [getResultMapImageLayer()](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-Geoprocessor.html#getResultMapImageLayer) methods. + * Submits a job to the server for asynchronous processing by the GP task. The method will resolve immediately after the job has been submitted to the server. Use [waitForJobCompletion()](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-Geoprocessor.html#waitForJobCompletion) to be notified when the job has completed and optionally periodic job status. The task execution results can be retrieved using the [getResultData()](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-Geoprocessor.html#getResultData), [getResultImage()](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-Geoprocessor.html#getResultImage), or [getResultMapImageLayer()](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-Geoprocessor.html#getResultMapImageLayer) methods. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-Geoprocessor.html#submitJob) * @@ -39987,17 +41611,38 @@ declare namespace __esri { * The `params` argument would then be an Object of the form: * ``` * { - * Input_Points: , - * Distance: + * Input_Points: , + * Distance: * } * * @param requestOptions Additional [options](https://developers.arcgis.com/javascript/latest/api-reference/esri-request.html#esriRequest) to be used for the data request (will override requestOptions defined during construction). * */ submitJob(params: any, requestOptions?: any): IPromise; + /** + * Resolves when an asynchronous job has completed. Optionally job progress can be monitored. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-Geoprocessor.html#waitForJobCompletion) + * + * @param jobId The jobId returned from [JobInfo](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-JobInfo.html). + * @param options Options. See properties below for object specifications. + * @param options.interval The time in millisecond between remote job status requests. + * @param options.signal [AbortSignal](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal) allows for cancelable asynchronous job. If canceled, the promise will be rejected with an error named `AbortError`. + * @param options.statusCallback Callback function that is called at the specified interval. Use this method to monitor job status and messages. + * + */ + waitForJobCompletion(jobId: string, options?: GeoprocessorWaitForJobCompletionOptions): IPromise; } interface GeoprocessorConstructor { + /** + * Represents a GP Task resource exposed by the ArcGIS REST API. A GP Task resource represents a single task in a GP service published using the ArcGIS Server and it supports one of the following operations dependent on how the service was set up: + * * [execute](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-Geoprocessor.html#execute) - for when the execution type is synchronous. + * * [submitJob](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-Geoprocessor.html#submitJob) - for when the execution type is asynchronous. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-Geoprocessor.html) + */ + new (properties?: GeoprocessorProperties): Geoprocessor; } @@ -40008,27 +41653,70 @@ declare namespace __esri { * The spatial reference of the output geometries. If not specified, the output geometries will be in the spatial reference of the input geometries. If [processSpatialReference](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-Geoprocessor.html#processSpatialReference) is specified and `outSpatialReference` is not specified, the output geometries will be in the spatial reference of the process spatial reference. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-Geoprocessor.html#outSpatialReference) + * + * @default null */ outSpatialReference?: SpatialReferenceProperties; /** - * The spatial reference that the model will use to perform geometry operations. If `processSpatialReference` is specified and [outputSpatialReference](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-Geoprocessor.html#outputSpatialReference) is not specified, the output geometries will be in the spatial reference of the process spatial reference. + * ProcessExtent, if specified, will only process features that overlap this extent. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-Geoprocessor.html#processExtent) + * + * @default null + */ + processExtent?: ExtentProperties; + /** + * The spatial reference that the model will use to perform geometry operations. If `processSpatialReference` is specified and [outputSpatialReference](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-Geoprocessor.html#outputSpatialReference) is not specified, the output geometries will be in the spatial reference of the process spatial reference. A possible common scenario for using `processSpatialReference` and `outputSpatialReference` is that you would like to perform spatial operations like buffer or clip on a projected coordinate system such as web mercator. And you would like to recieve the output based on a geographic coordinates such as WGS84. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-Geoprocessor.html#processSpatialReference) + * + * @default null */ processSpatialReference?: SpatialReferenceProperties; /** - * The time interval in milliseconds between each job status request sent to an asynchronous GP task. + * If `true`, m-values will be included in the results if the features have m-values. Otherwise, m-values are not returned. The default is false. * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-Geoprocessor.html#updateDelay) + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-Geoprocessor.html#returnM) + * + * @default false + */ + returnM?: boolean; + /** + * If `true`, z-values will be included in the results if the features have z-values. Otherwise, z-values are not returned. The default is false. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-Geoprocessor.html#returnZ) + * + * @default false + */ + returnZ?: boolean; + } + + export interface GeoprocessorWaitForJobCompletionOptions extends Object { + /** + * The time in millisecond between remote job status requests. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-Geoprocessor.html#waitForJobCompletion) * * @default 1000 */ - updateDelay?: number; + interval?: any; + /** + * [AbortSignal](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal) allows for cancelable asynchronous job. If canceled, the promise will be rejected with an error named `AbortError`. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-Geoprocessor.html#waitForJobCompletion) + */ + signal?: any; + /** + * Callback function that is called at the specified interval. Use this method to monitor job status and messages. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-Geoprocessor.html#waitForJobCompletion) + */ + statusCallback?: any; } interface IdentifyTask extends Task { /** - * Specifies the geodatabase version to display. + * Specify the geodatabase version to search. Requires ArcGIS Server service 10.1 or greater. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-IdentifyTask.html#gdbVersion) */ @@ -40060,7 +41748,7 @@ declare namespace __esri { interface IdentifyTaskProperties extends TaskProperties { /** - * Specifies the geodatabase version to display. + * Specify the geodatabase version to search. Requires ArcGIS Server service 10.1 or greater. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-IdentifyTask.html#gdbVersion) */ @@ -40373,13 +42061,13 @@ declare namespace __esri { interface PrintTask extends Task { /** - * The mode for the print task execution. **Possible Values:** async | sync + * The mode for the print task execution. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-PrintTask.html#mode) * * @default sync */ - readonly mode: string; + readonly mode: "async" | "sync"; /** * The time interval in milliseconds between each job status request sent to an asynchronous GP task. * @@ -40690,7 +42378,7 @@ declare namespace __esri { */ toColor: Color; /** - * A string value representing the color ramp type. This value is always `algorithmic`. + * A string value representing the color ramp type. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-AlgorithmicColorRamp.html#type) * @@ -40750,13 +42438,20 @@ declare namespace __esri { toColor?: Color; } - interface AreasAndLengthsParameters extends Accessor { + interface AreasAndLengthsParameters extends Accessor, JSONSupport { /** - * The area unit in which areas of polygons will be calculated. Use the strings listed below or [any other valid area unit](https://developers.arcgis.com/java/api-reference/constant-values.html#com.esri.core.geometry.AreaUnit.Code.ACRE). **Possible Values:** acres | hectares | square-miles | square-kilometers | square-meters | square-feet | square-yards + * The area unit in which areas of polygons will be calculated. Use the strings listed below or [any other valid area unit](https://developers.arcgis.com/java/api-reference/constant-values.html#com.esri.core.geometry.AreaUnit.Code.ACRE). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-AreasAndLengthsParameters.html#areaUnit) */ - areaUnit: string; + areaUnit: + | "acres" + | "hectares" + | "square-miles" + | "square-kilometers" + | "square-meters" + | "square-feet" + | "square-yards"; /** * Defines the type of calculation for the geometry. The type can be one of the following: * @@ -40769,43 +42464,43 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-AreasAndLengthsParameters.html#calculationType) */ - calculationType: string; + calculationType: "planar" | "geodesic" | "preserve-shape"; /** - * The length unit in which perimeters of polygons will be calculated. Use one of the possible values listed below or any of the [numeric codes for linear units](https://developers.arcgis.com/java/api-reference/constant-values.html#com.esri.core.geometry.LinearUnit.Code.CENTIMETER). **Possible Values:** feet | kilometers | meters | miles | nautical-miles | yards + * The length unit in which perimeters of polygons will be calculated. Use one of the possible values listed below or any of the [numeric codes for linear units](https://developers.arcgis.com/java/api-reference/constant-values.html#com.esri.core.geometry.LinearUnit.Code.CENTIMETER). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-AreasAndLengthsParameters.html#lengthUnit) */ - lengthUnit: string; + lengthUnit: "feet" | "kilometers" | "meters" | "miles" | "nautical-miles" | "yards"; /** * Polygon geometries for which to compute areas and lengths. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-AreasAndLengthsParameters.html#polygons) */ polygons: Polygon[]; - - /** - * Converts an instance of [this class]() to its ArcGIS portal JSON representation. See the [Using fromJSON()](https://developers.arcgis.com/javascript/latest/guide/using-fromjson/index.html) topic in the Guide for more information. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-AreasAndLengthsParameters.html#toJSON) - * - * - */ - toJSON(): any; } interface AreasAndLengthsParametersConstructor { new (properties?: AreasAndLengthsParametersProperties): AreasAndLengthsParameters; + + fromJSON(json: any): AreasAndLengthsParameters; } export const AreasAndLengthsParameters: AreasAndLengthsParametersConstructor; interface AreasAndLengthsParametersProperties { /** - * The area unit in which areas of polygons will be calculated. Use the strings listed below or [any other valid area unit](https://developers.arcgis.com/java/api-reference/constant-values.html#com.esri.core.geometry.AreaUnit.Code.ACRE). **Possible Values:** acres | hectares | square-miles | square-kilometers | square-meters | square-feet | square-yards + * The area unit in which areas of polygons will be calculated. Use the strings listed below or [any other valid area unit](https://developers.arcgis.com/java/api-reference/constant-values.html#com.esri.core.geometry.AreaUnit.Code.ACRE). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-AreasAndLengthsParameters.html#areaUnit) */ - areaUnit?: string; + areaUnit?: + | "acres" + | "hectares" + | "square-miles" + | "square-kilometers" + | "square-meters" + | "square-feet" + | "square-yards"; /** * Defines the type of calculation for the geometry. The type can be one of the following: * @@ -40818,13 +42513,13 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-AreasAndLengthsParameters.html#calculationType) */ - calculationType?: string; + calculationType?: "planar" | "geodesic" | "preserve-shape"; /** - * The length unit in which perimeters of polygons will be calculated. Use one of the possible values listed below or any of the [numeric codes for linear units](https://developers.arcgis.com/java/api-reference/constant-values.html#com.esri.core.geometry.LinearUnit.Code.CENTIMETER). **Possible Values:** feet | kilometers | meters | miles | nautical-miles | yards + * The length unit in which perimeters of polygons will be calculated. Use one of the possible values listed below or any of the [numeric codes for linear units](https://developers.arcgis.com/java/api-reference/constant-values.html#com.esri.core.geometry.LinearUnit.Code.CENTIMETER). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-AreasAndLengthsParameters.html#lengthUnit) */ - lengthUnit?: string; + lengthUnit?: "feet" | "kilometers" | "meters" | "miles" | "nautical-miles" | "yards"; /** * Polygon geometries for which to compute areas and lengths. * @@ -40859,7 +42554,7 @@ declare namespace __esri { */ objectIds: number[]; /** - * If `true`, the [exif information](http://www.cipa.jp/std/documents/e/DC-008-Translation-2016-E.pdf) for the attachment will be included in [attachmentInfo](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-AttachmentInfo.html#exifInfo). + * If `true`, the [Exchangeable image file format](https://en.wikipedia.org/wiki/Exif) for the attachment will be included in [attachmentInfo](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-AttachmentInfo.html#exifInfo). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-AttachmentQuery.html#returnMetadata) * @@ -40935,7 +42630,7 @@ declare namespace __esri { */ objectIds?: number[]; /** - * If `true`, the [exif information](http://www.cipa.jp/std/documents/e/DC-008-Translation-2016-E.pdf) for the attachment will be included in [attachmentInfo](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-AttachmentInfo.html#exifInfo). + * If `true`, the [Exchangeable image file format](https://en.wikipedia.org/wiki/Exif) for the attachment will be included in [attachmentInfo](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-AttachmentInfo.html#exifInfo). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-AttachmentQuery.html#returnMetadata) * @@ -41000,14 +42695,14 @@ declare namespace __esri { */ unionResults: boolean; /** - * The units for calculating each buffer distance. If `unit` is not specified, the units are derived from `bufferSpatialReference`. If `bufferSpatialReference` is not specified, the units are derived from the features. For a list of valid units, see [esriSRUnitType Constants](http://resources.arcgis.com/en/help/arcobjects-cpp/componenthelp/index.html#/esriSRUnitType_Constants/000w00000042000000/) and [esriSRUnit2Type Constants](http://resources.arcgis.com/en/help/arcobjects-cpp/componenthelp/index.html#/esriSRUnit2Type_Constants/000w00000041000000/). **Possible Values:** feet | kilometers | meters | miles | nautical-miles | yards + * The units for calculating each buffer distance. If `unit` is not specified, the units are derived from `bufferSpatialReference`. If `bufferSpatialReference` is not specified, the units are derived from the features. For a list of valid units, see [esriSRUnitType Constants](http://resources.arcgis.com/en/help/arcobjects-cpp/componenthelp/index.html#/esriSRUnitType_Constants/000w00000042000000/) and [esriSRUnit2Type Constants](http://resources.arcgis.com/en/help/arcobjects-cpp/componenthelp/index.html#/esriSRUnit2Type_Constants/000w00000041000000/). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-BufferParameters.html#unit) */ - unit: string; + unit: "feet" | "kilometers" | "meters" | "miles" | "nautical-miles" | "yards"; /** - * Converts an instance of [this class]() to its ArcGIS portal JSON representation. See the [Using fromJSON()](https://developers.arcgis.com/javascript/latest/guide/using-fromjson/index.html) topic in the Guide for more information. + * Converts an instance of [this class]() to its ArcGIS portal JSON representation. See the [Using fromJSON()](https://developers.arcgis.com/javascript/latest/guide/programming-patterns/#using-fromjson) topic in the Guide for more information. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-BufferParameters.html#toJSON) * @@ -41060,11 +42755,11 @@ declare namespace __esri { */ unionResults?: boolean; /** - * The units for calculating each buffer distance. If `unit` is not specified, the units are derived from `bufferSpatialReference`. If `bufferSpatialReference` is not specified, the units are derived from the features. For a list of valid units, see [esriSRUnitType Constants](http://resources.arcgis.com/en/help/arcobjects-cpp/componenthelp/index.html#/esriSRUnitType_Constants/000w00000042000000/) and [esriSRUnit2Type Constants](http://resources.arcgis.com/en/help/arcobjects-cpp/componenthelp/index.html#/esriSRUnit2Type_Constants/000w00000041000000/). **Possible Values:** feet | kilometers | meters | miles | nautical-miles | yards + * The units for calculating each buffer distance. If `unit` is not specified, the units are derived from `bufferSpatialReference`. If `bufferSpatialReference` is not specified, the units are derived from the features. For a list of valid units, see [esriSRUnitType Constants](http://resources.arcgis.com/en/help/arcobjects-cpp/componenthelp/index.html#/esriSRUnitType_Constants/000w00000042000000/) and [esriSRUnit2Type Constants](http://resources.arcgis.com/en/help/arcobjects-cpp/componenthelp/index.html#/esriSRUnit2Type_Constants/000w00000041000000/). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-BufferParameters.html#unit) */ - unit?: string; + unit?: "feet" | "kilometers" | "meters" | "miles" | "nautical-miles" | "yards"; } interface ClosestFacilityParameters extends Accessor, JSONSupport { @@ -41099,7 +42794,7 @@ declare namespace __esri { */ directionsLanguage: string; /** - * The length units used when computing driving directions. This parameter applies only when [returnDirections](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-ClosestFacilityParameters.html#returnDirections) parameter is set to `true`. If not specified the task will use the value defined by the routing network layer is used. **Possible Values:** centimeters | decimal-degrees | decimeters | feet | inches | kilometers | meters | miles | millimeters | nautical-miles | points | yards + * The length units used when computing driving directions. This parameter applies only when [returnDirections](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-ClosestFacilityParameters.html#returnDirections) parameter is set to `true`. If not specified the task will use the value defined by the routing network layer is used. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-ClosestFacilityParameters.html#directionsLengthUnits) */ @@ -41117,7 +42812,7 @@ declare namespace __esri { | "points" | "yards"; /** - * Defines the amount of direction information returned. The default value is standard. **Possible Values:** complete | complete-no-events | instructions-only | standard | summary-only + * Defines the amount of direction information returned. The default value is standard. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-ClosestFacilityParameters.html#directionsOutputType) */ @@ -41138,6 +42833,8 @@ declare namespace __esri { * When `true`, restricted network elements should be considered when finding network locations. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-ClosestFacilityParameters.html#doNotLocateOnRestrictedElements) + * + * @default true */ doNotLocateOnRestrictedElements: boolean; /** @@ -41165,7 +42862,7 @@ declare namespace __esri { */ outputGeometryPrecision: number; /** - * The units of the output geometry precision. **Possible Values:** centimeters | decimal-degrees | decimeters | feet | inches | kilometers | meters | miles | millimeters | nautical-miles | points | yards + * The units of the output geometry precision. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-ClosestFacilityParameters.html#outputGeometryPrecisionUnits) */ @@ -41227,7 +42924,7 @@ declare namespace __esri { */ restrictionAttributes: string[]; /** - * Specifies how U-Turns should be handled. The default is as defined in the specific routing network layer used in your module:"esri/tasks/ClosestFacilityTask". **Possible Values:** allow-backtrack | at-dead-ends-only | no-backtrack | at-dead-ends-and-intersections + * Specifies how U-Turns should be handled. The default is as defined in the specific routing network layer used in your module:"esri/tasks/ClosestFacilityTask". * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-ClosestFacilityParameters.html#restrictUTurns) */ @@ -41284,6 +42981,8 @@ declare namespace __esri { * When `true`, closest facility routes will be generated and returned in the route property of each [ClosestFacilitySolveResult](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-ClosestFacilitySolveResult.html). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-ClosestFacilityParameters.html#returnRoutes) + * + * @default true */ returnRoutes: boolean; /** @@ -41293,7 +42992,7 @@ declare namespace __esri { */ timeOfDay: Date; /** - * Defines the way the `timeOfDay` value is used. The default value is defined in the network layer. *Requires ArcGIS Server service version 10.1 or greater.* **Possible Values:** start | end + * Defines the way the `timeOfDay` value is used. The default value is defined in the network layer. *Requires ArcGIS Server service version 10.1 or greater.* * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-ClosestFacilityParameters.html#timeOfDayUsage) */ @@ -41372,7 +43071,7 @@ declare namespace __esri { */ directionsLanguage?: string; /** - * The length units used when computing driving directions. This parameter applies only when [returnDirections](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-ClosestFacilityParameters.html#returnDirections) parameter is set to `true`. If not specified the task will use the value defined by the routing network layer is used. **Possible Values:** centimeters | decimal-degrees | decimeters | feet | inches | kilometers | meters | miles | millimeters | nautical-miles | points | yards + * The length units used when computing driving directions. This parameter applies only when [returnDirections](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-ClosestFacilityParameters.html#returnDirections) parameter is set to `true`. If not specified the task will use the value defined by the routing network layer is used. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-ClosestFacilityParameters.html#directionsLengthUnits) */ @@ -41390,7 +43089,7 @@ declare namespace __esri { | "points" | "yards"; /** - * Defines the amount of direction information returned. The default value is standard. **Possible Values:** complete | complete-no-events | instructions-only | standard | summary-only + * Defines the amount of direction information returned. The default value is standard. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-ClosestFacilityParameters.html#directionsOutputType) */ @@ -41411,6 +43110,8 @@ declare namespace __esri { * When `true`, restricted network elements should be considered when finding network locations. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-ClosestFacilityParameters.html#doNotLocateOnRestrictedElements) + * + * @default true */ doNotLocateOnRestrictedElements?: boolean; /** @@ -41438,7 +43139,7 @@ declare namespace __esri { */ outputGeometryPrecision?: number; /** - * The units of the output geometry precision. **Possible Values:** centimeters | decimal-degrees | decimeters | feet | inches | kilometers | meters | miles | millimeters | nautical-miles | points | yards + * The units of the output geometry precision. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-ClosestFacilityParameters.html#outputGeometryPrecisionUnits) */ @@ -41500,7 +43201,7 @@ declare namespace __esri { */ restrictionAttributes?: string[]; /** - * Specifies how U-Turns should be handled. The default is as defined in the specific routing network layer used in your module:"esri/tasks/ClosestFacilityTask". **Possible Values:** allow-backtrack | at-dead-ends-only | no-backtrack | at-dead-ends-and-intersections + * Specifies how U-Turns should be handled. The default is as defined in the specific routing network layer used in your module:"esri/tasks/ClosestFacilityTask". * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-ClosestFacilityParameters.html#restrictUTurns) */ @@ -41557,6 +43258,8 @@ declare namespace __esri { * When `true`, closest facility routes will be generated and returned in the route property of each [ClosestFacilitySolveResult](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-ClosestFacilitySolveResult.html). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-ClosestFacilityParameters.html#returnRoutes) + * + * @default true */ returnRoutes?: boolean; /** @@ -41566,7 +43269,7 @@ declare namespace __esri { */ timeOfDay?: DateProperties; /** - * Defines the way the `timeOfDay` value is used. The default value is defined in the network layer. *Requires ArcGIS Server service version 10.1 or greater.* **Possible Values:** start | end + * Defines the way the `timeOfDay` value is used. The default value is defined in the network layer. *Requires ArcGIS Server service version 10.1 or greater.* * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-ClosestFacilityParameters.html#timeOfDayUsage) */ @@ -41830,9 +43533,18 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-DataLayer.html#spatialRelationship) */ - spatialRelationship: string; + spatialRelationship: + | "intersects" + | "contains" + | "crosses" + | "envelope-intersects" + | "index-intersects" + | "overlaps" + | "touches" + | "within" + | "relation"; - type: void; + type: "layer"; /** * A where clause for the query. Any legal SQL where clause operating on the fields in the layer is allowed. * @@ -41886,9 +43598,18 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-DataLayer.html#spatialRelationship) */ - spatialRelationship?: string; + spatialRelationship?: + | "intersects" + | "contains" + | "crosses" + | "envelope-intersects" + | "index-intersects" + | "overlaps" + | "touches" + | "within" + | "relation"; - type?: void; + type?: "layer"; /** * A where clause for the query. Any legal SQL where clause operating on the fields in the layer is allowed. * @@ -41897,48 +43618,6 @@ declare namespace __esri { where?: string; } - interface supportDate extends Accessor, JSONSupport { - /** - * Date value returned from server. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-Date.html#date) - */ - date: Date; - /** - * The format of the date used in the date property. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-Date.html#format) - * - * @default EEE MMM dd HH:mm:ss zzz yyyy - */ - format: string; - } - - interface supportDateConstructor { - new (properties?: supportDateProperties): supportDate; - - fromJSON(json: any): supportDate; - } - - export const supportDate: supportDateConstructor; - - interface supportDateProperties { - /** - * Date value returned from server. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-Date.html#date) - */ - date?: DateProperties; - /** - * The format of the date used in the date property. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-Date.html#format) - * - * @default EEE MMM dd HH:mm:ss zzz yyyy - */ - format?: string; - } - interface DensifyParameters extends Accessor { /** * If `true`, Geographic Coordinate System spatial references are used or densify geodesic will be performed. @@ -41953,11 +43632,11 @@ declare namespace __esri { */ geometries: Geometry[]; /** - * The length unit of `maxSegmentLength`. For a list of valid units, see [esriSRUnitType Constants](http://resources.arcgis.com/en/help/arcobjects-cpp/componenthelp/index.html#/esriSRUnitType_Constants/000w00000042000000/) and [esriSRUnit2Type Constants](http://resources.arcgis.com/en/help/arcobjects-cpp/componenthelp/index.html#/esriSRUnit2Type_Constants/000w00000041000000/). **Possible Values:** feet | kilometers | meters | miles | nautical-miles | yards + * The length unit of `maxSegmentLength`. For a list of valid units, see [esriSRUnitType Constants](http://resources.arcgis.com/en/help/arcobjects-cpp/componenthelp/index.html#/esriSRUnitType_Constants/000w00000042000000/) and [esriSRUnit2Type Constants](http://resources.arcgis.com/en/help/arcobjects-cpp/componenthelp/index.html#/esriSRUnit2Type_Constants/000w00000041000000/). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-DensifyParameters.html#lengthUnit) */ - lengthUnit: string; + lengthUnit: "feet" | "kilometers" | "meters" | "miles" | "nautical-miles" | "yards"; /** * All segments longer than `maxSegmentLength` are replaced with sequences of lines no longer than `maxSegmentLength.` * @@ -41966,7 +43645,7 @@ declare namespace __esri { maxSegmentLength: number; /** - * Converts an instance of [this class]() to its ArcGIS portal JSON representation. See the [Using fromJSON()](https://developers.arcgis.com/javascript/latest/guide/using-fromjson/index.html) topic in the Guide for more information. + * Converts an instance of [this class]() to its ArcGIS portal JSON representation. See the [Using fromJSON()](https://developers.arcgis.com/javascript/latest/guide/programming-patterns/#using-fromjson) topic in the Guide for more information. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-DensifyParameters.html#toJSON) * @@ -41995,11 +43674,11 @@ declare namespace __esri { */ geometries?: GeometryProperties[]; /** - * The length unit of `maxSegmentLength`. For a list of valid units, see [esriSRUnitType Constants](http://resources.arcgis.com/en/help/arcobjects-cpp/componenthelp/index.html#/esriSRUnitType_Constants/000w00000042000000/) and [esriSRUnit2Type Constants](http://resources.arcgis.com/en/help/arcobjects-cpp/componenthelp/index.html#/esriSRUnit2Type_Constants/000w00000041000000/). **Possible Values:** feet | kilometers | meters | miles | nautical-miles | yards + * The length unit of `maxSegmentLength`. For a list of valid units, see [esriSRUnitType Constants](http://resources.arcgis.com/en/help/arcobjects-cpp/componenthelp/index.html#/esriSRUnitType_Constants/000w00000042000000/) and [esriSRUnit2Type Constants](http://resources.arcgis.com/en/help/arcobjects-cpp/componenthelp/index.html#/esriSRUnit2Type_Constants/000w00000041000000/). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-DensifyParameters.html#lengthUnit) */ - lengthUnit?: string; + lengthUnit?: "feet" | "kilometers" | "meters" | "miles" | "nautical-miles" | "yards"; /** * All segments longer than `maxSegmentLength` are replaced with sequences of lines no longer than `maxSegmentLength.` * @@ -42126,11 +43805,11 @@ declare namespace __esri { interface DistanceParameters extends Accessor { /** - * Specifies the units for measuring distance between [geometry1](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-DistanceParameters.html#geometry1) and [geometry2](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-DistanceParameters.html#geometry2). If the unit is not specified the units are derived from the spatial reference. For a list of valid units, see [esriSRUnitType Constants](http://resources.arcgis.com/en/help/arcobjects-cpp/componenthelp/index.html#/esriSRUnitType_Constants/000w00000042000000/) and [esriSRUnit2Type Constants](http://resources.arcgis.com/en/help/arcobjects-cpp/componenthelp/index.html#/esriSRUnit2Type_Constants/000w00000041000000/). **Possible Values:** feet | kilometers | meters | miles | nautical-miles | yards + * Specifies the units for measuring distance between [geometry1](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-DistanceParameters.html#geometry1) and [geometry2](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-DistanceParameters.html#geometry2). If the unit is not specified the units are derived from the spatial reference. For a list of valid units, see [esriSRUnitType Constants](http://resources.arcgis.com/en/help/arcobjects-cpp/componenthelp/index.html#/esriSRUnitType_Constants/000w00000042000000/) and [esriSRUnit2Type Constants](http://resources.arcgis.com/en/help/arcobjects-cpp/componenthelp/index.html#/esriSRUnit2Type_Constants/000w00000041000000/). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-DistanceParameters.html#distanceUnit) */ - distanceUnit: string; + distanceUnit: "feet" | "kilometers" | "meters" | "miles" | "nautical-miles" | "yards"; /** * When `true`, the geodesic distance between [geometry1](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-DistanceParameters.html#geometry1) and [geometry2](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-DistanceParameters.html#geometry2) is measured. * @@ -42142,16 +43821,16 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-DistanceParameters.html#geometry1) */ - geometry1: Geometry[]; + geometry1: Geometry; /** * The geometry to which the distance is to be measured. The geometry can be a [Point](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Point.html), [Polyline](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Polyline.html), [Polygon](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Polygon.html), or a [Multipoint](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Multipoint.html). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-DistanceParameters.html#geometry2) */ - geometry2: Geometry[]; + geometry2: Geometry; /** - * Converts an instance of [this class]() to its ArcGIS portal JSON representation. See the [Using fromJSON()](https://developers.arcgis.com/javascript/latest/guide/using-fromjson/index.html) topic in the Guide for more information. + * Converts an instance of [this class]() to its ArcGIS portal JSON representation. See the [Using fromJSON()](https://developers.arcgis.com/javascript/latest/guide/programming-patterns/#using-fromjson) topic in the Guide for more information. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-DistanceParameters.html#toJSON) * @@ -42168,11 +43847,11 @@ declare namespace __esri { interface DistanceParametersProperties { /** - * Specifies the units for measuring distance between [geometry1](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-DistanceParameters.html#geometry1) and [geometry2](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-DistanceParameters.html#geometry2). If the unit is not specified the units are derived from the spatial reference. For a list of valid units, see [esriSRUnitType Constants](http://resources.arcgis.com/en/help/arcobjects-cpp/componenthelp/index.html#/esriSRUnitType_Constants/000w00000042000000/) and [esriSRUnit2Type Constants](http://resources.arcgis.com/en/help/arcobjects-cpp/componenthelp/index.html#/esriSRUnit2Type_Constants/000w00000041000000/). **Possible Values:** feet | kilometers | meters | miles | nautical-miles | yards + * Specifies the units for measuring distance between [geometry1](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-DistanceParameters.html#geometry1) and [geometry2](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-DistanceParameters.html#geometry2). If the unit is not specified the units are derived from the spatial reference. For a list of valid units, see [esriSRUnitType Constants](http://resources.arcgis.com/en/help/arcobjects-cpp/componenthelp/index.html#/esriSRUnitType_Constants/000w00000042000000/) and [esriSRUnit2Type Constants](http://resources.arcgis.com/en/help/arcobjects-cpp/componenthelp/index.html#/esriSRUnit2Type_Constants/000w00000041000000/). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-DistanceParameters.html#distanceUnit) */ - distanceUnit?: string; + distanceUnit?: "feet" | "kilometers" | "meters" | "miles" | "nautical-miles" | "yards"; /** * When `true`, the geodesic distance between [geometry1](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-DistanceParameters.html#geometry1) and [geometry2](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-DistanceParameters.html#geometry2) is measured. * @@ -42184,13 +43863,13 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-DistanceParameters.html#geometry1) */ - geometry1?: GeometryProperties[]; + geometry1?: GeometryProperties; /** * The geometry to which the distance is to be measured. The geometry can be a [Point](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Point.html), [Polyline](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Polyline.html), [Polygon](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Polygon.html), or a [Multipoint](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Multipoint.html). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-DistanceParameters.html#geometry2) */ - geometry2?: GeometryProperties[]; + geometry2?: GeometryProperties; } interface FeatureSet extends Accessor, JSONSupport { @@ -42291,7 +43970,7 @@ declare namespace __esri { spatialReference?: SpatialReferenceProperties; } - interface FindParameters extends Accessor { + interface FindParameters extends Accessor, JSONSupport { /** * Determines whether to look for an exact match of the search text or not. If `true`, searches for a value that contains the provided [searchText](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-FindParameters.html#searchText). This is a case-insensitive search. If `false`, searches for an exact match of the [searchText](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-FindParameters.html#searchText) string. The exact match is case-sensitive. * @@ -42344,19 +44023,12 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-FindParameters.html#searchText) */ searchText: string; - - /** - * Converts an instance of [this class]() to its ArcGIS portal JSON representation. See the [Using fromJSON()](https://developers.arcgis.com/javascript/latest/guide/using-fromjson/index.html) topic in the Guide for more information. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-FindParameters.html#toJSON) - * - * - */ - toJSON(): any; } interface FindParametersConstructor { new (properties?: FindParametersProperties): FindParameters; + + fromJSON(json: any): FindParameters; } export const FindParameters: FindParametersConstructor; @@ -42452,7 +44124,7 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-FindResult.html#value) */ - value: void; + value: string; } interface FindResultConstructor { @@ -42499,7 +44171,7 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-FindResult.html#value) */ - value?: void; + value?: string; } interface GeneralizeParameters extends Accessor { @@ -42523,7 +44195,7 @@ declare namespace __esri { maxDeviation: number; /** - * Converts an instance of [this class]() to its ArcGIS portal JSON representation. See the [Using fromJSON()](https://developers.arcgis.com/javascript/latest/guide/using-fromjson/index.html) topic in the Guide for more information. + * Converts an instance of [this class]() to its ArcGIS portal JSON representation. See the [Using fromJSON()](https://developers.arcgis.com/javascript/latest/guide/programming-patterns/#using-fromjson) topic in the Guide for more information. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-GeneralizeParameters.html#toJSON) * @@ -42567,11 +44239,19 @@ declare namespace __esri { */ description: string; /** - * The geoprocessing message type. **Possible Values:** informative | process-definition | process-start | process-stop | warning | error | empty | abort + * The geoprocessing message type. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-GPMessage.html#type) */ - type: string; + type: + | "informative" + | "process-definition" + | "process-start" + | "process-stop" + | "warning" + | "error" + | "empty" + | "abort"; } interface GPMessageConstructor { @@ -42590,14 +44270,22 @@ declare namespace __esri { */ description?: string; /** - * The geoprocessing message type. **Possible Values:** informative | process-definition | process-start | process-stop | warning | error | empty | abort + * The geoprocessing message type. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-GPMessage.html#type) */ - type?: string; + type?: + | "informative" + | "process-definition" + | "process-start" + | "process-stop" + | "warning" + | "error" + | "empty" + | "abort"; } - interface IdentifyParameters extends Accessor { + interface IdentifyParameters extends Accessor, JSONSupport { /** * Resolution of the current map view in dots per inch. * @@ -42646,7 +44334,7 @@ declare namespace __esri { * * @default top */ - layerOption: string; + layerOption: "top" | "visible" | "all"; /** * The Extent or bounding box of the current map view. The `mapExtent` property is assumed to be in the spatial reference of the map unless [spatialReference](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-IdentifyParameters.html#spatialReference) has been specified. The values for [mapExtent](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-IdentifyParameters.html#mapExtent), [height](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-IdentifyParameters.html#height), [width](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-IdentifyParameters.html#width), and [dpi](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-IdentifyParameters.html#dpi) are used to determine the current map scale. Once the scale is known, the map service can exclude layers based on their scale dependency settings. The map service is not performing a spatial intersection based on the provided extent. These properties are also used to calculate the search distance on the map based on the tolerance in screen pixels. * @@ -42719,19 +44407,12 @@ declare namespace __esri { * @default 400 */ width: number; - - /** - * Converts an instance of [this class]() to its ArcGIS portal JSON representation. See the [Using fromJSON()](https://developers.arcgis.com/javascript/latest/guide/using-fromjson/index.html) topic in the Guide for more information. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-IdentifyParameters.html#toJSON) - * - * - */ - toJSON(): any; } interface IdentifyParametersConstructor { new (properties?: IdentifyParametersProperties): IdentifyParameters; + + fromJSON(json: any): IdentifyParameters; } export const IdentifyParameters: IdentifyParametersConstructor; @@ -42785,7 +44466,7 @@ declare namespace __esri { * * @default top */ - layerOption?: string; + layerOption?: "top" | "visible" | "all"; /** * The Extent or bounding box of the current map view. The `mapExtent` property is assumed to be in the spatial reference of the map unless [spatialReference](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-IdentifyParameters.html#spatialReference) has been specified. The values for [mapExtent](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-IdentifyParameters.html#mapExtent), [height](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-IdentifyParameters.html#height), [width](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-IdentifyParameters.html#width), and [dpi](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-IdentifyParameters.html#dpi) are used to determine the current map scale. Once the scale is known, the map service can exclude layers based on their scale dependency settings. The map service is not performing a spatial intersection based on the provided extent. These properties are also used to calculate the search distance on the map based on the tolerance in screen pixels. * @@ -42947,18 +44628,6 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-ImageServiceIdentifyParameters.html#pixelSize) */ pixelSize: Point; - /** - * The pixel level being identified (or the resolution being looked at) on the x-axis. If not specified, it will default to the base resolution of the dataset. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-ImageServiceIdentifyParameters.html#pixelSizeX) - */ - pixelSizeX: number; - /** - * The pixel level being identified (or the resolution being looked at) on the y-axis. If not specified, it will default to the base resolution of the dataset. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-ImageServiceIdentifyParameters.html#pixelSizeY) - */ - pixelSizeY: number; /** * Specifies the rendering rule for how the requested image should be rendered. * @@ -43032,18 +44701,6 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-ImageServiceIdentifyParameters.html#pixelSize) */ pixelSize?: PointProperties; - /** - * The pixel level being identified (or the resolution being looked at) on the x-axis. If not specified, it will default to the base resolution of the dataset. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-ImageServiceIdentifyParameters.html#pixelSizeX) - */ - pixelSizeX?: number; - /** - * The pixel level being identified (or the resolution being looked at) on the y-axis. If not specified, it will default to the base resolution of the dataset. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-ImageServiceIdentifyParameters.html#pixelSizeY) - */ - pixelSizeY?: number; /** * Specifies the rendering rule for how the requested image should be rendered. * @@ -43190,11 +44847,22 @@ declare namespace __esri { */ jobId: string; /** - * The job status. **Possible Values:** job-cancelled | job-cancelling | job-deleted | job-deleting | job-timed-out | job-executing | job-failed | job-new | job-submitted | job-succeeded | job-waiting + * The job status. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-JobInfo.html#jobStatus) */ - jobStatus: string; + jobStatus: + | "job-cancelled" + | "job-cancelling" + | "job-deleted" + | "job-deleting" + | "job-timed-out" + | "job-executing" + | "job-failed" + | "job-new" + | "job-submitted" + | "job-succeeded" + | "job-waiting"; /** * An array of messages that include the message type and a description. * @@ -43219,11 +44887,22 @@ declare namespace __esri { */ jobId?: string; /** - * The job status. **Possible Values:** job-cancelled | job-cancelling | job-deleted | job-deleting | job-timed-out | job-executing | job-failed | job-new | job-submitted | job-succeeded | job-waiting + * The job status. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-JobInfo.html#jobStatus) */ - jobStatus?: string; + jobStatus?: + | "job-cancelled" + | "job-cancelling" + | "job-deleted" + | "job-deleting" + | "job-timed-out" + | "job-executing" + | "job-failed" + | "job-new" + | "job-submitted" + | "job-succeeded" + | "job-waiting"; /** * An array of messages that include the message type and a description. * @@ -43293,7 +44972,7 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-LengthsParameters.html#calculationType) */ - calculationType: string; + calculationType: "planar" | "geodesic" | "preserve-shape"; /** * If polylines are in a geographic coordinate system, then geodesic needs to be set to `true` in order to calculate the ellipsoidal shortest path distance between each pair of the vertices in the polylines. If `lengthUnit` is not specified, the output is returned in meters. * @@ -43314,7 +44993,7 @@ declare namespace __esri { polylines: Polyline[]; /** - * Converts an instance of [this class]() to its ArcGIS portal JSON representation. See the [Using fromJSON()](https://developers.arcgis.com/javascript/latest/guide/using-fromjson/index.html) topic in the Guide for more information. + * Converts an instance of [this class]() to its ArcGIS portal JSON representation. See the [Using fromJSON()](https://developers.arcgis.com/javascript/latest/guide/programming-patterns/#using-fromjson) topic in the Guide for more information. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-LengthsParameters.html#toJSON) * @@ -43342,7 +45021,7 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-LengthsParameters.html#calculationType) */ - calculationType?: string; + calculationType?: "planar" | "geodesic" | "preserve-shape"; /** * If polylines are in a geographic coordinate system, then geodesic needs to be set to `true` in order to calculate the ellipsoidal shortest path distance between each pair of the vertices in the polylines. If `lengthUnit` is not specified, the output is returned in meters. * @@ -43373,11 +45052,11 @@ declare namespace __esri { */ distance: number; /** - * Specifies the unit type of the linear distance. **Possible Values:** feet | kilometers | meters | miles | nautical-miles | yards + * Specifies the unit type of the linear distance. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-LinearUnit.html#units) */ - units: string; + units: "feet" | "kilometers" | "meters" | "miles" | "nautical-miles" | "yards"; } interface LinearUnitConstructor { @@ -43398,11 +45077,11 @@ declare namespace __esri { */ distance?: number; /** - * Specifies the unit type of the linear distance. **Possible Values:** feet | kilometers | meters | miles | nautical-miles | yards + * Specifies the unit type of the linear distance. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-LinearUnit.html#units) */ - units?: string; + units?: "feet" | "kilometers" | "meters" | "miles" | "nautical-miles" | "yards"; } interface MultipartColorRamp extends ColorRamp { @@ -43413,7 +45092,7 @@ declare namespace __esri { */ colorRamps: AlgorithmicColorRamp[]; /** - * A string value representing the color ramp type. This value is always `multipart`. + * A string value representing the color ramp type. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-MultipartColorRamp.html#type) * @@ -43456,11 +45135,19 @@ declare namespace __esri { */ description: string; /** - * The network analyst message type. **Possible Values:** informative | process-definition | process-start | process-stop | warning | error | empty | abort + * The network analyst message type. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-NAMessage.html#type) */ - type: string; + type: + | "informative" + | "process-definition" + | "process-start" + | "process-stop" + | "warning" + | "error" + | "empty" + | "abort"; } interface NAMessageConstructor { @@ -43479,11 +45166,19 @@ declare namespace __esri { */ description?: string; /** - * The network analyst message type. **Possible Values:** informative | process-definition | process-start | process-stop | warning | error | empty | abort + * The network analyst message type. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-NAMessage.html#type) */ - type?: string; + type?: + | "informative" + | "process-definition" + | "process-start" + | "process-stop" + | "warning" + | "error" + | "empty" + | "abort"; } interface OffsetParameters extends Accessor { @@ -43526,7 +45221,7 @@ declare namespace __esri { offsetUnit: string; /** - * Converts an instance of [this class]() to its ArcGIS portal JSON representation. See the [Using fromJSON()](https://developers.arcgis.com/javascript/latest/guide/using-fromjson/index.html) topic in the Guide for more information. + * Converts an instance of [this class]() to its ArcGIS portal JSON representation. See the [Using fromJSON()](https://developers.arcgis.com/javascript/latest/guide/programming-patterns/#using-fromjson) topic in the Guide for more information. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-OffsetParameters.html#toJSON) * @@ -43583,11 +45278,24 @@ declare namespace __esri { interface ParameterValue extends Accessor, JSONSupport { /** - * Specifies the parameter's data type. **Possible Values:** string | double | long | boolean | date | linear-unit | data-file | raster-data | record-set | raster-data-layer | feature-record-set-layer | multi-value + * Specifies the parameter's data type. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-ParameterValue.html#dataType) */ - dataType: string; + dataType: + | "boolean" + | "data-file" + | "date" + | "double" + | "feature-record-set-layer" + | "field" + | "linear-unit" + | "long" + | "raster-data" + | "raster-data-layer" + | "record-set" + | "string" + | "multi-value"; /** * The value of the parameter. The data structure of this value depends on the `dataType`. * @@ -43597,14 +45305,16 @@ declare namespace __esri { * double | [Number (float)](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number) * long | [Number (int)](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number) * boolean | [Boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean) - * date | [Date](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-Date.html) + * date | [Date](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date) * linear-unit | [LinearUnit](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-LinearUnit.html) * data-file | [DataFile](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-DataFile.html) * raster-data | [RasterData](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-RasterData.html) * record-set | [FeatureSet](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-FeatureSet.html) * raster-data-layer | [RasterData](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-RasterData.html) * feature-record-set-layer | [FeatureSet](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-FeatureSet.html) - * multi-value | [String[]](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String) + * field | [Field](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-Field.html) + * multi-value | [Object[]](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object) + * An array of any of the objects listed above. * * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-ParameterValue.html#value) @@ -43622,11 +45332,24 @@ declare namespace __esri { interface ParameterValueProperties { /** - * Specifies the parameter's data type. **Possible Values:** string | double | long | boolean | date | linear-unit | data-file | raster-data | record-set | raster-data-layer | feature-record-set-layer | multi-value + * Specifies the parameter's data type. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-ParameterValue.html#dataType) */ - dataType?: string; + dataType?: + | "boolean" + | "data-file" + | "date" + | "double" + | "feature-record-set-layer" + | "field" + | "linear-unit" + | "long" + | "raster-data" + | "raster-data-layer" + | "record-set" + | "string" + | "multi-value"; /** * The value of the parameter. The data structure of this value depends on the `dataType`. * @@ -43636,14 +45359,16 @@ declare namespace __esri { * double | [Number (float)](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number) * long | [Number (int)](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number) * boolean | [Boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean) - * date | [Date](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-Date.html) + * date | [Date](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date) * linear-unit | [LinearUnit](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-LinearUnit.html) * data-file | [DataFile](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-DataFile.html) * raster-data | [RasterData](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-RasterData.html) * record-set | [FeatureSet](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-FeatureSet.html) * raster-data-layer | [RasterData](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-RasterData.html) * feature-record-set-layer | [FeatureSet](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-FeatureSet.html) - * multi-value | [String[]](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String) + * field | [Field](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-Field.html) + * multi-value | [Object[]](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object) + * An array of any of the objects listed above. * * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-ParameterValue.html#value) @@ -43762,7 +45487,16 @@ declare namespace __esri { * * @default map-only */ - layout: string; + layout: + | "map-only" + | "a3-landscape" + | "a3-portrait" + | "a4-landscape" + | "a4-portrait" + | "letter-ansi-a-landscape" + | "letter-ansi-a-portrait" + | "tabloid-ansi-b-landscape" + | "tabloid-ansi-b-portrait"; /** * Defines the layout elements. It's an object with the following properties: * @@ -43852,7 +45586,16 @@ declare namespace __esri { * * @default map-only */ - layout?: string; + layout?: + | "map-only" + | "a3-landscape" + | "a3-portrait" + | "a4-landscape" + | "a4-portrait" + | "letter-ansi-a-landscape" + | "letter-ansi-a-portrait" + | "tabloid-ansi-b-landscape" + | "tabloid-ansi-b-portrait"; /** * Defines the layout elements. It's an object with the following properties: * @@ -43912,19 +45655,19 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-PrintTemplate.html#layoutOptions) */ - titleText: string; + titleText?: string; /** * The text used for the author if the specified layout contains an author text element. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-PrintTemplate.html#layoutOptions) */ - authorText: string; + authorText?: string; /** * The text used for the copyright if the specified layout contains an copyright text element. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-PrintTemplate.html#layoutOptions) */ - copyrightText: string; + copyrightText?: string; /** * The unit used for the scalebar. **Possible Values:** `Miles` | `Kilometers` | `Meters` | `Feet` * @@ -43934,17 +45677,17 @@ declare namespace __esri { */ scalebarUnit?: string; /** - * An array of [LegendLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-LegendLayer.html) containing the id's of the layers that will be included in the legend. If `legendLayers` is not specified, all operational layers (non-tiled layers) except [GraphicsLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-GraphicsLayer.html) will be present in the legend. To specify that no layers will be included in the legend set `legendLayer = []`. + * An array of [LegendLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-LegendLayer.html) containing the ids of the layers that will be included in the legend. Tiled layers and GraphicsLayer will not appear in the legend. If `legendLayers` is not specified, all operational layers (non-tiled layers) except [GraphicsLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-GraphicsLayer.html) will be present in the legend. To specify that no layers will be included in the legend set `legendLayer = []`. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-PrintTemplate.html#layoutOptions) */ - legendLayers: LegendLayer[]; + legendLayers?: LegendLayer[]; /** * An array of name-value pairs. Use this property to update the text for custom text elements on the page layout. Values must be strings. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-PrintTemplate.html#layoutOptions) */ - customTextElements: any[]; + customTextElements?: any[]; } interface ProjectParameters extends Accessor { @@ -43961,7 +45704,7 @@ declare namespace __esri { */ outSpatialReference: SpatialReference; /** - * The spatial reference to which you are projecting the geometries. Use [outSpatialReference](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-ProjectParameters.html#outSpatialReference) instead. + * The spatial reference to which you are projecting the geometries. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-ProjectParameters.html#outSR) */ @@ -43980,7 +45723,7 @@ declare namespace __esri { transformForward: boolean; /** - * Converts an instance of [this class]() to its ArcGIS portal JSON representation. See the [Using fromJSON()](https://developers.arcgis.com/javascript/latest/guide/using-fromjson/index.html) topic in the Guide for more information. + * Converts an instance of [this class]() to its ArcGIS portal JSON representation. See the [Using fromJSON()](https://developers.arcgis.com/javascript/latest/guide/programming-patterns/#using-fromjson) topic in the Guide for more information. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-ProjectParameters.html#toJSON) * @@ -44009,7 +45752,7 @@ declare namespace __esri { */ outSpatialReference?: SpatialReferenceProperties; /** - * The spatial reference to which you are projecting the geometries. Use [outSpatialReference](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-ProjectParameters.html#outSpatialReference) instead. + * The spatial reference to which you are projecting the geometries. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-ProjectParameters.html#outSR) */ @@ -44262,14 +46005,14 @@ declare namespace __esri { */ spatialRelationship: string; /** - * This parameter can be either standard SQL92 `standard` or it can use the native SQL of the underlying datastore `native`. See the [ArcGIS REST API documentation](https://developers.arcgis.com/rest/services-reference/query-feature-service-.htm) for more information. **Possible Values:** none | standard | native + * This parameter can be either standard SQL92 `standard` or it can use the native SQL of the underlying datastore `native`. See the [ArcGIS REST API documentation](https://developers.arcgis.com/rest/services-reference/query-feature-service-.htm) for more information. * > **Known Limitations** This property does not apply to layer view or [CSVLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-CSVLayer.html) queries. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-Query.html#sqlFormat) * * @default none */ - sqlFormat: string; + sqlFormat: "none" | "standard" | "native"; /** * The zero-based index indicating where to begin retrieving features. This property should be used in conjunction with [num](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-Query.html#num). Use this to implement paging and retrieve "pages" of results when querying. Features are sorted ascending by object ID by default. * > **Known Limitations** This property does not apply to layer view or [CSVLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-CSVLayer.html) queries. @@ -44292,13 +46035,13 @@ declare namespace __esri { */ timeExtent: TimeExtent; /** - * The unit for calculating the buffer distance when [distance](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-Query.html#distance) is specified in spatial queries. If `units` is not specified, the unit is derived from the geometry spatial reference. If the geometry spatial reference is not specified, the unit is derived from the feature service data spatial reference. For service-based queries, this parameter only applies if the layer's [capabilities.query.supportsDistance](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html#capabilities) is `true`. **Possible Values:** feet | miles | nautical-miles | us-nautical-miles | meters | kilometers + * The unit for calculating the buffer distance when [distance](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-Query.html#distance) is specified in spatial queries. If `units` is not specified, the unit is derived from the geometry spatial reference. If the geometry spatial reference is not specified, the unit is derived from the feature service data spatial reference. For service-based queries, this parameter only applies if the layer's [capabilities.query.supportsDistance](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html#capabilities) is `true`. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-Query.html#units) * * @default null */ - units: string; + units: "feet" | "miles" | "nautical-miles" | "us-nautical-miles" | "meters" | "kilometers"; /** * A where clause for the query. Any legal SQL where clause operating on the fields in the layer is allowed. Be sure to have the correct sequence of single and double quotes when writing the where clause in JavaScript. * @@ -44549,14 +46292,14 @@ declare namespace __esri { */ spatialRelationship?: string; /** - * This parameter can be either standard SQL92 `standard` or it can use the native SQL of the underlying datastore `native`. See the [ArcGIS REST API documentation](https://developers.arcgis.com/rest/services-reference/query-feature-service-.htm) for more information. **Possible Values:** none | standard | native + * This parameter can be either standard SQL92 `standard` or it can use the native SQL of the underlying datastore `native`. See the [ArcGIS REST API documentation](https://developers.arcgis.com/rest/services-reference/query-feature-service-.htm) for more information. * > **Known Limitations** This property does not apply to layer view or [CSVLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-CSVLayer.html) queries. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-Query.html#sqlFormat) * * @default none */ - sqlFormat?: string; + sqlFormat?: "none" | "standard" | "native"; /** * The zero-based index indicating where to begin retrieving features. This property should be used in conjunction with [num](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-Query.html#num). Use this to implement paging and retrieve "pages" of results when querying. Features are sorted ascending by object ID by default. * > **Known Limitations** This property does not apply to layer view or [CSVLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-CSVLayer.html) queries. @@ -44579,13 +46322,13 @@ declare namespace __esri { */ timeExtent?: TimeExtentProperties; /** - * The unit for calculating the buffer distance when [distance](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-Query.html#distance) is specified in spatial queries. If `units` is not specified, the unit is derived from the geometry spatial reference. If the geometry spatial reference is not specified, the unit is derived from the feature service data spatial reference. For service-based queries, this parameter only applies if the layer's [capabilities.query.supportsDistance](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html#capabilities) is `true`. **Possible Values:** feet | miles | nautical-miles | us-nautical-miles | meters | kilometers + * The unit for calculating the buffer distance when [distance](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-Query.html#distance) is specified in spatial queries. If `units` is not specified, the unit is derived from the geometry spatial reference. If the geometry spatial reference is not specified, the unit is derived from the feature service data spatial reference. For service-based queries, this parameter only applies if the layer's [capabilities.query.supportsDistance](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html#capabilities) is `true`. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-Query.html#units) * * @default null */ - units?: string; + units?: "feet" | "miles" | "nautical-miles" | "us-nautical-miles" | "meters" | "kilometers"; /** * A where clause for the query. Any legal SQL where clause operating on the fields in the layer is allowed. Be sure to have the correct sequence of single and double quotes when writing the where clause in JavaScript. * @@ -44623,13 +46366,13 @@ declare namespace __esri { */ mode?: string; /** - * The integer's coordinates will be returned relative to the origin position defined by this property value. **Possible Values:** upper-left | lower-left + * The integer's coordinates will be returned relative to the origin position defined by this property value. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-Query.html#quantizationParameters) * * @default upper-left */ - originPosition?: string; + originPosition?: "upper-left" | "lower-left"; /** * The size of one pixel in the units of the [outSpatialReference](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-Query.html#outSpatialReference). This number is used to convert coordinates to integers by building a grid with a resolution matching the tolerance. Each coordinate is then snapped to one pixel on the grid. Consecutive coordinates snapped to the same pixel are removed for reducing the overall response size. The units of tolerance will match the units of [outSpatialReference](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-Query.html#outSpatialReference). If `outSpatialReference` is not specified, then tolerance is assumed to be in the units of the spatial reference of the layer. If tolerance is not specified, the [maxAllowableOffset](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-Query.html#maxAllowableOffset) is used. If tolerance and `maxAllowableOffset` are not specified, a grid of 10,000 * 10,000 grid is used by default. * @@ -44739,7 +46482,19 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-RelationParameters.html#relation) */ - relation: string; + relation: + | "cross" + | "disjoint" + | "in" + | "interior-intersection" + | "intersection" + | "line-coincidence" + | "line-touch" + | "overlap" + | "point-touch" + | "relation" + | "touch" + | "within"; /** * The string describes the spatial relationship to be tested when `RelationParameters.relation = 'relation'`. The [Relational functions for ST_Geometry](https://desktop.arcgis.com/en/arcmap/latest/manage-data/using-sql-with-gdbs/relational-functions-for-st-geometry.htm) topic has additional details. An example of a valid string is: `FFFTTT**`. Also see the description of [geometryEngine.relate()](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-geometryEngine.html#relate) for additional examples of valid strings. * @@ -44748,7 +46503,7 @@ declare namespace __esri { relationParameter: string; /** - * Converts an instance of [this class]() to its ArcGIS portal JSON representation. See the [Using fromJSON()](https://developers.arcgis.com/javascript/latest/guide/using-fromjson/index.html) topic in the Guide for more information. + * Converts an instance of [this class]() to its ArcGIS portal JSON representation. See the [Using fromJSON()](https://developers.arcgis.com/javascript/latest/guide/programming-patterns/#using-fromjson) topic in the Guide for more information. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-RelationParameters.html#toJSON) * @@ -44797,7 +46552,19 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-RelationParameters.html#relation) */ - relation?: string; + relation?: + | "cross" + | "disjoint" + | "in" + | "interior-intersection" + | "intersection" + | "line-coincidence" + | "line-touch" + | "overlap" + | "point-touch" + | "relation" + | "touch" + | "within"; /** * The string describes the spatial relationship to be tested when `RelationParameters.relation = 'relation'`. The [Relational functions for ST_Geometry](https://desktop.arcgis.com/en/arcmap/latest/manage-data/using-sql-with-gdbs/relational-functions-for-st-geometry.htm) topic has additional details. An example of a valid string is: `FFFTTT**`. Also see the description of [geometryEngine.relate()](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-geometryEngine.html#relate) for additional examples of valid strings. * @@ -44979,7 +46746,7 @@ declare namespace __esri { */ directionsLanguage: string; /** - * The length units to use when computing directions. The default is as defined in the specific routing network layer used in your [RouteTask](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-RouteTask.html). **Possible Values:** centimeters | decimal-degrees | decimeters | feet | inches | kilometers | meters | miles | millimeters | nautical-miles | points | yards + * The length units to use when computing directions. The default is as defined in the specific routing network layer used in your [RouteTask](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-RouteTask.html). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-RouteParameters.html#directionsLengthUnits) */ @@ -44997,7 +46764,7 @@ declare namespace __esri { | "points" | "yards"; /** - * Defines the amount of direction information returned. **Possible Values:** complete | complete-no-events | instructions-only | standard | summary-only + * Defines the amount of direction information returned. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-RouteParameters.html#directionsOutputType) */ @@ -45018,6 +46785,8 @@ declare namespace __esri { * If `true`, avoids network elements restricted by barriers or restrictions specified in [restrictionAttributes](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-RouteParameters.html#restrictionAttributes). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-RouteParameters.html#doNotLocateOnRestrictedElements) + * + * @default true */ doNotLocateOnRestrictedElements: boolean; /** @@ -45053,7 +46822,7 @@ declare namespace __esri { */ outputGeometryPrecision: number; /** - * The units of the output geometry precision. **Possible Values:** centimeters | decimal-degrees | decimeters | feet | inches | kilometers | meters | miles | millimeters | nautical-miles | points | yards + * The units of the output geometry precision. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-RouteParameters.html#outputGeometryPrecisionUnits) */ @@ -45127,7 +46896,7 @@ declare namespace __esri { */ restrictionAttributes: string[]; /** - * Specifies how U-Turns should be handled. The default is as defined in the specific routing network layer used in your [RouteTask](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-RouteTask.html). **Possible Values:** allow-backtrack | at-dead-ends-only | no-backtrack | at-dead-ends-and-intersections + * Specifies how U-Turns should be handled. The default is as defined in the specific routing network layer used in your [RouteTask](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-RouteTask.html). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-RouteParameters.html#restrictUTurns) */ @@ -45168,18 +46937,24 @@ declare namespace __esri { * If `true`, routes are generated and returned in the route property of each [RouteResult](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-RouteResult.html). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-RouteParameters.html#returnRoutes) + * + * @default true */ returnRoutes: boolean; /** * If `true`, stops are returned in the stops property of each [RouteResult](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-RouteResult.html). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-RouteParameters.html#returnStops) + * + * @default false */ returnStops: boolean; /** * If `true`, `z` values are returned in the [RouteResult](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-RouteResult.html). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-RouteParameters.html#returnZ) + * + * @default true */ returnZ: boolean; /** @@ -45192,6 +46967,8 @@ declare namespace __esri { * If `true`, the start time will be in UTC format. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-RouteParameters.html#startTimeIsUTC) + * + * @default true */ startTimeIsUTC: boolean; /** @@ -45258,7 +47035,7 @@ declare namespace __esri { */ directionsLanguage?: string; /** - * The length units to use when computing directions. The default is as defined in the specific routing network layer used in your [RouteTask](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-RouteTask.html). **Possible Values:** centimeters | decimal-degrees | decimeters | feet | inches | kilometers | meters | miles | millimeters | nautical-miles | points | yards + * The length units to use when computing directions. The default is as defined in the specific routing network layer used in your [RouteTask](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-RouteTask.html). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-RouteParameters.html#directionsLengthUnits) */ @@ -45276,7 +47053,7 @@ declare namespace __esri { | "points" | "yards"; /** - * Defines the amount of direction information returned. **Possible Values:** complete | complete-no-events | instructions-only | standard | summary-only + * Defines the amount of direction information returned. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-RouteParameters.html#directionsOutputType) */ @@ -45297,6 +47074,8 @@ declare namespace __esri { * If `true`, avoids network elements restricted by barriers or restrictions specified in [restrictionAttributes](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-RouteParameters.html#restrictionAttributes). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-RouteParameters.html#doNotLocateOnRestrictedElements) + * + * @default true */ doNotLocateOnRestrictedElements?: boolean; /** @@ -45332,7 +47111,7 @@ declare namespace __esri { */ outputGeometryPrecision?: number; /** - * The units of the output geometry precision. **Possible Values:** centimeters | decimal-degrees | decimeters | feet | inches | kilometers | meters | miles | millimeters | nautical-miles | points | yards + * The units of the output geometry precision. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-RouteParameters.html#outputGeometryPrecisionUnits) */ @@ -45406,7 +47185,7 @@ declare namespace __esri { */ restrictionAttributes?: string[]; /** - * Specifies how U-Turns should be handled. The default is as defined in the specific routing network layer used in your [RouteTask](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-RouteTask.html). **Possible Values:** allow-backtrack | at-dead-ends-only | no-backtrack | at-dead-ends-and-intersections + * Specifies how U-Turns should be handled. The default is as defined in the specific routing network layer used in your [RouteTask](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-RouteTask.html). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-RouteParameters.html#restrictUTurns) */ @@ -45447,18 +47226,24 @@ declare namespace __esri { * If `true`, routes are generated and returned in the route property of each [RouteResult](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-RouteResult.html). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-RouteParameters.html#returnRoutes) + * + * @default true */ returnRoutes?: boolean; /** * If `true`, stops are returned in the stops property of each [RouteResult](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-RouteResult.html). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-RouteParameters.html#returnStops) + * + * @default false */ returnStops?: boolean; /** * If `true`, `z` values are returned in the [RouteResult](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-RouteResult.html). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-RouteParameters.html#returnZ) + * + * @default true */ returnZ?: boolean; /** @@ -45471,6 +47256,8 @@ declare namespace __esri { * If `true`, the start time will be in UTC format. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-RouteParameters.html#startTimeIsUTC) + * + * @default true */ startTimeIsUTC?: boolean; /** @@ -45649,7 +47436,7 @@ declare namespace __esri { */ outputGeometryPrecision: number; /** - * The units of the output geometry precision. **Possible Values:** centimeters | decimal-degrees | decimeters | feet | inches | kilometers | meters | miles | millimeters | nautical-miles | points | yards + * The units of the output geometry precision. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-ServiceAreaParameters.html#outputGeometryPrecisionUnits) */ @@ -45681,7 +47468,7 @@ declare namespace __esri { */ outputLines: "none" | "straight" | "true-shape" | "true-shape-with-measure"; /** - * The type of output polygons to be generated in the result. The default is as defined in the specific routing network layer used in your [ServiceAreaTask](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-ServiceAreaTask.html). **Possible Values:** none | simplified | detailed + * The type of output polygons to be generated in the result. The default is as defined in the specific routing network layer used in your [ServiceAreaTask](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-ServiceAreaTask.html). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-ServiceAreaParameters.html#outputPolygons) */ @@ -45930,7 +47717,7 @@ declare namespace __esri { */ outputGeometryPrecision?: number; /** - * The units of the output geometry precision. **Possible Values:** centimeters | decimal-degrees | decimeters | feet | inches | kilometers | meters | miles | millimeters | nautical-miles | points | yards + * The units of the output geometry precision. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-ServiceAreaParameters.html#outputGeometryPrecisionUnits) */ @@ -45962,7 +47749,7 @@ declare namespace __esri { */ outputLines?: "none" | "straight" | "true-shape" | "true-shape-with-measure"; /** - * The type of output polygons to be generated in the result. The default is as defined in the specific routing network layer used in your [ServiceAreaTask](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-ServiceAreaTask.html). **Possible Values:** none | simplified | detailed + * The type of output polygons to be generated in the result. The default is as defined in the specific routing network layer used in your [ServiceAreaTask](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-ServiceAreaTask.html). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-ServiceAreaParameters.html#outputPolygons) */ @@ -46257,7 +48044,7 @@ declare namespace __esri { */ outStatisticFieldName: string; /** - * Defines the type of statistic. **Possible Values:** count | sum | min | max | avg | stddev | var + * Defines the type of statistic. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-StatisticDefinition.html#statisticType) */ @@ -46295,7 +48082,7 @@ declare namespace __esri { */ outStatisticFieldName?: string; /** - * Defines the type of statistic. **Possible Values:** count | sum | min | max | avg | stddev | var + * Defines the type of statistic. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-StatisticDefinition.html#statisticType) */ @@ -46318,9 +48105,15 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-TrimExtendParameters.html#extendHow) * - * @default default-curve-extension + * @default "default-curve-extension" */ - extendHow: string; + extendHow: + | "default-curve-extension" + | "relocate-ends" + | "keep-end-attributes" + | "no-end-attributes" + | "no-extend-at-from" + | "no-extend-at-to"; /** * The array of polylines to trim or extend. The structure of each geometry in the array is the same as the structure of the JSON polyline objects returned by the ArcGIS REST API. * @@ -46335,7 +48128,7 @@ declare namespace __esri { trimExtendTo: Polyline; /** - * Converts an instance of [this class]() to its ArcGIS portal JSON representation. See the [Using fromJSON()](https://developers.arcgis.com/javascript/latest/guide/using-fromjson/index.html) topic in the Guide for more information. + * Converts an instance of [this class]() to its ArcGIS portal JSON representation. See the [Using fromJSON()](https://developers.arcgis.com/javascript/latest/guide/programming-patterns/#using-fromjson) topic in the Guide for more information. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-TrimExtendParameters.html#toJSON) * @@ -46366,9 +48159,15 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-TrimExtendParameters.html#extendHow) * - * @default default-curve-extension + * @default "default-curve-extension" */ - extendHow?: string; + extendHow?: + | "default-curve-extension" + | "relocate-ends" + | "keep-end-attributes" + | "no-end-attributes" + | "no-extend-at-from" + | "no-extend-at-to"; /** * The array of polylines to trim or extend. The structure of each geometry in the array is the same as the structure of the JSON polyline objects returned by the ArcGIS REST API. * @@ -51250,13 +53049,23 @@ declare namespace __esri { interface TimeInterval extends JSONSupport { /** - * Temporal units. **Possible Values:** milliseconds | seconds | minutes | hours | days | weeks | months | years | decades | centuries + * Temporal units. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-TimeInterval.html#unit) * * @default milliseconds */ - unit: string; + unit: + | "milliseconds" + | "seconds" + | "minutes" + | "hours" + | "days" + | "weeks" + | "months" + | "years" + | "decades" + | "centuries"; /** * The numerical value of the time extent. * @@ -51286,13 +53095,23 @@ declare namespace __esri { interface TimeIntervalProperties { /** - * Temporal units. **Possible Values:** milliseconds | seconds | minutes | hours | days | weeks | months | years | decades | centuries + * Temporal units. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-TimeInterval.html#unit) * * @default milliseconds */ - unit?: string; + unit?: + | "milliseconds" + | "seconds" + | "minutes" + | "hours" + | "days" + | "weeks" + | "months" + | "years" + | "decades" + | "centuries"; /** * The numerical value of the time extent. * @@ -52162,6 +53981,50 @@ declare namespace __esri { ambient: ColorAndIntensity; } + interface BasemapView extends Accessor { + /** + * A collection containing a hierarchical list of all the created [LayerViews](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-LayerView.html) of the base layers in the map. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BasemapView.html#baseLayerViews) + */ + readonly baseLayerViews: Collection; + /** + * A collection containing a hierarchical list of all the created [LayerViews](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-LayerView.html) of the reference layers in the map. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BasemapView.html#referenceLayerViews) + */ + readonly referenceLayerViews: Collection; + /** + * Value is `true` when the basemap is updating; for example, if it is in the process of fetching data. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BasemapView.html#updating) + * + * @default false + */ + readonly updating: boolean; + /** + * References the [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) or [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BasemapView.html#view) + */ + view: MapView | SceneView; + } + + interface BasemapViewConstructor { + new (properties?: BasemapViewProperties): BasemapView; + } + + export const BasemapView: BasemapViewConstructor; + + interface BasemapViewProperties { + /** + * References the [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) or [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BasemapView.html#view) + */ + view?: MapViewProperties | SceneViewProperties; + } + interface BreakpointsOwner { /** * A convenience property used for defining the breakpoints on the [height](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BreakpointsOwner.html#height) and [width](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BreakpointsOwner.html#width) of the view. The sizes specified here determine the values of 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) properties depending on the view's size. Setting up breakpoints can aid in responsive app design. It does this by watching width and height breakpoints. This is helpful as it removes the need for multiple [`@media` calls](https://developer.mozilla.org/en-US/docs/Web/CSS/Media_Queries). Instead of listening for the view's size and/or resizes property, you can set up a watch handler for either the [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) properties of the view. @@ -52185,7 +54048,7 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BreakpointsOwner.html#heightBreakpoint) */ - heightBreakpoint: string; + heightBreakpoint: "xsmall" | "small" | "medium" | "large" | "xlarge"; /** * A convenience property indicating the view's orientation. See the table below for a list of possible values. * > Please refer to the [styling guide](https://developers.arcgis.com/javascript/latest/guide/styling/index.html#view-size-css-classes) for additional information on working with this. @@ -52198,7 +54061,7 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BreakpointsOwner.html#orientation) */ - readonly orientation: string; + readonly orientation: "landscape" | "portrait"; /** * A convenience property indicating the general size of the view's width. This value is determined based on where the view's [width](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BreakpointsOwner.html#width) falls in the ranges defined in the [breakpoints](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BreakpointsOwner.html#breakpoints) property. See the table below for a list of possible values. Use the [breakpoints](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BreakpointsOwner.html#breakpoints) property to override the default thresholds. * > Please refer to the [styling guide](https://developers.arcgis.com/javascript/latest/guide/styling/index.html#view-size-css-classes) for additional information on working with this. @@ -52214,7 +54077,7 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BreakpointsOwner.html#widthBreakpoint) */ - widthBreakpoint: string; + widthBreakpoint: "xsmall" | "small" | "medium" | "large" | "xlarge"; } interface BreakpointsOwnerConstructor { @@ -52246,7 +54109,7 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BreakpointsOwner.html#heightBreakpoint) */ - heightBreakpoint?: string; + heightBreakpoint?: "xsmall" | "small" | "medium" | "large" | "xlarge"; /** * A convenience property indicating the general size of the view's width. This value is determined based on where the view's [width](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BreakpointsOwner.html#width) falls in the ranges defined in the [breakpoints](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BreakpointsOwner.html#breakpoints) property. See the table below for a list of possible values. Use the [breakpoints](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BreakpointsOwner.html#breakpoints) property to override the default thresholds. * > Please refer to the [styling guide](https://developers.arcgis.com/javascript/latest/guide/styling/index.html#view-size-css-classes) for additional information on working with this. @@ -52262,7 +54125,7 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BreakpointsOwner.html#widthBreakpoint) */ - widthBreakpoint?: string; + widthBreakpoint?: "xsmall" | "small" | "medium" | "large" | "xlarge"; } export interface BreakpointsOwnerBreakpoints extends Object { @@ -52328,7 +54191,7 @@ declare namespace __esri { */ readonly height: number; /** - * A Popup object that displays general content or attributes from [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-DOMContainer.html#map). The view has a default instance of [Popup](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Popup.html) with predefined styles and a template for defining content. The content in this default instance may be modified directly in the [popup's content](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Popup.html#content) or in a layer's [PopupTemplate](https://developers.arcgis.com/javascript/latest/api-reference/esri-PopupTemplate.html). You may create a new [Popup](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Popup.html) instance and set it to this property to customize the style, positioning, and content of the popup in favor of using the default popup instance on the view. In addition, if wanting to prevent any popups from opening, use the syntax below: + * A Popup object that displays general content or attributes from [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-DOMContainer.html#map). The view has a default instance of [Popup](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Popup.html) with predefined styles and a template for defining content. The content in this default instance may be modified directly in the [popup's content](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Popup.html#content) or in a layer's [PopupTemplate](https://developers.arcgis.com/javascript/latest/api-reference/esri-PopupTemplate.html). You may create a new [Popup](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Popup.html) instance and set it to this property to customize the style, positioning, and content of the popup in favor of using the default popup instance on the view. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-DOMContainer.html#popup) */ @@ -52385,7 +54248,7 @@ declare namespace __esri { */ container?: HTMLDivElement | string; /** - * A Popup object that displays general content or attributes from [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-DOMContainer.html#map). The view has a default instance of [Popup](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Popup.html) with predefined styles and a template for defining content. The content in this default instance may be modified directly in the [popup's content](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Popup.html#content) or in a layer's [PopupTemplate](https://developers.arcgis.com/javascript/latest/api-reference/esri-PopupTemplate.html). You may create a new [Popup](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Popup.html) instance and set it to this property to customize the style, positioning, and content of the popup in favor of using the default popup instance on the view. In addition, if wanting to prevent any popups from opening, use the syntax below: + * A Popup object that displays general content or attributes from [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-DOMContainer.html#map). The view has a default instance of [Popup](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Popup.html) with predefined styles and a template for defining content. The content in this default instance may be modified directly in the [popup's content](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Popup.html#content) or in a layer's [PopupTemplate](https://developers.arcgis.com/javascript/latest/api-reference/esri-PopupTemplate.html). You may create a new [Popup](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Popup.html) instance and set it to this property to customize the style, positioning, and content of the popup in favor of using the default popup instance on the view. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-DOMContainer.html#popup) */ @@ -52579,6 +54442,18 @@ declare namespace __esri { * */ complete(): void; + + on(name: "cursor-update", eventHandler: MultipointDrawActionCursorUpdateEventHandler): IHandle; + + on(name: "vertex-add", eventHandler: MultipointDrawActionVertexAddEventHandler): IHandle; + + on(name: "vertex-remove", eventHandler: MultipointDrawActionVertexRemoveEventHandler): IHandle; + + on(name: "draw-complete", eventHandler: MultipointDrawActionDrawCompleteEventHandler): IHandle; + + on(name: "undo", eventHandler: MultipointDrawActionUndoEventHandler): IHandle; + + on(name: "redo", eventHandler: MultipointDrawActionRedoEventHandler): IHandle; } interface MultipointDrawActionConstructor { @@ -52595,6 +54470,76 @@ declare namespace __esri { interface MultipointDrawActionProperties extends DrawActionProperties {} + export interface MultipointDrawActionCursorUpdateEvent { + defaultPrevented: boolean; + + preventDefault: Function; + + type: string; + + vertexIndex: number; + + vertices: number[][]; + } + + export interface MultipointDrawActionDrawCompleteEvent { + defaultPrevented: boolean; + + preventDefault: Function; + + type: string; + + vertices: number[][]; + } + + export interface MultipointDrawActionRedoEvent { + defaultPrevented: boolean; + + preventDefault: Function; + + type: string; + + vertexIndex: number; + + vertices: number[][]; + } + + export interface MultipointDrawActionUndoEvent { + defaultPrevented: boolean; + + preventDefault: Function; + + type: string; + + vertexIndex: number; + + vertices: number[][]; + } + + export interface MultipointDrawActionVertexAddEvent { + defaultPrevented: boolean; + + preventDefault: Function; + + type: string; + + vertexIndex: number; + + vertices: number[][]; + } + + export interface MultipointDrawActionVertexRemoveEvent { + defaultPrevented: boolean; + + preventDefault: Function; + + type: string; + + vertexIndex: number; + + vertices: number[][]; + } + interface PointDrawAction extends DrawAction { /** * An array of x,y coordinates for the [point](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Point.html) geometry. @@ -52611,6 +54556,10 @@ declare namespace __esri { * */ complete(): void; + + on(name: "cursor-update", eventHandler: PointDrawActionCursorUpdateEventHandler): IHandle; + + on(name: "draw-complete", eventHandler: PointDrawActionDrawCompleteEventHandler): IHandle; } interface PointDrawActionConstructor { @@ -52621,6 +54570,26 @@ declare namespace __esri { interface PointDrawActionProperties extends DrawActionProperties {} + export interface PointDrawActionCursorUpdateEvent { + coordinates: number[]; + + defaultPrevented: boolean; + + preventDefault: Function; + + type: string; + } + + export interface PointDrawActionDrawCompleteEvent { + coordinates: number[]; + + defaultPrevented: boolean; + + preventDefault: Function; + + type: string; + } + interface PolygonDrawAction extends DrawAction { /** * The drawing mode. It is only relevant when the action is first created. Its value cannot be changed during the action lifecycle. **Possible Values:** @@ -52636,7 +54605,7 @@ declare namespace __esri { * * @default hybrid */ - mode: string; + mode: "hybrid" | "freehand" | "click"; /** * Two-dimensional array of numbers representing the coordinates of each vertex comprising the geometry being drawn. * @@ -52652,6 +54621,18 @@ declare namespace __esri { * */ complete(): void; + + on(name: "cursor-update", eventHandler: PolygonDrawActionCursorUpdateEventHandler): IHandle; + + on(name: "vertex-add", eventHandler: PolygonDrawActionVertexAddEventHandler): IHandle; + + on(name: "vertex-remove", eventHandler: PolygonDrawActionVertexRemoveEventHandler): IHandle; + + on(name: "draw-complete", eventHandler: PolygonDrawActionDrawCompleteEventHandler): IHandle; + + on(name: "undo", eventHandler: PolygonDrawActionUndoEventHandler): IHandle; + + on(name: "redo", eventHandler: PolygonDrawActionRedoEventHandler): IHandle; } interface PolygonDrawActionConstructor { @@ -52675,7 +54656,77 @@ declare namespace __esri { * * @default hybrid */ - mode?: string; + mode?: "hybrid" | "freehand" | "click"; + } + + export interface PolygonDrawActionCursorUpdateEvent { + defaultPrevented: boolean; + + preventDefault: Function; + + type: string; + + vertexIndex: number; + + vertices: number[][]; + } + + export interface PolygonDrawActionDrawCompleteEvent { + defaultPrevented: boolean; + + preventDefault: Function; + + type: string; + + vertices: number[][]; + } + + export interface PolygonDrawActionRedoEvent { + defaultPrevented: boolean; + + preventDefault: Function; + + type: string; + + vertexIndex: number; + + vertices: number[][]; + } + + export interface PolygonDrawActionUndoEvent { + defaultPrevented: boolean; + + preventDefault: Function; + + type: string; + + vertexIndex: number; + + vertices: number[][]; + } + + export interface PolygonDrawActionVertexAddEvent { + defaultPrevented: boolean; + + preventDefault: Function; + + type: string; + + vertexIndex: number; + + vertices: number[][]; + } + + export interface PolygonDrawActionVertexRemoveEvent { + defaultPrevented: boolean; + + preventDefault: Function; + + type: string; + + vertexIndex: number; + + vertices: number[][]; } interface PolylineDrawAction extends DrawAction { @@ -52693,7 +54744,7 @@ declare namespace __esri { * * @default hybrid */ - mode: string; + mode: "hybrid" | "freehand" | "click"; /** * Two-dimensional array of numbers representing the coordinates of each vertex comprising the geometry being drawn. * @@ -52709,6 +54760,18 @@ declare namespace __esri { * */ complete(): void; + + on(name: "cursor-update", eventHandler: PolylineDrawActionCursorUpdateEventHandler): IHandle; + + on(name: "vertex-add", eventHandler: PolylineDrawActionVertexAddEventHandler): IHandle; + + on(name: "vertex-remove", eventHandler: PolylineDrawActionVertexRemoveEventHandler): IHandle; + + on(name: "draw-complete", eventHandler: PolylineDrawActionDrawCompleteEventHandler): IHandle; + + on(name: "undo", eventHandler: PolylineDrawActionUndoEventHandler): IHandle; + + on(name: "redo", eventHandler: PolylineDrawActionRedoEventHandler): IHandle; } interface PolylineDrawActionConstructor { @@ -52732,7 +54795,77 @@ declare namespace __esri { * * @default hybrid */ - mode?: string; + mode?: "hybrid" | "freehand" | "click"; + } + + export interface PolylineDrawActionCursorUpdateEvent { + defaultPrevented: boolean; + + preventDefault: Function; + + type: string; + + vertexIndex: number; + + vertices: number[][]; + } + + export interface PolylineDrawActionDrawCompleteEvent { + defaultPrevented: boolean; + + preventDefault: Function; + + type: string; + + vertices: number[][]; + } + + export interface PolylineDrawActionRedoEvent { + defaultPrevented: boolean; + + preventDefault: Function; + + type: string; + + vertexIndex: number; + + vertices: number[][]; + } + + export interface PolylineDrawActionUndoEvent { + defaultPrevented: boolean; + + preventDefault: Function; + + type: string; + + vertexIndex: number; + + vertices: number[][]; + } + + export interface PolylineDrawActionVertexAddEvent { + defaultPrevented: boolean; + + preventDefault: Function; + + type: string; + + vertexIndex: number; + + vertices: number[][]; + } + + export interface PolylineDrawActionVertexRemoveEvent { + defaultPrevented: boolean; + + preventDefault: Function; + + type: string; + + vertexIndex: number; + + vertices: number[][]; } interface SegmentDrawAction extends DrawAction { @@ -52749,7 +54882,7 @@ declare namespace __esri { * * @default freehand */ - mode: string; + mode: "freehand" | "click"; /** * Two-dimensional array of numbers representing the coordinates of each vertex comprising the geometry being drawn. * @@ -52765,6 +54898,12 @@ declare namespace __esri { * */ complete(): void; + + on(name: "cursor-update", eventHandler: SegmentDrawActionCursorUpdateEventHandler): IHandle; + + on(name: "draw-complete", eventHandler: SegmentDrawActionDrawCompleteEventHandler): IHandle; + + on(name: "vertex-add", eventHandler: SegmentDrawActionVertexAddEventHandler): IHandle; } interface SegmentDrawActionConstructor { @@ -52787,7 +54926,41 @@ declare namespace __esri { * * @default freehand */ - mode?: string; + mode?: "freehand" | "click"; + } + + export interface SegmentDrawActionCursorUpdateEvent { + defaultPrevented: boolean; + + preventDefault: Function; + + type: string; + + vertexIndex: number; + + vertices: number[][]; + } + + export interface SegmentDrawActionDrawCompleteEvent { + defaultPrevented: boolean; + + preventDefault: Function; + + type: string; + + vertices: number[][]; + } + + export interface SegmentDrawActionVertexAddEvent { + defaultPrevented: boolean; + + preventDefault: Function; + + type: string; + + vertexIndex: number; + + vertices: number[][]; } interface GroundView extends Accessor { @@ -52852,7 +55025,7 @@ declare namespace __esri { */ readonly devices: Collection; /** - * Determines what focus is required for gamepad events to be dispatched. Possible values: document | view | none + * Determines what focus is required for gamepad events to be dispatched. * * Possible Value | Description * ---------------|------------ @@ -52876,7 +55049,7 @@ declare namespace __esri { interface GamepadSettingsProperties { /** - * Determines what focus is required for gamepad events to be dispatched. Possible values: document | view | none + * Determines what focus is required for gamepad events to be dispatched. * * Possible Value | Description * ---------------|------------ @@ -53191,7 +55364,7 @@ declare namespace __esri { options?: FeatureLayerViewQueryFeatureCountOptions ): IPromise; /** - * Executes a [Query](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-Query.html) against features available for drawing in the layer view and returns a [FeatureSet](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-FeatureSet.html). If query parameters are not provided, all features available for drawing are returned along with their attributes specified in [availableFields](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-FeatureLayerView.html#availableFields). For client-side attribute queries, relevant fields must exist in [availableFields](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-FeatureLayerView.html#availableFields) list for the query to be successful. To execute a query against all the features in a Feature Service rather than only those in the client, you must use the [FeatureLayer.queryFeatures()](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html#queryFeatures) method. + * Executes a [Query](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-Query.html) against features available for drawing in the layer view and returns a [FeatureSet](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-FeatureSet.html). If query parameters are not provided, all features available for drawing are returned along with their attributes that are available on the client. For client-side attribute queries, relevant fields should exist in [availableFields](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-FeatureLayerView.html#availableFields) list for the query to be successful. To execute a query against all the features in a feature service rather than only those in the client, you must use the [FeatureLayer.queryFeatures()](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html#queryFeatures) method. * > **Known Limitations** * * Attribute values used in attribute queries executed against layer views are case sensitive. * * Spatial queries are executed against quantized geometries in the layer view. The resolution of layer view geometries, is only as precise as the scale resolution of the view. Therefore, the results of the same query could be different when executed at different scales. This also means that geometries returned from any layer view query will likewise be at the same scale resolution of the view. @@ -53204,7 +55377,7 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-FeatureLayerView.html#queryFeatures) * - * @param query Specifies the attributes and spatial filter of the query. When no parameters are passed to this method, all features in the client are returned along with their attributes specified in [availableFields](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-FeatureLayerView.html#availableFields). To only return features visible in the view, set the `geometry` parameter in the query object to the view's extent. + * @param query Specifies the attributes and spatial filter of the query. When this parameter is not passed to `queryFeatures()` method, all features available for drawing are returned along with their attributes that are available on the client. To only return features visible in the view, set the `geometry` parameter in the query object to the view's extent. * @param options An object with the following properties. * @param options.signal Signal object that can be used to abort the asynchronous task. The returned promise will be rejected with an [Error](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Error.html) named `AbortError` when an abort is signaled. See also [AbortController](https://developer.mozilla.org/en-US/docs/Web/API/AbortController) for more information on how to construct a controller that can be used to deliver abort signals. * @@ -53694,6 +55867,27 @@ declare namespace __esri { visible?: boolean; } + interface PointCloudLayerView extends LayerView { + /** + * A list of attribute fields fetched for each feature including fields required for layer [rendering](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-SceneLayer.html#renderer) and additional fields defined on the [SceneLayer.outFields](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-SceneLayer.html#outFields). The availableFields is populated when the layer view is finished [updating](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-PointCloudLayerView.html#updating). Use this list when querying features on the [client-side](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-PointCloudLayerView.html#queryFeatures). + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-PointCloudLayerView.html#availableFields) + */ + readonly availableFields: string[]; + + /** + * Highlights the given point(s). + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-PointCloudLayerView.html#highlight) + * + * @param target The point(s) to highlight. A graphic representing a point to highlight can be obtained by using [SceneView.hitTest()](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#hitTest). + * + */ + highlight(target?: Graphic | Graphic[]): Handle; + } + + interface PointCloudLayerViewProperties extends LayerViewProperties {} + interface SceneLayerView extends LayerView { /** * A list of attribute fields fetched for each feature including fields required for layer [rendering](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-SceneLayer.html#renderer) and additional fields defined on the [SceneLayer.outFields](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-SceneLayer.html#outFields). The availableFields is populated when the layer view is finished [updating](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-SceneLayerView.html#updating). Use this list when querying features on the [client-side](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-SceneLayerView.html#queryFeatures). @@ -53883,51 +56077,128 @@ declare namespace __esri { */ readonly connectionError: Error; /** - * The status of the Web Socket connection with the stream service. This property can be watched to see if the connection is lost unexpectedly. **Possible Values:** connected | disconnected + * The status of the Web Socket connection with the stream service. This property can be watched to see if the connection is lost unexpectedly. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-StreamLayerView.html#connectionStatus) */ - readonly connectionStatus: string; + readonly connectionStatus: "connected" | "disconnected"; /** * The geometry and attribute filter. Only the features that satisfy the filter are displayed. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-StreamLayerView.html#filter) */ readonly filter: FeatureFilter; - /** - * Contains the collection of [graphics](https://developers.arcgis.com/javascript/latest/api-reference/esri-Graphic.html) visible in the layer view for the live stream. Graphics may be removed from the layer view by calling the [removeAll()](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Collection.html#removeAll) method from [Collection](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Collection.html). **This property is deprecated. Use [queryFeatures](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-StreamLayerView.html#queryFeatures) method instead.** - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-StreamLayerView.html#graphics) - */ - graphics: Collection; /** - * Opens a web socket connection with the stream service to start receiving messages. This is called internally when the StreamLayer is added to a view. **The layer will now automatically connect when it is added to a view.** + * Highlights the given feature(s). * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-StreamLayerView.html#connect) + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-StreamLayerView.html#highlight) * + * @param target The feature(s) to highlight. When passing a graphic or array of graphics, each feature must have a valid `objectID`. You may alternatively pass one or more objectIDs as a single number or an array. * */ - connect(): IPromise; + highlight(target?: Graphic | Graphic[] | number | number[]): Handle; /** - * Closes the web socket connection with the stream service. This is called internally when the StreamLayer is removed from a view. To verify when the connection is closed, watch the [connectionStatus](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-StreamLayerView.html#connectionStatus) property. **The layer will now automatically disconnect when it is removed a view.** + * Executes a [Query](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-Query.html) against features available for drawing in the layer view and returns the [Extent](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Extent.html) of features that satisfy the query. If query parameters are not provided, the extent and count of all features available for drawing are returned. + * > **Known Limitations** + * * Queries on StreamLayerView are currently not supported in 3D [SceneViews](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). + * * Spatial queries have the same limitations as those listed in the [projection engine](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-projection.html) documentation. + * * Spatial queries are not currently supported if the layer view has any of the following [SpatialReferences](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-SpatialReference.html): + * * GDM 2000 (4742) – Malaysia + * * Gusterberg (Ferro) (8042) – Austria/Czech Republic + * * ISN2016 (8086) - Iceland + * * SVY21 (4757) - Singapore * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-StreamLayerView.html#disconnect) + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-StreamLayerView.html#queryExtent) * + * @param query Specifies the attributes and spatial filter of the query. When no parameters are passed to this method, all features in the client are returned. To only return features visible in the view, set the `geometry` parameter in the query object to the view's extent. + * @param options An object with the following properties. + * @param options.signal Signal object that can be used to abort the asynchronous task. The returned promise will be rejected with an [Error](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Error.html) named `AbortError` when an abort is signaled. See also [AbortController](https://developer.mozilla.org/en-US/docs/Web/API/AbortController) for more information on how to construct a controller that can be used to deliver abort signals. * */ - disconnect(): void; + queryExtent(query?: Query | QueryProperties, options?: StreamLayerViewQueryExtentOptions): IPromise; /** - * **This method is deprecated. Update [filter](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-StreamLayerView.html#filter) directly instead.** Updates the [filter](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-StreamLayerView.html#filter) on the StreamLayerView. The filter is updated only on the layer view from which it is called. To update the filter on all layer views generated from a common layer, use the [StreamLayer.updateFilter()](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-StreamLayer.html#updateFilter) method. If the input `filter` object is `undefined` or `null`, the spatial and attribute filters are removed. Filter changes only apply to incoming features. Features already displayed in the view will be removed automatically. + * Executes a [Query](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-Query.html) against features available for drawing in the layer view and returns the number of features that satisfy the query. If query parameters are not provided, the count of all features available for drawing is returned. + * > **Known Limitations** + * * Queries on StreamLayerView are currently not supported in 3D [SceneViews](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). + * * Spatial queries have the same limitations as those listed in the [projection engine](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-projection.html) documentation. + * * Spatial queries are not currently supported if the layer view has any of the following [SpatialReferences](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-SpatialReference.html): + * * GDM 2000 (4742) – Malaysia + * * Gusterberg (Ferro) (8042) – Austria/Czech Republic + * * ISN2016 (8086) - Iceland + * * SVY21 (4757) - Singapore * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-StreamLayerView.html#updateFilter) + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-StreamLayerView.html#queryFeatureCount) * - * @param filter Updates the spatial and attribute [filters](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-StreamLayerView.html#filter). If `null`, all filters are cleared. - * @param filter.geometry A spatial filter for filtering features. Only features that intersect the given geometry are displayed in the view. If `null`, the spatial filter is cleared. - * @param filter.where A SQL where clause used to filter features by attributes. If `null`, the attribute filter is cleared. + * @param query Specifies the attributes and spatial filter of the query. When no parameters are passed to this method, all features in the client are returned. To only return features visible in the view, set the `geometry` parameter in the query object to the view's extent. + * @param options An object with the following properties. + * @param options.signal Signal object that can be used to abort the asynchronous task. The returned promise will be rejected with an [Error](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Error.html) named `AbortError` when an abort is signaled. See also [AbortController](https://developer.mozilla.org/en-US/docs/Web/API/AbortController) for more information on how to construct a controller that can be used to deliver abort signals. * */ - updateFilter(filter: StreamLayerViewUpdateFilterFilter): IPromise; + queryFeatureCount( + query?: Query | QueryProperties, + options?: StreamLayerViewQueryFeatureCountOptions + ): IPromise; + /** + * Executes a [Query](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-Query.html) against features available for drawing in the layer view and returns a [FeatureSet](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-FeatureSet.html). If query parameters are not provided, all features available for drawing are returned. + * > **Known Limitations** + * * Queries on StreamLayerView are currently not supported in 3D [SceneViews](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). + * * Spatial queries have the same limitations as those listed in the [projection engine](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-projection.html) documentation. + * * Spatial queries are not currently supported if the layer view has any of the following [SpatialReferences](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-SpatialReference.html): + * * GDM 2000 (4742) – Malaysia + * * Gusterberg (Ferro) (8042) – Austria/Czech Republic + * * ISN2016 (8086) - Iceland + * * SVY21 (4757) - Singapore + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-StreamLayerView.html#queryFeatures) + * + * @param query Specifies the attributes and spatial filter of the query. When no parameters are passed to this method, all features in the client are returned. To only return features visible in the view, set the `geometry` parameter in the query object to the view's extent. + * @param options An object with the following properties. + * @param options.signal Signal object that can be used to abort the asynchronous task. The returned promise will be rejected with an [Error](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Error.html) named `AbortError` when an abort is signaled. See also [AbortController](https://developer.mozilla.org/en-US/docs/Web/API/AbortController) for more information on how to construct a controller that can be used to deliver abort signals. + * + */ + queryFeatures(query?: Query | QueryProperties, options?: StreamLayerViewQueryFeaturesOptions): IPromise; + /** + * If a [trackIdField](https://enterprise.arcgis.com/en/geoevent/latest/get-started/essential-geoevent-server-vocabulary.htm#ESRI_SECTION1_F45BBCE9ADFA4E57AF38DD225921EFCD) is specified on the Stream Service, this method executes a [Query](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-Query.html) against features available for drawing in the layer view and returns a [FeatureSet](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-FeatureSet.html) of the latest observations for each [trackID](https://enterprise.arcgis.com/en/geoevent/latest/get-started/essential-geoevent-server-vocabulary.htm#ESRI_SECTION1_F45BBCE9ADFA4E57AF38DD225921EFCD) that satisfy the query. Otherwise, an [Error](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Error.html) will be thrown when the method is called. + * > **Known Limitations** + * * Queries on StreamLayerView are currently not supported in 3D [SceneViews](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). + * * Spatial queries have the same limitations as those listed in the [projection engine](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-projection.html) documentation. + * * Spatial queries are not currently supported if the layer view has any of the following [SpatialReferences](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-SpatialReference.html): + * * GDM 2000 (4742) – Malaysia + * * Gusterberg (Ferro) (8042) – Austria/Czech Republic + * * ISN2016 (8086) - Iceland + * * SVY21 (4757) - Singapore + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-StreamLayerView.html#queryLatestObservations) + * + * @param query Specifies the attributes and spatial filter of the query. When no parameters are passed to this method, all features in the client are returned. To only return features visible in the view, set the `geometry` parameter in the query object to the view's extent. + * @param options An object with the following properties. + * @param options.signal Signal object that can be used to abort the asynchronous task. The returned promise will be rejected with an [Error](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Error.html) named `AbortError` when an abort is signaled. See also [AbortController](https://developer.mozilla.org/en-US/docs/Web/API/AbortController) for more information on how to construct a controller that can be used to deliver abort signals. + * + */ + queryLatestObservations( + query?: Query | QueryProperties, + options?: StreamLayerViewQueryLatestObservationsOptions + ): IPromise; + /** + * Executes a [Query](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-Query.html) against features available for drawing in the layer view and returns array of the ObjectIDs of features that satisfy the input query. If query parameters are not provided, the ObjectIDs of all features available for drawing are returned. + * > **Known Limitations** + * * Queries on StreamLayerView are currently not supported in 3D [SceneViews](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). + * * Spatial queries have the same limitations as those listed in the [projection engine](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-projection.html) documentation. + * * Spatial queries are not currently supported if the layer view has any of the following [SpatialReferences](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-SpatialReference.html): + * * GDM 2000 (4742) – Malaysia + * * Gusterberg (Ferro) (8042) – Austria/Czech Republic + * * ISN2016 (8086) - Iceland + * * SVY21 (4757) - Singapore + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-StreamLayerView.html#queryObjectIds) + * + * @param query Specifies the attributes and spatial filter of the query. When no parameters are passed to this method, all features in the client are returned. To only return features visible in the view, set the `geometry` parameter in the query object to the view's extent. + * @param options An object with the following properties. + * @param options.signal Signal object that can be used to abort the asynchronous task. The returned promise will be rejected with an [Error](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Error.html) named `AbortError` when an abort is signaled. See also [AbortController](https://developer.mozilla.org/en-US/docs/Web/API/AbortController) for more information on how to construct a controller that can be used to deliver abort signals. + * + */ + queryObjectIds(query?: Query | QueryProperties, options?: StreamLayerViewQueryObjectIdsOptions): IPromise; on(name: "data-received", eventHandler: StreamLayerViewDataReceivedEventHandler): IHandle; } @@ -53944,30 +56215,53 @@ declare namespace __esri { export const StreamLayerView: StreamLayerViewConstructor; - interface StreamLayerViewProperties extends LayerViewProperties { - /** - * Contains the collection of [graphics](https://developers.arcgis.com/javascript/latest/api-reference/esri-Graphic.html) visible in the layer view for the live stream. Graphics may be removed from the layer view by calling the [removeAll()](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Collection.html#removeAll) method from [Collection](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Collection.html). **This property is deprecated. Use [queryFeatures](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-StreamLayerView.html#queryFeatures) method instead.** - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-StreamLayerView.html#graphics) - */ - graphics?: CollectionProperties; - } + interface StreamLayerViewProperties extends LayerViewProperties {} export interface StreamLayerViewDataReceivedEvent {} - export interface StreamLayerViewUpdateFilterFilter extends Object { + export interface StreamLayerViewQueryExtentOptions extends Object { /** - * A spatial filter for filtering features. Only features that intersect the given geometry are displayed in the view. If `null`, the spatial filter is cleared. + * Signal object that can be used to abort the asynchronous task. The returned promise will be rejected with an [Error](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Error.html) named `AbortError` when an abort is signaled. See also [AbortController](https://developer.mozilla.org/en-US/docs/Web/API/AbortController) for more information on how to construct a controller that can be used to deliver abort signals. * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-StreamLayerView.html#updateFilter) + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-StreamLayerView.html#queryExtent) */ - geometry?: Extent; + signal?: AbortSignal; + } + + export interface StreamLayerViewQueryFeatureCountOptions extends Object { /** - * A SQL where clause used to filter features by attributes. If `null`, the attribute filter is cleared. + * Signal object that can be used to abort the asynchronous task. The returned promise will be rejected with an [Error](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Error.html) named `AbortError` when an abort is signaled. See also [AbortController](https://developer.mozilla.org/en-US/docs/Web/API/AbortController) for more information on how to construct a controller that can be used to deliver abort signals. * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-StreamLayerView.html#updateFilter) + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-StreamLayerView.html#queryFeatureCount) */ - where?: string; + signal?: AbortSignal; + } + + export interface StreamLayerViewQueryFeaturesOptions extends Object { + /** + * Signal object that can be used to abort the asynchronous task. The returned promise will be rejected with an [Error](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Error.html) named `AbortError` when an abort is signaled. See also [AbortController](https://developer.mozilla.org/en-US/docs/Web/API/AbortController) for more information on how to construct a controller that can be used to deliver abort signals. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-StreamLayerView.html#queryFeatures) + */ + signal?: AbortSignal; + } + + export interface StreamLayerViewQueryLatestObservationsOptions extends Object { + /** + * Signal object that can be used to abort the asynchronous task. The returned promise will be rejected with an [Error](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Error.html) named `AbortError` when an abort is signaled. See also [AbortController](https://developer.mozilla.org/en-US/docs/Web/API/AbortController) for more information on how to construct a controller that can be used to deliver abort signals. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-StreamLayerView.html#queryLatestObservations) + */ + signal?: AbortSignal; + } + + export interface StreamLayerViewQueryObjectIdsOptions extends Object { + /** + * Signal object that can be used to abort the asynchronous task. The returned promise will be rejected with an [Error](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Error.html) named `AbortError` when an abort is signaled. See also [AbortController](https://developer.mozilla.org/en-US/docs/Web/API/AbortController) for more information on how to construct a controller that can be used to deliver abort signals. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-StreamLayerView.html#queryObjectIds) + */ + signal?: AbortSignal; } interface FeatureEffect extends Accessor, JSONSupport { @@ -54095,15 +56389,15 @@ declare namespace __esri { */ timeExtent: TimeExtent; /** - * The unit for calculating the buffer distance when [distance](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-support-FeatureFilter.html#distance) is specified in a spatial filter. If `units` is not specified, the unit is derived from the filter [geometry's](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-support-FeatureFilter.html#geometry) spatial reference. **Possible Values:** feet | miles | nautical-miles | us-nautical-miles | meters | kilometers + * The unit for calculating the buffer distance when [distance](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-support-FeatureFilter.html#distance) is specified in a spatial filter. If `units` is not specified, the unit is derived from the filter [geometry's](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-support-FeatureFilter.html#geometry) spatial reference. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-support-FeatureFilter.html#units) * * @default null */ - units: string; + units: "feet" | "miles" | "nautical-miles" | "us-nautical-miles" | "meters" | "kilometers"; /** - * A where clause for the feature filter. Any legal SQL92 where clause operating on the fields in the layer is allowed. Be sure to have the correct sequence of single and double quotes when writing the where clause in JavaScript. The field to be used for `where` clause must be added to [outFields](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html#outFields) list when the layer is initialized. + * A where clause for the feature filter. Any legal SQL92 where clause operating on the fields in the layer is allowed. Be sure to have the correct sequence of single and double quotes when writing the where clause in JavaScript. For apps where users can interactively change fields used for attribute filter, we suggest you include all possible fields in the [outFields](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html#outFields) of the layer. This ensures the best user experience when switching or updating fields for attribute filters. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-support-FeatureFilter.html#where) */ @@ -54185,15 +56479,15 @@ declare namespace __esri { */ timeExtent?: TimeExtentProperties; /** - * The unit for calculating the buffer distance when [distance](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-support-FeatureFilter.html#distance) is specified in a spatial filter. If `units` is not specified, the unit is derived from the filter [geometry's](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-support-FeatureFilter.html#geometry) spatial reference. **Possible Values:** feet | miles | nautical-miles | us-nautical-miles | meters | kilometers + * The unit for calculating the buffer distance when [distance](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-support-FeatureFilter.html#distance) is specified in a spatial filter. If `units` is not specified, the unit is derived from the filter [geometry's](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-support-FeatureFilter.html#geometry) spatial reference. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-support-FeatureFilter.html#units) * * @default null */ - units?: string; + units?: "feet" | "miles" | "nautical-miles" | "us-nautical-miles" | "meters" | "kilometers"; /** - * A where clause for the feature filter. Any legal SQL92 where clause operating on the fields in the layer is allowed. Be sure to have the correct sequence of single and double quotes when writing the where clause in JavaScript. The field to be used for `where` clause must be added to [outFields](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html#outFields) list when the layer is initialized. + * A where clause for the feature filter. Any legal SQL92 where clause operating on the fields in the layer is allowed. Be sure to have the correct sequence of single and double quotes when writing the where clause in JavaScript. For apps where users can interactively change fields used for attribute filter, we suggest you include all possible fields in the [outFields](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html#outFields) of the layer. This ensures the best user experience when switching or updating fields for attribute filters. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-support-FeatureFilter.html#where) */ @@ -54228,13 +56522,22 @@ declare namespace __esri { */ highlightOptions: MapViewHighlightOptions; /** - * Defines which anchor stays still while resizing the browser window. The default, `center`, ensures the view's center point remains constantly visible as the window size changes. The other options allow the respective portion of the view to remain visible when the window's size is changed. **Possible values:** center | left | right | top | bottom | top-left | top-right | bottom-left | bottom-right + * Defines which anchor stays still while resizing the browser window. The default, `center`, ensures the view's center point remains constantly visible as the window size changes. The other options allow the respective portion of the view to remain visible when the window's size is changed. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#resizeAlign) * * @default center */ - resizeAlign: string; + resizeAlign: + | "center" + | "left" + | "right" + | "top" + | "bottom" + | "top-left" + | "top-right" + | "bottom-left" + | "bottom-right"; /** * The clockwise rotation of due north in relation to the top of the view in degrees. The view may be rotated by directly setting the rotation or by using the following mouse event: `Right-click + Drag`. Map rotation may be disabled by setting the `rotationEnabled` property in [constraints](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#constraints) to `false`. See the code snippet below for an example of this. * @@ -54249,6 +56552,12 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#scale) */ scale: number; + /** + * The dimension of the view. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#type) + */ + readonly type: "2d"; /** * Represents the current view as a [Viewpoint](https://developers.arcgis.com/javascript/latest/api-reference/esri-Viewpoint.html) or point of observation on the view. Setting the viewpoint immediately changes the current view. For animating the view, see [goTo()](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#goTo). The returned [Viewpoint](https://developers.arcgis.com/javascript/latest/api-reference/esri-Viewpoint.html) object is an internal reference which may be modified internally. To persist the returned object, create a copy using [Viewpoint.clone()](https://developers.arcgis.com/javascript/latest/api-reference/esri-Viewpoint.html#clone). * @@ -54262,14 +56571,6 @@ declare namespace __esri { */ zoom: number; - /** - * Sets the focus on the view. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#focus) - * - * - */ - focus(): void; /** * Returns the topmost feature from each layer that intersects the specified screen coordinates. The following layer types will return a result if a hit is made on an intersecting feature: [GraphicsLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-GraphicsLayer.html), [FeatureLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html), [CSVLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-CSVLayer.html), [GeoRSSLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-GeoRSSLayer.html), [KMLLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-KMLLayer.html), and [StreamLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-StreamLayer.html). At 4.6 and later, a hit test will always return a result from [VectorTileLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-VectorTileLayer.html). However, the result will only indicate the ID and the name of the layer within the [vector tile style](https://doc.arcgis.com/en/arcgis-online/reference/tile-layers.htm#ESRI_SECTION1_8F68399EB47B48FF9EF46719FCC96978) that intersects the screen point. Detailed attribute and spatial information about the actual feature represented in the layer is not returned. HitTest results returned from VectorTileLayers are primarily used for [Vector tile style editor applications](https://maps.esri.com/jg/VectorBasemapStyleEditor/index.html). * @@ -54302,6 +56603,7 @@ declare namespace __esri { * @param options.width The width of the screenshot (defaults to the area width). The height will be derived automatically if left unspecified, according to the aspect ratio of the of the screenshot area. * @param options.height The height of the screenshot (defaults to the area height). The width will be derived automatically if left unspecified, according to the aspect ratio of the screenshot area. * @param options.area Specifies whether to take a screenshot of a specific area of the view. The area coordinates are relative to the origin of the padded view (see [padding](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#padding)) and will be clipped to the view size. Defaults to the whole view (padding excluded). + * @param options.ignoreBackground Indicates whether to ignore the background color set in the [initial view properties](https://developers.arcgis.com/javascript/latest/api-reference/esri-WebMap.html#initialViewProperties) of the web map. * @param options.ignorePadding Indicates whether view padding should be ignored. Set this property to `true` to allow padded areas to be included in the screenshot. * */ @@ -54446,13 +56748,22 @@ declare namespace __esri { */ highlightOptions?: MapViewHighlightOptionsProperties; /** - * Defines which anchor stays still while resizing the browser window. The default, `center`, ensures the view's center point remains constantly visible as the window size changes. The other options allow the respective portion of the view to remain visible when the window's size is changed. **Possible values:** center | left | right | top | bottom | top-left | top-right | bottom-left | bottom-right + * Defines which anchor stays still while resizing the browser window. The default, `center`, ensures the view's center point remains constantly visible as the window size changes. The other options allow the respective portion of the view to remain visible when the window's size is changed. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#resizeAlign) * * @default center */ - resizeAlign?: string; + resizeAlign?: + | "center" + | "left" + | "right" + | "top" + | "bottom" + | "top-left" + | "top-right" + | "bottom-left" + | "bottom-right"; /** * The clockwise rotation of due north in relation to the top of the view in degrees. The view may be rotated by directly setting the rotation or by using the following mouse event: `Right-click + Drag`. Map rotation may be disabled by setting the `rotationEnabled` property in [constraints](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#constraints) to `false`. See the code snippet below for an example of this. * @@ -54559,6 +56870,54 @@ declare namespace __esri { target: View; } + /** + * Animation options for the [goTo()](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#goTo) method. See properties below for object specifications. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#GoToOptions2D) + */ + export interface GoToOptions2D extends Object { + /** + * Indicates if the transition to the new view should be animated. If set to false, `duration` and `easing` properties are ignored. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#GoToOptions2D) + */ + animate?: boolean; + /** + * The duration of the animation in milliseconds. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#GoToOptions2D) + */ + duration?: number; + /** + * The easing function used for the animation. See [easing functions](https://easings.net/) for graphical representations of these functions. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#GoToOptions2D) + */ + easing?: string | Function; + /** + * An [AbortSignal](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal) to abort the animation. If canceled, the promise will be rejected with an error named `AbortError`. See also [AbortController](https://developer.mozilla.org/en-US/docs/Web/API/AbortController). **Possible Values:** linear | ease | ease-in | ease-out | ease-in-out + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#GoToOptions2D) + */ + signal?: AbortSignal; + } + + /** + * The target location/viewpoint to animate to in the [goTo()](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#goTo) method. A two-element array of numbers represents the [x,y] coordinates to center the view on. When using an object for the `target`, use the properties in the table below. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#GoToTarget2D) + */ + export type GoToTarget2D = + | number[] + | Geometry + | Geometry[] + | Collection + | Graphic + | Graphic[] + | Collection + | Viewpoint + | any; + /** * Object specification for the result of the [hitTest()](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#hitTest) method. * @@ -54659,7 +57018,7 @@ declare namespace __esri { export interface MapViewConstraints extends Object { /** - * An array of [LODs](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-LOD.html). If not specified, this value is read from the [Map](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html). This property may be [autocast](https://developers.arcgis.com/javascript/latest/guide/autocasting/index.html). + * An array of [LODs](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-LOD.html). If not specified, this value is read from the [Map](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html). This property may be [autocast](https://developers.arcgis.com/javascript/latest/guide/programming-patterns/#autocasting). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#constraints) */ @@ -54738,7 +57097,7 @@ declare namespace __esri { export interface MapViewHighlightOptionsProperties extends Object { /** - * The color of the highlight. + * The color of the highlight fill. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#highlightOptions) * @@ -54746,7 +57105,13 @@ declare namespace __esri { */ color?: Color | number[] | string; /** - * The opacity of the highlight halo. This will be multiplied with the opacity specified in `color`. + * The color of the halo surrounding the highlight. If no `haloColor` is provided, then the halo will be colored with the specified `color`. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#highlightOptions) + */ + haloColor?: Color | number[] | string; + /** + * The opacity of the highlight halo. This will be multiplied with any opacity specified in `color`. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#highlightOptions) * @@ -54765,7 +57130,7 @@ declare namespace __esri { export interface MapViewHighlightOptions extends AnonymousAccessor { /** - * The color of the highlight. + * The color of the highlight fill. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#highlightOptions) * @@ -54773,7 +57138,13 @@ declare namespace __esri { */ color?: Color; /** - * The opacity of the highlight halo. This will be multiplied with the opacity specified in `color`. + * The color of the halo surrounding the highlight. If no `haloColor` is provided, then the halo will be colored with the specified `color`. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#highlightOptions) + */ + haloColor?: Color; + /** + * The opacity of the highlight halo. This will be multiplied with any opacity specified in `color`. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#highlightOptions) * @@ -54831,10 +57202,20 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#takeScreenshot) */ area?: MapViewTakeScreenshotOptionsArea; + /** + * Indicates whether to ignore the background color set in the [initial view properties](https://developers.arcgis.com/javascript/latest/api-reference/esri-WebMap.html#initialViewProperties) of the web map. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#takeScreenshot) + * + * @default false + */ + ignoreBackground?: boolean; /** * Indicates whether view padding should be ignored. Set this property to `true` to allow padded areas to be included in the screenshot. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#takeScreenshot) + * + * @default false */ ignorePadding?: boolean; } @@ -55023,7 +57404,7 @@ declare namespace __esri { } /** - * Object returned when [takeScreenshot()](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#takeScreenshot) promise resolves: + * Object returned when [takeScreenshot()](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#takeScreenshot) promise resolves: * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#Screenshot) */ @@ -55056,31 +57437,11 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapViewBase.html#goTo) * - * @param target The target location/viewpoint to animate to. When using an object for `target`, use the properties in the table below. - * @param target.target The target of the animation. - * @param target.center The [MapView.center](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapViewBase.html#center) to go to. - * @param target.scale The [MapView.scale](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapViewBase.html#scale) to go to. - * @param target.zoom The [MapView.zoom](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapViewBase.html#zoom) to go to. - * @param options Animation options. See properties below for object specifications. - * @param options.animate Indicates if the transition to the new view should be animated. If set to false, `duration` and `easing` properties are ignored. - * @param options.duration The duration of the animation in milliseconds. - * @param options.easing The easing function used for the animation. See [easing functions](https://easings.net/) for graphical representations of these functions. - * @param options.signal An [AbortSignal](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal) to abort the animation. If canceled, the promise will be rejected with an error named `AbortError`. See also [AbortController](https://developer.mozilla.org/en-US/docs/Web/API/AbortController). **Possible Values:** linear | ease | ease-in | ease-out | ease-in-out + * @param target The target location/viewpoint to animate to. When using an object for `target`, use the properties in [GoToTarget2D](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#GoToTarget2D). + * @param options Animation options for controlling the duration and easing of the animation. See the properties defined in [GoToOptions2D](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#GoToOptions2D) for object specifications. * */ - goTo( - target: - | number[] - | Geometry - | Geometry[] - | Collection - | Graphic - | Graphic[] - | Collection - | Viewpoint - | MapViewBaseGoToTarget, - options?: MapViewBaseGoToOptions - ): IPromise; + goTo(target: GoToTarget2D, options?: GoToOptions2D): IPromise; } interface MapViewBaseConstructor { @@ -55089,74 +57450,6 @@ declare namespace __esri { export const MapViewBase: MapViewBaseConstructor; - export interface MapViewBaseGoToOptions extends Object { - /** - * Indicates if the transition to the new view should be animated. If set to false, `duration` and `easing` properties are ignored. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapViewBase.html#goTo) - * - * @default true - */ - animate?: boolean; - /** - * The duration of the animation in milliseconds. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapViewBase.html#goTo) - * - * @default 200 - */ - duration?: number; - /** - * The easing function used for the animation. See [easing functions](https://easings.net/) for graphical representations of these functions. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapViewBase.html#goTo) - * - * @default ease - */ - easing?: string | Function; - /** - * An [AbortSignal](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal) to abort the animation. If canceled, the promise will be rejected with an error named `AbortError`. See also [AbortController](https://developer.mozilla.org/en-US/docs/Web/API/AbortController). **Possible Values:** linear | ease | ease-in | ease-out | ease-in-out - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapViewBase.html#goTo) - */ - signal?: AbortSignal; - } - - export interface MapViewBaseGoToTarget extends Object { - /** - * The target of the animation. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapViewBase.html#goTo) - */ - target?: - | number[] - | Geometry - | Geometry[] - | Collection - | Graphic - | Graphic[] - | Collection - | Viewpoint; - /** - * The [MapView.center](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapViewBase.html#center) to go to. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapViewBase.html#goTo) - */ - center?: number[]; - /** - * The [MapView.scale](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapViewBase.html#scale) to go to. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapViewBase.html#goTo) - */ - scale?: number; - /** - * The [MapView.zoom](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapViewBase.html#zoom) to go to. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapViewBase.html#goTo) - */ - zoom?: number; - } - export interface MapViewDragEventOrigin extends Object { x: number; @@ -55204,7 +57497,7 @@ declare namespace __esri { */ mode: "pan" | "zoom"; /** - * Determines whether pressing the tilt axis forwards make the view tilt down (towards the nadir), or up (towards the zenith). The default behavior is to tilt the view down when pressing the stick that controls tilt forwards. **Possible Values:** forward-down | forward-up + * Determines whether pressing the tilt axis forwards make the view tilt down (towards the nadir), or up (towards the zenith). The default behavior is to tilt the view down when pressing the stick that controls tilt forwards. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-navigation-gamepad-GamepadSettings.html#tiltDirection) * @@ -55245,7 +57538,7 @@ declare namespace __esri { */ mode?: "pan" | "zoom"; /** - * Determines whether pressing the tilt axis forwards make the view tilt down (towards the nadir), or up (towards the zenith). The default behavior is to tilt the view down when pressing the stick that controls tilt forwards. **Possible Values:** forward-down | forward-up + * Determines whether pressing the tilt axis forwards make the view tilt down (towards the nadir), or up (towards the zenith). The default behavior is to tilt the view down when pressing the stick that controls tilt forwards. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-navigation-gamepad-GamepadSettings.html#tiltDirection) * @@ -55295,7 +57588,7 @@ declare namespace __esri { */ center: Point; /** - * Represents an optional clipping area used to define the visible [extent](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Extent.html) of a local scene. If defined, only data (including the basemap) within the area will be displayed. The `clippingArea` property only applies to [local](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#viewingMode) scenes. ![scene-clipping-area](https://developers.arcgis.com/javascript/assets/img/apiref/views/scene-clipping-area.png%20%22Local%20scene%20with%20clippingArea%22) The clippingArea property contains an internal reference which may be modified in the future. To persist or modify the clippingArea, create a clone using [clippingArea.clone()](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Extent.html#clone). + * Represents an optional clipping area used to define the visible [extent](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Extent.html) of a local scene. If defined, only features that intersect the area will be displayed. The clipping area applies to all layers types, including the ground and the basemap. The `clippingArea` property only applies to [local](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#viewingMode) scenes. ![scene-clipping-area](https://developers.arcgis.com/javascript/assets/img/apiref/views/scene-clipping-area.png%20%22Local%20scene%20with%20clippingArea%22) The clippingArea property contains an internal reference which may be modified in the future. To persist or modify the clippingArea, create a clone using [clippingArea.clone()](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Extent.html#clone). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#clippingArea) */ @@ -55369,7 +57662,7 @@ declare namespace __esri { * * Anti-aliasing (edge smoothing) * * - * The high and medium quality profiles only differ in the maximum amount of memory which the view is allowed to use. A higher memory limit improves quality in complex web scenes with many layers, but can have a negative impact on drawing performance and stability. The default value is based on the detected browser: + * The high and medium quality profiles differ in the maximum amount of memory which the view is allowed to use. A higher memory limit improves quality in complex web scenes with many layers, but can have a negative impact on drawing performance and stability. [Physically based rendering](https://en.wikipedia.org/wiki/Physically_based_rendering) (PBR) materials are enabled on all 3D objects in a SceneView in "high" quality mode. However, if a [GLTF model](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-ObjectSymbol3DLayer.html#resource) or a 3D Object [SceneLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-SceneLayer.html) has PBR settings defined on the material, then these will be rendered in all quality modes. In "high" quality mode, on a HiDPI display, graphics are rendered at a higher resolution depending on the browser's [devicePixelRatio](https://developer.mozilla.org/en-US/docs/Web/API/Window/devicePixelRatio) property. The default value is based on the detected browser: * * `low` for Internet Explorer 11 and certain mobile devices * * `medium` for any other browser * @@ -55413,14 +57706,6 @@ declare namespace __esri { */ zoom: number; - /** - * Sets the focus on the view. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#focus) - * - * - */ - focus(): void; /** * Sets the view to a given target. The target parameter can be one of the following: * * `[longitude, latitude]` pair of coordinates @@ -55435,37 +57720,11 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#goTo) * - * @param target The target location/viewpoint to go to. When using an object for `target`, use the properties in the table below. - * @param target.target The target of the animation. - * @param target.center The [SceneView.center](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#center) to go to. - * @param target.scale The [SceneView.scale](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#scale) to go to. - * @param target.zoom The final [zoom](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#zoom) value to go to. - * @param target.heading The [Camera.heading](https://developers.arcgis.com/javascript/latest/api-reference/esri-Camera.html#heading) to go to. - * @param target.tilt The [Camera.tilt](https://developers.arcgis.com/javascript/latest/api-reference/esri-Camera.html#position) to go to. - * @param target.position The [Camera.position](https://developers.arcgis.com/javascript/latest/api-reference/esri-Camera.html#position) to go to. - * @param options View transition options. - * @param options.animate Indicates if the transition to the new view should be animated. If set to false, `speedFactor`, `duration`, `maxDuration`, and `easing` properties are ignored. - * @param options.speedFactor Increases or decreases the animation speed by the specified factor. A speedFactor of 2 will make the animation twice as fast, while a speedFactor of 0.5 will make the animation half as fast. Setting the speed factor will automatically adapt the default maxDuration accordingly. - * @param options.duration Set the exact duration (in milliseconds) of the animation. Note that by default, animation duration is calculated based on the time required to reach the target at a constant speed. Setting duration overrides the speedFactor option. Note that the resulting duration is still limited to the maxDuration. - * @param options.maxDuration The maximum allowed duration (in milliseconds) of the animation. The default maxDuration value takes the specified speedFactor into account. - * @param options.easing The easing function to use for the animation. This may either be a preset (named) function, or a user specified function. Supported named presets are: `linear`, `in-cubic`, `out-cubic`, `in-out-cubic`, `in-expo`, `out-expo`, `in-out-expo`, `in-out-coast-quadratic`. See [easing functions](https://easings.net/) for graphical representations of these functions. By default, animations that are less than 1000 ms use the `out-expo` easing function; longer animations use the `in-out-coast-quadratic` easing function. - * @param options.signal An [AbortSignal](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal) to abort the animation. If canceled, the promise will be rejected with an error named `AbortError`. See also [AbortController](https://developer.mozilla.org/en-US/docs/Web/API/AbortController). + * @param target The target location/viewpoint to go to. When using an object for `target`, use the properties defined in [GoToTarget3D](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#GoToTarget3D). + * @param options View transition options. See the specification defined in [GoToOptions3D](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#GoToOptions3D) for more information. * */ - goTo( - target: - | number[] - | Geometry - | Geometry[] - | Collection - | Graphic - | Graphic[] - | Collection - | Viewpoint - | Camera - | SceneViewGoToTarget, - options?: SceneViewGoToOptions - ): IPromise; + goTo(target: GoToTarget3D, options?: GoToOptions3D): IPromise; /** * Returns graphics that intersect the specified screen coordinate. The following layer types will return a result if a hit is made on an intersecting feature: [GraphicsLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-GraphicsLayer.html), [FeatureLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html), [SceneLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-SceneLayer.html), [BuildingSceneLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-BuildingSceneLayer.html), [PointCloudLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-PointCloudLayer.html), [CSVLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-CSVLayer.html), [StreamLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-StreamLayer.html), [GeoJSONLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-GeoJSONLayer.html) and [SceneView.graphics](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#graphics). If no options are specified, graphics that are behind the ground surface will not be returned unless the ground surface is semi-transparent. Otherwise, using the [map.ground](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#ground) in the include and exclude options determines whether the ground surface prevents hit testing graphics that are under it. Starting with version 4.11, if a label intersects the specified screen coordinates then the result of the hitTest will contain the graphic associated with that label. * @@ -55499,7 +57758,7 @@ declare namespace __esri { * * @param options Screenshot options. * @param options.format The format of the resulting encoded data url. **Possible values**: jpg | png. - * @param options.quality The quality (0 to 100) of the encoded image when encoding as `jpg`. + * @param options.quality The quality (0 to 100) of the encoded image when format is `jpg`. * @param options.width The width of the screenshot (defaults to the area width). The height will be derived automatically if left unspecified, according to the aspect ratio of the of the screenshot area. * @param options.height The height of the screenshot (defaults to the area height). The width will be derived automatically if left unspecified, according to the aspect ratio of the screenshot area. * @param options.area Specifies whether to take a screenshot of a specific area of the view. The area coordinates are relative to the origin of the padded view (see [padding](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#padding)) and will be clipped to the view size. Defaults to the whole view (padding excluded). @@ -55646,7 +57905,7 @@ declare namespace __esri { */ center?: PointProperties | number[]; /** - * Represents an optional clipping area used to define the visible [extent](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Extent.html) of a local scene. If defined, only data (including the basemap) within the area will be displayed. The `clippingArea` property only applies to [local](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#viewingMode) scenes. ![scene-clipping-area](https://developers.arcgis.com/javascript/assets/img/apiref/views/scene-clipping-area.png%20%22Local%20scene%20with%20clippingArea%22) The clippingArea property contains an internal reference which may be modified in the future. To persist or modify the clippingArea, create a clone using [clippingArea.clone()](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Extent.html#clone). + * Represents an optional clipping area used to define the visible [extent](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Extent.html) of a local scene. If defined, only features that intersect the area will be displayed. The clipping area applies to all layers types, including the ground and the basemap. The `clippingArea` property only applies to [local](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#viewingMode) scenes. ![scene-clipping-area](https://developers.arcgis.com/javascript/assets/img/apiref/views/scene-clipping-area.png%20%22Local%20scene%20with%20clippingArea%22) The clippingArea property contains an internal reference which may be modified in the future. To persist or modify the clippingArea, create a clone using [clippingArea.clone()](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Extent.html#clone). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#clippingArea) */ @@ -55714,7 +57973,7 @@ declare namespace __esri { * * Anti-aliasing (edge smoothing) * * - * The high and medium quality profiles only differ in the maximum amount of memory which the view is allowed to use. A higher memory limit improves quality in complex web scenes with many layers, but can have a negative impact on drawing performance and stability. The default value is based on the detected browser: + * The high and medium quality profiles differ in the maximum amount of memory which the view is allowed to use. A higher memory limit improves quality in complex web scenes with many layers, but can have a negative impact on drawing performance and stability. [Physically based rendering](https://en.wikipedia.org/wiki/Physically_based_rendering) (PBR) materials are enabled on all 3D objects in a SceneView in "high" quality mode. However, if a [GLTF model](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-ObjectSymbol3DLayer.html#resource) or a 3D Object [SceneLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-SceneLayer.html) has PBR settings defined on the material, then these will be rendered in all quality modes. In "high" quality mode, on a HiDPI display, graphics are rendered at a higher resolution depending on the browser's [devicePixelRatio](https://developer.mozilla.org/en-US/docs/Web/API/Window/devicePixelRatio) property. The default value is based on the detected browser: * * `low` for Internet Explorer 11 and certain mobile devices * * `medium` for any other browser * @@ -55839,6 +58098,67 @@ declare namespace __esri { target: View; } + /** + * Animation options for the [goTo()](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#goTo) method. See properties below for parameter specifications. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#GoToOptions3D) + */ + export interface GoToOptions3D extends Object { + /** + * Indicates if the transition to the new view should be animated. If set to false, `speedFactor`, `duration`, `maxDuration`, and `easing` properties are ignored. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#GoToOptions3D) + */ + animate?: boolean; + /** + * Increases or decreases the animation speed by the specified factor. A speedFactor of 2 will make the animation twice as fast, while a speedFactor of 0.5 will make the animation half as fast. Setting the speed factor will automatically adapt the default maxDuration accordingly. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#GoToOptions3D) + */ + speedFactor?: number; + /** + * Set the exact duration (in milliseconds) of the animation. Note that by default, animation duration is calculated based on the time required to reach the target at a constant speed. Setting duration overrides the speedFactor option. Note that the resulting duration is still limited to the maxDuration. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#GoToOptions3D) + */ + duration?: number; + /** + * The maximum allowed duration (in milliseconds) of the animation. The default maxDuration value takes the specified speedFactor into account. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#GoToOptions3D) + */ + maxDuration?: number; + /** + * The easing function to use for the animation. This may either be a preset (named) function, or a user specified function. Supported named presets are: `linear`, `in-cubic`, `out-cubic`, `in-out-cubic`, `in-expo`, `out-expo`, `in-out-expo`, `in-out-coast-quadratic`. See [easing functions](https://easings.net/) for graphical representations of these functions. By default, animations that are less than 1000 ms use the `out-expo` easing function; longer animations use the `in-out-coast-quadratic` easing function. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#GoToOptions3D) + */ + easing?: string | EasingFunction; + /** + * An [AbortSignal](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal) to abort the animation. If canceled, the promise will be rejected with an error named `AbortError`. See also [AbortController](https://developer.mozilla.org/en-US/docs/Web/API/AbortController). + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#GoToOptions3D) + */ + signal?: AbortSignal; + } + + /** + * The target location/viewpoint to animate to in the [goTo()](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#goTo) method. A two or three-element array of numbers represents the [x,y,z] coordinates to center the view on. When using an object for the `target`, use the properties in the table below. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#GoToTarget3D) + */ + export type GoToTarget3D = + | number[] + | Geometry + | Geometry[] + | Collection + | Graphic + | Graphic[] + | Collection + | Camera + | Viewpoint + | any; + /** * Object specification for the result of the [hitTest()](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#hitTest) method. * @@ -56107,7 +58427,7 @@ declare namespace __esri { */ clipDistance?: SceneViewConstraintsClipDistanceProperties; /** - * When enabled, prevents the user from navigating below the surface in a local SceneView. This property is deprecated, please use [Ground](https://developers.arcgis.com/javascript/latest/api-reference/esri-Ground.html#navigationConstraint) instead. **Deprecated since version 4.8** + * When enabled, prevents the user from navigating below the surface in a local SceneView. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#constraints) */ @@ -56135,7 +58455,7 @@ declare namespace __esri { */ clipDistance?: SceneViewConstraintsClipDistance; /** - * When enabled, prevents the user from navigating below the surface in a local SceneView. This property is deprecated, please use [Ground](https://developers.arcgis.com/javascript/latest/api-reference/esri-Ground.html#navigationConstraint) instead. **Deprecated since version 4.8** + * When enabled, prevents the user from navigating below the surface in a local SceneView. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#constraints) */ @@ -56451,105 +58771,6 @@ declare namespace __esri { cameraTrackingEnabled?: boolean; } - export interface SceneViewGoToOptions extends Object { - /** - * Indicates if the transition to the new view should be animated. If set to false, `speedFactor`, `duration`, `maxDuration`, and `easing` properties are ignored. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#goTo) - * - * @default true - */ - animate?: boolean; - /** - * Increases or decreases the animation speed by the specified factor. A speedFactor of 2 will make the animation twice as fast, while a speedFactor of 0.5 will make the animation half as fast. Setting the speed factor will automatically adapt the default maxDuration accordingly. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#goTo) - * - * @default 1 - */ - speedFactor?: number; - /** - * Set the exact duration (in milliseconds) of the animation. Note that by default, animation duration is calculated based on the time required to reach the target at a constant speed. Setting duration overrides the speedFactor option. Note that the resulting duration is still limited to the maxDuration. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#goTo) - */ - duration?: number; - /** - * The maximum allowed duration (in milliseconds) of the animation. The default maxDuration value takes the specified speedFactor into account. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#goTo) - * - * @default 8000 - */ - maxDuration?: number; - /** - * The easing function to use for the animation. This may either be a preset (named) function, or a user specified function. Supported named presets are: `linear`, `in-cubic`, `out-cubic`, `in-out-cubic`, `in-expo`, `out-expo`, `in-out-expo`, `in-out-coast-quadratic`. See [easing functions](https://easings.net/) for graphical representations of these functions. By default, animations that are less than 1000 ms use the `out-expo` easing function; longer animations use the `in-out-coast-quadratic` easing function. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#goTo) - */ - easing?: string | EasingFunction; - /** - * An [AbortSignal](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal) to abort the animation. If canceled, the promise will be rejected with an error named `AbortError`. See also [AbortController](https://developer.mozilla.org/en-US/docs/Web/API/AbortController). - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#goTo) - */ - signal?: AbortSignal; - } - - export interface SceneViewGoToTarget extends Object { - /** - * The target of the animation. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#goTo) - */ - target?: - | number[] - | Geometry - | Geometry[] - | Collection - | Graphic - | Graphic[] - | Collection - | Viewpoint - | Camera; - /** - * The [SceneView.center](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#center) to go to. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#goTo) - */ - center?: number[] | Point; - /** - * The [SceneView.scale](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#scale) to go to. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#goTo) - */ - scale?: number; - /** - * The final [zoom](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#zoom) value to go to. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#goTo) - */ - zoom?: number; - /** - * The [Camera.heading](https://developers.arcgis.com/javascript/latest/api-reference/esri-Camera.html#heading) to go to. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#goTo) - */ - heading?: number; - /** - * The [Camera.tilt](https://developers.arcgis.com/javascript/latest/api-reference/esri-Camera.html#position) to go to. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#goTo) - */ - tilt?: number; - /** - * The [Camera.position](https://developers.arcgis.com/javascript/latest/api-reference/esri-Camera.html#position) to go to. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#goTo) - */ - position?: Point; - } - export interface SceneViewHighlightOptionsProperties extends Object { /** * The color of the highlight. @@ -56559,6 +58780,12 @@ declare namespace __esri { * @default #00ffff */ color?: Color | number[] | string; + /** + * An optional color for the halo of the highlight. If unset, the `color` will be used for the halo. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#highlightOptions) + */ + haloColor?: Color; /** * The opacity of the highlight halo. This will be multiplied with the opacity specified in `color`. * @@ -56586,6 +58813,12 @@ declare namespace __esri { * @default #00ffff */ color?: Color; + /** + * An optional color for the halo of the highlight. If unset, the `color` will be used for the halo. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#highlightOptions) + */ + haloColor?: Color; /** * The opacity of the highlight halo. This will be multiplied with the opacity specified in `color`. * @@ -56635,7 +58868,7 @@ declare namespace __esri { */ format?: string; /** - * The quality (0 to 100) of the encoded image when encoding as `jpg`. + * The quality (0 to 100) of the encoded image when format is `jpg`. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#takeScreenshot) * @@ -56798,6 +59031,29 @@ declare namespace __esri { distance: number; } + interface colorUtils { + /** + * Returns the average color of the view's background within the view's [extent](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#extent). The view's background includes the non-reference [base layers](https://developers.arcgis.com/javascript/latest/api-reference/esri-Basemap.html#baseLayers) of the [map](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#map)'s basemap, the [background color](https://developers.arcgis.com/javascript/latest/api-reference/esri-webmap-InitialViewProperties.html#background) of the web map (if applicable), and the background color of the view's [container](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#container). + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-support-colorUtils.html#getBackgroundColor) + * + * @param view The MapView instance from which to calculate the average color of the background. + * + */ + getBackgroundColor(view: MapView): IPromise; + /** + * This method inspects the basemap and background of a MapView and returns either `light` or `dark` as the theme of the background depending on if the average color of the basemap and the view's background is light or dark. The background theme is determined by taking the average color of the view's background and basemap and determining its brightness based on [this algorithm for determining color visibility](https://www.w3.org/TR/AERT/#color-contrast). + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-support-colorUtils.html#getBackgroundColorTheme) + * + * @param view The MapView instance from which to get the background color theme. + * + */ + getBackgroundColorTheme(view: MapView): IPromise; + } + + export const colorUtils: colorUtils; + interface DefaultUI extends UI { /** * An array of strings representing the default widgets visible when a [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) or [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html) is created. The default widgets differ between MapView and SceneView. The following are the default components in each view: **MapView:** `["attribution", "zoom"]` **SceneView:** `["attribution", "navigation-toggle", "compass", "zoom"]` @@ -56871,10 +59127,10 @@ declare namespace __esri { * * @param component The component(s) to add to the UI. This can be a widget instance, HTML element, a string value representing a DOM node ID, or an array containing a combination of any of those types. See the example snippets below for code examples. Alternatively, you can pass an array of objects with the following specification. * @param component.component The component to add to the UI. This can be a widget instance, HTML element, a string value representing a DOM node ID. - * @param component.position The position in the view at which to add the component. If not specified, `manual` is used by default. **Possible Values:** bottom-leading | bottom-left | bottom-right | bottom-trailing | top-leading | top-left | top-right | top-trailing | manual + * @param component.position The position in the view at which to add the component. If not specified, `manual` is used by default. Using `manual` allows you to place the component in a container where you can position it anywhere using CSS. For the other possible values, "top", "bottom", "left", and "right" are consistent placements. The "leading" and "trailing" values depend on whether the browser is using right-to-left (RTL) or left-to-right (LTR). For LTR, "leading" is left and "trailing" is right. For RTL, "leading" is right and "trailing" is left. **Possible Values:** bottom-leading | bottom-left | bottom-right | bottom-trailing | top-leading | top-left | top-right | top-trailing | manual * @param component.index The placement index of the component. This index shows where to place the component relative to other components. For example a value of `0` would place it topmost when position is top-*, leftmost for bottom-left and right most for bottom-right. - * @param position The position in the view at which to add the component. If not specified, `manual` is used by default. **Possible Values:** bottom-leading | bottom-left | bottom-right | bottom-trailing | top-leading | top-left | top-right | top-trailing | manual - * @param position.position The position in the view at which to add the component(s). If not specified, `manual` is used by default. **Possible Values:** bottom-leading | bottom-left | bottom-right | bottom-trailing | top-leading | top-left | top-right | top-trailing | manual + * @param position The position in the view at which to add the component. If not specified, `manual` is used by default. Using `manual` allows you to place the component in a container where you can position it anywhere using CSS. For the other possible values, "top", "bottom", "left", and "right" are consistent placements. The "leading" and "trailing" values depend on whether the browser is using right-to-left (RTL) or left-to-right (LTR). For LTR, "leading" is left and "trailing" is right. For RTL, "leading" is right and "trailing" is left. **Possible Values:** bottom-leading | bottom-left | bottom-right | bottom-trailing | top-leading | top-left | top-right | top-trailing | manual + * @param position.position The position in the view at which to add the component. If not specified, `manual` is used by default. Using `manual` allows you to place the component in a container where you can position it anywhere using CSS. For the other possible values, "top", "bottom", "left", and "right" are consistent placements. The "leading" and "trailing" values depend on whether the browser is using right-to-left (RTL) or left-to-right (LTR). For LTR, "leading" is left and "trailing" is right. For RTL, "leading" is right and "trailing" is left. **Possible Values:** bottom-leading | bottom-left | bottom-right | bottom-trailing | top-leading | top-left | top-right | top-trailing | manual * @param position.index The placement index of the component(s). This index shows where to place the component relative to other components. For example a value of `0` would place it topmost when position is top-*, leftmost for bottom-left and right most for bottom-right. * */ @@ -56884,7 +59140,7 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-ui-UI.html#empty) * - * @param position The position from which to remove all components. If not specified, `manual` is used by default. **Possible Values:** bottom-leading | bottom-left | bottom-right | bottom-trailing | top-leading | top-left | top-right | top-trailing | manual + * @param position The position in the view at which to add the component. If not specified, `manual` is used by default. Using `manual` allows you to place the component in a container where you can position it anywhere using CSS. For the other possible values, "top", "bottom", "left", and "right" are consistent placements. The "leading" and "trailing" values depend on whether the browser is using right-to-left (RTL) or left-to-right (LTR). For LTR, "leading" is left and "trailing" is right. For RTL, "leading" is right and "trailing" is left. **Possible Values:** bottom-leading | bottom-left | bottom-right | bottom-trailing | top-leading | top-left | top-right | top-trailing | manual * */ empty(position?: string): void; @@ -56895,7 +59151,7 @@ declare namespace __esri { * * @param component The component(s) to move. This value can be a widget instance, HTML element, a string value representing a DOM node ID, or an array containing a combination of any of those types. See the example snippets below for code examples. Alternatively, you can pass an array of objects with the following specification. * @param component.component The component to move. This can be a widget instance, HTML element, a string value representing a DOM node ID. - * @param component.position The destination position. The component will be placed in the UI [container](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-ui-UI.html#container) when not provided. If not specified, `manual` is used by default. **Possible Values:** bottom-leading | bottom-left | bottom-right | bottom-trailing | top-leading | top-left | top-right | top-trailing | manual + * @param component.position The destination position. The component will be placed in the UI [container](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-ui-UI.html#container) when not provided. If not specified, `manual` is used by default. Using `manual` allows you to place the component in a container where you can position it anywhere using CSS. **Possible Values:** bottom-leading | bottom-left | bottom-right | bottom-trailing | top-leading | top-left | top-right | top-trailing | manual * @param position The destination position. The component will be placed in the UI [container](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-ui-UI.html#container) when not provided. **Possible Values:** bottom-leading | bottom-left | bottom-right | bottom-trailing | top-leading | top-left | top-right | top-trailing | manual * */ @@ -56954,7 +59210,7 @@ declare namespace __esri { */ component: Widget | HTMLElement | string; /** - * The position in the view at which to add the component. If not specified, `manual` is used by default. **Possible Values:** bottom-leading | bottom-left | bottom-right | bottom-trailing | top-leading | top-left | top-right | top-trailing | manual + * The position in the view at which to add the component. If not specified, `manual` is used by default. Using `manual` allows you to place the component in a container where you can position it anywhere using CSS. For the other possible values, "top", "bottom", "left", and "right" are consistent placements. The "leading" and "trailing" values depend on whether the browser is using right-to-left (RTL) or left-to-right (LTR). For LTR, "leading" is left and "trailing" is right. For RTL, "leading" is right and "trailing" is left. **Possible Values:** bottom-leading | bottom-left | bottom-right | bottom-trailing | top-leading | top-left | top-right | top-trailing | manual * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-ui-UI.html#add) */ @@ -56969,7 +59225,7 @@ declare namespace __esri { export interface UIAddPosition extends Object { /** - * The position in the view at which to add the component(s). If not specified, `manual` is used by default. **Possible Values:** bottom-leading | bottom-left | bottom-right | bottom-trailing | top-leading | top-left | top-right | top-trailing | manual + * The position in the view at which to add the component. If not specified, `manual` is used by default. Using `manual` allows you to place the component in a container where you can position it anywhere using CSS. For the other possible values, "top", "bottom", "left", and "right" are consistent placements. The "leading" and "trailing" values depend on whether the browser is using right-to-left (RTL) or left-to-right (LTR). For LTR, "leading" is left and "trailing" is right. For RTL, "leading" is right and "trailing" is left. **Possible Values:** bottom-leading | bottom-left | bottom-right | bottom-trailing | top-leading | top-left | top-right | top-trailing | manual * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-ui-UI.html#add) */ @@ -56990,7 +59246,7 @@ declare namespace __esri { */ component: Widget | HTMLElement | string; /** - * The destination position. The component will be placed in the UI [container](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-ui-UI.html#container) when not provided. If not specified, `manual` is used by default. **Possible Values:** bottom-leading | bottom-left | bottom-right | bottom-trailing | top-leading | top-left | top-right | top-trailing | manual + * The destination position. The component will be placed in the UI [container](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-ui-UI.html#container) when not provided. If not specified, `manual` is used by default. Using `manual` allows you to place the component in a container where you can position it anywhere using CSS. **Possible Values:** bottom-leading | bottom-left | bottom-right | bottom-trailing | top-leading | top-left | top-right | top-trailing | manual * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-ui-UI.html#move) */ @@ -57010,6 +59266,12 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View.html#animation) */ animation: ViewAnimation; + /** + * Represents the view for a single basemap after it has been added to the map. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View.html#basemapView) + */ + basemapView: BasemapView; /** * A fatal [error](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Error.html) returned when the view loses its WebGL context. Watch this property to properly handle the error and attempt to recover the WebGL context. * @@ -57127,6 +59389,25 @@ declare namespace __esri { */ readonly updating: boolean; + /** + * Sets the focus on the view. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View.html#focus) + * + * + */ + focus(): void; + /** + * Registers an event handler on the instance. Call this method to hook an event with a listener. See the [Events summary table](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View.html#events-summary) for a list of listened events. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View.html#on) + * + * @param type The name of the event or events to listen for. + * @param modifiersOrHandler Additional modifier keys to filter events. Please see [Key Values](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values) for possible values. All the standard key values are supported. Alternatively, if no modifiers are required, the function will call when the event fires. The following events don't support modifier keys: `blur`, `focus`, `layerview-create`, `layerview-destroy`, `resize`. + * @param handler The function to call when the event is fired, if modifiers were specified. + * + */ + on(type: string | string[], modifiersOrHandler: string[] | Function, handler?: Function): any; /** * Call this method to clear any [fatal errors](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View.html#fatalError) resulting from a lost WebGL context. * @@ -57135,6 +59416,15 @@ declare namespace __esri { * */ tryFatalErrorRecovery(): void; + /** + * Gets the [LayerView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-LayerView.html) created on the view for the given layer. The returned promise resolves when the layer view for the given layer has been created, or rejects with an error (for example if the layer is not part of the view, or if the layer type is not supported in this view). + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View.html#whenLayerView) + * + * @param layer + * + */ + whenLayerView(layer: PointCloudLayer): IPromise; /** * Gets the [LayerView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-LayerView.html) created on the view for the given layer. The returned promise resolves when the layer view for the given layer has been created, or rejects with an error (for example if the layer is not part of the view, or if the layer type is not supported in this view). * @@ -57225,6 +59515,86 @@ declare namespace __esri { * */ whenLayerView(layer: Layer): IPromise; + + on(name: "resize", eventHandler: ViewResizeEventHandler): IHandle; + + on(name: "resize", modifiers: string[], eventHandler: ViewResizeEventHandler): IHandle; + + on(name: "layerview-create", eventHandler: ViewLayerviewCreateEventHandler): IHandle; + + on(name: "layerview-create", modifiers: string[], eventHandler: ViewLayerviewCreateEventHandler): IHandle; + + on(name: "layerview-create-error", eventHandler: ViewLayerviewCreateErrorEventHandler): IHandle; + + on( + name: "layerview-create-error", + modifiers: string[], + eventHandler: ViewLayerviewCreateErrorEventHandler + ): IHandle; + + on(name: "layerview-destroy", eventHandler: ViewLayerviewDestroyEventHandler): IHandle; + + on(name: "layerview-destroy", modifiers: string[], eventHandler: ViewLayerviewDestroyEventHandler): IHandle; + + on(name: "click", eventHandler: ViewClickEventHandler): IHandle; + + on(name: "click", modifiers: string[], eventHandler: ViewClickEventHandler): IHandle; + + on(name: "double-click", eventHandler: ViewDoubleClickEventHandler): IHandle; + + on(name: "double-click", modifiers: string[], eventHandler: ViewDoubleClickEventHandler): IHandle; + + on(name: "immediate-click", eventHandler: ViewImmediateClickEventHandler): IHandle; + + on(name: "immediate-click", modifiers: string[], eventHandler: ViewImmediateClickEventHandler): IHandle; + + on(name: "hold", eventHandler: ViewHoldEventHandler): IHandle; + + on(name: "hold", modifiers: string[], eventHandler: ViewHoldEventHandler): IHandle; + + on(name: "drag", eventHandler: ViewDragEventHandler): IHandle; + + on(name: "drag", modifiers: string[], eventHandler: ViewDragEventHandler): IHandle; + + on(name: "mouse-wheel", eventHandler: ViewMouseWheelEventHandler): IHandle; + + on(name: "mouse-wheel", modifiers: string[], eventHandler: ViewMouseWheelEventHandler): IHandle; + + on(name: "key-down", eventHandler: ViewKeyDownEventHandler): IHandle; + + on(name: "key-down", modifiers: string[], eventHandler: ViewKeyDownEventHandler): IHandle; + + on(name: "key-up", eventHandler: ViewKeyUpEventHandler): IHandle; + + on(name: "key-up", modifiers: string[], eventHandler: ViewKeyUpEventHandler): IHandle; + + on(name: "pointer-down", eventHandler: ViewPointerDownEventHandler): IHandle; + + on(name: "pointer-down", modifiers: string[], eventHandler: ViewPointerDownEventHandler): IHandle; + + on(name: "pointer-move", eventHandler: ViewPointerMoveEventHandler): IHandle; + + on(name: "pointer-move", modifiers: string[], eventHandler: ViewPointerMoveEventHandler): IHandle; + + on(name: "pointer-up", eventHandler: ViewPointerUpEventHandler): IHandle; + + on(name: "pointer-up", modifiers: string[], eventHandler: ViewPointerUpEventHandler): IHandle; + + on(name: "pointer-enter", eventHandler: ViewPointerEnterEventHandler): IHandle; + + on(name: "pointer-enter", modifiers: string[], eventHandler: ViewPointerEnterEventHandler): IHandle; + + on(name: "pointer-leave", eventHandler: ViewPointerLeaveEventHandler): IHandle; + + on(name: "pointer-leave", modifiers: string[], eventHandler: ViewPointerLeaveEventHandler): IHandle; + + on(name: "focus", eventHandler: ViewFocusEventHandler): IHandle; + + on(name: "focus", modifiers: string[], eventHandler: ViewFocusEventHandler): IHandle; + + on(name: "blur", eventHandler: ViewBlurEventHandler): IHandle; + + on(name: "blur", modifiers: string[], eventHandler: ViewBlurEventHandler): IHandle; } interface ViewConstructor { @@ -57259,6 +59629,12 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View.html#animation) */ animation?: ViewAnimationProperties; + /** + * Represents the view for a single basemap after it has been added to the map. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View.html#basemapView) + */ + basemapView?: BasemapViewProperties; /** * A fatal [error](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Error.html) returned when the view loses its WebGL context. Watch this property to properly handle the error and attempt to recover the WebGL context. * @@ -57317,6 +59693,304 @@ declare namespace __esri { timeExtent?: TimeExtentProperties; } + export interface ViewBlurEvent { + native: any; + + target: View; + } + + export interface ViewClickEvent { + button: number; + + buttons: number; + + mapPoint: Point; + + native: any; + + stopPropagation: Function; + + timestamp: number; + + type: string; + + x: number; + + y: number; + } + + export interface ViewDoubleClickEvent { + button: number; + + buttons: number; + + mapPoint: Point; + + native: any; + + stopPropagation: Function; + + timestamp: number; + + type: string; + + x: number; + + y: number; + } + + export interface ViewDragEvent { + action: string; + + angle: number; + + button: number; + + buttons: number; + + native: any; + + origin: ViewDragEventOrigin; + + radius: number; + + stopPropagation: Function; + + timestamp: number; + + type: string; + + x: number; + + y: number; + } + + export interface ViewFocusEvent { + native: any; + + target: View; + } + + export interface ViewHoldEvent { + button: number; + + buttons: number; + + mapPoint: Point; + + native: any; + + stopPropagation: Function; + + timestamp: number; + + type: string; + + x: number; + + y: number; + } + + export interface ViewImmediateClickEvent { + button: number; + + buttons: number; + + mapPoint: Point; + + native: any; + + stopPropagation: Function; + + timestamp: number; + + type: string; + + x: number; + + y: number; + } + + export interface ViewKeyDownEvent { + key: string; + + native: any; + + repeat: boolean; + + stopPropagation: Function; + + timestamp: number; + + type: string; + } + + export interface ViewKeyUpEvent { + key: string; + + native: any; + + stopPropagation: Function; + + timestamp: number; + + type: string; + } + + export interface ViewLayerviewCreateErrorEvent { + error: Error; + + layer: Layer; + } + + export interface ViewLayerviewCreateEvent { + layer: Layer; + + layerView: LayerView; + } + + export interface ViewLayerviewDestroyEvent { + layer: Layer; + + layerView: LayerView; + } + + export interface ViewMouseWheelEvent { + deltaY: number; + + native: any; + + stopPropagation: Function; + + timestamp: number; + + type: string; + + x: number; + + y: number; + } + + export interface ViewPointerDownEvent { + button: number; + + buttons: number; + + native: any; + + pointerId: number; + + pointerType: string; + + stopPropagation: Function; + + timestamp: number; + + type: string; + + x: number; + + y: number; + } + + export interface ViewPointerEnterEvent { + button: number; + + buttons: number; + + native: any; + + pointerId: number; + + pointerType: string; + + stopPropagation: Function; + + timestamp: number; + + type: string; + + x: number; + + y: number; + } + + export interface ViewPointerLeaveEvent { + button: number; + + buttons: number; + + native: any; + + pointerId: number; + + pointerType: string; + + stopPropagation: Function; + + timestamp: number; + + type: string; + + x: number; + + y: number; + } + + export interface ViewPointerMoveEvent { + button: number; + + buttons: number; + + native: any; + + pointerId: number; + + pointerType: string; + + stopPropagation: Function; + + timestamp: number; + + type: string; + + x: number; + + y: number; + } + + export interface ViewPointerUpEvent { + button: number; + + buttons: number; + + native: any; + + pointerId: number; + + pointerType: string; + + stopPropagation: Function; + + timestamp: number; + + type: string; + + x: number; + + y: number; + } + + export interface ViewResizeEvent { + height: number; + + oldHeight: number; + + oldWidth: number; + + width: number; + } + export interface ViewPadding extends Object { /** * The left padding (in pixels). @@ -57346,13 +60020,13 @@ declare namespace __esri { interface ViewAnimation extends Accessor, corePromise { /** - * The state of the animation. The animation terminates when the state is either `finished` or `stopped` and cannot transition again to `running`. The `finished` state indicates the animation has successfully ended, while the `stopped` state indicates that the animation was interrupted before it reached its final target. **Possible Values:** running | finished | stopped | waiting-for-target + * The state of the animation. The animation terminates when the state is either `finished` or `stopped` and cannot transition again to `running`. The `finished` state indicates the animation has successfully ended, while the `stopped` state indicates that the animation was interrupted before it reached its final target. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-ViewAnimation.html#state) * * @default running */ - readonly state: string; + readonly state: "running" | "finished" | "stopped" | "waiting-for-target"; /** * The target of the animation. * @@ -57399,6 +60073,12 @@ declare namespace __esri { target?: ViewpointProperties; } + export interface ViewDragEventOrigin extends Object { + x: number; + + y: number; + } + interface Search extends Accessor { /** * Whether search functionality is enabled in the web scene. @@ -57527,11 +60207,25 @@ declare namespace __esri { */ name: string; /** - * The data type of the field. **Possible Values:** small-integer | integer | single | double | long | string | date | oid | geometry | blob | raster | guid | global-id | xml + * The data type of the field. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-webdoc-applicationProperties-SearchLayerField.html#type) */ - type: string; + type: + | "small-integer" + | "integer" + | "single" + | "double" + | "long" + | "string" + | "date" + | "oid" + | "geometry" + | "blob" + | "raster" + | "guid" + | "global-id" + | "xml"; /** * Creates a deep clone of this object. @@ -57563,11 +60257,25 @@ declare namespace __esri { */ name?: string; /** - * The data type of the field. **Possible Values:** small-integer | integer | single | double | long | string | date | oid | geometry | blob | raster | guid | global-id | xml + * The data type of the field. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-webdoc-applicationProperties-SearchLayerField.html#type) */ - type?: string; + type?: + | "small-integer" + | "integer" + | "single" + | "double" + | "long" + | "string" + | "date" + | "oid" + | "geometry" + | "blob" + | "raster" + | "guid" + | "global-id" + | "xml"; } interface Viewing extends Accessor { @@ -57653,7 +60361,7 @@ declare namespace __esri { * * @default not-loaded */ - readonly loadStatus: string; + readonly loadStatus: "not-loaded" | "loading" | "failed" | "loaded"; /** * The portal item from which the WebMap is loaded. * @@ -57713,7 +60421,7 @@ declare namespace __esri { new (properties?: WebMapProperties): WebMap; /** - * Creates a new instance of [this class]() and initializes it with values from a JSON object generated from a product in the ArcGIS platform. The object passed into the input `json` parameter often comes from a response to a query operation in the REST API or a [toJSON()](http://pro.arcgis.com/en/pro-app/tool-reference/conversion/features-to-json.htm) method from another ArcGIS product. If the [WebMap]() is used outside of a view, you must call [load()](https://developers.arcgis.com/javascript/latest/api-reference/esri-WebMap.html#load) explicitly to interact with its resources. See the [Using fromJSON()](https://developers.arcgis.com/javascript/latest/guide/using-fromjson/index.html) topic in the Guide for details and examples of when and how to use this function. + * Creates a new instance of [this class]() and initializes it with values from a JSON object generated from a product in the ArcGIS platform. The object passed into the input `json` parameter often comes from a response to a query operation in the REST API or a [toJSON()](http://pro.arcgis.com/en/pro-app/tool-reference/conversion/features-to-json.htm) method from another ArcGIS product. If the [WebMap]() is used outside of a view, you must call [load()](https://developers.arcgis.com/javascript/latest/api-reference/esri-WebMap.html#load) explicitly to interact with its resources. See the [Using fromJSON()](https://developers.arcgis.com/javascript/latest/guide/programming-patterns/#using-fromjson) topic in the Guide for details and examples of when and how to use this function. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-WebMap.html#fromJSON) * @@ -58006,7 +60714,7 @@ declare namespace __esri { * * @default not-loaded */ - readonly loadStatus: string; + readonly loadStatus: "not-loaded" | "loading" | "failed" | "loaded"; /** * The portal item from which the WebScene is loaded. * @@ -58026,7 +60734,7 @@ declare namespace __esri { */ readonly sourceVersion: WebSceneSourceVersion; /** - * The URL to the thumbnail used for the web scene. The thumbnail will by default be the thumbnail URL from the portal item associated to the web scene. The thumbnail of the web scene may be updated by changing the thumbnail URL and saving the web scene. Use #updateFrom to update the thumbnail automatically from a specified view. + * The URL to the thumbnail used for the web scene. The thumbnail will by default be the thumbnail URL from the portal item associated to the web scene. The thumbnail of the web scene may be updated by changing the thumbnail URL and saving the web scene. Use [updateFrom](https://developers.arcgis.com/javascript/latest/api-reference/esri-WebScene.html#updateFrom) to update the thumbnail automatically from a specified view. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-WebScene.html#thumbnailUrl) */ @@ -58071,7 +60779,7 @@ declare namespace __esri { */ saveAs(portalItem: PortalItem | PortalItemProperties, options?: WebSceneSaveAsOptions): IPromise; /** - * Converts an instance of [this class]() to its ArcGIS portal JSON representation. See the [Using fromJSON()](https://developers.arcgis.com/javascript/latest/guide/using-fromjson/index.html) topic in the Guide and the [web scene specification](https://developers.arcgis.com/web-scene-specification/) for more information. + * Converts an instance of [this class]() to its ArcGIS portal JSON representation. See the [Using fromJSON()](https://developers.arcgis.com/javascript/latest/guide/programming-patterns/#using-fromjson) topic in the Guide and the [web scene specification](https://developers.arcgis.com/web-scene-specification/) for more information. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-WebScene.html#toJSON) * @@ -58083,12 +60791,12 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-WebScene.html#updateFrom) * - * @param view the view to update from. - * @param options update options. - * @param options.environmentExcluded do not update the initial environment from the view, defaults to false. - * @param options.viewpointExcluded do not update the initial viewpoint from the view, defaults to false. - * @param options.thumbnailExcluded do not update the thumbnail from the view, defaults to viewpointExcluded. - * @param options.thumbnailSize the size of the thumbnail. Defaults to 600x400 (ratio 1.5:1). Note that the thumbnail size may currently not be larger than the size of the view. + * @param view The view to update from. + * @param options Options for updating. + * @param options.environmentExcluded Do not update the initial environment from the view, defaults to false. + * @param options.viewpointExcluded Do not update the initial viewpoint from the view, defaults to false. + * @param options.thumbnailExcluded Do not update the thumbnail from the view. Defaults to true, unless viewpointExcluded is set to true. + * @param options.thumbnailSize The size of the thumbnail. Defaults to 600x400 (ratio 1.5:1). Note that the thumbnail size may currently not be larger than the size of the view. * */ updateFrom(view: SceneView, options?: WebSceneUpdateFromOptions): IPromise; @@ -58104,7 +60812,7 @@ declare namespace __esri { new (properties?: WebSceneProperties): WebScene; /** - * Creates a new instance of [this class]() and initializes it with values from a JSON object generated from a product in the ArcGIS platform. The object passed into the input `json` parameter often comes from a response to a query operation in the REST API or a [toJSON()](http://pro.arcgis.com/en/pro-app/tool-reference/conversion/features-to-json.htm) method from another ArcGIS product. If the [WebScene]() is used outside of a view, you must call [load()](https://developers.arcgis.com/javascript/latest/api-reference/esri-WebScene.html#load) explicitly to interact with its resources. See the [Using fromJSON()](https://developers.arcgis.com/javascript/latest/guide/using-fromjson/index.html) topic in the Guide for details and examples of when and how to use this function. + * Creates a new instance of [this class]() and initializes it with values from a JSON object generated from a product in the ArcGIS platform. The object passed into the input `json` parameter often comes from a response to a query operation in the REST API or a [toJSON()](http://pro.arcgis.com/en/pro-app/tool-reference/conversion/features-to-json.htm) method from another ArcGIS product. If the [WebScene]() is used outside of a view, you must call [load()](https://developers.arcgis.com/javascript/latest/api-reference/esri-WebScene.html#load) explicitly to interact with its resources. See the [Using fromJSON()](https://developers.arcgis.com/javascript/latest/guide/programming-patterns/#using-fromjson) topic in the Guide for details and examples of when and how to use this function. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-WebScene.html#fromJSON) * @@ -58162,7 +60870,7 @@ declare namespace __esri { */ presentation?: PresentationProperties; /** - * The URL to the thumbnail used for the web scene. The thumbnail will by default be the thumbnail URL from the portal item associated to the web scene. The thumbnail of the web scene may be updated by changing the thumbnail URL and saving the web scene. Use #updateFrom to update the thumbnail automatically from a specified view. + * The URL to the thumbnail used for the web scene. The thumbnail will by default be the thumbnail URL from the portal item associated to the web scene. The thumbnail of the web scene may be updated by changing the thumbnail URL and saving the web scene. Use [updateFrom](https://developers.arcgis.com/javascript/latest/api-reference/esri-WebScene.html#updateFrom) to update the thumbnail automatically from a specified view. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-WebScene.html#thumbnailUrl) */ @@ -59018,25 +61726,25 @@ declare namespace __esri { export interface WebSceneUpdateFromOptions extends Object { /** - * do not update the initial environment from the view, defaults to false. + * Do not update the initial environment from the view, defaults to false. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-WebScene.html#updateFrom) */ environmentExcluded?: boolean; /** - * do not update the initial viewpoint from the view, defaults to false. + * Do not update the initial viewpoint from the view, defaults to false. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-WebScene.html#updateFrom) */ viewpointExcluded?: boolean; /** - * do not update the thumbnail from the view, defaults to viewpointExcluded. + * Do not update the thumbnail from the view. Defaults to true, unless viewpointExcluded is set to true. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-WebScene.html#updateFrom) */ thumbnailExcluded?: boolean; /** - * the size of the thumbnail. Defaults to 600x400 (ratio 1.5:1). Note that the thumbnail size may currently not be larger than the size of the view. + * The size of the thumbnail. Defaults to 600x400 (ratio 1.5:1). Note that the thumbnail size may currently not be larger than the size of the view. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-WebScene.html#updateFrom) */ @@ -59045,13 +61753,13 @@ declare namespace __esri { export interface WebSceneUpdateFromOptionsThumbnailSize extends Object { /** - * the width of the thumbnail. + * The width of the thumbnail. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-WebScene.html#updateFrom) */ width: number; /** - * the height of the thumbnail. + * The height of the thumbnail. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-WebScene.html#updateFrom) */ @@ -59066,7 +61774,7 @@ declare namespace __esri { */ iconClass: string; /** - * Unit system (imperial, metric) or specific unit used for displaying the area values. **Possible Values:** metric | imperial | square-inches | square-feet | square-us-feet | square-yards | square-miles | square-meters | square-kilometers | acres | ares | hectares + * Unit system (imperial, metric) or specific unit used for displaying the area values. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-AreaMeasurement2D.html#unit) */ @@ -59084,11 +61792,23 @@ declare namespace __esri { | "ares" | "hectares"; /** - * List of available units and unit systems (imperial, metric) for displaying the area values. By default, the following units are included: `metric`, `imperial`, `square-inches`, `square-feet`, `square-us-feet`, `square-yards`, `square-miles`, `square-meters`, `square-kilometers`, `acres`, `ares`, `hectares`. + * List of available units and unit systems (imperial, metric) for displaying the area values. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-AreaMeasurement2D.html#unitOptions) */ - unitOptions: string[]; + unitOptions: ( + | "metric" + | "imperial" + | "square-inches" + | "square-feet" + | "square-us-feet" + | "square-yards" + | "square-miles" + | "square-meters" + | "square-kilometers" + | "acres" + | "ares" + | "hectares")[]; /** * A reference to the [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html). Set this to link the widget to a specific view. * @@ -59101,20 +61821,11 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-AreaMeasurement2D.html#viewModel) */ viewModel: AreaMeasurement2DViewModel; - - /** - * *This method is primarily used by developers when implementing custom widgets.* It must be implemented by subclasses for rendering. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-AreaMeasurement2D.html#render) - * - * - */ - render(): any; } interface AreaMeasurement2DConstructor { /** - * The AreaMeasurement2D widget calculates and displays the area and perimeter of a polygon in a [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html). When the perimeter is less than 100 km, the default [mode](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-AreaMeasurement2D-AreaMeasurement2DViewModel.html#mode) is `planar`. When the perimeter is greater than or equal to 100 km, the default [mode](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-AreaMeasurement2D-AreaMeasurement2DViewModel.html#mode) is `geodesic`. + * The AreaMeasurement2D widget calculates and displays the area and perimeter of a polygon in a [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html). The widget will compute areas and perimeters geodetically for geographic coordinate systems and web mercator. For projected coordinate systems (non-web mercator), computations will be performed planimetrically for distances up to the threshold distance defined by the [geodesicDistanceThreshold](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-AreaMeasurement2D-AreaMeasurement2DViewModel.html#geodesicDistanceThreshold). Perimeters equivalent to and beyond the threshold will be computed geodetically. By default the threshold is set to 100km. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-AreaMeasurement2D.html) */ @@ -59132,7 +61843,7 @@ declare namespace __esri { */ iconClass?: string; /** - * Unit system (imperial, metric) or specific unit used for displaying the area values. **Possible Values:** metric | imperial | square-inches | square-feet | square-us-feet | square-yards | square-miles | square-meters | square-kilometers | acres | ares | hectares + * Unit system (imperial, metric) or specific unit used for displaying the area values. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-AreaMeasurement2D.html#unit) */ @@ -59150,11 +61861,23 @@ declare namespace __esri { | "ares" | "hectares"; /** - * List of available units and unit systems (imperial, metric) for displaying the area values. By default, the following units are included: `metric`, `imperial`, `square-inches`, `square-feet`, `square-us-feet`, `square-yards`, `square-miles`, `square-meters`, `square-kilometers`, `acres`, `ares`, `hectares`. + * List of available units and unit systems (imperial, metric) for displaying the area values. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-AreaMeasurement2D.html#unitOptions) */ - unitOptions?: string[]; + unitOptions?: ( + | "metric" + | "imperial" + | "square-inches" + | "square-feet" + | "square-us-feet" + | "square-yards" + | "square-miles" + | "square-meters" + | "square-kilometers" + | "acres" + | "ares" + | "hectares")[]; /** * A reference to the [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html). Set this to link the widget to a specific view. * @@ -59171,7 +61894,7 @@ declare namespace __esri { interface AreaMeasurement2DViewModel { /** - * The threshold distance used by the "auto" mode to switch between planar and geodesic linear computations. The threshold is measured in meters. + * When the coordinate sustem is projected (other than web mercator) then perimeters less than this threshold will be computed planimetrically. Otherwise areas will be computed geodetically. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-AreaMeasurement2D-AreaMeasurement2DViewModel.html#geodesicDistanceThreshold) * @@ -59185,27 +61908,13 @@ declare namespace __esri { */ readonly measurement: AreaMeasurement2DViewModelMeasurement; /** - * This property returns the locale specific representation of the area and perimeter. Areas and perimeters are rounded to two decimal places. Areas are sourced from the [measurement](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-AreaMeasurement2D-AreaMeasurement2DViewModel.html#measurement) property (in square meters) and converted to the user defined units/system and mode. + * This property returns the locale specific representation of the area and perimeter. Areas and perimeters are rounded to two decimal places. Areas are sourced from the [measurement](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-AreaMeasurement2D-AreaMeasurement2DViewModel.html#measurement) property (in square meters) and converted to the user defined units/system. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-AreaMeasurement2D-AreaMeasurement2DViewModel.html#measurementLabel) */ readonly measurementLabel: AreaMeasurement2DViewModelMeasurementLabel; /** - * The mode used to calculate the area and perimeter of a polygon. **Possible Values:** auto | planar | geodesic - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-AreaMeasurement2D-AreaMeasurement2DViewModel.html#mode) - * - * @default auto - */ - mode: "auto" | "planar" | "geodesic"; - /** - * An array of valid mode values. By default, the following units are included: `auto`, `planar`, `geodesic`. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-AreaMeasurement2D-AreaMeasurement2DViewModel.html#modes) - */ - readonly modes: string[]; - /** - * The ViewModel's state. **Possible Values:** disabled | ready | measuring | measured + * The ViewModel's state. * * Value | Description * ------------|------------- @@ -59219,9 +61928,9 @@ declare namespace __esri { * * @default disabled */ - readonly state: string; + readonly state: "disabled" | "ready" | "measuring" | "measured"; /** - * Unit system (imperial, metric) or specific unit used for displaying the area values. **Possible Values:** metric | imperial | square-inches | square-feet | square-us-feet | square-yards | square-miles | square-meters | square-kilometers | acres | ares | hectares + * Unit system (imperial, metric) or specific unit used for displaying the area values. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-AreaMeasurement2D-AreaMeasurement2DViewModel.html#unit) */ @@ -59243,7 +61952,19 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-AreaMeasurement2D-AreaMeasurement2DViewModel.html#unitOptions) */ - unitOptions: string[]; + unitOptions: ( + | "metric" + | "imperial" + | "square-inches" + | "square-feet" + | "square-us-feet" + | "square-yards" + | "square-miles" + | "square-meters" + | "square-kilometers" + | "acres" + | "ares" + | "hectares")[]; /** * The view from which the widget will operate. * @@ -59313,17 +62034,47 @@ declare namespace __esri { interface AreaMeasurement3D extends Widget { /** - * Unit system (imperial, metric) or specific unit used for displaying the area values. **Possible Values:** metric | imperial | square-inches | square-feet | square-us-feet | square-yards | square-miles | square-meters | square-kilometers | acres | ares | hectares + * The widget's default CSS icon class. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-AreaMeasurement3D.html#iconClass) + */ + iconClass: string; + /** + * Unit system (imperial, metric) or specific unit used for displaying the area values. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-AreaMeasurement3D.html#unit) */ - unit: string; + unit: + | "metric" + | "imperial" + | "square-inches" + | "square-feet" + | "square-us-feet" + | "square-yards" + | "square-miles" + | "square-meters" + | "square-kilometers" + | "acres" + | "ares" + | "hectares"; /** - * List of available units and unit systems (imperial, metric) for displaying the area values. By default, the following units are included: `metric`, `imperial`, `square-inches`, `square-feet`, `square-us-feet`, `square-yards`, `square-miles`, `square-meters`, `square-kilometers`, `acres`, `ares`, `hectares`. + * List of available units and unit systems (imperial, metric) for displaying the area values. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-AreaMeasurement3D.html#unitOptions) */ - unitOptions: string[]; + unitOptions: ( + | "metric" + | "imperial" + | "square-inches" + | "square-feet" + | "square-us-feet" + | "square-yards" + | "square-miles" + | "square-meters" + | "square-kilometers" + | "acres" + | "ares" + | "hectares")[]; /** * A reference to the [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). Set this to link the widget to a specific view. * @@ -59336,15 +62087,6 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-AreaMeasurement3D.html#viewModel) */ viewModel: AreaMeasurement3DViewModel; - - /** - * *This method is primarily used by developers when implementing custom widgets.* It must be implemented by subclasses for rendering. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-AreaMeasurement3D.html#render) - * - * - */ - render(): any; } interface AreaMeasurement3DConstructor { @@ -59361,17 +62103,47 @@ declare namespace __esri { interface AreaMeasurement3DProperties extends WidgetProperties { /** - * Unit system (imperial, metric) or specific unit used for displaying the area values. **Possible Values:** metric | imperial | square-inches | square-feet | square-us-feet | square-yards | square-miles | square-meters | square-kilometers | acres | ares | hectares + * The widget's default CSS icon class. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-AreaMeasurement3D.html#iconClass) + */ + iconClass?: string; + /** + * Unit system (imperial, metric) or specific unit used for displaying the area values. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-AreaMeasurement3D.html#unit) */ - unit?: string; + unit?: + | "metric" + | "imperial" + | "square-inches" + | "square-feet" + | "square-us-feet" + | "square-yards" + | "square-miles" + | "square-meters" + | "square-kilometers" + | "acres" + | "ares" + | "hectares"; /** - * List of available units and unit systems (imperial, metric) for displaying the area values. By default, the following units are included: `metric`, `imperial`, `square-inches`, `square-feet`, `square-us-feet`, `square-yards`, `square-miles`, `square-meters`, `square-kilometers`, `acres`, `ares`, `hectares`. + * List of available units and unit systems (imperial, metric) for displaying the area values. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-AreaMeasurement3D.html#unitOptions) */ - unitOptions?: string[]; + unitOptions?: ( + | "metric" + | "imperial" + | "square-inches" + | "square-feet" + | "square-us-feet" + | "square-yards" + | "square-miles" + | "square-meters" + | "square-kilometers" + | "acres" + | "ares" + | "hectares")[]; /** * A reference to the [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). Set this to link the widget to a specific view. * @@ -59408,19 +62180,43 @@ declare namespace __esri { * * @default disabled */ - readonly state: string; + readonly state: "disabled" | "ready" | "measuring" | "measured"; /** - * Unit system (imperial, metric) or specific unit used for displaying the area values. **Possible Values:** metric | imperial | square-inches | square-feet | square-us-feet | square-yards | square-miles | square-meters | square-kilometers | acres | ares | hectares + * Unit system (imperial, metric) or specific unit used for displaying the area values. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-AreaMeasurement3D-AreaMeasurement3DViewModel.html#unit) */ - unit: string; + unit: + | "metric" + | "imperial" + | "square-inches" + | "square-feet" + | "square-us-feet" + | "square-yards" + | "square-miles" + | "square-meters" + | "square-kilometers" + | "acres" + | "ares" + | "hectares"; /** - * List of available units and unit systems (imperial, metric) for displaying the area values. By default, the following units are included: `metric`, `imperial`, `square-inches`, `square-feet`, `square-us-feet`, `square-yards`, `square-miles`, `square-meters`, `square-kilometers`, `acres`, `ares`, `hectares`. + * List of available units and unit systems (imperial, metric) for displaying the area values. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-AreaMeasurement3D-AreaMeasurement3DViewModel.html#unitOptions) */ - unitOptions: string[]; + unitOptions: ( + | "metric" + | "imperial" + | "square-inches" + | "square-feet" + | "square-us-feet" + | "square-yards" + | "square-miles" + | "square-meters" + | "square-kilometers" + | "acres" + | "ares" + | "hectares")[]; /** * The view from which the widget will operate. * @@ -59454,17 +62250,41 @@ declare namespace __esri { interface AreaMeasurement3DViewModelProperties { /** - * Unit system (imperial, metric) or specific unit used for displaying the area values. **Possible Values:** metric | imperial | square-inches | square-feet | square-us-feet | square-yards | square-miles | square-meters | square-kilometers | acres | ares | hectares + * Unit system (imperial, metric) or specific unit used for displaying the area values. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-AreaMeasurement3D-AreaMeasurement3DViewModel.html#unit) */ - unit?: string; + unit?: + | "metric" + | "imperial" + | "square-inches" + | "square-feet" + | "square-us-feet" + | "square-yards" + | "square-miles" + | "square-meters" + | "square-kilometers" + | "acres" + | "ares" + | "hectares"; /** - * List of available units and unit systems (imperial, metric) for displaying the area values. By default, the following units are included: `metric`, `imperial`, `square-inches`, `square-feet`, `square-us-feet`, `square-yards`, `square-miles`, `square-meters`, `square-kilometers`, `acres`, `ares`, `hectares`. + * List of available units and unit systems (imperial, metric) for displaying the area values. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-AreaMeasurement3D-AreaMeasurement3DViewModel.html#unitOptions) */ - unitOptions?: string[]; + unitOptions?: ( + | "metric" + | "imperial" + | "square-inches" + | "square-feet" + | "square-us-feet" + | "square-yards" + | "square-miles" + | "square-meters" + | "square-kilometers" + | "acres" + | "ares" + | "hectares")[]; /** * The view from which the widget will operate. * @@ -59554,15 +62374,6 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Attribution.html#viewModel) */ viewModel: AttributionViewModel; - - /** - * *This method is primarily used by developers when implementing custom widgets.* It must be implemented by subclasses for rendering. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Attribution.html#render) - * - * - */ - render(): any; } interface AttributionConstructor { @@ -59614,13 +62425,13 @@ declare namespace __esri { */ readonly items: Collection; /** - * The view model's state. **Possible Values:** ready | disabled + * The view model's state. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Attribution-AttributionViewModel.html#state) * * @default disabled */ - readonly state: "ready" | "disabled"; + readonly state: "disabled" | "ready" | "loading"; /** * The view from which the view model will operate. * @@ -59701,15 +62512,6 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapGallery.html#viewModel) */ viewModel: BasemapGalleryViewModel; - - /** - * *This method is primarily used by developers when implementing custom widgets.* It must be implemented by subclasses for rendering. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapGallery.html#render) - * - * - */ - render(): any; } interface BasemapGalleryConstructor { @@ -59985,6 +62787,280 @@ declare namespace __esri { updateBasemapsCallback?: Function; } + interface BasemapLayerList extends Widget { + /** + * A collection of [ListItem](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LayerList-ListItem.html)s representing the [baseLayers](https://developers.arcgis.com/javascript/latest/api-reference/esri-Basemap.html#baseLayers). + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapLayerList.html#baseItems) + */ + baseItems: Collection; + /** + * Specifies a function that accesses each [ListItem](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LayerList-ListItem.html) representing a base layer. Each list item's modifiable properties can be updated within. Actions can be added to list items using the [actionsSections](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LayerList-ListItem.html#actionsSections) property of the ListItem. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapLayerList.html#baseListItemCreatedFunction) + */ + baseListItemCreatedFunction: Function; + /** + * The current basemap's title. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapLayerList.html#basemapTitle) + */ + basemapTitle: string; + /** + * Indicates whether the basemap’s title, layer order and layer grouping can be edited by the user. Any edits made will only be shown locally and will not be saved. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapLayerList.html#editingEnabled) + * + * @default false + */ + editingEnabled: boolean; + /** + * The widget's default CSS icon class. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapLayerList.html#iconClass) + */ + iconClass: string; + /** + * A collection of [ListItem](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LayerList-ListItem.html)s representing the [referenceLayers](https://developers.arcgis.com/javascript/latest/api-reference/esri-Basemap.html#referenceLayers). + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapLayerList.html#referenceItems) + */ + referenceItems: Collection; + /** + * Specifies a function that accesses each [ListItem](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LayerList-ListItem.html) representing a reference layer. Each list item's modifiable properties can be updated within. Actions can be added to list items using the [actionsSections](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LayerList-ListItem.html#actionsSections) property of the ListItem. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapLayerList.html#referenceListItemCreatedFunction) + */ + referenceListItemCreatedFunction: Function; + /** + * A collection of selected [ListItem](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LayerList-ListItem.html)s representing basemap layers selected by the user. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapLayerList.html#selectedItems) + */ + readonly selectedItems: Collection; + /** + * Option for enabling status indicators, which indicate whether or not each layer is loading resources. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapLayerList.html#statusIndicatorsVisible) + * + * @default true + */ + statusIndicatorsVisible: boolean; + /** + * A reference to the [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) or [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). Set this to link the widget to a specific view. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapLayerList.html#view) + */ + view: MapView | SceneView; + /** + * The view model for this widget. This is a class that contains all the logic (properties and methods) that controls this widget's behavior. See the [BasemapLayerListViewModel](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapLayerList-BasemapLayerListViewModel.html) class to access all properties and methods on the widget. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapLayerList.html#viewModel) + */ + viewModel: BasemapLayerListViewModel; + + /** + * Triggers the [trigger-action](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapLayerList.html#event-trigger-action) event and executes the given [action](https://developers.arcgis.com/javascript/latest/api-reference/esri-support-actions-ActionButton.html) or [action toggle](https://developers.arcgis.com/javascript/latest/api-reference/esri-support-actions-ActionToggle.html). + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapLayerList.html#triggerAction) + * + * @param action The action to execute. + * @param item An item associated with the action. + * + */ + triggerAction(action: ActionButton | ActionToggle, item: ListItem): void; + + on(name: "trigger-action", eventHandler: BasemapLayerListTriggerActionEventHandler): IHandle; + } + + interface BasemapLayerListConstructor { + /** + * The BasemapLayerList widget provides a way to display a list of [Basemap](https://developers.arcgis.com/javascript/latest/api-reference/esri-Basemap.html) layers and switch on/off their visibility. [Base layers](https://developers.arcgis.com/javascript/latest/api-reference/esri-Basemap.html#baseLayers) and [reference layers](https://developers.arcgis.com/javascript/latest/api-reference/esri-Basemap.html#referenceLayers) are divided into separate sections. When editing is enabled, layers can be reordered by dragging and dropping between the lists and the title can be edited. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapLayerList.html) + */ + + new (properties?: BasemapLayerListProperties): BasemapLayerList; + } + + export const BasemapLayerList: BasemapLayerListConstructor; + + interface BasemapLayerListProperties extends WidgetProperties { + /** + * A collection of [ListItem](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LayerList-ListItem.html)s representing the [baseLayers](https://developers.arcgis.com/javascript/latest/api-reference/esri-Basemap.html#baseLayers). + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapLayerList.html#baseItems) + */ + baseItems?: CollectionProperties; + /** + * Specifies a function that accesses each [ListItem](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LayerList-ListItem.html) representing a base layer. Each list item's modifiable properties can be updated within. Actions can be added to list items using the [actionsSections](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LayerList-ListItem.html#actionsSections) property of the ListItem. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapLayerList.html#baseListItemCreatedFunction) + */ + baseListItemCreatedFunction?: Function; + /** + * The current basemap's title. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapLayerList.html#basemapTitle) + */ + basemapTitle?: string; + /** + * Indicates whether the basemap’s title, layer order and layer grouping can be edited by the user. Any edits made will only be shown locally and will not be saved. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapLayerList.html#editingEnabled) + * + * @default false + */ + editingEnabled?: boolean; + /** + * The widget's default CSS icon class. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapLayerList.html#iconClass) + */ + iconClass?: string; + /** + * A collection of [ListItem](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LayerList-ListItem.html)s representing the [referenceLayers](https://developers.arcgis.com/javascript/latest/api-reference/esri-Basemap.html#referenceLayers). + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapLayerList.html#referenceItems) + */ + referenceItems?: CollectionProperties; + /** + * Specifies a function that accesses each [ListItem](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LayerList-ListItem.html) representing a reference layer. Each list item's modifiable properties can be updated within. Actions can be added to list items using the [actionsSections](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LayerList-ListItem.html#actionsSections) property of the ListItem. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapLayerList.html#referenceListItemCreatedFunction) + */ + referenceListItemCreatedFunction?: Function; + /** + * Option for enabling status indicators, which indicate whether or not each layer is loading resources. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapLayerList.html#statusIndicatorsVisible) + * + * @default true + */ + statusIndicatorsVisible?: boolean; + /** + * A reference to the [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) or [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). Set this to link the widget to a specific view. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapLayerList.html#view) + */ + view?: MapViewProperties | SceneViewProperties; + /** + * The view model for this widget. This is a class that contains all the logic (properties and methods) that controls this widget's behavior. See the [BasemapLayerListViewModel](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapLayerList-BasemapLayerListViewModel.html) class to access all properties and methods on the widget. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapLayerList.html#viewModel) + */ + viewModel?: BasemapLayerListViewModelProperties; + } + + interface BasemapLayerListViewModel extends Accessor { + /** + * A collection of [ListItem](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LayerList-ListItem.html)s representing the [baseLayers](https://developers.arcgis.com/javascript/latest/api-reference/esri-Basemap.html#baseLayers). + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapLayerList-BasemapLayerListViewModel.html#baseItems) + */ + baseItems: Collection; + /** + * Specifies a function that accesses each [ListItem](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LayerList-ListItem.html). Each list item can be modified according to its modifiable properties. Actions can be added to list items using the [actionsSections](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LayerList-ListItem.html#actionsSections) property of the ListItem. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapLayerList-BasemapLayerListViewModel.html#baseListItemCreatedFunction) + */ + baseListItemCreatedFunction: Function; + /** + * The current basemap's title. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapLayerList-BasemapLayerListViewModel.html#basemapTitle) + */ + basemapTitle: string; + /** + * A collection of [ListItem](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LayerList-ListItem.html)s representing the [referenceLayers](https://developers.arcgis.com/javascript/latest/api-reference/esri-Basemap.html#referenceLayers). + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapLayerList-BasemapLayerListViewModel.html#referenceItems) + */ + referenceItems: Collection; + /** + * Specifies a function that accesses each [ListItem](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LayerList-ListItem.html) representing reference layers. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapLayerList-BasemapLayerListViewModel.html#referenceListItemCreatedFunction) + */ + referenceListItemCreatedFunction: Function; + /** + * The view model's state. **Possible Values:** ready | loading | disabled + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapLayerList-BasemapLayerListViewModel.html#state) + * + * @default disabled + */ + readonly state: string; + /** + * A reference to the [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) or [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). Set this to link the widget to a specific view. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapLayerList-BasemapLayerListViewModel.html#view) + */ + view: MapView | SceneView; + + /** + * Triggers the [trigger-action](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapLayerList-BasemapLayerListViewModel.html#event-trigger-action) event and executes the given [action](https://developers.arcgis.com/javascript/latest/api-reference/esri-support-actions-ActionButton.html) or [action toggle](https://developers.arcgis.com/javascript/latest/api-reference/esri-support-actions-ActionToggle.html). + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapLayerList-BasemapLayerListViewModel.html#triggerAction) + * + * @param action The action to execute. + * @param item An item associated with the action. + * + */ + triggerAction(action: ActionButton | ActionToggle, item: ListItem): void; + } + + interface BasemapLayerListViewModelConstructor { + new (properties?: BasemapLayerListViewModelProperties): BasemapLayerListViewModel; + } + + export const BasemapLayerListViewModel: BasemapLayerListViewModelConstructor; + + interface BasemapLayerListViewModelProperties { + /** + * A collection of [ListItem](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LayerList-ListItem.html)s representing the [baseLayers](https://developers.arcgis.com/javascript/latest/api-reference/esri-Basemap.html#baseLayers). + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapLayerList-BasemapLayerListViewModel.html#baseItems) + */ + baseItems?: CollectionProperties; + /** + * Specifies a function that accesses each [ListItem](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LayerList-ListItem.html). Each list item can be modified according to its modifiable properties. Actions can be added to list items using the [actionsSections](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LayerList-ListItem.html#actionsSections) property of the ListItem. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapLayerList-BasemapLayerListViewModel.html#baseListItemCreatedFunction) + */ + baseListItemCreatedFunction?: Function; + /** + * The current basemap's title. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapLayerList-BasemapLayerListViewModel.html#basemapTitle) + */ + basemapTitle?: string; + /** + * A collection of [ListItem](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LayerList-ListItem.html)s representing the [referenceLayers](https://developers.arcgis.com/javascript/latest/api-reference/esri-Basemap.html#referenceLayers). + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapLayerList-BasemapLayerListViewModel.html#referenceItems) + */ + referenceItems?: CollectionProperties; + /** + * Specifies a function that accesses each [ListItem](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LayerList-ListItem.html) representing reference layers. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapLayerList-BasemapLayerListViewModel.html#referenceListItemCreatedFunction) + */ + referenceListItemCreatedFunction?: Function; + /** + * A reference to the [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) or [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). Set this to link the widget to a specific view. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapLayerList-BasemapLayerListViewModel.html#view) + */ + view?: MapViewProperties | SceneViewProperties; + } + + export interface BasemapLayerListTriggerActionEvent { + action: ActionButton | ActionToggle; + + item: ListItem; + } + interface BasemapToggle extends Widget { /** * The map's [basemap](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap). @@ -59995,7 +63071,7 @@ declare namespace __esri { /** * The next basemap for toggling. One of the following values may be set to this property: * * The [string ID](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) of any Esri basemap. - * * A custom [Basemap](https://developers.arcgis.com/javascript/latest/api-reference/esri-Basemap.html) object. Since this property may be [autocast](https://developers.arcgis.com/javascript/latest/guide/autocasting/index.html), the [Basemap](https://developers.arcgis.com/javascript/latest/api-reference/esri-Basemap.html) module does not need to be included in the `require()` function in most applications. + * * A custom [Basemap](https://developers.arcgis.com/javascript/latest/api-reference/esri-Basemap.html) object. Since this property may be [autocast](https://developers.arcgis.com/javascript/latest/guide/programming-patterns/#autocasting), the [Basemap](https://developers.arcgis.com/javascript/latest/api-reference/esri-Basemap.html) module does not need to be included in the `require()` function in most applications. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapToggle.html#nextBasemap) */ @@ -60021,14 +63097,6 @@ declare namespace __esri { */ viewModel: BasemapToggleViewModel; - /** - * *This method is primarily used by developers when implementing custom widgets.* It must be implemented by subclasses for rendering. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapToggle.html#render) - * - * - */ - render(): any; /** * Toggles to the [next basemap](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapToggle.html#nextBasemap). * @@ -60037,6 +63105,8 @@ declare namespace __esri { * */ toggle(): void; + + on(name: "toggle", eventHandler: BasemapToggleToggleEventHandler): IHandle; } interface BasemapToggleConstructor { @@ -60055,7 +63125,7 @@ declare namespace __esri { /** * The next basemap for toggling. One of the following values may be set to this property: * * The [string ID](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) of any Esri basemap. - * * A custom [Basemap](https://developers.arcgis.com/javascript/latest/api-reference/esri-Basemap.html) object. Since this property may be [autocast](https://developers.arcgis.com/javascript/latest/guide/autocasting/index.html), the [Basemap](https://developers.arcgis.com/javascript/latest/api-reference/esri-Basemap.html) module does not need to be included in the `require()` function in most applications. + * * A custom [Basemap](https://developers.arcgis.com/javascript/latest/api-reference/esri-Basemap.html) object. Since this property may be [autocast](https://developers.arcgis.com/javascript/latest/guide/programming-patterns/#autocasting), the [Basemap](https://developers.arcgis.com/javascript/latest/api-reference/esri-Basemap.html) module does not need to be included in the `require()` function in most applications. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapToggle.html#nextBasemap) */ @@ -60092,7 +63162,7 @@ declare namespace __esri { /** * The next basemap for toggling. One of the following values may be set to this property: * * The [string ID](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) of any Esri basemap. - * * A custom [Basemap](https://developers.arcgis.com/javascript/latest/api-reference/esri-Basemap.html) object. Since this property may be [autocast](https://developers.arcgis.com/javascript/latest/guide/autocasting/index.html), the [Basemap](https://developers.arcgis.com/javascript/latest/api-reference/esri-Basemap.html) module does not need to be included in the `require()` function in most applications. + * * A custom [Basemap](https://developers.arcgis.com/javascript/latest/api-reference/esri-Basemap.html) object. Since this property may be [autocast](https://developers.arcgis.com/javascript/latest/guide/programming-patterns/#autocasting), the [Basemap](https://developers.arcgis.com/javascript/latest/api-reference/esri-Basemap.html) module does not need to be included in the `require()` function in most applications. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapToggle-BasemapToggleViewModel.html#nextBasemap) */ @@ -60142,7 +63212,7 @@ declare namespace __esri { /** * The next basemap for toggling. One of the following values may be set to this property: * * The [string ID](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap) of any Esri basemap. - * * A custom [Basemap](https://developers.arcgis.com/javascript/latest/api-reference/esri-Basemap.html) object. Since this property may be [autocast](https://developers.arcgis.com/javascript/latest/guide/autocasting/index.html), the [Basemap](https://developers.arcgis.com/javascript/latest/api-reference/esri-Basemap.html) module does not need to be included in the `require()` function in most applications. + * * A custom [Basemap](https://developers.arcgis.com/javascript/latest/api-reference/esri-Basemap.html) object. Since this property may be [autocast](https://developers.arcgis.com/javascript/latest/guide/programming-patterns/#autocasting), the [Basemap](https://developers.arcgis.com/javascript/latest/api-reference/esri-Basemap.html) module does not need to be included in the `require()` function in most applications. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapToggle-BasemapToggleViewModel.html#nextBasemap) */ @@ -60155,13 +63225,33 @@ declare namespace __esri { view?: MapViewProperties | SceneViewProperties; } + export interface BasemapToggleToggleEvent { + current: Basemap; + + previous: Basemap; + } + interface Bookmarks extends Widget, GoTo { + /** + * Specifies how new bookmarks will be created if [editingEnabled](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Bookmarks.html#editingEnabled) is set to `true`. Can be used to enable or disable taking screenshots or creating an extent based on the current view when a bookmark is created. See [BookmarkCreationOptions](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Bookmarks-BookmarksViewModel.html#BookmarkCreationOptions) for more information. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Bookmarks.html#bookmarkCreationOptions) + */ + bookmarkCreationOptions: BookmarkCreationOptions; /** * A collection of [Bookmark](https://developers.arcgis.com/javascript/latest/api-reference/esri-webmap-Bookmark.html)s. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Bookmarks.html#bookmarks) */ bookmarks: Collection; + /** + * Indicates whether the widget is able to be edited. When `true`, allows bookmarks to be added, edited, reordered, or deleted from within the widget. Any edits made will only be shown locally and will not be saved. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Bookmarks.html#editingEnabled) + * + * @default false + */ + editingEnabled: boolean; /** * The widget's default CSS icon class. * @@ -60180,6 +63270,12 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Bookmarks.html#viewModel) */ viewModel: BookmarksViewModel; + /** + * The visible elements that are displayed within the widget. This property provides the ability to turn individual elements of the widget's display on/off. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Bookmarks.html#visibleElements) + */ + visibleElements: VisibleElements; /** * Zoom to a specific bookmark. @@ -60190,14 +63286,8 @@ declare namespace __esri { * */ goTo(Bookmark: Bookmark): IPromise; - /** - * *This method is primarily used by developers when implementing custom widgets.* It must be implemented by subclasses for rendering. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Bookmarks.html#render) - * - * - */ - render(): any; + + on(name: "select-bookmark", eventHandler: BookmarksSelectBookmarkEventHandler): IHandle; } interface BookmarksConstructor { @@ -60213,12 +63303,26 @@ declare namespace __esri { export const Bookmarks: BookmarksConstructor; interface BookmarksProperties extends WidgetProperties, GoToProperties { + /** + * Specifies how new bookmarks will be created if [editingEnabled](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Bookmarks.html#editingEnabled) is set to `true`. Can be used to enable or disable taking screenshots or creating an extent based on the current view when a bookmark is created. See [BookmarkCreationOptions](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Bookmarks-BookmarksViewModel.html#BookmarkCreationOptions) for more information. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Bookmarks.html#bookmarkCreationOptions) + */ + bookmarkCreationOptions?: BookmarkCreationOptions; /** * A collection of [Bookmark](https://developers.arcgis.com/javascript/latest/api-reference/esri-webmap-Bookmark.html)s. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Bookmarks.html#bookmarks) */ bookmarks?: CollectionProperties; + /** + * Indicates whether the widget is able to be edited. When `true`, allows bookmarks to be added, edited, reordered, or deleted from within the widget. Any edits made will only be shown locally and will not be saved. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Bookmarks.html#editingEnabled) + * + * @default false + */ + editingEnabled?: boolean; /** * The widget's default CSS icon class. * @@ -60237,6 +63341,12 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Bookmarks.html#viewModel) */ viewModel?: BookmarksViewModelProperties; + /** + * The visible elements that are displayed within the widget. This property provides the ability to turn individual elements of the widget's display on/off. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Bookmarks.html#visibleElements) + */ + visibleElements?: VisibleElements; } interface BookmarksViewModel extends Accessor, GoTo { @@ -60253,11 +63363,11 @@ declare namespace __esri { */ bookmarks: Collection; /** - * The view model's state. **Possible Values:** loading | disabled + * The view model's state. **Possible Values:** loading | ready * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Bookmarks-BookmarksViewModel.html#state) * - * @default disabled + * @default ready */ readonly state: string; /** @@ -60267,6 +63377,15 @@ declare namespace __esri { */ view: MapView; + /** + * Creates a new bookmark from based on the [BookmarkCreationOptions](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Bookmarks-BookmarksViewModel.html#BookmarkCreationOptions). + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Bookmarks-BookmarksViewModel.html#createBookmark) + * + * @param bookmarkCreationOptions Specifies how new bookmarks will be created. Can be used to enable/disable taking screenshots or capturing the extent when a new bookmark is added. + * + */ + createBookmark(bookmarkCreationOptions?: BookmarkCreationOptions): IPromise; /** * Zoom to a specific bookmark. * @@ -60299,6 +63418,110 @@ declare namespace __esri { view?: MapViewProperties; } + /** + * Specifies how new bookmarks will be created. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Bookmarks-BookmarksViewModel.html#BookmarkCreationOptions) + */ + export interface BookmarkCreationOptions extends Object { + /** + * Indicates whether a screenshot is taken when a new bookmark is created. The screenshot will be set as the [thumbnail](https://developers.arcgis.com/javascript/latest/api-reference/esri-webmap-Bookmark.html#thumbnail) in the newly created bookmark. Default is `true`. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Bookmarks-BookmarksViewModel.html#BookmarkCreationOptions) + */ + takeScreenshot?: boolean; + /** + * Indicates whether the extent of the current view will become the [extent](https://developers.arcgis.com/javascript/latest/api-reference/esri-webmap-Bookmark.html#extent) of a newly created bookmark. Default is `true`. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Bookmarks-BookmarksViewModel.html#BookmarkCreationOptions) + */ + captureExtent?: boolean; + /** + * An object that specifies the settings of the screenshot that will be used to create the bookmark's [thumbnail](https://developers.arcgis.com/javascript/latest/api-reference/esri-webmap-Bookmark.html#thumbnail). + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Bookmarks-BookmarksViewModel.html#BookmarkCreationOptions) + */ + screenshotSettings?: BookmarkCreationOptionsScreenshotSettings; + } + + export interface BookmarkCreationOptionsScreenshotSettings extends Object { + /** + * The width (in pixels) of the screenshot. Default is `128px`. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Bookmarks-BookmarksViewModel.html#BookmarkCreationOptions) + */ + width?: number; + /** + * The height (in pixels) of the screenshot. Default is `128px`. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Bookmarks-BookmarksViewModel.html#BookmarkCreationOptions) + */ + height?: number; + /** + * Used to take a screenshot of a subregion of the view. Defaults to the whole view. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Bookmarks-BookmarksViewModel.html#BookmarkCreationOptions) + */ + area?: BookmarkCreationOptionsScreenshotSettingsArea; + /** + * An optional list of layers to be included in the screenshot. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Bookmarks-BookmarksViewModel.html#BookmarkCreationOptions) + */ + layers?: Layer[]; + } + + export interface BookmarkCreationOptionsScreenshotSettingsArea extends Object { + /** + * The x value of the screenshot area. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Bookmarks-BookmarksViewModel.html#BookmarkCreationOptions) + */ + x?: number; + /** + * The y value of the screenshot area. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Bookmarks-BookmarksViewModel.html#BookmarkCreationOptions) + */ + y?: number; + /** + * The width of the screenshot area. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Bookmarks-BookmarksViewModel.html#BookmarkCreationOptions) + */ + width?: number; + /** + * The height of the screenshot area. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Bookmarks-BookmarksViewModel.html#BookmarkCreationOptions) + */ + height?: number; + } + + export interface BookmarksSelectBookmarkEvent { + bookmark: Bookmark; + } + + /** + * The visible elements that are displayed within the widget. This provides the ability to turn individual elements of the widget's display on/off. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Bookmarks.html#VisibleElements) + */ + export interface VisibleElements extends Object { + /** + * Indicates whether to button to add a new bookmark displays. Default is `true`. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Bookmarks.html#VisibleElements) + */ + addBookmark?: boolean; + /** + * Indicates whether the thumbnail associated with the bookmark displays. Default value is `true`. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Bookmarks.html#VisibleElements) + */ + thumbnail?: boolean; + } + interface Compass extends Widget, GoTo { /** * The widget's default CSS icon class. @@ -60319,14 +63542,6 @@ declare namespace __esri { */ viewModel: CompassViewModel; - /** - * *This method is primarily used by developers when implementing custom widgets.* It must be implemented by subclasses for rendering. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Compass.html#render) - * - * - */ - render(): any; /** * If working in a [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html), sets the view's [rotation](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#rotation) to `0`. If working in a [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html), sets the camera's [heading](https://developers.arcgis.com/javascript/latest/api-reference/esri-Camera.html#heading) to `0`. This method is executed each time the [Compass](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Compass.html) is clicked. * @@ -60380,13 +63595,13 @@ declare namespace __esri { */ orientation: any; /** - * The view model's state. **Possible Values:** compass | rotation | disabled + * The view model's state. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Compass-CompassViewModel.html#state) * * @default disabled */ - readonly state: string; + readonly state: "compass" | "rotation" | "disabled"; /** * The view in which the Compass obtains and indicates camera [heading](https://developers.arcgis.com/javascript/latest/api-reference/esri-Camera.html#heading), using a (SceneView) or rotation (MapView). * @@ -60499,14 +63714,6 @@ declare namespace __esri { */ viewModel: CoordinateConversionViewModel; - /** - * *This method is primarily used by developers when implementing custom widgets.* It must be implemented by subclasses for rendering. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-CoordinateConversion.html#render) - * - * - */ - render(): any; /** * Attempt to convert a string into a [Point](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Point.html). The format of the string must be specified. A [Collection](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Collection.html) of available formats can be obtained from the [formats](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-CoordinateConversion.html#formats) property. * @@ -60624,7 +63831,7 @@ declare namespace __esri { */ locationSymbol: SimpleMarkerSymbol | PictureMarkerSymbol; /** - * Describes the current mode of the widget. **Possible Values:** live | capture + * Describes the current mode of the widget. * * While in `live` mode, the widget will update as the cursor moves. * * While in `capture` mode, the widget will update on mouse click and display a graphic marking the current location. * @@ -60632,7 +63839,7 @@ declare namespace __esri { * * @default live */ - mode: string; + mode: "live" | "capture"; /** * The number of milliseconds of delay before conversion requests will be sent to the [GeometryService](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-GeometryService.html). This only affects conversions that cannot be performed in the browser. * @@ -60642,13 +63849,13 @@ declare namespace __esri { */ requestDelay: number; /** - * The view model's state. **Possible Values:** ready | loading | disabled + * The view model's state. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-CoordinateConversion-CoordinateConversionViewModel.html#state) * * @default disabled */ - readonly state: string; + readonly state: "ready" | "loading" | "disabled"; /** * A reference to the [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) or [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). Set this to link the widget to a specific view. * @@ -60720,7 +63927,7 @@ declare namespace __esri { */ locationSymbol?: SimpleMarkerSymbolProperties | PictureMarkerSymbolProperties; /** - * Describes the current mode of the widget. **Possible Values:** live | capture + * Describes the current mode of the widget. * * While in `live` mode, the widget will update as the cursor moves. * * While in `capture` mode, the widget will update on mouse click and display a graphic marking the current location. * @@ -60728,7 +63935,7 @@ declare namespace __esri { * * @default live */ - mode?: string; + mode?: "live" | "capture"; /** * The number of milliseconds of delay before conversion requests will be sent to the [GeometryService](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-GeometryService.html). This only affects conversions that cannot be performed in the browser. * @@ -61008,14 +64215,6 @@ declare namespace __esri { * */ getDirections(): IPromise; - /** - * *This method is primarily used by developers when implementing custom widgets.* It must be implemented by subclasses for rendering. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Directions.html#render) - * - * - */ - render(): any; /** * Zoom so that the full route is displayed within the current map extent. * @@ -61736,17 +64935,43 @@ declare namespace __esri { interface DirectLineMeasurement3D extends Widget { /** - * Unit system (imperial, metric) or specific unit used for displaying the distance values. **Possible Values:** metric | imperial | inches | feet | us-feet | yards | miles | nautical-miles | meters | kilometers + * The widget's default CSS icon class. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-DirectLineMeasurement3D.html#iconClass) + */ + iconClass: string; + /** + * Unit system (imperial, metric) or specific unit used for displaying the distance values. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-DirectLineMeasurement3D.html#unit) */ - unit: string; + unit: + | "metric" + | "imperial" + | "inches" + | "feet" + | "us-feet" + | "yards" + | "miles" + | "nautical-miles" + | "meters" + | "kilometers"; /** - * List of unit systems (imperial, metric) and specific units for displaying the distance values. By default, the following units are included: `metric`, `imperial`, `inches`, `feet`, `us-feet`, `yards`, `miles`, `nautical-miles`, `meters`, `kilometers`. + * List of unit systems (imperial, metric) and specific units for displaying the distance values. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-DirectLineMeasurement3D.html#unitOptions) */ - unitOptions: string[]; + unitOptions: ( + | "metric" + | "imperial" + | "inches" + | "feet" + | "us-feet" + | "yards" + | "miles" + | "nautical-miles" + | "meters" + | "kilometers")[]; /** * A reference to the [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). Set this to link the widget to a specific view. * @@ -61759,15 +64984,6 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-DirectLineMeasurement3D.html#viewModel) */ viewModel: DirectLineMeasurement3DViewModel; - - /** - * *This method is primarily used by developers when implementing custom widgets.* It must be implemented by subclasses for rendering. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-DirectLineMeasurement3D.html#render) - * - * - */ - render(): any; } interface DirectLineMeasurement3DConstructor { @@ -61784,17 +65000,43 @@ declare namespace __esri { interface DirectLineMeasurement3DProperties extends WidgetProperties { /** - * Unit system (imperial, metric) or specific unit used for displaying the distance values. **Possible Values:** metric | imperial | inches | feet | us-feet | yards | miles | nautical-miles | meters | kilometers + * The widget's default CSS icon class. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-DirectLineMeasurement3D.html#iconClass) + */ + iconClass?: string; + /** + * Unit system (imperial, metric) or specific unit used for displaying the distance values. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-DirectLineMeasurement3D.html#unit) */ - unit?: string; + unit?: + | "metric" + | "imperial" + | "inches" + | "feet" + | "us-feet" + | "yards" + | "miles" + | "nautical-miles" + | "meters" + | "kilometers"; /** - * List of unit systems (imperial, metric) and specific units for displaying the distance values. By default, the following units are included: `metric`, `imperial`, `inches`, `feet`, `us-feet`, `yards`, `miles`, `nautical-miles`, `meters`, `kilometers`. + * List of unit systems (imperial, metric) and specific units for displaying the distance values. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-DirectLineMeasurement3D.html#unitOptions) */ - unitOptions?: string[]; + unitOptions?: ( + | "metric" + | "imperial" + | "inches" + | "feet" + | "us-feet" + | "yards" + | "miles" + | "nautical-miles" + | "meters" + | "kilometers")[]; /** * A reference to the [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). Set this to link the widget to a specific view. * @@ -61831,19 +65073,39 @@ declare namespace __esri { * * @default disabled */ - readonly state: string; + readonly state: "disabled" | "ready" | "measuring" | "measured"; /** - * Unit system (imperial, metric) or specific unit used for displaying the distance values. **Possible Values:** metric | imperial | inches | feet | us-feet | yards | miles | nautical-miles | meters | kilometers + * Unit system (imperial, metric) or specific unit used for displaying the distance values. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-DirectLineMeasurement3D-DirectLineMeasurement3DViewModel.html#unit) */ - unit: string; + unit: + | "metric" + | "imperial" + | "inches" + | "feet" + | "us-feet" + | "yards" + | "miles" + | "nautical-miles" + | "meters" + | "kilometers"; /** - * List of unit systems (imperial, metric) and specific units for displaying the distance values. By default, the following units are included: `metric`, `imperial`, `inches`, `feet`, `us-feet`, `yards`, `miles`, `nautical-miles`, `meters`, `kilometers`. + * List of unit systems (imperial, metric) and specific units for displaying the distance values. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-DirectLineMeasurement3D-DirectLineMeasurement3DViewModel.html#unitOptions) */ - unitOptions: string[]; + unitOptions: ( + | "metric" + | "imperial" + | "inches" + | "feet" + | "us-feet" + | "yards" + | "miles" + | "nautical-miles" + | "meters" + | "kilometers")[]; /** * The view from which the widget will operate. * @@ -61877,17 +65139,37 @@ declare namespace __esri { interface DirectLineMeasurement3DViewModelProperties { /** - * Unit system (imperial, metric) or specific unit used for displaying the distance values. **Possible Values:** metric | imperial | inches | feet | us-feet | yards | miles | nautical-miles | meters | kilometers + * Unit system (imperial, metric) or specific unit used for displaying the distance values. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-DirectLineMeasurement3D-DirectLineMeasurement3DViewModel.html#unit) */ - unit?: string; + unit?: + | "metric" + | "imperial" + | "inches" + | "feet" + | "us-feet" + | "yards" + | "miles" + | "nautical-miles" + | "meters" + | "kilometers"; /** - * List of unit systems (imperial, metric) and specific units for displaying the distance values. By default, the following units are included: `metric`, `imperial`, `inches`, `feet`, `us-feet`, `yards`, `miles`, `nautical-miles`, `meters`, `kilometers`. + * List of unit systems (imperial, metric) and specific units for displaying the distance values. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-DirectLineMeasurement3D-DirectLineMeasurement3DViewModel.html#unitOptions) */ - unitOptions?: string[]; + unitOptions?: ( + | "metric" + | "imperial" + | "inches" + | "feet" + | "us-feet" + | "yards" + | "miles" + | "nautical-miles" + | "meters" + | "kilometers")[]; /** * The view from which the widget will operate. * @@ -61973,11 +65255,21 @@ declare namespace __esri { | "meters" | "kilometers"; /** - * List of available units and unit systems (imperial, metric) for displaying the distance values. By default, the following units are included: `metric`, `imperial`, `inches`, `feet`, `us-feet`, `yards`, `miles`, `nautical-miles`, `meters`, `kilometers`. + * List of available units and unit systems (imperial, metric) for displaying the distance values. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-DistanceMeasurement2D.html#unitOptions) */ - unitOptions: string[]; + unitOptions: ( + | "metric" + | "imperial" + | "inches" + | "feet" + | "us-feet" + | "yards" + | "miles" + | "nautical-miles" + | "meters" + | "kilometers")[]; /** * A reference to the [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html). Set this to link the widget to a specific view. * @@ -61990,20 +65282,11 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-DistanceMeasurement2D.html#viewModel) */ viewModel: DistanceMeasurement2DViewModel; - - /** - * *This method is primarily used by developers when implementing custom widgets.* It must be implemented by subclasses for rendering. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-DistanceMeasurement2D.html#render) - * - * - */ - render(): any; } interface DistanceMeasurement2DConstructor { /** - * The DistanceMeasurement2D widget calculates and displays the distance between two or more points in a [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html). When the distance is less than 100 km, the default [mode](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-DistanceMeasurement2D-DistanceMeasurement2DViewModel.html#mode) is `planar`. When the distance is greater than or equal to 100 km, the default [mode](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-DistanceMeasurement2D-DistanceMeasurement2DViewModel.html#mode) is `geodesic`. + * The DistanceMeasurement2D widget calculates and displays the distance between two or more points in a [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html). The widget will compute distances geodetically for geographic coordinate systems and web mercator. For projected coordinate systems (non-web mercator), computations will be performed planimetrically for distances up to the threshold distance defined by [geodesicDistanceThreshold](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-DistanceMeasurement2D-DistanceMeasurement2DViewModel.html#geodesicDistanceThreshold). Distances equivalent to and beyond the threshold will be computed geodetically. By default the threshold is set to 100km. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-DistanceMeasurement2D.html) */ @@ -62037,11 +65320,21 @@ declare namespace __esri { | "meters" | "kilometers"; /** - * List of available units and unit systems (imperial, metric) for displaying the distance values. By default, the following units are included: `metric`, `imperial`, `inches`, `feet`, `us-feet`, `yards`, `miles`, `nautical-miles`, `meters`, `kilometers`. + * List of available units and unit systems (imperial, metric) for displaying the distance values. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-DistanceMeasurement2D.html#unitOptions) */ - unitOptions?: string[]; + unitOptions?: ( + | "metric" + | "imperial" + | "inches" + | "feet" + | "us-feet" + | "yards" + | "miles" + | "nautical-miles" + | "meters" + | "kilometers")[]; /** * A reference to the [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html). Set this to link the widget to a specific view. * @@ -62058,7 +65351,7 @@ declare namespace __esri { interface DistanceMeasurement2DViewModel { /** - * The threshold distance used by the "auto" mode to switch between planar and geodesic linear computations. The threshold is measured in meters. + * When the coordinate sustem is projected (other than web mercator) then distances less than this threshold will be computed planimetrically. Otherwise distances will be computed geodetically. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-DistanceMeasurement2D-DistanceMeasurement2DViewModel.html#geodesicDistanceThreshold) * @@ -62072,27 +65365,13 @@ declare namespace __esri { */ readonly measurement: DistanceMeasurement2DViewModelMeasurement; /** - * This property returns the locale specific representation of the length. Lengths are rounded to two decimal places. Lengths are sourced from the [measurement](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-DistanceMeasurement2D-DistanceMeasurement2DViewModel.html#measurement) property (in meters) and converted to the user defined units or system and mode. + * This property returns the locale specific representation of the length. Lengths are rounded to two decimal places. Lengths are sourced from the [measurement](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-DistanceMeasurement2D-DistanceMeasurement2DViewModel.html#measurement) property (in meters) and converted to the user defined units or system. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-DistanceMeasurement2D-DistanceMeasurement2DViewModel.html#measurementLabel) */ readonly measurementLabel: string; /** - * The mode used to calculate the length of lines. **Possible Values:** auto | planar | geodesic - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-DistanceMeasurement2D-DistanceMeasurement2DViewModel.html#mode) - * - * @default auto - */ - mode: "auto" | "planar" | "geodesic"; - /** - * An array of valid mode values. By default, the following units are included: `auto`, `planar`, `geodesic`. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-DistanceMeasurement2D-DistanceMeasurement2DViewModel.html#modes) - */ - readonly modes: string[]; - /** - * The view model's state. **Possible Values:** disabled | ready | measuring | measured + * The view model's state. * * Value | Description * ------------|------------- @@ -62106,9 +65385,9 @@ declare namespace __esri { * * @default disabled */ - readonly state: string; + readonly state: "disabled" | "ready" | "measuring" | "measured"; /** - * Unit system (imperial, metric) or specific unit used for displaying the distance values. **Possible Values:** metric | imperial | inches | feet | us-feet | yards | miles | nautical-miles | meters | kilometers + * Unit system (imperial, metric) or specific unit used for displaying the distance values. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-DistanceMeasurement2D-DistanceMeasurement2DViewModel.html#unit) */ @@ -62124,11 +65403,21 @@ declare namespace __esri { | "meters" | "kilometers"; /** - * List of available units and unit systems (imperial, metric) for displaying the distance values. By default, the following units are included: `metric`, `imperial`, `inches`, `feet`, `us-feet`, `yards`, `miles`, `nautical-miles`, `meters`, `kilometers`. + * List of available units and unit systems (imperial, metric) for displaying the distance values. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-DistanceMeasurement2D-DistanceMeasurement2DViewModel.html#unitOptions) */ - unitOptions: string[]; + unitOptions: ( + | "metric" + | "imperial" + | "inches" + | "feet" + | "us-feet" + | "yards" + | "miles" + | "nautical-miles" + | "meters" + | "kilometers")[]; /** * The view from which the widget will operate. * @@ -62243,14 +65532,6 @@ declare namespace __esri { * */ deleteFeatureFromWorkflow(): void; - /** - * *This method is primarily used by developers when implementing custom widgets.* It must be implemented by subclasses for rendering. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Editor.html#render) - * - * - */ - render(): any; /** * Initiates the `create` workflow by displaying the panel where feature creation begins. This method takes a [CreationInfo](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Editor.html#CreationInfo) object containing the layer(s) and template(s) to use. * @@ -63054,14 +66335,6 @@ declare namespace __esri { * */ expand(): void; - /** - * *This method is primarily used by developers when implementing custom widgets.* It must be implemented by subclasses for rendering. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Expand.html#render) - * - * - */ - render(): any; /** * Toggle the widget by expanding it if it's collapsed, or collapsing it if it's expanded. * @@ -63194,13 +66467,13 @@ declare namespace __esri { */ group: string; /** - * The view model's state. **Possible Values:** ready | disabled + * The view model's state. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Expand-ExpandViewModel.html#state) * * @default disabled */ - readonly state: string; + readonly state: "ready" | "disabled"; /** * The view in which the Expand is used. * @@ -63248,7 +66521,7 @@ declare namespace __esri { interface Feature extends Widget { /** - * Enables automatic creation of a popup template for layers that have popups enabled but no popupTemplate defined. Automatic popup templates are supported for layers that support the `createPopupTemplate` method. (Supported for [FeatureLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html), [SceneLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-SceneLayer.html), [CSVLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-CSVLayer.html), [StreamLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-StreamLayer.html), and [ImageryLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-ImageryLayer.html)). + * Enables automatic creation of a popup template for layers that have popups enabled but no popupTemplate defined. Automatic popup templates are supported for layers that support the `createPopupTemplate` method. (Supported for [FeatureLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html), [GeoJSONLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-GeoJSONLayer.html), [SceneLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-SceneLayer.html), [CSVLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-CSVLayer.html), [PointCloudLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-PointCloudLayer.html), [StreamLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-StreamLayer.html) and [ImageryLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-ImageryLayer.html)). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Feature.html#defaultPopupTemplateEnabled) * @@ -63304,7 +66577,7 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Feature.html#visibleElements) */ - visibleElements: VisibleElements; + visibleElements: FeatureVisibleElements; /** * Paginates to a specified [media](esri-popup-content-MediaContent.html) info object. For example, you may have [media](esri-popup-content-MediaContent.html) content which contains multiple `mediaInfos`. This method allows you to specify the index of the `mediaInfos` you wish to display. @@ -63334,14 +66607,6 @@ declare namespace __esri { * */ previousMedia(contentElementIndex: number): void; - /** - * *This method is primarily used by developers when implementing custom widgets.* It must be implemented by subclasses for rendering. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Feature.html#render) - * - * - */ - render(): any; } interface FeatureConstructor { @@ -63352,7 +66617,7 @@ declare namespace __esri { interface FeatureProperties extends WidgetProperties { /** - * Enables automatic creation of a popup template for layers that have popups enabled but no popupTemplate defined. Automatic popup templates are supported for layers that support the `createPopupTemplate` method. (Supported for [FeatureLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html), [SceneLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-SceneLayer.html), [CSVLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-CSVLayer.html), [StreamLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-StreamLayer.html), and [ImageryLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-ImageryLayer.html)). + * Enables automatic creation of a popup template for layers that have popups enabled but no popupTemplate defined. Automatic popup templates are supported for layers that support the `createPopupTemplate` method. (Supported for [FeatureLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html), [GeoJSONLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-GeoJSONLayer.html), [SceneLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-SceneLayer.html), [CSVLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-CSVLayer.html), [PointCloudLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-PointCloudLayer.html), [StreamLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-StreamLayer.html) and [ImageryLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-ImageryLayer.html)). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Feature.html#defaultPopupTemplateEnabled) * @@ -63400,7 +66665,7 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Feature.html#visibleElements) */ - visibleElements?: VisibleElements; + visibleElements?: FeatureVisibleElements; } interface FeatureViewModel extends Accessor { @@ -63413,7 +66678,7 @@ declare namespace __esri { */ readonly content: Content[] | Widget | HTMLElement | string; /** - * Enables automatic creation of a popup template for layers that have popups enabled but no popupTemplate defined. Automatic popup templates are supported for layers that support the `createPopupTemplate` method. (Supported for [FeatureLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html), [SceneLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-SceneLayer.html), [CSVLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-CSVLayer.html), [StreamLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-StreamLayer.html), and [ImageryLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-ImageryLayer.html)). + * Enables automatic creation of a popup template for layers that have popups enabled but no popupTemplate defined. Automatic popup templates are supported for layers that support the `createPopupTemplate` method. (Supported for [FeatureLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html), [GeoJSONLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-GeoJSONLayer.html), [SceneLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-SceneLayer.html), [CSVLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-CSVLayer.html), [PointCloudLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-PointCloudLayer.html), [StreamLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-StreamLayer.html) and [ImageryLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-ImageryLayer.html)). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Feature-FeatureViewModel.html#defaultPopupTemplateEnabled) * @@ -63488,7 +66753,7 @@ declare namespace __esri { interface FeatureViewModelProperties { /** - * Enables automatic creation of a popup template for layers that have popups enabled but no popupTemplate defined. Automatic popup templates are supported for layers that support the `createPopupTemplate` method. (Supported for [FeatureLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html), [SceneLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-SceneLayer.html), [CSVLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-CSVLayer.html), [StreamLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-StreamLayer.html), and [ImageryLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-ImageryLayer.html)). + * Enables automatic creation of a popup template for layers that have popups enabled but no popupTemplate defined. Automatic popup templates are supported for layers that support the `createPopupTemplate` method. (Supported for [FeatureLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html), [GeoJSONLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-GeoJSONLayer.html), [SceneLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-SceneLayer.html), [CSVLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-CSVLayer.html), [PointCloudLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-PointCloudLayer.html), [StreamLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-StreamLayer.html) and [ImageryLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-ImageryLayer.html)). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Feature-FeatureViewModel.html#defaultPopupTemplateEnabled) * @@ -63590,7 +66855,7 @@ declare namespace __esri { text?: boolean; } - export interface VisibleElements extends Object { + export interface FeatureVisibleElements extends Object { /** * Indicates whether the title associated with the feature displays. Default value is `true`. * @@ -63660,14 +66925,6 @@ declare namespace __esri { * */ getValues(): any; - /** - * *This method is primarily used by developers when implementing custom widgets.* It must be implemented by subclasses for rendering. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureForm.html#render) - * - * - */ - render(): any; /** * Fires the [submit](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureForm.html#event-submit) event. * @@ -63676,6 +66933,10 @@ declare namespace __esri { * */ submit(): void; + + on(name: "value-change", eventHandler: FeatureFormValueChangeEventHandler): IHandle; + + on(name: "submit", eventHandler: FeatureFormSubmitEventHandler): IHandle; } interface FeatureFormConstructor { @@ -63804,6 +67065,10 @@ declare namespace __esri { * */ submit(): void; + + on(name: "value-change", eventHandler: FeatureFormViewModelValueChangeEventHandler): IHandle; + + on(name: "submit", eventHandler: FeatureFormViewModelSubmitEventHandler): IHandle; } interface FeatureFormViewModelConstructor { @@ -63846,6 +67111,26 @@ declare namespace __esri { valid?: boolean; } + export interface FeatureFormViewModelSubmitEvent { + invalid: string[]; + + valid: string[]; + + values: any; + } + + export interface FeatureFormViewModelValueChangeEvent { + feature: Graphic; + + fieldName: string; + + layer: FeatureLayer; + + valid: boolean; + + value: number | string | any; + } + interface FieldConfig extends Accessor { /** * The field's description. The description is shown below the field. @@ -64118,7 +67403,7 @@ declare namespace __esri { * * @default text-box */ - readonly editorType: string; + readonly editorType: "text-box" | "text-area"; /** * If the input field's value is invalid, this property returns validation error code. Otherwise, it is `null`. * @@ -64180,7 +67465,7 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureForm-InputField.html#type) */ - readonly type: string; + readonly type: "number" | "text" | "date" | "unsupported"; /** * When `true`, the input value is valid. Otherwise, it is invalid. * @@ -64273,6 +67558,26 @@ declare namespace __esri { visibilityExpression?: string; } + export interface FeatureFormSubmitEvent { + invalid: string[]; + + valid: string[]; + + values: any; + } + + export interface FeatureFormValueChangeEvent { + feature: Graphic; + + fieldName: string; + + layer: FeatureLayer; + + valid: boolean; + + value: number | string | any; + } + interface FeatureTemplates extends Widget { /** * When `true`, displays the template [filter](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTemplates.html#filterFunction). ![featureTemplatesFilter](https://developers.arcgis.com/javascript/assets/img/apiref/widgets/featureTemplatesFilter.png) @@ -64324,14 +67629,7 @@ declare namespace __esri { */ viewModel: FeatureTemplatesViewModel; - /** - * *This method is primarily used by developers when implementing custom widgets.* It must be implemented by subclasses for rendering. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTemplates.html#render) - * - * - */ - render(): any; + on(name: "select", eventHandler: FeatureTemplatesSelectEventHandler): IHandle; } interface FeatureTemplatesConstructor { @@ -64467,6 +67765,8 @@ declare namespace __esri { * */ select(item?: TemplateItem): void; + + on(name: "select", eventHandler: FeatureTemplatesViewModelSelectEventHandler): IHandle; } interface FeatureTemplatesViewModelConstructor { @@ -64507,6 +67807,12 @@ declare namespace __esri { layers?: FeatureLayerProperties[]; } + export interface FeatureTemplatesViewModelSelectEvent { + item: TemplateItem; + + template: FeatureTemplate; + } + interface TemplateItem extends Accessor { /** * The description that is displayed for the template item. This is similar to the description provided in [FeatureTemplate.description](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-FeatureTemplate.html#description). @@ -64617,6 +67923,12 @@ declare namespace __esri { export type GroupByFunction = (grouping: any) => string | any; + export interface FeatureTemplatesSelectEvent { + item: TemplateItem; + + template: FeatureTemplate; + } + interface Fullscreen extends Widget { /** * The [HTMLElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement) to present in fullscreen mode. @@ -64636,15 +67948,6 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Fullscreen.html#viewModel) */ viewModel: FullscreenViewModel; - - /** - * *This method is primarily used by developers when implementing custom widgets.* It must be implemented by subclasses for rendering. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Fullscreen.html#render) - * - * - */ - render(): any; } interface FullscreenConstructor { @@ -64818,15 +68121,6 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Histogram.html#viewModel) */ viewModel: HistogramViewModel; - - /** - * *This method is primarily used by developers when implementing custom widgets.* It must be implemented by subclasses for rendering. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Histogram.html#render) - * - * - */ - render(): any; } interface HistogramConstructor { @@ -65203,14 +68497,20 @@ declare namespace __esri { * */ generateWhereClause(field: string): string; - /** - * *This method is primarily used by developers when implementing custom widgets.* It must be implemented by subclasses for rendering. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-HistogramRangeSlider.html#render) - * - * - */ - render(): any; + + on(name: "max-change", eventHandler: HistogramRangeSliderMaxChangeEventHandler): IHandle; + + on(name: "min-change", eventHandler: HistogramRangeSliderMinChangeEventHandler): IHandle; + + on(name: "segment-drag", eventHandler: HistogramRangeSliderSegmentDragEventHandler): IHandle; + + on(name: "thumb-change", eventHandler: HistogramRangeSliderThumbChangeEventHandler): IHandle; + + on(name: "thumb-drag", eventHandler: HistogramRangeSliderThumbDragEventHandler): IHandle; + + on(name: "value-change", eventHandler: HistogramRangeSliderValueChangeEventHandler): IHandle; + + on(name: "values-change", eventHandler: HistogramRangeSliderValuesChangeEventHandler): IHandle; } interface HistogramRangeSliderConstructor { @@ -65381,7 +68681,7 @@ declare namespace __esri { */ bins: Bin[]; /** - * Determines the SQL where clause generated in [generateWhereClause()](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-HistogramRangeSlider-HistogramRangeSliderViewModel.html#generateWhereClause) for filtering purposes. The value set here determines the number of [values](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-HistogramRangeSlider-HistogramRangeSliderViewModel.html#values) allowed on the slider. **Possible Values:** equal | not-equal | less-than | greater-than | at-most | at-least | between | not-between See the table below for a description and requirements of all possible values. `value1` refers to the value of the first thumb position. `value2` refers to the value of the final thumb position, if applicable. + * Determines the SQL where clause generated in [generateWhereClause()](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-HistogramRangeSlider-HistogramRangeSliderViewModel.html#generateWhereClause) for filtering purposes. The value set here determines the number of [values](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-HistogramRangeSlider-HistogramRangeSliderViewModel.html#values) allowed on the slider. See the table below for a description and requirements of all possible values. `value1` refers to the value of the first thumb position. `value2` refers to the value of the final thumb position, if applicable. * * Possible Value | Number of [Values](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-HistogramRangeSlider-HistogramRangeSliderViewModel.html#values) | [Where clause](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-HistogramRangeSlider-HistogramRangeSliderViewModel.html#generateWhereClause) * ---------------|----------------------------|---------------------- @@ -65399,7 +68699,15 @@ declare namespace __esri { * * @default equal */ - rangeType: any; + rangeType: + | "equal" + | "not-equal" + | "less-than" + | "greater-than" + | "at-most" + | "at-least" + | "between" + | "not-between"; /** * Indicates the standard deviation of the dataset above and below the `average`. * @@ -65420,8 +68728,6 @@ declare namespace __esri { on(name: "max-change", eventHandler: HistogramRangeSliderViewModelMaxChangeEventHandler): IHandle; on(name: "min-change", eventHandler: HistogramRangeSliderViewModelMinChangeEventHandler): IHandle; - - on(name: "value-change", eventHandler: HistogramRangeSliderViewModelValueChangeEventHandler): IHandle; } interface HistogramRangeSliderViewModelConstructor { @@ -65444,7 +68750,7 @@ declare namespace __esri { */ bins?: Bin[]; /** - * Determines the SQL where clause generated in [generateWhereClause()](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-HistogramRangeSlider-HistogramRangeSliderViewModel.html#generateWhereClause) for filtering purposes. The value set here determines the number of [values](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-HistogramRangeSlider-HistogramRangeSliderViewModel.html#values) allowed on the slider. **Possible Values:** equal | not-equal | less-than | greater-than | at-most | at-least | between | not-between See the table below for a description and requirements of all possible values. `value1` refers to the value of the first thumb position. `value2` refers to the value of the final thumb position, if applicable. + * Determines the SQL where clause generated in [generateWhereClause()](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-HistogramRangeSlider-HistogramRangeSliderViewModel.html#generateWhereClause) for filtering purposes. The value set here determines the number of [values](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-HistogramRangeSlider-HistogramRangeSliderViewModel.html#values) allowed on the slider. See the table below for a description and requirements of all possible values. `value1` refers to the value of the first thumb position. `value2` refers to the value of the final thumb position, if applicable. * * Possible Value | Number of [Values](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-HistogramRangeSlider-HistogramRangeSliderViewModel.html#values) | [Where clause](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-HistogramRangeSlider-HistogramRangeSliderViewModel.html#generateWhereClause) * ---------------|----------------------------|---------------------- @@ -65462,7 +68768,15 @@ declare namespace __esri { * * @default equal */ - rangeType?: any; + rangeType?: + | "equal" + | "not-equal" + | "less-than" + | "greater-than" + | "at-most" + | "at-least" + | "between" + | "not-between"; /** * Indicates the standard deviation of the dataset above and below the `average`. * @@ -65487,16 +68801,6 @@ declare namespace __esri { value: number; } - export interface HistogramRangeSliderViewModelValueChangeEvent { - index: number; - - oldValue: number; - - type: string; - - value: number; - } - export interface HistogramRangeSliderDataLines extends Object { /** * The value on the data axis of the histogram where a line will be rendered. @@ -65512,6 +68816,72 @@ declare namespace __esri { label?: string | number; } + export interface HistogramRangeSliderMaxChangeEvent { + oldValue: number; + + type: string; + + value: number; + } + + export interface HistogramRangeSliderMinChangeEvent { + oldValue: number; + + type: string; + + value: number; + } + + export interface HistogramRangeSliderSegmentDragEvent { + index: number; + + state: string; + + thumbIndices: number[]; + + type: string; + } + + export interface HistogramRangeSliderThumbChangeEvent { + index: number; + + oldValue: number; + + type: string; + + value: number; + } + + export interface HistogramRangeSliderThumbDragEvent { + index: number; + + state: string; + + type: string; + + value: number; + } + + export interface HistogramRangeSliderValueChangeEvent { + index: number; + + oldValue: number; + + type: string; + + value: number; + } + + export interface HistogramRangeSliderValuesChangeEvent { + indices: number[]; + + oldValues: number[]; + + type: string; + + values: number[]; + } + interface Home extends Widget, GoTo { /** * The widget's default CSS icon class. @@ -65557,14 +68927,8 @@ declare namespace __esri { * */ go(): void; - /** - * *This method is primarily used by developers when implementing custom widgets.* It must be implemented by subclasses for rendering. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Home.html#render) - * - * - */ - render(): any; + + on(name: "go", eventHandler: HomeGoEventHandler): IHandle; } interface HomeConstructor { @@ -65611,13 +68975,13 @@ declare namespace __esri { interface HomeViewModel extends Accessor, Evented, GoTo { /** - * The current state of the widget. **Possible Values:** disabled | ready | going-home + * The current state of the widget. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Home-HomeViewModel.html#state) * * @default disabled */ - readonly state: string; + readonly state: "disabled" | "ready" | "going-home"; /** * The view associated with the widget instance. * @@ -65652,6 +69016,8 @@ declare namespace __esri { * */ go(): void; + + on(name: "go", eventHandler: HomeViewModelGoEventHandler): IHandle; } interface HomeViewModelConstructor { @@ -65680,6 +69046,10 @@ declare namespace __esri { viewpoint?: ViewpointProperties; } + export interface HomeViewModelGoEvent {} + + export interface HomeGoEvent {} + interface LayerList extends Widget { /** * The widget's default CSS icon class. @@ -65706,7 +69076,7 @@ declare namespace __esri { */ readonly selectedItems: Collection; /** - * Indicates whether list items may be selected by the user. When the user selects an item, it will become available in the [selectedItems](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LayerList.html#selectedItems) property. + * Indicates whether list items may be selected by the user. Selected items may be reordered in the list by dragging gestures with the mouse or touch screen, or with arrow keys on the keyboard. Selected items are available in the [selectedItems](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LayerList.html#selectedItems) property. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LayerList.html#selectionEnabled) * @@ -65734,14 +69104,6 @@ declare namespace __esri { */ viewModel: LayerListViewModel; - /** - * *This method is primarily used by developers when implementing custom widgets.* It must be implemented by subclasses for rendering. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LayerList.html#render) - * - * - */ - render(): any; /** * Triggers the [trigger-action](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LayerList.html#event-trigger-action) event and executes the given [action](https://developers.arcgis.com/javascript/latest/api-reference/esri-support-actions-ActionButton.html) or [action toggle](https://developers.arcgis.com/javascript/latest/api-reference/esri-support-actions-ActionToggle.html). * @@ -65752,6 +69114,8 @@ declare namespace __esri { * */ triggerAction(action: ActionButton | ActionToggle, item: ListItem): void; + + on(name: "trigger-action", eventHandler: LayerListTriggerActionEventHandler): IHandle; } interface LayerListConstructor { @@ -65774,7 +69138,7 @@ declare namespace __esri { */ listItemCreatedFunction?: ListItemCreatedHandler; /** - * Indicates whether list items may be selected by the user. When the user selects an item, it will become available in the [selectedItems](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LayerList.html#selectedItems) property. + * Indicates whether list items may be selected by the user. Selected items may be reordered in the list by dragging gestures with the mouse or touch screen, or with arrow keys on the keyboard. Selected items are available in the [selectedItems](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LayerList.html#selectedItems) property. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LayerList.html#selectionEnabled) * @@ -65841,6 +69205,8 @@ declare namespace __esri { * */ triggerAction(action: ActionButton | ActionToggle, item: ListItem): void; + + on(name: "trigger-action", eventHandler: LayerListViewModelTriggerActionEventHandler): IHandle; } interface LayerListViewModelConstructor { @@ -65864,6 +69230,12 @@ declare namespace __esri { view?: MapViewProperties | SceneViewProperties; } + export interface LayerListViewModelTriggerActionEvent { + action: ActionButton | ActionToggle; + + item: ListItem; + } + interface ListItem { /** * Whether the actional panel is open in the LayerList. @@ -66051,6 +69423,12 @@ declare namespace __esri { export type ListItemCreatedHandler = (event: any) => void; + export interface LayerListTriggerActionEvent { + action: ActionButton | ActionToggle; + + item: ListItem; + } + interface Legend extends Widget { /** * Collection of [ActiveLayerInfo](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Legend-support-ActiveLayerInfo.html) objects used by the legend view to display data in the legend. The legend widget watches this property to hide or display the layer's legend when an [ActiveLayerInfo](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Legend-support-ActiveLayerInfo.html) is removed from or added to this collection. @@ -66078,6 +69456,19 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Legend.html#layerInfos) */ layerInfos: LegendLayerInfos[]; + /** + * Determines whether to respect the properties of the layers in the map that control the legend's visibility (`minScale`, `maxScale`, `legendEnabled`). By default, a layer's legend elements **will not render** in the legend given the following conditions: + * * The layer's [legendEnabled](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html#legendEnabled) property is set to `false`. + * * If the view's scale is outside the visibility range defined by the layer's [minScale](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html#minScale) and [maxScale](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html#maxScale) properties. + * + * + * When the `respectLayerVisibility` property of the legend is set to `false`, the legend elements for each layer in the map will always display, thus disregarding the `minScale`, `maxScale`, and `legendEnabled` properties for each layer in the map. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Legend.html#respectLayerVisibility) + * + * @default true + */ + respectLayerVisibility: boolean; /** * Indicates the style of the legend. The style determines the legend's layout and behavior. You can either specify a string or an object to indicate the style. The known string values are the same values listed in the table within the `type` property. * @@ -66098,15 +69489,6 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Legend.html#viewModel) */ viewModel: LegendViewModel; - - /** - * *This method is primarily used by developers when implementing custom widgets.* It must be implemented by subclasses for rendering. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Legend.html#render) - * - * - */ - render(): any; } interface LegendConstructor { @@ -66148,6 +69530,19 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Legend.html#layerInfos) */ layerInfos?: LegendLayerInfos[]; + /** + * Determines whether to respect the properties of the layers in the map that control the legend's visibility (`minScale`, `maxScale`, `legendEnabled`). By default, a layer's legend elements **will not render** in the legend given the following conditions: + * * The layer's [legendEnabled](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html#legendEnabled) property is set to `false`. + * * If the view's scale is outside the visibility range defined by the layer's [minScale](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html#minScale) and [maxScale](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html#maxScale) properties. + * + * + * When the `respectLayerVisibility` property of the legend is set to `false`, the legend elements for each layer in the map will always display, thus disregarding the `minScale`, `maxScale`, and `legendEnabled` properties for each layer in the map. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Legend.html#respectLayerVisibility) + * + * @default true + */ + respectLayerVisibility?: boolean; /** * Indicates the style of the legend. The style determines the legend's layout and behavior. You can either specify a string or an object to indicate the style. The known string values are the same values listed in the table within the `type` property. * @@ -66192,13 +69587,13 @@ declare namespace __esri { */ layerInfos: LegendViewModelLayerInfos[]; /** - * The view model's state. **Possible Values:** ready | disabled + * The view model's state. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Legend-LegendViewModel.html#state) * * @default disabled */ - readonly state: string; + readonly state: "ready" | "disabled"; /** * The view from which the widget will operate. * @@ -66407,18 +69802,6 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Legend-support-ActiveLayerInfo.html#ColorRampElement) */ title: string | RampTitle; - /** - * The color of the border surrounding the ramp. This corresponds with the outline color defined in the default symbol of the renderer. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Legend-support-ActiveLayerInfo.html#ColorRampElement) - */ - borderColor: Color; - /** - * The overlay color of the color ramp. This is typically transparent. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Legend-support-ActiveLayerInfo.html#ColorRampElement) - */ - overlayColor: Color; /** * The individual color stops rendered in the legend that correspond to the color visual variable in the renderer. * @@ -66586,18 +69969,6 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Legend-support-ActiveLayerInfo.html#OpacityRampElement) */ title?: string | RampTitle; - /** - * The color of the border surrounding the ramp. This corresponds with the outline color defined in the default symbol of the renderer. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Legend-support-ActiveLayerInfo.html#OpacityRampElement) - */ - borderColor: Color; - /** - * The overlay color of the color ramp. This is typically transparent. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Legend-support-ActiveLayerInfo.html#OpacityRampElement) - */ - overlayColor: Color; /** * The individual opacity stops rendered in the legend that correspond to the opacity visual variable in the renderer. * @@ -67062,14 +70433,10 @@ declare namespace __esri { * */ locate(): IPromise; - /** - * *This method is primarily used by developers when implementing custom widgets.* It must be implemented by subclasses for rendering. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Locate.html#render) - * - * - */ - render(): any; + + on(name: "locate", eventHandler: LocateLocateEventHandler): IHandle; + + on(name: "locate-error", eventHandler: LocateLocateErrorEventHandler): IHandle; } interface LocateConstructor { @@ -67145,13 +70512,13 @@ declare namespace __esri { interface LocateViewModel extends Accessor, Evented, GeolocationPositioning, GoTo { /** - * The current state of the widget. **Possible Values:** disabled | ready | locating + * The current state of the widget. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Locate-LocateViewModel.html#state) * * @default disabled */ - readonly state: string; + readonly state: "disabled" | "ready" | "locating"; /** * This function provides the ability to interrupt and cancel the process of programmatically obtaining the location of the user's device. @@ -67169,6 +70536,8 @@ declare namespace __esri { * */ locate(): IPromise; + + on(name: "locate-error", eventHandler: LocateViewModelLocateErrorEventHandler): IHandle; } interface LocateViewModelConstructor { @@ -67185,6 +70554,319 @@ declare namespace __esri { interface LocateViewModelProperties extends GeolocationPositioningProperties, GoToProperties {} + export interface LocateViewModelLocateErrorEvent { + error: Error; + } + + export interface LocateLocateErrorEvent { + error: Error; + } + + export interface LocateLocateEvent { + position: any; + } + + interface Measurement extends Widget { + /** + * Specifies the current measurement tool to display. Setting its value to `area` activates the area measurement tool and it works for both [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) and [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). To measure distance in a [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) set the property to `distance` and in a [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html) set it to `direct-line`. If this property is not set, the widget will not be displayed. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Measurement.html#activeTool) + * + * @default null + */ + activeTool: "area" | "distance" | "direct-line"; + /** + * The measurement widget that is currently being used. Use this property to get access to the active widget. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Measurement.html#activeWidget) + * + * @default null + */ + readonly activeWidget: AreaMeasurement2D | AreaMeasurement3D | DirectLineMeasurement3D | DistanceMeasurement2D; + /** + * Unit system (imperial, metric) or specific unit used for displaying the area values. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Measurement.html#areaUnit) + */ + areaUnit: + | "metric" + | "imperial" + | "square-inches" + | "square-feet" + | "square-us-feet" + | "square-yards" + | "square-miles" + | "square-meters" + | "square-kilometers" + | "acres" + | "ares" + | "hectares"; + /** + * The widget's default CSS icon class. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Measurement.html#iconClass) + */ + readonly iconClass: string; + /** + * Unit system (imperial, metric) or specific unit used for displaying the distance values. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Measurement.html#linearUnit) + */ + linearUnit: + | "metric" + | "imperial" + | "inches" + | "feet" + | "us-feet" + | "yards" + | "miles" + | "nautical-miles" + | "meters" + | "kilometers"; + /** + * A reference to the [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) or [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). Set this to link the widget to a specific view. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Measurement.html#view) + */ + view: MapView | SceneView; + /** + * The view model for this widget. This is a class that contains all the logic (properties and methods) that controls this widget's behavior. See the [MeasurementViewModel](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Measurement-MeasurementViewModel.html) class to access all properties and methods on the widget. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Measurement.html#viewModel) + */ + viewModel: MeasurementViewModel; + + /** + * Removes all measurement widgets and associated graphics. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Measurement.html#clear) + * + * + */ + clear(): void; + /** + * Starts a new measurement for the active measurement widget. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Measurement.html#startMeasurement) + * + * + */ + startMeasurement(): void; + } + + interface MeasurementConstructor { + /** + * The Measurement widget groups and manages multiple measurement tools and allows you to easily switch between them using the [activeTool](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Measurement.html#activeTool) property. The tools correspond to the measurement widgets for area and distance in 2D ([AreaMeasurement2D](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-AreaMeasurement2D.html), [DistanceMeasurement2D](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-DistanceMeasurement2D.html)) and in 3D ([AreaMeasurement3D](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-AreaMeasurement3D.html), [DirectLineMeasurement3D](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-DirectLineMeasurement3D.html)). + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Measurement.html) + */ + + new (properties?: MeasurementProperties): Measurement; + } + + export const Measurement: MeasurementConstructor; + + interface MeasurementProperties extends WidgetProperties { + /** + * Specifies the current measurement tool to display. Setting its value to `area` activates the area measurement tool and it works for both [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) and [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). To measure distance in a [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) set the property to `distance` and in a [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html) set it to `direct-line`. If this property is not set, the widget will not be displayed. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Measurement.html#activeTool) + * + * @default null + */ + activeTool?: "area" | "distance" | "direct-line"; + /** + * Unit system (imperial, metric) or specific unit used for displaying the area values. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Measurement.html#areaUnit) + */ + areaUnit?: + | "metric" + | "imperial" + | "square-inches" + | "square-feet" + | "square-us-feet" + | "square-yards" + | "square-miles" + | "square-meters" + | "square-kilometers" + | "acres" + | "ares" + | "hectares"; + /** + * Unit system (imperial, metric) or specific unit used for displaying the distance values. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Measurement.html#linearUnit) + */ + linearUnit?: + | "metric" + | "imperial" + | "inches" + | "feet" + | "us-feet" + | "yards" + | "miles" + | "nautical-miles" + | "meters" + | "kilometers"; + /** + * A reference to the [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) or [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). Set this to link the widget to a specific view. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Measurement.html#view) + */ + view?: MapViewProperties | SceneViewProperties; + /** + * The view model for this widget. This is a class that contains all the logic (properties and methods) that controls this widget's behavior. See the [MeasurementViewModel](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Measurement-MeasurementViewModel.html) class to access all properties and methods on the widget. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Measurement.html#viewModel) + */ + viewModel?: MeasurementViewModelProperties; + } + + interface MeasurementViewModel extends Accessor { + /** + * Specifies the current measurement tool to display. Setting its value to `area` activates the area measurement tool and it works for both [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) and [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). To measure distance in a [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) set the property to `distance` and in a [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html) set it to `direct-line`. If this property is not set, the widget will not be displayed. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Measurement-MeasurementViewModel.html#activeTool) + * + * @default null + */ + activeTool: "area" | "distance" | "direct-line"; + /** + * View model of the active measurement widget. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Measurement-MeasurementViewModel.html#activeViewModel) + */ + activeViewModel: + | AreaMeasurement2DViewModel + | AreaMeasurement3DViewModel + | DirectLineMeasurement3DViewModel + | DistanceMeasurement2DViewModel; + /** + * Unit system (imperial, metric) or specific unit used for displaying the area values. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Measurement-MeasurementViewModel.html#areaUnit) + */ + areaUnit: + | "metric" + | "imperial" + | "square-inches" + | "square-feet" + | "square-us-feet" + | "square-yards" + | "square-miles" + | "square-meters" + | "square-kilometers" + | "acres" + | "ares" + | "hectares"; + /** + * Unit system (imperial, metric) or specific unit used for displaying the distance values. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Measurement-MeasurementViewModel.html#linearUnit) + */ + linearUnit: + | "metric" + | "imperial" + | "inches" + | "feet" + | "us-feet" + | "yards" + | "miles" + | "nautical-miles" + | "meters" + | "kilometers"; + /** + * The ViewModel's state. + * + * Value | Description + * ------------|------------- + * disabled | not ready yet + * ready | ready for measuring + * measuring | measuring has started + * measured | measuring has finished + * + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Measurement-MeasurementViewModel.html#state) + * + * @default disabled + */ + readonly state: "disabled" | "ready" | "measuring" | "measured"; + /** + * A reference to the [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) or [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Measurement-MeasurementViewModel.html#view) + */ + view: MapView | SceneView; + } + + interface MeasurementViewModelConstructor { + new (properties?: MeasurementViewModelProperties): MeasurementViewModel; + } + + export const MeasurementViewModel: MeasurementViewModelConstructor; + + interface MeasurementViewModelProperties { + /** + * Specifies the current measurement tool to display. Setting its value to `area` activates the area measurement tool and it works for both [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) and [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). To measure distance in a [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) set the property to `distance` and in a [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html) set it to `direct-line`. If this property is not set, the widget will not be displayed. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Measurement-MeasurementViewModel.html#activeTool) + * + * @default null + */ + activeTool?: "area" | "distance" | "direct-line"; + /** + * View model of the active measurement widget. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Measurement-MeasurementViewModel.html#activeViewModel) + */ + activeViewModel?: + | AreaMeasurement2DViewModel + | AreaMeasurement3DViewModelProperties + | DirectLineMeasurement3DViewModelProperties + | DistanceMeasurement2DViewModel; + /** + * Unit system (imperial, metric) or specific unit used for displaying the area values. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Measurement-MeasurementViewModel.html#areaUnit) + */ + areaUnit?: + | "metric" + | "imperial" + | "square-inches" + | "square-feet" + | "square-us-feet" + | "square-yards" + | "square-miles" + | "square-meters" + | "square-kilometers" + | "acres" + | "ares" + | "hectares"; + /** + * Unit system (imperial, metric) or specific unit used for displaying the distance values. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Measurement-MeasurementViewModel.html#linearUnit) + */ + linearUnit?: + | "metric" + | "imperial" + | "inches" + | "feet" + | "us-feet" + | "yards" + | "miles" + | "nautical-miles" + | "meters" + | "kilometers"; + /** + * A reference to the [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) or [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Measurement-MeasurementViewModel.html#view) + */ + view?: MapViewProperties | SceneViewProperties; + } + interface NavigationToggle extends Widget { /** * The widget's default CSS icon class. @@ -67219,14 +70901,6 @@ declare namespace __esri { */ viewModel: NavigationToggleViewModel; - /** - * *This method is primarily used by developers when implementing custom widgets.* It must be implemented by subclasses for rendering. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-NavigationToggle.html#render) - * - * - */ - render(): any; /** * Toggles the navigation mode of the [view](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-NavigationToggle.html#view) from `pan` to `rotate` or vice versa. * @@ -67300,13 +70974,13 @@ declare namespace __esri { */ navigationMode: string; /** - * The state of the widget. **Possible Values:** disabled | ready + * The state of the widget. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-NavigationToggle-NavigationToggleViewModel.html#state) * * @default disabled */ - readonly state: string; + readonly state: "disabled" | "ready"; /** * The view associated with the widget. * @@ -67367,7 +71041,7 @@ declare namespace __esri { */ actions: Collection; /** - * Position of the popup in relation to the selected feature. **Possible Values:** auto | top-center | top-right | bottom-left | bottom-center | bottom-right | Function + * Position of the popup in relation to the selected feature. The default behavior is to display above the feature and adjust if not enough room. If needing to explicitly control where the popup displays in relation to the feature, choose an option besides `auto`. **Possible Values:** auto | top-center | top-right | bottom-left | bottom-center | bottom-right | Function * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Popup.html#alignment) * @@ -67413,13 +71087,20 @@ declare namespace __esri { */ content: string | HTMLElement | Widget; /** - * Dock position in the [View](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View.html). **Possible Values:** top-left | top-center | top-right | bottom-left | bottom-center | bottom-right + * Dock position in the [View](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View.html). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Popup.html#currentDockPosition) */ - readonly currentDockPosition: string; + readonly currentDockPosition: + | "auto" + | "top-center" + | "top-right" + | "top-left" + | "bottom-left" + | "bottom-center" + | "bottom-right"; /** - * Enables automatic creation of a popup template for layers that have popups enabled but no popupTemplate defined. Automatic popup templates are supported for layers that support the `createPopupTemplate` method. (Supported for [FeatureLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html), [SceneLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-SceneLayer.html), [CSVLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-CSVLayer.html), [StreamLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-StreamLayer.html) and [ImageryLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-ImageryLayer.html)). + * Enables automatic creation of a popup template for layers that have popups enabled but no popupTemplate defined. Automatic popup templates are supported for layers that support the `createPopupTemplate` method. (Supported for [FeatureLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html), [GeoJSONLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-GeoJSONLayer.html), [SceneLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-SceneLayer.html), [CSVLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-CSVLayer.html), [PointCloudLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-PointCloudLayer.html), [StreamLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-StreamLayer.html) and [ImageryLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-ImageryLayer.html)). * > Starting with version 4.12, [PopupTemplate](https://developers.arcgis.com/javascript/latest/api-reference/esri-PopupTemplate.html) content can no longer be set using a wildcard, e.g. `*`. Instead, set the `defaultPopupTemplateEnabled` property to `true`. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Popup.html#defaultPopupTemplateEnabled) @@ -67590,14 +71271,6 @@ declare namespace __esri { * */ previous(): PopupViewModel; - /** - * *This method is primarily used by developers when implementing custom widgets.* It must be implemented by subclasses for rendering. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Popup.html#render) - * - * - */ - render(): any; /** * Positions the popup on the view. Moves the popup into the view's extent if the popup is partially or fully outside the view's extent. If the popup is partially out of view, the view will move to fully show the popup. If the popup is fully out of view, the view will move to the popup's location. * @@ -67615,6 +71288,8 @@ declare namespace __esri { * */ triggerAction(actionIndex: number): void; + + on(name: "trigger-action", eventHandler: PopupTriggerActionEventHandler): IHandle; } interface PopupConstructor { @@ -67637,7 +71312,7 @@ declare namespace __esri { */ actions?: CollectionProperties; /** - * Position of the popup in relation to the selected feature. **Possible Values:** auto | top-center | top-right | bottom-left | bottom-center | bottom-right | Function + * Position of the popup in relation to the selected feature. The default behavior is to display above the feature and adjust if not enough room. If needing to explicitly control where the popup displays in relation to the feature, choose an option besides `auto`. **Possible Values:** auto | top-center | top-right | bottom-left | bottom-center | bottom-right | Function * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Popup.html#alignment) * @@ -67683,7 +71358,7 @@ declare namespace __esri { */ content?: string | HTMLElement | WidgetProperties; /** - * Enables automatic creation of a popup template for layers that have popups enabled but no popupTemplate defined. Automatic popup templates are supported for layers that support the `createPopupTemplate` method. (Supported for [FeatureLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html), [SceneLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-SceneLayer.html), [CSVLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-CSVLayer.html), [StreamLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-StreamLayer.html) and [ImageryLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-ImageryLayer.html)). + * Enables automatic creation of a popup template for layers that have popups enabled but no popupTemplate defined. Automatic popup templates are supported for layers that support the `createPopupTemplate` method. (Supported for [FeatureLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html), [GeoJSONLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-GeoJSONLayer.html), [SceneLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-SceneLayer.html), [CSVLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-CSVLayer.html), [PointCloudLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-PointCloudLayer.html), [StreamLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-StreamLayer.html) and [ImageryLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-ImageryLayer.html)). * > Starting with version 4.12, [PopupTemplate](https://developers.arcgis.com/javascript/latest/api-reference/esri-PopupTemplate.html) content can no longer be set using a wildcard, e.g. `*`. Instead, set the `defaultPopupTemplateEnabled` property to `true`. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Popup.html#defaultPopupTemplateEnabled) @@ -67811,7 +71486,7 @@ declare namespace __esri { */ content: string | HTMLElement | Widget; /** - * Enables automatic creation of a popup template for layers that have popups enabled but no popupTemplate defined. Automatic popup templates are supported for layers that support the `createPopupTemplate` method. (Supported for [FeatureLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html), [SceneLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-SceneLayer.html), [CSVLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-CSVLayer.html), [StreamLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-StreamLayer.html) and [ImageryLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-ImageryLayer.html)). + * Enables automatic creation of a popup template for layers that have popups enabled but no popupTemplate defined. Automatic popup templates are supported for layers that support the `createPopupTemplate` method. (Supported for [FeatureLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html), [GeoJSONLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-GeoJSONLayer.html), [SceneLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-SceneLayer.html), [CSVLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-CSVLayer.html), [PointCloudLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-PointCloudLayer.html), [StreamLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-StreamLayer.html) and [ImageryLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-ImageryLayer.html)). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Popup-PopupViewModel.html#defaultPopupTemplateEnabled) * @@ -67881,13 +71556,13 @@ declare namespace __esri { */ selectedFeatureIndex: number; /** - * The view model's state. **Possible Values:** ready | disabled + * The view model's state. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Popup-PopupViewModel.html#state) * * @default disabled */ - readonly state: string; + readonly state: "ready" | "disabled"; /** * The title of the popup. This can be set generically on the popup no matter the features that are selected. If the [selected feature](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Popup-PopupViewModel.html#selectedFeature) has a [PopupTemplate](https://developers.arcgis.com/javascript/latest/api-reference/esri-PopupTemplate.html), then the title set in the corresponding template is used here. * @@ -68003,7 +71678,7 @@ declare namespace __esri { */ content?: string | HTMLElement | WidgetProperties; /** - * Enables automatic creation of a popup template for layers that have popups enabled but no popupTemplate defined. Automatic popup templates are supported for layers that support the `createPopupTemplate` method. (Supported for [FeatureLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html), [SceneLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-SceneLayer.html), [CSVLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-CSVLayer.html), [StreamLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-StreamLayer.html) and [ImageryLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-ImageryLayer.html)). + * Enables automatic creation of a popup template for layers that have popups enabled but no popupTemplate defined. Automatic popup templates are supported for layers that support the `createPopupTemplate` method. (Supported for [FeatureLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html), [GeoJSONLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-GeoJSONLayer.html), [SceneLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-SceneLayer.html), [CSVLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-CSVLayer.html), [PointCloudLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-PointCloudLayer.html), [StreamLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-StreamLayer.html) and [ImageryLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-ImageryLayer.html)). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Popup-PopupViewModel.html#defaultPopupTemplateEnabled) * @@ -68243,6 +71918,10 @@ declare namespace __esri { collapsed?: boolean; } + export interface PopupTriggerActionEvent { + action: ActionButton | ActionToggle; + } + interface Print extends Widget { /** * The widget's default CSS icon class. @@ -68274,15 +71953,6 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Print.html#viewModel) */ viewModel: PrintViewModel; - - /** - * *This method is primarily used by developers when implementing custom widgets.* It must be implemented by subclasses for rendering. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Print.html#render) - * - * - */ - render(): any; } interface PrintConstructor { @@ -68346,13 +72016,13 @@ declare namespace __esri { */ scaleEnabled: boolean; /** - * The view model's state. **Possible Values:** disabled | ready | complete + * The view model's state. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Print-PrintViewModel.html#state) * * @default disabled */ - readonly state: string; + readonly state: "disabled" | "initializing" | "ready" | "error"; /** * The service metadata that contains the layout/format information for the printout. * @@ -68468,13 +72138,13 @@ declare namespace __esri { */ forceFeatureAttributes: boolean; /** - * The output format for the printed map. **Possible Values:** pdf | png32 | png8 | jpg | gif | eps | svg | svgz + * The output format for the printed map. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Print-TemplateOptions.html#format) * * @default pdf */ - format: string; + format: "pdf" | "png32" | "png8" | "jpg" | "gif" | "eps" | "svg" | "svgz"; /** * Map height. This only applies when the [layout](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Print-TemplateOptions.html#layout) value is `map-only`. * @@ -68501,7 +72171,16 @@ declare namespace __esri { * * @default letter-ansi-a-landscape */ - layout: string; + layout: + | "map-only" + | "a3-landscape" + | "a3-portrait" + | "a4-landscape" + | "a4-portrait" + | "letter-ansi-a-landscape" + | "letter-ansi-a-portrait" + | "tabloid-ansi-b-landscape" + | "tabloid-ansi-b-portrait"; /** * When `false`, the legend is not displayed on the printout. * @@ -68576,13 +72255,13 @@ declare namespace __esri { */ forceFeatureAttributes?: boolean; /** - * The output format for the printed map. **Possible Values:** pdf | png32 | png8 | jpg | gif | eps | svg | svgz + * The output format for the printed map. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Print-TemplateOptions.html#format) * * @default pdf */ - format?: string; + format?: "pdf" | "png32" | "png8" | "jpg" | "gif" | "eps" | "svg" | "svgz"; /** * Map height. This only applies when the [layout](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Print-TemplateOptions.html#layout) value is `map-only`. * @@ -68609,7 +72288,16 @@ declare namespace __esri { * * @default letter-ansi-a-landscape */ - layout?: string; + layout?: + | "map-only" + | "a3-landscape" + | "a3-portrait" + | "a4-landscape" + | "a4-portrait" + | "letter-ansi-a-landscape" + | "letter-ansi-a-portrait" + | "tabloid-ansi-b-landscape" + | "tabloid-ansi-b-portrait"; /** * When `false`, the legend is not displayed on the printout. * @@ -68667,15 +72355,6 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleBar.html#viewModel) */ viewModel: ScaleBarViewModel; - - /** - * *This method is primarily used by developers when implementing custom widgets.* It must be implemented by subclasses for rendering. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleBar.html#render) - * - * - */ - render(): any; } interface ScaleBarConstructor { @@ -68743,17 +72422,565 @@ declare namespace __esri { view?: MapViewProperties; } + interface ScaleRangeSlider extends Widget { + /** + * When `true`, sets the widget to a disabled state so the user cannot interact with it. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider.html#disabled) + * + * @default false + */ + disabled: boolean; + /** + * The widget's default label. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider.html#label) + */ + label: string; + /** + * When provided, the initial [minScale](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider.html#minScale) and [maxScale](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider.html#maxScale) values will match the layer's. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider.html#layer) + */ + layer: Layer; + /** + * The maximum scale of the active scale range. When the maxScale reaches the [maxScaleLimit](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider.html#maxScaleLimit), the maxScale value becomes 0 and there is no maximum scale set. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider.html#maxScale) + */ + maxScale: number; + /** + * The lowest possible maximum scale value on the slider. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider.html#maxScaleLimit) + */ + maxScaleLimit: number; + /** + * The minimum scale of the active scale range. When the minScale reaches the [minScaleLimit](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider.html#minScaleLimit), the minScale value becomes 0 and there is no minimum scale. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider.html#minScale) + */ + minScale: number; + /** + * The highest possible minimum scale value on the slider. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider.html#minScaleLimit) + */ + minScaleLimit: number; + /** + * The region that the scale thumbnails will focus on. Each region comes from the [ISO 3166-1 alpha-2 code](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes). See [SupportedRegion](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider.html#SupportedRegion) for the list of regions that are currently supported. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider.html#region) + * + * @default "US" + */ + region: SupportedRegion; + /** + * A reference to the [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) or [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). Set this to link the widget to a specific view. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider.html#view) + */ + view: MapView | SceneView; + /** + * The view model for this widget. This is a class that contains all the logic (properties and methods) that controls this widget's behavior. See the [ScaleRangeSliderViewModel](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider-ScaleRangeSliderViewModel.html) class to access all properties and methods on the widget. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider.html#viewModel) + */ + viewModel: ScaleRangeSliderViewModel; + /** + * The visible elements that are displayed within the widget. This property provides the ability to turn individual elements of the widget's display on/off. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider.html#visibleElements) + */ + visibleElements: ScaleRangeSliderVisibleElements; + } + + interface ScaleRangeSliderConstructor { + /** + * The ScaleRangeSlider widget allows the user to set a minimum and maximum scale based on named scale ranges. When a layer is provided to the widget, the [minScale](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider.html#minScale) and [maxScale](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider.html#maxScale) are set to the scale range of the layer. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider.html) + */ + + new (properties?: ScaleRangeSliderProperties): ScaleRangeSlider; + } + + export const ScaleRangeSlider: ScaleRangeSliderConstructor; + + interface ScaleRangeSliderProperties extends WidgetProperties { + /** + * When `true`, sets the widget to a disabled state so the user cannot interact with it. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider.html#disabled) + * + * @default false + */ + disabled?: boolean; + /** + * The widget's default label. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider.html#label) + */ + label?: string; + /** + * When provided, the initial [minScale](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider.html#minScale) and [maxScale](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider.html#maxScale) values will match the layer's. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider.html#layer) + */ + layer?: LayerProperties; + /** + * The maximum scale of the active scale range. When the maxScale reaches the [maxScaleLimit](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider.html#maxScaleLimit), the maxScale value becomes 0 and there is no maximum scale set. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider.html#maxScale) + */ + maxScale?: number; + /** + * The lowest possible maximum scale value on the slider. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider.html#maxScaleLimit) + */ + maxScaleLimit?: number; + /** + * The minimum scale of the active scale range. When the minScale reaches the [minScaleLimit](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider.html#minScaleLimit), the minScale value becomes 0 and there is no minimum scale. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider.html#minScale) + */ + minScale?: number; + /** + * The highest possible minimum scale value on the slider. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider.html#minScaleLimit) + */ + minScaleLimit?: number; + /** + * The region that the scale thumbnails will focus on. Each region comes from the [ISO 3166-1 alpha-2 code](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes). See [SupportedRegion](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider.html#SupportedRegion) for the list of regions that are currently supported. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider.html#region) + * + * @default "US" + */ + region?: SupportedRegion; + /** + * A reference to the [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) or [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). Set this to link the widget to a specific view. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider.html#view) + */ + view?: MapViewProperties | SceneViewProperties; + /** + * The view model for this widget. This is a class that contains all the logic (properties and methods) that controls this widget's behavior. See the [ScaleRangeSliderViewModel](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider-ScaleRangeSliderViewModel.html) class to access all properties and methods on the widget. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider.html#viewModel) + */ + viewModel?: ScaleRangeSliderViewModelProperties; + /** + * The visible elements that are displayed within the widget. This property provides the ability to turn individual elements of the widget's display on/off. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider.html#visibleElements) + */ + visibleElements?: ScaleRangeSliderVisibleElements; + } + + interface ScaleRanges extends Accessor { + /** + * Clamps the scale to the closest minScale or maxScale on the scale range. If the provided scale goes beyond the allowed range, it snaps back to the clamped value. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider-ScaleRanges.html#clampScale) + * + * @param scale The scale value from the slider. + * + */ + clampScale(scale: number): number; + /** + * Determines whether the given scale is within the current scale range. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider-ScaleRanges.html#contains) + * + * @param scale The scale value. + * + */ + contains(scale: number): boolean; + /** + * Finds the scale range name at a given index. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider-ScaleRanges.html#findScaleRangeByIndex) + * + * @param index The index of the scale. + * + */ + findScaleRangeByIndex(index: number): NamedScaleRange; + /** + * Helper to create a ScaleRanges object from a minimum and maximum scale. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider-ScaleRanges.html#fromScaleRange) + * + * @param minScale The minimum scale. + * @param maxScale The maximum scale. + * + */ + fromScaleRange(minScale: number, maxScale: number): ScaleRanges; + /** + * Determines if the input scale value can be considered to be at the smallest scale range edge. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider-ScaleRanges.html#isMaxScaleEdge) + * + * @param scale The scale value to test against the scale range. + * + */ + isMaxScaleEdge(scale: void): boolean; + /** + * Determines if the input scale value can be considered to be at the largest scale range edge. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider-ScaleRanges.html#isMinScaleEdge) + * + * @param scale The scale value to test against the scale range. + * + */ + isMinScaleEdge(scale: void): boolean; + } + + interface ScaleRangesConstructor { + new (properties?: ScaleRangesProperties): ScaleRanges; + } + + export const ScaleRanges: ScaleRangesConstructor; + + interface ScaleRangesProperties {} + + /** + * The NamedScaleRange provides the minimum and maxium scale of an named scale id. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider-ScaleRanges.html#NamedScaleRange) + */ + export interface NamedScaleRange extends Object { + /** + * The named scale range, such as "room" or "metropolitan area" + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider-ScaleRanges.html#NamedScaleRange) + */ + id: string; + /** + * The minimum scale. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider-ScaleRanges.html#NamedScaleRange) + */ + minScale: number; + /** + * The maximum scale. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider-ScaleRanges.html#NamedScaleRange) + */ + maxScale: number; + } + + interface ScaleRangeSliderViewModel extends Accessor { + /** + * When provided, the initial [minScale](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider-ScaleRangeSliderViewModel.html#minScale) and [maxScale](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider-ScaleRangeSliderViewModel.html#maxScale) values will match the layer's. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider-ScaleRangeSliderViewModel.html#layer) + */ + layer: Layer; + /** + * The maximum scale of the active scale range. When the maxScale reaches the [maxScaleLimit](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider-ScaleRangeSliderViewModel.html#maxScaleLimit), the maxScale value becomes 0 and there is no maximum scale set. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider-ScaleRangeSliderViewModel.html#maxScale) + */ + maxScale: number; + /** + * The lowest possible maximum scale value from the slider. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider-ScaleRangeSliderViewModel.html#maxScaleLimit) + */ + maxScaleLimit: number; + /** + * The minimum scale of the active scale range. When the minScale reaches the [minScaleLimit](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider-ScaleRangeSliderViewModel.html#minScaleLimit), the minScale value becomes 0 and there is no minimum scale set. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider-ScaleRangeSliderViewModel.html#minScale) + */ + minScale: number; + /** + * The highest possible minimum scale value from the slider. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider-ScaleRangeSliderViewModel.html#minScaleLimit) + */ + minScaleLimit: number; + /** + * The valid scale ranges available based on the slider position. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider-ScaleRangeSliderViewModel.html#scaleRanges) + */ + readonly scaleRanges: ScaleRanges; + /** + * The [SliderViewModel](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider-SliderViewModel.html) for supporting the scale range slider widget. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider-ScaleRangeSliderViewModel.html#sliderViewModel) + */ + sliderViewModel: SliderViewModel; + /** + * The current state of the widget. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider-ScaleRangeSliderViewModel.html#state) + * + * @default disabled + */ + readonly state: "disabled" | "ready"; + /** + * A reference to the [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) or [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). Set this to link the widget to a specific view. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider-ScaleRangeSliderViewModel.html#view) + */ + view: MapView | SceneView; + + /** + * Utility method for converting scale-to-slider values. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider-ScaleRangeSliderViewModel.html#mapScaleToSlider) + * + * @param scale The map scale to be converted. + * + */ + mapScaleToSlider(scale: number): number; + /** + * Utility method for converting slider-to-scale values. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider-ScaleRangeSliderViewModel.html#mapSliderToScale) + * + * @param value The value of the slider. + * + */ + mapSliderToScale(value: number): number; + } + + interface ScaleRangeSliderViewModelConstructor { + new (properties?: ScaleRangeSliderViewModelProperties): ScaleRangeSliderViewModel; + } + + export const ScaleRangeSliderViewModel: ScaleRangeSliderViewModelConstructor; + + interface ScaleRangeSliderViewModelProperties { + /** + * When provided, the initial [minScale](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider-ScaleRangeSliderViewModel.html#minScale) and [maxScale](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider-ScaleRangeSliderViewModel.html#maxScale) values will match the layer's. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider-ScaleRangeSliderViewModel.html#layer) + */ + layer?: LayerProperties; + /** + * The maximum scale of the active scale range. When the maxScale reaches the [maxScaleLimit](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider-ScaleRangeSliderViewModel.html#maxScaleLimit), the maxScale value becomes 0 and there is no maximum scale set. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider-ScaleRangeSliderViewModel.html#maxScale) + */ + maxScale?: number; + /** + * The lowest possible maximum scale value from the slider. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider-ScaleRangeSliderViewModel.html#maxScaleLimit) + */ + maxScaleLimit?: number; + /** + * The minimum scale of the active scale range. When the minScale reaches the [minScaleLimit](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider-ScaleRangeSliderViewModel.html#minScaleLimit), the minScale value becomes 0 and there is no minimum scale set. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider-ScaleRangeSliderViewModel.html#minScale) + */ + minScale?: number; + /** + * The highest possible minimum scale value from the slider. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider-ScaleRangeSliderViewModel.html#minScaleLimit) + */ + minScaleLimit?: number; + /** + * The [SliderViewModel](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider-SliderViewModel.html) for supporting the scale range slider widget. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider-ScaleRangeSliderViewModel.html#sliderViewModel) + */ + sliderViewModel?: SliderViewModelProperties; + /** + * A reference to the [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) or [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). Set this to link the widget to a specific view. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider-ScaleRangeSliderViewModel.html#view) + */ + view?: MapViewProperties | SceneViewProperties; + } + + /** + * The region that the scale thumbnails will focus on. Each region comes from the [ISO 3166-1 alpha-2 code](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes). + * + * | Code | Region | + * |------|--------| + * | `AE` | United Arab Emirates | + * | `AR` | Argentina | + * | `AT` | Austria| + * | `AU` | Australia| + * | `BE` | Belgium| + * | `BG` | Bulgaria| + * | `BO` | Bolivia| + * | `BR` | Brazil| + * | `CA` | Canada| + * | `CH` | Switzerland | + * | `CI` | Cote D'Ivoire | + * | `CL` | Chile| + * | `CN` | China| + * | `CO` | Colombia| + * | `CR` | Costa Rica| + * | `CZ` | Czech Republic| + * | `DE` | Germany| + * | `DK` | Denmark| + * | `EE` | Estonia| + * | `EG` | Egypt| + * | `ES` | Spain| + * | `FI` | Finland | + * | `FR` | France| + * | `GB` | Great Britain| + * | `GL` | Greenland| + * | `GR` | Greece| + * | `GT` | Guatemala| + * | `HK` | Hong Kong| + * | `ID` | Indonesia| + * | `IE` | Ireland| + * | `IL` | Israel| + * | `IN` | India| + * | `IQ` | Iraq| + * | `IS` | Iceland| + * | `IT` | Italy| + * | `JP` | Japan| + * | `KE` | Kenya| + * | `KR` | South Korea| + * | `KW` | Kuwait| + * | `LI` | Liechtenstein| + * | `LT` | Lithuania| + * | `LU` | Luxembourg| + * | `LV` | Latvia| + * | `MA` | Morocco| + * | `MG` | Madagascar| + * | `ML` | Mali| + * | `MO` | Macao| + * | `MX` | Mexico| + * | `MY` | Malaysia| + * | `NI` | Nicaragua| + * | `NL` | Netherlands| + * | `NO` | Norway| + * | `NZ` | New Zealand| + * | `PE` | Peru| + * | `PL` | Poland| + * | `PR` | Puerto Rico| + * | `PT` | Portugal| + * | `RO` | Romania| + * | `RU` | Russia| + * | `RW` | Rwanda| + * | `SE` | Sweden| + * | `SG` | Singapore| + * | `SK` | Slovakia| + * | `SR` | Suriname| + * | `SV` | El Salvador| + * | `TH` | Thailand| + * | `TN` | Tunisia| + * | `TW` | Taiwan| + * | `US` | United States| + * | `VE` | Venezuela| + * | `VI` | U.S. Virgin Islands| + * | `ZA` | South Africa| + * + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider.html#SupportedRegion) + */ + export type SupportedRegion = + | "AE" + | "AR" + | "AT" + | "AU" + | "BE" + | "BG" + | "BO" + | "BR" + | "CA" + | "CH" + | "CI" + | "CL" + | "CN" + | "CO" + | "CR" + | "CZ" + | "DE" + | "DK" + | "EE" + | "EG" + | "ES" + | "FI" + | "FR" + | "GB" + | "GL" + | "GR" + | "GT" + | "HK" + | "ID" + | "IE" + | "IL" + | "IN" + | "IQ" + | "IS" + | "IT" + | "JP" + | "KE" + | "KR" + | "KW" + | "LI" + | "LT" + | "LU" + | "LV" + | "MA" + | "MG" + | "ML" + | "MO" + | "MX" + | "MY" + | "NI" + | "NL" + | "NO" + | "NZ" + | "PE" + | "PL" + | "PR" + | "PT" + | "RO" + | "RU" + | "RW" + | "SE" + | "SG" + | "SK" + | "SR" + | "SV" + | "TH" + | "TN" + | "TW" + | "US" + | "VE" + | "VI" + | "ZA"; + + /** + * The visible elements that are displayed within the widget. This provides the ability to turn individual elements of the widget's display on/off. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider.html#VisibleElements) + */ + export interface ScaleRangeSliderVisibleElements extends Object { + /** + * Indicates whether the preview thumbnail of the region is visible. Default value is `true`. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider.html#VisibleElements) + */ + preview: boolean; + } + interface widgetsSearch extends Widget, GoTo { /** - * The current active menu of the Search widget. **Possible Values:** none | suggestion | source | warning + * The current active menu of the Search widget. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search.html#activeMenu) * * @default none */ - activeMenu: string; + activeMenu: "none" | "suggestion" | "source" | "warning"; /** - * The [source](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search.html#sources) object currently selected. Can be either a [LayerSearchSource](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search-LayerSearchSource.html) or a module:esri/widget/Search/LocatorSearchSource. + * The [source](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search.html#sources) object currently selected. Can be either a [LayerSearchSource](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search-LayerSearchSource.html) or a [LocatorSearchSource](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search-LocatorSearchSource.html). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search.html#activeSource) * @@ -68967,14 +73194,6 @@ declare namespace __esri { * */ focus(): void; - /** - * *This method is primarily used by developers when implementing custom widgets.* It must be implemented by subclasses for rendering. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search.html#render) - * - * - */ - render(): any; /** * Depending on the sources specified, search() queries the feature layer(s) and/or performs address matching using any specified [Locator(s)](https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-Locator.html) and returns any applicable results. * @@ -68993,6 +73212,22 @@ declare namespace __esri { * */ suggest(value?: string): IPromise; + + on(name: "search-blur", eventHandler: SearchSearchBlurEventHandler): IHandle; + + on(name: "search-focus", eventHandler: SearchSearchFocusEventHandler): IHandle; + + on(name: "search-clear", eventHandler: SearchSearchClearEventHandler): IHandle; + + on(name: "search-start", eventHandler: SearchSearchStartEventHandler): IHandle; + + on(name: "suggest-start", eventHandler: SearchSuggestStartEventHandler): IHandle; + + on(name: "search-complete", eventHandler: SearchSearchCompleteEventHandler): IHandle; + + on(name: "select-result", eventHandler: SearchSelectResultEventHandler): IHandle; + + on(name: "suggest-complete", eventHandler: SearchSuggestCompleteEventHandler): IHandle; } interface widgetsSearchConstructor { @@ -69009,13 +73244,13 @@ declare namespace __esri { interface widgetsSearchProperties extends WidgetProperties, GoToProperties { /** - * The current active menu of the Search widget. **Possible Values:** none | suggestion | source | warning + * The current active menu of the Search widget. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search.html#activeMenu) * * @default none */ - activeMenu?: string; + activeMenu?: "none" | "suggestion" | "source" | "warning"; /** * The selected source's index. This value is `-1` when all sources are selected. * @@ -69295,6 +73530,14 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search-LocatorSearchSource.html#countryCode) */ countryCode: string; + /** + * Sets the scale of the [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#scale) or [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#scale) for the resulting search result. This is useful if the locator service doesn’t return an extent with a scale. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search-LocatorSearchSource.html#defaultZoomScale) + * + * @default null + */ + defaultZoomScale: number; /** * Define the type of location, either `"street"` or `"rooftop"`, of the point returned from the [World Geocoding Service](https://developers.arcgis.com/rest/geocode/api-reference/geocoding-category-filtering.htm). **Possible Values:** rooftop | street | null * @@ -69359,6 +73602,14 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search-LocatorSearchSource.html#countryCode) */ countryCode?: string; + /** + * Sets the scale of the [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#scale) or [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#scale) for the resulting search result. This is useful if the locator service doesn’t return an extent with a scale. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search-LocatorSearchSource.html#defaultZoomScale) + * + * @default null + */ + defaultZoomScale?: number; /** * Define the type of location, either `"street"` or `"rooftop"`, of the point returned from the [World Geocoding Service](https://developers.arcgis.com/rest/geocode/api-reference/geocoding-category-filtering.htm). **Possible Values:** rooftop | street | null * @@ -69408,15 +73659,6 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search-SearchResultRenderer.html#viewModel) */ viewModel: SearchViewModel; - - /** - * *This method is primarily used by developers when implementing custom widgets.* It must be implemented by subclasses for rendering. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search-SearchResultRenderer.html#render) - * - * - */ - render(): any; } interface SearchResultRendererConstructor { @@ -69457,6 +73699,22 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search-SearchSource.html#filter) */ filter: SearchSourceFilter; + /** + * Function used to get search results. See [GetResultsHandler](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search-SearchSource.html#GetResultsHandler) for the function definition. When resolved, returns an object containing an array of [search results](esri-widgets-Search.html#SearchResult). + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search-SearchSource.html#getResults) + * + * @default null + */ + getResults: GetResultsHandler; + /** + * Function used to get search suggestions. See [GetSuggestionsParameters](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search-SearchSource.html#GetSuggestionsParameters) for the function definition. When resolved, returns an object containing an array of [suggest results](esri-widgets-Search.html#SuggestResult). + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search-SearchSource.html#getSuggestions) + * + * @default null + */ + getSuggestions: GetSuggestionsParameters; /** * Indicates the maximum number of search results to return. * @@ -69552,25 +73810,6 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search-SearchSource.html#zoomScale) */ zoomScale: number; - - /** - * Method to provide parameters for a given search source. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search-SearchSource.html#getResults) - * - * @param resultsParams An object that is passed as a parameter to get search results. - * - */ - getResults(resultsParams: GetResultsParameters): IPromise; - /** - * Method to provide parameters for search suggestions. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search-SearchSource.html#getSuggestions) - * - * @param suggestionsParams An object that is passed as a parameter for search suggestions. - * - */ - getSuggestions(suggestionsParams: GetSuggestionsParameters): IPromise; } interface SearchSourceConstructor { @@ -69596,6 +73835,22 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search-SearchSource.html#filter) */ filter?: SearchSourceFilter; + /** + * Function used to get search results. See [GetResultsHandler](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search-SearchSource.html#GetResultsHandler) for the function definition. When resolved, returns an object containing an array of [search results](esri-widgets-Search.html#SearchResult). + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search-SearchSource.html#getResults) + * + * @default null + */ + getResults?: GetResultsHandler; + /** + * Function used to get search suggestions. See [GetSuggestionsParameters](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search-SearchSource.html#GetSuggestionsParameters) for the function definition. When resolved, returns an object containing an array of [suggest results](esri-widgets-Search.html#SuggestResult). + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search-SearchSource.html#getSuggestions) + * + * @default null + */ + getSuggestions?: GetSuggestionsParameters; /** * Indicates the maximum number of search results to return. * @@ -69693,93 +73948,9 @@ declare namespace __esri { zoomScale?: number; } - /** - * Specifies the object that is passed as a parameter to [getResults()](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search-SearchSource.html#getResults). - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search-SearchSource.html#GetResultsParameters) - */ - export interface GetResultsParameters extends Object { - /** - * The key field used to find the result. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search-SearchSource.html#GetResultsParameters) - */ - exactMatch?: boolean; - /** - * The location value used by the Search. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search-SearchSource.html#GetResultsParameters) - */ - location?: Point; - /** - * Indicates the maximum number of search results to return. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search-SearchSource.html#GetResultsParameters) - */ - maxResults?: number; - /** - * Indicates the index of the search source. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search-SearchSource.html#GetResultsParameters) - */ - sourceIndex?: number; - /** - * Indicates the Spatial Refeference defined by the source. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search-SearchSource.html#GetResultsParameters) - */ - spatialReference?: SpatialReference; - /** - * Indicates the Suggest Result that triggered the search for a result. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search-SearchSource.html#GetResultsParameters) - */ - suggestResult?: SuggestResult; - /** - * Indicates the view provided to the Search Widget using the source. - * - * [Read more...](global.html) - */ - view?: MapView | SceneView; - } + export type GetResultsHandler = (params: any) => IPromise; - /** - * Specifies the object that is passed as a parameter to [getSuggestions()](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search-SearchSource.html#getSuggestions). - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search-SearchSource.html#GetSuggestionsParameters) - */ - export interface GetSuggestionsParameters extends Object { - /** - * Indicates the maximum number of suggestions to return for the widget's input. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search-SearchSource.html#GetSuggestionsParameters) - */ - maxSuggestions?: number; - /** - * Indicates the index of the search source. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search-SearchSource.html#GetSuggestionsParameters) - */ - sourceIndex?: number; - /** - * Indicates the Spatial Refeference defined by the source. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search-SearchSource.html#GetSuggestionsParameters) - */ - spatialReference?: SpatialReference; - /** - * Indicates search term used to find a suggestion. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search-SearchSource.html#GetSuggestionsParameters) - */ - suggestTerm?: string; - /** - * Indicates the view provided to the Search Widget using the source. - * - * [Read more...](global.html) - */ - view?: MapView | SceneView; - } + export type GetSuggestionsParameters = (params: any) => IPromise; export interface SearchSourceFilter extends Object { /** @@ -69989,13 +74160,13 @@ declare namespace __esri { */ sources: Collection; /** - * The current state of the widget. This property was removed from [Search](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search.html) and should now be accessed within the [SearchViewModel](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search-SearchViewModel.html). **Possible Values:** ready | disabled | searching | loading + * The current state of the widget. This property was removed from [Search](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search.html) and should now be accessed within the [SearchViewModel](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search-SearchViewModel.html). * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search-SearchViewModel.html#state) * * @default ready */ - readonly state: string; + readonly state: "ready" | "disabled" | "searching" | "loading"; /** * The millisecond delay after keyup and before making a [suggest](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search-SearchViewModel.html#suggest) network request. * @@ -70479,6 +74650,24 @@ declare namespace __esri { source: any; } + export interface SearchSearchBlurEvent {} + + export interface SearchSearchClearEvent {} + + export interface SearchSearchCompleteEvent { + activeSourceIndex: number; + + errors: Error[]; + + numResults: number; + + results: SearchSearchCompleteEventResults[]; + + searchTerm: string; + } + + export interface SearchSearchFocusEvent {} + /** * When resolved, returns this response after calling [search](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search.html#search). * @@ -70543,6 +74732,28 @@ declare namespace __esri { name: string; } + export interface SearchSearchStartEvent {} + + export interface SearchSelectResultEvent { + result: SearchSelectResultEventResult; + + source: any; + + sourceIndex: number; + } + + export interface SearchSuggestCompleteEvent { + activeSourceIndex: number; + + errors: Error[]; + + numResults: number; + + results: SearchSuggestCompleteEventResults[]; + + searchTerm: string; + } + /** * When resolved, returns this response after calling [suggest](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search.html#suggest). * @@ -70607,6 +74818,16 @@ declare namespace __esri { sourceIndex: number; } + export interface SearchSuggestStartEvent {} + + export interface SearchSearchCompleteEventResults extends Object { + results: SearchResult[]; + + sourceIndex: number; + + source: any; + } + export interface SearchResponseResults extends Object { /** * An array of search results. @@ -70628,6 +74849,22 @@ declare namespace __esri { source: any; } + export interface SearchSelectResultEventResult extends Object { + extent: Extent; + + feature: Graphic; + + name: string; + } + + export interface SearchSuggestCompleteEventResults extends Object { + results: SuggestResult[]; + + sourceIndex: number; + + source: any; + } + export interface SuggestResponseResults extends Object { /** * An array of suggest results. @@ -70651,11 +74888,11 @@ declare namespace __esri { interface Sketch extends Widget { /** - * When creating new graphics (for example after [create()](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Sketch.html#create) has been called), this property reflects the create tool being used. When updating graphics (for example after [update()](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Sketch.html#update) has been called), this property reflects the update tool being used. If no create or update operation is in progress, this is `null`. **Possible Values:** point | polyline | polygon | circle | rectangle | move | transform | reshape + * When creating new graphics (for example after [create()](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Sketch.html#create) has been called), this property reflects the create tool being used. When updating graphics (for example after [update()](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Sketch.html#update) has been called), this property reflects the update tool being used. If no create or update operation is in progress, this is `null`. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Sketch.html#activeTool) */ - readonly activeTool: string; + readonly activeTool: "point" | "polyline" | "polygon" | "circle" | "rectangle" | "move" | "transform" | "reshape"; /** * Property controlling the visibility and order of create tool buttons. * @@ -70675,7 +74912,7 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Sketch.html#defaultUpdateOptions) */ - readonly defaultUpdateOptions: SketchDefaultUpdateOptions; + defaultUpdateOptions: SketchDefaultUpdateOptions; /** * The Sketch widget's default CSS icon class. * @@ -70689,19 +74926,19 @@ declare namespace __esri { */ layer: GraphicsLayer; /** - * Determines the layout/orientation of the Sketch widget. **Possible Values:** vertical | horizontal + * Determines the layout/orientation of the Sketch widget. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Sketch.html#layout) * * @default horizontal */ - layout: string; + layout: "vertical" | "horizontal"; /** - * The Sketch widget's state. **Possible Values:** ready | disabled | active + * The Sketch widget's state. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Sketch.html#state) */ - readonly state: string; + readonly state: "ready" | "disabled" | "active"; /** * An array of [graphics](https://developers.arcgis.com/javascript/latest/api-reference/esri-Graphic.html) that are being updated by the Sketch widget. * @@ -70763,22 +75000,6 @@ declare namespace __esri { * */ redo(): void; - /** - * *This method is primarily used by developers when implementing custom widgets.* It must be implemented by subclasses for rendering. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Sketch.html#render) - * - * - */ - render(): any; - /** - * Resets the Sketch widget to prepare for another create operation. Reset discards the current sketch, if called in middle of create operation. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Sketch.html#reset) - * - * - */ - reset(): void; /** * Incrementally undo actions recorded in the stack. Calling this method will fire the [undo](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Sketch.html#event-undo) event. * @@ -70809,6 +75030,16 @@ declare namespace __esri { * */ update(graphics: Graphic | Graphic[], updateOptions?: SketchUpdateUpdateOptions): IPromise; + + on(name: "delete", eventHandler: SketchDeleteEventHandler): IHandle; + + on(name: "create", eventHandler: SketchCreateEventHandler): IHandle; + + on(name: "update", eventHandler: SketchUpdateEventHandler): IHandle; + + on(name: "redo", eventHandler: SketchRedoEventHandler): IHandle; + + on(name: "undo", eventHandler: SketchUndoEventHandler): IHandle; } interface SketchConstructor { @@ -70832,6 +75063,12 @@ declare namespace __esri { * @default ["point", "polyline", "polygon", "rectangle", "circle"] */ availableCreateTools?: string[]; + /** + * Default update options set for the Sketch widget. Update options set on this property will be overwritten if the update options are changed when [update()](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Sketch.html#update) method is called. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Sketch.html#defaultUpdateOptions) + */ + defaultUpdateOptions?: SketchDefaultUpdateOptions; /** * The Sketch widget's default CSS icon class. * @@ -70845,13 +75082,13 @@ declare namespace __esri { */ layer?: GraphicsLayerProperties; /** - * Determines the layout/orientation of the Sketch widget. **Possible Values:** vertical | horizontal + * Determines the layout/orientation of the Sketch widget. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Sketch.html#layout) * * @default horizontal */ - layout?: string; + layout?: "vertical" | "horizontal"; /** * A reference to the [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) or [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). Set this to link the Sketch widget to a specific view. * @@ -70868,11 +75105,20 @@ declare namespace __esri { interface SketchViewModel extends Accessor, Evented { /** - * When creating new graphics (for example after [create()](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Sketch-SketchViewModel.html#create) has been called), this property reflects the create tool being used. When updating graphics (for example after [update()](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Sketch-SketchViewModel.html#update) has been called), this property reflects the update tool being used. If no create or update operation is in progress, this is `null`. **Possible Values:** point | multipoint | polyline | polygon | circle | rectangle | move | transform | reshape + * When creating new graphics (for example after [create()](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Sketch-SketchViewModel.html#create) has been called), this property reflects the create tool being used. When updating graphics (for example after [update()](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Sketch-SketchViewModel.html#update) has been called), this property reflects the update tool being used. If no create or update operation is in progress, this is `null`. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Sketch-SketchViewModel.html#activeTool) */ - readonly activeTool: string; + readonly activeTool: + | "point" + | "multipoint" + | "polyline" + | "polygon" + | "circle" + | "rectangle" + | "move" + | "transform" + | "reshape"; /** * The graphic that is being created. * @@ -70892,7 +75138,7 @@ declare namespace __esri { */ layer: GraphicsLayer; /** - * A simple marker symbol used for representing the point geometry that is being drawn. The default value is the following: + * A [SimpleMarkerSymbol](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-SimpleMarkerSymbol.html) or [PointSymbol3D](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-PointSymbol3D.html) used for representing the point geometry that is being drawn. [SimpleMarkerSymbol](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-SimpleMarkerSymbol.html) may also be used to symbolize point features in a [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). However, it is recommended you use [PointSymbol3D](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-PointSymbol3D.html) instead. The default value is the following: * ```js * { * type: "simple-marker", @@ -70910,7 +75156,7 @@ declare namespace __esri { */ pointSymbol: SimpleMarkerSymbol | PointSymbol3D; /** - * A simple fill symbol used for representing the polygon geometry that is being drawn. The default value is the following: + * A [SimpleFillSymbol](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-SimpleFillSymbol.html) or [PolygonSymbol3D](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-PolygonSymbol3D.html) used for representing the polygon geometry that is being drawn. [SimpleFillSymbol](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-SimpleFillSymbol.html) may also be used to symbolize point features in a [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). However, it is recommended you use [PolygonSymbol3D](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-PolygonSymbol3D.html) instead. The default value is the following: * ```js * { * type: "simple-fill", @@ -70926,7 +75172,7 @@ declare namespace __esri { */ polygonSymbol: SimpleFillSymbol | PolygonSymbol3D; /** - * A simple line symbol used for representing the polyline geometry that is being drawn. The default value is the following: + * A [SimpleLineSymbol](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-SimpleLineSymbol.html) or [LineSymbol3D](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-LineSymbol3D.html) used for representing the polyline geometry that is being drawn. [SimpleLineSymbol](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-SimpleLineSymbol.html) may also be used to symbolize polyline features in a [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). However, it is recommended you use [LineSymbol3D](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-LineSymbol3D.html) instead. The default value is the following: * ```js * { * type: "simple-line", @@ -70939,11 +75185,11 @@ declare namespace __esri { */ polylineSymbol: SimpleLineSymbol | LineSymbol3D; /** - * The sketch view model's state. **Possible Values:** ready | disabled | active + * The sketch view model's state. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Sketch-SketchViewModel.html#state) */ - readonly state: string; + readonly state: "ready" | "disabled" | "active"; /** * An array of graphics that are being updated by the SketchViewModel. * @@ -70997,6 +75243,14 @@ declare namespace __esri { * */ create(tool: string, createOptions?: SketchViewModelCreateCreateOptions): void; + /** + * Destroys the view model instance. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Sketch-SketchViewModel.html#destroy) + * + * + */ + destroy(): void; /** * Incrementally redo actions recorded in the stack. Calling this method will fire the [redo](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Sketch-SketchViewModel.html#event-redo) event. * @@ -71005,14 +75259,6 @@ declare namespace __esri { * */ redo(): void; - /** - * Resets SketchViewModel to prepare for another create operation. Reset discards the current sketch, if called in middle of create operation. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Sketch-SketchViewModel.html#reset) - * - * - */ - reset(): void; /** * Incrementally undo actions recorded in the stack. Calling this method will fire the [undo](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Sketch-SketchViewModel.html#event-undo) event. * @@ -71043,6 +75289,14 @@ declare namespace __esri { * */ update(graphics: Graphic | Graphic[], updateOptions?: SketchViewModelUpdateUpdateOptions): IPromise; + + on(name: "create", eventHandler: SketchViewModelCreateEventHandler): IHandle; + + on(name: "update", eventHandler: SketchViewModelUpdateEventHandler): IHandle; + + on(name: "redo", eventHandler: SketchViewModelRedoEventHandler): IHandle; + + on(name: "undo", eventHandler: SketchViewModelUndoEventHandler): IHandle; } interface SketchViewModelConstructor { @@ -71071,7 +75325,7 @@ declare namespace __esri { */ layer?: GraphicsLayerProperties; /** - * A simple marker symbol used for representing the point geometry that is being drawn. The default value is the following: + * A [SimpleMarkerSymbol](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-SimpleMarkerSymbol.html) or [PointSymbol3D](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-PointSymbol3D.html) used for representing the point geometry that is being drawn. [SimpleMarkerSymbol](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-SimpleMarkerSymbol.html) may also be used to symbolize point features in a [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). However, it is recommended you use [PointSymbol3D](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-PointSymbol3D.html) instead. The default value is the following: * ```js * { * type: "simple-marker", @@ -71089,7 +75343,7 @@ declare namespace __esri { */ pointSymbol?: SimpleMarkerSymbolProperties | PointSymbol3DProperties; /** - * A simple fill symbol used for representing the polygon geometry that is being drawn. The default value is the following: + * A [SimpleFillSymbol](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-SimpleFillSymbol.html) or [PolygonSymbol3D](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-PolygonSymbol3D.html) used for representing the polygon geometry that is being drawn. [SimpleFillSymbol](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-SimpleFillSymbol.html) may also be used to symbolize point features in a [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). However, it is recommended you use [PolygonSymbol3D](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-PolygonSymbol3D.html) instead. The default value is the following: * ```js * { * type: "simple-fill", @@ -71105,7 +75359,7 @@ declare namespace __esri { */ polygonSymbol?: SimpleFillSymbolProperties | PolygonSymbol3DProperties; /** - * A simple line symbol used for representing the polyline geometry that is being drawn. The default value is the following: + * A [SimpleLineSymbol](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-SimpleLineSymbol.html) or [LineSymbol3D](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-LineSymbol3D.html) used for representing the polyline geometry that is being drawn. [SimpleLineSymbol](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-SimpleLineSymbol.html) may also be used to symbolize polyline features in a [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). However, it is recommended you use [LineSymbol3D](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-LineSymbol3D.html) instead. The default value is the following: * ```js * { * type: "simple-line", @@ -71131,6 +75385,26 @@ declare namespace __esri { view?: MapViewProperties | SceneViewProperties; } + export interface SketchViewModelCreateEvent { + graphic: Graphic; + + state: string; + + tool: string; + + toolEventInfo: CreateToolEventInfo; + + type: string; + } + + export interface SketchViewModelRedoEvent { + graphics: Graphic[]; + + tool: string; + + type: string; + } + export interface SketchViewModelCreateCreateOptions extends Object { /** * Specifies how the graphic can be created. The create mode applies only when creating `polygon`, `polyline`, `rectangle` and `circle` geometries. **Possible Values:** @@ -71244,6 +75518,38 @@ declare namespace __esri { toggleToolOnClick?: boolean; } + export interface SketchViewModelUndoEvent { + graphics: Graphic[]; + + tool: string; + + type: string; + } + + export interface SketchViewModelUpdateEvent { + graphics: Graphic[]; + + state: string; + + tool: string; + + toolEventInfo: UpdateToolEventInfo; + + type: string; + } + + export interface SketchCreateEvent { + graphic: Graphic; + + state: string; + + tool: string; + + toolEventInfo: CreateToolEventInfo; + + type: string; + } + /** * This information is returned as `toolEventInfo` parameter for the [create](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Sketch.html#event-create) event when the graphic is being created. It returns [VertexAddEventInfo](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Sketch.html#VertexAddEventInfo) when the user clicks the view or [CursorUpdateEventInfo](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Sketch.html#CursorUpdateEventInfo) or when the user moves the cursor. * @@ -71271,6 +75577,14 @@ declare namespace __esri { coordinates: number[]; } + export interface SketchDeleteEvent { + graphics: Graphic[]; + + tool: string; + + type: string; + } + /** * This information is returned as `toolEventInfo` parameter for the [update](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Sketch.html#event-update) event while the user is moving the graphics. It returns additional information associated with the move operation and what stage it is at. * @@ -71310,6 +75624,14 @@ declare namespace __esri { mover: Graphic; } + export interface SketchRedoEvent { + graphics: Graphic[]; + + tool: string; + + type: string; + } + /** * This information is returned as `toolEventInfo` parameter for the [update](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Sketch.html#event-update) event while the user is reshaping the graphics. It returns additional information associated with the reshape operation and what stage it is at. * @@ -71504,6 +75826,26 @@ declare namespace __esri { toggleToolOnClick?: boolean; } + export interface SketchUndoEvent { + graphics: Graphic[]; + + tool: string; + + type: string; + } + + export interface SketchUpdateEvent { + graphics: Graphic[]; + + state: string; + + tool: string; + + toolEventInfo: UpdateToolEventInfo; + + type: string; + } + /** * This information is returned as `toolEventInfo` parameter for the [update](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Sketch.html#event-update) event when the user is updating graphics. * @@ -71570,15 +75912,6 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slice.html#viewModel) */ viewModel: SliceViewModel; - - /** - * *This method is primarily used by developers when implementing custom widgets.* It must be implemented by subclasses for rendering. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slice.html#render) - * - * - */ - render(): any; } interface SliceConstructor { @@ -71636,7 +75969,7 @@ declare namespace __esri { * * @default disabled */ - readonly state: string; + readonly state: "disabled" | "ready" | "slicing" | "sliced"; /** * Clears the current slice. @@ -71678,6 +76011,14 @@ declare namespace __esri { } interface Slider extends Widget { + /** + * When `true`, sets the slider to a disabled state so the user cannot interact with it. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#disabled) + * + * @default false + */ + disabled: boolean; /** * Indicates if the user can drag the segment between thumbs to update thumb positions. * @@ -71686,6 +76027,18 @@ declare namespace __esri { * @default true */ draggableSegmentsEnabled: boolean; + /** + * A function used to format user inputs. As opposed to [labelFormatFunction](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#labelFormatFunction), which formats thumb labels, the `inputFormatFunction` formats thumb values in the input element when the user begins to edit them. The image below demonstrates how slider input values resemble corresponding slider values by default and won't match the formatting set in `labelFormatFunction`. ![Slider without input formatter](https://developers.arcgis.com/javascript/assets/img/apiref/widgets/sliders/slider-no-input-formatter.png%20%22Slider%20without%20input%20formatter%22) If you want to format slider input values so they match thumb labels, you can pass the same function set in `labelFormatFunction` to `inputFormatFunction` for consistent formatting. ![Slider with input formatter](https://developers.arcgis.com/javascript/assets/img/apiref/widgets/sliders/slider-input-formatter.png%20%22Slider%20with%20input%20formatter%22) However, if an `inputFormatFunction` is specified, you must also write a corresponding [inputParseFunction](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#inputParseFunction) to parse user inputs to understandable slider values. In most cases, if you specify an `inputFormatFunction`, you should set the [labelFormatFunction](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#labelFormatFunction) to the same value for consistency between labels and inputs. This property overrides the default input formatter, which formats by calling `toString()` on the input value. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#inputFormatFunction) + */ + inputFormatFunction: SliderLabelFormatter; + /** + * Function used to parse slider inputs formatted by the [inputFormatFunction](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#inputFormatFunction). This property must be set if an `inputFormatFunction` is set. Otherwise the slider values will likely not update to their expected positions. Overrides the default input parses, which is a parsed floating point number. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#inputParseFunction) + */ + inputParseFunction: InputParser; /** * A function used to format labels. Overrides the default label formatter. By default labels are formatted in the following way: * * When the data range is less than `10` (`(max - min) < 10`), labels are rounded based on the value set in the [precision](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#precision) property. @@ -71720,13 +76073,13 @@ declare namespace __esri { */ labelsVisible: boolean; /** - * Determines the layout/orientation of the Slider widget. **Possible Values:** vertical | horizontal + * Determines the layout/orientation of the Slider widget. By default, the slider will render horizontally with the min value on the left side of the track. The possible values are described below. **`horizontal`** ![Slider horizontal not reversed](https://developers.arcgis.com/javascript/assets/img/apiref/widgets/sliders/slider-horizontal-not-reversed.png%20%22default%20horizontal%20slider%22) **`horizontal-reversed`** When the slider is set to `horizontal-reversed`, the max value will render on the left side and the min on the right. ![Slider horizontal reversed](https://developers.arcgis.com/javascript/assets/img/apiref/widgets/sliders/slider-horizontal-reversed.png%20%22reversed%20horizontal%20slider%22) **`vertical`** When the slider is set to `vertical`, the max value will render on the top of the track and the min on the bottom. ![Slider vertical not reversed](https://developers.arcgis.com/javascript/assets/img/apiref/widgets/sliders/slider-vertical-not-reversed.png%20%22default%20vertical%20slider%22) **`vertical-reversed`** When the slider is set to `vertical-reversed`, the max value will render on the bottom of the track and the min on the top. ![Slider vertical reversed](https://developers.arcgis.com/javascript/assets/img/apiref/widgets/sliders/slider-vertical-reversed.png%20%22reversed%20vertical%20slider%22) * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#layout) * * @default horizontal */ - layout: string; + layout: "horizontal" | "horizontal-reversed" | "vertical" | "vertical-reversed"; /** * The maximum possible data/thumb value of the slider. In the constructor, if one of the values specified in [values](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#values) is greater than the `max` value specified in this property, then the `max` will update to the highest value in `values`. To display the max value's label on the slider, then set [rangeLabelsVisible](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#rangeLabelsVisible) to `true`. To allow the end user to modify the max value, set [rangeLabelInputsEnabled](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#rangeLabelInputsEnabled) to `true`. * @@ -71793,11 +76146,11 @@ declare namespace __esri { */ snapOnClickEnabled: boolean; /** - * The current state of the widget. **Possible Values:** ready | disabled | editing | dragging + * The current state of the widget. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#state) */ - readonly state: string; + readonly state: "ready" | "disabled" | "editing" | "dragging"; /** * Sets steps, or intervals, on the slider that restrict user input to specific values. If an array of numbers is passed to this property, the slider thumbs may only be moved to the positions specified in the array. If a single number is set, then steps are set along the entire slider range at an interval of the provided value. In this scenario, the user may only slide the thumbs to values at the provided interval. For example, if a value of `0.5` is set here, and the slider [min](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#min) is `0` and the slider [max](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#max) is `10`, then the user will only be able to update the thumbs to values of 0, 0.5, 1.0, 1.5, 2.0, etc. * @@ -71810,6 +76163,14 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#thumbCreatedFunction) */ thumbCreatedFunction: ThumbCreatedFunction; + /** + * When `false`, the user can freely move any slider thumb to any position along the track. By default, a thumb's position is constrained to the positions of neighboring thumbs so you cannot move one thumb past another. Set this property to `false` to disable this constraining behavior. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#thumbsConstrained) + * + * @default true + */ + thumbsConstrained: boolean; /** * When set, renders ticks along the slider track. See the [TickConfig](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#TickConfig) documentation for more information on how to configure tick placement, style, and behavior. * @@ -71835,14 +76196,19 @@ declare namespace __esri { */ viewModel: SliderViewModel; - /** - * *This method is primarily used by developers when implementing custom widgets.* It must be implemented by subclasses for rendering. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#render) - * - * - */ - render(): any; + on(name: "max-change", eventHandler: SliderMaxChangeEventHandler): IHandle; + + on(name: "min-change", eventHandler: SliderMinChangeEventHandler): IHandle; + + on(name: "segment-drag", eventHandler: SliderSegmentDragEventHandler): IHandle; + + on(name: "thumb-change", eventHandler: SliderThumbChangeEventHandler): IHandle; + + on(name: "thumb-drag", eventHandler: SliderThumbDragEventHandler): IHandle; + + on(name: "value-change", eventHandler: SliderValueChangeEventHandler): IHandle; + + on(name: "values-change", eventHandler: SliderValuesChangeEventHandler): IHandle; } interface SliderConstructor { @@ -71858,6 +76224,14 @@ declare namespace __esri { export const Slider: SliderConstructor; interface SliderProperties extends WidgetProperties { + /** + * When `true`, sets the slider to a disabled state so the user cannot interact with it. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#disabled) + * + * @default false + */ + disabled?: boolean; /** * Indicates if the user can drag the segment between thumbs to update thumb positions. * @@ -71866,6 +76240,18 @@ declare namespace __esri { * @default true */ draggableSegmentsEnabled?: boolean; + /** + * A function used to format user inputs. As opposed to [labelFormatFunction](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#labelFormatFunction), which formats thumb labels, the `inputFormatFunction` formats thumb values in the input element when the user begins to edit them. The image below demonstrates how slider input values resemble corresponding slider values by default and won't match the formatting set in `labelFormatFunction`. ![Slider without input formatter](https://developers.arcgis.com/javascript/assets/img/apiref/widgets/sliders/slider-no-input-formatter.png%20%22Slider%20without%20input%20formatter%22) If you want to format slider input values so they match thumb labels, you can pass the same function set in `labelFormatFunction` to `inputFormatFunction` for consistent formatting. ![Slider with input formatter](https://developers.arcgis.com/javascript/assets/img/apiref/widgets/sliders/slider-input-formatter.png%20%22Slider%20with%20input%20formatter%22) However, if an `inputFormatFunction` is specified, you must also write a corresponding [inputParseFunction](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#inputParseFunction) to parse user inputs to understandable slider values. In most cases, if you specify an `inputFormatFunction`, you should set the [labelFormatFunction](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#labelFormatFunction) to the same value for consistency between labels and inputs. This property overrides the default input formatter, which formats by calling `toString()` on the input value. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#inputFormatFunction) + */ + inputFormatFunction?: SliderLabelFormatter; + /** + * Function used to parse slider inputs formatted by the [inputFormatFunction](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#inputFormatFunction). This property must be set if an `inputFormatFunction` is set. Otherwise the slider values will likely not update to their expected positions. Overrides the default input parses, which is a parsed floating point number. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#inputParseFunction) + */ + inputParseFunction?: InputParser; /** * A function used to format labels. Overrides the default label formatter. By default labels are formatted in the following way: * * When the data range is less than `10` (`(max - min) < 10`), labels are rounded based on the value set in the [precision](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#precision) property. @@ -71894,13 +76280,13 @@ declare namespace __esri { */ labelsVisible?: boolean; /** - * Determines the layout/orientation of the Slider widget. **Possible Values:** vertical | horizontal + * Determines the layout/orientation of the Slider widget. By default, the slider will render horizontally with the min value on the left side of the track. The possible values are described below. **`horizontal`** ![Slider horizontal not reversed](https://developers.arcgis.com/javascript/assets/img/apiref/widgets/sliders/slider-horizontal-not-reversed.png%20%22default%20horizontal%20slider%22) **`horizontal-reversed`** When the slider is set to `horizontal-reversed`, the max value will render on the left side and the min on the right. ![Slider horizontal reversed](https://developers.arcgis.com/javascript/assets/img/apiref/widgets/sliders/slider-horizontal-reversed.png%20%22reversed%20horizontal%20slider%22) **`vertical`** When the slider is set to `vertical`, the max value will render on the top of the track and the min on the bottom. ![Slider vertical not reversed](https://developers.arcgis.com/javascript/assets/img/apiref/widgets/sliders/slider-vertical-not-reversed.png%20%22default%20vertical%20slider%22) **`vertical-reversed`** When the slider is set to `vertical-reversed`, the max value will render on the bottom of the track and the min on the top. ![Slider vertical reversed](https://developers.arcgis.com/javascript/assets/img/apiref/widgets/sliders/slider-vertical-reversed.png%20%22reversed%20vertical%20slider%22) * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#layout) * * @default horizontal */ - layout?: string; + layout?: "horizontal" | "horizontal-reversed" | "vertical" | "vertical-reversed"; /** * The maximum possible data/thumb value of the slider. In the constructor, if one of the values specified in [values](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#values) is greater than the `max` value specified in this property, then the `max` will update to the highest value in `values`. To display the max value's label on the slider, then set [rangeLabelsVisible](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#rangeLabelsVisible) to `true`. To allow the end user to modify the max value, set [rangeLabelInputsEnabled](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#rangeLabelInputsEnabled) to `true`. * @@ -71978,6 +76364,14 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#thumbCreatedFunction) */ thumbCreatedFunction?: ThumbCreatedFunction; + /** + * When `false`, the user can freely move any slider thumb to any position along the track. By default, a thumb's position is constrained to the positions of neighboring thumbs so you cannot move one thumb past another. Set this property to `false` to disable this constraining behavior. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#thumbsConstrained) + * + * @default true + */ + thumbsConstrained?: boolean; /** * When set, renders ticks along the slider track. See the [TickConfig](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#TickConfig) documentation for more information on how to configure tick placement, style, and behavior. * @@ -72005,6 +76399,18 @@ declare namespace __esri { } interface SliderViewModel extends Accessor, Evented { + /** + * A function used to format user inputs. As opposed to [labelFormatFunction](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider-SliderViewModel.html#labelFormatFunction), which formats thumb labels, the `inputFormatFunction` formats thumb values in the input element when the user begins to edit them. The image below demonstrates how slider input values resemble corresponding slider values by default and won't match the formatting set in `labelFormatFunction`. ![Slider without input formatter](https://developers.arcgis.com/javascript/assets/img/apiref/widgets/sliders/slider-no-input-formatter.png%20%22Slider%20without%20input%20formatter%22) If you want to format slider input values so they match thumb labels, you can pass the same function set in `labelFormatFunction` to `inputFormatFunction` for consistent formatting. ![Slider with input formatter](https://developers.arcgis.com/javascript/assets/img/apiref/widgets/sliders/slider-input-formatter.png%20%22Slider%20with%20input%20formatter%22) However, if an `inputFormatFunction` is specified, you must also write a corresponding [inputParseFunction](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider-SliderViewModel.html#inputParseFunction) to parse user inputs to understandable slider values. In most cases, if you specify an `inputFormatFunction`, you should set the [labelFormatFunction](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider-SliderViewModel.html#labelFormatFunction) to the same value for consistency between labels and inputs. This property overrides the default input formatter, which formats by calling `toString()` on the input value. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider-SliderViewModel.html#inputFormatFunction) + */ + inputFormatFunction: SliderLabelFormatter; + /** + * Function used to parse slider inputs formatted by the [inputFormatFunction](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider-SliderViewModel.html#inputFormatFunction). This property must be set if an `inputFormatFunction` is set. Otherwise the slider values will likely not update to their expected positions. Overrides the default input parses, which is a parsed floating point number. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider-SliderViewModel.html#inputParseFunction) + */ + inputParseFunction: InputParser; /** * A function used to format labels. Overrides the default label formatter. By default labels are formatted in the following way: * * When the data range is less than `10` (`(max - min) < 10`), labels are rounded based on the value set in the [precision](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider-SliderViewModel.html#precision) property. @@ -72063,11 +76469,19 @@ declare namespace __esri { */ precision: number; /** - * The state of the view model. **Possible Values:** ready | disabled + * The state of the view model. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider-SliderViewModel.html#state) */ - readonly state: string; + readonly state: "ready" | "disabled"; + /** + * When `false`, the user can freely move any slider thumb to any position along the track. By default, a thumb's position is constrained to the positions of neighboring thumbs so you cannot move one thumb past another. Set this property to `false` to disable this constraining behavior. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider-SliderViewModel.html#thumbsConstrained) + * + * @default true + */ + thumbsConstrained: boolean; /** * An array of numbers representing absolute thumb positions on the slider. * @@ -72075,6 +76489,24 @@ declare namespace __esri { */ values: number[]; + /** + * The default input format function available for use as a fallback in custom formatting implementations. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider-SliderViewModel.html#defaultInputFormatFunction) + * + * @param value The input value to format. + * + */ + defaultInputFormatFunction(value: number): string; + /** + * The default input parsing function available for use as a fallback in custom parsing implementations. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider-SliderViewModel.html#defaultInputParseFunction) + * + * @param value The thumb value to parse. + * + */ + defaultInputParseFunction(value: string): number; /** * The default label format function, available for use as a fallback in custom formatting implementations. * @@ -72084,6 +76516,15 @@ declare namespace __esri { * */ defaultLabelFormatFunction(value: number): string; + /** + * Returns the min and max bounds for a 'value' at the provided index. Also used internally to provide accessibility information via HTMLElement properties + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider-SliderViewModel.html#getBoundsForValueAtIndex) + * + * @param index The index of the associated value. + * + */ + getBoundsForValueAtIndex(index: number): any; /** * Returns the formatted label for a provided value. * @@ -72105,6 +76546,10 @@ declare namespace __esri { * */ setValue(index: number, value: number): void; + + on(name: "max-change", eventHandler: SliderViewModelMaxChangeEventHandler): IHandle; + + on(name: "min-change", eventHandler: SliderViewModelMinChangeEventHandler): IHandle; } interface SliderViewModelConstructor { @@ -72114,6 +76559,18 @@ declare namespace __esri { export const SliderViewModel: SliderViewModelConstructor; interface SliderViewModelProperties { + /** + * A function used to format user inputs. As opposed to [labelFormatFunction](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider-SliderViewModel.html#labelFormatFunction), which formats thumb labels, the `inputFormatFunction` formats thumb values in the input element when the user begins to edit them. The image below demonstrates how slider input values resemble corresponding slider values by default and won't match the formatting set in `labelFormatFunction`. ![Slider without input formatter](https://developers.arcgis.com/javascript/assets/img/apiref/widgets/sliders/slider-no-input-formatter.png%20%22Slider%20without%20input%20formatter%22) If you want to format slider input values so they match thumb labels, you can pass the same function set in `labelFormatFunction` to `inputFormatFunction` for consistent formatting. ![Slider with input formatter](https://developers.arcgis.com/javascript/assets/img/apiref/widgets/sliders/slider-input-formatter.png%20%22Slider%20with%20input%20formatter%22) However, if an `inputFormatFunction` is specified, you must also write a corresponding [inputParseFunction](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider-SliderViewModel.html#inputParseFunction) to parse user inputs to understandable slider values. In most cases, if you specify an `inputFormatFunction`, you should set the [labelFormatFunction](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider-SliderViewModel.html#labelFormatFunction) to the same value for consistency between labels and inputs. This property overrides the default input formatter, which formats by calling `toString()` on the input value. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider-SliderViewModel.html#inputFormatFunction) + */ + inputFormatFunction?: SliderLabelFormatter; + /** + * Function used to parse slider inputs formatted by the [inputFormatFunction](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider-SliderViewModel.html#inputFormatFunction). This property must be set if an `inputFormatFunction` is set. Otherwise the slider values will likely not update to their expected positions. Overrides the default input parses, which is a parsed floating point number. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider-SliderViewModel.html#inputParseFunction) + */ + inputParseFunction?: InputParser; /** * A function used to format labels. Overrides the default label formatter. By default labels are formatted in the following way: * * When the data range is less than `10` (`(max - min) < 10`), labels are rounded based on the value set in the [precision](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider-SliderViewModel.html#precision) property. @@ -72165,6 +76622,14 @@ declare namespace __esri { * @default 4 */ precision?: number; + /** + * When `false`, the user can freely move any slider thumb to any position along the track. By default, a thumb's position is constrained to the positions of neighboring thumbs so you cannot move one thumb past another. Set this property to `false` to disable this constraining behavior. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider-SliderViewModel.html#thumbsConstrained) + * + * @default true + */ + thumbsConstrained?: boolean; /** * An array of numbers representing absolute thumb positions on the slider. * @@ -72173,8 +76638,62 @@ declare namespace __esri { values?: number[]; } + export interface SliderViewModelMaxChangeEvent { + oldValue: number; + + type: string; + + value: number; + } + + export interface SliderViewModelMinChangeEvent { + oldValue: number; + + type: string; + + value: number; + } + + export type InputParser = (value: string, type?: string, index?: number) => number; + export type SliderLabelFormatter = (value: number, type?: string, index?: number) => string; + export interface SliderMaxChangeEvent { + oldValue: number; + + type: string; + + value: number; + } + + export interface SliderMinChangeEvent { + oldValue: number; + + type: string; + + value: number; + } + + export interface SliderSegmentDragEvent { + index: number; + + state: "start" | "drag"; + + thumbIndices: number[]; + + type: "segment-drag"; + } + + export interface SliderThumbChangeEvent { + index: number; + + oldValue: number; + + type: string; + + value: number; + } + export type ThumbCreatedFunction = ( index: number, value: number, @@ -72182,6 +76701,16 @@ declare namespace __esri { labelElement?: HTMLElement ) => void; + export interface SliderThumbDragEvent { + index: number; + + state: "drag" | "start" | "stop"; + + type: "thumb-drag"; + + value: number; + } + /** * Object specification for configuring ticks on the slider. An array of these objects should be set on the [tickConfigs](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#tickConfigs) property. * @@ -72200,7 +76729,7 @@ declare namespace __esri { * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#TickConfig) */ - mode: string; + mode: "count" | "percent" | "position"; /** * Indicates where ticks will be rendered below the track. See the description for `mode` for more information about how this property is interpreted by each mode. * @@ -72229,6 +76758,26 @@ declare namespace __esri { export type TickCreatedFunction = (value: number, tickElement: HTMLElement, labelElement?: HTMLElement) => void; + export interface SliderValueChangeEvent { + index: number; + + oldValue: number; + + type: string; + + value: number; + } + + export interface SliderValuesChangeEvent { + indices: number[]; + + oldValues: number[]; + + type: string; + + values: number[]; + } + interface ClassedColorSlider extends SmartMappingSliderBase { /** * An array of class breaks with associated colors. The colors mapped to each break can be used to update the renderer of a layer. A minimum of two breaks must be provided to the slider. @@ -72320,12 +76869,6 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-smartMapping-ClassedColorSlider-ClassedColorSliderViewModel.html#breaks) */ breaks: ClassedColorSliderViewModelBreaks[]; - /** - * A modified version of [SliderViewModel.labelFormatFunction](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider-SliderViewModel.html#labelFormatFunction), which is a custom function used to format labels. Overrides the default label formatter. This function also supports date formatting. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-smartMapping-ClassedColorSlider-ClassedColorSliderViewModel.html#labelFormatFunction) - */ - labelFormatFunction: SmartMappingSliderBaseLabelFormatter; /** * Generates the color ramp rendered on the slider. @@ -72339,8 +76882,6 @@ declare namespace __esri { on(name: "max-change", eventHandler: ClassedColorSliderViewModelMaxChangeEventHandler): IHandle; on(name: "min-change", eventHandler: ClassedColorSliderViewModelMinChangeEventHandler): IHandle; - - on(name: "value-change", eventHandler: ClassedColorSliderViewModelValueChangeEventHandler): IHandle; } interface ClassedColorSliderViewModelConstructor { @@ -72356,12 +76897,6 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-smartMapping-ClassedColorSlider-ClassedColorSliderViewModel.html#breaks) */ breaks?: ClassedColorSliderViewModelBreaks[]; - /** - * A modified version of [SliderViewModel.labelFormatFunction](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider-SliderViewModel.html#labelFormatFunction), which is a custom function used to format labels. Overrides the default label formatter. This function also supports date formatting. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-smartMapping-ClassedColorSlider-ClassedColorSliderViewModel.html#labelFormatFunction) - */ - labelFormatFunction?: SmartMappingSliderBaseLabelFormatter; } export interface ClassedColorSliderViewModelBreaks extends Object { @@ -72421,16 +76956,6 @@ declare namespace __esri { offset: number; } - export interface ClassedColorSliderViewModelValueChangeEvent { - index: number; - - oldValue: number; - - type: string; - - value: number; - } - export interface ClassedColorSliderBreaks extends Object { /** * Features with values within the provided `min` and `max` will be rendered with this color. @@ -72579,18 +77104,10 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-smartMapping-ClassedSizeSlider-ClassedSizeSliderViewModel.html#breaks) */ breaks: ClassedSizeSliderViewModelBreaks[]; - /** - * A modified version of [SliderViewModel.labelFormatFunction](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider-SliderViewModel.html#labelFormatFunction), which is a custom function used to format labels. Overrides the default label formatter. This function also supports date formatting. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-smartMapping-ClassedSizeSlider-ClassedSizeSliderViewModel.html#labelFormatFunction) - */ - labelFormatFunction: SmartMappingSliderBaseLabelFormatter; on(name: "max-change", eventHandler: ClassedSizeSliderViewModelMaxChangeEventHandler): IHandle; on(name: "min-change", eventHandler: ClassedSizeSliderViewModelMinChangeEventHandler): IHandle; - - on(name: "value-change", eventHandler: ClassedSizeSliderViewModelValueChangeEventHandler): IHandle; } interface ClassedSizeSliderViewModelConstructor { @@ -72606,12 +77123,6 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-smartMapping-ClassedSizeSlider-ClassedSizeSliderViewModel.html#breaks) */ breaks?: ClassedSizeSliderViewModelBreaks[]; - /** - * A modified version of [SliderViewModel.labelFormatFunction](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider-SliderViewModel.html#labelFormatFunction), which is a custom function used to format labels. Overrides the default label formatter. This function also supports date formatting. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-smartMapping-ClassedSizeSlider-ClassedSizeSliderViewModel.html#labelFormatFunction) - */ - labelFormatFunction?: SmartMappingSliderBaseLabelFormatter; } export interface ClassedSizeSliderViewModelBreaks extends Object { @@ -72651,16 +77162,6 @@ declare namespace __esri { value: number; } - export interface ClassedSizeSliderViewModelValueChangeEvent { - index: number; - - oldValue: number; - - type: string; - - value: number; - } - export interface ClassedSizeSliderBreaks extends Object { /** * The size in points of the symbol representing features with values within the given `min` and `max`. @@ -72806,12 +77307,6 @@ declare namespace __esri { } interface ColorSizeSliderViewModel extends SliderViewModel { - /** - * A modified version of [SliderViewModel.labelFormatFunction](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider-SliderViewModel.html#labelFormatFunction), which is a custom function used to format labels. Overrides the default label formatter. This function also supports date formatting. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-smartMapping-ColorSizeSlider-ColorSizeSliderViewModel.html#labelFormatFunction) - */ - labelFormatFunction: SmartMappingSliderBaseLabelFormatter; /** * The colors and sizes corresponding with data values in the [ColorVariable](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-visualVariables-ColorVariable.html) and [SizeVariable](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-visualVariables-SizeVariable.html) of the renderer associated with the slider. Use the [fromRendererResult()](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-smartMapping-ColorSizeSlider-ColorSizeSliderViewModel.html#fromRendererResult) method to conveniently construct these stops from a renderer generated from the [univariateColorSize](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-univariateColorSize.html#createContinuousRenderer) smart mapping module. Use [updateVisualVariables()](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-smartMapping-ColorSizeSlider-ColorSizeSliderViewModel.html#updateVisualVariables) to update the renderer's visual variables with the values matching the slider thumb positions. * @@ -72831,8 +77326,6 @@ declare namespace __esri { on(name: "max-change", eventHandler: ColorSizeSliderViewModelMaxChangeEventHandler): IHandle; on(name: "min-change", eventHandler: ColorSizeSliderViewModelMinChangeEventHandler): IHandle; - - on(name: "value-change", eventHandler: ColorSizeSliderViewModelValueChangeEventHandler): IHandle; } interface ColorSizeSliderViewModelConstructor { @@ -72842,12 +77335,6 @@ declare namespace __esri { export const ColorSizeSliderViewModel: ColorSizeSliderViewModelConstructor; interface ColorSizeSliderViewModelProperties extends SliderViewModelProperties { - /** - * A modified version of [SliderViewModel.labelFormatFunction](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider-SliderViewModel.html#labelFormatFunction), which is a custom function used to format labels. Overrides the default label formatter. This function also supports date formatting. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-smartMapping-ColorSizeSlider-ColorSizeSliderViewModel.html#labelFormatFunction) - */ - labelFormatFunction?: SmartMappingSliderBaseLabelFormatter; /** * The colors and sizes corresponding with data values in the [ColorVariable](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-visualVariables-ColorVariable.html) and [SizeVariable](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-visualVariables-SizeVariable.html) of the renderer associated with the slider. Use the [fromRendererResult()](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-smartMapping-ColorSizeSlider-ColorSizeSliderViewModel.html#fromRendererResult) method to conveniently construct these stops from a renderer generated from the [univariateColorSize](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-smartMapping-creators-univariateColorSize.html#createContinuousRenderer) smart mapping module. Use [updateVisualVariables()](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-smartMapping-ColorSizeSlider-ColorSizeSliderViewModel.html#updateVisualVariables) to update the renderer's visual variables with the values matching the slider thumb positions. * @@ -72892,16 +77379,6 @@ declare namespace __esri { offset: number; } - export interface ColorSizeSliderViewModelValueChangeEvent { - index: number; - - oldValue: number; - - type: string; - - value: number; - } - /** * Defines the object specification for each [stops](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-smartMapping-ColorSizeSlider.html#stops). * @@ -73083,12 +77560,6 @@ declare namespace __esri { * @default true */ handlesSyncedToPrimary: boolean; - /** - * A modified version of [SliderViewModel.labelFormatFunction](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider-SliderViewModel.html#labelFormatFunction), which is a custom function used to format labels on the thumbs, min, max, and average values. Overrides the default label formatter. This function also supports date formatting. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-smartMapping-ColorSlider-ColorSliderViewModel.html#labelFormatFunction) - */ - labelFormatFunction: SmartMappingSliderBaseLabelFormatter; /** * When `true`, the slider will render a third handle between the two handles already provided by default. This is the primary handle. When [handlesSyncedToPrimary](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-smartMapping-ColorSlider-ColorSliderViewModel.html#handlesSyncedToPrimary) is `true`, then this handle will control the position of the others when moved. * @@ -73116,8 +77587,6 @@ declare namespace __esri { on(name: "max-change", eventHandler: ColorSliderViewModelMaxChangeEventHandler): IHandle; on(name: "min-change", eventHandler: ColorSliderViewModelMinChangeEventHandler): IHandle; - - on(name: "value-change", eventHandler: ColorSliderViewModelValueChangeEventHandler): IHandle; } interface ColorSliderViewModelConstructor { @@ -73135,12 +77604,6 @@ declare namespace __esri { * @default true */ handlesSyncedToPrimary?: boolean; - /** - * A modified version of [SliderViewModel.labelFormatFunction](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider-SliderViewModel.html#labelFormatFunction), which is a custom function used to format labels on the thumbs, min, max, and average values. Overrides the default label formatter. This function also supports date formatting. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-smartMapping-ColorSlider-ColorSliderViewModel.html#labelFormatFunction) - */ - labelFormatFunction?: SmartMappingSliderBaseLabelFormatter; /** * When `true`, the slider will render a third handle between the two handles already provided by default. This is the primary handle. When [handlesSyncedToPrimary](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-smartMapping-ColorSlider-ColorSliderViewModel.html#handlesSyncedToPrimary) is `true`, then this handle will control the position of the others when moved. * @@ -73193,16 +77656,6 @@ declare namespace __esri { offset: number; } - export interface ColorSliderViewModelValueChangeEvent { - index: number; - - oldValue: number; - - type: string; - - value: number; - } - export interface ColorSliderMaxChangeEvent { oldValue: number; @@ -73253,14 +77706,9 @@ declare namespace __esri { */ viewModel: HeatmapSliderViewModel; - /** - * *This method is primarily used by developers when implementing custom widgets.* It must be implemented by subclasses for rendering. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-smartMapping-HeatmapSlider.html#render) - * - * - */ - render(): any; + on(name: "thumb-change", eventHandler: HeatmapSliderThumbChangeEventHandler): IHandle; + + on(name: "thumb-drag", eventHandler: HeatmapSliderThumbDragEventHandler): IHandle; } interface HeatmapSliderConstructor { @@ -73320,8 +77768,6 @@ declare namespace __esri { on(name: "max-change", eventHandler: HeatmapSliderViewModelMaxChangeEventHandler): IHandle; on(name: "min-change", eventHandler: HeatmapSliderViewModelMinChangeEventHandler): IHandle; - - on(name: "value-change", eventHandler: HeatmapSliderViewModelValueChangeEventHandler): IHandle; } interface HeatmapSliderViewModelConstructor { @@ -73375,7 +77821,7 @@ declare namespace __esri { offset: number; } - export interface HeatmapSliderViewModelValueChangeEvent { + export interface HeatmapSliderThumbChangeEvent { index: number; oldValue: number; @@ -73385,6 +77831,16 @@ declare namespace __esri { value: number; } + export interface HeatmapSliderThumbDragEvent { + index: number; + + state: string; + + type: string; + + value: number; + } + interface OpacitySlider extends SmartMappingSliderBase { /** * The opacity stops from the [OpacityVariable](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-visualVariables-OpacityVariable.html) to link to the slider. The opacity values in these stops will be used to render the gradient on the slider. They should match the opacity rendered in the associated layer's opacity visual variable. @@ -73392,6 +77848,12 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-smartMapping-OpacitySlider.html#stops) */ stops: OpacityStop[]; + /** + * Exposes various properties of the widget that can be styled. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-smartMapping-OpacitySlider.html#style) + */ + style: OpacitySliderStyle; /** * The view model for the OpacitySlider widget. This class contains all the logic (properties and methods) that controls this widget's behavior. See the [OpacitySliderViewModel](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-smartMapping-OpacitySlider-OpacitySliderViewModel.html) class to access all properties and methods on the OpacitySlider widget. * @@ -73455,6 +77917,12 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-smartMapping-OpacitySlider.html#stops) */ stops?: OpacityStopProperties[]; + /** + * Exposes various properties of the widget that can be styled. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-smartMapping-OpacitySlider.html#style) + */ + style?: OpacitySliderStyle; /** * The view model for the OpacitySlider widget. This class contains all the logic (properties and methods) that controls this widget's behavior. See the [OpacitySliderViewModel](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-smartMapping-OpacitySlider-OpacitySliderViewModel.html) class to access all properties and methods on the OpacitySlider widget. * @@ -73464,12 +77932,6 @@ declare namespace __esri { } interface OpacitySliderViewModel extends SliderViewModel { - /** - * A modified version of [SliderViewModel.labelFormatFunction](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider-SliderViewModel.html#labelFormatFunction), which is a custom function used to format labels. Overrides the default label formatter. This function also supports date formatting. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-smartMapping-OpacitySlider-OpacitySliderViewModel.html#labelFormatFunction) - */ - labelFormatFunction: SmartMappingSliderBaseLabelFormatter; /** * The opacity stops from the [OpacityVariable](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-visualVariables-OpacityVariable.html) to link to the slider. The opacity values in these stops will be used to render the gradient on the slider. They should match the opacity rendered in the associated layer's opacity visual variable. * @@ -73489,8 +77951,6 @@ declare namespace __esri { on(name: "max-change", eventHandler: OpacitySliderViewModelMaxChangeEventHandler): IHandle; on(name: "min-change", eventHandler: OpacitySliderViewModelMinChangeEventHandler): IHandle; - - on(name: "value-change", eventHandler: OpacitySliderViewModelValueChangeEventHandler): IHandle; } interface OpacitySliderViewModelConstructor { @@ -73500,12 +77960,6 @@ declare namespace __esri { export const OpacitySliderViewModel: OpacitySliderViewModelConstructor; interface OpacitySliderViewModelProperties extends SliderViewModelProperties { - /** - * A modified version of [SliderViewModel.labelFormatFunction](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider-SliderViewModel.html#labelFormatFunction), which is a custom function used to format labels. Overrides the default label formatter. This function also supports date formatting. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-smartMapping-OpacitySlider-OpacitySliderViewModel.html#labelFormatFunction) - */ - labelFormatFunction?: SmartMappingSliderBaseLabelFormatter; /** * The opacity stops from the [OpacityVariable](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-visualVariables-OpacityVariable.html) to link to the slider. The opacity values in these stops will be used to render the gradient on the slider. They should match the opacity rendered in the associated layer's opacity visual variable. * @@ -73550,16 +78004,6 @@ declare namespace __esri { offset: number; } - export interface OpacitySliderViewModelValueChangeEvent { - index: number; - - oldValue: number; - - type: string; - - value: number; - } - export interface OpacitySliderMaxChangeEvent { oldValue: number; @@ -73576,6 +78020,17 @@ declare namespace __esri { value: number; } + export interface OpacitySliderStyle extends Object { + /** + * The color of the slider's track. For single-color visualizations where only an Opacity variable is present, you should set this color to match the color of the symbol in the [SimpleRenderer](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-SimpleRenderer.html). + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-smartMapping-OpacitySlider.html#style) + * + * @default new Color([0, 121, 193]) + */ + trackFillColor?: Color; + } + export interface OpacitySliderThumbChangeEvent { index: number; @@ -73603,6 +78058,12 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-smartMapping-SizeSlider.html#stops) */ stops: SizeStop[]; + /** + * Exposes various properties of the widget that can be styled. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-smartMapping-SizeSlider.html#style) + */ + style: SizeSliderStyle; /** * The view model for the SizeSlider widget. This class contains all the logic (properties and methods) that controls this widget's behavior. See the [SizeSliderViewModel](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-smartMapping-SizeSlider-SizeSliderViewModel.html) class to access all properties and methods on the SizeSlider widget. * @@ -73669,6 +78130,12 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-smartMapping-SizeSlider.html#stops) */ stops?: SizeStopProperties[]; + /** + * Exposes various properties of the widget that can be styled. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-smartMapping-SizeSlider.html#style) + */ + style?: SizeSliderStyle; /** * The view model for the SizeSlider widget. This class contains all the logic (properties and methods) that controls this widget's behavior. See the [SizeSliderViewModel](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-smartMapping-SizeSlider-SizeSliderViewModel.html) class to access all properties and methods on the SizeSlider widget. * @@ -73678,12 +78145,6 @@ declare namespace __esri { } interface SizeSliderViewModel extends SliderViewModel { - /** - * A modified version of [SliderViewModel.labelFormatFunction](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider-SliderViewModel.html#labelFormatFunction), which is a custom function used to format labels. Overrides the default label formatter. This function also supports date formatting. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-smartMapping-SizeSlider-SizeSliderViewModel.html#labelFormatFunction) - */ - labelFormatFunction: SmartMappingSliderBaseLabelFormatter; /** * The size stops from the [SizeVariable](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-visualVariables-SizeVariable.html) to link to the slider. * @@ -73694,8 +78155,6 @@ declare namespace __esri { on(name: "max-change", eventHandler: SizeSliderViewModelMaxChangeEventHandler): IHandle; on(name: "min-change", eventHandler: SizeSliderViewModelMinChangeEventHandler): IHandle; - - on(name: "value-change", eventHandler: SizeSliderViewModelValueChangeEventHandler): IHandle; } interface SizeSliderViewModelConstructor { @@ -73705,12 +78164,6 @@ declare namespace __esri { export const SizeSliderViewModel: SizeSliderViewModelConstructor; interface SizeSliderViewModelProperties extends SliderViewModelProperties { - /** - * A modified version of [SliderViewModel.labelFormatFunction](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider-SliderViewModel.html#labelFormatFunction), which is a custom function used to format labels. Overrides the default label formatter. This function also supports date formatting. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-smartMapping-SizeSlider-SizeSliderViewModel.html#labelFormatFunction) - */ - labelFormatFunction?: SmartMappingSliderBaseLabelFormatter; /** * The size stops from the [SizeVariable](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-visualVariables-SizeVariable.html) to link to the slider. * @@ -73735,16 +78188,6 @@ declare namespace __esri { value: number; } - export interface SizeSliderViewModelValueChangeEvent { - index: number; - - oldValue: number; - - type: string; - - value: number; - } - export interface SizeSliderMaxChangeEvent { oldValue: number; @@ -73761,6 +78204,25 @@ declare namespace __esri { value: number; } + export interface SizeSliderStyle extends Object { + /** + * The color of the slider's track. For single-color visualizations where only a Size variable is present, you should set this color to match the color of the symbol in the [SimpleRenderer](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-SimpleRenderer.html). + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-smartMapping-SizeSlider.html#style) + * + * @default new Color([149, 149, 149]) + */ + trackFillColor?: Color; + /** + * The background color of the slider's track. Generally, this color should be subdued and not interfere with the `trackFillColor`. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-smartMapping-SizeSlider.html#style) + * + * @default new Color([224, 224, 224]) + */ + trackBackgroundColor?: Color; + } + export interface SizeSliderThumbChangeEvent { index: number; @@ -73807,20 +78269,25 @@ declare namespace __esri { */ min: number; /** - * The state of the view model. **Possible Values:** ready | disabled + * The state of the view model. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-smartMapping-SmartMappingSliderBase.html#state) */ - readonly state: string; - + readonly state: "ready" | "disabled"; /** - * *This method is primarily used by developers when implementing custom widgets.* It must be implemented by subclasses for rendering. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-smartMapping-SmartMappingSliderBase.html#render) - * + * Zooms the slider track to the bounds provided in this property. When min and/or max zoom values are provided, the absolute [min](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-smartMapping-SmartMappingSliderBase.html#min) and [max](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-smartMapping-SmartMappingSliderBase.html#max) slider values are preserved and rendered at their typical positions on the slider. However, the slider track itself is zoomed so that thumbs cannot be moved above or below the provided min and max zoomed values. When a slider is in a zoomed state, the zoomed ends of the track will appear jagged. In the image below, notice how the top thumb cannot be moved past the zoom max of `31` even though the slider max is `200`. ![slider-zoom](https://developers.arcgis.com/javascript/assets/img/apiref/widgets/sliders/slider-zoomed.png) To exit a zoomed state, the user can click the jagged line or the developer can set the `zoomOptions` to `null`. It is up to the developer to provide a UI option for end users to enable zooming on the slider. Setting the `zoomOptions` is useful when the slider is tied to heavily skewed datasets where the histogram renders only one or two bars because of outliers. ![slider-not-zoomed](https://developers.arcgis.com/javascript/assets/img/apiref/widgets/sliders/slider-skewed-not-zoomed.png) You can remove the influence of outliers by zooming the slider and regenerating a histogram based on the zoomed min and max. This will provide a better view of the data and make the slider more useful to the end user. * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-smartMapping-SmartMappingSliderBase.html#zoomOptions) */ - render(): any; + zoomOptions: SmartMappingSliderBaseZoomOptions; + + on(name: "max-change", eventHandler: SmartMappingSliderBaseMaxChangeEventHandler): IHandle; + + on(name: "min-change", eventHandler: SmartMappingSliderBaseMinChangeEventHandler): IHandle; + + on(name: "thumb-change", eventHandler: SmartMappingSliderBaseThumbChangeEventHandler): IHandle; + + on(name: "thumb-drag", eventHandler: SmartMappingSliderBaseThumbDragEventHandler): IHandle; } interface SmartMappingSliderBaseConstructor { @@ -73854,6 +78321,12 @@ declare namespace __esri { * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-smartMapping-SmartMappingSliderBase.html#min) */ min?: number; + /** + * Zooms the slider track to the bounds provided in this property. When min and/or max zoom values are provided, the absolute [min](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-smartMapping-SmartMappingSliderBase.html#min) and [max](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-smartMapping-SmartMappingSliderBase.html#max) slider values are preserved and rendered at their typical positions on the slider. However, the slider track itself is zoomed so that thumbs cannot be moved above or below the provided min and max zoomed values. When a slider is in a zoomed state, the zoomed ends of the track will appear jagged. In the image below, notice how the top thumb cannot be moved past the zoom max of `31` even though the slider max is `200`. ![slider-zoom](https://developers.arcgis.com/javascript/assets/img/apiref/widgets/sliders/slider-zoomed.png) To exit a zoomed state, the user can click the jagged line or the developer can set the `zoomOptions` to `null`. It is up to the developer to provide a UI option for end users to enable zooming on the slider. Setting the `zoomOptions` is useful when the slider is tied to heavily skewed datasets where the histogram renders only one or two bars because of outliers. ![slider-not-zoomed](https://developers.arcgis.com/javascript/assets/img/apiref/widgets/sliders/slider-skewed-not-zoomed.png) You can remove the influence of outliers by zooming the slider and regenerating a histogram based on the zoomed min and max. This will provide a better view of the data and make the slider more useful to the end user. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-smartMapping-SmartMappingSliderBase.html#zoomOptions) + */ + zoomOptions?: SmartMappingSliderBaseZoomOptions; } /** @@ -73908,6 +78381,57 @@ declare namespace __esri { export type SmartMappingSliderBaseLabelFormatter = (value: number, type?: string, index?: number) => string; + export interface SmartMappingSliderBaseMaxChangeEvent { + oldValue: number; + + type: string; + + value: number; + } + + export interface SmartMappingSliderBaseMinChangeEvent { + oldValue: number; + + type: string; + + value: number; + } + + export interface SmartMappingSliderBaseZoomOptions extends Object { + /** + * The lower bound of the zoom. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-smartMapping-SmartMappingSliderBase.html#zoomOptions) + */ + min?: number; + /** + * The upper bound of the zoom. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-smartMapping-SmartMappingSliderBase.html#zoomOptions) + */ + max?: number; + } + + export interface SmartMappingSliderBaseThumbChangeEvent { + index: number; + + oldValue: number; + + type: string; + + value: number; + } + + export interface SmartMappingSliderBaseThumbDragEvent { + index: number; + + state: string; + + type: string; + + value: number; + } + export interface HistogramConfigDataLines extends Object { /** * The value on the data axis of the histogram where a line will be rendered. @@ -74135,26 +78659,279 @@ declare namespace __esri { export const widget: widget; - export type GoToOverride = (view: MapView | SceneView, goToParameters: GoToParameters) => void; + export type GoToOverride = (view: MapView | SceneView, goToParameters: any) => void; - /** - * The following parameters passed to either the [MapView's goTo()](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#goTo) or [SceneView's goTo()](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#goTo) functions. For additional information on what can be passed to its `target` or `options`, please refer to documentation for either the [MapView's goTo()](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#goTo) or [SceneView's goTo()](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#goTo) functions. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-support-widget.html#GoToParameters) - */ - export interface GoToParameters extends Object { + interface Swipe extends Widget { /** - * The target location/viewpoint to animate to. + * The direction the Swipe widget moves across the view. If `"horizontal"`, the widget will move left and right and if `"vertical"`, the widget will move up and down. * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-support-widget.html#GoToParameters) + * | horizontal | vertical | + * |------------|----------| + * |[![widgets-swipe-horizontal](https://developers.arcgis.com/javascript/assets/img/apiref/widgets/widgets-swipe-horizontal.png)](https://developers.arcgis.com/javascript/latest/sample-code/widgets-swipe/index.html) |[![widgets-swipe-vertical](https://developers.arcgis.com/javascript/assets/img/apiref/widgets/widgets-swipe-vertical.png)](https://developers.arcgis.com/javascript/latest/sample-code/widgets-swipe/index.html)| + * + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Swipe.html#direction) + * + * @default "horizontal" */ - target: any; + direction: "horizontal" | "vertical"; /** - * Animation options. + * When `true`, sets the widget to a disabled state so the user cannot interact with it. * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-support-widget.html#GoToParameters) + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Swipe.html#disabled) + * + * @default false */ - options?: any; + disabled: boolean; + /** + * The text that shows in a tooltip when hovering over the handle of the Swipe widget. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Swipe.html#dragLabel) + */ + dragLabel: string; + /** + * The widget's default CSS icon class. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Swipe.html#iconClass) + */ + iconClass: string; + /** + * A collection of [Layer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-Layer.html)s that will show on the left or top side of the Swipe widget. See the image in the [class description](#) at the top of the page. Currently, all layers are supported except VectorTileLayers. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Swipe.html#leadingLayers) + */ + leadingLayers: Collection; + /** + * The position of the Swipe widget. This determines what percentage of the view will be taken up by the [leadingLayers](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Swipe.html#leadingLayers). + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Swipe.html#position) + * + * @default 25 + */ + position: number; + /** + * A collection of [Layer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-Layer.html)s that will show on the right or bottom side of the Swipe widget. See the image in the [class description](#) at the top of the page. Currently, all layers are supported except VectorTileLayers. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Swipe.html#trailingLayers) + */ + trailingLayers: Collection; + /** + * A reference to the [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html). Set this to link the widget to a specific view. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Swipe.html#view) + */ + view: MapView; + /** + * The view model for this widget. This is a class that contains all the logic (properties and methods) that controls this widget's behavior. See the [SwipeViewModel](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Swipe-SwipeViewModel.html) class to access all properties and methods on the widget. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Swipe.html#viewModel) + */ + viewModel: SwipeViewModel; + /** + * The visible elements that are displayed within the widget. This property provides the ability change the visibility of individual elements of the widget's display. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Swipe.html#visibleElements) + */ + visibleElements: SwipeVisibleElements; + } + + interface SwipeConstructor { + /** + * The Swipe widget provides a tool to show a portion of a layer or layers on top of a map. Layers can be swiped vertically or horizontally to easily compare two layers or see what is underneath a layer. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Swipe.html) + */ + + new (properties?: SwipeProperties): Swipe; + } + + export const Swipe: SwipeConstructor; + + interface SwipeProperties extends WidgetProperties { + /** + * The direction the Swipe widget moves across the view. If `"horizontal"`, the widget will move left and right and if `"vertical"`, the widget will move up and down. + * + * | horizontal | vertical | + * |------------|----------| + * |[![widgets-swipe-horizontal](https://developers.arcgis.com/javascript/assets/img/apiref/widgets/widgets-swipe-horizontal.png)](https://developers.arcgis.com/javascript/latest/sample-code/widgets-swipe/index.html) |[![widgets-swipe-vertical](https://developers.arcgis.com/javascript/assets/img/apiref/widgets/widgets-swipe-vertical.png)](https://developers.arcgis.com/javascript/latest/sample-code/widgets-swipe/index.html)| + * + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Swipe.html#direction) + * + * @default "horizontal" + */ + direction?: "horizontal" | "vertical"; + /** + * When `true`, sets the widget to a disabled state so the user cannot interact with it. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Swipe.html#disabled) + * + * @default false + */ + disabled?: boolean; + /** + * The text that shows in a tooltip when hovering over the handle of the Swipe widget. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Swipe.html#dragLabel) + */ + dragLabel?: string; + /** + * The widget's default CSS icon class. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Swipe.html#iconClass) + */ + iconClass?: string; + /** + * A collection of [Layer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-Layer.html)s that will show on the left or top side of the Swipe widget. See the image in the [class description](#) at the top of the page. Currently, all layers are supported except VectorTileLayers. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Swipe.html#leadingLayers) + */ + leadingLayers?: CollectionProperties; + /** + * The position of the Swipe widget. This determines what percentage of the view will be taken up by the [leadingLayers](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Swipe.html#leadingLayers). + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Swipe.html#position) + * + * @default 25 + */ + position?: number; + /** + * A collection of [Layer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-Layer.html)s that will show on the right or bottom side of the Swipe widget. See the image in the [class description](#) at the top of the page. Currently, all layers are supported except VectorTileLayers. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Swipe.html#trailingLayers) + */ + trailingLayers?: CollectionProperties; + /** + * A reference to the [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html). Set this to link the widget to a specific view. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Swipe.html#view) + */ + view?: MapViewProperties; + /** + * The view model for this widget. This is a class that contains all the logic (properties and methods) that controls this widget's behavior. See the [SwipeViewModel](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Swipe-SwipeViewModel.html) class to access all properties and methods on the widget. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Swipe.html#viewModel) + */ + viewModel?: SwipeViewModelProperties; + /** + * The visible elements that are displayed within the widget. This property provides the ability change the visibility of individual elements of the widget's display. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Swipe.html#visibleElements) + */ + visibleElements?: SwipeVisibleElements; + } + + interface SwipeViewModel extends Accessor { + /** + * The direction the Swipe widget moves across the view. If `"horizontal"`, the widget will move left and right and if `"vertical"`, the widget will move up and down. + * + * | horizontal | vertical | + * |------------|----------| + * |[![widgets-swipe-horizontal](https://developers.arcgis.com/javascript/assets/img/apiref/widgets/widgets-swipe-horizontal.png)](https://developers.arcgis.com/javascript/latest/sample-code/widgets-swipe/index.html) |[![widgets-swipe-vertical](https://developers.arcgis.com/javascript/assets/img/apiref/widgets/widgets-swipe-vertical.png)](https://developers.arcgis.com/javascript/latest/sample-code/widgets-swipe/index.html)| + * + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Swipe-SwipeViewModel.html#direction) + * + * @default "horizontal" + */ + direction: "horizontal" | "vertical"; + /** + * A collection of [Layer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-Layer.html)s that will show on the left or top side of Swipe widget. See the image in the [Swipe](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Swipe.html) class description. Currently, all layers are supported except VectorTileLayers. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Swipe-SwipeViewModel.html#leadingLayers) + */ + leadingLayers: Collection; + /** + * The position of the Swipe widget. This determines what percentage of the view will be taken up by the [leadingLayers](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Swipe-SwipeViewModel.html#leadingLayers). + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Swipe-SwipeViewModel.html#position) + * + * @default 25 + */ + position: number; + /** + * The current state of the widget. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Swipe-SwipeViewModel.html#state) + * + * @default disabled + */ + readonly state: "disabled" | "ready"; + /** + * A collection of [Layer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-Layer.html)s that will show on the right or bottom side of Swipe widget. See the image in the [Swipe](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Swipe.html) class description. Currently, all layers are supported except VectorTileLayers. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Swipe-SwipeViewModel.html#trailingLayers) + */ + trailingLayers: Collection; + /** + * A reference to the [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html). Set this to link the widget to a specific view. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Swipe-SwipeViewModel.html#view) + */ + view: MapView; + } + + interface SwipeViewModelConstructor { + new (properties?: SwipeViewModelProperties): SwipeViewModel; + } + + export const SwipeViewModel: SwipeViewModelConstructor; + + interface SwipeViewModelProperties { + /** + * The direction the Swipe widget moves across the view. If `"horizontal"`, the widget will move left and right and if `"vertical"`, the widget will move up and down. + * + * | horizontal | vertical | + * |------------|----------| + * |[![widgets-swipe-horizontal](https://developers.arcgis.com/javascript/assets/img/apiref/widgets/widgets-swipe-horizontal.png)](https://developers.arcgis.com/javascript/latest/sample-code/widgets-swipe/index.html) |[![widgets-swipe-vertical](https://developers.arcgis.com/javascript/assets/img/apiref/widgets/widgets-swipe-vertical.png)](https://developers.arcgis.com/javascript/latest/sample-code/widgets-swipe/index.html)| + * + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Swipe-SwipeViewModel.html#direction) + * + * @default "horizontal" + */ + direction?: "horizontal" | "vertical"; + /** + * A collection of [Layer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-Layer.html)s that will show on the left or top side of Swipe widget. See the image in the [Swipe](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Swipe.html) class description. Currently, all layers are supported except VectorTileLayers. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Swipe-SwipeViewModel.html#leadingLayers) + */ + leadingLayers?: CollectionProperties; + /** + * The position of the Swipe widget. This determines what percentage of the view will be taken up by the [leadingLayers](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Swipe-SwipeViewModel.html#leadingLayers). + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Swipe-SwipeViewModel.html#position) + * + * @default 25 + */ + position?: number; + /** + * A collection of [Layer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-Layer.html)s that will show on the right or bottom side of Swipe widget. See the image in the [Swipe](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Swipe.html) class description. Currently, all layers are supported except VectorTileLayers. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Swipe-SwipeViewModel.html#trailingLayers) + */ + trailingLayers?: CollectionProperties; + /** + * A reference to the [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html). Set this to link the widget to a specific view. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Swipe-SwipeViewModel.html#view) + */ + view?: MapViewProperties; + } + + export interface SwipeVisibleElements extends Object { + /** + * Indicates whether the handle from which you drag the widget is visible. Default value is `true`. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Swipe.html#visibleElements) + */ + handle: boolean; + /** + * Indicates whether the divider between the leading and trailing layers is visible. Default value is `true`. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Swipe.html#visibleElements) + */ + divider: boolean; } interface TimeSlider extends Widget { @@ -74279,14 +79056,6 @@ declare namespace __esri { * */ previous(): void; - /** - * *This method is primarily used by developers when implementing custom widgets.* It must be implemented by subclasses for rendering. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-TimeSlider.html#render) - * - * - */ - render(): any; /** * Stops the time slider's temporal playback. * @@ -74299,7 +79068,7 @@ declare namespace __esri { interface TimeSliderConstructor { /** - * The TimeSlider widget simplifies time manipulation in your application. + * The TimeSlider widget simplifies visualization of temporal data in your application. Before adding the TimeSlider to your application, you first should understand how it can be configured to correctly display your temporal data. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-TimeSlider.html) */ @@ -74828,14 +79597,6 @@ declare namespace __esri { */ viewModel: TrackViewModel; - /** - * *This method is primarily used by developers when implementing custom widgets.* It must be implemented by subclasses for rendering. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Track.html#render) - * - * - */ - render(): any; /** * When executed, the widget will start [tracking](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Track.html#tracking) the user's location. * @@ -74852,6 +79613,10 @@ declare namespace __esri { * */ stop(): void; + + on(name: "track", eventHandler: TrackTrackEventHandler): IHandle; + + on(name: "track-error", eventHandler: TrackTrackErrorEventHandler): IHandle; } interface TrackConstructor { @@ -74927,13 +79692,13 @@ declare namespace __esri { interface TrackViewModel extends Accessor, Evented, GeolocationPositioning, GoTo { /** - * The current state of the widget. **Possible Values:** disabled | ready | tracking | waiting + * The current state of the widget. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Track-TrackViewModel.html#state) * * @default disabled */ - readonly state: string; + readonly state: "disabled" | "ready" | "tracking" | "waiting"; /** * Indicates whether new positions are being watched. * @@ -74959,6 +79724,10 @@ declare namespace __esri { * */ stop(): void; + + on(name: "track", eventHandler: TrackViewModelTrackEventHandler): IHandle; + + on(name: "track-error", eventHandler: TrackViewModelTrackErrorEventHandler): IHandle; } interface TrackViewModelConstructor { @@ -74975,9 +79744,25 @@ declare namespace __esri { interface TrackViewModelProperties extends GeolocationPositioningProperties, GoToProperties {} + export interface TrackViewModelTrackErrorEvent { + error: Error; + } + + export interface TrackViewModelTrackEvent { + position: any; + } + + export interface TrackTrackErrorEvent { + error: Error; + } + + export interface TrackTrackEvent { + position: any; + } + interface Widget extends Accessor, Evented { /** - * The ID or node representing the DOM element containing the widget. This property can only be set once. + * The ID or node representing the DOM element containing the widget. This property can only be set once. The following examples are all valid use cases when working with widgets. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Widget.html#container) */ @@ -75035,6 +79820,14 @@ declare namespace __esri { * */ postInitialize(): void; + /** + * *This method is primarily used by developers when implementing custom widgets.* It must be implemented by subclasses for rendering. + * + * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Widget.html#render) + * + * + */ + render(): any; /** * Renders widget to the DOM immediately. * @@ -75067,7 +79860,7 @@ declare namespace __esri { interface WidgetProperties { /** - * The ID or node representing the DOM element containing the widget. This property can only be set once. + * The ID or node representing the DOM element containing the widget. This property can only be set once. The following examples are all valid use cases when working with widgets. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Widget.html#container) */ @@ -75162,14 +79955,6 @@ declare namespace __esri { */ viewModel: ZoomViewModel; - /** - * *This method is primarily used by developers when implementing custom widgets.* It must be implemented by subclasses for rendering. - * - * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Zoom.html#render) - * - * - */ - render(): any; /** * Zooms the view in by an LOD factor of 0.5. * @@ -75243,13 +80028,13 @@ declare namespace __esri { */ canZoomOut: boolean; /** - * The current state of the widget. **Possible Values:** disabled | ready + * The current state of the widget. * * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Zoom-ZoomViewModel.html#state) * * @default disabled */ - readonly state: string; + readonly state: "disabled" | "ready"; /** * The view from which to operate. * @@ -75302,6 +80087,18 @@ declare namespace __esri { view?: MapViewProperties | SceneViewProperties; } + export type MultipointDrawActionCursorUpdateEventHandler = (event: MultipointDrawActionCursorUpdateEvent) => void; + + export type MultipointDrawActionDrawCompleteEventHandler = (event: MultipointDrawActionDrawCompleteEvent) => void; + + export type MultipointDrawActionRedoEventHandler = (event: MultipointDrawActionRedoEvent) => void; + + export type MultipointDrawActionUndoEventHandler = (event: MultipointDrawActionUndoEvent) => void; + + export type MultipointDrawActionVertexAddEventHandler = (event: MultipointDrawActionVertexAddEvent) => void; + + export type MultipointDrawActionVertexRemoveEventHandler = (event: MultipointDrawActionVertexRemoveEvent) => void; + export type OpacitySliderMaxChangeEventHandler = (event: OpacitySliderMaxChangeEvent) => void; export type OpacitySliderMinChangeEventHandler = (event: OpacitySliderMinChangeEvent) => void; @@ -75314,8 +80111,6 @@ declare namespace __esri { export type OpacitySliderViewModelMinChangeEventHandler = (event: OpacitySliderViewModelMinChangeEvent) => void; - export type OpacitySliderViewModelValueChangeEventHandler = (event: OpacitySliderViewModelValueChangeEvent) => void; - export type OpenStreetMapLayerLayerviewCreateErrorEventHandler = ( event: OpenStreetMapLayerLayerviewCreateErrorEvent ) => void; @@ -75332,6 +80127,36 @@ declare namespace __esri { export type PointCloudLayerLayerviewDestroyEventHandler = (event: PointCloudLayerLayerviewDestroyEvent) => void; + export type PointDrawActionCursorUpdateEventHandler = (event: PointDrawActionCursorUpdateEvent) => void; + + export type PointDrawActionDrawCompleteEventHandler = (event: PointDrawActionDrawCompleteEvent) => void; + + export type PolygonDrawActionCursorUpdateEventHandler = (event: PolygonDrawActionCursorUpdateEvent) => void; + + export type PolygonDrawActionDrawCompleteEventHandler = (event: PolygonDrawActionDrawCompleteEvent) => void; + + export type PolygonDrawActionRedoEventHandler = (event: PolygonDrawActionRedoEvent) => void; + + export type PolygonDrawActionUndoEventHandler = (event: PolygonDrawActionUndoEvent) => void; + + export type PolygonDrawActionVertexAddEventHandler = (event: PolygonDrawActionVertexAddEvent) => void; + + export type PolygonDrawActionVertexRemoveEventHandler = (event: PolygonDrawActionVertexRemoveEvent) => void; + + export type PolylineDrawActionCursorUpdateEventHandler = (event: PolylineDrawActionCursorUpdateEvent) => void; + + export type PolylineDrawActionDrawCompleteEventHandler = (event: PolylineDrawActionDrawCompleteEvent) => void; + + export type PolylineDrawActionRedoEventHandler = (event: PolylineDrawActionRedoEvent) => void; + + export type PolylineDrawActionUndoEventHandler = (event: PolylineDrawActionUndoEvent) => void; + + export type PolylineDrawActionVertexAddEventHandler = (event: PolylineDrawActionVertexAddEvent) => void; + + export type PolylineDrawActionVertexRemoveEventHandler = (event: PolylineDrawActionVertexRemoveEvent) => void; + + export type PopupTriggerActionEventHandler = (event: PopupTriggerActionEvent) => void; + export type PopupViewModelTriggerActionEventHandler = (event: PopupViewModelTriggerActionEvent) => void; export type SceneLayerLayerviewCreateErrorEventHandler = (event: SceneLayerLayerviewCreateErrorEvent) => void; @@ -75378,6 +80203,22 @@ declare namespace __esri { export type SceneViewResizeEventHandler = (event: SceneViewResizeEvent) => void; + export type SearchSearchBlurEventHandler = (event: SearchSearchBlurEvent) => void; + + export type SearchSearchClearEventHandler = (event: SearchSearchClearEvent) => void; + + export type SearchSearchCompleteEventHandler = (event: SearchSearchCompleteEvent) => void; + + export type SearchSearchFocusEventHandler = (event: SearchSearchFocusEvent) => void; + + export type SearchSearchStartEventHandler = (event: SearchSearchStartEvent) => void; + + export type SearchSelectResultEventHandler = (event: SearchSelectResultEvent) => void; + + export type SearchSuggestCompleteEventHandler = (event: SearchSuggestCompleteEvent) => void; + + export type SearchSuggestStartEventHandler = (event: SearchSuggestStartEvent) => void; + export type SearchViewModelSearchClearEventHandler = (event: SearchViewModelSearchClearEvent) => void; export type SearchViewModelSearchCompleteEventHandler = (event: SearchViewModelSearchCompleteEvent) => void; @@ -75390,6 +80231,12 @@ declare namespace __esri { export type SearchViewModelSuggestStartEventHandler = (event: SearchViewModelSuggestStartEvent) => void; + export type SegmentDrawActionCursorUpdateEventHandler = (event: SegmentDrawActionCursorUpdateEvent) => void; + + export type SegmentDrawActionDrawCompleteEventHandler = (event: SegmentDrawActionDrawCompleteEvent) => void; + + export type SegmentDrawActionVertexAddEventHandler = (event: SegmentDrawActionVertexAddEvent) => void; + export type SizeSliderMaxChangeEventHandler = (event: SizeSliderMaxChangeEvent) => void; export type SizeSliderMinChangeEventHandler = (event: SizeSliderMinChangeEvent) => void; @@ -75402,7 +80249,49 @@ declare namespace __esri { export type SizeSliderViewModelMinChangeEventHandler = (event: SizeSliderViewModelMinChangeEvent) => void; - export type SizeSliderViewModelValueChangeEventHandler = (event: SizeSliderViewModelValueChangeEvent) => void; + export type SketchCreateEventHandler = (event: SketchCreateEvent) => void; + + export type SketchDeleteEventHandler = (event: SketchDeleteEvent) => void; + + export type SketchRedoEventHandler = (event: SketchRedoEvent) => void; + + export type SketchUndoEventHandler = (event: SketchUndoEvent) => void; + + export type SketchUpdateEventHandler = (event: SketchUpdateEvent) => void; + + export type SketchViewModelCreateEventHandler = (event: SketchViewModelCreateEvent) => void; + + export type SketchViewModelRedoEventHandler = (event: SketchViewModelRedoEvent) => void; + + export type SketchViewModelUndoEventHandler = (event: SketchViewModelUndoEvent) => void; + + export type SketchViewModelUpdateEventHandler = (event: SketchViewModelUpdateEvent) => void; + + export type SliderMaxChangeEventHandler = (event: SliderMaxChangeEvent) => void; + + export type SliderMinChangeEventHandler = (event: SliderMinChangeEvent) => void; + + export type SliderSegmentDragEventHandler = (event: SliderSegmentDragEvent) => void; + + export type SliderThumbChangeEventHandler = (event: SliderThumbChangeEvent) => void; + + export type SliderThumbDragEventHandler = (event: SliderThumbDragEvent) => void; + + export type SliderValueChangeEventHandler = (event: SliderValueChangeEvent) => void; + + export type SliderValuesChangeEventHandler = (event: SliderValuesChangeEvent) => void; + + export type SliderViewModelMaxChangeEventHandler = (event: SliderViewModelMaxChangeEvent) => void; + + export type SliderViewModelMinChangeEventHandler = (event: SliderViewModelMinChangeEvent) => void; + + export type SmartMappingSliderBaseMaxChangeEventHandler = (event: SmartMappingSliderBaseMaxChangeEvent) => void; + + export type SmartMappingSliderBaseMinChangeEventHandler = (event: SmartMappingSliderBaseMinChangeEvent) => void; + + export type SmartMappingSliderBaseThumbChangeEventHandler = (event: SmartMappingSliderBaseThumbChangeEvent) => void; + + export type SmartMappingSliderBaseThumbDragEventHandler = (event: SmartMappingSliderBaseThumbDragEvent) => void; export type StreamLayerEditsEventHandler = (event: StreamLayerEditsEvent) => void; @@ -75420,6 +80309,14 @@ declare namespace __esri { export type TileLayerLayerviewDestroyEventHandler = (event: TileLayerLayerviewDestroyEvent) => void; + export type TrackTrackErrorEventHandler = (event: TrackTrackErrorEvent) => void; + + export type TrackTrackEventHandler = (event: TrackTrackEvent) => void; + + export type TrackViewModelTrackErrorEventHandler = (event: TrackViewModelTrackErrorEvent) => void; + + export type TrackViewModelTrackEventHandler = (event: TrackViewModelTrackEvent) => void; + export type UnknownLayerLayerviewCreateErrorEventHandler = (event: UnknownLayerLayerviewCreateErrorEvent) => void; export type UnknownLayerLayerviewCreateEventHandler = (event: UnknownLayerLayerviewCreateEvent) => void; @@ -75442,6 +80339,44 @@ declare namespace __esri { export type VectorTileLayerLayerviewDestroyEventHandler = (event: VectorTileLayerLayerviewDestroyEvent) => void; + export type ViewBlurEventHandler = (event: ViewBlurEvent) => void; + + export type ViewClickEventHandler = (event: ViewClickEvent) => void; + + export type ViewDoubleClickEventHandler = (event: ViewDoubleClickEvent) => void; + + export type ViewDragEventHandler = (event: ViewDragEvent) => void; + + export type ViewFocusEventHandler = (event: ViewFocusEvent) => void; + + export type ViewHoldEventHandler = (event: ViewHoldEvent) => void; + + export type ViewImmediateClickEventHandler = (event: ViewImmediateClickEvent) => void; + + export type ViewKeyDownEventHandler = (event: ViewKeyDownEvent) => void; + + export type ViewKeyUpEventHandler = (event: ViewKeyUpEvent) => void; + + export type ViewLayerviewCreateErrorEventHandler = (event: ViewLayerviewCreateErrorEvent) => void; + + export type ViewLayerviewCreateEventHandler = (event: ViewLayerviewCreateEvent) => void; + + export type ViewLayerviewDestroyEventHandler = (event: ViewLayerviewDestroyEvent) => void; + + export type ViewMouseWheelEventHandler = (event: ViewMouseWheelEvent) => void; + + export type ViewPointerDownEventHandler = (event: ViewPointerDownEvent) => void; + + export type ViewPointerEnterEventHandler = (event: ViewPointerEnterEvent) => void; + + export type ViewPointerLeaveEventHandler = (event: ViewPointerLeaveEvent) => void; + + export type ViewPointerMoveEventHandler = (event: ViewPointerMoveEvent) => void; + + export type ViewPointerUpEventHandler = (event: ViewPointerUpEvent) => void; + + export type ViewResizeEventHandler = (event: ViewResizeEvent) => void; + export type WebTileLayerLayerviewCreateErrorEventHandler = (event: WebTileLayerLayerviewCreateErrorEvent) => void; export type WebTileLayerLayerviewCreateEventHandler = (event: WebTileLayerLayerviewCreateEvent) => void; @@ -76021,6 +80956,11 @@ declare module "esri/renderers/ClassBreaksRenderer" { export = ClassBreaksRenderer; } +declare module "esri/renderers/DictionaryRenderer" { + import DictionaryRenderer = __esri.DictionaryRenderer; + export = DictionaryRenderer; +} + declare module "esri/renderers/DotDensityRenderer" { import DotDensityRenderer = __esri.DotDensityRenderer; export = DotDensityRenderer; @@ -76046,11 +80986,6 @@ declare module "esri/renderers/UniqueValueRenderer" { export = UniqueValueRenderer; } -declare module "esri/renderers/StretchRenderer" { - import StretchRenderer = __esri.StretchRenderer; - export = StretchRenderer; -} - declare module "esri/renderers/PointCloudRenderer" { import PointCloudRenderer = __esri.PointCloudRenderer; export = PointCloudRenderer; @@ -76076,6 +81011,11 @@ declare module "esri/renderers/PointCloudUniqueValueRenderer" { export = PointCloudUniqueValueRenderer; } +declare module "esri/renderers/RasterStretchRenderer" { + import RasterStretchRenderer = __esri.RasterStretchRenderer; + export = RasterStretchRenderer; +} + declare module "esri/renderers/support/AttributeColorInfo" { import AttributeColorInfo = __esri.AttributeColorInfo; export = AttributeColorInfo; @@ -76526,11 +81466,6 @@ declare module "esri/tasks/support/DataLayer" { export = DataLayer; } -declare module "esri/tasks/support/Date" { - import supportDate = __esri.supportDate; - export = supportDate; -} - declare module "esri/tasks/support/DensifyParameters" { import DensifyParameters = __esri.DensifyParameters; export = DensifyParameters; @@ -76726,6 +81661,11 @@ declare module "esri/tasks/workflow/WorkflowTask" { export = WorkflowTask; } +declare module "esri/views/BasemapView" { + import BasemapView = __esri.BasemapView; + export = BasemapView; +} + declare module "esri/views/GroundView" { import GroundView = __esri.GroundView; export = GroundView; @@ -76826,6 +81766,11 @@ declare module "esri/views/layers/StreamLayerView" { export = StreamLayerView; } +declare module "esri/views/layers/PointCloudLayerView" { + type PointCloudLayerView = __esri.PointCloudLayerView; + export = PointCloudLayerView; +} + declare module "esri/views/layers/support/FeatureFilter" { import FeatureFilter = __esri.FeatureFilter; export = FeatureFilter; @@ -76991,6 +81936,11 @@ declare module "esri/widgets/BasemapGallery" { export = BasemapGallery; } +declare module "esri/widgets/BasemapLayerList" { + import BasemapLayerList = __esri.BasemapLayerList; + export = BasemapLayerList; +} + declare module "esri/widgets/BasemapToggle" { import BasemapToggle = __esri.BasemapToggle; export = BasemapToggle; @@ -77086,6 +82036,11 @@ declare module "esri/widgets/Locate" { export = Locate; } +declare module "esri/widgets/Measurement" { + import Measurement = __esri.Measurement; + export = Measurement; +} + declare module "esri/widgets/NavigationToggle" { import NavigationToggle = __esri.NavigationToggle; export = NavigationToggle; @@ -77106,6 +82061,11 @@ declare module "esri/widgets/ScaleBar" { export = ScaleBar; } +declare module "esri/widgets/ScaleRangeSlider" { + import ScaleRangeSlider = __esri.ScaleRangeSlider; + export = ScaleRangeSlider; +} + declare module "esri/widgets/Search" { import widgetsSearch = __esri.widgetsSearch; export = widgetsSearch; @@ -77126,6 +82086,11 @@ declare module "esri/widgets/Slider" { export = Slider; } +declare module "esri/widgets/Swipe" { + import Swipe = __esri.Swipe; + export = Swipe; +} + declare module "esri/widgets/TimeSlider" { import TimeSlider = __esri.TimeSlider; export = TimeSlider; @@ -77221,6 +82186,11 @@ declare module "esri/widgets/BasemapGallery/support/PortalBasemapsSource" { export = PortalBasemapsSource; } +declare module "esri/widgets/BasemapLayerList/BasemapLayerListViewModel" { + import BasemapLayerListViewModel = __esri.BasemapLayerListViewModel; + export = BasemapLayerListViewModel; +} + declare module "esri/widgets/BasemapToggle/BasemapToggleViewModel" { import BasemapToggleViewModel = __esri.BasemapToggleViewModel; export = BasemapToggleViewModel; @@ -77366,6 +82336,11 @@ declare module "esri/widgets/Locate/LocateViewModel" { export = LocateViewModel; } +declare module "esri/widgets/Measurement/MeasurementViewModel" { + import MeasurementViewModel = __esri.MeasurementViewModel; + export = MeasurementViewModel; +} + declare module "esri/widgets/NavigationToggle/NavigationToggleViewModel" { import NavigationToggleViewModel = __esri.NavigationToggleViewModel; export = NavigationToggleViewModel; @@ -77391,6 +82366,16 @@ declare module "esri/widgets/ScaleBar/ScaleBarViewModel" { export = ScaleBarViewModel; } +declare module "esri/widgets/ScaleRangeSlider/ScaleRanges" { + import ScaleRanges = __esri.ScaleRanges; + export = ScaleRanges; +} + +declare module "esri/widgets/ScaleRangeSlider/ScaleRangeSliderViewModel" { + import ScaleRangeSliderViewModel = __esri.ScaleRangeSliderViewModel; + export = ScaleRangeSliderViewModel; +} + declare module "esri/widgets/Search/LayerSearchSource" { import LayerSearchSource = __esri.LayerSearchSource; export = LayerSearchSource; @@ -77436,6 +82421,11 @@ declare module "esri/widgets/Spinner/SpinnerViewModel" { export = SpinnerViewModel; } +declare module "esri/widgets/Swipe/SwipeViewModel" { + import SwipeViewModel = __esri.SwipeViewModel; + export = SwipeViewModel; +} + declare module "esri/widgets/TimeSlider/TimeSliderViewModel" { import TimeSliderViewModel = __esri.TimeSliderViewModel; export = TimeSliderViewModel; @@ -77551,9 +82541,9 @@ declare module "esri/layers/mixins/TemporalLayer" { export = TemporalLayer; } -declare module "esri/renderers/mixins/VisualVariablesRenderer" { - import VisualVariablesRenderer = __esri.VisualVariablesRenderer; - export = VisualVariablesRenderer; +declare module "esri/renderers/mixins/VisualVariablesMixin" { + import VisualVariablesMixin = __esri.VisualVariablesMixin; + export = VisualVariablesMixin; } declare module "esri/support/actions/ActionBase" { @@ -77631,6 +82621,11 @@ declare module "esri/pointCloudRenderers" { export = pointCloudRenderers; } +declare module "esri/rasterRenderers" { + import rasterRenderers = __esri.rasterRenderers; + export = rasterRenderers; +} + declare module "esri/renderers" { import renderers = __esri.renderers; export = renderers; @@ -77811,16 +82806,31 @@ declare module "esri/renderers/smartMapping/statistics/histogram" { export = histogram; } +declare module "esri/renderers/smartMapping/statistics/predominantCategories" { + import predominantCategories = __esri.predominantCategories; + export = predominantCategories; +} + declare module "esri/renderers/smartMapping/statistics/summaryStatistics" { import summaryStatistics = __esri.summaryStatistics; export = summaryStatistics; } +declare module "esri/renderers/smartMapping/statistics/summaryStatisticsForAge" { + import summaryStatisticsForAge = __esri.summaryStatisticsForAge; + export = summaryStatisticsForAge; +} + declare module "esri/renderers/smartMapping/statistics/uniqueValues" { import uniqueValues = __esri.uniqueValues; export = uniqueValues; } +declare module "esri/renderers/smartMapping/statistics/support/ageUtils" { + import ageUtils = __esri.ageUtils; + export = ageUtils; +} + declare module "esri/renderers/smartMapping/symbology/color" { import symbologyColor = __esri.symbologyColor; export = symbologyColor; @@ -77886,6 +82896,11 @@ declare module "esri/symbols/support/symbolUtils" { export = symbolUtils; } +declare module "esri/views/support/colorUtils" { + import colorUtils = __esri.colorUtils; + export = colorUtils; +} + declare module "esri/views/3d/externalRenderers" { import externalRenderers = __esri.externalRenderers; export = externalRenderers;