UNPKG

@arcgis/map-components

Version:
17,262 lines • 975 kB
{
  "$schema": "https://raw.githubusercontent.com/JetBrains/web-types/master/schema/web-types.json",
  "name": "@arcgis/map-components",
  "version": "4.33.16",
  "description-markup": "markdown",
  "contributions": {
    "html": {
      "elements": [
        {
          "name": "arcgis-area-measurement-2d",
          "description": "The Area Measurement 2D component calculates and displays the area and perimeter of a polygon only in a [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html).\n--\n\n### Events\n- **arcgisPropertyChange** - Emitted when the value of a property is changed. Use this to listen to changes to properties.\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n\n### Methods\n- `clear(): Promise<void>` - Clear the current measurement.\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `destroy(): Promise<void>` - Permanently destroy the component.\n- `start(): Promise<void>` - Starts a new measurement.",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-area-measurement-2d/",
          "attributes": [
            {
              "name": "auto-destroy-disabled",
              "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-area-measurement-2d/#destroy) method when you are done to\nprevent memory leaks.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "icon",
              "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
              "default": "\"measure-area\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "label",
              "description": "The widget's default label.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-AreaMeasurement2D.html#label)",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "position",
              "default": "\"bottom-left\"",
              "value": {
                "type": [
                  "\"bottom-leading\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"bottom-trailing\"",
                  "\"manual\"",
                  "\"top-leading\"",
                  "\"top-left\"",
                  "\"top-right\"",
                  "\"top-trailing\""
                ]
              }
            },
            {
              "name": "reference-element",
              "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "state",
              "description": "The current state of the component.",
              "default": "\"disabled\"",
              "value": {
                "type": [
                  "\"disabled\"",
                  "\"measured\"",
                  "\"measuring\"",
                  "\"ready\""
                ]
              }
            },
            {
              "name": "unit",
              "description": "Unit system (imperial, metric) or specific unit used for displaying the area values.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-AreaMeasurement2D.html#unit)",
              "value": {
                "type": [
                  "\"acres\"",
                  "\"ares\"",
                  "\"hectares\"",
                  "\"imperial\"",
                  "\"metric\"",
                  "\"square-centimeters\"",
                  "\"square-decimeters\"",
                  "\"square-feet\"",
                  "\"square-inches\"",
                  "\"square-kilometers\"",
                  "\"square-meters\"",
                  "\"square-miles\"",
                  "\"square-millimeters\"",
                  "\"square-nautical-miles\"",
                  "\"square-us-feet\"",
                  "\"square-yards\""
                ]
              }
            }
          ],
          "events": [
            {
              "name": "arcgisPropertyChange",
              "type": "{ name: \"state\"; }",
              "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
            },
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            }
          ],
          "js": {
            "properties": [
              {
                "name": "autoDestroyDisabled",
                "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-area-measurement-2d/#destroy) method when you are done to\nprevent memory leaks.",
                "type": "boolean"
              },
              {
                "name": "icon",
                "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
                "type": "string"
              },
              {
                "name": "label",
                "description": "The widget's default label.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-AreaMeasurement2D.html#label)",
                "type": "string"
              },
              {
                "name": "position",
                "type": "\"bottom-leading\" | \"bottom-left\" | \"bottom-right\" | \"bottom-trailing\" | \"manual\" | \"top-leading\" | \"top-left\" | \"top-right\" | \"top-trailing\""
              },
              {
                "name": "referenceElement",
                "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
                "type": "HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string"
              },
              {
                "name": "snappingOptions",
                "description": "The [SnappingOptions](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-interactive-snapping-SnappingOptions.html) for sketching.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-AreaMeasurement2D.html#snappingOptions)",
                "type": "SnappingOptions"
              },
              {
                "name": "state",
                "description": "The current state of the component.",
                "type": "\"disabled\" | \"measured\" | \"measuring\" | \"ready\""
              },
              {
                "name": "unit",
                "description": "Unit system (imperial, metric) or specific unit used for displaying the area values.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-AreaMeasurement2D.html#unit)",
                "type": "\"acres\" | \"ares\" | \"hectares\" | \"imperial\" | \"metric\" | \"square-centimeters\" | \"square-decimeters\" | \"square-feet\" | \"square-inches\" | \"square-kilometers\" | \"square-meters\" | \"square-miles\" | \"square-millimeters\" | \"square-nautical-miles\" | \"square-us-feet\" | \"square-yards\""
              },
              {
                "name": "unitOptions",
                "description": "List of available units and unit systems (imperial, metric) for displaying the area values.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-AreaMeasurement2D.html#unitOptions)",
                "type": "Array<\"square-millimeters\" | \"square-centimeters\" | \"square-decimeters\" | \"square-meters\" | \"square-kilometers\" | \"square-inches\" | \"square-feet\" | \"square-yards\" | \"square-miles\" | \"square-nautical-miles\" | \"square-us-feet\" | \"acres\" | \"ares\" | \"hectares\" | \"imperial\" | \"metric\">"
              }
            ],
            "events": [
              {
                "name": "arcgisPropertyChange",
                "type": "{ name: \"state\"; }",
                "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
              },
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              }
            ]
          }
        },
        {
          "name": "arcgis-area-measurement-3d",
          "description": "The Area Measurement 3D component can be added to a [Scene](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-scene/)\ncomponent to calculate and display area and perimeter of polygons.\n\n[![measurement-area-3d](https://developers.arcgis.com/javascript/latest/assets/img/apiref/widgets/3D_AreaMeasurement_widget.png)](https://developers.arcgis.com/javascript/latest/sample-code/measurement-3d/)\n\nHow the area and perimeter are computed depends on the scene's spatial reference and the length of the measured perimeter.\n\nIn **geographic coordinate systems** (GCS) and in **Web Mercator**:\n- If the measurement's perimeter is below 100 km, they are computed in a Euclidean manner,\n  in an [ECEF](https://en.wikipedia.org/wiki/ECEF) coordinate system (or equivalent on other planets).\n- If the perimeter is above 100 km, they are computed geodetically, and the visualization takes\n  the curvature of the planet into consideration.\n\nIn **projected coordinate systems** (PCS), apart from Web Mercator, the area and perimeter\nare always calculated in a Euclidean manner (in their respective PCS).\n\nThe area may be visualized and calculated in two ways:\n1. If all the vertices are mostly coplanar (lying on the same plane),\n   the measurement polygon is formed on that plane, and area and perimeter are calculated from its geometry.\n2. If the vertices don't form a planar surface, the measurement polygon\n   is projected to a horizontal plane, and area and perimeter are calculated from its geometry.\n\n![area-measurement-3d-types](https://developers.arcgis.com/javascript/latest/assets/img/apiref/widgets/area-measurement-3d-types.png)\n\nWhen the component is active, a horizontal \"laser\" line is drawn which indicates the height at the current mouse position.\nThis line can help in analyzing the heights of objects relative to each other and the terrain.\n\n**Things to consider**\n\n* Area Measurement 3D is designed to work in the Scene component. For measurements in the [Map](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-map/)\ncomponent, use [Area Measurement 2D](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-area-measurement-2d/).\n* Snapping is enabled by default. Holding the `CTRL` key disables it.\n* Layer types currently supported for snapping are:\n[FeatureLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html),\n[GraphicsLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-GraphicsLayer.html) (except Mesh geometries),\n[GeoJSONLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-GeoJSONLayer.html),\n[WFSLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-WFSLayer.html),\n[CSVLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-CSVLayer.html),\n[3D Object SceneLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-SceneLayer.html),\nand [BuildingSceneLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-BuildingSceneLayer.html).\n\n**See also**\n\n- [AreaMeasurementAnalysis](https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-AreaMeasurementAnalysis.html)\n- [Sample - Measurement in 3D](https://developers.arcgis.com/javascript/latest/sample-code/measurement-3d/)\n- [Sample - Analysis objects](https://developers.arcgis.com/javascript/latest/sample-code/analysis-objects/)\n--\n\n### Events\n- **arcgisPropertyChange** - Emitted when the value of a property is changed. Use this to listen to changes to properties.\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n\n### Methods\n- `clear(): Promise<void>` - Clears the current measurement.\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `destroy(): Promise<void>` - Permanently destroy the component.\n- `start(): Promise<void>` - Starts a new measurement.",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-area-measurement-3d/",
          "attributes": [
            {
              "name": "auto-destroy-disabled",
              "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-area-measurement-3d/#destroy) method when you are done to\nprevent memory leaks.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "icon",
              "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
              "default": "\"measure-area\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "label",
              "description": "The component's default label.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "position",
              "default": "\"bottom-left\"",
              "value": {
                "type": [
                  "\"bottom-leading\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"bottom-trailing\"",
                  "\"manual\"",
                  "\"top-leading\"",
                  "\"top-left\"",
                  "\"top-right\"",
                  "\"top-trailing\""
                ]
              }
            },
            {
              "name": "reference-element",
              "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "state",
              "description": "The component's state. The values mean the following:\n\n* `disabled` -  not ready yet\n* `ready` - ready for measuring\n* `measuring` - currently measuring\n* `measured` - measuring has finished",
              "value": {
                "type": [
                  "\"disabled\"",
                  "\"measured\"",
                  "\"measuring\"",
                  "\"ready\""
                ]
              }
            },
            {
              "name": "unit",
              "description": "Unit system (imperial, metric) or specific unit used for displaying the area values. Possible values are listed in\n[unitOptions](#unitOptions).",
              "value": {
                "type": [
                  "\"acres\"",
                  "\"ares\"",
                  "\"hectares\"",
                  "\"imperial\"",
                  "\"metric\"",
                  "\"square-centimeters\"",
                  "\"square-decimeters\"",
                  "\"square-feet\"",
                  "\"square-inches\"",
                  "\"square-kilometers\"",
                  "\"square-meters\"",
                  "\"square-miles\"",
                  "\"square-millimeters\"",
                  "\"square-nautical-miles\"",
                  "\"square-us-feet\"",
                  "\"square-yards\""
                ]
              }
            }
          ],
          "events": [
            {
              "name": "arcgisPropertyChange",
              "type": "{ name: \"state\" | \"analysis\"; }",
              "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
            },
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            }
          ],
          "js": {
            "properties": [
              {
                "name": "analysis",
                "description": "The [AreaMeasurementAnalysis](https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-AreaMeasurementAnalysis.html)\ncreated or modified by the component.\n\nWhen connecting the Area Measurement 3D component to the [Scene](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-scene/)\ncomponent, it automatically creates an empty analysis and adds it to the Scene's\n[analyses](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-scene/#analyses) collection.\nWhenever the component is destroyed, the analysis is automatically removed from the collection.\n\nAlternatively, a programmatically created analysis can be provided to the component.\nThen, the application itself needs to add it to and later remove it from the Scene's analyses collection.\n\n```js\n// Create the analysis.\nconst areaMeasurementAnalysis = new AreaMeasurementAnalysis({\n   geometry: new Polygon({\n     spatialReference: { latestWkid: 3857, wkid: 102100 },\n     rings: [\n       [\n         [-13624861.22274897, 4550346.5519295, 63.378210234455764],\n         [-13624935.305160372, 4550273.144585712, 63.37829629518092],\n         [-13624995.61798748, 4550334.030096778, 63.37819860037416],\n         [-13624921.53589075, 4550407.42357004, 63.3783810287714],\n         [-13624861.22274897, 4550346.5519295, 63.378210234455764]\n       ]\n     ]\n   })\n});\n// Get the Scene and measurement component and wait until they are ready.\nconst viewElement = document.querySelector(\"arcgis-scene\");\nawait viewElement.viewOnReady();\nconst areaMeasurement3d = document.querySelector(\"arcgis-area-measurement-3d\");\nawait areaMeasurement3d.componentOnReady();\n// Add the analysis to the Scene component.\nviewElement.analyses.add(areaMeasurementAnalysis);\n// Connect the analysis to the measurement component:\nareaMeasurement3d.analysis = areaMeasurementAnalysis;\n```",
                "type": "AreaMeasurementAnalysis"
              },
              {
                "name": "autoDestroyDisabled",
                "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-area-measurement-3d/#destroy) method when you are done to\nprevent memory leaks.",
                "type": "boolean"
              },
              {
                "name": "icon",
                "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
                "type": "string"
              },
              {
                "name": "label",
                "description": "The component's default label.",
                "type": "string"
              },
              {
                "name": "position",
                "type": "\"bottom-leading\" | \"bottom-left\" | \"bottom-right\" | \"bottom-trailing\" | \"manual\" | \"top-leading\" | \"top-left\" | \"top-right\" | \"top-trailing\""
              },
              {
                "name": "referenceElement",
                "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
                "type": "HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string"
              },
              {
                "name": "state",
                "description": "The component's state. The values mean the following:\n\n* `disabled` -  not ready yet\n* `ready` - ready for measuring\n* `measuring` - currently measuring\n* `measured` - measuring has finished",
                "type": "\"disabled\" | \"measured\" | \"measuring\" | \"ready\""
              },
              {
                "name": "unit",
                "description": "Unit system (imperial, metric) or specific unit used for displaying the area values. Possible values are listed in\n[unitOptions](#unitOptions).",
                "type": "\"acres\" | \"ares\" | \"hectares\" | \"imperial\" | \"metric\" | \"square-centimeters\" | \"square-decimeters\" | \"square-feet\" | \"square-inches\" | \"square-kilometers\" | \"square-meters\" | \"square-miles\" | \"square-millimeters\" | \"square-nautical-miles\" | \"square-us-feet\" | \"square-yards\""
              },
              {
                "name": "unitOptions",
                "description": "List of available units and unit systems (imperial, metric) that are shown in the component's dropdown.\nBy 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`.\nPossible [unit](#unit) values can only be a subset of this list.",
                "type": "Array<\"square-millimeters\" | \"square-centimeters\" | \"square-decimeters\" | \"square-meters\" | \"square-kilometers\" | \"square-inches\" | \"square-feet\" | \"square-yards\" | \"square-miles\" | \"square-nautical-miles\" | \"square-us-feet\" | \"acres\" | \"ares\" | \"hectares\" | \"imperial\" | \"metric\">"
              }
            ],
            "events": [
              {
                "name": "arcgisPropertyChange",
                "type": "{ name: \"state\" | \"analysis\"; }",
                "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
              },
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              }
            ]
          }
        },
        {
          "name": "arcgis-attachments",
          "description": "### Events\n- **arcgisPropertyChange** - Emitted when the value of a property is changed. Use this to listen to changes to properties.\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n\n### Methods\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `destroy(): Promise<void>` - Permanently destroy the component.",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-attachments/",
          "attributes": [
            {
              "name": "auto-destroy-disabled",
              "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-attachments/#destroy) method when you are done to\nprevent memory leaks.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "display-type",
              "description": "A string value indicating how to display an attachment.",
              "default": "\"auto\"",
              "value": {
                "type": [
                  "\"auto\"",
                  "\"list\"",
                  "\"preview\""
                ]
              }
            },
            {
              "name": "hide-add-button",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-add-submit-button",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-cancel-add-button",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-cancel-update-button",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-delete-button",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-error-message",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-progress-bar",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-update-button",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "icon",
              "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
              "default": "\"attachment\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "label",
              "description": "The widget's label.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Widget.html#label)",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "position",
              "default": "\"bottom-left\"",
              "value": {
                "type": [
                  "\"bottom-leading\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"bottom-trailing\"",
                  "\"manual\"",
                  "\"top-leading\"",
                  "\"top-left\"",
                  "\"top-right\"",
                  "\"top-trailing\""
                ]
              }
            },
            {
              "name": "reference-element",
              "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "state",
              "description": "The current state of the component.",
              "default": "\"ready\"",
              "value": {
                "type": [
                  "\"disabled\"",
                  "\"loading\"",
                  "\"ready\""
                ]
              }
            }
          ],
          "events": [
            {
              "name": "arcgisPropertyChange",
              "type": "{ name: \"state\" | \"submitting\"; }",
              "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
            },
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            }
          ],
          "js": {
            "properties": [
              {
                "name": "autoDestroyDisabled",
                "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-attachments/#destroy) method when you are done to\nprevent memory leaks.",
                "type": "boolean"
              },
              {
                "name": "capabilities",
                "description": "Configures the attachment editing functionality that can be performed by the user.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Attachments.html#capabilities)",
                "type": "AttachmentsCapabilities"
              },
              {
                "name": "displayType",
                "description": "A string value indicating how to display an attachment.",
                "type": "\"auto\" | \"list\" | \"preview\""
              },
              {
                "name": "graphic",
                "description": "The graphic for the attachments.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Attachments.html#graphic)",
                "type": "Graphic"
              },
              {
                "name": "hideAddButton",
                "type": "boolean"
              },
              {
                "name": "hideAddSubmitButton",
                "type": "boolean"
              },
              {
                "name": "hideCancelAddButton",
                "type": "boolean"
              },
              {
                "name": "hideCancelUpdateButton",
                "type": "boolean"
              },
              {
                "name": "hideDeleteButton",
                "type": "boolean"
              },
              {
                "name": "hideErrorMessage",
                "type": "boolean"
              },
              {
                "name": "hideProgressBar",
                "type": "boolean"
              },
              {
                "name": "hideUpdateButton",
                "type": "boolean"
              },
              {
                "name": "icon",
                "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
                "type": "string"
              },
              {
                "name": "label",
                "description": "The widget's label.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Widget.html#label)",
                "type": "string"
              },
              {
                "name": "position",
                "type": "\"bottom-leading\" | \"bottom-left\" | \"bottom-right\" | \"bottom-trailing\" | \"manual\" | \"top-leading\" | \"top-left\" | \"top-right\" | \"top-trailing\""
              },
              {
                "name": "referenceElement",
                "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
                "type": "HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string"
              },
              {
                "name": "state",
                "description": "The current state of the component.",
                "type": "\"disabled\" | \"loading\" | \"ready\""
              },
              {
                "name": "submitting",
                "description": "Indicates whether there is currently an attachment being added, updated or deleted.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Attachments.html#submitting)",
                "type": "boolean"
              }
            ],
            "events": [
              {
                "name": "arcgisPropertyChange",
                "type": "{ name: \"state\" | \"submitting\"; }",
                "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
              },
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              }
            ]
          }
        },
        {
          "name": "arcgis-basemap-gallery",
          "description": "The Basemap Gallery component displays a collection images representing basemaps from [ArcGIS.com](https://www.arcgis.com/index.html) or a user-defined set of map or image services. When a new basemap is selected from the Basemap Gallery, the map's basemap layers are removed and replaced with the basemap layers of the associated basemap selected in the gallery.\n--\n\n### Events\n- **arcgisPropertyChange** - Emitted when the value of a property is changed. Use this to listen to changes to properties.\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n\n### Methods\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `destroy(): Promise<void>` - Permanently destroy the component.",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-basemap-gallery/",
          "attributes": [
            {
              "name": "active-basemap",
              "description": "The map's current [basemap](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap).",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "auto-destroy-disabled",
              "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-basemap-gallery/#destroy) method when you are done to\nprevent memory leaks.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "disabled",
              "description": "When `true`, sets the component to a disabled state so the user cannot interact with it.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "heading-level",
              "description": "Indicates the heading level to use for the message \"No basemaps available\"\nwhen no basemaps are available in the Basemap Gallery.",
              "default": "2",
              "value": {
                "type": [
                  "1",
                  "2",
                  "3",
                  "4",
                  "5",
                  "6"
                ]
              }
            },
            {
              "name": "icon",
              "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
              "default": "\"basemap\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "label",
              "description": "The component's default label.",
              "default": "\"\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "position",
              "default": "\"bottom-left\"",
              "value": {
                "type": [
                  "\"bottom-leading\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"bottom-trailing\"",
                  "\"manual\"",
                  "\"top-leading\"",
                  "\"top-left\"",
                  "\"top-right\"",
                  "\"top-trailing\""
                ]
              }
            },
            {
              "name": "reference-element",
              "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "state",
              "description": "The current state of the component.",
              "default": "\"disabled\"",
              "value": {
                "type": [
                  "\"disabled\"",
                  "\"loading\"",
                  "\"ready\"",
                  "\"unsupported\""
                ]
              }
            }
          ],
          "events": [
            {
              "name": "arcgisPropertyChange",
              "type": "{ name: \"state\" | \"activeBasemap\"; }",
              "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
            },
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            }
          ],
          "js": {
            "properties": [
              {
                "name": "activeBasemap",
                "description": "The map's current [basemap](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap).",
                "type": "BasemapProperties | string"
              },
              {
                "name": "autoDestroyDisabled",
                "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-basemap-gallery/#destroy) method when you are done to\nprevent memory leaks.",
                "type": "boolean"
              },
              {
                "name": "disabled",
                "description": "When `true`, sets the component to a disabled state so the user cannot interact with it.",
                "type": "boolean"
              },
              {
                "name": "headingLevel",
                "description": "Indicates the heading level to use for the message \"No basemaps available\"\nwhen no basemaps are available in the Basemap Gallery.",
                "type": "1 | 2 | 3 | 4 | 5 | 6"
              },
              {
                "name": "icon",
                "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
                "type": "string"
              },
              {
                "name": "label",
                "description": "The component's default label.",
                "type": "string"
              },
              {
                "name": "messageOverrides",
                "description": "Replace localized message strings with your own strings.\n\n_**Note**: Individual message keys may change between releases._",
                "type": "Record<string, unknown>"
              },
              {
                "name": "position",
                "type": "\"bottom-leading\" | \"bottom-left\" | \"bottom-right\" | \"bottom-trailing\" | \"manual\" | \"top-leading\" | \"top-left\" | \"top-right\" | \"top-trailing\""
              },
              {
                "name": "referenceElement",
                "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
                "type": "HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string"
              },
              {
                "name": "source",
                "description": "The source for basemaps that the component will display.",
                "type": "LocalBasemapsSource | PortalBasemapsSource"
              },
              {
                "name": "state",
                "description": "The current state of the component.",
                "type": "\"disabled\" | \"loading\" | \"ready\" | \"unsupported\""
              }
            ],
            "events": [
              {
                "name": "arcgisPropertyChange",
                "type": "{ name: \"state\" | \"activeBasemap\"; }",
                "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
              },
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              }
            ]
          }
        },
        {
          "name": "arcgis-basemap-layer-list",
          "description": "The Basemap Layer List component 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.\n--\n\n### Events\n- **arcgisClose** - Emitted when the component's close button is clicked.\n- **arcgisPropertyChange** - Emitted when the value of a property is changed. Use this to listen to changes to properties.\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n- **arcgisTriggerAction** - Emitted when an action is triggered on the component.\n\n### Methods\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `destroy(): Promise<void>` - Permanently destroy the component.",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-basemap-layer-list/",
          "attributes": [
            {
              "name": "auto-destroy-disabled",
              "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-basemap-layer-list/#destroy) method when you are done to\nprevent memory leaks.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "base-filter-text",
              "description": "The value of the filter input text string if [visibleElements.filter](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapLayerList.html#visibleElements) is true.",
              "default": "\"\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "basemap-title",
              "description": "The current basemap's title.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapLayerList.html#basemapTitle)",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "closed",
              "description": "Indicates whether a component is closed. When `true`, the component will be hidden.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "collapsed",
              "description": "Indicates whether the widget is collapsed.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "drag-enabled",
              "description": "Indicates whether [list items](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LayerList-ListItem.html) may be reordered within the list by dragging and dropping.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "editing-title",
              "description": "Indicates whether the form to edit the basemap's title is currently visible.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "filter-placeholder",
              "description": "Placeholder text used in the filter input if [visibleElements.filter](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapLayerList.html#visibleElements) is true.",
              "default": "\"\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "heading-level",
              "description": "Indicates the heading level to use for the widget title (i.e.",
              "default": "2",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "hide-base-layers",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-flow",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-heading",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-reference-layers",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-status-indicators",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "icon",
              "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
              "default": "\"layers\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "label",
              "description": "The widget's default label.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapLayerList.html#label)",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "min-filter-items",
              "description": "The minimum number of list items required to display the visibleElements.filter input box.",
              "default": "10",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "position",
              "default": "\"bottom-left\"",
              "value": {
                "type": [
                  "\"bottom-leading\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"bottom-trailing\"",
                  "\"manual\"",
                  "\"top-leading\"",
                  "\"top-left\"",
                  "\"top-right\"",
                  "\"top-trailing\""
                ]
              }
            },
            {
              "name": "reference-element",
              "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "reference-filter-text",
              "description": "The value of the filter input text string if [visibleElements.filter](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapLayerList.html#visibleElements) is true.",
              "default": "\"\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "selection-mode",
              "description": "Specifies the selection mode.",
              "default": "\"none\"",
              "value": {
                "type": [
                  "\"multiple\"",
                  "\"none\"",
                  "\"single\"",
                  "\"single-persist\""
                ]
              }
            },
            {
              "name": "show-close-button",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "show-collapse-button",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "show-edit-title-button",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "show-errors",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "show-filter",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "show-temporary-layer-indicators",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "state",
              "description": "The current state of the component.",
              "default": "\"disabled\"",
              "value": {
                "type": [
                  "\"disabled\"",
                  "\"loading\"",
                  "\"ready\""
                ]
              }
            },
            {
              "name": "visibility-appearance",
              "description": "Determines the icons used to indicate visibility.",
              "default": "\"default\"",
              "value": {
                "type": [
                  "\"checkbox\"",
                  "\"default\""
                ]
              }
            }
          ],
          "events": [
            {
              "name": "arcgisClose",
              "type": "void",
              "description": "Emitted when the component's close button is clicked."
            },
            {
              "name": "arcgisPropertyChange",
              "type": "{ name: \"state\"; }",
              "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
            },
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            },
            {
              "name": "arcgisTriggerAction",
              "type": "BasemapLayerListTriggerActionEvent",
              "description": "Emitted when an action is triggered on the component."
            }
          ],
          "js": {
            "properties": [
              {
                "name": "autoDestroyDisabled",
                "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-basemap-layer-list/#destroy) method when you are done to\nprevent memory leaks.",
                "type": "boolean"
              },
              {
                "name": "baseFilterPredicate",
                "description": "Specifies a function to handle filtering base layer [list items](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LayerList-ListItem.html).",
                "type": "(((item: ListItem) => void))"
              },
              {
                "name": "baseFilterText",
                "description": "The value of the filter input text string if [visibleElements.filter](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapLayerList.html#visibleElements) is true.",
                "type": "string"
              },
              {
                "name": "baseItems",
                "description": "A collection of ListItems representing the baseLayers.",
                "type": "Collection<ListItem>"
              },
              {
                "name": "baseListItemCreatedFunction",
                "description": "Specifies a function that accesses each [ListItem](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LayerList-ListItem.html) representing a base layer.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapLayerList.html#baseListItemCreatedFunction)",
                "type": "(((event: ListItemCreatedHandlerEvent) => void))"
              },
              {
                "name": "basemapTitle",
                "description": "The current basemap's title.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapLayerList.html#basemapTitle)",
                "type": "string"
              },
              {
                "name": "catalogLayerList",
                "description": "The CatalogLayerList that displays a catalog layer's dynamic group layer.",
                "type": "CatalogLayerList"
              },
              {
                "name": "catalogOptions",
                "description": "[CatalogLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-CatalogLayer.html) specific properties.",
                "type": "BasemapLayerListCatalogOptions"
              },
              {
                "name": "closed",
                "description": "Indicates whether a component is closed. When `true`, the component will be hidden.",
                "type": "boolean"
              },
              {
                "name": "collapsed",
                "description": "Indicates whether the widget is collapsed.",
                "type": "boolean"
              },
              {
                "name": "dragEnabled",
                "description": "Indicates whether [list items](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LayerList-ListItem.html) may be reordered within the list by dragging and dropping.",
                "type": "boolean"
              },
              {
                "name": "editingTitle",
                "description": "Indicates whether the form to edit the basemap's title is currently visible.",
                "type": "boolean"
              },
              {
                "name": "filterPlaceholder",
                "description": "Placeholder text used in the filter input if [visibleElements.filter](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapLayerList.html#visibleElements) is true.",
                "type": "string"
              },
              {
                "name": "headingLevel",
                "description": "Indicates the heading level to use for the widget title (i.e.",
                "type": "number"
              },
              {
                "name": "hideBaseLayers",
                "type": "boolean"
              },
              {
                "name": "hideFlow",
                "type": "boolean"
              },
              {
                "name": "hideHeading",
                "type": "boolean"
              },
              {
                "name": "hideReferenceLayers",
                "type": "boolean"
              },
              {
                "name": "hideStatusIndicators",
                "type": "boolean"
              },
              {
                "name": "icon",
                "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
                "type": "string"
              },
              {
                "name": "label",
                "description": "The widget's default label.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapLayerList.html#label)",
                "type": "string"
              },
              {
                "name": "minFilterItems",
                "description": "The minimum number of list items required to display the visibleElements.filter input box.",
                "type": "number"
              },
              {
                "name": "position",
                "type": "\"bottom-leading\" | \"bottom-left\" | \"bottom-right\" | \"bottom-trailing\" | \"manual\" | \"top-leading\" | \"top-left\" | \"top-right\" | \"top-trailing\""
              },
              {
                "name": "referenceElement",
                "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
                "type": "HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string"
              },
              {
                "name": "referenceFilterPredicate",
                "description": "Specifies a function to handle filtering reference layer [list items](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LayerList-ListItem.html).",
                "type": "(((item: ListItem) => void))"
              },
              {
                "name": "referenceFilterText",
                "description": "The value of the filter input text string if [visibleElements.filter](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapLayerList.html#visibleElements) is true.",
                "type": "string"
              },
              {
                "name": "referenceItems",
                "description": "A collection of ListItems representing the referenceLayers.",
                "type": "Collection<ListItem>"
              },
              {
                "name": "referenceListItemCreatedFunction",
                "description": "Specifies a function that accesses each [ListItem](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LayerList-ListItem.html) representing a reference layer.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapLayerList.html#referenceListItemCreatedFunction)",
                "type": "(((event: ListItemCreatedHandlerEvent) => void))"
              },
              {
                "name": "selectedItems",
                "description": "A collection of selected [ListItem](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LayerList-ListItem.html)s representing basemap layers\nselected by the user.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapLayerList.html#selectedItems)",
                "type": "Collection<ListItem>"
              },
              {
                "name": "selectionMode",
                "description": "Specifies the selection mode.",
                "type": "\"multiple\" | \"none\" | \"single\" | \"single-persist\""
              },
              {
                "name": "showCloseButton",
                "type": "boolean"
              },
              {
                "name": "showCollapseButton",
                "type": "boolean"
              },
              {
                "name": "showEditTitleButton",
                "type": "boolean"
              },
              {
                "name": "showErrors",
                "type": "boolean"
              },
              {
                "name": "showFilter",
                "type": "boolean"
              },
              {
                "name": "showTemporaryLayerIndicators",
                "type": "boolean"
              },
              {
                "name": "state",
                "description": "The current state of the component.",
                "type": "\"disabled\" | \"loading\" | \"ready\""
              },
              {
                "name": "visibilityAppearance",
                "description": "Determines the icons used to indicate visibility.",
                "type": "\"checkbox\" | \"default\""
              }
            ],
            "events": [
              {
                "name": "arcgisClose",
                "type": "void",
                "description": "Emitted when the component's close button is clicked."
              },
              {
                "name": "arcgisPropertyChange",
                "type": "{ name: \"state\"; }",
                "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
              },
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              },
              {
                "name": "arcgisTriggerAction",
                "type": "BasemapLayerListTriggerActionEvent",
                "description": "Emitted when an action is triggered on the component."
              }
            ]
          }
        },
        {
          "name": "arcgis-basemap-toggle",
          "description": "The Basemap Toggle component allows an end-user to switch between two basemaps.\n\nThe basemaps can have different spatial references.\n--\n\n### Events\n- **arcgisPropertyChange** - Emitted when the value of a property is changed. Use this to listen to changes to properties.\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n\n### Methods\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `destroy(): Promise<void>` - Permanently destroy the component.\n- `toggle(): Promise<any>` - Toggles to the [next basemap](#nextBasemap).",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-basemap-toggle/",
          "attributes": [
            {
              "name": "auto-destroy-disabled",
              "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-basemap-toggle/#destroy) method when you are done to\nprevent memory leaks.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "icon",
              "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
              "default": "\"layer-basemap\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "label",
              "description": "The component's default label.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "next-basemap",
              "description": "The next basemap for toggling.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "position",
              "default": "\"top-left\"",
              "value": {
                "type": [
                  "\"bottom-leading\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"bottom-trailing\"",
                  "\"manual\"",
                  "\"top-leading\"",
                  "\"top-left\"",
                  "\"top-right\"",
                  "\"top-trailing\""
                ]
              }
            },
            {
              "name": "reference-element",
              "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "show-title",
              "description": "Indicates if the Basemap title is displayed.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "state",
              "description": "The current state of the component.",
              "default": "\"disabled\"",
              "value": {
                "type": [
                  "\"disabled\"",
                  "\"incompatible-next-basemap\"",
                  "\"loading\"",
                  "\"ready\""
                ]
              }
            }
          ],
          "events": [
            {
              "name": "arcgisPropertyChange",
              "type": "{ name: \"state\" | \"activeBasemap\" | \"nextBasemap\"; }",
              "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
            },
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            }
          ],
          "js": {
            "properties": [
              {
                "name": "activeBasemap",
                "description": "The map's current [basemap](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap).",
                "type": "Basemap"
              },
              {
                "name": "autoDestroyDisabled",
                "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-basemap-toggle/#destroy) method when you are done to\nprevent memory leaks.",
                "type": "boolean"
              },
              {
                "name": "icon",
                "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
                "type": "string"
              },
              {
                "name": "label",
                "description": "The component's default label.",
                "type": "string"
              },
              {
                "name": "messageOverrides",
                "description": "Replace localized message strings with your own strings.\n\n_**Note**: Individual message keys may change between releases._",
                "type": "Record<string, unknown>"
              },
              {
                "name": "nextBasemap",
                "description": "The next basemap for toggling.",
                "type": "BasemapProperties | string"
              },
              {
                "name": "position",
                "type": "\"bottom-leading\" | \"bottom-left\" | \"bottom-right\" | \"bottom-trailing\" | \"manual\" | \"top-leading\" | \"top-left\" | \"top-right\" | \"top-trailing\""
              },
              {
                "name": "referenceElement",
                "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
                "type": "HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string"
              },
              {
                "name": "showTitle",
                "description": "Indicates if the Basemap title is displayed.",
                "type": "boolean"
              },
              {
                "name": "state",
                "description": "The current state of the component.",
                "type": "\"disabled\" | \"incompatible-next-basemap\" | \"loading\" | \"ready\""
              }
            ],
            "events": [
              {
                "name": "arcgisPropertyChange",
                "type": "{ name: \"state\" | \"activeBasemap\" | \"nextBasemap\"; }",
                "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
              },
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              }
            ]
          }
        },
        {
          "name": "arcgis-bookmarks",
          "description": "The Bookmarks component allow end users to quickly navigate to a particular area of interest. It displays a list of [bookmarks](https://developers.arcgis.com/javascript/latest/api-reference/esri-webmap-Bookmark.html), which are typically defined inside the [WebMap](https://developers.arcgis.com/javascript/latest/api-reference/esri-WebMap.html#bookmarks).\n--\n\n### Events\n- **arcgisClose** - Emitted when the component's close button is clicked.\n- **arcgisEdit**\n- **arcgisPropertyChange** - Emitted when the value of a property is changed. Use this to listen to changes to properties.\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n- **arcgisSelect**\n\n### Methods\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `destroy(): Promise<void>` - Permanently destroy the component.",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-bookmarks/",
          "attributes": [
            {
              "name": "auto-destroy-disabled",
              "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-bookmarks/#destroy) method when you are done to\nprevent memory leaks.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "closed",
              "description": "Indicates whether a component is closed. When `true`, the component will be hidden.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "disabled",
              "description": "When true, the widget is visually withdrawn and cannot be interacted with.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "drag-enabled",
              "description": "Indicates if a Bookmark is able to be dragged in order to update its position in the list.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "filter-placeholder",
              "description": "Defines the text used as a placeholder when visibleElements.filter is set to `true`.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Bookmarks.html#filterPlaceholder)",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "filter-text",
              "description": "Defines the text used to filter the bookmarks when visibleElements.filter is set to `true`.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Bookmarks.html#filterText)",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "hide-flow",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-thumbnail",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-time",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "icon",
              "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
              "default": "\"bookmark\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "label",
              "description": "The widget's default label.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Bookmarks.html#label)",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "position",
              "default": "\"bottom-left\"",
              "value": {
                "type": [
                  "\"bottom-leading\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"bottom-trailing\"",
                  "\"manual\"",
                  "\"top-leading\"",
                  "\"top-left\"",
                  "\"top-right\"",
                  "\"top-trailing\""
                ]
              }
            },
            {
              "name": "reference-element",
              "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "show-add-bookmark-button",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "show-close-button",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "show-collapse-button",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "show-edit-bookmark-button",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "show-filter",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "show-heading",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "state",
              "description": "The current state of the component.",
              "default": "\"ready\"",
              "value": {
                "type": [
                  "\"loading\"",
                  "\"ready\""
                ]
              }
            }
          ],
          "events": [
            {
              "name": "arcgisClose",
              "type": "void",
              "description": "Emitted when the component's close button is clicked."
            },
            {
              "name": "arcgisEdit",
              "type": "BookmarksBookmarkEditEvent"
            },
            {
              "name": "arcgisPropertyChange",
              "type": "{ name: \"state\"; }",
              "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
            },
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            },
            {
              "name": "arcgisSelect",
              "type": "BookmarksBookmarkSelectEvent"
            }
          ],
          "js": {
            "properties": [
              {
                "name": "autoDestroyDisabled",
                "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-bookmarks/#destroy) method when you are done to\nprevent memory leaks.",
                "type": "boolean"
              },
              {
                "name": "bookmarks",
                "description": "A collection of [Bookmark](https://developers.arcgis.com/javascript/latest/api-reference/esri-webmap-Bookmark.html)s.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Bookmarks.html#bookmarks)",
                "type": "Collection<Bookmark>"
              },
              {
                "name": "closed",
                "description": "Indicates whether a component is closed. When `true`, the component will be hidden.",
                "type": "boolean"
              },
              {
                "name": "defaultCreateOptions",
                "description": "Specifies how new bookmarks will be created if [visibleElements.addBookmarkButton](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Bookmarks.html#VisibleElements) is set to `true`.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Bookmarks.html#defaultCreateOptions)",
                "type": "BookmarkOptions"
              },
              {
                "name": "defaultEditOptions",
                "description": "Specifies how bookmarks will be edited, if [visibleElements.editBookmarkButton](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Bookmarks.html#VisibleElements) is set to `true`.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Bookmarks.html#defaultEditOptions)",
                "type": "BookmarkOptions"
              },
              {
                "name": "disabled",
                "description": "When true, the widget is visually withdrawn and cannot be interacted with.",
                "type": "boolean"
              },
              {
                "name": "dragEnabled",
                "description": "Indicates if a Bookmark is able to be dragged in order to update its position in the list.",
                "type": "boolean"
              },
              {
                "name": "filterPlaceholder",
                "description": "Defines the text used as a placeholder when visibleElements.filter is set to `true`.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Bookmarks.html#filterPlaceholder)",
                "type": "string"
              },
              {
                "name": "filterText",
                "description": "Defines the text used to filter the bookmarks when visibleElements.filter is set to `true`.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Bookmarks.html#filterText)",
                "type": "string"
              },
              {
                "name": "goToOverride",
                "description": "This function provides the ability to override either the\n[MapView goTo()](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#goTo) or\n[SceneView goTo()](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#goTo) methods.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Bookmarks.html#goToOverride)",
                "type": "(((view: MapView | SceneView, goToParameters: GoToParameters) => void))"
              },
              {
                "name": "hideFlow",
                "type": "boolean"
              },
              {
                "name": "hideThumbnail",
                "type": "boolean"
              },
              {
                "name": "hideTime",
                "type": "boolean"
              },
              {
                "name": "icon",
                "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
                "type": "string"
              },
              {
                "name": "label",
                "description": "The widget's default label.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Bookmarks.html#label)",
                "type": "string"
              },
              {
                "name": "position",
                "type": "\"bottom-leading\" | \"bottom-left\" | \"bottom-right\" | \"bottom-trailing\" | \"manual\" | \"top-leading\" | \"top-left\" | \"top-right\" | \"top-trailing\""
              },
              {
                "name": "referenceElement",
                "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
                "type": "HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string"
              },
              {
                "name": "showAddBookmarkButton",
                "type": "boolean"
              },
              {
                "name": "showCloseButton",
                "type": "boolean"
              },
              {
                "name": "showCollapseButton",
                "type": "boolean"
              },
              {
                "name": "showEditBookmarkButton",
                "type": "boolean"
              },
              {
                "name": "showFilter",
                "type": "boolean"
              },
              {
                "name": "showHeading",
                "type": "boolean"
              },
              {
                "name": "state",
                "description": "The current state of the component.",
                "type": "\"loading\" | \"ready\""
              }
            ],
            "events": [
              {
                "name": "arcgisClose",
                "type": "void",
                "description": "Emitted when the component's close button is clicked."
              },
              {
                "name": "arcgisEdit",
                "type": "BookmarksBookmarkEditEvent"
              },
              {
                "name": "arcgisPropertyChange",
                "type": "{ name: \"state\"; }",
                "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
              },
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              },
              {
                "name": "arcgisSelect",
                "type": "BookmarksBookmarkSelectEvent"
              }
            ]
          }
        },
        {
          "name": "arcgis-building-explorer",
          "description": "The Building Explorer component is used to filter and explore the various components of [BuildingSceneLayers](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-BuildingSceneLayer.html). BuildingSceneLayers are complex digital models of buildings and interiors and can contain thousands of components grouped in sublayers. Using this component, buildings can be filtered by level, construction phase or by disciplines and categories.\n\n**Known limitations**\n\nBuilding Explorer is only supported in a 3D [Scene](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-scene/) component.\n--\n\n### Events\n- **arcgisPropertyChange** - Emitted when the value of a property is changed. Use this to listen to changes to properties.\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n\n### Methods\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `destroy(): Promise<void>` - Permanently destroy the component.",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-building-explorer/",
          "attributes": [
            {
              "name": "auto-destroy-disabled",
              "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-building-explorer/#destroy) method when you are done to\nprevent memory leaks.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "heading-level",
              "description": "Indicates the heading level to use for the component title.",
              "default": "3",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "hide-disciplines",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-levels",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-phases",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "icon",
              "description": "Icon which represents the component. Typically used when the component is controlled by another component (e.g. by the Expand component).\n\nSee also: [Calcite Icons](https://developers.arcgis.com/calcite-design-system/icons/)",
              "default": "\"organization\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "label",
              "description": "The component's default label.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "position",
              "default": "\"bottom-left\"",
              "value": {
                "type": [
                  "\"bottom-leading\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"bottom-trailing\"",
                  "\"manual\"",
                  "\"top-leading\"",
                  "\"top-left\"",
                  "\"top-right\"",
                  "\"top-trailing\""
                ]
              }
            },
            {
              "name": "reference-element",
              "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "state",
              "description": "The component's state. The values mean the following:\n\n* `disabled` -  \tcomponent is being created\n* `loading` - layers and statistics are loading\n* `ready` - component is ready\n* `failed` - component failed to load data",
              "default": "\"disabled\"",
              "value": {
                "type": [
                  "\"disabled\"",
                  "\"failed\"",
                  "\"loading\"",
                  "\"ready\""
                ]
              }
            }
          ],
          "events": [
            {
              "name": "arcgisPropertyChange",
              "type": "{ name: \"state\" | \"level\" | \"phase\"; }",
              "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
            },
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            }
          ],
          "js": {
            "properties": [
              {
                "name": "autoDestroyDisabled",
                "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-building-explorer/#destroy) method when you are done to\nprevent memory leaks.",
                "type": "boolean"
              },
              {
                "name": "headingLevel",
                "description": "Indicates the heading level to use for the component title.",
                "type": "number"
              },
              {
                "name": "hideDisciplines",
                "type": "boolean"
              },
              {
                "name": "hideLevels",
                "type": "boolean"
              },
              {
                "name": "hidePhases",
                "type": "boolean"
              },
              {
                "name": "icon",
                "description": "Icon which represents the component. Typically used when the component is controlled by another component (e.g. by the Expand component).\n\nSee also: [Calcite Icons](https://developers.arcgis.com/calcite-design-system/icons/)",
                "type": "string"
              },
              {
                "name": "label",
                "description": "The component's default label.",
                "type": "string"
              },
              {
                "name": "layers",
                "description": "A [collection](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Collection.html)\nof layers of type [BuildingSceneLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-BuildingSceneLayer.html)\nthat are added to the componen for exploration.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BuildingExplorer.html#layers)",
                "type": "Collection<BuildingSceneLayer>"
              },
              {
                "name": "level",
                "description": "Contains information about the level filter, such as\nthe value selected by the user in the Level element\nor the minimum and maximum allowed values.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BuildingExplorer-BuildingExplorerViewModel.html#level)",
                "type": "BuildingLevel"
              },
              {
                "name": "phase",
                "description": "Contains information about the construction phase filter, such as\nthe value selected by the user in the Construction phases element\nand the minimum and maximum allowed values.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BuildingExplorer-BuildingExplorerViewModel.html#phase)",
                "type": "BuildingPhase"
              },
              {
                "name": "position",
                "type": "\"bottom-leading\" | \"bottom-left\" | \"bottom-right\" | \"bottom-trailing\" | \"manual\" | \"top-leading\" | \"top-left\" | \"top-right\" | \"top-trailing\""
              },
              {
                "name": "referenceElement",
                "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
                "type": "HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string"
              },
              {
                "name": "state",
                "description": "The component's state. The values mean the following:\n\n* `disabled` -  \tcomponent is being created\n* `loading` - layers and statistics are loading\n* `ready` - component is ready\n* `failed` - component failed to load data",
                "type": "\"disabled\" | \"failed\" | \"loading\" | \"ready\""
              }
            ],
            "events": [
              {
                "name": "arcgisPropertyChange",
                "type": "{ name: \"state\" | \"level\" | \"phase\"; }",
                "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
              },
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              }
            ]
          }
        },
        {
          "name": "arcgis-catalog-layer-list",
          "description": "The Catalog Layer List component provides a way to display and interact with CatalogLayers.\n--\n\n### Events\n- **arcgisClose** - Emitted when the component's close button is clicked.\n- **arcgisPropertyChange** - Emitted when the value of a property is changed. Use this to listen to changes to properties.\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n- **arcgisTriggerAction** - Emitted when an action is triggered on the component.\n\n### Methods\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `destroy(): Promise<void>` - Permanently destroy the component.",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-catalog-layer-list/",
          "attributes": [
            {
              "name": "auto-destroy-disabled",
              "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-catalog-layer-list/#destroy) method when you are done to\nprevent memory leaks.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "closed",
              "description": "Indicates whether a component is closed. When `true`, the component will be hidden.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "collapsed",
              "description": "Indicates whether the widget is collapsed.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "filter-placeholder",
              "description": "Placeholder text used in the filter input if [visibleElements.filter](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-CatalogLayerList.html#visibleElements) is true.",
              "default": "\"\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "filter-text",
              "description": "The value of the filter input if [visibleElements.filter](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-CatalogLayerList.html#visibleElements) is true.",
              "default": "\"\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "heading-level",
              "description": "Indicates the heading level to use for the heading of the widget.",
              "default": "2",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "hide-flow",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-status-indicators",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "icon",
              "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
              "default": "\"catalog-dataset\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "label",
              "description": "The widget's default label.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-CatalogLayerList.html#label)",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "min-filter-items",
              "description": "The minimum number of list items required to display the visibleElements.filter input box.",
              "default": "10",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "position",
              "default": "\"bottom-left\"",
              "value": {
                "type": [
                  "\"bottom-leading\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"bottom-trailing\"",
                  "\"manual\"",
                  "\"top-leading\"",
                  "\"top-left\"",
                  "\"top-right\"",
                  "\"top-trailing\""
                ]
              }
            },
            {
              "name": "reference-element",
              "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "selection-mode",
              "description": "Specifies the selection mode.",
              "default": "\"none\"",
              "value": {
                "type": [
                  "\"multiple\"",
                  "\"none\"",
                  "\"single\"",
                  "\"single-persist\""
                ]
              }
            },
            {
              "name": "show-close-button",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "show-collapse-button",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "show-errors",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "show-filter",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "show-heading",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "show-temporary-layer-indicators",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "state",
              "description": "The current state of the component.",
              "default": "\"disabled\"",
              "value": {
                "type": [
                  "\"disabled\"",
                  "\"loading\"",
                  "\"ready\""
                ]
              }
            },
            {
              "name": "visibility-appearance",
              "description": "Determines the icons used to indicate visibility.",
              "default": "\"default\"",
              "value": {
                "type": [
                  "\"checkbox\"",
                  "\"default\""
                ]
              }
            }
          ],
          "events": [
            {
              "name": "arcgisClose",
              "type": "void",
              "description": "Emitted when the component's close button is clicked."
            },
            {
              "name": "arcgisPropertyChange",
              "type": "{ name: \"state\"; }",
              "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
            },
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            },
            {
              "name": "arcgisTriggerAction",
              "type": "CatalogLayerListTriggerActionEvent",
              "description": "Emitted when an action is triggered on the component."
            }
          ],
          "js": {
            "properties": [
              {
                "name": "autoDestroyDisabled",
                "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-catalog-layer-list/#destroy) method when you are done to\nprevent memory leaks.",
                "type": "boolean"
              },
              {
                "name": "catalogItems",
                "description": "A collection of ListItems representing the catalogLayers dynamicGroupLayer.",
                "type": "Collection<ListItem>"
              },
              {
                "name": "catalogLayer",
                "description": "The [CatalogLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-CatalogLayer.html) to display in the widget.",
                "type": "CatalogLayer"
              },
              {
                "name": "closed",
                "description": "Indicates whether a component is closed. When `true`, the component will be hidden.",
                "type": "boolean"
              },
              {
                "name": "collapsed",
                "description": "Indicates whether the widget is collapsed.",
                "type": "boolean"
              },
              {
                "name": "filterPlaceholder",
                "description": "Placeholder text used in the filter input if [visibleElements.filter](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-CatalogLayerList.html#visibleElements) is true.",
                "type": "string"
              },
              {
                "name": "filterPredicate",
                "description": "Specifies a function to handle filtering [list items](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LayerList-ListItem.html).",
                "type": "(((item: ListItem) => void))"
              },
              {
                "name": "filterText",
                "description": "The value of the filter input if [visibleElements.filter](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-CatalogLayerList.html#visibleElements) is true.",
                "type": "string"
              },
              {
                "name": "headingLevel",
                "description": "Indicates the heading level to use for the heading of the widget.",
                "type": "number"
              },
              {
                "name": "hideFlow",
                "type": "boolean"
              },
              {
                "name": "hideStatusIndicators",
                "type": "boolean"
              },
              {
                "name": "icon",
                "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
                "type": "string"
              },
              {
                "name": "label",
                "description": "The widget's default label.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-CatalogLayerList.html#label)",
                "type": "string"
              },
              {
                "name": "listItemCreatedFunction",
                "description": "A function that executes each time a [ListItem](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LayerList-ListItem.html) is created.",
                "type": "(((event: CatalogLayerListListItemCreatedHandlerEvent) => void))"
              },
              {
                "name": "minFilterItems",
                "description": "The minimum number of list items required to display the visibleElements.filter input box.",
                "type": "number"
              },
              {
                "name": "position",
                "type": "\"bottom-leading\" | \"bottom-left\" | \"bottom-right\" | \"bottom-trailing\" | \"manual\" | \"top-leading\" | \"top-left\" | \"top-right\" | \"top-trailing\""
              },
              {
                "name": "referenceElement",
                "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
                "type": "HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string"
              },
              {
                "name": "selectedItems",
                "description": "A collection of selected [ListItems](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LayerList-ListItem.html) representing [catalogItems](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-CatalogLayerList.html#catalogItems)\nselected by the user.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-CatalogLayerList.html#selectedItems)",
                "type": "Collection<ListItem>"
              },
              {
                "name": "selectionMode",
                "description": "Specifies the selection mode.",
                "type": "\"multiple\" | \"none\" | \"single\" | \"single-persist\""
              },
              {
                "name": "showCloseButton",
                "type": "boolean"
              },
              {
                "name": "showCollapseButton",
                "type": "boolean"
              },
              {
                "name": "showErrors",
                "type": "boolean"
              },
              {
                "name": "showFilter",
                "type": "boolean"
              },
              {
                "name": "showHeading",
                "type": "boolean"
              },
              {
                "name": "showTemporaryLayerIndicators",
                "type": "boolean"
              },
              {
                "name": "state",
                "description": "The current state of the component.",
                "type": "\"disabled\" | \"loading\" | \"ready\""
              },
              {
                "name": "visibilityAppearance",
                "description": "Determines the icons used to indicate visibility.",
                "type": "\"checkbox\" | \"default\""
              }
            ],
            "events": [
              {
                "name": "arcgisClose",
                "type": "void",
                "description": "Emitted when the component's close button is clicked."
              },
              {
                "name": "arcgisPropertyChange",
                "type": "{ name: \"state\"; }",
                "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
              },
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              },
              {
                "name": "arcgisTriggerAction",
                "type": "CatalogLayerListTriggerActionEvent",
                "description": "Emitted when an action is triggered on the component."
              }
            ]
          }
        },
        {
          "name": "arcgis-compass",
          "description": "The Compass component indicates where north is in relation to the current view [rotation](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#rotation) or [camera heading](https://developers.arcgis.com/javascript/latest/api-reference/esri-Camera.html#heading).\n--\n\n### Events\n- **arcgisPropertyChange** - Emitted when the value of a property is changed. Use this to listen to changes to properties.\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n\n### Methods\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `destroy(): Promise<void>`\n- `reset(): Promise<void>`",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-compass/",
          "attributes": [
            {
              "name": "auto-destroy-disabled",
              "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-compass/#destroy) method when you are done to\nprevent memory leaks.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "icon",
              "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "label",
              "description": "The component's default label.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "position",
              "default": "\"top-left\"",
              "value": {
                "type": [
                  "\"bottom-leading\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"bottom-trailing\"",
                  "\"manual\"",
                  "\"top-leading\"",
                  "\"top-left\"",
                  "\"top-right\"",
                  "\"top-trailing\""
                ]
              }
            },
            {
              "name": "reference-element",
              "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "state",
              "description": "The current state of the component.",
              "default": "\"disabled\"",
              "value": {
                "type": [
                  "\"compass\"",
                  "\"disabled\"",
                  "\"rotation\""
                ]
              }
            }
          ],
          "events": [
            {
              "name": "arcgisPropertyChange",
              "type": "{ name: \"state\" | \"orientation\"; }",
              "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
            },
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            }
          ],
          "js": {
            "properties": [
              {
                "name": "autoDestroyDisabled",
                "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-compass/#destroy) method when you are done to\nprevent memory leaks.",
                "type": "boolean"
              },
              {
                "name": "goToOverride",
                "description": "This function provides the ability to override either the\n[MapView goTo()](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#goTo) or\n[SceneView goTo()](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#goTo) methods.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Compass-CompassViewModel.html#goToOverride)",
                "type": "(((view: MapView | SceneView, goToParameters: GoToParameters) => void))"
              },
              {
                "name": "icon",
                "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
                "type": "string"
              },
              {
                "name": "label",
                "description": "The component's default label.",
                "type": "string"
              },
              {
                "name": "messageOverrides",
                "description": "Replace localized message strings with your own strings.\n\n_**Note**: Individual message keys may change between releases._",
                "type": "Record<string, unknown>"
              },
              {
                "name": "orientation",
                "description": "The z axis orientation.",
                "type": "Orientation"
              },
              {
                "name": "position",
                "type": "\"bottom-leading\" | \"bottom-left\" | \"bottom-right\" | \"bottom-trailing\" | \"manual\" | \"top-leading\" | \"top-left\" | \"top-right\" | \"top-trailing\""
              },
              {
                "name": "referenceElement",
                "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
                "type": "HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string"
              },
              {
                "name": "state",
                "description": "The current state of the component.",
                "type": "\"compass\" | \"disabled\" | \"rotation\""
              }
            ],
            "events": [
              {
                "name": "arcgisPropertyChange",
                "type": "{ name: \"state\" | \"orientation\"; }",
                "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
              },
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              }
            ]
          }
        },
        {
          "name": "arcgis-coordinate-conversion",
          "description": "The Coordinate Conversion component provides a way to display user cursor position either as map coordinates or as any of several popular coordinate notations. Additionally, the component provides a way to convert user input coordinates into a [Point](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Point.html).\n--\n\n### Events\n- **arcgisPropertyChange** - Emitted when the value of a property is changed. Use this to listen to changes to properties.\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n\n### Methods\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `destroy(): Promise<void>` - Permanently destroy the component.\n- `reverseConvert(coordinate: string, format: __esri.Format): Promise<__esri.Point | nullish>`",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-coordinate-conversion/",
          "attributes": [
            {
              "name": "auto-destroy-disabled",
              "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-coordinate-conversion/#destroy) method when you are done to\nprevent memory leaks.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "heading-level",
              "description": "Indicates the heading level to use for the coordinate input and coordinate settings headings.",
              "default": "4",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "hide-capture-button",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-expand-button",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-input-button",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-settings-button",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "icon",
              "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
              "default": "\"coordinate-system\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "label",
              "description": "The widget's default label.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-CoordinateConversion.html#label)",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "mode",
              "description": "Describes the current mode of the widget.",
              "default": "\"live\"",
              "value": {
                "type": [
                  "\"capture\"",
                  "\"live\""
                ]
              }
            },
            {
              "name": "multiple-conversions-disabled",
              "description": "If this property is set to `false`, multiple conversions cannot be displayed.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "orientation",
              "description": "Determines whether the widget should expand up or down.",
              "default": "\"auto\"",
              "value": {
                "type": [
                  "\"auto\"",
                  "\"expand-down\"",
                  "\"expand-up\""
                ]
              }
            },
            {
              "name": "position",
              "default": "\"bottom-left\"",
              "value": {
                "type": [
                  "\"bottom-leading\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"bottom-trailing\"",
                  "\"manual\"",
                  "\"top-leading\"",
                  "\"top-left\"",
                  "\"top-right\"",
                  "\"top-trailing\""
                ]
              }
            },
            {
              "name": "reference-element",
              "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "state",
              "description": "The current state of the component.",
              "default": "\"disabled\"",
              "value": {
                "type": [
                  "\"disabled\"",
                  "\"loading\"",
                  "\"ready\""
                ]
              }
            },
            {
              "name": "storage-disabled",
              "description": "Unless this property is set to `false`, sessionStorage or localStorage (depending on [storageType](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-CoordinateConversion.html#storageType))\nwill be used to hydrate and persist the Coordinate Conversion component's state.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "storage-type",
              "description": "This property determines whether sessionStorage or localStorage will be used to store widget state.",
              "default": "\"session\"",
              "value": {
                "type": [
                  "\"local\"",
                  "\"session\""
                ]
              }
            }
          ],
          "events": [
            {
              "name": "arcgisPropertyChange",
              "type": "{ name: \"state\" | \"currentLocation\"; }",
              "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
            },
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            }
          ],
          "js": {
            "properties": [
              {
                "name": "autoDestroyDisabled",
                "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-coordinate-conversion/#destroy) method when you are done to\nprevent memory leaks.",
                "type": "boolean"
              },
              {
                "name": "conversions",
                "description": "A [Collection](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Collection.html) containing every [Conversion](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-CoordinateConversion-support-Conversion.html)\nthat the widget is currently displaying.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-CoordinateConversion.html#conversions)",
                "type": "Collection<Conversion>"
              },
              {
                "name": "currentLocation",
                "description": "Describes the location of the coordinates currently displayed by the widget as a [Point](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Point.html).\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-CoordinateConversion.html#currentLocation)",
                "type": "Point"
              },
              {
                "name": "formats",
                "description": "A [Collection](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Collection.html) containing every [Format](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-CoordinateConversion-support-Format.html)\nthat the widget is capable of displaying.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-CoordinateConversion.html#formats)",
                "type": "Collection<Format>"
              },
              {
                "name": "goToOverride",
                "description": "This function provides the ability to override either the\n[MapView goTo()](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#goTo) or\n[SceneView goTo()](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#goTo) methods.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-CoordinateConversion.html#goToOverride)",
                "type": "(((view: MapView | SceneView, goToParameters: GoToParameters) => void))"
              },
              {
                "name": "headingLevel",
                "description": "Indicates the heading level to use for the coordinate input and coordinate settings headings.",
                "type": "number"
              },
              {
                "name": "hideCaptureButton",
                "type": "boolean"
              },
              {
                "name": "hideExpandButton",
                "type": "boolean"
              },
              {
                "name": "hideInputButton",
                "type": "boolean"
              },
              {
                "name": "hideSettingsButton",
                "type": "boolean"
              },
              {
                "name": "icon",
                "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
                "type": "string"
              },
              {
                "name": "label",
                "description": "The widget's default label.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-CoordinateConversion.html#label)",
                "type": "string"
              },
              {
                "name": "locationSymbol",
                "description": "This symbol is used to visualize the location currently described by the widget when `capture` mode\nis active.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-CoordinateConversion.html#locationSymbol)",
                "type": "CIMSymbol | PictureMarkerSymbol | PointSymbol3D | SimpleMarkerSymbol"
              },
              {
                "name": "mode",
                "description": "Describes the current mode of the widget.",
                "type": "\"capture\" | \"live\""
              },
              {
                "name": "multipleConversionsDisabled",
                "description": "If this property is set to `false`, multiple conversions cannot be displayed.",
                "type": "boolean"
              },
              {
                "name": "orientation",
                "description": "Determines whether the widget should expand up or down.",
                "type": "\"auto\" | \"expand-down\" | \"expand-up\""
              },
              {
                "name": "position",
                "type": "\"bottom-leading\" | \"bottom-left\" | \"bottom-right\" | \"bottom-trailing\" | \"manual\" | \"top-leading\" | \"top-left\" | \"top-right\" | \"top-trailing\""
              },
              {
                "name": "referenceElement",
                "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
                "type": "HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string"
              },
              {
                "name": "state",
                "description": "The current state of the component.",
                "type": "\"disabled\" | \"loading\" | \"ready\""
              },
              {
                "name": "storageDisabled",
                "description": "Unless this property is set to `false`, sessionStorage or localStorage (depending on [storageType](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-CoordinateConversion.html#storageType))\nwill be used to hydrate and persist the Coordinate Conversion component's state.",
                "type": "boolean"
              },
              {
                "name": "storageType",
                "description": "This property determines whether sessionStorage or localStorage will be used to store widget state.",
                "type": "\"local\" | \"session\""
              }
            ],
            "events": [
              {
                "name": "arcgisPropertyChange",
                "type": "{ name: \"state\" | \"currentLocation\"; }",
                "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
              },
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              }
            ]
          }
        },
        {
          "name": "arcgis-daylight",
          "description": "The Daylight component can be used to manipulate the lighting conditions of a [Scene](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-scene/).\n\n**Known limitations**\n\nDaylight is only supported in a 3D [Scene](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-scene/) component.\n\n**See also**\n\n- [Environment](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-scene/#environment)\n- [Sample - Daylight component](https://developers.arcgis.com/javascript/latest/sample-code/daylight/)\n--\n\n### Events\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n- **arcgisUserDateTimeChange** - Fires when the user changes the date or time in the component by interacting with the slider, the date picker, the\nseason selector or the play buttons.\n\n### Methods\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `destroy(): Promise<void>` - Permanently destroy the component.",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-daylight/",
          "attributes": [
            {
              "name": "auto-destroy-disabled",
              "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-daylight/#destroy) method when you are done to\nprevent memory leaks.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "current-season",
              "description": "A season can be set instead of a date.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Daylight-DaylightViewModel.html#currentSeason)",
              "value": {
                "type": [
                  "\"fall\"",
                  "\"spring\"",
                  "\"summer\"",
                  "\"winter\""
                ]
              }
            },
            {
              "name": "date-or-season",
              "description": "Controls whether the component displays a date or a season picker.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Daylight.html#dateOrSeason)",
              "default": "\"date\"",
              "value": {
                "type": [
                  "\"date\"",
                  "\"season\""
                ]
              }
            },
            {
              "name": "day-playing",
              "description": "Starts or pauses the daytime animation cycling through the minutes of the day.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Daylight-DaylightViewModel.html#dayPlaying)",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "heading-level",
              "description": "Indicates the heading level to use for the component title.",
              "default": "3",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "hide-date-picker",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-header",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-play-buttons",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-shadows-toggle",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-sun-lighting-toggle",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-timezone",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "icon",
              "description": "Icon which represents the component. Typically used when the component is controlled by another component (e.g. by the Expand component).\n\nSee also: [Calcite Icons](https://developers.arcgis.com/calcite-design-system/icons/)",
              "default": "\"brightness\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "label",
              "description": "The component's default label.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "play-speed-multiplier",
              "description": "Controls the speed of the daytime and date animation.",
              "default": "1.0",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "position",
              "default": "\"bottom-left\"",
              "value": {
                "type": [
                  "\"bottom-leading\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"bottom-trailing\"",
                  "\"manual\"",
                  "\"top-leading\"",
                  "\"top-left\"",
                  "\"top-right\"",
                  "\"top-trailing\""
                ]
              }
            },
            {
              "name": "reference-element",
              "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "time-slider-steps",
              "description": "Sets steps, or intervals, on the time slider to restrict the times of the day that can be selected when dragging the thumb.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Daylight.html#timeSliderSteps)",
              "default": "5",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "year-playing",
              "description": "Starts or pauses the date animation cycling through the months of the year.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Daylight-DaylightViewModel.html#yearPlaying)",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            }
          ],
          "events": [
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            },
            {
              "name": "arcgisUserDateTimeChange",
              "type": "void",
              "description": "Fires when the user changes the date or time in the component by interacting with the slider, the date picker, the\nseason selector or the play buttons."
            }
          ],
          "js": {
            "properties": [
              {
                "name": "autoDestroyDisabled",
                "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-daylight/#destroy) method when you are done to\nprevent memory leaks.",
                "type": "boolean"
              },
              {
                "name": "currentSeason",
                "description": "A season can be set instead of a date.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Daylight-DaylightViewModel.html#currentSeason)",
                "type": "\"fall\" | \"spring\" | \"summer\" | \"winter\""
              },
              {
                "name": "dateOrSeason",
                "description": "Controls whether the component displays a date or a season picker.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Daylight.html#dateOrSeason)",
                "type": "\"date\" | \"season\""
              },
              {
                "name": "dayPlaying",
                "description": "Starts or pauses the daytime animation cycling through the minutes of the day.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Daylight-DaylightViewModel.html#dayPlaying)",
                "type": "boolean"
              },
              {
                "name": "headingLevel",
                "description": "Indicates the heading level to use for the component title.",
                "type": "number"
              },
              {
                "name": "hideDatePicker",
                "type": "boolean"
              },
              {
                "name": "hideHeader",
                "type": "boolean"
              },
              {
                "name": "hidePlayButtons",
                "type": "boolean"
              },
              {
                "name": "hideShadowsToggle",
                "type": "boolean"
              },
              {
                "name": "hideSunLightingToggle",
                "type": "boolean"
              },
              {
                "name": "hideTimezone",
                "type": "boolean"
              },
              {
                "name": "icon",
                "description": "Icon which represents the component. Typically used when the component is controlled by another component (e.g. by the Expand component).\n\nSee also: [Calcite Icons](https://developers.arcgis.com/calcite-design-system/icons/)",
                "type": "string"
              },
              {
                "name": "label",
                "description": "The component's default label.",
                "type": "string"
              },
              {
                "name": "playSpeedMultiplier",
                "description": "Controls the speed of the daytime and date animation.",
                "type": "number"
              },
              {
                "name": "position",
                "type": "\"bottom-leading\" | \"bottom-left\" | \"bottom-right\" | \"bottom-trailing\" | \"manual\" | \"top-leading\" | \"top-left\" | \"top-right\" | \"top-trailing\""
              },
              {
                "name": "referenceElement",
                "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
                "type": "HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string"
              },
              {
                "name": "timeSliderSteps",
                "description": "Sets steps, or intervals, on the time slider to restrict the times of the day that can be selected when dragging the thumb.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Daylight.html#timeSliderSteps)",
                "type": "Array<number> | number"
              },
              {
                "name": "yearPlaying",
                "description": "Starts or pauses the date animation cycling through the months of the year.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Daylight-DaylightViewModel.html#yearPlaying)",
                "type": "boolean"
              }
            ],
            "events": [
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              },
              {
                "name": "arcgisUserDateTimeChange",
                "type": "void",
                "description": "Fires when the user changes the date or time in the component by interacting with the slider, the date picker, the\nseason selector or the play buttons."
              }
            ]
          }
        },
        {
          "name": "arcgis-directional-pad",
          "description": "A directional pad (D-Pad) component can be used to control the position and\nrotation of the map. The D-Pad provides eight directions of movement, a small\ncompass which indicates the current orientation of the map and a slider for\nrotating the map.\n\nIt is also possible to disable the map's rotation controls or change the size\nof the component.\n\nThe Directional Pad component is not supported in 3D.\n--\n\n### Events\n- **arcgisPropertyChange** - Emitted when the value of a property is changed. Use this to listen to changes to properties.\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n\n### Methods\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `destroy(): Promise<void>` - Permanently destroy the component.",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-directional-pad/",
          "attributes": [
            {
              "name": "auto-destroy-disabled",
              "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-directional-pad/#destroy) method when you are done to\nprevent memory leaks.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "disabled",
              "description": "Indicates whether interaction is allowed on the component. When `true`,\nthis property sets the component to a disabled state to disable any user\ninteraction.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-directional-buttons",
              "description": "Whether to hide directional pad buttons.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "icon",
              "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
              "default": "\"move\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "label",
              "description": "The component's default label.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "position",
              "default": "\"bottom-left\"",
              "value": {
                "type": [
                  "\"bottom-leading\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"bottom-trailing\"",
                  "\"manual\"",
                  "\"top-leading\"",
                  "\"top-left\"",
                  "\"top-right\"",
                  "\"top-trailing\""
                ]
              }
            },
            {
              "name": "reference-element",
              "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "show-rotation-reset-button",
              "description": "Whether to display the button to reset the rotation angle. This only takes\neffect if showRotationSlider is true.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "show-rotation-slider",
              "description": "Whether to display the map rotation slider.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "state",
              "description": "The current state of the component.",
              "value": {
                "type": [
                  "\"disabled\"",
                  "\"moving\"",
                  "\"ready\""
                ]
              }
            },
            {
              "name": "visual-scale",
              "description": "Determines the size of directional pad buttons and the slider.\n\nIn addition to this parameter, you can set the width on the component\ncontainer to dictate directional pad size.",
              "default": "\"s\"",
              "value": {
                "type": [
                  "\"l\"",
                  "\"m\"",
                  "\"s\""
                ]
              }
            }
          ],
          "events": [
            {
              "name": "arcgisPropertyChange",
              "type": "{ name: \"state\"; }",
              "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
            },
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            }
          ],
          "js": {
            "properties": [
              {
                "name": "autoDestroyDisabled",
                "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-directional-pad/#destroy) method when you are done to\nprevent memory leaks.",
                "type": "boolean"
              },
              {
                "name": "disabled",
                "description": "Indicates whether interaction is allowed on the component. When `true`,\nthis property sets the component to a disabled state to disable any user\ninteraction.",
                "type": "boolean"
              },
              {
                "name": "hideDirectionalButtons",
                "description": "Whether to hide directional pad buttons.",
                "type": "boolean"
              },
              {
                "name": "icon",
                "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
                "type": "string"
              },
              {
                "name": "label",
                "description": "The component's default label.",
                "type": "string"
              },
              {
                "name": "messageOverrides",
                "description": "Replace localized message strings with your own strings.\n\n_**Note**: Individual message keys may change between releases._",
                "type": "Record<string, unknown>"
              },
              {
                "name": "position",
                "type": "\"bottom-leading\" | \"bottom-left\" | \"bottom-right\" | \"bottom-trailing\" | \"manual\" | \"top-leading\" | \"top-left\" | \"top-right\" | \"top-trailing\""
              },
              {
                "name": "referenceElement",
                "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
                "type": "HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string"
              },
              {
                "name": "showRotationResetButton",
                "description": "Whether to display the button to reset the rotation angle. This only takes\neffect if showRotationSlider is true.",
                "type": "boolean"
              },
              {
                "name": "showRotationSlider",
                "description": "Whether to display the map rotation slider.",
                "type": "boolean"
              },
              {
                "name": "state",
                "description": "The current state of the component.",
                "type": "\"disabled\" | \"moving\" | \"ready\""
              },
              {
                "name": "visualScale",
                "description": "Determines the size of directional pad buttons and the slider.\n\nIn addition to this parameter, you can set the width on the component\ncontainer to dictate directional pad size.",
                "type": "\"l\" | \"m\" | \"s\""
              }
            ],
            "events": [
              {
                "name": "arcgisPropertyChange",
                "type": "{ name: \"state\"; }",
                "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
              },
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              }
            ]
          }
        },
        {
          "name": "arcgis-directions",
          "description": "The Directions component provides a way to calculate directions, between two or more input locations with a [RouteLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-RouteLayer.html), using ArcGIS Online and custom Network Analysis Route services.\n--\n\n### Events\n- **arcgisPropertyChange** - Emitted when the value of a property is changed. Use this to listen to changes to properties.\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n\n### Methods\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `destroy(): Promise<void>` - Permanently destroy the component.\n- `getDirections(): Promise<__esri.RouteLayerSolveResult>`\n- `save(): Promise<__esri.PortalItem>`\n- `saveAs(portalItem: __esri.PortalItem, options: { folder: __esri.PortalFolder; }): Promise<__esri.PortalItem>`\n- `zoomToRoute(): Promise<void>`",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-directions/",
          "attributes": [
            {
              "name": "api-key",
              "description": "An authorization string used to access a resource or service.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Directions.html#apiKey)",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "auto-destroy-disabled",
              "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-directions/#destroy) method when you are done to\nprevent memory leaks.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "heading-level",
              "description": "Indicates the heading level to use for the origin and destination addresses (i.e.",
              "default": "2",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "hide-layer-details",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-save-as-button",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-save-button",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "icon",
              "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
              "default": "\"right\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "label",
              "description": "The widget's default label.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Directions.html#label)",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "max-stops",
              "description": "The maximum number of stops allowed for routing.",
              "default": "50",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "position",
              "default": "\"bottom-left\"",
              "value": {
                "type": [
                  "\"bottom-leading\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"bottom-trailing\"",
                  "\"manual\"",
                  "\"top-leading\"",
                  "\"top-left\"",
                  "\"top-right\"",
                  "\"top-trailing\""
                ]
              }
            },
            {
              "name": "reference-element",
              "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "route-layer-item-id",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "state",
              "description": "The current state of the component.",
              "default": "\"disabled\"",
              "value": {
                "type": [
                  "\"disabled\"",
                  "\"error\"",
                  "\"initializing\"",
                  "\"ready\"",
                  "\"routing\"",
                  "\"unauthenticated\""
                ]
              }
            },
            {
              "name": "unit",
              "description": "Unit system (imperial, metric) or specific unit used for displaying the distance values.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Directions.html#unit)",
              "value": {
                "type": [
                  "\"centimeters\"",
                  "\"decimeters\"",
                  "\"feet\"",
                  "\"imperial\"",
                  "\"inches\"",
                  "\"kilometers\"",
                  "\"meters\"",
                  "\"metric\"",
                  "\"miles\"",
                  "\"millimeters\"",
                  "\"nautical-miles\"",
                  "\"us-feet\"",
                  "\"yards\""
                ]
              }
            },
            {
              "name": "use-default-route-layer",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            }
          ],
          "events": [
            {
              "name": "arcgisPropertyChange",
              "type": "{ name: \"state\" | \"lastRoute\"; }",
              "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
            },
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            }
          ],
          "js": {
            "properties": [
              {
                "name": "apiKey",
                "description": "An authorization string used to access a resource or service.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Directions.html#apiKey)",
                "type": "string"
              },
              {
                "name": "autoDestroyDisabled",
                "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-directions/#destroy) method when you are done to\nprevent memory leaks.",
                "type": "boolean"
              },
              {
                "name": "goToOverride",
                "description": "This function provides the ability to override either the\n[MapView goTo()](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#goTo) or\n[SceneView goTo()](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#goTo) methods.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Directions.html#goToOverride)",
                "type": "(((view: MapView | SceneView, goToParameters: GoToParameters) => void))"
              },
              {
                "name": "headingLevel",
                "description": "Indicates the heading level to use for the origin and destination addresses (i.e.",
                "type": "number"
              },
              {
                "name": "hideLayerDetails",
                "type": "boolean"
              },
              {
                "name": "hideSaveAsButton",
                "type": "boolean"
              },
              {
                "name": "hideSaveButton",
                "type": "boolean"
              },
              {
                "name": "icon",
                "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
                "type": "string"
              },
              {
                "name": "label",
                "description": "The widget's default label.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Directions.html#label)",
                "type": "string"
              },
              {
                "name": "lastRoute",
                "description": "The most recent route result.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Directions.html#lastRoute)",
                "type": "DirectionsLastRoute"
              },
              {
                "name": "layer",
                "description": "The [RouteLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-RouteLayer.html) associated with the Directions widget.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Directions.html#layer)",
                "type": "RouteLayer"
              },
              {
                "name": "maxStops",
                "description": "The maximum number of stops allowed for routing.",
                "type": "number"
              },
              {
                "name": "position",
                "type": "\"bottom-leading\" | \"bottom-left\" | \"bottom-right\" | \"bottom-trailing\" | \"manual\" | \"top-leading\" | \"top-left\" | \"top-right\" | \"top-trailing\""
              },
              {
                "name": "referenceElement",
                "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
                "type": "HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string"
              },
              {
                "name": "routeLayerItemId",
                "type": "string"
              },
              {
                "name": "searchProperties",
                "description": "Controls the default properties used when searching.",
                "type": "DirectionsSearchProperties"
              },
              {
                "name": "state",
                "description": "The current state of the component.",
                "type": "\"disabled\" | \"error\" | \"initializing\" | \"ready\" | \"routing\" | \"unauthenticated\""
              },
              {
                "name": "unit",
                "description": "Unit system (imperial, metric) or specific unit used for displaying the distance values.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Directions.html#unit)",
                "type": "\"centimeters\" | \"decimeters\" | \"feet\" | \"imperial\" | \"inches\" | \"kilometers\" | \"meters\" | \"metric\" | \"miles\" | \"millimeters\" | \"nautical-miles\" | \"us-feet\" | \"yards\""
              },
              {
                "name": "useDefaultRouteLayer",
                "type": "boolean"
              }
            ],
            "events": [
              {
                "name": "arcgisPropertyChange",
                "type": "{ name: \"state\" | \"lastRoute\"; }",
                "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
              },
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              }
            ]
          }
        },
        {
          "name": "arcgis-direct-line-measurement-3d",
          "description": "The Direct Line Measurement 3D component can be added to a [Scene](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-scene/)\ncomponent to calculate and display vertical, horizontal, and direct distances between two points.\n\n[![measurement-line-3d](https://developers.arcgis.com/javascript/latest/assets/img/apiref/widgets/3D_DirectLineMeasurement_widget.png)](https://developers.arcgis.com/javascript/latest/sample-code/measurement-3d/)\n\nHow distances are computed depends on the scene's spatial reference.\n\nIn **geographic coordinate systems** (GCS) and in **Web Mercator**:\n- Direct distance is computed in a Euclidean manner, in an [ECEF](https://en.wikipedia.org/wiki/ECEF) coordinate system (or equivalent on other planets);\n- Horizontal distance is computed geodetically, taking into consideration the curvature of the planet;\n- Vertical distance is computed as an elevation difference.\n\nIn **projected coordinate systems** (PCS), apart from Web Mercator, all three distances (direct, horizontal, and vertical)\n are computed in a Euclidean manner (in their respective PCS).\n\nDirect Line Measurement 3D component visualizes and labels the direct, horizontal, and vertical distances and displays the same values\nin the UI panel. When the distance between the points is greater than 100 kilometers,\nthe measurement visualization is simplified, and only the horizontal and vertical distances are calculated.\nThe direct distance option becomes unavailable.\n\n![measurement-line-3d](https://developers.arcgis.com/javascript/latest/assets/img/apiref/widgets/direct-line-measurement-3d.png)\n\nWhen the component is active, a horizontal \"laser\" line is drawn which indicates the height at the current mouse position.\nThis line can help in analyzing the heights of objects relative to each other and the terrain.\nA second laser line shows the intersection of the scene with the vertical plane that passes through the checkered line.\n\n**Things to consider**\n\n* Direct Line Measurement 3D is designed to work in the Scene component. For measurements in the [Map](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-map/)\ncomponent, use [Distance Measurement 2D](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-distance-measurement-2d/).\n* Snapping is enabled by default. This can be temporarily disabled by holding the `CTRL` key.\n* Layer types currently supported for snapping are:\n[FeatureLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html),\n[GraphicsLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-GraphicsLayer.html) (except Mesh geometries),\n[GeoJSONLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-GeoJSONLayer.html),\n[WFSLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-WFSLayer.html),\n[CSVLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-CSVLayer.html),\n[3D Object SceneLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-SceneLayer.html),\nand [BuildingSceneLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-BuildingSceneLayer.html).\n\n**See also**\n\n- [DirectLineMeasurementAnalysis](https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-DirectLineMeasurementAnalysis.html)\n- [Sample - Measurement in 3D](https://developers.arcgis.com/javascript/latest/sample-code/measurement-3d/)\n- [Sample - Analysis objects](https://developers.arcgis.com/javascript/latest/sample-code/analysis-objects/)\n- [Sample - Color theming for interactive tools](https://developers.arcgis.com/javascript/latest/sample-code/view-theme/)\n--\n\n### Events\n- **arcgisPropertyChange** - Emitted when the value of a property is changed. Use this to listen to changes to properties.\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n\n### Methods\n- `clear(): Promise<void>` - Clears the current measurement.\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `destroy(): Promise<void>` - Permanently destroy the component.\n- `start(): Promise<void>` - Starts a new measurement.",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-direct-line-measurement-3d/",
          "attributes": [
            {
              "name": "auto-destroy-disabled",
              "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-direct-line-measurement-3d/#destroy) method when you are done to\nprevent memory leaks.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "icon",
              "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
              "default": "\"measure-line\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "label",
              "description": "The component's default label.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "position",
              "default": "\"bottom-left\"",
              "value": {
                "type": [
                  "\"bottom-leading\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"bottom-trailing\"",
                  "\"manual\"",
                  "\"top-leading\"",
                  "\"top-left\"",
                  "\"top-right\"",
                  "\"top-trailing\""
                ]
              }
            },
            {
              "name": "reference-element",
              "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "state",
              "description": "The component's state. The values mean the following:\n\n* `disabled` -  not ready yet\n* `ready` - ready for measuring\n* `measuring` - currently measuring\n* `measured` - measuring has finished",
              "value": {
                "type": [
                  "\"disabled\"",
                  "\"measured\"",
                  "\"measuring\"",
                  "\"ready\""
                ]
              }
            },
            {
              "name": "unit",
              "description": "Unit system (imperial, metric) or specific unit used for displaying the distance values. Possible values are listed in\n[unitOptions](#unitOptions).",
              "value": {
                "type": [
                  "\"centimeters\"",
                  "\"decimeters\"",
                  "\"feet\"",
                  "\"imperial\"",
                  "\"inches\"",
                  "\"kilometers\"",
                  "\"meters\"",
                  "\"metric\"",
                  "\"miles\"",
                  "\"millimeters\"",
                  "\"nautical-miles\"",
                  "\"us-feet\"",
                  "\"yards\""
                ]
              }
            }
          ],
          "events": [
            {
              "name": "arcgisPropertyChange",
              "type": "{ name: \"state\" | \"analysis\"; }",
              "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
            },
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            }
          ],
          "js": {
            "properties": [
              {
                "name": "analysis",
                "description": "The [DirectLineMeasurementAnalysis](https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-DirectLineMeasurementAnalysis.html)\ncreated or modified by the component.\n\nWhen connecting the Direct Line Measurement 3D component to the [Scene](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-scene/)\ncomponent, it automatically creates an empty analysis and adds it to the Scene's\n[analyses](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-scene/#analyses) collection.\nWhenever the component is destroyed, the analysis is automatically removed from the collection.\n\nAlternatively, a programmatically created analysis can be provided to the component.\nThen, the application itself needs to add it to and later remove it from the Scene's analyses collection.\n\n```js\n// Create the analysis.\nconst directLineAnalysis = new DirectLineMeasurementAnalysis({\n   startPoint: new Point({\n     spatialReference: { latestWkid: 3857, wkid: 102100 },\n     x: -13624995.61798748,\n     y: 4550334.030096778,\n     z: 63.378210234455764\n   }),\n   endPoint: new Point({\n     spatialReference: { latestWkid: 3857, wkid: 102100 },\n     x: -13624921.53589075,\n     y: 4550407.42357004,\n     z: 63.3783810287714\n   }),\n});\n// Get the Scene and measurement component and wait until they are ready.\nconst viewElement = document.querySelector(\"arcgis-scene\");\nawait viewElement.viewOnReady();\nconst directLineMeasurement3d = document.querySelector(\"arcgis-direct-line-measurement-3d\");\nawait directLineMeasurement3d.componentOnReady();\n// Add the analysis to the Scene component.\nviewElement.analyses.add(directLineAnalysis);\n// Connect the analysis to the measurement component:\ndirectLineMeasurement3d.analysis = directLineAnalysis;\n```",
                "type": "DirectLineMeasurementAnalysis"
              },
              {
                "name": "autoDestroyDisabled",
                "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-direct-line-measurement-3d/#destroy) method when you are done to\nprevent memory leaks.",
                "type": "boolean"
              },
              {
                "name": "icon",
                "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
                "type": "string"
              },
              {
                "name": "label",
                "description": "The component's default label.",
                "type": "string"
              },
              {
                "name": "position",
                "type": "\"bottom-leading\" | \"bottom-left\" | \"bottom-right\" | \"bottom-trailing\" | \"manual\" | \"top-leading\" | \"top-left\" | \"top-right\" | \"top-trailing\""
              },
              {
                "name": "referenceElement",
                "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
                "type": "HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string"
              },
              {
                "name": "state",
                "description": "The component's state. The values mean the following:\n\n* `disabled` -  not ready yet\n* `ready` - ready for measuring\n* `measuring` - currently measuring\n* `measured` - measuring has finished",
                "type": "\"disabled\" | \"measured\" | \"measuring\" | \"ready\""
              },
              {
                "name": "unit",
                "description": "Unit system (imperial, metric) or specific unit used for displaying the distance values. Possible values are listed in\n[unitOptions](#unitOptions).",
                "type": "\"centimeters\" | \"decimeters\" | \"feet\" | \"imperial\" | \"inches\" | \"kilometers\" | \"meters\" | \"metric\" | \"miles\" | \"millimeters\" | \"nautical-miles\" | \"us-feet\" | \"yards\""
              },
              {
                "name": "unitOptions",
                "description": "List of available units and unit systems (imperial, metric) that are shown in the component's dropdown.\nBy default, the following units are included: `metric`, `imperial`, `inches`, `feet`, `us-feet`, `yards`, `miles`, `nautical-miles`, `meters`, `kilometers`.\nPossible [unit](#unit) values can only be a subset of this list.",
                "type": "Array<\"imperial\" | \"metric\" | \"millimeters\" | \"centimeters\" | \"decimeters\" | \"meters\" | \"kilometers\" | \"inches\" | \"feet\" | \"yards\" | \"miles\" | \"nautical-miles\" | \"us-feet\">"
              }
            ],
            "events": [
              {
                "name": "arcgisPropertyChange",
                "type": "{ name: \"state\" | \"analysis\"; }",
                "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
              },
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              }
            ]
          }
        },
        {
          "name": "arcgis-directline-measurement-3d",
          "description": "**Deprecated**. The Directline Measurement 3D component calculates and displays the 3D distance between two points. It can be used in a [Scene](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-scene/) component to measure the vertical, horizontal, and direct distance between two points.\n--\n\n### Events\n- **arcgisPropertyChange** - Emitted when the value of a property is changed. Use this to listen to changes to properties.\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n\n### Methods\n- `clear(): Promise<void>` - Clears the current measurement.\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `destroy(): Promise<void>` - Permanently destroy the component.\n- `start(): Promise<void>` - Starts a new measurement.",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-directline-measurement-3d/",
          "attributes": [
            {
              "name": "auto-destroy-disabled",
              "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-direct-line-measurement-3d/#destroy) method when you are done to\nprevent memory leaks.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "icon",
              "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
              "default": "\"measure-line\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "label",
              "description": "The component's default label.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "position",
              "default": "\"bottom-left\"",
              "value": {
                "type": [
                  "\"bottom-leading\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"bottom-trailing\"",
                  "\"manual\"",
                  "\"top-leading\"",
                  "\"top-left\"",
                  "\"top-right\"",
                  "\"top-trailing\""
                ]
              }
            },
            {
              "name": "reference-element",
              "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "state",
              "description": "The component's state. The values mean the following:\n\n* `disabled` -  not ready yet\n* `ready` - ready for measuring\n* `measuring` - currently measuring\n* `measured` - measuring has finished",
              "value": {
                "type": [
                  "\"disabled\"",
                  "\"measured\"",
                  "\"measuring\"",
                  "\"ready\""
                ]
              }
            },
            {
              "name": "unit",
              "description": "Unit system (imperial, metric) or specific unit used for displaying the distance values. Possible values are listed in\n[unitOptions](#unitOptions).",
              "value": {
                "type": [
                  "\"centimeters\"",
                  "\"decimeters\"",
                  "\"feet\"",
                  "\"imperial\"",
                  "\"inches\"",
                  "\"kilometers\"",
                  "\"meters\"",
                  "\"metric\"",
                  "\"miles\"",
                  "\"millimeters\"",
                  "\"nautical-miles\"",
                  "\"us-feet\"",
                  "\"yards\""
                ]
              }
            }
          ],
          "events": [
            {
              "name": "arcgisPropertyChange",
              "type": "{ name: \"state\" | \"analysis\"; }",
              "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
            },
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            }
          ],
          "js": {
            "properties": [
              {
                "name": "analysis",
                "description": "The [DirectLineMeasurementAnalysis](https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-DirectLineMeasurementAnalysis.html)\ncreated or modified by the component.\n\nWhen connecting the Direct Line Measurement 3D component to the [Scene](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-scene/)\ncomponent, it automatically creates an empty analysis and adds it to the Scene's\n[analyses](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-scene/#analyses) collection.\nWhenever the component is destroyed, the analysis is automatically removed from the collection.\n\nAlternatively, a programmatically created analysis can be provided to the component.\nThen, the application itself needs to add it to and later remove it from the Scene's analyses collection.\n\n```js\n// Create the analysis.\nconst directLineAnalysis = new DirectLineMeasurementAnalysis({\n   startPoint: new Point({\n     spatialReference: { latestWkid: 3857, wkid: 102100 },\n     x: -13624995.61798748,\n     y: 4550334.030096778,\n     z: 63.378210234455764\n   }),\n   endPoint: new Point({\n     spatialReference: { latestWkid: 3857, wkid: 102100 },\n     x: -13624921.53589075,\n     y: 4550407.42357004,\n     z: 63.3783810287714\n   }),\n});\n// Get the Scene and measurement component and wait until they are ready.\nconst viewElement = document.querySelector(\"arcgis-scene\");\nawait viewElement.viewOnReady();\nconst directLineMeasurement3d = document.querySelector(\"arcgis-direct-line-measurement-3d\");\nawait directLineMeasurement3d.componentOnReady();\n// Add the analysis to the Scene component.\nviewElement.analyses.add(directLineAnalysis);\n// Connect the analysis to the measurement component:\ndirectLineMeasurement3d.analysis = directLineAnalysis;\n```",
                "type": "DirectLineMeasurementAnalysis"
              },
              {
                "name": "autoDestroyDisabled",
                "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-direct-line-measurement-3d/#destroy) method when you are done to\nprevent memory leaks.",
                "type": "boolean"
              },
              {
                "name": "icon",
                "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
                "type": "string"
              },
              {
                "name": "label",
                "description": "The component's default label.",
                "type": "string"
              },
              {
                "name": "position",
                "type": "\"bottom-leading\" | \"bottom-left\" | \"bottom-right\" | \"bottom-trailing\" | \"manual\" | \"top-leading\" | \"top-left\" | \"top-right\" | \"top-trailing\""
              },
              {
                "name": "referenceElement",
                "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
                "type": "HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string"
              },
              {
                "name": "state",
                "description": "The component's state. The values mean the following:\n\n* `disabled` -  not ready yet\n* `ready` - ready for measuring\n* `measuring` - currently measuring\n* `measured` - measuring has finished",
                "type": "\"disabled\" | \"measured\" | \"measuring\" | \"ready\""
              },
              {
                "name": "unit",
                "description": "Unit system (imperial, metric) or specific unit used for displaying the distance values. Possible values are listed in\n[unitOptions](#unitOptions).",
                "type": "\"centimeters\" | \"decimeters\" | \"feet\" | \"imperial\" | \"inches\" | \"kilometers\" | \"meters\" | \"metric\" | \"miles\" | \"millimeters\" | \"nautical-miles\" | \"us-feet\" | \"yards\""
              },
              {
                "name": "unitOptions",
                "description": "List of available units and unit systems (imperial, metric) that are shown in the component's dropdown.\nBy default, the following units are included: `metric`, `imperial`, `inches`, `feet`, `us-feet`, `yards`, `miles`, `nautical-miles`, `meters`, `kilometers`.\nPossible [unit](#unit) values can only be a subset of this list.",
                "type": "Array<\"imperial\" | \"metric\" | \"millimeters\" | \"centimeters\" | \"decimeters\" | \"meters\" | \"kilometers\" | \"inches\" | \"feet\" | \"yards\" | \"miles\" | \"nautical-miles\" | \"us-feet\">"
              }
            ],
            "events": [
              {
                "name": "arcgisPropertyChange",
                "type": "{ name: \"state\" | \"analysis\"; }",
                "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
              },
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              }
            ]
          }
        },
        {
          "name": "arcgis-distance-measurement-2d",
          "description": "The Distance Measurement 2D component 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).\n--\n\n### Events\n- **arcgisPropertyChange** - Emitted when the value of a property is changed. Use this to listen to changes to properties.\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n\n### Methods\n- `clear(): Promise<void>` - Clear the current measurement.\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `destroy(): Promise<void>` - Permanently destroy the component.\n- `start(): Promise<void>` - Starts a new measurement.",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-distance-measurement-2d/",
          "attributes": [
            {
              "name": "auto-destroy-disabled",
              "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-distance-measurement-2d/#destroy) method when you are done to\nprevent memory leaks.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "icon",
              "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
              "default": "\"measure-line\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "label",
              "description": "The widget's default label.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-DistanceMeasurement2D.html#label)",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "position",
              "default": "\"bottom-left\"",
              "value": {
                "type": [
                  "\"bottom-leading\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"bottom-trailing\"",
                  "\"manual\"",
                  "\"top-leading\"",
                  "\"top-left\"",
                  "\"top-right\"",
                  "\"top-trailing\""
                ]
              }
            },
            {
              "name": "reference-element",
              "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "state",
              "description": "The current state of the component.",
              "default": "\"disabled\"",
              "value": {
                "type": [
                  "\"disabled\"",
                  "\"measured\"",
                  "\"measuring\"",
                  "\"ready\""
                ]
              }
            },
            {
              "name": "unit",
              "description": "Unit system (imperial, metric) or specific unit used for displaying the distance values.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-DistanceMeasurement2D.html#unit)",
              "value": {
                "type": [
                  "\"centimeters\"",
                  "\"decimeters\"",
                  "\"feet\"",
                  "\"imperial\"",
                  "\"inches\"",
                  "\"kilometers\"",
                  "\"meters\"",
                  "\"metric\"",
                  "\"miles\"",
                  "\"millimeters\"",
                  "\"nautical-miles\"",
                  "\"us-feet\"",
                  "\"yards\""
                ]
              }
            }
          ],
          "events": [
            {
              "name": "arcgisPropertyChange",
              "type": "{ name: \"state\"; }",
              "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
            },
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            }
          ],
          "js": {
            "properties": [
              {
                "name": "autoDestroyDisabled",
                "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-distance-measurement-2d/#destroy) method when you are done to\nprevent memory leaks.",
                "type": "boolean"
              },
              {
                "name": "icon",
                "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
                "type": "string"
              },
              {
                "name": "label",
                "description": "The widget's default label.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-DistanceMeasurement2D.html#label)",
                "type": "string"
              },
              {
                "name": "position",
                "type": "\"bottom-leading\" | \"bottom-left\" | \"bottom-right\" | \"bottom-trailing\" | \"manual\" | \"top-leading\" | \"top-left\" | \"top-right\" | \"top-trailing\""
              },
              {
                "name": "referenceElement",
                "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
                "type": "HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string"
              },
              {
                "name": "snappingOptions",
                "description": "The [SnappingOptions](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-interactive-snapping-SnappingOptions.html) for sketching.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-DistanceMeasurement2D.html#snappingOptions)",
                "type": "SnappingOptions"
              },
              {
                "name": "state",
                "description": "The current state of the component.",
                "type": "\"disabled\" | \"measured\" | \"measuring\" | \"ready\""
              },
              {
                "name": "unit",
                "description": "Unit system (imperial, metric) or specific unit used for displaying the distance values.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-DistanceMeasurement2D.html#unit)",
                "type": "\"centimeters\" | \"decimeters\" | \"feet\" | \"imperial\" | \"inches\" | \"kilometers\" | \"meters\" | \"metric\" | \"miles\" | \"millimeters\" | \"nautical-miles\" | \"us-feet\" | \"yards\""
              },
              {
                "name": "unitOptions",
                "description": "List of available units and unit systems (imperial, metric) for displaying the distance values.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-DistanceMeasurement2D.html#unitOptions)",
                "type": "Array<\"imperial\" | \"metric\" | \"millimeters\" | \"centimeters\" | \"decimeters\" | \"meters\" | \"kilometers\" | \"inches\" | \"feet\" | \"yards\" | \"miles\" | \"nautical-miles\" | \"us-feet\">"
              }
            ],
            "events": [
              {
                "name": "arcgisPropertyChange",
                "type": "{ name: \"state\"; }",
                "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
              },
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              }
            ]
          }
        },
        {
          "name": "arcgis-editor",
          "description": "The Editor component provides an out-of-the-box editing experience to help streamline editing within a web application.\n--\n\n### Events\n- **arcgisPropertyChange** - Emitted when the value of a property is changed. Use this to listen to changes to properties.\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n\n### Methods\n- `cancelWorkflow(): Promise<void>`\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `deleteFeatureFromWorkflow(): Promise<void>`\n- `destroy(): Promise<void>` - Permanently destroy the component.\n- `startCreateFeaturesWorkflowAtFeatureCreation(info: __esri.CreateFeaturesCreationInfo): Promise<void>`\n- `startCreateFeaturesWorkflowAtFeatureTypeSelection(): Promise<void>`\n- `startUpdateWorkflowAtFeatureEdit(feature: __esri.Graphic): Promise<void>`\n- `startUpdateWorkflowAtFeatureSelection(): Promise<void>`\n- `startUpdateWorkflowAtMultipleFeatureSelection(candidates: __esri.Graphic[]): Promise<void>`",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-editor/",
          "attributes": [
            {
              "name": "auto-destroy-disabled",
              "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-editor/#destroy) method when you are done to\nprevent memory leaks.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "heading-level",
              "description": "Indicates the heading level to use for title of the widget.",
              "default": "4",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "hide-create-features-section",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-edit-features-section",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-labels-toggle",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-snapping-controls-elements-enabled-toggle",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-snapping-controls-elements-feature-enabled-toggle",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-snapping-controls-elements-layer-list",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-snapping-controls-elements-self-enabled-toggle",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-tooltips-toggle",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "icon",
              "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
              "default": "\"pencil\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "label",
              "description": "The widget's default label.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Editor.html#label)",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "position",
              "default": "\"bottom-left\"",
              "value": {
                "type": [
                  "\"bottom-leading\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"bottom-trailing\"",
                  "\"manual\"",
                  "\"top-leading\"",
                  "\"top-left\"",
                  "\"top-right\"",
                  "\"top-trailing\""
                ]
              }
            },
            {
              "name": "reference-element",
              "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "show-snapping-controls-elements-header",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "state",
              "description": "The current state of the component.",
              "value": {
                "type": [
                  "\"add-association-create-association\"",
                  "\"add-association-select-feature\"",
                  "\"add-association-select-layer\"",
                  "\"adding-attachment\"",
                  "\"awaiting-feature-creation-info\"",
                  "\"awaiting-feature-to-create\"",
                  "\"awaiting-feature-to-update\"",
                  "\"awaiting-update-feature-candidate\"",
                  "\"creating-features\"",
                  "\"disabled\"",
                  "\"editing-attachment\"",
                  "\"editing-attributes\"",
                  "\"editing-existing-feature\"",
                  "\"editing-features\"",
                  "\"ready\"",
                  "\"viewing-selection-list\""
                ]
              }
            }
          ],
          "events": [
            {
              "name": "arcgisPropertyChange",
              "type": "{ name: \"state\" | \"activeWorkflow\"; }",
              "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
            },
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            }
          ],
          "js": {
            "properties": [
              {
                "name": "activeWorkflow",
                "description": "A property indicating the current active workflow.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Editor.html#activeWorkflow)",
                "type": "CreateFeaturesWorkflow | UpdateFeaturesWorkflow | UpdateWorkflow"
              },
              {
                "name": "autoDestroyDisabled",
                "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-editor/#destroy) method when you are done to\nprevent memory leaks.",
                "type": "boolean"
              },
              {
                "name": "headingLevel",
                "description": "Indicates the heading level to use for title of the widget.",
                "type": "number"
              },
              {
                "name": "hideCreateFeaturesSection",
                "type": "boolean"
              },
              {
                "name": "hideEditFeaturesSection",
                "type": "boolean"
              },
              {
                "name": "hideLabelsToggle",
                "type": "boolean"
              },
              {
                "name": "hideSnappingControlsElementsEnabledToggle",
                "type": "boolean"
              },
              {
                "name": "hideSnappingControlsElementsFeatureEnabledToggle",
                "type": "boolean"
              },
              {
                "name": "hideSnappingControlsElementsLayerList",
                "type": "boolean"
              },
              {
                "name": "hideSnappingControlsElementsSelfEnabledToggle",
                "type": "boolean"
              },
              {
                "name": "hideTooltipsToggle",
                "type": "boolean"
              },
              {
                "name": "icon",
                "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
                "type": "string"
              },
              {
                "name": "label",
                "description": "The widget's default label.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Editor.html#label)",
                "type": "string"
              },
              {
                "name": "labelOptions",
                "description": "Options to configure the sketch labels shown next to each segment of the geometry being created or updated.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Editor.html#labelOptions)",
                "type": "SketchLabelOptions"
              },
              {
                "name": "layerInfos",
                "description": "An array of editing configurations for individual layers.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Editor.html#layerInfos)",
                "type": "Array<EditorLayerInfo>"
              },
              {
                "name": "position",
                "type": "\"bottom-leading\" | \"bottom-left\" | \"bottom-right\" | \"bottom-trailing\" | \"manual\" | \"top-leading\" | \"top-left\" | \"top-right\" | \"top-trailing\""
              },
              {
                "name": "referenceElement",
                "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
                "type": "HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string"
              },
              {
                "name": "showSnappingControlsElementsHeader",
                "type": "boolean"
              },
              {
                "name": "snappingOptions",
                "description": "The [SnappingOptions](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-interactive-snapping-SnappingOptions.html) for editing.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Editor.html#snappingOptions)",
                "type": "SnappingOptions"
              },
              {
                "name": "state",
                "description": "The current state of the component.",
                "type": "\"add-association-create-association\" | \"add-association-select-feature\" | \"add-association-select-layer\" | \"adding-attachment\" | \"awaiting-feature-creation-info\" | \"awaiting-feature-to-create\" | \"awaiting-feature-to-update\" | \"awaiting-update-feature-candidate\" | \"creating-features\" | \"disabled\" | \"editing-attachment\" | \"editing-attributes\" | \"editing-existing-feature\" | \"editing-features\" | \"ready\" | \"viewing-selection-list\""
              },
              {
                "name": "supportingWidgetDefaults",
                "description": "This property allows customization of supporting Editor widgets and their default behavior.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Editor.html#supportingWidgetDefaults)",
                "type": "SupportingWidgetDefaults"
              },
              {
                "name": "tooltipOptions",
                "description": "Options to configure the tooltip shown next to the cursor when creating or updating graphics.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Editor.html#tooltipOptions)",
                "type": "SketchTooltipOptions"
              }
            ],
            "events": [
              {
                "name": "arcgisPropertyChange",
                "type": "{ name: \"state\" | \"activeWorkflow\"; }",
                "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
              },
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              }
            ]
          }
        },
        {
          "name": "arcgis-elevation-profile",
          "description": "The Elevation Profile component is used to generate and display an elevation profile from an [input line graphic](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ElevationProfile.html#input).\n\n**See also**\n\n- [Sample - Elevation Profile component](https://developers.arcgis.com/javascript/latest/sample-code/elevation-profile/)\n--\n\n### Events\n- **arcgisPropertyChange** - Emitted when the value of a property is changed. Use this to listen to changes to properties.\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n\n### Methods\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `destroy(): Promise<void>` - Permanently destroy the component.\n- `start(): Promise<void>` - Switches to the \"creating\" state in which the user can draw a new line.\n- `stop(): Promise<void>` - Stops the creation operation.",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-elevation-profile/",
          "attributes": [
            {
              "name": "auto-destroy-disabled",
              "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-elevation-profile/#destroy) method when you are done to\nprevent memory leaks.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-chart",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-clear-button",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-legend",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-select-button",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-settings-button",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-sketch-button",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-uniform-chart-scaling-toggle",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-unit-selector",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "highlight-enabled",
              "description": "Whether the graphic used as [input](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ElevationProfile.html#input)\nis highlighted.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ElevationProfile-ElevationProfileViewModel.html#highlightEnabled)",
              "default": "true",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hovered-chart-position",
              "description": "The position, in the range [0, 1], being hovered in the graph.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ElevationProfile-ElevationProfileViewModel.html#hoveredChartPosition)",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "icon",
              "description": "Icon which represents the component. Typically used when the component is controlled by another component (e.g. by the Expand component).\n\nSee also: [Calcite Icons](https://developers.arcgis.com/calcite-design-system/icons/)",
              "default": "\"altitude\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "label",
              "description": "The component's default label.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "position",
              "default": "\"bottom-left\"",
              "value": {
                "type": [
                  "\"bottom-leading\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"bottom-trailing\"",
                  "\"manual\"",
                  "\"top-leading\"",
                  "\"top-left\"",
                  "\"top-right\"",
                  "\"top-trailing\""
                ]
              }
            },
            {
              "name": "reference-element",
              "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "state",
              "description": "The component's state. The values mean the following:\n\n* `disabled` -  component is being created\n* `ready` - component is ready; no path configured and no interactive operation ongoing\n* `creating` - user is creating a new input path\n* `created` - input path is configured but no interactive operation is ongoing\n* `selecting` - user is selecting an existing input path\n* `selected` - user selected an existing input path",
              "default": "\"disabled\"",
              "value": {
                "type": [
                  "\"created\"",
                  "\"creating\"",
                  "\"disabled\"",
                  "\"ready\"",
                  "\"selected\"",
                  "\"selecting\""
                ]
              }
            },
            {
              "name": "uniform-chart-scaling",
              "description": "Whether the chart should use a uniform scale for the X and Y axes.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ElevationProfile-ElevationProfileViewModel.html#uniformChartScaling)",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "unit",
              "description": "Unit system (imperial, metric) or specific unit used for displaying the elevation and distance values.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ElevationProfile.html#unit)",
              "value": {
                "type": [
                  "\"centimeters\"",
                  "\"decimeters\"",
                  "\"feet\"",
                  "\"imperial\"",
                  "\"inches\"",
                  "\"kilometers\"",
                  "\"meters\"",
                  "\"metric\"",
                  "\"miles\"",
                  "\"millimeters\"",
                  "\"nautical-miles\"",
                  "\"us-feet\"",
                  "\"yards\""
                ]
              }
            }
          ],
          "events": [
            {
              "name": "arcgisPropertyChange",
              "type": "{ name: \"state\" | \"input\" | \"progress\" | \"effectiveUnits\"; }",
              "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
            },
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            }
          ],
          "js": {
            "properties": [
              {
                "name": "autoDestroyDisabled",
                "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-elevation-profile/#destroy) method when you are done to\nprevent memory leaks.",
                "type": "boolean"
              },
              {
                "name": "effectiveUnits",
                "description": "Units which have been selected according to the magnitude of the elevations and distances that are to be displayed in the component, according to the selected unit or unit system.",
                "type": "EffectiveUnits"
              },
              {
                "name": "hideChart",
                "type": "boolean"
              },
              {
                "name": "hideClearButton",
                "type": "boolean"
              },
              {
                "name": "hideLegend",
                "type": "boolean"
              },
              {
                "name": "hideSelectButton",
                "type": "boolean"
              },
              {
                "name": "hideSettingsButton",
                "type": "boolean"
              },
              {
                "name": "hideSketchButton",
                "type": "boolean"
              },
              {
                "name": "hideUniformChartScalingToggle",
                "type": "boolean"
              },
              {
                "name": "hideUnitSelector",
                "type": "boolean"
              },
              {
                "name": "highlightEnabled",
                "description": "Whether the graphic used as [input](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ElevationProfile.html#input)\nis highlighted.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ElevationProfile-ElevationProfileViewModel.html#highlightEnabled)",
                "type": "boolean"
              },
              {
                "name": "hoveredChartPosition",
                "description": "The position, in the range [0, 1], being hovered in the graph.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ElevationProfile-ElevationProfileViewModel.html#hoveredChartPosition)",
                "type": "number"
              },
              {
                "name": "icon",
                "description": "Icon which represents the component. Typically used when the component is controlled by another component (e.g. by the Expand component).\n\nSee also: [Calcite Icons](https://developers.arcgis.com/calcite-design-system/icons/)",
                "type": "string"
              },
              {
                "name": "input",
                "description": "The input path along which elevation will be queried in order to generate an elevation profile.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ElevationProfile.html#input)",
                "type": "Graphic"
              },
              {
                "name": "label",
                "description": "The component's default label.",
                "type": "string"
              },
              {
                "name": "position",
                "type": "\"bottom-leading\" | \"bottom-left\" | \"bottom-right\" | \"bottom-trailing\" | \"manual\" | \"top-leading\" | \"top-left\" | \"top-right\" | \"top-trailing\""
              },
              {
                "name": "profiles",
                "description": "Collection of elevation profile lines which are to be generated and displayed in the component's chart.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ElevationProfile.html#profiles)",
                "type": "Collection<ElevationProfileLineGround | ElevationProfileLineInput | ElevationProfileLineQuery | ElevationProfileLineView>"
              },
              {
                "name": "progress",
                "description": "The progress, between 0 and 1 of generating all the configured elevation\nprofiles.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ElevationProfile-ElevationProfileViewModel.html#progress)",
                "type": "number"
              },
              {
                "name": "referenceElement",
                "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
                "type": "HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string"
              },
              {
                "name": "state",
                "description": "The component's state. The values mean the following:\n\n* `disabled` -  component is being created\n* `ready` - component is ready; no path configured and no interactive operation ongoing\n* `creating` - user is creating a new input path\n* `created` - input path is configured but no interactive operation is ongoing\n* `selecting` - user is selecting an existing input path\n* `selected` - user selected an existing input path",
                "type": "\"created\" | \"creating\" | \"disabled\" | \"ready\" | \"selected\" | \"selecting\""
              },
              {
                "name": "uniformChartScaling",
                "description": "Whether the chart should use a uniform scale for the X and Y axes.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ElevationProfile-ElevationProfileViewModel.html#uniformChartScaling)",
                "type": "boolean"
              },
              {
                "name": "unit",
                "description": "Unit system (imperial, metric) or specific unit used for displaying the elevation and distance values.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ElevationProfile.html#unit)",
                "type": "\"centimeters\" | \"decimeters\" | \"feet\" | \"imperial\" | \"inches\" | \"kilometers\" | \"meters\" | \"metric\" | \"miles\" | \"millimeters\" | \"nautical-miles\" | \"us-feet\" | \"yards\""
              },
              {
                "name": "unitOptions",
                "description": "List of available units and unit systems (imperial, metric) for displaying the elevation and distance values.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ElevationProfile.html#unitOptions)",
                "type": "Array<\"imperial\" | \"metric\" | \"millimeters\" | \"centimeters\" | \"decimeters\" | \"meters\" | \"kilometers\" | \"inches\" | \"feet\" | \"yards\" | \"miles\" | \"nautical-miles\" | \"us-feet\">"
              }
            ],
            "events": [
              {
                "name": "arcgisPropertyChange",
                "type": "{ name: \"state\" | \"input\" | \"progress\" | \"effectiveUnits\"; }",
                "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
              },
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              }
            ]
          }
        },
        {
          "name": "arcgis-expand",
          "description": "The Expand component acts as a clickable button for displaying interactive content, most commonly other components.\n--\n\n### Events\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n\n### Methods\n- `collapse(): Promise<void>`\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `destroy(): Promise<void>` - Permanently destroy the component.\n- `expand(): Promise<void>`\n- `toggle(): Promise<void>`",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-expand/",
          "attributes": [
            {
              "name": "auto-collapse",
              "description": "Automatically collapses the expand widget instance when the view's\nviewpoint updates.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "auto-destroy-disabled",
              "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-expand/#destroy) method when you are done to\nprevent memory leaks.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "close-on-esc",
              "description": "When true, the Expand widget will close after the Escape key is pressed when the keyboard focus is within its content.",
              "default": "true",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "collapse-icon",
              "description": "Calcite icon used to style the Expand button when the [content](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Expand.html#content) can be collapsed.",
              "default": "\"chevrons-right\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "collapse-tooltip",
              "description": "Tooltip to display to indicate Expand widget can be collapsed.",
              "default": "\"Collapse\" (English locale)",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "expand-icon",
              "description": "Calcite icon used when the widget is collapsed.",
              "default": "\"chevrons-left\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "expand-tooltip",
              "description": "Tooltip to display to indicate Expand widget can be expanded.",
              "default": "\"Expand\" (English locale)",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "expanded",
              "description": "Indicates whether the widget is currently expanded or not.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "focus-trap-disabled",
              "description": "Disables focus trapping within the expand component.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "focus-trap-enabled",
              "description": "**Deprecated**: since 4.33, use [`focusTrapDisabled`](#focusTrapDisabled) instead.. Disables focus trapping within the expand widget.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Expand.html#focusTrapDisabled)",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "group",
              "description": "This value associates two or more Expand widget instances with each other, allowing one\ninstance to auto collapse when another instance in the same group is expanded.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Expand.html#group)",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "icon-number",
              "description": "A number to display at the corner of the widget to indicate the number of, for example, open issues or unread notices.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Expand.html#iconNumber)",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "label",
              "description": "The widget's default label.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Expand.html#label)",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "mode",
              "description": "The mode in which the widget displays.",
              "default": "\"auto\"",
              "value": {
                "type": [
                  "\"auto\"",
                  "\"drawer\"",
                  "\"floating\""
                ]
              }
            },
            {
              "name": "placement",
              "description": "The placement used by the [calcite popover](https://developers.arcgis.com/calcite-design-system/components/popover/) when the widget is expanded.",
              "default": "null",
              "value": {
                "type": [
                  "\"auto\"",
                  "\"auto-end\"",
                  "\"auto-start\"",
                  "\"bottom\"",
                  "\"bottom-end\"",
                  "\"bottom-start\"",
                  "\"leading\"",
                  "\"leading-end\"",
                  "\"leading-start\"",
                  "\"left\"",
                  "\"left-end\"",
                  "\"left-start\"",
                  "\"right\"",
                  "\"right-end\"",
                  "\"right-start\"",
                  "\"top\"",
                  "\"top-end\"",
                  "\"top-start\"",
                  "\"trailing\"",
                  "\"trailing-end\"",
                  "\"trailing-start\""
                ]
              }
            },
            {
              "name": "position",
              "default": "\"top-right\"",
              "value": {
                "type": [
                  "\"bottom-leading\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"bottom-trailing\"",
                  "\"manual\"",
                  "\"top-leading\"",
                  "\"top-left\"",
                  "\"top-right\"",
                  "\"top-trailing\""
                ]
              }
            },
            {
              "name": "reference-element",
              "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
              "value": {
                "type": "string"
              }
            }
          ],
          "events": [
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            }
          ],
          "js": {
            "properties": [
              {
                "name": "autoCollapse",
                "description": "Automatically collapses the expand widget instance when the view's\nviewpoint updates.",
                "type": "boolean"
              },
              {
                "name": "autoDestroyDisabled",
                "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-expand/#destroy) method when you are done to\nprevent memory leaks.",
                "type": "boolean"
              },
              {
                "name": "closeOnEsc",
                "description": "When true, the Expand widget will close after the Escape key is pressed when the keyboard focus is within its content.",
                "type": "Function | boolean"
              },
              {
                "name": "collapseIcon",
                "description": "Calcite icon used to style the Expand button when the [content](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Expand.html#content) can be collapsed.",
                "type": "string"
              },
              {
                "name": "collapseTooltip",
                "description": "Tooltip to display to indicate Expand widget can be collapsed.",
                "type": "string"
              },
              {
                "name": "expanded",
                "description": "Indicates whether the widget is currently expanded or not.",
                "type": "boolean"
              },
              {
                "name": "expandIcon",
                "description": "Calcite icon used when the widget is collapsed.",
                "type": "string"
              },
              {
                "name": "expandTooltip",
                "description": "Tooltip to display to indicate Expand widget can be expanded.",
                "type": "string"
              },
              {
                "name": "focusTrapDisabled",
                "description": "Disables focus trapping within the expand component.",
                "type": "boolean"
              },
              {
                "name": "focusTrapEnabled",
                "description": "Disables focus trapping within the expand widget.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Expand.html#focusTrapDisabled)",
                "type": "boolean"
              },
              {
                "name": "group",
                "description": "This value associates two or more Expand widget instances with each other, allowing one\ninstance to auto collapse when another instance in the same group is expanded.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Expand.html#group)",
                "type": "string"
              },
              {
                "name": "iconNumber",
                "description": "A number to display at the corner of the widget to indicate the number of, for example, open issues or unread notices.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Expand.html#iconNumber)",
                "type": "number"
              },
              {
                "name": "label",
                "description": "The widget's default label.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Expand.html#label)",
                "type": "string"
              },
              {
                "name": "mode",
                "description": "The mode in which the widget displays.",
                "type": "\"auto\" | \"drawer\" | \"floating\""
              },
              {
                "name": "placement",
                "description": "The placement used by the [calcite popover](https://developers.arcgis.com/calcite-design-system/components/popover/) when the widget is expanded.",
                "type": "\"auto\" | \"auto-end\" | \"auto-start\" | \"bottom\" | \"bottom-end\" | \"bottom-start\" | \"leading\" | \"leading-end\" | \"leading-start\" | \"left\" | \"left-end\" | \"left-start\" | \"right\" | \"right-end\" | \"right-start\" | \"top\" | \"top-end\" | \"top-start\" | \"trailing\" | \"trailing-end\" | \"trailing-start\""
              },
              {
                "name": "position",
                "type": "\"bottom-leading\" | \"bottom-left\" | \"bottom-right\" | \"bottom-trailing\" | \"manual\" | \"top-leading\" | \"top-left\" | \"top-right\" | \"top-trailing\""
              },
              {
                "name": "referenceElement",
                "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
                "type": "HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string"
              }
            ],
            "events": [
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              }
            ]
          }
        },
        {
          "name": "arcgis-feature",
          "description": "The Feature component displays a graphic according to its [PopupTemplate](https://developers.arcgis.com/javascript/latest/api-reference/esri-PopupTemplate.html). This component is useful in instances where you want to display information about a feature but without the use of a [Popup](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Popup.html).\n--\n\n### Events\n- **arcgisPropertyChange** - Emitted when the value of a property is changed. Use this to listen to changes to properties.\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n\n### Methods\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `destroy(): Promise<void>` - Permanently destroy the component.\n- `nextMedia(contentElementIndex: number): Promise<void>` - Paginates to the next [media info](https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-content-MediaContent.html#mediaInfos).\n- `previousMedia(contentElementIndex: number): Promise<void>` - Paginates to the previous [media info](https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-content-MediaContent.html#mediaInfos).\n- `setActiveMedia(contentElementIndex: number, mediaInfoIndex: number): Promise<void>` - Paginates to a specified [media info](https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-content-MediaContent.html#mediaInfos) object.\nFor example, you may have [media content](https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-content-MediaContent.html#mediaInfos) which contains multiple mediaInfos.\nThis method allows you to specify the index of the mediaInfos you wish to display.",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-feature/",
          "attributes": [
            {
              "name": "auto-destroy-disabled",
              "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-feature/#destroy) method when you are done to\nprevent memory leaks.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "default-popup-template-enabled",
              "description": "Enables automatic creation of a popup template for layers that have popups enabled but no\npopupTemplate defined.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "heading-level",
              "description": "Indicates the heading level to use for the [title](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Feature.html#title) of the feature widget.",
              "default": "2",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "hide-content-attachments",
              "description": "Indicates whether to hide all [AttachmentsContent](https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-content-AttachmentsContent.html).",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-content-expression",
              "description": "Indicates whether to hide all [ExpressionContent](https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-content-ExpressionContent.html).",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-content-fields",
              "description": "Indicates whether to hide all [FieldsContent](https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-content-FieldsContent.html).",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-content-media",
              "description": "Indicates whether to hide all [MediaContent](https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-content-MediaContent.html).",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-content-text",
              "description": "Indicates whether to hide all [TextContent](https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-content-TextContent.html).",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-last-edit-info",
              "description": "**Deprecated**: since 4.33, use [hideLastEditedInfo](#hideLastEditedInfo) instead.. ",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-last-edited-info",
              "description": "Indicates whether to hide the [lastEditInfo](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Feature-FeatureViewModel.html#lastEditInfo).",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-title",
              "description": "Indicates whether to hide the title associated with the feature.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "icon",
              "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
              "default": "\"polygon\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "label",
              "description": "The widget's default label.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Feature.html#label)",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "position",
              "default": "\"bottom-left\"",
              "value": {
                "type": [
                  "\"bottom-leading\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"bottom-trailing\"",
                  "\"manual\"",
                  "\"top-leading\"",
                  "\"top-left\"",
                  "\"top-right\"",
                  "\"top-trailing\""
                ]
              }
            },
            {
              "name": "reference-element",
              "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "state",
              "description": "The current state of the component.",
              "default": "\"disabled\"",
              "value": {
                "type": [
                  "\"disabled\"",
                  "\"error\"",
                  "\"loading\"",
                  "\"ready\""
                ]
              }
            },
            {
              "name": "time-zone",
              "description": "Dates and times displayed in the widget will be displayed in this time zone.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Feature.html#timeZone)",
              "value": {
                "type": "string"
              }
            }
          ],
          "events": [
            {
              "name": "arcgisPropertyChange",
              "type": "{ name: \"state\"; }",
              "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
            },
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            }
          ],
          "js": {
            "properties": [
              {
                "name": "autoDestroyDisabled",
                "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-feature/#destroy) method when you are done to\nprevent memory leaks.",
                "type": "boolean"
              },
              {
                "name": "defaultPopupTemplateEnabled",
                "description": "Enables automatic creation of a popup template for layers that have popups enabled but no\npopupTemplate defined.",
                "type": "boolean"
              },
              {
                "name": "graphic",
                "description": "The [Graphic](https://developers.arcgis.com/javascript/latest/api-reference/esri-Graphic.html) used to represent the feature.",
                "type": "Graphic"
              },
              {
                "name": "headingLevel",
                "description": "Indicates the heading level to use for the [title](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Feature.html#title) of the feature widget.",
                "type": "number"
              },
              {
                "name": "hideContentAttachments",
                "description": "Indicates whether to hide all [AttachmentsContent](https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-content-AttachmentsContent.html).",
                "type": "boolean"
              },
              {
                "name": "hideContentExpression",
                "description": "Indicates whether to hide all [ExpressionContent](https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-content-ExpressionContent.html).",
                "type": "boolean"
              },
              {
                "name": "hideContentFields",
                "description": "Indicates whether to hide all [FieldsContent](https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-content-FieldsContent.html).",
                "type": "boolean"
              },
              {
                "name": "hideContentMedia",
                "description": "Indicates whether to hide all [MediaContent](https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-content-MediaContent.html).",
                "type": "boolean"
              },
              {
                "name": "hideContentText",
                "description": "Indicates whether to hide all [TextContent](https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-content-TextContent.html).",
                "type": "boolean"
              },
              {
                "name": "hideLastEditedInfo",
                "description": "Indicates whether to hide the [lastEditInfo](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Feature-FeatureViewModel.html#lastEditInfo).",
                "type": "boolean"
              },
              {
                "name": "hideLastEditInfo",
                "type": "boolean"
              },
              {
                "name": "hideTitle",
                "description": "Indicates whether to hide the title associated with the feature.",
                "type": "boolean"
              },
              {
                "name": "icon",
                "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
                "type": "string"
              },
              {
                "name": "label",
                "description": "The widget's default label.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Feature.html#label)",
                "type": "string"
              },
              {
                "name": "location",
                "description": "The location of the graphic to be displayed.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Feature.html#location)",
                "type": "Point"
              },
              {
                "name": "map",
                "description": "A map is required when the input [graphic](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Feature.html#graphic) has a popupTemplate that contains [Arcade](https://developers.arcgis.com/arcade) expressions in [ExpressionInfo](https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-ExpressionInfo.html) or [ExpressionContent](https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-content-ExpressionContent.html) that may use the `$map` profile variable to access data from layers within a map.",
                "type": "Map"
              },
              {
                "name": "position",
                "type": "\"bottom-leading\" | \"bottom-left\" | \"bottom-right\" | \"bottom-trailing\" | \"manual\" | \"top-leading\" | \"top-left\" | \"top-right\" | \"top-trailing\""
              },
              {
                "name": "referenceElement",
                "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
                "type": "HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string"
              },
              {
                "name": "spatialReference",
                "description": "The spatial reference used for [Arcade](https://developers.arcgis.com/arcade) operations.",
                "type": "SpatialReference"
              },
              {
                "name": "state",
                "description": "The current state of the component.",
                "type": "\"disabled\" | \"error\" | \"loading\" | \"ready\""
              },
              {
                "name": "timeZone",
                "description": "Dates and times displayed in the widget will be displayed in this time zone.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Feature.html#timeZone)",
                "type": "string"
              }
            ],
            "events": [
              {
                "name": "arcgisPropertyChange",
                "type": "{ name: \"state\"; }",
                "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
              },
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              }
            ]
          }
        },
        {
          "name": "arcgis-feature-form",
          "description": "### Events\n- **arcgisPropertyChange** - Emitted when the value of a property is changed. Use this to listen to changes to properties.\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n- **arcgisSubmit**\n- **arcgisValueChange** - Fires when a field value is updated.\n\n### Methods\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `destroy(): Promise<void>` - Permanently destroy the component.\n- `getValues(): Promise<any>` - Returns all of the field values, regardless of update status.\n- `submit(): Promise<void>` - Fires the submit event.",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-feature-form/",
          "attributes": [
            {
              "name": "auto-destroy-disabled",
              "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-feature-form/#destroy) method when you are done to\nprevent memory leaks.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "group-display",
              "description": "Defines how groups will be displayed to the user.",
              "default": "\"all\"",
              "value": {
                "type": [
                  "\"all\"",
                  "\"sequential\""
                ]
              }
            },
            {
              "name": "heading-level",
              "description": "Indicates the heading level to use for the [title](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureForm.html#title) of the form.",
              "default": "2",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "icon",
              "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
              "default": "\"form-field\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "label",
              "description": "The widget's default label.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureForm.html#label)",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "position",
              "default": "\"bottom-left\"",
              "value": {
                "type": [
                  "\"bottom-leading\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"bottom-trailing\"",
                  "\"manual\"",
                  "\"top-leading\"",
                  "\"top-left\"",
                  "\"top-right\"",
                  "\"top-trailing\""
                ]
              }
            },
            {
              "name": "reference-element",
              "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "state",
              "description": "The current state of the component.",
              "default": "\"disabled\"",
              "value": {
                "type": [
                  "\"disabled\"",
                  "\"ready\""
                ]
              }
            },
            {
              "name": "time-zone",
              "description": "The timezone displayed within the form.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureForm.html#timeZone)",
              "value": {
                "type": "string"
              }
            }
          ],
          "events": [
            {
              "name": "arcgisPropertyChange",
              "type": "{ name: \"state\"; }",
              "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
            },
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            },
            {
              "name": "arcgisSubmit",
              "type": "FeatureFormSubmitEvent"
            },
            {
              "name": "arcgisValueChange",
              "type": "FeatureFormValueChangeEvent",
              "description": "Fires when a field value is updated."
            }
          ],
          "js": {
            "properties": [
              {
                "name": "autoDestroyDisabled",
                "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-feature-form/#destroy) method when you are done to\nprevent memory leaks.",
                "type": "boolean"
              },
              {
                "name": "feature",
                "description": "The associated feature containing the editable attributes.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureForm.html#feature)",
                "type": "Graphic"
              },
              {
                "name": "formTemplate",
                "description": "The associated [template](https://developers.arcgis.com/javascript/latest/api-reference/esri-form-FormTemplate.html) used for the form.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureForm.html#formTemplate)",
                "type": "FormTemplate"
              },
              {
                "name": "groupDisplay",
                "description": "Defines how groups will be displayed to the user.",
                "type": "\"all\" | \"sequential\""
              },
              {
                "name": "headingLevel",
                "description": "Indicates the heading level to use for the [title](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureForm.html#title) of the form.",
                "type": "number"
              },
              {
                "name": "icon",
                "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
                "type": "string"
              },
              {
                "name": "label",
                "description": "The widget's default label.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureForm.html#label)",
                "type": "string"
              },
              {
                "name": "layer",
                "description": "Layer containing the editable feature attributes.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureForm.html#layer)",
                "type": "FeatureLayer | GeoJSONLayer | KnowledgeGraphSublayer | OrientedImageryLayer | SceneLayer | SubtypeSublayer"
              },
              {
                "name": "position",
                "type": "\"bottom-leading\" | \"bottom-left\" | \"bottom-right\" | \"bottom-trailing\" | \"manual\" | \"top-leading\" | \"top-left\" | \"top-right\" | \"top-trailing\""
              },
              {
                "name": "referenceElement",
                "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
                "type": "HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string"
              },
              {
                "name": "state",
                "description": "The current state of the component.",
                "type": "\"disabled\" | \"ready\""
              },
              {
                "name": "timeZone",
                "description": "The timezone displayed within the form.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureForm.html#timeZone)",
                "type": "string"
              }
            ],
            "events": [
              {
                "name": "arcgisPropertyChange",
                "type": "{ name: \"state\"; }",
                "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
              },
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              },
              {
                "name": "arcgisSubmit",
                "type": "FeatureFormSubmitEvent"
              },
              {
                "name": "arcgisValueChange",
                "type": "FeatureFormValueChangeEvent",
                "description": "Fires when a field value is updated."
              }
            ]
          }
        },
        {
          "name": "arcgis-feature-table",
          "description": "The Feature Table component provides an interactive tabular view of each feature's attributes in a feature layer.\n--\n\n### Events\n- **arcgisCellClick**\n- **arcgisCellKeydown**\n- **arcgisCellPointerout**\n- **arcgisCellPointerover**\n- **arcgisColumnReorder**\n- **arcgisPropertyChange** - Emitted when the value of a property is changed. Use this to listen to changes to properties.\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n- **arcgisSelectionChange**\n\n### Methods\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `deleteSelection(showWarningPrompt?: boolean): Promise<void>`\n- `destroy(): Promise<void>` - Permanently destroy the component.\n- `exportSelectionToCSV(includeGeometry?: boolean): Promise<void>`\n- `findColumn(fieldName: string): Promise<__esri.ActionColumn | __esri.AttachmentsColumn | __esri.Column | __esri.GroupColumn | __esri.RelationshipColumn | nullish>`\n- `goToPage(index: number): Promise<void>`\n- `hideColumn(fieldName: string): Promise<void>`\n- `nextPage(): Promise<void>`\n- `previousPage(): Promise<void>`\n- `refresh(): Promise<void>`\n- `scrollToBottom(): Promise<void>`\n- `scrollToIndex(index: number): Promise<void>`\n- `scrollToLeft(): Promise<void>`\n- `scrollToRow(objectId: number): Promise<void>`\n- `scrollToTop(): Promise<void>`\n- `showAllColumns(): Promise<void>`\n- `showColumn(fieldName: string): Promise<void>`\n- `sortColumn(path: string, direction: \"asc\" | \"desc\"): Promise<void>`\n- `zoomToSelection(): Promise<void>`",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-feature-table/",
          "attributes": [
            {
              "name": "attachments-enabled",
              "description": "Indicates whether to display the `Attachments` field in the table.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "auto-destroy-disabled",
              "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-feature-table/#destroy) method when you are done to\nprevent memory leaks.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "auto-refresh-disabled",
              "description": "Indicates whether the table should automatically refresh when the underlying data changes",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "column-performance-mode-disabled",
              "description": "Indicates whether to enable the table's column performance mode.\nThis mode is designed to improve the performance of the table when working with a large number of columns.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "column-reordering-disabled",
              "description": "Indicates whether the table should allow reordering of columns.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "definition-expression",
              "description": "The SQL where clause used to filter features visible in the table.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#definitionExpression)",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "description",
              "description": "Text displayed in the table header, under the title.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#description)",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "editing-enabled",
              "description": "Indicates whether [editing](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#editing-in-featuretable) is enabled on the data within the feature table.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "filter-by-selection-enabled",
              "description": "Indicates whether the table only displays rows that are considered selected.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-column-descriptions",
              "description": "Indicates whether to display descriptions in the header cells of individual columns.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-column-menu-items-sort-ascending",
              "description": "Indicates whether to display the Sort Ascending menu item.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-column-menu-items-sort-descending",
              "description": "Indicates whether to display the Sort Descending menu item.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-column-menus",
              "description": "Indicates whether to display the menu items within the individual columns",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-header",
              "description": "Indicates whether to display the feature table's header information.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-layer-dropdown-icons",
              "description": "Indicates whether to display layer-specific icons in the layer drop down menu.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-menu",
              "description": "Indicates whether to display the feature table's menu.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-menu-items-clear-selection",
              "description": "Indicates whether to display the Clear selection menu item.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-menu-items-delete-selection",
              "description": "Indicates whether to display the Delete Selection menu item.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-menu-items-export-selection-to-csv",
              "description": "Indicates whether to display the Export selection to CSV menu item.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-menu-items-refresh-data",
              "description": "Indicates whether to display the Refresh data menu item.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-menu-items-selected-records-show-all-toggle",
              "description": "Indicates whether to toggle between showing only selected records in the table to showing all of the records.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-menu-items-selected-records-show-selected-toggle",
              "description": "Indicates whether to display the Show selected records menu item.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-menu-items-toggle-columns",
              "description": "Indicates whether to enable toggling column visibility within the menu.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-menu-items-zoom-to-selection",
              "description": "Indicates whether to display the Zoom to selected menu item.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-progress",
              "description": "Indicates whether to display the progress indicator when the table is querying or syncing data.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-selection-column",
              "description": "Indicates whether to display the selection column in the table.\nEach row has a checkbox that selects its corresponding feature.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-tooltips",
              "description": "Indicates whether to display the tooltip for the Show/hide columns button.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "highlight-disabled",
              "description": "Indicates whether to highlight the associated feature when a row is selected by checking the corresponding checkbox.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#highlightEnabled)",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "icon",
              "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
              "default": "\"table\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "initial-size",
              "description": "The user-provided number of total features accessed from the data source.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#initialSize)",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "label",
              "description": "The components label.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "layer-item-id",
              "description": "Portal Item Id for a layer to load. You can set, `layer`, `layerUrl`, or `itemId`,\nbut not more than one.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "layer-url",
              "description": "Url for a layer to load. You can set, `layer`, `layerUrl`, or `itemId`,\nbut not more than one.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "max-size",
              "description": "This property is applicable when working with layers that contain a large number of features, as it provides the ability to limit the displayed total feature count.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#maxSize)",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "multiple-selection-disabled",
              "description": "Controls whether the table allows multiple selected rows.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#multipleSelectionEnabled)",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "multiple-sort-enabled",
              "description": "Indicates whether sorting multiple columns is supported within the table.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "multiple-sort-priority",
              "description": "This property can be used to determine how newly sorted columns are prioritized.",
              "default": "\"prepend\"",
              "value": {
                "type": [
                  "\"append\"",
                  "\"prepend\""
                ]
              }
            },
            {
              "name": "navigation-scale",
              "description": "This property controls the scale of all components in the navigation bar displayed when\nviewing attachments or related records.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#navigationScale)",
              "value": {
                "type": [
                  "\"l\"",
                  "\"m\"",
                  "\"s\""
                ]
              }
            },
            {
              "name": "no-data-message",
              "description": "This property can be used to override the text displayed when the table is fully loaded but no rows are available.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#noDataMessage)",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "page-index",
              "description": "Represents the index of the page of the feature currently being displayed.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#pageIndex)",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "page-size",
              "description": "The default page size used when displaying features within the table.",
              "default": "50",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "pagination-enabled",
              "description": "Controls whether the table should only display a single page of features at any time.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "position",
              "default": "\"manual\"",
              "value": {
                "type": [
                  "\"bottom-leading\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"bottom-trailing\"",
                  "\"manual\"",
                  "\"top-leading\"",
                  "\"top-left\"",
                  "\"top-right\"",
                  "\"top-trailing\""
                ]
              }
            },
            {
              "name": "reference-element",
              "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "related-records-enabled",
              "description": "Indicates whether to display any related records associated with rows within the table.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "return-geometry-enabled",
              "description": "Indicates whether to fetch geometries for the corresponding features displayed in the table.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "return-m-enabled",
              "description": "Indicates whether geometries fetched for the corresponding features contain M values, if supported.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "return-z-enabled",
              "description": "Indicates whether the fetched features' geometries contain Z values.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "show-layer-dropdown",
              "description": "Indicates whether to display the feature table's layer switch drop down menu.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "state",
              "description": "The current state of the component.",
              "default": "\"disabled\"",
              "value": {
                "type": [
                  "\"disabled\"",
                  "\"error\"",
                  "\"loaded\"",
                  "\"loading\"",
                  "\"ready\""
                ]
              }
            },
            {
              "name": "sync-template-on-changes-disabled",
              "description": "Indicates whether the table should synchronize the current attributeTableTemplate\nbeing used based on changes made to the table's UI.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "table-disabled",
              "description": "Indicates whether the table is disabled.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#disabled)",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "time-zone",
              "description": "Dates and times displayed in the widget will be in terms of this time zone.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#timeZone)",
              "value": {
                "type": "string"
              }
            }
          ],
          "events": [
            {
              "name": "arcgisCellClick",
              "type": "FeatureTableCellClickEvent"
            },
            {
              "name": "arcgisCellKeydown",
              "type": "FeatureTableCellKeydownEvent"
            },
            {
              "name": "arcgisCellPointerout",
              "type": "FeatureTableCellPointeroutEvent"
            },
            {
              "name": "arcgisCellPointerover",
              "type": "FeatureTableCellPointeroverEvent"
            },
            {
              "name": "arcgisColumnReorder",
              "type": "FeatureTableColumnReorderEvent"
            },
            {
              "name": "arcgisPropertyChange",
              "type": "{ name: \"state\" | \"size\" | \"effectiveSize\" | \"isQueryingOrSyncing\" | \"layerView\"; }",
              "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
            },
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            },
            {
              "name": "arcgisSelectionChange",
              "type": "CollectionChangeEvent<string | number>"
            }
          ],
          "js": {
            "properties": [
              {
                "name": "actionColumn",
                "description": "Reference to the current [action column](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-ActionColumn.html).\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#actionColumn)",
                "type": "ActionColumn"
              },
              {
                "name": "actionColumnConfig",
                "description": "Configuration for the [ActionColumn](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-ActionColumn.html).\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#actionColumnConfig)",
                "type": "ActionColumnConfig"
              },
              {
                "name": "activeFilters",
                "description": "A read-only property indicating the type of filter used by the table.\nIt returns either filters by geometry or selections using a row's object ID.",
                "type": "Collection<GeometryFilter | SelectionFilter>"
              },
              {
                "name": "activeSortOrders",
                "description": "Use this read-only property if needing to query features while retaining\na column's sort order.",
                "type": "Array<ColumnSortOrder>"
              },
              {
                "name": "allColumns",
                "description": "A flattened array of all [columns](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-Grid-Column.html) within the table, including nested columns.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#allColumns)",
                "type": "Array<Column>"
              },
              {
                "name": "allRelatedTablesVisible",
                "description": "Indicates the table is displaying all related tables in \"show all\" mode.",
                "type": "boolean"
              },
              {
                "name": "allVisibleColumns",
                "description": "A flattened array of all visible [columns](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-Grid-Column.html) within the table, including nested columns.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#allVisibleColumns)",
                "type": "Array<Column>"
              },
              {
                "name": "attachmentsColumns",
                "description": "A flattened array of all [attachment columns](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-AttachmentsColumn.html) within the table, including nested columns.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#attachmentsColumns)",
                "type": "Array<AttachmentsColumn>"
              },
              {
                "name": "attachmentsEnabled",
                "description": "Indicates whether to display the `Attachments` field in the table.",
                "type": "boolean"
              },
              {
                "name": "attachmentsViewOptions",
                "description": "This read-only property provides the the configuration options for the attachments view.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#attachmentsViewOptions)",
                "type": "AttachmentsViewOptions"
              },
              {
                "name": "attributeTableTemplate",
                "description": "Use this property to configure how columns display within the table in regard to visibility, column order, and sorting.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#attributeTableTemplate)",
                "type": "AttributeTableTemplate"
              },
              {
                "name": "autoDestroyDisabled",
                "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-feature-table/#destroy) method when you are done to\nprevent memory leaks.",
                "type": "boolean"
              },
              {
                "name": "autoRefreshDisabled",
                "description": "Indicates whether the table should automatically refresh when the underlying data changes",
                "type": "boolean"
              },
              {
                "name": "columnPerformanceModeDisabled",
                "description": "Indicates whether to enable the table's column performance mode.\nThis mode is designed to improve the performance of the table when working with a large number of columns.",
                "type": "boolean"
              },
              {
                "name": "columnReorderingDisabled",
                "description": "Indicates whether the table should allow reordering of columns.",
                "type": "boolean"
              },
              {
                "name": "columns",
                "description": "A read-only collection of column, field, group, action, attachment,\nand relationship columns that are displayed within the table.",
                "type": "Collection<AttachmentsColumn | ActionColumn | Column | FieldColumn | GroupColumn | RelationshipColumn>"
              },
              {
                "name": "definitionExpression",
                "description": "The SQL where clause used to filter features visible in the table.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#definitionExpression)",
                "type": "string"
              },
              {
                "name": "description",
                "description": "Text displayed in the table header, under the title.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#description)",
                "type": "Function | string"
              },
              {
                "name": "editingEnabled",
                "description": "Indicates whether [editing](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#editing-in-featuretable) is enabled on the data within the feature table.",
                "type": "boolean"
              },
              {
                "name": "effectiveSize",
                "description": "Total number of records displayed in the table's current view.",
                "type": "number"
              },
              {
                "name": "fieldColumns",
                "description": "A flattened array of all [field columns](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-FieldColumn.html) within the table, including nested columns.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#fieldColumns)",
                "type": "Array<FieldColumn>"
              },
              {
                "name": "filterBySelectionEnabled",
                "description": "Indicates whether the table only displays rows that are considered selected.",
                "type": "boolean"
              },
              {
                "name": "filterGeometry",
                "description": "Set this property to filter the features displayed in the table.",
                "type": "Extent | Mesh | Multipoint | Point | Polygon | Polyline"
              },
              {
                "name": "groupColumns",
                "description": "A flattened array of all [group columns](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-Grid-GroupColumn.html) within the table.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#groupColumns)",
                "type": "Array<GroupColumn>"
              },
              {
                "name": "hiddenFields",
                "description": "A collection of string values which indicate [field.names](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-Field.html) that should be hidden within the table.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#hiddenFields)",
                "type": "Collection<string>"
              },
              {
                "name": "hideColumnDescriptions",
                "description": "Indicates whether to display descriptions in the header cells of individual columns.",
                "type": "boolean"
              },
              {
                "name": "hideColumnMenuItemsSortAscending",
                "description": "Indicates whether to display the Sort Ascending menu item.",
                "type": "boolean"
              },
              {
                "name": "hideColumnMenuItemsSortDescending",
                "description": "Indicates whether to display the Sort Descending menu item.",
                "type": "boolean"
              },
              {
                "name": "hideColumnMenus",
                "description": "Indicates whether to display the menu items within the individual columns",
                "type": "boolean"
              },
              {
                "name": "hideHeader",
                "description": "Indicates whether to display the feature table's header information.",
                "type": "boolean"
              },
              {
                "name": "hideLayerDropdownIcons",
                "description": "Indicates whether to display layer-specific icons in the layer drop down menu.",
                "type": "boolean"
              },
              {
                "name": "hideMenu",
                "description": "Indicates whether to display the feature table's menu.",
                "type": "boolean"
              },
              {
                "name": "hideMenuItemsClearSelection",
                "description": "Indicates whether to display the Clear selection menu item.",
                "type": "boolean"
              },
              {
                "name": "hideMenuItemsDeleteSelection",
                "description": "Indicates whether to display the Delete Selection menu item.",
                "type": "boolean"
              },
              {
                "name": "hideMenuItemsExportSelectionToCsv",
                "description": "Indicates whether to display the Export selection to CSV menu item.",
                "type": "boolean"
              },
              {
                "name": "hideMenuItemsRefreshData",
                "description": "Indicates whether to display the Refresh data menu item.",
                "type": "boolean"
              },
              {
                "name": "hideMenuItemsSelectedRecordsShowAllToggle",
                "description": "Indicates whether to toggle between showing only selected records in the table to showing all of the records.",
                "type": "boolean"
              },
              {
                "name": "hideMenuItemsSelectedRecordsShowSelectedToggle",
                "description": "Indicates whether to display the Show selected records menu item.",
                "type": "boolean"
              },
              {
                "name": "hideMenuItemsToggleColumns",
                "description": "Indicates whether to enable toggling column visibility within the menu.",
                "type": "boolean"
              },
              {
                "name": "hideMenuItemsZoomToSelection",
                "description": "Indicates whether to display the Zoom to selected menu item.",
                "type": "boolean"
              },
              {
                "name": "hideProgress",
                "description": "Indicates whether to display the progress indicator when the table is querying or syncing data.",
                "type": "boolean"
              },
              {
                "name": "hideSelectionColumn",
                "description": "Indicates whether to display the selection column in the table.\nEach row has a checkbox that selects its corresponding feature.",
                "type": "boolean"
              },
              {
                "name": "hideTooltips",
                "description": "Indicates whether to display the tooltip for the Show/hide columns button.",
                "type": "boolean"
              },
              {
                "name": "highlightDisabled",
                "description": "Indicates whether to highlight the associated feature when a row is selected by checking the corresponding checkbox.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#highlightEnabled)",
                "type": "boolean"
              },
              {
                "name": "highlightIds",
                "description": "This property accepts and returns a collection of feature object IDs.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#highlightIds)",
                "type": "Collection<string | number>"
              },
              {
                "name": "icon",
                "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
                "type": "string"
              },
              {
                "name": "initialSize",
                "description": "The user-provided number of total features accessed from the data source.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#initialSize)",
                "type": "number"
              },
              {
                "name": "isQueryingOrSyncing",
                "description": "A read-only property which indicates if the table is querying or syncing data.",
                "type": "boolean"
              },
              {
                "name": "label",
                "description": "The components label.",
                "type": "string"
              },
              {
                "name": "layer",
                "description": "The associated [CatalogFootprintLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-catalog-CatalogFootprintLayer.html), [CSVLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-CSVLayer.html), [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), [ImageryLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-ImageryLayer.html),\n[KnowledgeGraphSublayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-knowledgeGraph-KnowledgeGraphSublayer.html), [SceneLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-SceneLayer.html), or [WFSLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-WFSLayer.html) containing the fields and attributes to display within the widget.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#layer)",
                "type": "CSVLayer | CatalogFootprintLayer | FeatureLayer | GeoJSONLayer | ImageryLayer | KnowledgeGraphSublayer | OrientedImageryLayer | SceneLayer | Sublayer | WFSLayer"
              },
              {
                "name": "layerItemId",
                "description": "Portal Item Id for a layer to load. You can set, `layer`, `layerUrl`, or `itemId`,\nbut not more than one.",
                "type": "string"
              },
              {
                "name": "layers",
                "description": "Group of layers displayed in the dropdown component in the table's header,\nwhich allows changing what layer is currently displayed in the table.",
                "type": "Array<FeatureLayer | SceneLayer | GeoJSONLayer | WFSLayer | CSVLayer | ImageryLayer | CatalogFootprintLayer | KnowledgeGraphSublayer>"
              },
              {
                "name": "layerUrl",
                "description": "Url for a layer to load. You can set, `layer`, `layerUrl`, or `itemId`,\nbut not more than one.",
                "type": "string"
              },
              {
                "name": "layerView",
                "description": "The layer view associated with the table's layer.",
                "type": "LayerView"
              },
              {
                "name": "maxSize",
                "description": "This property is applicable when working with layers that contain a large number of features, as it provides the ability to limit the displayed total feature count.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#maxSize)",
                "type": "number"
              },
              {
                "name": "menuConfig",
                "description": "Set this object to customize the feature table's menu content.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#menuConfig)",
                "type": "TableMenuConfig"
              },
              {
                "name": "multipleSelectionDisabled",
                "description": "Controls whether the table allows multiple selected rows.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#multipleSelectionEnabled)",
                "type": "boolean"
              },
              {
                "name": "multipleSortEnabled",
                "description": "Indicates whether sorting multiple columns is supported within the table.",
                "type": "boolean"
              },
              {
                "name": "multipleSortPriority",
                "description": "This property can be used to determine how newly sorted columns are prioritized.",
                "type": "\"append\" | \"prepend\""
              },
              {
                "name": "navigationScale",
                "description": "This property controls the scale of all components in the navigation bar displayed when\nviewing attachments or related records.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#navigationScale)",
                "type": "\"l\" | \"m\" | \"s\""
              },
              {
                "name": "noDataMessage",
                "description": "This property can be used to override the text displayed when the table is fully loaded but no rows are available.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#noDataMessage)",
                "type": "string"
              },
              {
                "name": "objectIds",
                "description": "This property accepts and returns a collection of feature object IDs.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#objectIds)",
                "type": "Collection<string | number>"
              },
              {
                "name": "outFields",
                "description": "An array of field names from the table's data source to include when the table requests data.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#outFields)",
                "type": "Array<string>"
              },
              {
                "name": "pageCount",
                "description": "Number of pages of features to be displayed in the table, based on the total [number of features](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#size) and configured [pageSize](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#pageSize).\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#pageCount)",
                "type": "number"
              },
              {
                "name": "pageIndex",
                "description": "Represents the index of the page of the feature currently being displayed.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#pageIndex)",
                "type": "number"
              },
              {
                "name": "pageSize",
                "description": "The default page size used when displaying features within the table.",
                "type": "number"
              },
              {
                "name": "paginationEnabled",
                "description": "Controls whether the table should only display a single page of features at any time.",
                "type": "boolean"
              },
              {
                "name": "position",
                "type": "\"bottom-leading\" | \"bottom-left\" | \"bottom-right\" | \"bottom-trailing\" | \"manual\" | \"top-leading\" | \"top-left\" | \"top-right\" | \"top-trailing\""
              },
              {
                "name": "referenceElement",
                "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
                "type": "HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string"
              },
              {
                "name": "relatedRecordsEnabled",
                "description": "Indicates whether to display any related records associated with rows within the table.",
                "type": "boolean"
              },
              {
                "name": "relatedTable",
                "description": "Reference to a nested table instance representing a relationship with another table.",
                "type": "FeatureTable"
              },
              {
                "name": "relatedTables",
                "description": "A collection of nested table instances.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#relatedTables)",
                "type": "Collection<FeatureTable>"
              },
              {
                "name": "relationshipColumns",
                "description": "A flattened array of all [relationship columns](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-RelationshipColumn.html) within the table, including nested columns.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#relationshipColumns)",
                "type": "Array<RelationshipColumn>"
              },
              {
                "name": "returnGeometryEnabled",
                "description": "Indicates whether to fetch geometries for the corresponding features displayed in the table.",
                "type": "boolean"
              },
              {
                "name": "returnMEnabled",
                "description": "Indicates whether geometries fetched for the corresponding features contain M values, if supported.",
                "type": "boolean"
              },
              {
                "name": "returnZEnabled",
                "description": "Indicates whether the fetched features' geometries contain Z values.",
                "type": "boolean"
              },
              {
                "name": "rowHighlightIds",
                "description": "This property accepts and returns a collection of feature object IDs.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#rowHighlightIds)",
                "type": "Collection<string | number>"
              },
              {
                "name": "showLayerDropdown",
                "description": "Indicates whether to display the feature table's layer switch drop down menu.",
                "type": "boolean"
              },
              {
                "name": "size",
                "description": "Total number of records currently displayed in the table.",
                "type": "number"
              },
              {
                "name": "state",
                "description": "The current state of the component.",
                "type": "\"disabled\" | \"error\" | \"loaded\" | \"loading\" | \"ready\""
              },
              {
                "name": "supportsAddAttachments",
                "description": "Indicates whether the table and associated layer support adding attachments with the current configuration.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#supportsAddAttachments)",
                "type": "boolean"
              },
              {
                "name": "supportsAttachments",
                "description": "Indicates whether the table and associated layer support viewing attachments with the current configuration.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#supportsAttachments)",
                "type": "boolean"
              },
              {
                "name": "supportsDeleteAttachments",
                "description": "Indicates whether the table and associated layer support deleting attachments with the current configuration.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#supportsDeleteAttachments)",
                "type": "boolean"
              },
              {
                "name": "supportsResizeAttachments",
                "description": "Defines whether or not the feature supports resizing\nattachments.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#supportsResizeAttachments)",
                "type": "boolean"
              },
              {
                "name": "supportsUpdateAttachments",
                "description": "Indicates whether the table and associated layer support updating attachments with the current configuration.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#supportsUpdateAttachments)",
                "type": "boolean"
              },
              {
                "name": "syncTemplateOnChangesDisabled",
                "description": "Indicates whether the table should synchronize the current attributeTableTemplate\nbeing used based on changes made to the table's UI.",
                "type": "boolean"
              },
              {
                "name": "tableController",
                "description": "Reference to top-level controller table, if this table is a related table, nested within and controlled by another table.",
                "type": "FeatureTable"
              },
              {
                "name": "tableDisabled",
                "description": "Indicates whether the table is disabled.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#disabled)",
                "type": "boolean"
              },
              {
                "name": "tableParent",
                "description": "Reference to a table instance that this table is directly related to.",
                "type": "FeatureTable"
              },
              {
                "name": "tableTemplate",
                "description": "The associated [template](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-support-TableTemplate.html) used for the feature table.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#tableTemplate)",
                "type": "TableTemplate"
              },
              {
                "name": "timeExtent",
                "description": "The [TimeExtent](https://developers.arcgis.com/javascript/latest/api-reference/esri-time-TimeExtent.html) in which to filter and display data within the FeatureTable widget.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#timeExtent)",
                "type": "TimeExtent"
              },
              {
                "name": "timeZone",
                "description": "Dates and times displayed in the widget will be in terms of this time zone.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#timeZone)",
                "type": "string"
              },
              {
                "name": "visibleColumns",
                "description": "A flattened array of all top-level visible columns.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#visibleColumns)",
                "type": "Array<Column>"
              }
            ],
            "events": [
              {
                "name": "arcgisCellClick",
                "type": "FeatureTableCellClickEvent"
              },
              {
                "name": "arcgisCellKeydown",
                "type": "FeatureTableCellKeydownEvent"
              },
              {
                "name": "arcgisCellPointerout",
                "type": "FeatureTableCellPointeroutEvent"
              },
              {
                "name": "arcgisCellPointerover",
                "type": "FeatureTableCellPointeroverEvent"
              },
              {
                "name": "arcgisColumnReorder",
                "type": "FeatureTableColumnReorderEvent"
              },
              {
                "name": "arcgisPropertyChange",
                "type": "{ name: \"state\" | \"size\" | \"effectiveSize\" | \"isQueryingOrSyncing\" | \"layerView\"; }",
                "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
              },
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              },
              {
                "name": "arcgisSelectionChange",
                "type": "CollectionChangeEvent<string | number>"
              }
            ]
          }
        },
        {
          "name": "arcgis-feature-templates",
          "description": "### Events\n- **arcgisPropertyChange** - Emitted when the value of a property is changed. Use this to listen to changes to properties.\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n- **arcgisSelect**\n\n### Methods\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `destroy(): Promise<void>` - Permanently destroy the component.",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-feature-templates/",
          "attributes": [
            {
              "name": "auto-destroy-disabled",
              "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-feature-templates/#destroy) method when you are done to\nprevent memory leaks.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "enable-list-scroll",
              "description": "Indicates whether the list of available feature [template items](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTemplates-TemplateItem.html) should scroll within its containing element.",
              "default": "true",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "filter-text",
              "description": "Text used to filter items.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTemplates.html#filterText)",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "group-by",
              "description": "It is possible to group [template items](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTemplates-TemplateItem.html).",
              "default": "\"layer\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "heading-level",
              "description": "Indicates the heading level to use for the labels of grouped feature templates.",
              "default": "4",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "hide-filter",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "icon",
              "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
              "default": "\"list-rectangle\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "label",
              "description": "The widget's default label.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTemplates.html#label)",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "position",
              "default": "\"bottom-left\"",
              "value": {
                "type": [
                  "\"bottom-leading\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"bottom-trailing\"",
                  "\"manual\"",
                  "\"top-leading\"",
                  "\"top-left\"",
                  "\"top-right\"",
                  "\"top-trailing\""
                ]
              }
            },
            {
              "name": "reference-element",
              "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "selection-mode",
              "description": "Specifies the selection behavior of list items.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTemplates.html#selectionMode)",
              "value": {
                "type": [
                  "\"none\"",
                  "\"single\""
                ]
              }
            },
            {
              "name": "state",
              "description": "The current state of the component.",
              "default": "\"disabled\"",
              "value": {
                "type": [
                  "\"disabled\"",
                  "\"loading\"",
                  "\"ready\""
                ]
              }
            }
          ],
          "events": [
            {
              "name": "arcgisPropertyChange",
              "type": "{ name: \"state\"; }",
              "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
            },
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            },
            {
              "name": "arcgisSelect",
              "type": "FeatureTemplatesSelectEvent"
            }
          ],
          "js": {
            "properties": [
              {
                "name": "autoDestroyDisabled",
                "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-feature-templates/#destroy) method when you are done to\nprevent memory leaks.",
                "type": "boolean"
              },
              {
                "name": "enableListScroll",
                "description": "Indicates whether the list of available feature [template items](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTemplates-TemplateItem.html) should scroll within its containing element.",
                "type": "boolean"
              },
              {
                "name": "filterFunction",
                "description": "[Function](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTemplates.html#FilterFunction) can be defined to help filter\n[template items](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTemplates-TemplateItem.html) within the widget.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTemplates.html#filterFunction)",
                "type": "(((filterName: FilterFunctionFilterName) => boolean))"
              },
              {
                "name": "filterText",
                "description": "Text used to filter items.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTemplates.html#filterText)",
                "type": "string"
              },
              {
                "name": "groupBy",
                "description": "It is possible to group [template items](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTemplates-TemplateItem.html).",
                "type": "(((grouping: GroupByFunctionGrouping) => )) | string"
              },
              {
                "name": "headingLevel",
                "description": "Indicates the heading level to use for the labels of grouped feature templates.",
                "type": "number"
              },
              {
                "name": "hideFilter",
                "type": "boolean"
              },
              {
                "name": "icon",
                "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
                "type": "string"
              },
              {
                "name": "label",
                "description": "The widget's default label.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTemplates.html#label)",
                "type": "string"
              },
              {
                "name": "layers",
                "description": "An array of [FeatureLayers](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html)\nto display within the widget.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTemplates.html#layers)",
                "type": "Array<FeatureLayer | SceneLayer | SubtypeGroupLayer | GeoJSONLayer | OrientedImageryLayer | SubtypeSublayer>"
              },
              {
                "name": "position",
                "type": "\"bottom-leading\" | \"bottom-left\" | \"bottom-right\" | \"bottom-trailing\" | \"manual\" | \"top-leading\" | \"top-left\" | \"top-right\" | \"top-trailing\""
              },
              {
                "name": "referenceElement",
                "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
                "type": "HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string"
              },
              {
                "name": "selectionMode",
                "description": "Specifies the selection behavior of list items.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTemplates.html#selectionMode)",
                "type": "\"none\" | \"single\""
              },
              {
                "name": "state",
                "description": "The current state of the component.",
                "type": "\"disabled\" | \"loading\" | \"ready\""
              }
            ],
            "events": [
              {
                "name": "arcgisPropertyChange",
                "type": "{ name: \"state\"; }",
                "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
              },
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              },
              {
                "name": "arcgisSelect",
                "type": "FeatureTemplatesSelectEvent"
              }
            ]
          }
        },
        {
          "name": "arcgis-features",
          "description": "The Features component allows users to view a feature's popupTemplate content such as attributes, actions, related records, etc., without having to be tied to the [View](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View.html).\n--\n\n### Events\n- **arcgisClose** - Emitted when the component's close button is clicked.\n- **arcgisPropertyChange** - Emitted when the value of a property is changed. Use this to listen to changes to properties.\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n- **arcgisTriggerAction** - Emitted when an action is triggered on the component.\n\n### Methods\n- `clear(): Promise<void>`\n- `close(): Promise<void>` - Closes the component.\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `destroy(): Promise<void>` - Permanently destroy the component.\n- `fetchFeatures(screenPoint: __esri.FeaturesFetchFeaturesScreenPoint, options?: __esri.FetchFeaturesOptions): Promise<__esri.FetchPopupFeaturesResult>` - Use this method to return feature(s) at a given screen location.\nThese features are fetched from all of the [layer views](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-LayerView.html).\nIn order to use this, a layer must already have an associated [PopupTemplate](https://developers.arcgis.com/javascript/latest/api-reference/esri-PopupTemplate.html).\nThis method allows a developer to control how the input location is handled.\n- `next(): Promise<__esri.FeaturesViewModel>`\n- `open(options?: __esri.FeaturesOpenOptions): Promise<void>` - Opens Features with content defined either explicitly or driven from the [PopupTemplate](https://developers.arcgis.com/javascript/latest/api-reference/esri-PopupTemplate.html) of input features.\n- `previous(): Promise<__esri.FeaturesViewModel>`\n- `triggerAction(actionIndex: number): Promise<void>`",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-features/",
          "attributes": [
            {
              "name": "active",
              "description": "Indicates if the widget is active when it is visible and is not [waiting for results](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Features-FeaturesViewModel.html#waitingForResult).\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Features.html#active)",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "auto-destroy-disabled",
              "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-features/#destroy) method when you are done to\nprevent memory leaks.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "closed",
              "description": "Indicates whether a component is closed. When `true`, the component will be hidden.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "collapsed",
              "description": "Indicates whether the popup displays its content.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "content",
              "description": "The content of the Features widget.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Features.html#content)",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "feature-navigation-top",
              "description": "Indicates whether the feature navigation arrows are displayed at the top of the widget.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "features-per-page",
              "description": "The number of features to fetch at one time.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Features-FeaturesViewModel.html#featuresPerPage)",
              "default": "20",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "features-title",
              "description": "The title of the Features widget.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Features.html#title)",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "heading-level",
              "description": "Indicates the heading level to use for the [title](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Features.html#title) of the widget.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Features.html#headingLevel)",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "hide-action-bar",
              "description": "Indicates whether to hide the action bar that holds the feature's [action](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Features-FeaturesViewModel.html#actions).",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-close-button",
              "description": "Indicates whether to hide the close button.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-feature-menu-heading",
              "description": "Indicates whether to hide a heading and description on the widget feature menu list.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-feature-navigation",
              "description": "Indicates whether to hide pagination for feature navigation.\nThis allows the user to scroll through various selected features using pagination arrows.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-flow",
              "description": "Determines whether the component should be shown within its built-in [flow component](https://developers.arcgis.com/calcite-design-system/components/flow/) or if the flow component should be excluded.\nThe component will be displayed within its original flow component if `false`.\nThe flow component will be omitted if set to `true`.\nTo place the component into an existing Calcite flow component, set this property to `false`.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-heading",
              "description": "Indicates whether is hide the heading.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-spinner",
              "description": "Indicates whether to hide the loading spinner.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "icon",
              "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
              "default": "null",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "include-default-actions",
              "description": "Indicates whether or not to include [defaultActions](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Features-FeaturesViewModel.html#defaultActions).\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Features-FeaturesViewModel.html#includeDefaultActions)",
              "default": "true",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "initial-display-mode",
              "description": "Indicates whether to initially display a list of features, or the content for one feature.",
              "default": "\"feature\"",
              "value": {
                "type": [
                  "\"feature\"",
                  "\"list\""
                ]
              }
            },
            {
              "name": "label",
              "description": "The widget's default label.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Features.html#label)",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "position",
              "default": "\"bottom-left\"",
              "value": {
                "type": [
                  "\"bottom-leading\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"bottom-trailing\"",
                  "\"manual\"",
                  "\"top-leading\"",
                  "\"top-left\"",
                  "\"top-right\"",
                  "\"top-trailing\""
                ]
              }
            },
            {
              "name": "reference-element",
              "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "selected-feature-index",
              "description": "Index of the feature that is [selected](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Features.html#selectedFeature).\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Features.html#selectedFeatureIndex)",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "show-collapse-button",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "state",
              "description": "The current state of the component.",
              "default": "\"disabled\"",
              "value": {
                "type": [
                  "\"disabled\"",
                  "\"ready\""
                ]
              }
            },
            {
              "name": "time-zone",
              "description": "Dates and times displayed in the widget will be displayed in this time zone.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Features.html#timeZone)",
              "value": {
                "type": "string"
              }
            }
          ],
          "events": [
            {
              "name": "arcgisClose",
              "type": "void",
              "description": "Emitted when the component's close button is clicked."
            },
            {
              "name": "arcgisPropertyChange",
              "type": "{ name: \"state\" | \"selectedFeature\" | \"selectedFeatureIndex\"; }",
              "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
            },
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            },
            {
              "name": "arcgisTriggerAction",
              "type": "FeaturesTriggerActionEvent",
              "description": "Emitted when an action is triggered on the component."
            }
          ],
          "js": {
            "properties": [
              {
                "name": "actions",
                "description": "[Collection](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Collection.html) of [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) objects.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Features-FeaturesViewModel.html#actions)",
                "type": "Collection<ActionButton | ActionToggle>"
              },
              {
                "name": "active",
                "description": "Indicates if the widget is active when it is visible and is not [waiting for results](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Features-FeaturesViewModel.html#waitingForResult).\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Features.html#active)",
                "type": "boolean"
              },
              {
                "name": "autoDestroyDisabled",
                "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-features/#destroy) method when you are done to\nprevent memory leaks.",
                "type": "boolean"
              },
              {
                "name": "closed",
                "description": "Indicates whether a component is closed. When `true`, the component will be hidden.",
                "type": "boolean"
              },
              {
                "name": "collapsed",
                "description": "Indicates whether the popup displays its content.",
                "type": "boolean"
              },
              {
                "name": "content",
                "description": "The content of the Features widget.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Features.html#content)",
                "type": "HTMLElement | Widget | string"
              },
              {
                "name": "featureNavigationTop",
                "description": "Indicates whether the feature navigation arrows are displayed at the top of the widget.",
                "type": "boolean"
              },
              {
                "name": "features",
                "description": "An array of features associated with the Features widget.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Features.html#features)",
                "type": "Array<Graphic>"
              },
              {
                "name": "featuresPerPage",
                "description": "The number of features to fetch at one time.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Features-FeaturesViewModel.html#featuresPerPage)",
                "type": "number"
              },
              {
                "name": "featuresTitle",
                "description": "The title of the Features widget.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Features.html#title)",
                "type": "string"
              },
              {
                "name": "featureViewModelAbilities",
                "description": "Defines the specific [abilities](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Feature-FeatureViewModel.html#Abilities) that can be used when querying and displaying content.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Features-FeaturesViewModel.html#featureViewModelAbilities)",
                "type": "Abilities"
              },
              {
                "name": "goToOverride",
                "description": "This function provides the ability to override either the\n[MapView goTo()](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#goTo) or\n[SceneView goTo()](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#goTo) methods.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Features.html#goToOverride)",
                "type": "(((view: MapView | SceneView, goToParameters: GoToParameters) => void))"
              },
              {
                "name": "headerActions",
                "description": "The actions that are displayed in the header of the widget.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Features.html#headerActions)",
                "type": "Collection<ActionBase>"
              },
              {
                "name": "headingLevel",
                "description": "Indicates the heading level to use for the [title](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Features.html#title) of the widget.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Features.html#headingLevel)",
                "type": "number"
              },
              {
                "name": "hideActionBar",
                "description": "Indicates whether to hide the action bar that holds the feature's [action](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Features-FeaturesViewModel.html#actions).",
                "type": "boolean"
              },
              {
                "name": "hideCloseButton",
                "description": "Indicates whether to hide the close button.",
                "type": "boolean"
              },
              {
                "name": "hideFeatureMenuHeading",
                "description": "Indicates whether to hide a heading and description on the widget feature menu list.",
                "type": "boolean"
              },
              {
                "name": "hideFeatureNavigation",
                "description": "Indicates whether to hide pagination for feature navigation.\nThis allows the user to scroll through various selected features using pagination arrows.",
                "type": "boolean"
              },
              {
                "name": "hideFlow",
                "description": "Determines whether the component should be shown within its built-in [flow component](https://developers.arcgis.com/calcite-design-system/components/flow/) or if the flow component should be excluded.\nThe component will be displayed within its original flow component if `false`.\nThe flow component will be omitted if set to `true`.\nTo place the component into an existing Calcite flow component, set this property to `false`.",
                "type": "boolean"
              },
              {
                "name": "hideHeading",
                "description": "Indicates whether is hide the heading.",
                "type": "boolean"
              },
              {
                "name": "hideSpinner",
                "description": "Indicates whether to hide the loading spinner.",
                "type": "boolean"
              },
              {
                "name": "icon",
                "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
                "type": "string"
              },
              {
                "name": "includeDefaultActions",
                "description": "Indicates whether or not to include [defaultActions](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Features-FeaturesViewModel.html#defaultActions).\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Features-FeaturesViewModel.html#includeDefaultActions)",
                "type": "boolean"
              },
              {
                "name": "initialDisplayMode",
                "description": "Indicates whether to initially display a list of features, or the content for one feature.",
                "type": "\"feature\" | \"list\""
              },
              {
                "name": "label",
                "description": "The widget's default label.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Features.html#label)",
                "type": "string"
              },
              {
                "name": "map",
                "description": "A map is required when the input [features](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Features.html#features) have a popupTemplate that contains [Arcade](https://developers.arcgis.com/arcade) expressions in [ExpressionInfo](https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-ExpressionInfo.html) or [ExpressionContent](https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-content-ExpressionContent.html) that may use the `$map` profile variable to access data from layers within a map.",
                "type": "Map"
              },
              {
                "name": "position",
                "type": "\"bottom-leading\" | \"bottom-left\" | \"bottom-right\" | \"bottom-trailing\" | \"manual\" | \"top-leading\" | \"top-left\" | \"top-right\" | \"top-trailing\""
              },
              {
                "name": "promises",
                "description": "An array of pending Promises that have not yet been fulfilled.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Features.html#promises)",
                "type": "Array<Promise<any>>"
              },
              {
                "name": "referenceElement",
                "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
                "type": "HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string"
              },
              {
                "name": "selectedFeature",
                "description": "The selected feature accessed by the Features widget.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Features.html#selectedFeature)",
                "type": "Graphic"
              },
              {
                "name": "selectedFeatureIndex",
                "description": "Index of the feature that is [selected](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Features.html#selectedFeature).\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Features.html#selectedFeatureIndex)",
                "type": "number"
              },
              {
                "name": "showCollapseButton",
                "type": "boolean"
              },
              {
                "name": "spatialReference",
                "description": "The spatial reference used for [Arcade](https://developers.arcgis.com/arcade) operations.",
                "type": "SpatialReference"
              },
              {
                "name": "state",
                "description": "The current state of the component.",
                "type": "\"disabled\" | \"ready\""
              },
              {
                "name": "timeZone",
                "description": "Dates and times displayed in the widget will be displayed in this time zone.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Features.html#timeZone)",
                "type": "string"
              }
            ],
            "events": [
              {
                "name": "arcgisClose",
                "type": "void",
                "description": "Emitted when the component's close button is clicked."
              },
              {
                "name": "arcgisPropertyChange",
                "type": "{ name: \"state\" | \"selectedFeature\" | \"selectedFeatureIndex\"; }",
                "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
              },
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              },
              {
                "name": "arcgisTriggerAction",
                "type": "FeaturesTriggerActionEvent",
                "description": "Emitted when an action is triggered on the component."
              }
            ]
          }
        },
        {
          "name": "arcgis-floor-filter",
          "description": "The Floor Filter component simplifies visualization of GIS data for a specific floor of a building in your application.\n--\n\n### Events\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n\n### Methods\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `destroy(): Promise<void>` - Permanently destroy the component.\n- `updateWebDocument(webMap: __esri.WebMap): Promise<void>`",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-floor-filter/",
          "attributes": [
            {
              "name": "auto-destroy-disabled",
              "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-floor-filter/#destroy) method when you are done to\nprevent memory leaks.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "facility",
              "description": "The currently selected facility.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FloorFilter.html#facility)",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "heading-level",
              "description": "Indicates the heading level to use for the headings separating floors in buildings.",
              "default": "2",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "icon",
              "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
              "default": "\"floor-plan\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "label",
              "description": "The widget's label.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Widget.html#label)",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "level",
              "description": "The currently selected floor level.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FloorFilter.html#level)",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "long-names",
              "description": "Determines if the widget is expanded or collapsed.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FloorFilter.html#longNames)",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "position",
              "default": "\"bottom-left\"",
              "value": {
                "type": [
                  "\"bottom-leading\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"bottom-trailing\"",
                  "\"manual\"",
                  "\"top-leading\"",
                  "\"top-left\"",
                  "\"top-right\"",
                  "\"top-trailing\""
                ]
              }
            },
            {
              "name": "reference-element",
              "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "site",
              "description": "The currently selected site.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FloorFilter.html#site)",
              "value": {
                "type": "string"
              }
            }
          ],
          "events": [
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            }
          ],
          "js": {
            "properties": [
              {
                "name": "autoDestroyDisabled",
                "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-floor-filter/#destroy) method when you are done to\nprevent memory leaks.",
                "type": "boolean"
              },
              {
                "name": "facility",
                "description": "The currently selected facility.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FloorFilter.html#facility)",
                "type": "string"
              },
              {
                "name": "headingLevel",
                "description": "Indicates the heading level to use for the headings separating floors in buildings.",
                "type": "number"
              },
              {
                "name": "icon",
                "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
                "type": "string"
              },
              {
                "name": "label",
                "description": "The widget's label.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Widget.html#label)",
                "type": "string"
              },
              {
                "name": "level",
                "description": "The currently selected floor level.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FloorFilter.html#level)",
                "type": "string"
              },
              {
                "name": "longNames",
                "description": "Determines if the widget is expanded or collapsed.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FloorFilter.html#longNames)",
                "type": "boolean"
              },
              {
                "name": "position",
                "type": "\"bottom-leading\" | \"bottom-left\" | \"bottom-right\" | \"bottom-trailing\" | \"manual\" | \"top-leading\" | \"top-left\" | \"top-right\" | \"top-trailing\""
              },
              {
                "name": "referenceElement",
                "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
                "type": "HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string"
              },
              {
                "name": "site",
                "description": "The currently selected site.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FloorFilter.html#site)",
                "type": "string"
              }
            ],
            "events": [
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              }
            ]
          }
        },
        {
          "name": "arcgis-fullscreen",
          "description": "The Fullscreen component allows users to toggle the map or scene to fullscreen mode.\nUse the escape key (`esc`) to exit fullscreen mode.\n\n**Known limitations**\n\n* The Fullscreen widget only works with browsers that implement the [Fullscreen](https://developer.mozilla.org/en-US/docs/Web/API/Fullscreen_API) API.\n  Thus, iOS Safari is not supported.\n--\n\n### Events\n- **arcgisPropertyChange** - Emitted when the value of a property is changed. Use this to listen to changes to properties.\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n\n### Methods\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-fullscreen/",
          "attributes": [
            {
              "name": "element",
              "description": "The [HTMLElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement) to present in fullscreen mode.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "label",
              "description": "The component's default label.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "position",
              "default": "\"top-left\"",
              "value": {
                "type": [
                  "\"bottom-leading\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"bottom-trailing\"",
                  "\"manual\"",
                  "\"top-leading\"",
                  "\"top-left\"",
                  "\"top-right\"",
                  "\"top-trailing\""
                ]
              }
            },
            {
              "name": "reference-element",
              "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "state",
              "value": {
                "type": [
                  "\"active\"",
                  "\"disabled\"",
                  "\"ready\"",
                  "\"unsupported\""
                ]
              }
            }
          ],
          "events": [
            {
              "name": "arcgisPropertyChange",
              "type": "{ name: \"state\"; }",
              "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
            },
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            }
          ],
          "js": {
            "properties": [
              {
                "name": "element",
                "description": "The [HTMLElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement) to present in fullscreen mode.",
                "type": "Element | string"
              },
              {
                "name": "label",
                "description": "The component's default label.",
                "type": "string"
              },
              {
                "name": "messageOverrides",
                "description": "Replace localized message strings with your own strings.\n\n_**Note**: Individual message keys may change between releases._",
                "type": "Record<string, unknown>"
              },
              {
                "name": "position",
                "type": "\"bottom-leading\" | \"bottom-left\" | \"bottom-right\" | \"bottom-trailing\" | \"manual\" | \"top-leading\" | \"top-left\" | \"top-right\" | \"top-trailing\""
              },
              {
                "name": "referenceElement",
                "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
                "type": "HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string"
              },
              {
                "name": "state",
                "type": "\"active\" | \"disabled\" | \"ready\" | \"unsupported\""
              }
            ],
            "events": [
              {
                "name": "arcgisPropertyChange",
                "type": "{ name: \"state\"; }",
                "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
              },
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              }
            ]
          }
        },
        {
          "name": "arcgis-grid-controls",
          "description": "The Grid Controls component provides a user interface (UI) for configuring and displaying a two-dimensional grid.\nThe grid displayed provides a network of horizontal and vertical lines used to divide the view into equal cells.\nWith support for snapping, the grid lines can be used as a reference when drawing features.\nNote: grid controls are embedded in snapping controls for Sketch and Editor by default.\n\n**Known limitations**\n\n- Grid Controls is only supported in a 2D Map component.\n- The grid spacing does not correspond to real world measurements. Distortion will be minimized when used in conjunction with an equal area basemap.\n- The grid spacing input will be hidden when working with Web Mercator and Geographic Coordinate Systems.\n--\n\n### Events\n- **arcgisPropertyChange** - Emitted when the value of a property is changed. Use this to listen to changes to properties.\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n\n### Methods\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `destroy(): Promise<void>` - Permanently destroy the component.\n- `trySetDisplayEnabled(enabled: boolean): void` - Call this to turn the grid on/off.",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-grid-controls/",
          "attributes": [
            {
              "name": "auto-destroy-disabled",
              "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-grid-controls/#destroy) method when you are done to\nprevent memory leaks.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "custom-color",
              "description": "The custom color used for drawing the grid, if any.",
              "value": {}
            },
            {
              "name": "dynamic-scaling",
              "description": "Returns `true` if the grid is set to scale dynamically. When dynamic scaling is enabled,\ngrid cells are added or removed to ensure that grid cells are a reasonable size on screen as the user zooms.\nThe way additional grid lines are shown is controlled by the [majorLineInterval](#majorLineInterval) property.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "effective-spacing-after-dynamic-scaling",
              "description": "Returns the actual spacing of grid lines after dynamic scaling has been applied at the current scale.",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "grid-color",
              "description": "Controls the color of the major grid lines. Minor grid lines are a slightly transparent version of this color.",
              "value": {}
            },
            {
              "name": "grid-out-of-scale",
              "description": "True if the grid is currently not displayed (and therefore also not a valid snap target),\nbecause [dynamicScaling](#dynamicScaling) is off and the grid cells are too small\nto render at the current scale.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-color-selection",
              "description": "Controls display of the color and theme selection options.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-dynamic-scale-toggle",
              "description": "Controls display of the dynamic scaling toggle. Dynamic scaling adjusts the size of the grid to work\nwell regardless of view scale.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-grid-enabled-toggle",
              "description": "Controls display of the grid enabled toggle. This toggle controls whether the grid is displayed.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-grid-snap-enabled-toggle",
              "description": "Controls display of the grid snapping enabled toggle. This toggle controls whether snapping is enabled.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-line-interval-input",
              "description": "Controls display of the line interval input field for setting the interval between major grid lines.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-numeric-inputs",
              "description": "Controls display of the numeric input fields for setting grid spacing and rotation.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-out-of-scale-warning",
              "description": "Controls display of the out of scale warning. This warning is displayed when the grid is not shown\nbecause it would be too small at the current scale and dynamic scaling is disabled.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-placement-buttons",
              "description": "Controls display of the grid placement buttons. These buttons allow the user to start interactive\nconfiguration of the grid.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-rotate-with-map-toggle",
              "description": "Controls display of the rotate with map toggle. This toggle controls whether the grid rotates with the map.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "icon",
              "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
              "default": "\"grid-unit\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "interactive-placement-state",
              "description": "Sets the interactive placement state, either starting or ending a draw operation that implicitly adjusts the grid.\nInteractive placement allows the user to define the center of the grid, then the scale and rotation of the grid by\ndrawing a second point. Setting this to \"place\" allows the user to move the grid center only. Setting this to \"rotate\"\nkeeps the scale and center of the grid constant while rotating the grid by defining a second point.",
              "default": "null",
              "value": {
                "type": [
                  "\"interactive\"",
                  "\"place\"",
                  "\"rotate\""
                ]
              }
            },
            {
              "name": "label",
              "description": "The component's default label.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "major-line-interval",
              "description": "Controls the number of grid cells shown between major grid lines. Can be anything between 1 and 15.\nNo minor grid lines are shown when this is set to 1.",
              "default": "10",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "placement-disabled",
              "description": "Use this property to disable the interactive grid placement buttons as needed.\nAn example use case might be to block interaction while another interactive operation\n(e.g. sketching) is in progress.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "position",
              "default": "\"bottom-right\"",
              "value": {
                "type": [
                  "\"bottom-leading\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"bottom-trailing\"",
                  "\"manual\"",
                  "\"top-leading\"",
                  "\"top-left\"",
                  "\"top-right\"",
                  "\"top-trailing\""
                ]
              }
            },
            {
              "name": "reference-element",
              "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "rotate-with-map",
              "description": "Controls whether the grid rotates with the map, or stays fixed to the screen.",
              "default": "true",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "rotation",
              "description": "Rotation of the grid in radians. NOTE: UI controls convert to and from degrees automatically.",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "snapping-enabled",
              "description": "Controls snapping behavior if [snappingOptions](#snappingOptions) has been defined.\nIf [snappingOptions](#snappingOptions) have been defined, disabling or enabling grid snapping will\nalso disable or enable grid display.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "spacing",
              "description": "Length of a grid cell. Grid cells are always square. Defined in [unit](#unit).",
              "default": "1",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "theme",
              "description": "The color scheme used to display the grid. This will be light, dark, or custom. When theme is set to custom,\nthe [customColor](#customColor) is shown, otherwise a default light or dark theme color is used.",
              "default": "\"dark\"",
              "value": {
                "type": [
                  "\"custom\"",
                  "\"dark\"",
                  "\"light\""
                ]
              }
            },
            {
              "name": "unit",
              "description": "Unit of measure (foot, meter, etc) used when defining the [spacing](#spacing) grid cell.\nNote that units are defined relatively to the map's spatial reference length unit,\nwhich will not correspond to geographic distance unless using a special-purpose basemap\nwithin a supported target area.\n\nWhen using Web Mercator, the projection defines the length of a meter in projection system units;\nthis length is equal to a geographic meter only at the equator. On screen, the size of the grid cells is constant\nfrom the equator to the poles, but the real-world size of the grid cell is much larger further from the equator.\n\nThe length of the grid cells can usefully correspond to a geographic length when the Grid is used with an\nappropriate spatial reference (for example a local system or a State Plane system) within the reference's area of interest.",
              "value": {
                "type": [
                  "\"centimeters\"",
                  "\"decimeters\"",
                  "\"feet\"",
                  "\"inches\"",
                  "\"kilometers\"",
                  "\"meters\"",
                  "\"miles\"",
                  "\"millimeters\"",
                  "\"nautical-miles\"",
                  "\"us-feet\"",
                  "\"yards\""
                ]
              }
            }
          ],
          "events": [
            {
              "name": "arcgisPropertyChange",
              "type": "{ name: \"rotation\" | \"theme\" | \"customColor\" | \"rotateWithMap\" | \"spacing\" | \"majorLineInterval\" | \"gridColor\" | \"displayEnabled\" | \"gridOutOfScale\" | \"dynamicScaling\" | \"gridControlsEnabled\" | \"interactivePlacementState\" | \"snappingEnabled\" | \"effectiveSpacingAfterDynamicScaling\"; }",
              "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
            },
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            }
          ],
          "js": {
            "properties": [
              {
                "name": "autoDestroyDisabled",
                "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-grid-controls/#destroy) method when you are done to\nprevent memory leaks.",
                "type": "boolean"
              },
              {
                "name": "customColor",
                "description": "The custom color used for drawing the grid, if any.",
                "type": "Color"
              },
              {
                "name": "displayEnabled",
                "description": "Returns `true` if the grid is enabled for display.\nUse [trySetDisplayEnabled](#trySetDisplayEnabled) to enable or disable grid display.",
                "type": "boolean"
              },
              {
                "name": "dynamicScaling",
                "description": "Returns `true` if the grid is set to scale dynamically. When dynamic scaling is enabled,\ngrid cells are added or removed to ensure that grid cells are a reasonable size on screen as the user zooms.\nThe way additional grid lines are shown is controlled by the [majorLineInterval](#majorLineInterval) property.",
                "type": "boolean"
              },
              {
                "name": "effectiveSpacingAfterDynamicScaling",
                "description": "Returns the actual spacing of grid lines after dynamic scaling has been applied at the current scale.",
                "type": "number"
              },
              {
                "name": "gridColor",
                "description": "Controls the color of the major grid lines. Minor grid lines are a slightly transparent version of this color.",
                "type": "Color"
              },
              {
                "name": "gridControlsEnabled",
                "description": "Returns `true` if the grid is in a valid state for manually setting grid properties or starting an interactive placement.",
                "type": "boolean"
              },
              {
                "name": "gridOutOfScale",
                "description": "True if the grid is currently not displayed (and therefore also not a valid snap target),\nbecause [dynamicScaling](#dynamicScaling) is off and the grid cells are too small\nto render at the current scale.",
                "type": "boolean"
              },
              {
                "name": "hideColorSelection",
                "description": "Controls display of the color and theme selection options.",
                "type": "boolean"
              },
              {
                "name": "hideDynamicScaleToggle",
                "description": "Controls display of the dynamic scaling toggle. Dynamic scaling adjusts the size of the grid to work\nwell regardless of view scale.",
                "type": "boolean"
              },
              {
                "name": "hideGridEnabledToggle",
                "description": "Controls display of the grid enabled toggle. This toggle controls whether the grid is displayed.",
                "type": "boolean"
              },
              {
                "name": "hideGridSnapEnabledToggle",
                "description": "Controls display of the grid snapping enabled toggle. This toggle controls whether snapping is enabled.",
                "type": "boolean"
              },
              {
                "name": "hideLineIntervalInput",
                "description": "Controls display of the line interval input field for setting the interval between major grid lines.",
                "type": "boolean"
              },
              {
                "name": "hideNumericInputs",
                "description": "Controls display of the numeric input fields for setting grid spacing and rotation.",
                "type": "boolean"
              },
              {
                "name": "hideOutOfScaleWarning",
                "description": "Controls display of the out of scale warning. This warning is displayed when the grid is not shown\nbecause it would be too small at the current scale and dynamic scaling is disabled.",
                "type": "boolean"
              },
              {
                "name": "hidePlacementButtons",
                "description": "Controls display of the grid placement buttons. These buttons allow the user to start interactive\nconfiguration of the grid.",
                "type": "boolean"
              },
              {
                "name": "hideRotateWithMapToggle",
                "description": "Controls display of the rotate with map toggle. This toggle controls whether the grid rotates with the map.",
                "type": "boolean"
              },
              {
                "name": "icon",
                "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
                "type": "string"
              },
              {
                "name": "interactivePlacementState",
                "description": "Sets the interactive placement state, either starting or ending a draw operation that implicitly adjusts the grid.\nInteractive placement allows the user to define the center of the grid, then the scale and rotation of the grid by\ndrawing a second point. Setting this to \"place\" allows the user to move the grid center only. Setting this to \"rotate\"\nkeeps the scale and center of the grid constant while rotating the grid by defining a second point.",
                "type": "\"interactive\" | \"place\" | \"rotate\""
              },
              {
                "name": "label",
                "description": "The component's default label.",
                "type": "string"
              },
              {
                "name": "majorLineInterval",
                "description": "Controls the number of grid cells shown between major grid lines. Can be anything between 1 and 15.\nNo minor grid lines are shown when this is set to 1.",
                "type": "number"
              },
              {
                "name": "messageOverrides",
                "description": "Replace localized message strings with your own strings.\n\n_**Note**: Individual message keys may change between releases._",
                "type": "Record<string, unknown>"
              },
              {
                "name": "placementDisabled",
                "description": "Use this property to disable the interactive grid placement buttons as needed.\nAn example use case might be to block interaction while another interactive operation\n(e.g. sketching) is in progress.",
                "type": "boolean"
              },
              {
                "name": "position",
                "type": "\"bottom-leading\" | \"bottom-left\" | \"bottom-right\" | \"bottom-trailing\" | \"manual\" | \"top-leading\" | \"top-left\" | \"top-right\" | \"top-trailing\""
              },
              {
                "name": "referenceElement",
                "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
                "type": "HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string"
              },
              {
                "name": "rotateWithMap",
                "description": "Controls whether the grid rotates with the map, or stays fixed to the screen.",
                "type": "boolean"
              },
              {
                "name": "rotation",
                "description": "Rotation of the grid in radians. NOTE: UI controls convert to and from degrees automatically.",
                "type": "number"
              },
              {
                "name": "snappingEnabled",
                "description": "Controls snapping behavior if [snappingOptions](#snappingOptions) has been defined.\nIf [snappingOptions](#snappingOptions) have been defined, disabling or enabling grid snapping will\nalso disable or enable grid display.",
                "type": "boolean"
              },
              {
                "name": "snappingOptions",
                "description": "The [SnappingOptions](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-interactive-snapping-SnappingOptions.html)\nthat will be controlled by this component if the snapping toggle is enabled for display.\nIf SnappingOptions are provided, grid display will be automatically enabled or disabled to match snapping state.",
                "type": "SnappingOptions"
              },
              {
                "name": "spacing",
                "description": "Length of a grid cell. Grid cells are always square. Defined in [unit](#unit).",
                "type": "number"
              },
              {
                "name": "theme",
                "description": "The color scheme used to display the grid. This will be light, dark, or custom. When theme is set to custom,\nthe [customColor](#customColor) is shown, otherwise a default light or dark theme color is used.",
                "type": "\"custom\" | \"dark\" | \"light\""
              },
              {
                "name": "unit",
                "description": "Unit of measure (foot, meter, etc) used when defining the [spacing](#spacing) grid cell.\nNote that units are defined relatively to the map's spatial reference length unit,\nwhich will not correspond to geographic distance unless using a special-purpose basemap\nwithin a supported target area.\n\nWhen using Web Mercator, the projection defines the length of a meter in projection system units;\nthis length is equal to a geographic meter only at the equator. On screen, the size of the grid cells is constant\nfrom the equator to the poles, but the real-world size of the grid cell is much larger further from the equator.\n\nThe length of the grid cells can usefully correspond to a geographic length when the Grid is used with an\nappropriate spatial reference (for example a local system or a State Plane system) within the reference's area of interest.",
                "type": "\"centimeters\" | \"decimeters\" | \"feet\" | \"inches\" | \"kilometers\" | \"meters\" | \"miles\" | \"millimeters\" | \"nautical-miles\" | \"us-feet\" | \"yards\""
              }
            ],
            "events": [
              {
                "name": "arcgisPropertyChange",
                "type": "{ name: \"rotation\" | \"theme\" | \"customColor\" | \"rotateWithMap\" | \"spacing\" | \"majorLineInterval\" | \"gridColor\" | \"displayEnabled\" | \"gridOutOfScale\" | \"dynamicScaling\" | \"gridControlsEnabled\" | \"interactivePlacementState\" | \"snappingEnabled\" | \"effectiveSpacingAfterDynamicScaling\"; }",
                "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
              },
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              }
            ]
          }
        },
        {
          "name": "arcgis-histogram-range-slider",
          "description": "### Events\n- **arcgisPropertyChange** - Emitted when the value of a property is changed. Use this to listen to changes to properties.\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n\n### Methods\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `destroy(): Promise<void>` - Permanently destroy the component.\n- `generateWhereClause(field: string): Promise<nullish | string>` - Generates a SQL where clause based on a given field and the slider's\nrangeType",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-histogram-range-slider/",
          "attributes": [
            {
              "name": "auto-destroy-disabled",
              "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-histogram-range-slider/#destroy) method when you are done to\nprevent memory leaks.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "average",
              "description": "The statistical average of the data in the histogram.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-HistogramRangeSlider.html#average)",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "excluded-bar-color",
              "description": "Sets the color of the histogram bars that are excluded based on the specified\n[rangeType](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-HistogramRangeSlider.html#rangeType).\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-HistogramRangeSlider.html#excludedBarColor)",
              "default": "\"#d7e5f0\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "icon",
              "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
              "default": "\"arrow-double-horizontal\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "included-bar-color",
              "description": "Sets the color of the histogram bars that are included in the specified\n[rangeType](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-HistogramRangeSlider.html#rangeType).\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-HistogramRangeSlider.html#includedBarColor)",
              "default": "\"#599dd4\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "label",
              "description": "The widget's default label.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-HistogramRangeSlider.html#label)",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "max",
              "description": "The maximum value or upper bound of the slider.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-HistogramRangeSlider.html#max)",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "min",
              "description": "The minimum value or lower bound of the slider.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-HistogramRangeSlider.html#min)",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "position",
              "default": "\"bottom-left\"",
              "value": {
                "type": [
                  "\"bottom-leading\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"bottom-trailing\"",
                  "\"manual\"",
                  "\"top-leading\"",
                  "\"top-left\"",
                  "\"top-right\"",
                  "\"top-trailing\""
                ]
              }
            },
            {
              "name": "precision",
              "description": "Defines how slider thumb values should be rounded.",
              "default": "4",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "range-type",
              "description": "Indicates how the histogram bins should be rendered as the user slides the thumbs.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-HistogramRangeSlider.html#rangeType)",
              "value": {
                "type": [
                  "\"at-least\"",
                  "\"at-most\"",
                  "\"between\"",
                  "\"equal\"",
                  "\"greater-than\"",
                  "\"less-than\"",
                  "\"not-between\"",
                  "\"not-equal\""
                ]
              }
            },
            {
              "name": "reference-element",
              "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "standard-deviation",
              "description": "Indicates the standard deviation of the dataset.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-HistogramRangeSlider.html#standardDeviation)",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "standard-deviation-count",
              "description": "Indicates the number of standard deviation lines to render on the histogram\nfrom the [average].",
              "default": "1",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "state",
              "description": "The current state of the component.",
              "value": {
                "type": [
                  "\"disabled\"",
                  "\"ready\""
                ]
              }
            }
          ],
          "events": [
            {
              "name": "arcgisPropertyChange",
              "type": "{ name: \"state\"; }",
              "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
            },
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            }
          ],
          "js": {
            "properties": [
              {
                "name": "autoDestroyDisabled",
                "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-histogram-range-slider/#destroy) method when you are done to\nprevent memory leaks.",
                "type": "boolean"
              },
              {
                "name": "average",
                "description": "The statistical average of the data in the histogram.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-HistogramRangeSlider.html#average)",
                "type": "number"
              },
              {
                "name": "barCreatedFunction",
                "description": "Function for styling bars representing histogram bins.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-HistogramRangeSlider.html#barCreatedFunction)",
                "type": "(((index: number, element: any) => void))"
              },
              {
                "name": "bins",
                "description": "An array of objects representing each bin in the histogram.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-HistogramRangeSlider.html#bins)",
                "type": "Array<HistogramBin>"
              },
              {
                "name": "dataLineCreatedFunction",
                "description": "Function that fires each time a data line is created.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-HistogramRangeSlider.html#dataLineCreatedFunction)",
                "type": "(((lineElement: any, labelElement?: any, index?: number | undefined) => void))"
              },
              {
                "name": "dataLines",
                "description": "When set, renders lines on the histogram that indicate important or\nmeaningful values to the end user.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-HistogramRangeSlider.html#dataLines)",
                "type": "Array<HistogramRangeSliderDataLines>"
              },
              {
                "name": "excludedBarColor",
                "description": "Sets the color of the histogram bars that are excluded based on the specified\n[rangeType](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-HistogramRangeSlider.html#rangeType).\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-HistogramRangeSlider.html#excludedBarColor)",
                "type": "ReadonlyArray<number> | string | {\n    r?: number | undefined;\n    g?: number | undefined;\n    b?: number | undefined;\n    a?: number | undefined;\n}"
              },
              {
                "name": "icon",
                "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
                "type": "string"
              },
              {
                "name": "includedBarColor",
                "description": "Sets the color of the histogram bars that are included in the specified\n[rangeType](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-HistogramRangeSlider.html#rangeType).\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-HistogramRangeSlider.html#includedBarColor)",
                "type": "ReadonlyArray<number> | string | {\n    r?: number | undefined;\n    g?: number | undefined;\n    b?: number | undefined;\n    a?: number | undefined;\n}"
              },
              {
                "name": "label",
                "description": "The widget's default label.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-HistogramRangeSlider.html#label)",
                "type": "string"
              },
              {
                "name": "labelFormatFunction",
                "description": "A function used to format labels.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-HistogramRangeSlider.html#labelFormatFunction)",
                "type": "(value: number, type?: \"value\" | \"max\" | \"min\" | \"average\" | \"tick\" | undefined, index?: number | undefined) => string"
              },
              {
                "name": "max",
                "description": "The maximum value or upper bound of the slider.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-HistogramRangeSlider.html#max)",
                "type": "number"
              },
              {
                "name": "min",
                "description": "The minimum value or lower bound of the slider.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-HistogramRangeSlider.html#min)",
                "type": "number"
              },
              {
                "name": "position",
                "type": "\"bottom-leading\" | \"bottom-left\" | \"bottom-right\" | \"bottom-trailing\" | \"manual\" | \"top-leading\" | \"top-left\" | \"top-right\" | \"top-trailing\""
              },
              {
                "name": "precision",
                "description": "Defines how slider thumb values should be rounded.",
                "type": "number"
              },
              {
                "name": "rangeType",
                "description": "Indicates how the histogram bins should be rendered as the user slides the thumbs.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-HistogramRangeSlider.html#rangeType)",
                "type": "\"at-least\" | \"at-most\" | \"between\" | \"equal\" | \"greater-than\" | \"less-than\" | \"not-between\" | \"not-equal\""
              },
              {
                "name": "referenceElement",
                "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
                "type": "HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string"
              },
              {
                "name": "standardDeviation",
                "description": "Indicates the standard deviation of the dataset.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-HistogramRangeSlider.html#standardDeviation)",
                "type": "number"
              },
              {
                "name": "standardDeviationCount",
                "description": "Indicates the number of standard deviation lines to render on the histogram\nfrom the [average].",
                "type": "number"
              },
              {
                "name": "state",
                "description": "The current state of the component.",
                "type": "\"disabled\" | \"ready\""
              },
              {
                "name": "values",
                "description": "An array of either one or two numbers representing thumb positions on the slider.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-HistogramRangeSlider.html#values)",
                "type": "Array<number>"
              }
            ],
            "events": [
              {
                "name": "arcgisPropertyChange",
                "type": "{ name: \"state\"; }",
                "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
              },
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              }
            ]
          }
        },
        {
          "name": "arcgis-home",
          "description": "The Home component is a button that navigates back to the\ninitial [Viewpoint](https://developers.arcgis.com/javascript/latest/api-reference/esri-Viewpoint.html)\nor a previously defined `viewpoint`.\n--\n\n### Events\n- **arcgisGo** - Fires when the go() method is called.\n- **arcgisPropertyChange** - Emitted when the value of a property is changed. Use this to listen to changes to properties.\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n\n### Methods\n- `cancelGo(): Promise<void>` - This function provides the ability to interrupt and cancel the process\nof navigating back to the initial extent.\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `destroy(): Promise<void>` - Permanently destroy the component.\n- `go(): Promise<void>` - Animates the map or scene to its initial Viewpoint or the\nvalue of `viewpoint`.",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-home/",
          "attributes": [
            {
              "name": "auto-destroy-disabled",
              "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-home/#destroy) method when you are done to\nprevent memory leaks.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "icon",
              "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
              "default": "\"home\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "label",
              "description": "The component's default label.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "position",
              "default": "\"top-left\"",
              "value": {
                "type": [
                  "\"bottom-leading\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"bottom-trailing\"",
                  "\"manual\"",
                  "\"top-leading\"",
                  "\"top-left\"",
                  "\"top-right\"",
                  "\"top-trailing\""
                ]
              }
            },
            {
              "name": "reference-element",
              "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "state",
              "description": "The current state of the component.",
              "default": "\"disabled\"",
              "value": {
                "type": [
                  "\"disabled\"",
                  "\"going-home\"",
                  "\"ready\""
                ]
              }
            }
          ],
          "events": [
            {
              "name": "arcgisGo",
              "type": "HomeViewModelGoEvent",
              "description": "Fires when the go() method is called."
            },
            {
              "name": "arcgisPropertyChange",
              "type": "{ name: \"state\"; }",
              "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
            },
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            }
          ],
          "js": {
            "properties": [
              {
                "name": "autoDestroyDisabled",
                "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-home/#destroy) method when you are done to\nprevent memory leaks.",
                "type": "boolean"
              },
              {
                "name": "goToOverride",
                "description": "This function provides the ability to override either the\n[MapView goTo()](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#goTo) or\n[SceneView goTo()](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#goTo) methods.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Home-HomeViewModel.html#goToOverride)",
                "type": "(((view: MapView | SceneView, goToParameters: GoToParameters) => void))"
              },
              {
                "name": "icon",
                "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
                "type": "string"
              },
              {
                "name": "label",
                "description": "The component's default label.",
                "type": "string"
              },
              {
                "name": "messageOverrides",
                "description": "Replace localized message strings with your own strings.\n\n_**Note**: Individual message keys may change between releases._",
                "type": "Record<string, unknown>"
              },
              {
                "name": "position",
                "type": "\"bottom-leading\" | \"bottom-left\" | \"bottom-right\" | \"bottom-trailing\" | \"manual\" | \"top-leading\" | \"top-left\" | \"top-right\" | \"top-trailing\""
              },
              {
                "name": "referenceElement",
                "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
                "type": "HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string"
              },
              {
                "name": "state",
                "description": "The current state of the component.",
                "type": "\"disabled\" | \"going-home\" | \"ready\""
              },
              {
                "name": "viewpoint",
                "description": "The [Viewpoint](https://developers.arcgis.com/javascript/latest/api-reference/esri-Viewpoint.html)\nto go to when going \"home\".\nThe initial value is determined in a few different ways:\n\nIf no referenceElement is provided, the value is `null`.\nOnce the referenceElement is ready, the initial viewpoint value is the user-defined [Viewpoint](https://developers.arcgis.com/javascript/latest/api-reference/esri-Viewpoint.html).",
                "type": "Viewpoint"
              }
            ],
            "events": [
              {
                "name": "arcgisGo",
                "type": "HomeViewModelGoEvent",
                "description": "Fires when the go() method is called."
              },
              {
                "name": "arcgisPropertyChange",
                "type": "{ name: \"state\"; }",
                "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
              },
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              }
            ]
          }
        },
        {
          "name": "arcgis-layer-list",
          "description": "The Layer List component provides a way to display a list of layers, and switch on/off their visibility.\n--\n\n### Events\n- **arcgisClose** - Emitted when the component's close button is clicked.\n- **arcgisPropertyChange** - Emitted when the value of a property is changed. Use this to listen to changes to properties.\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n- **arcgisTriggerAction** - Emitted when an action is triggered on the component.\n\n### Methods\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `destroy(): Promise<void>` - Permanently destroy the component.\n- `triggerAction(action: __esri.ActionButton | __esri.ActionToggle, item: __esri.ListItem): Promise<void>`",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-layer-list/",
          "attributes": [
            {
              "name": "auto-destroy-disabled",
              "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-layer-list/#destroy) method when you are done to\nprevent memory leaks.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "closed",
              "description": "Indicates whether a component is closed. When `true`, the component will be hidden.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "collapsed",
              "description": "Indicates whether the widget is collapsed.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "drag-enabled",
              "description": "Indicates whether [list items](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LayerList-ListItem.html) may be reordered within the list by dragging and dropping.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "filter-placeholder",
              "description": "Placeholder text used in the filter input if [visibleElements.filter](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LayerList.html#visibleElements) is true.",
              "default": "\"\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "filter-text",
              "description": "The value of the filter input if [visibleElements.filter](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LayerList.html#visibleElements) is true.",
              "default": "\"\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "heading-level",
              "description": "Indicates the heading level to use for the heading of the widget.",
              "default": "2",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "hide-catalog-layer-list",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-flow",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-status-indicators",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "icon",
              "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
              "default": "\"layers\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "label",
              "description": "The widget's default label.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LayerList.html#label)",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "min-drag-enabled-items",
              "description": "The minimum number of list items required to enable drag and drop reordering with [dragEnabled](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LayerList.html#dragEnabled).",
              "default": "2",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "min-filter-items",
              "description": "The minimum number of list items required to display the visibleElements.filter input box.",
              "default": "10",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "position",
              "default": "\"bottom-left\"",
              "value": {
                "type": [
                  "\"bottom-leading\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"bottom-trailing\"",
                  "\"manual\"",
                  "\"top-leading\"",
                  "\"top-left\"",
                  "\"top-right\"",
                  "\"top-trailing\""
                ]
              }
            },
            {
              "name": "reference-element",
              "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "selection-mode",
              "description": "Specifies the selection mode.",
              "default": "\"none\"",
              "value": {
                "type": [
                  "\"multiple\"",
                  "\"none\"",
                  "\"single\"",
                  "\"single-persist\""
                ]
              }
            },
            {
              "name": "show-close-button",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "show-collapse-button",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "show-errors",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "show-filter",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "show-heading",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "show-temporary-layer-indicators",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "state",
              "description": "The current state of the component.",
              "default": "\"disabled\"",
              "value": {
                "type": [
                  "\"disabled\"",
                  "\"loading\"",
                  "\"ready\""
                ]
              }
            },
            {
              "name": "visibility-appearance",
              "description": "Determines the icons used to indicate visibility.",
              "default": "\"default\"",
              "value": {
                "type": [
                  "\"checkbox\"",
                  "\"default\""
                ]
              }
            }
          ],
          "events": [
            {
              "name": "arcgisClose",
              "type": "void",
              "description": "Emitted when the component's close button is clicked."
            },
            {
              "name": "arcgisPropertyChange",
              "type": "{ name: \"state\"; }",
              "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
            },
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            },
            {
              "name": "arcgisTriggerAction",
              "type": "LayerListTriggerActionEvent",
              "description": "Emitted when an action is triggered on the component."
            }
          ],
          "js": {
            "properties": [
              {
                "name": "autoDestroyDisabled",
                "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-layer-list/#destroy) method when you are done to\nprevent memory leaks.",
                "type": "boolean"
              },
              {
                "name": "catalogLayerList",
                "description": "The CatalogLayerList that displays a catalog layer's dynamic group layer.",
                "type": "CatalogLayerList"
              },
              {
                "name": "catalogOptions",
                "description": "[CatalogLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-CatalogLayer.html) specific properties.",
                "type": "LayerListCatalogOptions"
              },
              {
                "name": "closed",
                "description": "Indicates whether a component is closed. When `true`, the component will be hidden.",
                "type": "boolean"
              },
              {
                "name": "collapsed",
                "description": "Indicates whether the widget is collapsed.",
                "type": "boolean"
              },
              {
                "name": "dragEnabled",
                "description": "Indicates whether [list items](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LayerList-ListItem.html) may be reordered within the list by dragging and dropping.",
                "type": "boolean"
              },
              {
                "name": "filterPlaceholder",
                "description": "Placeholder text used in the filter input if [visibleElements.filter](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LayerList.html#visibleElements) is true.",
                "type": "string"
              },
              {
                "name": "filterPredicate",
                "description": "Specifies a function to handle filtering [list items](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LayerList-ListItem.html).",
                "type": "(((item: ListItem) => void))"
              },
              {
                "name": "filterText",
                "description": "The value of the filter input if [visibleElements.filter](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LayerList.html#visibleElements) is true.",
                "type": "string"
              },
              {
                "name": "headingLevel",
                "description": "Indicates the heading level to use for the heading of the widget.",
                "type": "number"
              },
              {
                "name": "hideCatalogLayerList",
                "type": "boolean"
              },
              {
                "name": "hideFlow",
                "type": "boolean"
              },
              {
                "name": "hideStatusIndicators",
                "type": "boolean"
              },
              {
                "name": "icon",
                "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
                "type": "string"
              },
              {
                "name": "knowledgeGraphOptions",
                "description": "[KnowledgeGraphLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-KnowledgeGraphLayer.html) specific properties.",
                "type": "LayerListKnowledgeGraphOptions"
              },
              {
                "name": "label",
                "description": "The widget's default label.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LayerList.html#label)",
                "type": "string"
              },
              {
                "name": "listItemCreatedFunction",
                "description": "A function that executes each time a [ListItem](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LayerList-ListItem.html) is created.",
                "type": "(((event: LayerListListItemCreatedHandlerEvent) => void))"
              },
              {
                "name": "minDragEnabledItems",
                "description": "The minimum number of list items required to enable drag and drop reordering with [dragEnabled](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LayerList.html#dragEnabled).",
                "type": "number"
              },
              {
                "name": "minFilterItems",
                "description": "The minimum number of list items required to display the visibleElements.filter input box.",
                "type": "number"
              },
              {
                "name": "openedLayers",
                "description": "A collection of [Layer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-Layer.html)s that are opened\nin a [catalogLayerList](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LayerList.html#catalogLayerList) or [tableList](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LayerList.html#tableList) flow item.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LayerList.html#openedLayers)",
                "type": "Collection<Layer>"
              },
              {
                "name": "operationalItems",
                "description": "A collection of ListItems representing operational layers.",
                "type": "Collection<ListItem>"
              },
              {
                "name": "position",
                "type": "\"bottom-leading\" | \"bottom-left\" | \"bottom-right\" | \"bottom-trailing\" | \"manual\" | \"top-leading\" | \"top-left\" | \"top-right\" | \"top-trailing\""
              },
              {
                "name": "referenceElement",
                "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
                "type": "HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string"
              },
              {
                "name": "selectedItems",
                "description": "A collection of selected [ListItem](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LayerList-ListItem.html)s representing operational layers\nselected by the user.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LayerList.html#selectedItems)",
                "type": "Collection<ListItem>"
              },
              {
                "name": "selectionMode",
                "description": "Specifies the selection mode.",
                "type": "\"multiple\" | \"none\" | \"single\" | \"single-persist\""
              },
              {
                "name": "showCloseButton",
                "type": "boolean"
              },
              {
                "name": "showCollapseButton",
                "type": "boolean"
              },
              {
                "name": "showErrors",
                "type": "boolean"
              },
              {
                "name": "showFilter",
                "type": "boolean"
              },
              {
                "name": "showHeading",
                "type": "boolean"
              },
              {
                "name": "showTemporaryLayerIndicators",
                "type": "boolean"
              },
              {
                "name": "state",
                "description": "The current state of the component.",
                "type": "\"disabled\" | \"loading\" | \"ready\""
              },
              {
                "name": "tableList",
                "description": "The TableList that displays the tables associated with a KnowledgeGraphLayer.",
                "type": "TableList"
              },
              {
                "name": "visibilityAppearance",
                "description": "Determines the icons used to indicate visibility.",
                "type": "\"checkbox\" | \"default\""
              }
            ],
            "events": [
              {
                "name": "arcgisClose",
                "type": "void",
                "description": "Emitted when the component's close button is clicked."
              },
              {
                "name": "arcgisPropertyChange",
                "type": "{ name: \"state\"; }",
                "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
              },
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              },
              {
                "name": "arcgisTriggerAction",
                "type": "LayerListTriggerActionEvent",
                "description": "Emitted when an action is triggered on the component."
              }
            ]
          }
        },
        {
          "name": "arcgis-legend",
          "description": "The Legend component describes the symbols used to represent layers in a map.\n--\n\n### Events\n- **arcgisPropertyChange** - Emitted when the value of a property is changed. Use this to listen to changes to properties.\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n\n### Methods\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `destroy(): Promise<void>` - Permanently destroy the component.",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-legend/",
          "attributes": [
            {
              "name": "auto-destroy-disabled",
              "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-legend/#destroy) method when you are done to\nprevent memory leaks.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "basemap-legend-visible",
              "description": "Indicates whether to show the [Basemap](https://developers.arcgis.com/javascript/latest/api-reference/esri-Basemap.html) layers in the Legend.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "heading-level",
              "description": "Indicates the heading level to use for the legend title.",
              "default": "3",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "hide-layers-not-in-current-view",
              "description": "When `true`, layers will only be shown in the legend if\nthey are visible in the view's extent.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "icon",
              "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
              "default": "\"legend\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "label",
              "description": "The widget's default label.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Legend.html#label)",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "legend-style",
              "description": "Indicates the style of the legend.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Legend.html#style)",
              "default": "\"classic\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "position",
              "default": "\"bottom-left\"",
              "value": {
                "type": [
                  "\"bottom-leading\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"bottom-trailing\"",
                  "\"manual\"",
                  "\"top-leading\"",
                  "\"top-left\"",
                  "\"top-right\"",
                  "\"top-trailing\""
                ]
              }
            },
            {
              "name": "reference-element",
              "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "respect-layer-definition-expression",
              "description": "If a layer uses a unique value render, only features that satisfy the layer's\n[definition expression](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html#definitionExpression)\nwill be displayed in the legend when set to true.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "respect-layer-visibility-disabled",
              "description": "Determines whether to respect the properties of the layers in the map that\ncontrol the legend's visibility (`minScale`, `maxScale`, `legendEnabled`).\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Legend.html#respectLayerVisibility)",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "state",
              "description": "The current state of the component.",
              "default": "\"disabled\"",
              "value": {
                "type": [
                  "\"disabled\"",
                  "\"ready\""
                ]
              }
            }
          ],
          "events": [
            {
              "name": "arcgisPropertyChange",
              "type": "{ name: \"state\"; }",
              "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
            },
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            }
          ],
          "js": {
            "properties": [
              {
                "name": "activeLayerInfos",
                "description": "Collection of [ActiveLayerInfo](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Legend-support-ActiveLayerInfo.html) objects used by the legend view to\ndisplay data in the legend.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Legend.html#activeLayerInfos)",
                "type": "Collection<ActiveLayerInfo>"
              },
              {
                "name": "autoDestroyDisabled",
                "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-legend/#destroy) method when you are done to\nprevent memory leaks.",
                "type": "boolean"
              },
              {
                "name": "basemapLegendVisible",
                "description": "Indicates whether to show the [Basemap](https://developers.arcgis.com/javascript/latest/api-reference/esri-Basemap.html) layers in the Legend.",
                "type": "boolean"
              },
              {
                "name": "headingLevel",
                "description": "Indicates the heading level to use for the legend title.",
                "type": "number"
              },
              {
                "name": "hideLayersNotInCurrentView",
                "description": "When `true`, layers will only be shown in the legend if\nthey are visible in the view's extent.",
                "type": "boolean"
              },
              {
                "name": "icon",
                "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
                "type": "string"
              },
              {
                "name": "label",
                "description": "The widget's default label.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Legend.html#label)",
                "type": "string"
              },
              {
                "name": "layerInfos",
                "description": "Specifies a subset of the layers to display in the legend.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Legend.html#layerInfos)",
                "type": "Array<LegendLayerInfos>"
              },
              {
                "name": "legendStyle",
                "description": "Indicates the style of the legend.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Legend.html#style)",
                "type": "LegendStyle | string"
              },
              {
                "name": "position",
                "type": "\"bottom-leading\" | \"bottom-left\" | \"bottom-right\" | \"bottom-trailing\" | \"manual\" | \"top-leading\" | \"top-left\" | \"top-right\" | \"top-trailing\""
              },
              {
                "name": "referenceElement",
                "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
                "type": "HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string"
              },
              {
                "name": "respectLayerDefinitionExpression",
                "description": "If a layer uses a unique value render, only features that satisfy the layer's\n[definition expression](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html#definitionExpression)\nwill be displayed in the legend when set to true.",
                "type": "boolean"
              },
              {
                "name": "respectLayerVisibilityDisabled",
                "description": "Determines whether to respect the properties of the layers in the map that\ncontrol the legend's visibility (`minScale`, `maxScale`, `legendEnabled`).\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Legend.html#respectLayerVisibility)",
                "type": "boolean"
              },
              {
                "name": "state",
                "description": "The current state of the component.",
                "type": "\"disabled\" | \"ready\""
              }
            ],
            "events": [
              {
                "name": "arcgisPropertyChange",
                "type": "{ name: \"state\"; }",
                "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
              },
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              }
            ]
          }
        },
        {
          "name": "arcgis-line-of-sight",
          "description": "The Line Of Sight component is a 3D analysis tool that allows you to perform\n[line of sight visibility analysis](https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-LineOfSightAnalysis.html)\nin a [Scene](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-scene/). Visibility between a given observer and multiple target points is calculated against the currently\ndisplayed content in the view, including the ground, integrated meshes, and 3D objects such as buildings or trees.\n\n![line-of-sight](https://developers.arcgis.com/javascript/latest/assets/img/apiref/widgets/line-of-sight.png)\n\nThe analysis results are displayed as colored lines, where areas visible to the observer are\nshown green and occluded parts are marked in red. Also, the color of the target points indicates their visibility.\nWhen the line of sight cannot be calculated, it will be displayed with a gray color. This may happen if either\nthe target or the observer is not in the view.\n\nWhen creating a new line of sight analysis, the first click in the Scene creates the\n[observer](https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-LineOfSightAnalysisObserver.html)\nand subsequent clicks place the [targets](https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-LineOfSightAnalysisTarget.html).\nBoth the observer and target points can be moved by dragging. Additionally, the target points can be removed with a right click.\n\n**Known limitation**\n\nLine Of Sight is only supported in a 3D [Scene](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-scene/) component.\n\n**See also**\n\n- [LineOfSightAnalysis](https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-LineOfSightAnalysis.html)\n- [Sample - Line of sight component](https://developers.arcgis.com/javascript/latest/sample-code/line-of-sight/)\n- [Sample - Analysis objects](https://developers.arcgis.com/javascript/latest/sample-code/analysis-objects/)\n--\n\n### Events\n- **arcgisPropertyChange** - Emitted when the value of a property is changed. Use this to listen to changes to properties.\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n\n### Methods\n- `clear(): Promise<void>` - Clear the current analysis results. After calling this method, the user can set a new observer and targets.\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `continue(): Promise<void>` - After [stop()](#stop) was called, this method allows to continue the line of sight analysis and add more targets.\n- `destroy(): Promise<void>` - Permanently destroy the component.\n- `start(): Promise<void>` - Start a new line of sight analysis.\n- `stop(): Promise<void>` - Stop the current placing of line of sight analysis. Any lines added this far are kept  in the view.\nUsers can still interact with existing targets and the observer, but they cannot place new target points.",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-line-of-sight/",
          "attributes": [
            {
              "name": "auto-destroy-disabled",
              "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-line-of-sight/#destroy) method when you are done to\nprevent memory leaks.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "icon",
              "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
              "default": "\"line-of-sight\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "label",
              "description": "The component's default label.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "position",
              "default": "\"bottom-left\"",
              "value": {
                "type": [
                  "\"bottom-leading\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"bottom-trailing\"",
                  "\"manual\"",
                  "\"top-leading\"",
                  "\"top-left\"",
                  "\"top-right\"",
                  "\"top-trailing\""
                ]
              }
            },
            {
              "name": "reference-element",
              "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "state",
              "description": "The component's state. The values mean the following:\n\n* `disabled` -  not ready yet\n* `ready` - ready for analysis\n* `creating` - observer/target points are being placed\n* `created` - finished analysis",
              "value": {
                "type": [
                  "\"created\"",
                  "\"creating\"",
                  "\"disabled\"",
                  "\"ready\""
                ]
              }
            }
          ],
          "events": [
            {
              "name": "arcgisPropertyChange",
              "type": "{ name: \"state\" | \"analysis\"; }",
              "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
            },
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            }
          ],
          "js": {
            "properties": [
              {
                "name": "analysis",
                "description": "The [LineOfSightAnalysis](https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-LineOfSightAnalysis.html)\ncreated or modified by the component.\n\nWhen connecting the Line Of Sight component to the [Scene](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-scene/)\ncomponent, it automatically creates an empty analysis and adds it to the Scene's\n[analyses](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-scene/#analyses) collection.\nWhenever the component is destroyed, the analysis is automatically removed from the collection.\n\nAlternatively, a programmatically created analysis can be provided to the component.\nThen, the application itself needs to add it to and later remove it from the Scene's analyses collection.\n\n```js\n//Create the analysis.\nconst lineOfSightAnalysis = new LineOfSightAnalysis({\n  observer: new LineOfSightAnalysisObserver({\n        position: new Point({\n        spatialReference: { latestWkid: 3857, wkid: 102100 },\n        x: -13624828.3377593,\n        y: 4550305.319405007,\n        z: 105.55410975124687\n        }),\n  }),\n  targets: [ new LineOfSightAnalysisTarget({\n        position: new Point({\n        spatialReference: { latestWkid: 3857, wkid: 102100 },\n        x: -13624944.17687458,\n        y: 4550420.577689567,\n        z: 0\n        }),\n  })\n]\n});\n// Get the Scene and Line Of Sight component and wait until they are ready.\nconst viewElement = document.querySelector(\"arcgis-scene\");\nawait viewElement.viewOnReady();\nconst lineOfSight = document.querySelector(\"arcgis-line-of-sight\");\nawait lineOfSight.componentOnReady();\n// Add the analysis to the Scene component.\nviewElement.analyses.add(lineOfSightAnalysis);\n// Connect the analysis to the component:\nlineOfSight.analysis = lineOfSightAnalysis;\n```",
                "type": "LineOfSightAnalysis"
              },
              {
                "name": "autoDestroyDisabled",
                "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-line-of-sight/#destroy) method when you are done to\nprevent memory leaks.",
                "type": "boolean"
              },
              {
                "name": "icon",
                "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
                "type": "string"
              },
              {
                "name": "label",
                "description": "The component's default label.",
                "type": "string"
              },
              {
                "name": "messageOverrides",
                "description": "Replace localized message strings with your own strings.\n\n_**Note**: Individual message keys may change between releases._",
                "type": "Record<string, unknown>"
              },
              {
                "name": "position",
                "type": "\"bottom-leading\" | \"bottom-left\" | \"bottom-right\" | \"bottom-trailing\" | \"manual\" | \"top-leading\" | \"top-left\" | \"top-right\" | \"top-trailing\""
              },
              {
                "name": "referenceElement",
                "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
                "type": "HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string"
              },
              {
                "name": "state",
                "description": "The component's state. The values mean the following:\n\n* `disabled` -  not ready yet\n* `ready` - ready for analysis\n* `creating` - observer/target points are being placed\n* `created` - finished analysis",
                "type": "\"created\" | \"creating\" | \"disabled\" | \"ready\""
              }
            ],
            "events": [
              {
                "name": "arcgisPropertyChange",
                "type": "{ name: \"state\" | \"analysis\"; }",
                "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
              },
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              }
            ]
          }
        },
        {
          "name": "arcgis-link-chart",
          "description": "Loads a [WebLinkChart](https://developers.arcgis.com/javascript/latest/api-reference/esri-WebLinkChart.html) from an [ArcGIS Enterprise portal](https://enterprise.arcgis.com/en/portal/latest/administer/windows/what-is-portal-for-arcgis-.htm) into a [LinkChartView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-LinkChartView.html).\n\n\nNote: Sign in to access the data in this demo, U/P: `viewer01`/`I68VGU^nMurF`\n--\n\n### Events\n- **arcgisViewChange** - This event is for view related property changes: zoom, scale, center, rotation, extent, camera, viewpoint.\nThis event will also emit if stationary toggles from true to false.\n- **arcgisViewClick** - Fires after a user clicks on the view.\n- **arcgisViewDoubleClick** - Fires after double-clicking on the view.\n- **arcgisViewDrag** - Fires during a pointer drag on the view.\n- **arcgisViewHold** - Fires during a pointer drag on the view.\n- **arcgisViewImmediateClick** - Fires right after a user clicks on the view.\n- **arcgisViewImmediateDoubleClick** - Is emitted after two consecutive immediate-click events.\n- **arcgisViewKeyDown** - Fires after a keyboard key is pressed.\n- **arcgisViewKeyUp** - Fires after a keyboard key is pressed.\n- **arcgisViewLayerviewCreate** - Fires after each layer in the link chart has a corresponding LayerView created and rendered in the view.\n- **arcgisViewLayerviewCreateError** - Fires when an error emits during the creation of a LayerView after a layer has been added to the link chart.\n- **arcgisViewLayerviewDestroy** - Fires after a LayerView is destroyed and is no longer rendered in the view.\n- **arcgisViewMouseWheel** - Fires when a wheel button of a pointing device (typically a mouse) is scrolled on the view.\n- **arcgisViewPointerDown** - Fires after a mouse button is pressed, or a finger touches the display.\n- **arcgisViewPointerEnter** - Fires after a mouse cursor enters the view, or a display touch begins.\n- **arcgisViewPointerLeave** - Fires after a mouse cursor leaves the view, or a display touch ends.\n- **arcgisViewPointerMove** - Fires after the mouse or a finger on the display moves.\n- **arcgisViewPointerUp** - Fires after a mouse button is released, or a display touch ends.\n- **arcgisViewReadyChange** - This event is for the `ready` property and will be emitted when the view is ready.\nThis event will also emit if the `map` property is changed.\n\n### Methods\n- `addLayer(layer: __esri.Layer | Promise<any>, index?: number): Promise<void>` - **Deprecated**: since 4.33, use `element.map.add(layer)` instead.\n\nAdds a layer to the map layers collection.. \n- `addLayers(layers: __esri.Layer[], index?: number): Promise<void>` - **Deprecated**: since 4.33, use `element.map.addMany([layer])` instead.\n\nAdds a layer or array of layers to the map layers collection.. \n- `closePopup(): Promise<void>` - Closes the popup.\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `destroy(): Promise<void>` - Destroys the view, and any associated resources, including its map, popup, and UI elements.\n- `goTo(target: __esri.GoToTarget2D, options?: __esri.GoToOptions2D): Promise<unknown>` - Sets the view to a given target.\n- `openPopup(options?: __esri.PopupViewOpenPopupOptions): Promise<void>` - Opens the popup at the given location with content defined either explicitly with content or driven\nfrom the PopupTemplate of input features.\n- `toMap(screenPoint: __esri.MapViewScreenPoint | MouseEvent): __esri.Point`\n- `toScreen(point: __esri.Point, options?: __esri.ToScreenOptions2D): __esri.MapViewScreenPoint | nullish`\n- `tryFatalErrorRecovery(): Promise<void>` - Call this method to clear any fatal errors resulting from a lost WebGL context.\n- `viewOnReady(callback?: (): void, errback?: (error: Error) => void): Promise<void>` - `viewOnReady()` may be leveraged once an instance of the component and its underlying [view](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-link-chart/#view) is created and ready.\nThis method takes two input parameters, a `callback` function and an `errback` function, and returns a promise. The `callback` executes when the promise resolves, and the `errback` executes if the promise is rejected.\n- `whenLayerView(layer: __esri.Layer): Promise<__esri.LayerView>` - Gets the LayerView created on the view for the given layer.",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-link-chart/",
          "attributes": [
            {
              "name": "auto-destroy-disabled",
              "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-link-chart/#destroy) method when you are done to\nprevent memory leaks.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "basemap",
              "description": "Specifies a basemap for the link chart. The basemap is only visible when the link\nchart is set to a geographic layout. See\n[documentation on layouts](https://enterprise.arcgis.com/en/knowledge/latest/knowledge-studio/change-the-layout-applied-to-a-link-chart.htm)\nfor more detail. The basemap is a set of layers that give\ngeographic context to the LinkChartView and the other operational layers\nin the link chart.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "center",
              "description": "Represents the view's center point; when setting the center, you may pass a\nesri/geometry/Point instance or a string representing\na longitude/latitude pair (`\"-100.4593, 36.9014\"`).\nSetting the center immediately changes the current view.\nFor animating the view, see this component's goTo() method.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "display-filter-disabled",
              "description": "Indicates whether layer's displayFilter are honored when rendering layers in the view.\nIf `false`, display filters are ignored and all features are rendered.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "item-id",
              "description": "The ID of a WebLinkChart from an ArcGIS Enterprise portal.\n\nTo configure the portal url you must set the [`portalUrl` property on `config`](https://developers.arcgis.com/javascript/latest/api-reference/esri-config.html#portalUrl) before the Link Chart component loads.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "popup-disabled",
              "description": "Controls whether the popup opens when users click on the view.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "resize-align",
              "description": "Defines which anchor stays still while resizing the browser window. The default, `center`,\nensures the view's center point remains constantly visible as the window size changes. The other\noptions allow  the respective portion of the view to remain visible when the window's size is changed.",
              "default": "\"center\"",
              "value": {
                "type": [
                  "\"bottom\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"center\"",
                  "\"left\"",
                  "\"right\"",
                  "\"top\"",
                  "\"top-left\"",
                  "\"top-right\""
                ]
              }
            },
            {
              "name": "rotation",
              "description": "The clockwise rotation of due north in relation to the top of the view in degrees.\nThe view may be rotated by directly setting\nthe rotation or by using the following mouse event: `Right-click + Drag`.\nWebLinkChart rotation may be disabled by setting the `rotationEnabled` property\nin [constraints](#constraints) to `false`.",
              "default": "0",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "scale",
              "description": "Represents the link chart scale at the center of the view. Setting the scale immediately changes the view. For animating\nthe view, see this component's goTo() method.",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "suspended",
              "description": "Indicates if the view is visible on the page.",
              "default": "true",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "time-zone",
              "description": "Defines the time zone of the view.\nThe time zone property determines how dates and times are represented to the user,\nbut the underlying data is unchanged.",
              "default": "\"system\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "zoom",
              "description": "Represents the level of detail (LOD) at the center of the view.\nA zoom level (or scale) is a number that defines how large or small the contents of a link chart appear in a link chart view.\nZoom level is a number usually between 0 (global view) and 23 (very detailed view) and is used as a shorthand for predetermined scale values.\nA value of -1 means the view has no LODs.\nWhen setting the zoom value, the LinkChartView converts it to the corresponding scale, or interpolates it if the zoom is a fractional number.\nLinkChartView can display link charts with different projections at a full range of scales, and so use the scale property on this component rather than zoom level.\n\nSetting the zoom immediately changes the current view. For animating the view, see this component's goTo() method.\nSetting this property in conjunction with `center` is a convenient way to set the initial extent of the view.",
              "value": {
                "type": "number"
              }
            }
          ],
          "events": [
            {
              "name": "arcgisViewChange",
              "type": "void",
              "description": "This event is for view related property changes: zoom, scale, center, rotation, extent, camera, viewpoint.\nThis event will also emit if stationary toggles from true to false."
            },
            {
              "name": "arcgisViewClick",
              "type": "ViewClickEvent",
              "description": "Fires after a user clicks on the view."
            },
            {
              "name": "arcgisViewDoubleClick",
              "type": "ViewDoubleClickEvent",
              "description": "Fires after double-clicking on the view."
            },
            {
              "name": "arcgisViewDrag",
              "type": "ViewDragEvent",
              "description": "Fires during a pointer drag on the view."
            },
            {
              "name": "arcgisViewHold",
              "type": "ViewHoldEvent",
              "description": "Fires during a pointer drag on the view."
            },
            {
              "name": "arcgisViewImmediateClick",
              "type": "ViewImmediateClickEvent",
              "description": "Fires right after a user clicks on the view."
            },
            {
              "name": "arcgisViewImmediateDoubleClick",
              "type": "ViewImmediateDoubleClickEvent",
              "description": "Is emitted after two consecutive immediate-click events."
            },
            {
              "name": "arcgisViewKeyDown",
              "type": "ViewKeyDownEvent",
              "description": "Fires after a keyboard key is pressed."
            },
            {
              "name": "arcgisViewKeyUp",
              "type": "ViewKeyUpEvent",
              "description": "Fires after a keyboard key is pressed."
            },
            {
              "name": "arcgisViewLayerviewCreate",
              "type": "ViewLayerviewCreateEvent",
              "description": "Fires after each layer in the link chart has a corresponding LayerView created and rendered in the view."
            },
            {
              "name": "arcgisViewLayerviewCreateError",
              "type": "ViewLayerviewCreateErrorEvent",
              "description": "Fires when an error emits during the creation of a LayerView after a layer has been added to the link chart."
            },
            {
              "name": "arcgisViewLayerviewDestroy",
              "type": "ViewLayerviewDestroyEvent",
              "description": "Fires after a LayerView is destroyed and is no longer rendered in the view."
            },
            {
              "name": "arcgisViewMouseWheel",
              "type": "ViewMouseWheelEvent",
              "description": "Fires when a wheel button of a pointing device (typically a mouse) is scrolled on the view."
            },
            {
              "name": "arcgisViewPointerDown",
              "type": "ViewPointerDownEvent",
              "description": "Fires after a mouse button is pressed, or a finger touches the display."
            },
            {
              "name": "arcgisViewPointerEnter",
              "type": "ViewPointerEnterEvent",
              "description": "Fires after a mouse cursor enters the view, or a display touch begins."
            },
            {
              "name": "arcgisViewPointerLeave",
              "type": "ViewPointerLeaveEvent",
              "description": "Fires after a mouse cursor leaves the view, or a display touch ends."
            },
            {
              "name": "arcgisViewPointerMove",
              "type": "ViewPointerMoveEvent",
              "description": "Fires after the mouse or a finger on the display moves."
            },
            {
              "name": "arcgisViewPointerUp",
              "type": "ViewPointerUpEvent",
              "description": "Fires after a mouse button is released, or a display touch ends."
            },
            {
              "name": "arcgisViewReadyChange",
              "type": "void",
              "description": "This event is for the `ready` property and will be emitted when the view is ready.\nThis event will also emit if the `map` property is changed."
            }
          ],
          "js": {
            "properties": [
              {
                "name": "allLayerViews",
                "description": "Collection containing a flat list of all the created LayerViews\nrelated to the basemap, operational layers, and group layers in this view.",
                "type": "Collection<LayerView>"
              },
              {
                "name": "autoDestroyDisabled",
                "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-link-chart/#destroy) method when you are done to\nprevent memory leaks.",
                "type": "boolean"
              },
              {
                "name": "background",
                "description": "The background color of the LinkChartView. If the view's link chart changes, the view's `background` is reset to the link chart's background,\neven if the user set it previously.",
                "type": "ColorBackground"
              },
              {
                "name": "basemap",
                "description": "Specifies a basemap for the link chart. The basemap is only visible when the link\nchart is set to a geographic layout. See\n[documentation on layouts](https://enterprise.arcgis.com/en/knowledge/latest/knowledge-studio/change-the-layout-applied-to-a-link-chart.htm)\nfor more detail. The basemap is a set of layers that give\ngeographic context to the LinkChartView and the other operational layers\nin the link chart.",
                "type": "Basemap | string"
              },
              {
                "name": "basemapView",
                "description": "Represents the view for a single basemap after it has been added to the link chart.",
                "type": "BasemapView"
              },
              {
                "name": "center",
                "description": "Represents the view's center point; when setting the center, you may pass a\nesri/geometry/Point instance or a string representing\na longitude/latitude pair (`\"-100.4593, 36.9014\"`).\nSetting the center immediately changes the current view.\nFor animating the view, see this component's goTo() method.",
                "type": "Array<number> | Point | string"
              },
              {
                "name": "constraints",
                "description": "Specifies constraints to scale, zoom, and rotation that may be applied to the LinkChartView.",
                "type": "View2DConstraints"
              },
              {
                "name": "displayFilterDisabled",
                "description": "Indicates whether layer's displayFilter are honored when rendering layers in the view.\nIf `false`, display filters are ignored and all features are rendered.",
                "type": "boolean"
              },
              {
                "name": "extent",
                "description": "The extent represents the visible portion of a link chart within the view as an instance of\n[Extent](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Extent.html).\nSetting the extent immediately changes the view without animation. To animate\nthe view, see this component's goTo() method.\nWhen the view is rotated, the extent does not update to include the newly visible portions of the link chart.",
                "type": "Extent"
              },
              {
                "name": "fatalError",
                "description": "A rejected view indicates a fatal error making it unable to display.",
                "type": "Error"
              },
              {
                "name": "graphics",
                "description": "Allows for adding graphics directly to the default graphics in the View.",
                "type": "Collection<Graphic>"
              },
              {
                "name": "highlights",
                "description": "The highlights property is a collection of HighlightGroup objects that\nallow you to visually emphasize specific features on the link chart.",
                "type": "Collection<HighlightOptions>"
              },
              {
                "name": "interacting",
                "description": "Indication whether the view is being interacted with (for example when panning or by an interactive tool).",
                "type": "boolean"
              },
              {
                "name": "itemId",
                "description": "The ID of a WebLinkChart from an ArcGIS Enterprise portal.\n\nTo configure the portal url you must set the [`portalUrl` property on `config`](https://developers.arcgis.com/javascript/latest/api-reference/esri-config.html#portalUrl) before the Link Chart component loads.",
                "type": "string"
              },
              {
                "name": "layerViews",
                "description": "A collection containing a hierarchical list of all the created\n[LayerViews](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-LayerView.html) of the\n[operational layers](https://developers.arcgis.com/javascript/latest/api-reference/esri-WebLinkChart.html#layers) in the link chart.",
                "type": "Collection<LayerView>"
              },
              {
                "name": "magnifier",
                "description": "The magnifier allows for showing a portion of the view as a magnifier image on top of the view.",
                "type": "Magnifier"
              },
              {
                "name": "map",
                "description": "An instance of a [WebLinkChart](https://developers.arcgis.com/javascript/latest/api-reference/esri-WebLinkChart.html)\nobject to display in the view.",
                "type": "WebLinkChart"
              },
              {
                "name": "navigating",
                "description": "Indication whether the view is being navigated (for example when panning).",
                "type": "boolean"
              },
              {
                "name": "navigation",
                "description": "Options to configure the navigation behavior of the View.",
                "type": "Navigation"
              },
              {
                "name": "padding",
                "description": "Use the padding property to make the [center](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#center),\nand [extent](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#extent), etc.",
                "type": "ViewPadding"
              },
              {
                "name": "popup",
                "description": "A [Popup](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Popup.html) object that displays general content or attributes from\n[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-View2D.html#map).\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View2D.html#popup)",
                "type": "Popup"
              },
              {
                "name": "popupDisabled",
                "description": "Controls whether the popup opens when users click on the view.",
                "type": "boolean"
              },
              {
                "name": "ready",
                "description": "When `true`, this property indicates whether the view successfully satisfied all dependencies,\nsignaling that the following conditions are met.",
                "type": "boolean"
              },
              {
                "name": "resizeAlign",
                "description": "Defines which anchor stays still while resizing the browser window. The default, `center`,\nensures the view's center point remains constantly visible as the window size changes. The other\noptions allow  the respective portion of the view to remain visible when the window's size is changed.",
                "type": "\"bottom\" | \"bottom-left\" | \"bottom-right\" | \"center\" | \"left\" | \"right\" | \"top\" | \"top-left\" | \"top-right\""
              },
              {
                "name": "resolution",
                "description": "Represents the current value of one pixel in the unit of the view's spatialReference.\nThe value of resolution is calculated by dividing the view's extent width\nby its width.",
                "type": "number"
              },
              {
                "name": "rotation",
                "description": "The clockwise rotation of due north in relation to the top of the view in degrees.\nThe view may be rotated by directly setting\nthe rotation or by using the following mouse event: `Right-click + Drag`.\nWebLinkChart rotation may be disabled by setting the `rotationEnabled` property\nin [constraints](#constraints) to `false`.",
                "type": "number"
              },
              {
                "name": "scale",
                "description": "Represents the link chart scale at the center of the view. Setting the scale immediately changes the view. For animating\nthe view, see this component's goTo() method.",
                "type": "number"
              },
              {
                "name": "spatialReference",
                "description": "The spatial reference of the view.\nThis indicates the projected or geographic coordinate system used\nto locate geographic features in the link chart.",
                "type": "SpatialReference"
              },
              {
                "name": "stationary",
                "description": "Indication whether the view is animating, being navigated with or resizing.",
                "type": "boolean"
              },
              {
                "name": "suspended",
                "description": "Indicates if the view is visible on the page.",
                "type": "boolean"
              },
              {
                "name": "theme",
                "description": "This property specifies the base colors used by some widgets\nand components to render graphics and labels.",
                "type": "Theme"
              },
              {
                "name": "timeExtent",
                "description": "The view's time extent. Time-aware layers display their temporal data that falls within\nthe view's time extent. Setting the view's time extent is similar to setting the spatial\nextent because once the time extent is set, the\nview updates automatically to conform to the change.",
                "type": "TimeExtent"
              },
              {
                "name": "timeZone",
                "description": "Defines the time zone of the view.\nThe time zone property determines how dates and times are represented to the user,\nbut the underlying data is unchanged.",
                "type": "string"
              },
              {
                "name": "updating",
                "description": "Indicates whether the view is being updated by additional data requests to the network,\nor by processing received data.",
                "type": "boolean"
              },
              {
                "name": "view",
                "description": "Internal view of the component.",
                "type": "LinkChartView"
              },
              {
                "name": "viewpoint",
                "description": "Represents the current view as a Viewpoint or point of observation on the view.\nSetting the viewpoint immediately changes the current view. For animating\nthe view, see this component's goTo() method.",
                "type": "Viewpoint"
              },
              {
                "name": "zoom",
                "description": "Represents the level of detail (LOD) at the center of the view.\nA zoom level (or scale) is a number that defines how large or small the contents of a link chart appear in a link chart view.\nZoom level is a number usually between 0 (global view) and 23 (very detailed view) and is used as a shorthand for predetermined scale values.\nA value of -1 means the view has no LODs.\nWhen setting the zoom value, the LinkChartView converts it to the corresponding scale, or interpolates it if the zoom is a fractional number.\nLinkChartView can display link charts with different projections at a full range of scales, and so use the scale property on this component rather than zoom level.\n\nSetting the zoom immediately changes the current view. For animating the view, see this component's goTo() method.\nSetting this property in conjunction with `center` is a convenient way to set the initial extent of the view.",
                "type": "number"
              }
            ],
            "events": [
              {
                "name": "arcgisViewChange",
                "type": "void",
                "description": "This event is for view related property changes: zoom, scale, center, rotation, extent, camera, viewpoint.\nThis event will also emit if stationary toggles from true to false."
              },
              {
                "name": "arcgisViewClick",
                "type": "ViewClickEvent",
                "description": "Fires after a user clicks on the view."
              },
              {
                "name": "arcgisViewDoubleClick",
                "type": "ViewDoubleClickEvent",
                "description": "Fires after double-clicking on the view."
              },
              {
                "name": "arcgisViewDrag",
                "type": "ViewDragEvent",
                "description": "Fires during a pointer drag on the view."
              },
              {
                "name": "arcgisViewHold",
                "type": "ViewHoldEvent",
                "description": "Fires during a pointer drag on the view."
              },
              {
                "name": "arcgisViewImmediateClick",
                "type": "ViewImmediateClickEvent",
                "description": "Fires right after a user clicks on the view."
              },
              {
                "name": "arcgisViewImmediateDoubleClick",
                "type": "ViewImmediateDoubleClickEvent",
                "description": "Is emitted after two consecutive immediate-click events."
              },
              {
                "name": "arcgisViewKeyDown",
                "type": "ViewKeyDownEvent",
                "description": "Fires after a keyboard key is pressed."
              },
              {
                "name": "arcgisViewKeyUp",
                "type": "ViewKeyUpEvent",
                "description": "Fires after a keyboard key is pressed."
              },
              {
                "name": "arcgisViewLayerviewCreate",
                "type": "ViewLayerviewCreateEvent",
                "description": "Fires after each layer in the link chart has a corresponding LayerView created and rendered in the view."
              },
              {
                "name": "arcgisViewLayerviewCreateError",
                "type": "ViewLayerviewCreateErrorEvent",
                "description": "Fires when an error emits during the creation of a LayerView after a layer has been added to the link chart."
              },
              {
                "name": "arcgisViewLayerviewDestroy",
                "type": "ViewLayerviewDestroyEvent",
                "description": "Fires after a LayerView is destroyed and is no longer rendered in the view."
              },
              {
                "name": "arcgisViewMouseWheel",
                "type": "ViewMouseWheelEvent",
                "description": "Fires when a wheel button of a pointing device (typically a mouse) is scrolled on the view."
              },
              {
                "name": "arcgisViewPointerDown",
                "type": "ViewPointerDownEvent",
                "description": "Fires after a mouse button is pressed, or a finger touches the display."
              },
              {
                "name": "arcgisViewPointerEnter",
                "type": "ViewPointerEnterEvent",
                "description": "Fires after a mouse cursor enters the view, or a display touch begins."
              },
              {
                "name": "arcgisViewPointerLeave",
                "type": "ViewPointerLeaveEvent",
                "description": "Fires after a mouse cursor leaves the view, or a display touch ends."
              },
              {
                "name": "arcgisViewPointerMove",
                "type": "ViewPointerMoveEvent",
                "description": "Fires after the mouse or a finger on the display moves."
              },
              {
                "name": "arcgisViewPointerUp",
                "type": "ViewPointerUpEvent",
                "description": "Fires after a mouse button is released, or a display touch ends."
              },
              {
                "name": "arcgisViewReadyChange",
                "type": "void",
                "description": "This event is for the `ready` property and will be emitted when the view is ready.\nThis event will also emit if the `map` property is changed."
              }
            ]
          }
        },
        {
          "name": "arcgis-link-chart-layout-switcher",
          "description": "A component for use in link charts that allows users to switch between different layouts. See [documentation on layouts](https://enterprise.arcgis.com/en/knowledge/latest/knowledge-studio/change-the-layout-applied-to-a-link-chart.htm) for more details.\n\n\nNote: Sign in to access the data in this demo, U/P: `viewer01`/`I68VGU^nMurF`\n--\n\n### Events\n- **arcgisPropertyChange** - Emitted when the value of a property is changed. Use this to listen to changes to properties.\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n- **arcgisSwitchLayout** - Fires when component has completed the layout switch\n\n### Methods\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `destroy(): Promise<void>` - Permanently destroy the component.\n- `switchLayout(newLayout: \"basic-grid\" | \"chronological-mono-timeline\" | \"chronological-multi-timeline\" | \"geographic-organic-standard\" | \"hierarchical-bottom-to-top\" | \"organic-community\" | \"organic-standard\" | \"radial-root-centric\" | \"tree-left-to-right\"): Promise<void>` - Switches the layout of the link chart to the value provided.",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-link-chart-layout-switcher/",
          "attributes": [
            {
              "name": "appearance",
              "description": "The appearance of the layout switcher. `dropdown` displays a button that is clicked to reveal a dropdown menu, while `menu-bar` displays a menu bar.",
              "default": "\"dropdown\"",
              "value": {
                "type": [
                  "\"dropdown\"",
                  "\"menu-bar\""
                ]
              }
            },
            {
              "name": "auto-destroy-disabled",
              "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-link-chart-layout-switcher/#destroy) method when you are done to\nprevent memory leaks.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "close-on-select-disabled",
              "description": "When `true`, the layout menu will not close when a layout is selected. Only applicable when `appearance` is `dropdown`.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "icon",
              "description": "Icon displayed in the component's button, when `appearance` is `dropdown`.",
              "default": "\"nodes-link\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "label",
              "description": "The component's default label.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "position",
              "default": "\"top-left\"",
              "value": {
                "type": [
                  "\"bottom-leading\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"bottom-trailing\"",
                  "\"manual\"",
                  "\"top-leading\"",
                  "\"top-left\"",
                  "\"top-right\"",
                  "\"top-trailing\""
                ]
              }
            },
            {
              "name": "prevent-extent-update",
              "description": "Prevents extent from updating on changes to the layout.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LinkChartLayoutSwitcher-LinkChartLayoutSwitcherViewModel.html#preventExtentUpdate)",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "reference-element",
              "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.\n\nSee also:\n- [Associate components with a Map or Scene component](https://developers.arcgis.com/javascript/latest/programming-patterns/#associate-components-with-a-map-or-scene-component)",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "state",
              "description": "The current state of the component.",
              "default": "\"loading\"",
              "value": {
                "type": [
                  "\"disabled\"",
                  "\"loading\"",
                  "\"ready\""
                ]
              }
            }
          ],
          "events": [
            {
              "name": "arcgisPropertyChange",
              "type": "{ name: \"state\"; }",
              "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
            },
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            },
            {
              "name": "arcgisSwitchLayout",
              "type": "LinkChartLayoutSwitcherViewModelSwitchLayoutEvent",
              "description": "Fires when component has completed the layout switch"
            }
          ],
          "js": {
            "properties": [
              {
                "name": "appearance",
                "description": "The appearance of the layout switcher. `dropdown` displays a button that is clicked to reveal a dropdown menu, while `menu-bar` displays a menu bar.",
                "type": "\"dropdown\" | \"menu-bar\""
              },
              {
                "name": "autoDestroyDisabled",
                "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-link-chart-layout-switcher/#destroy) method when you are done to\nprevent memory leaks.",
                "type": "boolean"
              },
              {
                "name": "closeOnSelectDisabled",
                "description": "When `true`, the layout menu will not close when a layout is selected. Only applicable when `appearance` is `dropdown`.",
                "type": "boolean"
              },
              {
                "name": "icon",
                "description": "Icon displayed in the component's button, when `appearance` is `dropdown`.",
                "type": "string"
              },
              {
                "name": "label",
                "description": "The component's default label.",
                "type": "string"
              },
              {
                "name": "layout",
                "description": "The current selected link chart layout.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LinkChartLayoutSwitcher-LinkChartLayoutSwitcherViewModel.html#layout)",
                "type": "\"basic-grid\" | \"chronological-mono-timeline\" | \"chronological-multi-timeline\" | \"geographic-organic-standard\" | \"hierarchical-bottom-to-top\" | \"organic-community\" | \"organic-standard\" | \"radial-root-centric\" | \"tree-left-to-right\""
              },
              {
                "name": "messageOverrides",
                "description": "Replace localized message strings with your own strings.\n\n_**Note**: Individual message keys may change between releases._",
                "type": "Record<string, unknown>"
              },
              {
                "name": "position",
                "type": "\"bottom-leading\" | \"bottom-left\" | \"bottom-right\" | \"bottom-trailing\" | \"manual\" | \"top-leading\" | \"top-left\" | \"top-right\" | \"top-trailing\""
              },
              {
                "name": "preventExtentUpdate",
                "description": "Prevents extent from updating on changes to the layout.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LinkChartLayoutSwitcher-LinkChartLayoutSwitcherViewModel.html#preventExtentUpdate)",
                "type": "boolean"
              },
              {
                "name": "referenceElement",
                "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.\n\nSee also:\n- [Associate components with a Map or Scene component](https://developers.arcgis.com/javascript/latest/programming-patterns/#associate-components-with-a-map-or-scene-component)",
                "type": "HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string"
              },
              {
                "name": "state",
                "description": "The current state of the component.",
                "type": "\"disabled\" | \"loading\" | \"ready\""
              }
            ],
            "events": [
              {
                "name": "arcgisPropertyChange",
                "type": "{ name: \"state\"; }",
                "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
              },
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              },
              {
                "name": "arcgisSwitchLayout",
                "type": "LinkChartLayoutSwitcherViewModelSwitchLayoutEvent",
                "description": "Fires when component has completed the layout switch"
              }
            ]
          }
        },
        {
          "name": "arcgis-locate",
          "description": "The Locate component animates the Map or Scene to the user's current location.\n\nThis component uses the browser's [Geolocation API](https://developer.mozilla.org/en-US/docs/Web/API/Geolocation_API) which is only available in [secure contexts](https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts), such as HTTPS.\nNote that localhost is considered \"potentially secure\" and can be used for easy testing in browsers that support\n[Window.isSecureContext](https://developer.mozilla.org/en-US/docs/Web/API/isSecureContext#browser_compatibility).\n--\n\n### Events\n- **arcgisError**\n- **arcgisPropertyChange** - Emitted when the value of a property is changed. Use this to listen to changes to properties.\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n- **arcgisSuccess**\n\n### Methods\n- `cancelLocate(): Promise<void>` - This function provides the ability to interrupt and cancel the process of\nprogrammatically obtaining the location of the user's device.\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `destroy(): Promise<void>` - Permanently destroy the component.\n- `locate(): Promise<GeolocationPosition | null>`",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-locate/",
          "attributes": [
            {
              "name": "auto-destroy-disabled",
              "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-locate/#destroy) method when you are done to\nprevent memory leaks.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "go-to-location-disabled",
              "description": "Indicates whether to navigate the view to the position and scale of the geolocated result.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "icon",
              "default": "\"gps-off\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "label",
              "description": "The component's default label.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "popup-disabled",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "position",
              "default": "\"top-left\"",
              "value": {
                "type": [
                  "\"bottom-leading\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"bottom-trailing\"",
                  "\"manual\"",
                  "\"top-leading\"",
                  "\"top-left\"",
                  "\"top-right\"",
                  "\"top-trailing\""
                ]
              }
            },
            {
              "name": "reference-element",
              "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "scale",
              "description": "Indicates the scale to set on the view when navigating to the position of the geolocated\nresult, after a location is returned from the [track](#event-track) event.",
              "default": "null",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "state",
              "description": "The current state of the component.",
              "value": {
                "type": [
                  "\"disabled\"",
                  "\"error\"",
                  "\"feature-unsupported\"",
                  "\"locating\"",
                  "\"ready\""
                ]
              }
            }
          ],
          "events": [
            {
              "name": "arcgisError",
              "type": "{ error: GeolocationPositionError; }"
            },
            {
              "name": "arcgisPropertyChange",
              "type": "{ name: \"state\"; }",
              "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
            },
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            },
            {
              "name": "arcgisSuccess",
              "type": "{ position: GeolocationPosition; }"
            }
          ],
          "js": {
            "properties": [
              {
                "name": "autoDestroyDisabled",
                "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-locate/#destroy) method when you are done to\nprevent memory leaks.",
                "type": "boolean"
              },
              {
                "name": "geolocationOptions",
                "type": "PositionOptions"
              },
              {
                "name": "goToLocationDisabled",
                "description": "Indicates whether to navigate the view to the position and scale of the geolocated result.",
                "type": "boolean"
              },
              {
                "name": "goToOverride",
                "type": "(((view: MapView | SceneView, goToParameters: GoToParameters) => void))"
              },
              {
                "name": "graphic",
                "description": "The graphic used to show the user's location on the map.",
                "type": "Graphic"
              },
              {
                "name": "icon",
                "type": "string"
              },
              {
                "name": "label",
                "description": "The component's default label.",
                "type": "string"
              },
              {
                "name": "messageOverrides",
                "description": "Replace localized message strings with your own strings.\n\n_**Note**: Individual message keys may change between releases._",
                "type": "Record<string, unknown>"
              },
              {
                "name": "popupDisabled",
                "type": "boolean"
              },
              {
                "name": "position",
                "type": "\"bottom-leading\" | \"bottom-left\" | \"bottom-right\" | \"bottom-trailing\" | \"manual\" | \"top-leading\" | \"top-left\" | \"top-right\" | \"top-trailing\""
              },
              {
                "name": "referenceElement",
                "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
                "type": "HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string"
              },
              {
                "name": "scale",
                "description": "Indicates the scale to set on the view when navigating to the position of the geolocated\nresult, after a location is returned from the [track](#event-track) event.",
                "type": "number"
              },
              {
                "name": "state",
                "description": "The current state of the component.",
                "type": "\"disabled\" | \"error\" | \"feature-unsupported\" | \"locating\" | \"ready\""
              }
            ],
            "events": [
              {
                "name": "arcgisError",
                "type": "{ error: GeolocationPositionError; }"
              },
              {
                "name": "arcgisPropertyChange",
                "type": "{ name: \"state\"; }",
                "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
              },
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              },
              {
                "name": "arcgisSuccess",
                "type": "{ position: GeolocationPosition; }"
              }
            ]
          }
        },
        {
          "name": "arcgis-map",
          "description": "The ArcGIS Map component is used to add 2D maps to web applications. For 3D maps, use the\n[ArcGIS Scene component](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-scene/).\n\nThe Map component creates a [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) and loads a WebMap from either [ArcGIS Online](https://www.arcgis.com/home/index.html) or [ArcGIS Enterprise portal](https://enterprise.arcgis.com/en/portal/latest/administer/windows/what-is-portal-for-arcgis-.htm).\n\n```html\n<arcgis-map item-id=\"05e015c5f0314db9a487a9b46cb37eca\"></arcgis-map>\n```\n\nAlternatively, the Map component can be initialized without a WebMap item.\n\n```html\n<arcgis-map basemap=\"satellite\" center=\"-154.88, 19.46\" zoom=\"15\"></arcgis-map>\n```\n\nOther components can be added and connected to the Map component.\n\n```html\n<arcgis-map item-id=\"05e015c5f0314db9a487a9b46cb37eca\">\n <arcgis-zoom position=\"top-left\"></arcgis-zoom>\n <arcgis-legend position=\"bottom-left\"></arcgis-legend>\n</arcgis-map>\n```\n\nThe Map component can be customized further using any of the [core API functionalities](https://developers.arcgis.com/javascript/latest/api-reference/) of the ArcGIS Maps SDK for JavaScript.\n\n```js\nconst viewElement = document.querySelector(\"arcgis-map\");\nviewElement.addEventListener(\"arcgisViewReadyChange\", () => {\n const layer = new GraphicsLayer({ title: \"My Layer\" });\n viewElement.map.add(layer);\n});\n```\n\nSee also:\n- [SDK sample apps using the Map component](https://developers.arcgis.com/javascript/latest/sample-code/?tagged=arcgis-map)\n- [Get started](https://developers.arcgis.com/javascript/latest/get-started/)\n- [Programming patterns](https://developers.arcgis.com/javascript/latest/programming-patterns/)\n--\n\n### Events\n- **arcgisViewChange** - This event is for view related property changes: zoom, scale, center, rotation, extent, camera, viewpoint.\nThis event will also emit if stationary toggles from true to false.\n- **arcgisViewClick** - Fires after a user clicks on the view.\n- **arcgisViewDoubleClick** - Fires after double-clicking on the view.\n- **arcgisViewDrag** - Fires during a pointer drag on the view.\n- **arcgisViewHold** - Fires during a pointer drag on the view.\n- **arcgisViewImmediateClick** - Fires right after a user clicks on the view.\n- **arcgisViewImmediateDoubleClick** - Is emitted after two consecutive immediate-click events.\n- **arcgisViewKeyDown** - Fires after a keyboard key is pressed.\n- **arcgisViewKeyUp** - Fires after a keyboard key is pressed.\n- **arcgisViewLayerviewCreate** - Fires after each layer in the map has a corresponding LayerView created and rendered in the view.\n- **arcgisViewLayerviewCreateError** - Fires when an error emits during the creation of a LayerView after a layer has been added to the map.\n- **arcgisViewLayerviewDestroy** - Fires after a LayerView is destroyed and is no longer rendered in the view.\n- **arcgisViewMouseWheel** - Fires when a wheel button of a pointing device (typically a mouse) is scrolled on the view.\n- **arcgisViewPointerDown** - Fires after a mouse button is pressed, or a finger touches the display.\n- **arcgisViewPointerEnter** - Fires after a mouse cursor enters the view, or a display touch begins.\n- **arcgisViewPointerLeave** - Fires after a mouse cursor leaves the view, or a display touch ends.\n- **arcgisViewPointerMove** - Fires after the mouse or a finger on the display moves.\n- **arcgisViewPointerUp** - Fires after a mouse button is released, or a display touch ends.\n- **arcgisViewReadyChange** - This event is for the `ready` property and will be emitted when the view is ready.\nThis event will also emit if the `map` property is changed.\n\n### Methods\n- `addLayer(layer: __esri.Layer | Promise<any>, index?: number): Promise<void>` - **Deprecated**: since 4.33, use `element.map.add(layer)` instead.\n\nAdds a layer to the map layers collection.. \n- `addLayers(layers: __esri.Layer[], index?: number): Promise<void>` - **Deprecated**: since 4.33, use `element.map.addMany([layer])` instead.\n\nAdds a layer or array of layers to the map layers collection.. \n- `addTable(table: __esri.FeatureLayer): Promise<void>` - **Deprecated**: since 4.33, use `element.map.tables.add(table)` instead.\n\nAdds a table to the map tables collection.. \n- `addTables(tables: __esri.FeatureLayer[], index?: number): Promise<void>` - **Deprecated**: since 4.33, use `element.map.tables.addMany([table])` instead.\n\nAdds a table or array of tables to the map tables collection.. \n- `closePopup(): Promise<void>` - Closes the popup.\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `destroy(): Promise<void>` - Destroys the view, and any associated resources, including its map, popup, and UI elements.\n- `goTo(target: __esri.GoToTarget2D, options?: __esri.GoToOptions2D): Promise<unknown>` - Sets the view to a given target.\n- `hitTest(screenPoint: __esri.MapViewScreenPoint | MouseEvent, options?: __esri.MapViewHitTestOptions): Promise<__esri.HitTestResult>` - Returns hit test results from each layer that intersects the specified screen coordinates.\n- `openPopup(options?: __esri.PopupViewOpenPopupOptions): Promise<void>` - Opens the popup at the given location with content defined either explicitly with content or driven\nfrom the PopupTemplate of input features.\n- `takeScreenshot(options?: __esri.MapViewTakeScreenshotOptions): Promise<__esri.Screenshot>` - Create a screenshot of the current view.\n- `toMap(screenPoint: __esri.MapViewScreenPoint | MouseEvent): __esri.Point`\n- `toScreen(point: __esri.Point, options?: __esri.ToScreenOptions2D): __esri.MapViewScreenPoint | nullish`\n- `tryFatalErrorRecovery(): Promise<void>` - Call this method to clear any fatal errors resulting from a lost WebGL context.\n- `viewOnReady(callback?: (): void, errback?: (error: Error) => void): Promise<void>` - `viewOnReady()` may be leveraged once an instance of the component and its underlying [view](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-map/#view) is created and ready.\nThis method takes two input parameters, a `callback` function and an `errback` function, and returns a promise. The `callback` executes when the promise resolves, and the `errback` executes if the promise is rejected.\n- `whenLayerView(layer: __esri.Layer): Promise<__esri.LayerView>` - Gets the LayerView created on the view for the given layer.",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-map/",
          "attributes": [
            {
              "name": "auto-destroy-disabled",
              "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-map/#destroy) method when you are done to\nprevent memory leaks.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "basemap",
              "description": "Specifies a basemap for the map. The basemap is a set of layers that give\ngeographic context to the view and the other operational layers\nin the map.\nIt can either be set using a basemap ID string ([see values](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap)),\n[Basemap](https://developers.arcgis.com/javascript/latest/api-reference/esri-Basemap.html)\nor [BasemapStyle](https://developers.arcgis.com/javascript/latest/api-reference/esri-support-BasemapStyle.html).\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap)",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "center",
              "description": "Represents the view's center point; when setting the center, you may pass a\nesri/geometry/Point instance or a string representing\na longitude/latitude pair (`\"-100.4593, 36.9014\"`).\nSetting the center immediately changes the current view.\nFor animating the view, see this component's goTo() method.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "display-filter-disabled",
              "description": "Indicates whether layer's displayFilter are honored when rendering layers in the view.\nIf `false`, display filters are ignored and all features are rendered.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "ground",
              "description": "Specifies the surface properties for the map.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "item-id",
              "description": "The ID of a WebMap from ArcGIS Online or ArcGIS Enterprise portal.\n\nTo configure the portal url you must set the [`portalUrl` property on `config`](https://developers.arcgis.com/javascript/latest/api-reference/esri-config.html#portalUrl) before the Map component loads.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "popup-disabled",
              "description": "Controls whether the popup opens when users click on the view.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "resize-align",
              "description": "Defines which anchor stays still while resizing the browser window. The default, `center`,\nensures the view's center point remains constantly visible as the window size changes. The other\noptions allow  the respective portion of the view to remain visible when the window's size is changed.",
              "default": "\"center\"",
              "value": {
                "type": [
                  "\"bottom\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"center\"",
                  "\"left\"",
                  "\"right\"",
                  "\"top\"",
                  "\"top-left\"",
                  "\"top-right\""
                ]
              }
            },
            {
              "name": "rotation",
              "description": "The clockwise rotation of due north in relation to the top of the view in degrees.\nThe view may be rotated by directly setting\nthe rotation or by using the following mouse event: `Right-click + Drag`.\nMap rotation may be disabled by setting the `rotationEnabled` property\nin [constraints](#constraints) to `false`. See the code snippet below for\nan example of this.",
              "default": "0",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "scale",
              "description": "Represents the map scale at the center of the view. Setting the scale immediately changes the view. For animating\nthe view, see this component's goTo() method.",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "suspended",
              "description": "Indicates if the view is visible on the page.",
              "default": "true",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "time-zone",
              "description": "Defines the time zone of the view.\nThe time zone property determines how dates and times are represented to the user,\nbut the underlying data is unchanged.",
              "default": "\"system\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "zoom",
              "description": "Represents the level of detail (LOD) at the center of the view.\nA zoom level (or scale) is a number that defines how large or small the contents of a map appear in a map view.\nZoom level is a number usually between 0 (global view) and 23 (very detailed view) and is used as a shorthand for predetermined scale values.\nA value of -1 means the view has no LODs.\nWhen setting the zoom value, the MapView converts it to the corresponding scale, or interpolates it if the zoom is a fractional number.\nMapView can display maps with different projections at a full range of scales, and so use the scale property on this component rather than zoom level.\n\nSetting the zoom immediately changes the current view. For animating the view, see this component's goTo() method.\nSetting this property in conjunction with `center` is a convenient way to set the initial extent of the view.",
              "value": {
                "type": "number"
              }
            }
          ],
          "events": [
            {
              "name": "arcgisViewChange",
              "type": "void",
              "description": "This event is for view related property changes: zoom, scale, center, rotation, extent, camera, viewpoint.\nThis event will also emit if stationary toggles from true to false."
            },
            {
              "name": "arcgisViewClick",
              "type": "ViewClickEvent",
              "description": "Fires after a user clicks on the view."
            },
            {
              "name": "arcgisViewDoubleClick",
              "type": "ViewDoubleClickEvent",
              "description": "Fires after double-clicking on the view."
            },
            {
              "name": "arcgisViewDrag",
              "type": "ViewDragEvent",
              "description": "Fires during a pointer drag on the view."
            },
            {
              "name": "arcgisViewHold",
              "type": "ViewHoldEvent",
              "description": "Fires during a pointer drag on the view."
            },
            {
              "name": "arcgisViewImmediateClick",
              "type": "ViewImmediateClickEvent",
              "description": "Fires right after a user clicks on the view."
            },
            {
              "name": "arcgisViewImmediateDoubleClick",
              "type": "ViewImmediateDoubleClickEvent",
              "description": "Is emitted after two consecutive immediate-click events."
            },
            {
              "name": "arcgisViewKeyDown",
              "type": "ViewKeyDownEvent",
              "description": "Fires after a keyboard key is pressed."
            },
            {
              "name": "arcgisViewKeyUp",
              "type": "ViewKeyUpEvent",
              "description": "Fires after a keyboard key is pressed."
            },
            {
              "name": "arcgisViewLayerviewCreate",
              "type": "ViewLayerviewCreateEvent",
              "description": "Fires after each layer in the map has a corresponding LayerView created and rendered in the view."
            },
            {
              "name": "arcgisViewLayerviewCreateError",
              "type": "ViewLayerviewCreateErrorEvent",
              "description": "Fires when an error emits during the creation of a LayerView after a layer has been added to the map."
            },
            {
              "name": "arcgisViewLayerviewDestroy",
              "type": "ViewLayerviewDestroyEvent",
              "description": "Fires after a LayerView is destroyed and is no longer rendered in the view."
            },
            {
              "name": "arcgisViewMouseWheel",
              "type": "ViewMouseWheelEvent",
              "description": "Fires when a wheel button of a pointing device (typically a mouse) is scrolled on the view."
            },
            {
              "name": "arcgisViewPointerDown",
              "type": "ViewPointerDownEvent",
              "description": "Fires after a mouse button is pressed, or a finger touches the display."
            },
            {
              "name": "arcgisViewPointerEnter",
              "type": "ViewPointerEnterEvent",
              "description": "Fires after a mouse cursor enters the view, or a display touch begins."
            },
            {
              "name": "arcgisViewPointerLeave",
              "type": "ViewPointerLeaveEvent",
              "description": "Fires after a mouse cursor leaves the view, or a display touch ends."
            },
            {
              "name": "arcgisViewPointerMove",
              "type": "ViewPointerMoveEvent",
              "description": "Fires after the mouse or a finger on the display moves."
            },
            {
              "name": "arcgisViewPointerUp",
              "type": "ViewPointerUpEvent",
              "description": "Fires after a mouse button is released, or a display touch ends."
            },
            {
              "name": "arcgisViewReadyChange",
              "type": "void",
              "description": "This event is for the `ready` property and will be emitted when the view is ready.\nThis event will also emit if the `map` property is changed."
            }
          ],
          "js": {
            "properties": [
              {
                "name": "allLayerViews",
                "description": "Collection containing a flat list of all the created LayerViews\nrelated to the basemap, operational layers, and group layers in this view.",
                "type": "Collection<LayerView>"
              },
              {
                "name": "autoDestroyDisabled",
                "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-map/#destroy) method when you are done to\nprevent memory leaks.",
                "type": "boolean"
              },
              {
                "name": "background",
                "description": "The background color of the MapView. If the view's map changes, the view's `background` is reset to the map's background,\neven if the user set it previously.",
                "type": "ColorBackground"
              },
              {
                "name": "basemap",
                "description": "Specifies a basemap for the map. The basemap is a set of layers that give\ngeographic context to the view and the other operational layers\nin the map.\nIt can either be set using a basemap ID string ([see values](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap)),\n[Basemap](https://developers.arcgis.com/javascript/latest/api-reference/esri-Basemap.html)\nor [BasemapStyle](https://developers.arcgis.com/javascript/latest/api-reference/esri-support-BasemapStyle.html).\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap)",
                "type": "Basemap | string"
              },
              {
                "name": "basemapView",
                "description": "Represents the view for a single basemap after it has been added to the map.",
                "type": "BasemapView"
              },
              {
                "name": "center",
                "description": "Represents the view's center point; when setting the center, you may pass a\nesri/geometry/Point instance or a string representing\na longitude/latitude pair (`\"-100.4593, 36.9014\"`).\nSetting the center immediately changes the current view.\nFor animating the view, see this component's goTo() method.",
                "type": "Array<number> | Point | string"
              },
              {
                "name": "constraints",
                "description": "Specifies constraints to scale, zoom, and rotation that may be applied to the MapView.",
                "type": "View2DConstraints"
              },
              {
                "name": "displayFilterDisabled",
                "description": "Indicates whether layer's displayFilter are honored when rendering layers in the view.\nIf `false`, display filters are ignored and all features are rendered.",
                "type": "boolean"
              },
              {
                "name": "extent",
                "description": "The extent represents the visible portion of a map within the view as an instance of esri/geometry/Extent.\nSetting the extent immediately changes the view without animation. To animate\nthe view, see this component's goTo() method.\nWhen the view is rotated, the extent does not update to include the newly visible portions of the map.",
                "type": "Extent"
              },
              {
                "name": "fatalError",
                "description": "A rejected view indicates a fatal error making it unable to display.",
                "type": "Error"
              },
              {
                "name": "floors",
                "description": "Applies a display filter on the view for a specific set of floor levels.\nIt can filter the map display on floor-aware layers by zero or more level IDs.",
                "type": "Collection<string>"
              },
              {
                "name": "gamepad",
                "description": "Gamepad input specific configuration settings.",
                "type": "GamepadSettings"
              },
              {
                "name": "graphics",
                "description": "Allows for adding graphics directly to the default graphics in the View.",
                "type": "Collection<Graphic>"
              },
              {
                "name": "ground",
                "description": "Specifies the surface properties for the map.",
                "type": "Ground | string"
              },
              {
                "name": "highlightOptions",
                "description": "Options for configuring the highlight.",
                "type": "HighlightOptions"
              },
              {
                "name": "highlights",
                "description": "The highlights property is a collection of HighlightGroup objects that\nallow you to visually emphasize specific features on the map.",
                "type": "Collection<HighlightOptions>"
              },
              {
                "name": "interacting",
                "description": "Indication whether the view is being interacted with (for example when panning or by an interactive tool).",
                "type": "boolean"
              },
              {
                "name": "ipsInfo",
                "description": "Contains indoor positioning system information for the map.",
                "type": "IPSInfo"
              },
              {
                "name": "itemId",
                "description": "The ID of a WebMap from ArcGIS Online or ArcGIS Enterprise portal.\n\nTo configure the portal url you must set the [`portalUrl` property on `config`](https://developers.arcgis.com/javascript/latest/api-reference/esri-config.html#portalUrl) before the Map component loads.",
                "type": "string"
              },
              {
                "name": "layerViews",
                "description": "A collection containing a hierarchical list of all the created\nesri/views/layers/LayerView LayerViews of the\nesri/Map#layers operational layers in the map.",
                "type": "Collection<LayerView>"
              },
              {
                "name": "magnifier",
                "description": "The magnifier allows for showing a portion of the view as a magnifier image on top of the view.",
                "type": "Magnifier"
              },
              {
                "name": "map",
                "description": "An instance of a esri/Map object to display in the view.",
                "type": "Map"
              },
              {
                "name": "navigating",
                "description": "Indication whether the view is being navigated (for example when panning).",
                "type": "boolean"
              },
              {
                "name": "navigation",
                "description": "Options to configure the navigation behavior of the View.",
                "type": "Navigation"
              },
              {
                "name": "padding",
                "description": "Use the padding property to make the [center](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#center),\nand [extent](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#extent), etc.",
                "type": "ViewPadding"
              },
              {
                "name": "popup",
                "description": "A [Popup](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Popup.html) object that displays general content or attributes from\n[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-View2D.html#map).\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View2D.html#popup)",
                "type": "Popup"
              },
              {
                "name": "popupDisabled",
                "description": "Controls whether the popup opens when users click on the view.",
                "type": "boolean"
              },
              {
                "name": "ready",
                "description": "When `true`, this property indicates whether the view successfully satisfied all dependencies,\nsignaling that the following conditions are met.",
                "type": "boolean"
              },
              {
                "name": "resizeAlign",
                "description": "Defines which anchor stays still while resizing the browser window. The default, `center`,\nensures the view's center point remains constantly visible as the window size changes. The other\noptions allow  the respective portion of the view to remain visible when the window's size is changed.",
                "type": "\"bottom\" | \"bottom-left\" | \"bottom-right\" | \"center\" | \"left\" | \"right\" | \"top\" | \"top-left\" | \"top-right\""
              },
              {
                "name": "resolution",
                "description": "Represents the current value of one pixel in the unit of the view's spatialReference.\nThe value of resolution is calculated by dividing the view's extent width\nby its width.",
                "type": "number"
              },
              {
                "name": "rotation",
                "description": "The clockwise rotation of due north in relation to the top of the view in degrees.\nThe view may be rotated by directly setting\nthe rotation or by using the following mouse event: `Right-click + Drag`.\nMap rotation may be disabled by setting the `rotationEnabled` property\nin [constraints](#constraints) to `false`. See the code snippet below for\nan example of this.",
                "type": "number"
              },
              {
                "name": "scale",
                "description": "Represents the map scale at the center of the view. Setting the scale immediately changes the view. For animating\nthe view, see this component's goTo() method.",
                "type": "number"
              },
              {
                "name": "spatialReference",
                "description": "The spatial reference of the view.\nThis indicates the projected or geographic coordinate system used\nto locate geographic features in the map.",
                "type": "SpatialReference"
              },
              {
                "name": "stationary",
                "description": "Indication whether the view is animating, being navigated with or resizing.",
                "type": "boolean"
              },
              {
                "name": "suspended",
                "description": "Indicates if the view is visible on the page.",
                "type": "boolean"
              },
              {
                "name": "theme",
                "description": "This property specifies the base colors used by some widgets\nand components to render graphics and labels.",
                "type": "Theme"
              },
              {
                "name": "timeExtent",
                "description": "The view's time extent. Time-aware layers display their temporal data that falls within\nthe view's time extent. Setting the view's time extent is similar to setting the spatial\nextent because once the time extent is set, the\nview updates automatically to conform to the change.",
                "type": "TimeExtent"
              },
              {
                "name": "timeZone",
                "description": "Defines the time zone of the view.\nThe time zone property determines how dates and times are represented to the user,\nbut the underlying data is unchanged.",
                "type": "string"
              },
              {
                "name": "updating",
                "description": "Indicates whether the view is being updated by additional data requests to the network,\nor by processing received data.",
                "type": "boolean"
              },
              {
                "name": "view",
                "description": "The [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) instance created and manged by the component. Accessible once the component is fully loaded.",
                "type": "MapView"
              },
              {
                "name": "viewpoint",
                "description": "Represents the current view as a Viewpoint or point of observation on the view.\nSetting the viewpoint immediately changes the current view. For animating\nthe view, see this component's goTo() method.",
                "type": "Viewpoint"
              },
              {
                "name": "visibleArea",
                "description": "The visibleArea represents the visible portion of a [map](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html) within the view as\nan instance of a [Polygon](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Polygon.html).\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View2D.html#visibleArea)",
                "type": "Polygon"
              },
              {
                "name": "zoom",
                "description": "Represents the level of detail (LOD) at the center of the view.\nA zoom level (or scale) is a number that defines how large or small the contents of a map appear in a map view.\nZoom level is a number usually between 0 (global view) and 23 (very detailed view) and is used as a shorthand for predetermined scale values.\nA value of -1 means the view has no LODs.\nWhen setting the zoom value, the MapView converts it to the corresponding scale, or interpolates it if the zoom is a fractional number.\nMapView can display maps with different projections at a full range of scales, and so use the scale property on this component rather than zoom level.\n\nSetting the zoom immediately changes the current view. For animating the view, see this component's goTo() method.\nSetting this property in conjunction with `center` is a convenient way to set the initial extent of the view.",
                "type": "number"
              }
            ],
            "events": [
              {
                "name": "arcgisViewChange",
                "type": "void",
                "description": "This event is for view related property changes: zoom, scale, center, rotation, extent, camera, viewpoint.\nThis event will also emit if stationary toggles from true to false."
              },
              {
                "name": "arcgisViewClick",
                "type": "ViewClickEvent",
                "description": "Fires after a user clicks on the view."
              },
              {
                "name": "arcgisViewDoubleClick",
                "type": "ViewDoubleClickEvent",
                "description": "Fires after double-clicking on the view."
              },
              {
                "name": "arcgisViewDrag",
                "type": "ViewDragEvent",
                "description": "Fires during a pointer drag on the view."
              },
              {
                "name": "arcgisViewHold",
                "type": "ViewHoldEvent",
                "description": "Fires during a pointer drag on the view."
              },
              {
                "name": "arcgisViewImmediateClick",
                "type": "ViewImmediateClickEvent",
                "description": "Fires right after a user clicks on the view."
              },
              {
                "name": "arcgisViewImmediateDoubleClick",
                "type": "ViewImmediateDoubleClickEvent",
                "description": "Is emitted after two consecutive immediate-click events."
              },
              {
                "name": "arcgisViewKeyDown",
                "type": "ViewKeyDownEvent",
                "description": "Fires after a keyboard key is pressed."
              },
              {
                "name": "arcgisViewKeyUp",
                "type": "ViewKeyUpEvent",
                "description": "Fires after a keyboard key is pressed."
              },
              {
                "name": "arcgisViewLayerviewCreate",
                "type": "ViewLayerviewCreateEvent",
                "description": "Fires after each layer in the map has a corresponding LayerView created and rendered in the view."
              },
              {
                "name": "arcgisViewLayerviewCreateError",
                "type": "ViewLayerviewCreateErrorEvent",
                "description": "Fires when an error emits during the creation of a LayerView after a layer has been added to the map."
              },
              {
                "name": "arcgisViewLayerviewDestroy",
                "type": "ViewLayerviewDestroyEvent",
                "description": "Fires after a LayerView is destroyed and is no longer rendered in the view."
              },
              {
                "name": "arcgisViewMouseWheel",
                "type": "ViewMouseWheelEvent",
                "description": "Fires when a wheel button of a pointing device (typically a mouse) is scrolled on the view."
              },
              {
                "name": "arcgisViewPointerDown",
                "type": "ViewPointerDownEvent",
                "description": "Fires after a mouse button is pressed, or a finger touches the display."
              },
              {
                "name": "arcgisViewPointerEnter",
                "type": "ViewPointerEnterEvent",
                "description": "Fires after a mouse cursor enters the view, or a display touch begins."
              },
              {
                "name": "arcgisViewPointerLeave",
                "type": "ViewPointerLeaveEvent",
                "description": "Fires after a mouse cursor leaves the view, or a display touch ends."
              },
              {
                "name": "arcgisViewPointerMove",
                "type": "ViewPointerMoveEvent",
                "description": "Fires after the mouse or a finger on the display moves."
              },
              {
                "name": "arcgisViewPointerUp",
                "type": "ViewPointerUpEvent",
                "description": "Fires after a mouse button is released, or a display touch ends."
              },
              {
                "name": "arcgisViewReadyChange",
                "type": "void",
                "description": "This event is for the `ready` property and will be emitted when the view is ready.\nThis event will also emit if the `map` property is changed."
              }
            ]
          }
        },
        {
          "name": "arcgis-measurement",
          "description": "### Events\n- **arcgisPropertyChange** - Emitted when the value of a property is changed. Use this to listen to changes to properties.\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n\n### Methods\n- `clear(): Promise<void>`\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `destroy(): Promise<void>` - Permanently destroy the component.\n- `startMeasurement(): Promise<void>`",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-measurement/",
          "attributes": [
            {
              "name": "active-tool",
              "description": "Specifies the current measurement tool to display.",
              "default": "null",
              "value": {
                "type": [
                  "\"area\"",
                  "\"direct-line\"",
                  "\"distance\""
                ]
              }
            },
            {
              "name": "area-unit",
              "description": "Unit system (imperial, metric) or specific unit used for displaying the area values.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Measurement.html#areaUnit)",
              "value": {
                "type": [
                  "\"acres\"",
                  "\"ares\"",
                  "\"hectares\"",
                  "\"imperial\"",
                  "\"metric\"",
                  "\"square-centimeters\"",
                  "\"square-decimeters\"",
                  "\"square-feet\"",
                  "\"square-inches\"",
                  "\"square-kilometers\"",
                  "\"square-meters\"",
                  "\"square-miles\"",
                  "\"square-millimeters\"",
                  "\"square-nautical-miles\"",
                  "\"square-us-feet\"",
                  "\"square-yards\""
                ]
              }
            },
            {
              "name": "auto-destroy-disabled",
              "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-measurement/#destroy) method when you are done to\nprevent memory leaks.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "icon",
              "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
              "default": "\"measure\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "label",
              "description": "The widget's default label.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Measurement.html#label)",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "linear-unit",
              "description": "Unit system (imperial, metric) or specific unit used for displaying the distance values.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Measurement.html#linearUnit)",
              "value": {
                "type": [
                  "\"centimeters\"",
                  "\"decimeters\"",
                  "\"feet\"",
                  "\"imperial\"",
                  "\"inches\"",
                  "\"kilometers\"",
                  "\"meters\"",
                  "\"metric\"",
                  "\"miles\"",
                  "\"millimeters\"",
                  "\"nautical-miles\"",
                  "\"us-feet\"",
                  "\"yards\""
                ]
              }
            },
            {
              "name": "position",
              "default": "\"bottom-left\"",
              "value": {
                "type": [
                  "\"bottom-leading\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"bottom-trailing\"",
                  "\"manual\"",
                  "\"top-leading\"",
                  "\"top-left\"",
                  "\"top-right\"",
                  "\"top-trailing\""
                ]
              }
            },
            {
              "name": "reference-element",
              "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "state",
              "description": "The current state of the component.",
              "default": "\"disabled\"",
              "value": {
                "type": [
                  "\"disabled\"",
                  "\"measured\"",
                  "\"measuring\"",
                  "\"ready\""
                ]
              }
            }
          ],
          "events": [
            {
              "name": "arcgisPropertyChange",
              "type": "{ name: \"state\" | \"activeTool\"; }",
              "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
            },
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            }
          ],
          "js": {
            "properties": [
              {
                "name": "activeTool",
                "description": "Specifies the current measurement tool to display.",
                "type": "\"area\" | \"direct-line\" | \"distance\""
              },
              {
                "name": "activeWidget",
                "description": "The measurement widget that is currently being used.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Measurement.html#activeWidget)",
                "type": "AreaMeasurement2D | AreaMeasurement3D | DirectLineMeasurement3D | DistanceMeasurement2D"
              },
              {
                "name": "areaUnit",
                "description": "Unit system (imperial, metric) or specific unit used for displaying the area values.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Measurement.html#areaUnit)",
                "type": "\"acres\" | \"ares\" | \"hectares\" | \"imperial\" | \"metric\" | \"square-centimeters\" | \"square-decimeters\" | \"square-feet\" | \"square-inches\" | \"square-kilometers\" | \"square-meters\" | \"square-miles\" | \"square-millimeters\" | \"square-nautical-miles\" | \"square-us-feet\" | \"square-yards\""
              },
              {
                "name": "autoDestroyDisabled",
                "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-measurement/#destroy) method when you are done to\nprevent memory leaks.",
                "type": "boolean"
              },
              {
                "name": "icon",
                "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
                "type": "string"
              },
              {
                "name": "label",
                "description": "The widget's default label.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Measurement.html#label)",
                "type": "string"
              },
              {
                "name": "linearUnit",
                "description": "Unit system (imperial, metric) or specific unit used for displaying the distance values.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Measurement.html#linearUnit)",
                "type": "\"centimeters\" | \"decimeters\" | \"feet\" | \"imperial\" | \"inches\" | \"kilometers\" | \"meters\" | \"metric\" | \"miles\" | \"millimeters\" | \"nautical-miles\" | \"us-feet\" | \"yards\""
              },
              {
                "name": "position",
                "type": "\"bottom-leading\" | \"bottom-left\" | \"bottom-right\" | \"bottom-trailing\" | \"manual\" | \"top-leading\" | \"top-left\" | \"top-right\" | \"top-trailing\""
              },
              {
                "name": "referenceElement",
                "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
                "type": "HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string"
              },
              {
                "name": "state",
                "description": "The current state of the component.",
                "type": "\"disabled\" | \"measured\" | \"measuring\" | \"ready\""
              }
            ],
            "events": [
              {
                "name": "arcgisPropertyChange",
                "type": "{ name: \"state\" | \"activeTool\"; }",
                "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
              },
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              }
            ]
          }
        },
        {
          "name": "arcgis-navigation-toggle",
          "description": "The Navigation Toggle component can be used to control the navigation mode of a Scene component.\n\nWhen the navigation mode is set to \"pan\" (default), the mouse drag gesture pans the view and right-click + drag allows the user\nto rotate the view. When the navigation mode is set to \"rotate\", the mouse drag gesture rotates the view and\nright-click + drag pans the view.\n\n**Known limitations**\n\nNavigation Toggle is only supported in a 3D [Scene](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-scene/) component.\n--\n\n### Events\n- **arcgisPropertyChange** - Emitted when the value of a property is changed. Use this to listen to changes to properties.\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n\n### Methods\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `toggle(): Promise<void>`",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-navigation-toggle/",
          "attributes": [
            {
              "name": "icon",
              "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "label",
              "description": "The component's default label.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "layout",
              "description": "The layout direction of the component.",
              "default": "\"vertical\"",
              "value": {
                "type": [
                  "\"horizontal\"",
                  "\"vertical\""
                ]
              }
            },
            {
              "name": "navigation-mode",
              "description": "The navigation mode of the view. The possible values:\n\n* `pan` - The mouse drag gesture pans the view. Right-click + drag allows the user to perform a 3D rotate around the center of the view.\n* `rotate` - The mouse drag gesture performs a 3D rotate around the center of the view and the right-click + drag gesture pans the view.",
              "default": "\"pan\"",
              "value": {
                "type": [
                  "\"pan\"",
                  "\"rotate\""
                ]
              }
            },
            {
              "name": "position",
              "default": "\"top-left\"",
              "value": {
                "type": [
                  "\"bottom-leading\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"bottom-trailing\"",
                  "\"manual\"",
                  "\"top-leading\"",
                  "\"top-left\"",
                  "\"top-right\"",
                  "\"top-trailing\""
                ]
              }
            },
            {
              "name": "reference-element",
              "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "state",
              "description": "The current state of the component.",
              "value": {
                "type": [
                  "\"disabled\"",
                  "\"ready\""
                ]
              }
            }
          ],
          "events": [
            {
              "name": "arcgisPropertyChange",
              "type": "{ name: \"state\" | \"layout\"; }",
              "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
            },
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            }
          ],
          "js": {
            "properties": [
              {
                "name": "icon",
                "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
                "type": "string"
              },
              {
                "name": "label",
                "description": "The component's default label.",
                "type": "string"
              },
              {
                "name": "layout",
                "description": "The layout direction of the component.",
                "type": "\"horizontal\" | \"vertical\""
              },
              {
                "name": "messageOverrides",
                "description": "Replace localized message strings with your own strings.\n\n_**Note**: Individual message keys may change between releases._",
                "type": "Record<string, unknown>"
              },
              {
                "name": "navigationMode",
                "description": "The navigation mode of the view. The possible values:\n\n* `pan` - The mouse drag gesture pans the view. Right-click + drag allows the user to perform a 3D rotate around the center of the view.\n* `rotate` - The mouse drag gesture performs a 3D rotate around the center of the view and the right-click + drag gesture pans the view.",
                "type": "\"pan\" | \"rotate\""
              },
              {
                "name": "position",
                "type": "\"bottom-leading\" | \"bottom-left\" | \"bottom-right\" | \"bottom-trailing\" | \"manual\" | \"top-leading\" | \"top-left\" | \"top-right\" | \"top-trailing\""
              },
              {
                "name": "referenceElement",
                "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
                "type": "HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string"
              },
              {
                "name": "state",
                "description": "The current state of the component.",
                "type": "\"disabled\" | \"ready\""
              }
            ],
            "events": [
              {
                "name": "arcgisPropertyChange",
                "type": "{ name: \"state\" | \"layout\"; }",
                "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
              },
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              }
            ]
          }
        },
        {
          "name": "arcgis-oriented-imagery-viewer",
          "description": "The Oriented Imagery Viewer component allows the user to explore and use their oriented images.\n--\n\n### Events\n- **arcgisPropertyChange** - Emitted when the value of a property is changed. Use this to listen to changes to properties.\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n\n### Methods\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `destroy(): Promise<void>` - Permanently destroy the component.",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-oriented-imagery-viewer/",
          "attributes": [
            {
              "name": "auto-destroy-disabled",
              "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-oriented-imagery-viewer/#destroy) method when you are done to\nprevent memory leaks.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "current-coverage-visible",
              "description": "Toggles the visibility of the current footprint polygon associated with the selected image loaded in the viewer.",
              "default": "true",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "data-capture-enabled",
              "description": "Indicates whether the data capture tools are enabled in the oriented imagery viewer for digitization.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "disabled",
              "description": "When `false`, the view click interaction is enabled for the oriented imagery viewer widget.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "gallery-opened",
              "description": "Indicates if the image gallery functionality is available in the widget.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "icon",
              "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
              "default": "\"oriented-imagery-widget\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "image-enhancement-tool-active",
              "description": "Indicates if the image enhancement tool is active.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "image-overlays-opened",
              "description": "Indicates whether the image overlays tab in the oriented imagery viewer is open.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-OrientedImageryViewer.html#imageOverlaysOpened)",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "is-additional-coverage-visible",
              "description": "Indicates if the additional footprint polygons are visible for the selected image loaded in the viewer.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "is-additional-point-sources-visible",
              "description": "Indicates if the additional camera locations are visible for the selected image loaded in the viewer.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "label",
              "description": "The widget's label.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Widget.html#label)",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "map-image-conversion-tool-state",
              "description": "Indicates if the map-image location tool is available in the widget.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "navigation-tool-active",
              "description": "When `true`, the navigation tool is available in the widget.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "oriented-imagery-layer-item-id",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "position",
              "default": "\"bottom-left\"",
              "value": {
                "type": [
                  "\"bottom-leading\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"bottom-trailing\"",
                  "\"manual\"",
                  "\"top-leading\"",
                  "\"top-left\"",
                  "\"top-right\"",
                  "\"top-trailing\""
                ]
              }
            },
            {
              "name": "reference-element",
              "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
              "value": {
                "type": "string"
              }
            }
          ],
          "events": [
            {
              "name": "arcgisPropertyChange",
              "type": "{ name: \"layer\" | \"imageGalleryEnabled\"; }",
              "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
            },
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            }
          ],
          "js": {
            "properties": [
              {
                "name": "autoDestroyDisabled",
                "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-oriented-imagery-viewer/#destroy) method when you are done to\nprevent memory leaks.",
                "type": "boolean"
              },
              {
                "name": "currentCoverageVisible",
                "description": "Toggles the visibility of the current footprint polygon associated with the selected image loaded in the viewer.",
                "type": "boolean"
              },
              {
                "name": "dataCaptureEnabled",
                "description": "Indicates whether the data capture tools are enabled in the oriented imagery viewer for digitization.",
                "type": "boolean"
              },
              {
                "name": "disabled",
                "description": "When `false`, the view click interaction is enabled for the oriented imagery viewer widget.",
                "type": "boolean"
              },
              {
                "name": "galleryOpened",
                "description": "Indicates if the image gallery functionality is available in the widget.",
                "type": "boolean"
              },
              {
                "name": "icon",
                "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
                "type": "string"
              },
              {
                "name": "imageEnhancementToolActive",
                "description": "Indicates if the image enhancement tool is active.",
                "type": "boolean"
              },
              {
                "name": "imageGalleryEnabled",
                "description": "When `true`, the image gallery functionality is available in the widget.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-OrientedImageryViewer.html#imageGalleryEnabled)",
                "type": "boolean"
              },
              {
                "name": "imageOverlaysOpened",
                "description": "Indicates whether the image overlays tab in the oriented imagery viewer is open.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-OrientedImageryViewer.html#imageOverlaysOpened)",
                "type": "boolean"
              },
              {
                "name": "isAdditionalCoverageVisible",
                "description": "Indicates if the additional footprint polygons are visible for the selected image loaded in the viewer.",
                "type": "boolean"
              },
              {
                "name": "isAdditionalPointSourcesVisible",
                "description": "Indicates if the additional camera locations are visible for the selected image loaded in the viewer.",
                "type": "boolean"
              },
              {
                "name": "label",
                "description": "The widget's label.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Widget.html#label)",
                "type": "string"
              },
              {
                "name": "layer",
                "description": "Specifies the current [OrientedImageryLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-OrientedImageryLayer.html) to use.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-OrientedImageryViewer.html#layer)",
                "type": "OrientedImageryLayer"
              },
              {
                "name": "mapImageConversionToolState",
                "description": "Indicates if the map-image location tool is available in the widget.",
                "type": "boolean"
              },
              {
                "name": "navigationToolActive",
                "description": "When `true`, the navigation tool is available in the widget.",
                "type": "boolean"
              },
              {
                "name": "orientedImageryLayerItemId",
                "type": "string"
              },
              {
                "name": "position",
                "type": "\"bottom-leading\" | \"bottom-left\" | \"bottom-right\" | \"bottom-trailing\" | \"manual\" | \"top-leading\" | \"top-left\" | \"top-right\" | \"top-trailing\""
              },
              {
                "name": "referenceElement",
                "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
                "type": "HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string"
              },
              {
                "name": "referencePoint",
                "description": "This property provides the location of an image pixel in Map coordinates when using map-image conversion tool.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-OrientedImageryViewer.html#referencePoint)",
                "type": "Point"
              }
            ],
            "events": [
              {
                "name": "arcgisPropertyChange",
                "type": "{ name: \"layer\" | \"imageGalleryEnabled\"; }",
                "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
              },
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              }
            ]
          }
        },
        {
          "name": "arcgis-placement",
          "description": "The placement component is used to position content relative to the map. This component may be **temporary** until we offer a more robust solution.\n--\n\n### Events\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n\n### Methods\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-placement/",
          "attributes": [
            {
              "name": "position",
              "default": "\"bottom-left\"",
              "value": {
                "type": [
                  "\"bottom-leading\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"bottom-trailing\"",
                  "\"manual\"",
                  "\"top-leading\"",
                  "\"top-left\"",
                  "\"top-right\"",
                  "\"top-trailing\""
                ]
              }
            },
            {
              "name": "reference-element",
              "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
              "value": {
                "type": "string"
              }
            }
          ],
          "events": [
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            }
          ],
          "js": {
            "properties": [
              {
                "name": "position",
                "type": "\"bottom-leading\" | \"bottom-left\" | \"bottom-right\" | \"bottom-trailing\" | \"manual\" | \"top-leading\" | \"top-left\" | \"top-right\" | \"top-trailing\""
              },
              {
                "name": "referenceElement",
                "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
                "type": "HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string"
              }
            ],
            "events": [
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              }
            ]
          }
        },
        {
          "name": "arcgis-print",
          "description": "The Print component connects your application with a [printing service](https://enterprise.arcgis.com/en/portal/latest/administer/windows/configure-the-portal-to-print-maps.htm) to allow the map to be printed.\nIt takes advantage of server-side, high-quality, full cartographic print functionality using the ExportWebMap service of ArcGIS,\nwhich can be configured with custom layout templates. One is provided that shows the map only, while another provides a layout with legend, etc.\nThe Print component works with the [print](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-print.html) module, which generates a printer-ready version of the map.\n\nThe Print component uses the ArcGIS Online print service by default, but it can be configured to use a custom print service with the [printServiceUrl](#printServiceUrl) property.\nThe component can preserve map scale or map extent in the printout. By default, the map extent is preserved. Use\n[TemplateOptions.scaleEnabled](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Print-TemplateOptions.html#scaleEnabled) to preserve scale instead.\n\nThe Print component prints a localized date for all [layouts](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-support-PrintTemplate.html#layout)\nexcept `map-only`. If using a custom print service, then `customTextElements` are supported for each print\ntemplate. Values found there will be populated in the Print component under `Advanced options`. These values can\nbe overwritten in the Print component UI, or programmatically using the\n[templateCustomTextElements](#templateCustomTextElements) property.\n\nFor more information about printing with the `MAP_ONLY` layout, please see\n[exportOptions](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-support-PrintTemplate.html#exportOptions).\n\n**Known limitations**\n\nSee [print](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-print.html) for a detailed list of known limitations.\n\n```html\n<arcgis-map item-id=\"45725ba7d9fb47a0925398919b13d1fa\">\n <arcgis-print position=\"top-right\"></arcgis-print>\n</arcgis-map>\n```\n\n```js\n// get a reference to the component\nconst components = document.querySelectorAll(\"arcgis-print\");\n\nconst portal = new Portal({\n url: \"https://user.maps.arcgis.com/sharing\",\n authMode: \"immediate\",\n authorizedCrossOriginDomains: [\"https://user.maps.arcgis.com\"],\n});\n\ncomponents.forEach((component) => {\n component.portal = portal;\n});\n```\n--\n\n### Events\n- **arcgisComplete** - Emitted when the component is complete.\n- **arcgisPropertyChange** - Emitted when the value of a property is changed. Use this to listen to changes to properties.\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n- **arcgisSubmit** - Emitted when the component is submitted.\n\n### Methods\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `destroy(): Promise<void>` - Permanently destroy the component.",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-print/",
          "attributes": [
            {
              "name": "allowed-formats",
              "description": "Specify the print output file format(s) that the user can select based on the options available from the print service.\nThis property can take a string value or an array of string values.\n\nWhen this value is \"all\" (default value), all the print service formats are available to be used.\nWhen an array of string values is used, only those values that match the options available from the print service will be used.\nIf none of the input string values match those available from the print service, `allowedFormats` will fallback to default behavior.",
              "default": "\"all\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "allowed-formats-for-saving",
              "description": "Specifies the print output file format(s) that the user can select when saving the exported map printout.\nThis property can take a string value or an array of string values.",
              "value": {
                "type": "\"all\""
              }
            },
            {
              "name": "allowed-layouts",
              "description": "Specify the print output layout(s) that the user can select based on the options available from the print service.\nThis property can take a string value or an array of string values.\n\nWhen this value is \"all\" (default value), all the print service layouts are available to be used.\nWhen an array of string values is used, only those values that match the options available from the print service will be used.\nIf none of the input string values match those available from the print service, `allowedLayouts` will fallback to default behavior.",
              "default": "\"all\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "auto-destroy-disabled",
              "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-print/#destroy) method when you are done to\nprevent memory leaks.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "exclude-default-templates",
              "description": "Indicates whether or not to include [defaultTemplates](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Print-PrintViewModel.html#defaultTemplates).",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "exclude-organization-templates",
              "description": "Indicates whether or not to include templates from an organization's portal.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "extra-parameters",
              "description": "This option allows passing extra parameters (in addition to [templateOptions](#templateOptions)) to the print (export webmap) requests.",
              "value": {
                "type": "any"
              }
            },
            {
              "name": "heading-level",
              "description": "Indicates the heading level to use for the \"Exported files\" text where users can\naccess the exported map printout. By default, this text is rendered\nas a level 3 heading (e.g. `<h3>Exported files</h3>`). Depending on the component's placement\nin your app, you may need to adjust this heading for proper semantics. This is\nimportant for meeting accessibility standards.",
              "default": "3",
              "value": {
                "type": [
                  "1",
                  "2",
                  "3",
                  "4",
                  "5",
                  "6"
                ]
              }
            },
            {
              "name": "hide-header",
              "description": "Indicates whether the component's header is hidden.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "icon",
              "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
              "default": "\"print\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "label",
              "description": "The component's default label.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "position",
              "description": "The UI position of a component.",
              "default": "\"top-left\"",
              "value": {
                "type": [
                  "\"bottom-leading\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"bottom-trailing\"",
                  "\"manual\"",
                  "\"top-leading\"",
                  "\"top-left\"",
                  "\"top-right\"",
                  "\"top-trailing\""
                ]
              }
            },
            {
              "name": "print-service-url",
              "description": "The URL of the REST endpoint of the Export Web Map Task.\nDefaults to the ArcGIS Online print service if this property is not specified.\nIf the [portal](#portal) property is set, this property will use the portal's print service URL.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "reference-element",
              "description": "By passing the `id` of the Map or Scene component into this property, you can position components from the `@arcgis/map-components`\npackage anywhere in the DOM while still maintaining a connection to the Map or Scene.\n\nSee [Associate components with a Map or Scene component](https://developers.arcgis.com/javascript/latest/programming-patterns/#associate-components-with-a-map-or-scene-component).",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "show-print-area-enabled",
              "description": "The initial state of the print area toggle in the Print component UI.\nWhen set to `true`, the print area toggle is enabled by default.\nWhen set to `false`, the print area toggle is disabled by default.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "state",
              "description": "The state of the Print component.",
              "default": "\"disabled\"",
              "value": {
                "type": [
                  "\"disabled\"",
                  "\"error\"",
                  "\"initializing\"",
                  "\"ready\""
                ]
              }
            }
          ],
          "events": [
            {
              "name": "arcgisComplete",
              "type": "PrintCompleteEvent",
              "description": "Emitted when the component is complete."
            },
            {
              "name": "arcgisPropertyChange",
              "type": "{ name: \"state\"; }",
              "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
            },
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            },
            {
              "name": "arcgisSubmit",
              "type": "PrintSubmitEvent",
              "description": "Emitted when the component is submitted."
            }
          ],
          "js": {
            "properties": [
              {
                "name": "allowedFormats",
                "description": "Specify the print output file format(s) that the user can select based on the options available from the print service.\nThis property can take a string value or an array of string values.\n\nWhen this value is \"all\" (default value), all the print service formats are available to be used.\nWhen an array of string values is used, only those values that match the options available from the print service will be used.\nIf none of the input string values match those available from the print service, `allowedFormats` will fallback to default behavior.",
                "type": "Array<string> | string"
              },
              {
                "name": "allowedFormatsForSaving",
                "description": "Specifies the print output file format(s) that the user can select when saving the exported map printout.\nThis property can take a string value or an array of string values.",
                "type": "\"all\" | Array<string>"
              },
              {
                "name": "allowedLayouts",
                "description": "Specify the print output layout(s) that the user can select based on the options available from the print service.\nThis property can take a string value or an array of string values.\n\nWhen this value is \"all\" (default value), all the print service layouts are available to be used.\nWhen an array of string values is used, only those values that match the options available from the print service will be used.\nIf none of the input string values match those available from the print service, `allowedLayouts` will fallback to default behavior.",
                "type": "Array<string> | string"
              },
              {
                "name": "autoDestroyDisabled",
                "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-print/#destroy) method when you are done to\nprevent memory leaks.",
                "type": "boolean"
              },
              {
                "name": "browseTemplateButtonOnClick",
                "type": "((() => void))"
              },
              {
                "name": "excludeDefaultTemplates",
                "description": "Indicates whether or not to include [defaultTemplates](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Print-PrintViewModel.html#defaultTemplates).",
                "type": "boolean"
              },
              {
                "name": "excludeOrganizationTemplates",
                "description": "Indicates whether or not to include templates from an organization's portal.",
                "type": "boolean"
              },
              {
                "name": "exportedLinks",
                "description": "The collection of links exported from the Print component.",
                "type": "Collection<FileLink>"
              },
              {
                "name": "extraParameters",
                "description": "This option allows passing extra parameters (in addition to [templateOptions](#templateOptions)) to the print (export webmap) requests.",
                "type": "any"
              },
              {
                "name": "headingLevel",
                "description": "Indicates the heading level to use for the \"Exported files\" text where users can\naccess the exported map printout. By default, this text is rendered\nas a level 3 heading (e.g. `<h3>Exported files</h3>`). Depending on the component's placement\nin your app, you may need to adjust this heading for proper semantics. This is\nimportant for meeting accessibility standards.",
                "type": "1 | 2 | 3 | 4 | 5 | 6"
              },
              {
                "name": "hideHeader",
                "description": "Indicates whether the component's header is hidden.",
                "type": "boolean"
              },
              {
                "name": "icon",
                "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
                "type": "string"
              },
              {
                "name": "label",
                "description": "The component's default label.",
                "type": "string"
              },
              {
                "name": "messageOverrides",
                "description": "Replace localized message strings with your own strings.\n\n_**Note**: Individual message keys may change between releases._",
                "type": "Record<string, unknown>"
              },
              {
                "name": "outSpatialReference",
                "description": "The [spatial reference](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-SpatialReference.html) used to render the printed map on the server.",
                "type": "SpatialReference"
              },
              {
                "name": "portal",
                "description": "It is possible to search a specified portal instance's [locator services](https://enterprise.arcgis.com/en/portal/latest/administer/windows/configure-portal-to-geocode-addresses.htm).\nUse this property to set this [ArcGIS Portal](https://enterprise.arcgis.com/en/portal/) instance to search.\nThis is especially helpful when working with a [custom template](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Print-CustomTemplate.html).\n\nIf this property is set, it is not necessary to set the [printServiceUrl](#printServiceUrl) property.",
                "type": "Portal"
              },
              {
                "name": "position",
                "description": "The UI position of a component.",
                "type": "\"bottom-leading\" | \"bottom-left\" | \"bottom-right\" | \"bottom-trailing\" | \"manual\" | \"top-leading\" | \"top-left\" | \"top-right\" | \"top-trailing\""
              },
              {
                "name": "printServiceUrl",
                "description": "The URL of the REST endpoint of the Export Web Map Task.\nDefaults to the ArcGIS Online print service if this property is not specified.\nIf the [portal](#portal) property is set, this property will use the portal's print service URL.",
                "type": "string"
              },
              {
                "name": "referenceElement",
                "description": "By passing the `id` of the Map or Scene component into this property, you can position components from the `@arcgis/map-components`\npackage anywhere in the DOM while still maintaining a connection to the Map or Scene.\n\nSee [Associate components with a Map or Scene component](https://developers.arcgis.com/javascript/latest/programming-patterns/#associate-components-with-a-map-or-scene-component).",
                "type": "HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string"
              },
              {
                "name": "saveAsButtonCallback",
                "type": "(((exportedLink: FileLink) => Promise<PortalItem>))"
              },
              {
                "name": "showPrintAreaEnabled",
                "description": "The initial state of the print area toggle in the Print component UI.\nWhen set to `true`, the print area toggle is enabled by default.\nWhen set to `false`, the print area toggle is disabled by default.",
                "type": "boolean"
              },
              {
                "name": "state",
                "description": "The state of the Print component.",
                "type": "\"disabled\" | \"error\" | \"initializing\" | \"ready\""
              },
              {
                "name": "templateCustomTextElements",
                "description": "An object containing an array of `customTextElements` name-value pair objects\nfor each print template in a custom print service. Use this property to update\nthe text for custom text elements on the page layout.\n\nThe Print component calls the `Get Layout Templates Info` task on the GPServer\nto discover possible `customTextElements` values for each template. The name of\nthe task must match `Get Layout Templates Info`, templates must be published\nwith `customTextElements`, and values must be strings. Values found there will be\npopulated in the Print component under `Advanced options`. These values can be\noverwritten in the Print component UI, or programmatically using this property.\nTo list all print templates available on the print service to see\nsee which templates were published with `customTextElements`, use the\n[effectiveTemplateCustomTextElements](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Print-PrintViewModel.html#effectiveTemplateCustomTextElements)\nproperty.",
                "type": "{\n    [x: string]: Array<HashMap<string>> | undefined;\n}"
              },
              {
                "name": "templateOptions",
                "description": "Defines the layout template options used by the Print component to generate the print page.",
                "type": "TemplateOptions"
              }
            ],
            "events": [
              {
                "name": "arcgisComplete",
                "type": "PrintCompleteEvent",
                "description": "Emitted when the component is complete."
              },
              {
                "name": "arcgisPropertyChange",
                "type": "{ name: \"state\"; }",
                "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
              },
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              },
              {
                "name": "arcgisSubmit",
                "type": "PrintSubmitEvent",
                "description": "Emitted when the component is submitted."
              }
            ]
          }
        },
        {
          "name": "arcgis-scale-bar",
          "description": "The Scale Bar component displays a scale bar representing the scale of the map.\nIt respects various coordinate systems and displays units in metric or imperial values.\nMetric values show either kilometers, meters, centimeters, or millimeters depending on the scale, and likewise, imperial values show miles, feet, or inches depending on the scale.\nWhen working with Web Mercator or geographic coordinate systems the scale bar takes into account projection distortion and dynamically adjusts the scale bar.\n\nWhen the scale bar is inside the map, the actual location of the scale bar is used to calculate the scale.\nOtherwise, the center of the map is used to calculate the scale.\n\n**Known limitations**\n\n- This component is not currently supported within a Scene component.\n--\n\n### Events\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n\n### Methods\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `destroy(): Promise<void>` - Permanently destroy the component.",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-scale-bar/",
          "attributes": [
            {
              "name": "auto-destroy-disabled",
              "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-scale-bar/#destroy) method when you are done to\nprevent memory leaks.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "bar-style",
              "description": "The style for the scale bar.\nWhen `unit` is set to `dual`, the style will always be `line`.",
              "default": "\"line\"",
              "value": {
                "type": [
                  "\"line\"",
                  "\"ruler\""
                ]
              }
            },
            {
              "name": "icon",
              "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
              "default": "\"actual-size\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "label",
              "description": "The component's default label.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "position",
              "default": "\"top-left\"",
              "value": {
                "type": [
                  "\"bottom-leading\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"bottom-trailing\"",
                  "\"manual\"",
                  "\"top-leading\"",
                  "\"top-left\"",
                  "\"top-right\"",
                  "\"top-trailing\""
                ]
              }
            },
            {
              "name": "reference-element",
              "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "unit",
              "description": "Units to use for the scale bar.\nWhen using `dual`, the scale bar displays both metric and imperial units.\nWhen metric, distances will be shown in either kilometers, meters, centimeters, or millimeters depending on the scale. Similarly, imperial\nunits will be shown in either miles, feet, or inches.",
              "value": {
                "type": [
                  "\"dual\"",
                  "\"imperial\"",
                  "\"metric\""
                ]
              }
            }
          ],
          "events": [
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            }
          ],
          "js": {
            "properties": [
              {
                "name": "autoDestroyDisabled",
                "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-scale-bar/#destroy) method when you are done to\nprevent memory leaks.",
                "type": "boolean"
              },
              {
                "name": "barStyle",
                "description": "The style for the scale bar.\nWhen `unit` is set to `dual`, the style will always be `line`.",
                "type": "\"line\" | \"ruler\""
              },
              {
                "name": "icon",
                "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
                "type": "string"
              },
              {
                "name": "label",
                "description": "The component's default label.",
                "type": "string"
              },
              {
                "name": "messageOverrides",
                "description": "Replace localized message strings with your own strings.\n\n_**Note**: Individual message keys may change between releases._",
                "type": "Record<string, unknown>"
              },
              {
                "name": "position",
                "type": "\"bottom-leading\" | \"bottom-left\" | \"bottom-right\" | \"bottom-trailing\" | \"manual\" | \"top-leading\" | \"top-left\" | \"top-right\" | \"top-trailing\""
              },
              {
                "name": "referenceElement",
                "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
                "type": "HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string"
              },
              {
                "name": "unit",
                "description": "Units to use for the scale bar.\nWhen using `dual`, the scale bar displays both metric and imperial units.\nWhen metric, distances will be shown in either kilometers, meters, centimeters, or millimeters depending on the scale. Similarly, imperial\nunits will be shown in either miles, feet, or inches.",
                "type": "\"dual\" | \"imperial\" | \"metric\""
              }
            ],
            "events": [
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              }
            ]
          }
        },
        {
          "name": "arcgis-scale-range-slider",
          "description": "The Scale Range Slider component allows the user to set a minimum and maximum scale based on named scale ranges.\n--\n\n### Events\n- **arcgisPropertyChange** - Emitted when the value of a property is changed. Use this to listen to changes to properties.\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n\n### Methods\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `destroy(): Promise<void>` - Permanently destroy the component.",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-scale-range-slider/",
          "attributes": [
            {
              "name": "auto-destroy-disabled",
              "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-scale-range-slider/#destroy) method when you are done to\nprevent memory leaks.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "disabled",
              "description": "When `true`, sets the widget to a disabled state so the user cannot interact with it.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-preview",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-scale-menus-max-scale-menu",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-scale-menus-min-scale-menu",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "icon",
              "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
              "default": "\"actual-size\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "label",
              "description": "The widget's default label.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider.html#label)",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "max-scale",
              "description": "The maximum scale of the active scale range.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider.html#maxScale)",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "max-scale-limit",
              "description": "The lowest possible maximum scale value on the slider.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider.html#maxScaleLimit)",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "min-scale",
              "description": "The minimum scale of the active scale range.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider.html#minScale)",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "min-scale-limit",
              "description": "The highest possible minimum scale value on the slider.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider.html#minScaleLimit)",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "mode",
              "description": "The mode of the widget, indicating which slider thumbs can be adjusted.",
              "default": "\"range\"",
              "value": {
                "type": [
                  "\"max-scale-only\"",
                  "\"min-scale-only\"",
                  "\"range\""
                ]
              }
            },
            {
              "name": "position",
              "default": "\"bottom-left\"",
              "value": {
                "type": [
                  "\"bottom-leading\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"bottom-trailing\"",
                  "\"manual\"",
                  "\"top-leading\"",
                  "\"top-left\"",
                  "\"top-right\"",
                  "\"top-trailing\""
                ]
              }
            },
            {
              "name": "reference-element",
              "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "state",
              "description": "The current state of the component.",
              "default": "\"disabled\"",
              "value": {
                "type": [
                  "\"disabled\"",
                  "\"ready\""
                ]
              }
            }
          ],
          "events": [
            {
              "name": "arcgisPropertyChange",
              "type": "{ name: \"state\" | \"maxScale\" | \"minScale\"; }",
              "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
            },
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            }
          ],
          "js": {
            "properties": [
              {
                "name": "autoDestroyDisabled",
                "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-scale-range-slider/#destroy) method when you are done to\nprevent memory leaks.",
                "type": "boolean"
              },
              {
                "name": "disabled",
                "description": "When `true`, sets the widget to a disabled state so the user cannot interact with it.",
                "type": "boolean"
              },
              {
                "name": "hidePreview",
                "type": "boolean"
              },
              {
                "name": "hideScaleMenusMaxScaleMenu",
                "type": "boolean"
              },
              {
                "name": "hideScaleMenusMinScaleMenu",
                "type": "boolean"
              },
              {
                "name": "icon",
                "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
                "type": "string"
              },
              {
                "name": "label",
                "description": "The widget's default label.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider.html#label)",
                "type": "string"
              },
              {
                "name": "layer",
                "description": "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.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider.html#layer)",
                "type": "Layer | Sublayer"
              },
              {
                "name": "maxScale",
                "description": "The maximum scale of the active scale range.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider.html#maxScale)",
                "type": "number"
              },
              {
                "name": "maxScaleLimit",
                "description": "The lowest possible maximum scale value on the slider.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider.html#maxScaleLimit)",
                "type": "number"
              },
              {
                "name": "minScale",
                "description": "The minimum scale of the active scale range.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider.html#minScale)",
                "type": "number"
              },
              {
                "name": "minScaleLimit",
                "description": "The highest possible minimum scale value on the slider.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ScaleRangeSlider.html#minScaleLimit)",
                "type": "number"
              },
              {
                "name": "mode",
                "description": "The mode of the widget, indicating which slider thumbs can be adjusted.",
                "type": "\"max-scale-only\" | \"min-scale-only\" | \"range\""
              },
              {
                "name": "position",
                "type": "\"bottom-leading\" | \"bottom-left\" | \"bottom-right\" | \"bottom-trailing\" | \"manual\" | \"top-leading\" | \"top-left\" | \"top-right\" | \"top-trailing\""
              },
              {
                "name": "referenceElement",
                "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
                "type": "HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string"
              },
              {
                "name": "region",
                "description": "The region that the scale thumbnails will focus on.",
                "type": "SupportedRegion"
              },
              {
                "name": "state",
                "description": "The current state of the component.",
                "type": "\"disabled\" | \"ready\""
              }
            ],
            "events": [
              {
                "name": "arcgisPropertyChange",
                "type": "{ name: \"state\" | \"maxScale\" | \"minScale\"; }",
                "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
              },
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              }
            ]
          }
        },
        {
          "name": "arcgis-scene",
          "description": "The ArcGIS Scene component is used to add 3D maps to web applications. For 2D maps, use the\n[ArcGIS Map component](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-map/).\n\nThe Scene component creates a [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html)\nand loads a [WebScene](https://developers.arcgis.com/javascript/latest/api-reference/esri-WebScene.html) item from either\n[ArcGIS Online](https://www.arcgis.com/home/index.html) or [ArcGIS Enterprise portal](https://enterprise.arcgis.com/en/portal/latest/administer/windows/what-is-portal-for-arcgis-.htm).\n\n```html\n<arcgis-scene item-id=\"e2da7564e4f24eaaa918ffd70378056a\"></arcgis-scene>\n```\n\nAlternatively, the Scene component can be initialized without a WebScene item:\n\n```html\n<arcgis-scene\n basemap=\"satellite\"\n ground=\"world-elevation\"\n camera-position=\"12.3808, 46.3959, 4400\"\n camera-tilt=\"75\"\n camera-heading=\"300\">\n</arcgis-scene>\n```\n\nFurther components can be added and connected to the Scene component:\n\n```html\n<arcgis-scene item-id=\"e2da7564e4f24eaaa918ffd70378056a\">\n  <arcgis-layer-list position=\"bottom-right\"></arcgis-layer-list>\n</arcgis-scene>\n```\n\nThe Scene component can be customized further using any of the [core API functionalities](https://developers.arcgis.com/javascript/latest/api-reference/)\nof the ArcGIS Maps SDK for JavaScript.\n\n```js\nconst viewElement = document.querySelector(\"arcgis-scene\");\nawait viewElement.viewOnReady();\n// The view is now ready to be used.\nconst layer = new GraphicsLayer({ title: \"My layer\"});\nviewElement.map.add(layer);\n```\n\n**See also**\n\n- [SDK sample apps using the Scene component](https://developers.arcgis.com/javascript/latest/sample-code/?tagged=arcgis-scene)\n- [Get started](https://developers.arcgis.com/javascript/latest/get-started/)\n- [Programming patterns](https://developers.arcgis.com/javascript/latest/programming-patterns/)\n--\n\n### Events\n- **arcgisViewAnalysisViewCreate** - Fires when the view for an analysis is created.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-analysis-view-create)\n- **arcgisViewAnalysisViewCreateError** - Fires when an error occurs during the creation of an analysis view after an analysis is added to the view.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-analysis-view-create-error)\n- **arcgisViewAnalysisViewDestroy** - Fires after an analysis view is destroyed.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-analysis-view-destroy)\n- **arcgisViewChange** - This event is for view related property changes: [zoom](#zoom), [scale](#scale), [center](#center), [rotation](#rotation), [extent](#extent),\n[camera](#camera), [viewpoint](#viewpoint). This event will also emit if [stationary](#stationary) toggles from `true` to `false`.\n- **arcgisViewClick** - Fires after a user clicks on the view.\n\n```js\nviewElement.addEventListener(\"arcgisViewClick\", (event) => {\n  viewElement.hitTest(event.detail).then((response) => {\n     const result = response.results[0];\n     // ....\n  });\n});\n```\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-click)\n- **arcgisViewDoubleClick** - Fires after double-clicking on the view.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-double-click)\n- **arcgisViewDrag** - Fires during a pointer drag on the view.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-drag)\n- **arcgisViewHold** - Fires after holding either a mouse button or a single finger on the view for a short amount of time.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-hold)\n- **arcgisViewImmediateClick** - Fires right after a user clicks on the view.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-immediate-click)\n- **arcgisViewImmediateDoubleClick** - Is emitted after two consecutive immediate-click events.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-immediate-double-click)\n- **arcgisViewKeyDown** - Fires after a keyboard key is pressed.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-key-down)\n- **arcgisViewKeyUp** - Fires after a keyboard key is released.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-key-up)\n- **arcgisViewLayerviewCreate** - Fires after each layer in the map has a corresponding LayerView created and rendered in the view.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-layerview-create)\n- **arcgisViewLayerviewCreateError** - Fires when an error emits during the creation of a LayerView after a layer has been added to the map.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-layerview-create-error)\n- **arcgisViewLayerviewDestroy** - Fires after a LayerView is destroyed and is no longer rendered in the view.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-layerview-destroy)\n- **arcgisViewMouseWheel** - Fires when a wheel button of a pointing device (typically a mouse) is scrolled on the view.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-mouse-wheel)\n- **arcgisViewPointerDown** - Fires after a mouse button is pressed, or a finger touches the display.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-pointer-down)\n- **arcgisViewPointerEnter** - Fires after a mouse cursor enters the view, or a display touch begins.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-pointer-enter)\n- **arcgisViewPointerLeave** - Fires after a mouse cursor leaves the view, or a display touch ends.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-pointer-leave)\n- **arcgisViewPointerMove** - Fires after the mouse or a finger on the display moves.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-pointer-move)\n- **arcgisViewPointerUp** - Fires after a mouse button is released, or a display touch ends.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-pointer-up)\n- **arcgisViewReadyChange** - This event is for the [ready](#ready) property and will be emitted when the view is ready.\nThis event will also emit if the [map](#map) property is changed.\n\n### Methods\n- `addLayer(layer: __esri.Layer | Promise<any>, index?: number): Promise<void>` - **Deprecated**: since 4.33, use `element.map.add(layer)` instead.\n\nAdds a layer to the [map's](https://next.sites.afd.arcgis.com/javascript/latest/references/map-components/arcgis-scene/#map) `layers` collection.. \n- `addLayers(layers: __esri.Layer[], index?: number): Promise<void>` - **Deprecated**: since 4.33, use `element.map.addMany([layer])` instead.\n\nAdds a layer or array of layers to the [map's](https://next.sites.afd.arcgis.com/javascript/latest/references/map-components/arcgis-scene/#map) `layers` collection.. \n- `addTable(table: __esri.FeatureLayer): Promise<void>` - **Deprecated**: since 4.33, use `element.map.tables.add(table)` instead.\n\nAdds a table to the [map's](https://next.sites.afd.arcgis.com/javascript/latest/references/map-components/arcgis-scene/#map) `tables` collection.. \n- `addTables(tables: __esri.FeatureLayer[], index?: number): Promise<void>` - **Deprecated**: since 4.33, use `element.map.tables.addMany([table])` instead.\n\nAdds a table or array of tables to the [map's](https://next.sites.afd.arcgis.com/javascript/latest/references/map-components/arcgis-scene/#map) `tables` collection.. \n- `closePopup(): Promise<void>` - Closes the [popup](#popup).\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `destroy(): Promise<void>` - Destroys the Scene component, and any associated resources, including its [map](#map), [popup](#popup),\nand removes components or other UI DOM elements added to it.\n- `goTo(target: __esri.GoToTarget3D, options?: __esri.GoToOptions3D): Promise<unknown>` - Sets the view to a given target.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#goTo)\n- `hitTest(screenPoint: __esri.SceneViewScreenPoint | MouseEvent, options?: __esri.SceneViewHitTestOptions): Promise<__esri.SceneViewHitTestResult>` - Returns [hit test results](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#HitTestResult)\nfrom each layer that intersects the specified screen coordinates.\n\n```js\nviewElement.addEventListener(\"arcgisViewClick\", (event) => {\n  viewElement.hitTest(event.detail).then((response) => {\n     const result = response.results[0];\n     if (result?.type === \"graphic\") {\n        const { longitude, latitude } = result.mapPoint;\n        console.log(\"Hit graphic at (\" + longitude + \", \" + latitude + \")\", result.graphic);\n     } else {\n        console.log(\"Did not hit any graphic\");\n     }\n  });\n});\n```\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#hitTest)\n- `openPopup(options?: __esri.PopupViewOpenPopupOptions): Promise<void>` - Opens the popup based on input options.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#openPopup)\n- `takeScreenshot(options?: __esri.SceneViewTakeScreenshotOptions): Promise<__esri.SceneViewScreenshot>` - Creates a screenshot of the current view.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#takeScreenshot)\n- `toMap(screenPoint: __esri.SceneViewScreenPoint | MouseEvent, options?: __esri.SceneViewToMapOptions): __esri.Point | nullish` - Converts the given screen point to a [map point](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Point.html).\n- `toScreen(point: __esri.Point): __esri.SceneViewScreenPoint` - Converts the given [map point](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Point.html) to a screen point.\n- `tryFatalErrorRecovery(): Promise<void>` - Call this method to clear any fatal errors resulting from a lost WebGL context.\n- `viewOnReady(callback?: (): void, errback?: (error: Error) => void): Promise<void>` - `viewOnReady()` may be leveraged once an instance of the component and its underlying [view](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-scene/#view) is created and ready.\nThis method takes two input parameters, a `callback` function and an `errback` function, and returns a promise. The `callback` executes when the promise resolves, and the `errback` executes if the promise is rejected.\n- `whenAnalysisView(analysis: __esri.AreaMeasurementAnalysis | __esri.DimensionAnalysis | __esri.DirectLineMeasurementAnalysis | __esri.LineOfSightAnalysis | __esri.SliceAnalysis | __esri.ViewshedAnalysis): Promise<__esri.AreaMeasurementAnalysisView3D | __esri.DimensionAnalysisView3D | __esri.DirectLineMeasurementAnalysisView3D | __esri.LineOfSightAnalysisView3D | __esri.SliceAnalysisView3D | __esri.ViewshedAnalysisView3D>` - Gets the analysis view created for the given analysis object.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#whenAnalysisView)\n- `whenLayerView(layer: __esri.Layer): Promise<__esri.LayerView>` - Gets the layer view created on the view for the given layer.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#whenLayerView)",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-scene/",
          "attributes": [
            {
              "name": "alpha-compositing-enabled",
              "description": "Allows the view to be partially or fully transparent when composited with the webpage elements behind it.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "auto-destroy-disabled",
              "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-scene/#destroy) method when you are done to\nprevent memory leaks.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "basemap",
              "description": "Specifies a basemap for the map. The basemap is a set of layers that give\ngeographic context to the view and the other operational layers\nin the map.\nIt can either be set using a basemap ID string ([see values](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap)),\n[Basemap](https://developers.arcgis.com/javascript/latest/api-reference/esri-Basemap.html)\nor [BasemapStyle](https://developers.arcgis.com/javascript/latest/api-reference/esri-support-BasemapStyle.html).\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap)",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "camera-fov",
              "description": "The diagonal field of view (fov) angle for the camera. The range of angles must be between 1 and 170 degrees.\n\nSetting the camera fov immediately changes the current view. For animating the view, see this component's\n[goTo()](#goTo) method.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-Camera.html#fov)",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "camera-heading",
              "description": "The compass heading of the camera in degrees.\n\nSetting the camera heading immediately changes the current view. For animating the view, see this component's\n[goTo()](#goTo) method.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-Camera.html#heading)",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "camera-position",
              "description": "The position of the camera defined by a map point. It can either be set with a\n[Point](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Point.html) instance\nor a string in the format: longitude, latitude, elevation. E.g. `\"12.3808, 46.3959, 4400\"`.\n\nSetting the camera position immediately changes the current view. For animating the view, see this component's\n[goTo()](#goTo) method.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-Camera.html#position)",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "camera-tilt",
              "description": "The tilt of the camera in degrees with respect to the surface as projected down from the camera position.\n\nSetting the camera tilt immediately changes the current view. For animating the view, see this component's\n[goTo()](#goTo) method.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-Camera.html#tilt)",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "center",
              "description": "Represents the center point of the view. It can be a string with the format `\"<longitude>, <latitude>\"`\nor a [Point](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Point.html) instance.\n\nSetting the center immediately changes the current view. For animating the view, see this component's\n[goTo()](#goTo) method.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#center)",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "display-filter-disabled",
              "description": "Indicates whether a layer's `displayFilter` is honored when rendering layers in the view.\nIf `false`, the display filters are ignored and all features are rendered.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "ground",
              "description": "Specifies the surface properties for the [map](#map). It can be either a [Ground](https://developers.arcgis.com/javascript/latest/api-reference/esri-Ground.html)\ninstance or a string with one of the following values:\n   * `\"world-elevation\"`\n   * `\"world-topobathymetry\"`\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#ground)",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "item-id",
              "description": "The ID of a [WebScene](https://developers.arcgis.com/javascript/latest/api-reference/esri-WebScene.html) item from either\n[ArcGIS Online](https://www.arcgis.com/home/index.html) or [ArcGIS Enterprise portal](https://enterprise.arcgis.com/en/portal/latest/administer/windows/what-is-portal-for-arcgis-.htm).\n\nTo configure the portal url you must set the [config.portalUrl](https://next.sites.afd.arcgis.com/javascript/latest/api-reference/esri-config.html#portalUrl) property before the Scene component loads.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "popup-disabled",
              "description": "Controls whether the popup opens when users click on the view.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "quality-profile",
              "description": "Scenes can be drawn in three different quality modes: `high`, `medium` and `low`.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#qualityProfile)",
              "value": {
                "type": [
                  "\"high\"",
                  "\"low\"",
                  "\"medium\""
                ]
              }
            },
            {
              "name": "scale",
              "description": "Represents the map scale at the center of the view.\n\nSetting the scale immediately changes the view. For animating\nthe view, see this component's [goTo()](#goTo) method.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#scale)",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "suspended",
              "description": "Indicates if the view is visible on the page.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#suspended)",
              "default": "true",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "viewing-mode",
              "description": "The viewing mode sets whether the view renders the earth as a sphere (global mode) or on a flat plane (local mode).\n\nNote that the viewing mode must be set before the Scene component loads.\nDepending on the viewing mode different [supported coordinate systems](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#supported-coordinate-systems) are available.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#viewingMode)",
              "default": "\"global\"",
              "value": {
                "type": [
                  "\"global\"",
                  "\"local\""
                ]
              }
            },
            {
              "name": "zoom",
              "description": "Represents the level of detail (LOD) at the center of the view.\n\nSetting the zoom immediately changes the current view. For animating the view, see this component's [goTo()](#goTo) method.\nSetting this property in conjunction with [center](#center)\nis a convenient way to set the initial extent of the view.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#zoom)",
              "value": {
                "type": "number"
              }
            }
          ],
          "events": [
            {
              "name": "arcgisViewAnalysisViewCreate",
              "type": "ViewAnalysisViewCreateEvent",
              "description": "Fires when the view for an analysis is created.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-analysis-view-create)"
            },
            {
              "name": "arcgisViewAnalysisViewCreateError",
              "type": "ViewAnalysisViewCreateErrorEvent",
              "description": "Fires when an error occurs during the creation of an analysis view after an analysis is added to the view.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-analysis-view-create-error)"
            },
            {
              "name": "arcgisViewAnalysisViewDestroy",
              "type": "ViewAnalysisViewDestroyEvent",
              "description": "Fires after an analysis view is destroyed.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-analysis-view-destroy)"
            },
            {
              "name": "arcgisViewChange",
              "type": "void",
              "description": "This event is for view related property changes: [zoom](#zoom), [scale](#scale), [center](#center), [rotation](#rotation), [extent](#extent),\n[camera](#camera), [viewpoint](#viewpoint). This event will also emit if [stationary](#stationary) toggles from `true` to `false`."
            },
            {
              "name": "arcgisViewClick",
              "type": "ViewClickEvent",
              "description": "Fires after a user clicks on the view.\n\n```js\nviewElement.addEventListener(\"arcgisViewClick\", (event) => {\n  viewElement.hitTest(event.detail).then((response) => {\n     const result = response.results[0];\n     // ....\n  });\n});\n```\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-click)"
            },
            {
              "name": "arcgisViewDoubleClick",
              "type": "ViewDoubleClickEvent",
              "description": "Fires after double-clicking on the view.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-double-click)"
            },
            {
              "name": "arcgisViewDrag",
              "type": "ViewDragEvent",
              "description": "Fires during a pointer drag on the view.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-drag)"
            },
            {
              "name": "arcgisViewHold",
              "type": "ViewHoldEvent",
              "description": "Fires after holding either a mouse button or a single finger on the view for a short amount of time.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-hold)"
            },
            {
              "name": "arcgisViewImmediateClick",
              "type": "ViewImmediateClickEvent",
              "description": "Fires right after a user clicks on the view.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-immediate-click)"
            },
            {
              "name": "arcgisViewImmediateDoubleClick",
              "type": "ViewImmediateDoubleClickEvent",
              "description": "Is emitted after two consecutive immediate-click events.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-immediate-double-click)"
            },
            {
              "name": "arcgisViewKeyDown",
              "type": "ViewKeyDownEvent",
              "description": "Fires after a keyboard key is pressed.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-key-down)"
            },
            {
              "name": "arcgisViewKeyUp",
              "type": "ViewKeyUpEvent",
              "description": "Fires after a keyboard key is released.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-key-up)"
            },
            {
              "name": "arcgisViewLayerviewCreate",
              "type": "ViewLayerviewCreateEvent",
              "description": "Fires after each layer in the map has a corresponding LayerView created and rendered in the view.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-layerview-create)"
            },
            {
              "name": "arcgisViewLayerviewCreateError",
              "type": "ViewLayerviewCreateErrorEvent",
              "description": "Fires when an error emits during the creation of a LayerView after a layer has been added to the map.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-layerview-create-error)"
            },
            {
              "name": "arcgisViewLayerviewDestroy",
              "type": "ViewLayerviewDestroyEvent",
              "description": "Fires after a LayerView is destroyed and is no longer rendered in the view.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-layerview-destroy)"
            },
            {
              "name": "arcgisViewMouseWheel",
              "type": "ViewMouseWheelEvent",
              "description": "Fires when a wheel button of a pointing device (typically a mouse) is scrolled on the view.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-mouse-wheel)"
            },
            {
              "name": "arcgisViewPointerDown",
              "type": "ViewPointerDownEvent",
              "description": "Fires after a mouse button is pressed, or a finger touches the display.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-pointer-down)"
            },
            {
              "name": "arcgisViewPointerEnter",
              "type": "ViewPointerEnterEvent",
              "description": "Fires after a mouse cursor enters the view, or a display touch begins.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-pointer-enter)"
            },
            {
              "name": "arcgisViewPointerLeave",
              "type": "ViewPointerLeaveEvent",
              "description": "Fires after a mouse cursor leaves the view, or a display touch ends.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-pointer-leave)"
            },
            {
              "name": "arcgisViewPointerMove",
              "type": "ViewPointerMoveEvent",
              "description": "Fires after the mouse or a finger on the display moves.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-pointer-move)"
            },
            {
              "name": "arcgisViewPointerUp",
              "type": "ViewPointerUpEvent",
              "description": "Fires after a mouse button is released, or a display touch ends.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-pointer-up)"
            },
            {
              "name": "arcgisViewReadyChange",
              "type": "void",
              "description": "This event is for the [ready](#ready) property and will be emitted when the view is ready.\nThis event will also emit if the [map](#map) property is changed."
            }
          ],
          "js": {
            "properties": [
              {
                "name": "allLayerViews",
                "description": "Collection containing a flat list of all the created [LayerViews](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-LayerView.html)\nrelated to the basemap, operational layers, and group layers in this view.",
                "type": "Collection<LayerView>"
              },
              {
                "name": "alphaCompositingEnabled",
                "description": "Allows the view to be partially or fully transparent when composited with the webpage elements behind it.",
                "type": "boolean"
              },
              {
                "name": "analyses",
                "description": "Allows for adding analyses directly to the default analyses in the View.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#analyses)",
                "type": "Collection<AreaMeasurementAnalysis | DimensionAnalysis | DirectLineMeasurementAnalysis | LineOfSightAnalysis | SliceAnalysis | ViewshedAnalysis>"
              },
              {
                "name": "autoDestroyDisabled",
                "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-scene/#destroy) method when you are done to\nprevent memory leaks.",
                "type": "boolean"
              },
              {
                "name": "basemap",
                "description": "Specifies a basemap for the map. The basemap is a set of layers that give\ngeographic context to the view and the other operational layers\nin the map.\nIt can either be set using a basemap ID string ([see values](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap)),\n[Basemap](https://developers.arcgis.com/javascript/latest/api-reference/esri-Basemap.html)\nor [BasemapStyle](https://developers.arcgis.com/javascript/latest/api-reference/esri-support-BasemapStyle.html).\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap)",
                "type": "Basemap | string"
              },
              {
                "name": "basemapView",
                "description": "Represents the [view for a single basemap](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BasemapView.html)\nafter it has been added to the map.",
                "type": "BasemapView"
              },
              {
                "name": "camera",
                "description": "The [camera](https://developers.arcgis.com/javascript/latest/api-reference/esri-Camera.html) allows to set the observation point from which the visible portion (or perspective)\nof the view is determined. When set in the constructor, this property overrides the [center](#center), [extent](#extent), [scale](#scale), [viewpoint](#viewpoint), and [zoom](#zoom) properties.\n\nSetting the camera immediately changes the current view. For animating the view, see this component's\n[goTo()](#goTo) method.",
                "type": "Camera"
              },
              {
                "name": "cameraFov",
                "description": "The diagonal field of view (fov) angle for the camera. The range of angles must be between 1 and 170 degrees.\n\nSetting the camera fov immediately changes the current view. For animating the view, see this component's\n[goTo()](#goTo) method.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-Camera.html#fov)",
                "type": "number"
              },
              {
                "name": "cameraHeading",
                "description": "The compass heading of the camera in degrees.\n\nSetting the camera heading immediately changes the current view. For animating the view, see this component's\n[goTo()](#goTo) method.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-Camera.html#heading)",
                "type": "number"
              },
              {
                "name": "cameraPosition",
                "description": "The position of the camera defined by a map point. It can either be set with a\n[Point](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Point.html) instance\nor a string in the format: longitude, latitude, elevation. E.g. `\"12.3808, 46.3959, 4400\"`.\n\nSetting the camera position immediately changes the current view. For animating the view, see this component's\n[goTo()](#goTo) method.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-Camera.html#position)",
                "type": "Array<number> | Point | string"
              },
              {
                "name": "cameraTilt",
                "description": "The tilt of the camera in degrees with respect to the surface as projected down from the camera position.\n\nSetting the camera tilt immediately changes the current view. For animating the view, see this component's\n[goTo()](#goTo) method.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-Camera.html#tilt)",
                "type": "number"
              },
              {
                "name": "center",
                "description": "Represents the center point of the view. It can be a string with the format `\"<longitude>, <latitude>\"`\nor a [Point](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Point.html) instance.\n\nSetting the center immediately changes the current view. For animating the view, see this component's\n[goTo()](#goTo) method.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#center)",
                "type": "Array<number> | Point | string"
              },
              {
                "name": "clippingArea",
                "description": "Represents an optional clipping area used to define the visible [extent](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Extent.html)\nof a Scene in `local` [viewingMode](#viewingMode).\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#clippingArea)",
                "type": "Extent"
              },
              {
                "name": "constraints",
                "description": "Specifies constraints for the camera's tilt, altitude, and view's clip distance.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#constraints)",
                "type": "SceneViewConstraints"
              },
              {
                "name": "displayFilterDisabled",
                "description": "Indicates whether a layer's `displayFilter` is honored when rendering layers in the view.\nIf `false`, the display filters are ignored and all features are rendered.",
                "type": "boolean"
              },
              {
                "name": "environment",
                "description": "Specifies various properties of the environment's visualization within the view, including lighting, background, weather, and more.\nThe Scene will redraw automatically when any property of environment changes.\n\nModifying the lighting:\n\n```js\nviewElement.environment.lighting = {\n  type: \"sun\", // autocasts as new SunLighting()\n  date: new Date(), // sets the lighting to reflect the current time of day\n  directShadowsEnabled: true,\n};\n```\n\nSetting the background:\n\n```js\nviewElement.environment = {\n background: {\n    type: \"color\",\n    color: [255, 252, 244, 1]\n },\n  starsEnabled: false,\n  atmosphereEnabled: false\n};\n```\n\nChanging the weather in the scene:\n\n```js\nviewElement.environment.weather = {\n  type: \"rainy\", // autocasts as new RainyWeather({ cloudCover: 0.7, precipitation: 0.3 })\n  cloudCover: 0.7,\n  precipitation: 0.3\n};\n```\n\n**See also**\n\n- [SunLighting](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-3d-environment-SunLighting.html)\n- [VirtualLighting](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-3d-environment-VirtualLighting.html)\n- [SunnyWeather](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-3d-environment-SunnyWeather.html)\n- [CloudyWeather](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-3d-environment-CloudyWeather.html)\n- [RainyWeather](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-3d-environment-RainyWeather.html)\n- [SnowyWeather](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-3d-environment-SnowyWeather.html)\n- [FoggyWeather](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-3d-environment-FoggyWeather.html)\n- [Sample - Daylight component](https://developers.arcgis.com/javascript/latest/sample-code/daylight/)\n- [Sample - Weather component](https://developers.arcgis.com/javascript/latest/sample-code/weather/)\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#environment)",
                "type": "SceneViewEnvironment"
              },
              {
                "name": "extent",
                "description": "The extent represents the visible portion of a [map](#map) within the view as an instance of\n[Extent](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Extent.html).\n\nSetting the extent immediately changes the view without animation. To animate\nthe view, see this component's [goTo()](#goTo) method.\nWhen the view is rotated, the extent does not update to include the newly visible portions of the map.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#extent)",
                "type": "Extent"
              },
              {
                "name": "fatalError",
                "description": "A rejected view indicates a fatal [error](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Error.html)\nmaking it unable to display.\n\n[Read more](https://next.sites.afd.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#fatalError)",
                "type": "Error"
              },
              {
                "name": "floors",
                "description": "Applies a display filter on the view for a specific set of floor levels.\nIt can filter the map display on floor-aware layers by zero or more level IDs.",
                "type": "Collection<string>"
              },
              {
                "name": "focusAreas",
                "description": "A container of all [focus areas](https://developers.arcgis.com/javascript/latest/api-reference/esri-effects-FocusAreas.html) present in the map.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#focusAreas)",
                "type": "FocusAreas"
              },
              {
                "name": "gamepad",
                "description": "Gamepad input specific configuration settings.",
                "type": "GamepadSettings"
              },
              {
                "name": "graphics",
                "description": "Allows for adding graphics directly to the default graphics in the view.",
                "type": "Collection<Graphic>"
              },
              {
                "name": "ground",
                "description": "Specifies the surface properties for the [map](#map). It can be either a [Ground](https://developers.arcgis.com/javascript/latest/api-reference/esri-Ground.html)\ninstance or a string with one of the following values:\n   * `\"world-elevation\"`\n   * `\"world-topobathymetry\"`\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#ground)",
                "type": "Ground | string"
              },
              {
                "name": "groundView",
                "description": "The view for the ground of the map.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#groundView)",
                "type": "GroundView"
              },
              {
                "name": "highlightOptions",
                "description": "Options for configuring the highlight.",
                "type": "HighlightOptions"
              },
              {
                "name": "highlights",
                "description": "Represents a collection of [HighlightOptions](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-support-HighlightOptions.html) objects which can be used to\nhighlight features throughout an application.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View.html#highlights)",
                "type": "Collection<HighlightOptions>"
              },
              {
                "name": "interacting",
                "description": "Indication whether the view is being interacted with (for example when panning or by an interactive tool).",
                "type": "boolean"
              },
              {
                "name": "itemId",
                "description": "The ID of a [WebScene](https://developers.arcgis.com/javascript/latest/api-reference/esri-WebScene.html) item from either\n[ArcGIS Online](https://www.arcgis.com/home/index.html) or [ArcGIS Enterprise portal](https://enterprise.arcgis.com/en/portal/latest/administer/windows/what-is-portal-for-arcgis-.htm).\n\nTo configure the portal url you must set the [config.portalUrl](https://next.sites.afd.arcgis.com/javascript/latest/api-reference/esri-config.html#portalUrl) property before the Scene component loads.",
                "type": "string"
              },
              {
                "name": "layerViews",
                "description": "A collection containing a hierarchical list of all the created\n[LayerViews](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-LayerView.html) of the\n[operational layers](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#layers) in the [map](#map).",
                "type": "Collection<LayerView>"
              },
              {
                "name": "magnifier",
                "description": "The magnifier allows for showing a portion of the view as a magnifier image on top of the view.",
                "type": "Magnifier"
              },
              {
                "name": "map",
                "description": "An instance of a [Map](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html) object to display in the view.",
                "type": "Map"
              },
              {
                "name": "navigating",
                "description": "Indication whether the view is being navigated (for example when panning).",
                "type": "boolean"
              },
              {
                "name": "navigation",
                "description": "Options to configure the navigation behavior of the view.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#navigation)",
                "type": "Navigation"
              },
              {
                "name": "padding",
                "description": "Use the padding property to make the [center](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#center),\nand [extent](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#extent),\netc. work off a subsection of the full view.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#padding)",
                "type": "ViewPadding"
              },
              {
                "name": "performanceInfo",
                "description": "This property contains performance information of the view, e.g. global memory usage and additional\ndetails for layers about memory consumption and number of features.",
                "type": "SceneViewPerformanceInfo"
              },
              {
                "name": "popup",
                "description": "A [Popup](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Popup.html)\nobject that displays general content or attributes from [layers](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#layers)\nin the [map](#map).\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#popup)",
                "type": "Popup"
              },
              {
                "name": "popupDisabled",
                "description": "Controls whether the popup opens when users click on the view.",
                "type": "boolean"
              },
              {
                "name": "qualityProfile",
                "description": "Scenes can be drawn in three different quality modes: `high`, `medium` and `low`.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#qualityProfile)",
                "type": "\"high\" | \"low\" | \"medium\""
              },
              {
                "name": "ready",
                "description": "When `true`, this property indicates whether the view successfully satisfied all dependencies,\nsignaling that the necessary conditions are met.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#ready)",
                "type": "boolean"
              },
              {
                "name": "resolution",
                "description": "Represents the current value of one pixel in the unit of the view's\n[spatialReference](#spatialReference).\nThe resolution is calculated by dividing the [Scene's extent](#extent) [width](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Extent.html#width)\nby [its width](#width).",
                "type": "number"
              },
              {
                "name": "scale",
                "description": "Represents the map scale at the center of the view.\n\nSetting the scale immediately changes the view. For animating\nthe view, see this component's [goTo()](#goTo) method.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#scale)",
                "type": "number"
              },
              {
                "name": "spatialReference",
                "description": "The [spatial reference](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-SpatialReference.html) of the view.\nThis indicates the projected or geographic coordinate system used\nto locate geographic features in the map.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#spatialReference)",
                "type": "SpatialReference"
              },
              {
                "name": "stationary",
                "description": "Indication whether the view is animating, being navigated with or resizing.",
                "type": "boolean"
              },
              {
                "name": "suspended",
                "description": "Indicates if the view is visible on the page.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#suspended)",
                "type": "boolean"
              },
              {
                "name": "theme",
                "description": "This property specifies the base colors used by some components to render graphics and labels.\nThis only affects those elements that would otherwise use the default orange pattern.",
                "type": "Theme"
              },
              {
                "name": "timeExtent",
                "description": "The view's time extent. Time-aware layers display their temporal data that falls within\nthe view's time extent. Setting the view's time extent is similar to setting the spatial\nextent because once the time extent is set, the\nview updates automatically to conform to the change.",
                "type": "TimeExtent"
              },
              {
                "name": "updating",
                "description": "Indicates whether the view is being updated by additional data requests to the network,\nor by processing received data.",
                "type": "boolean"
              },
              {
                "name": "view",
                "description": "The [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html) instance created and managed by the component. Accessible once the component is fully loaded.",
                "type": "SceneView"
              },
              {
                "name": "viewingMode",
                "description": "The viewing mode sets whether the view renders the earth as a sphere (global mode) or on a flat plane (local mode).\n\nNote that the viewing mode must be set before the Scene component loads.\nDepending on the viewing mode different [supported coordinate systems](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#supported-coordinate-systems) are available.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#viewingMode)",
                "type": "\"global\" | \"local\""
              },
              {
                "name": "viewpoint",
                "description": "Represents the current view as a [Viewpoint](https://developers.arcgis.com/javascript/latest/api-reference/esri-Viewpoint.html)\nor point of observation on the view.\n\nSetting the viewpoint immediately changes the current view. For animating\nthe view, see this component's [goTo()](#goTo) method.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#viewpoint)",
                "type": "Viewpoint"
              },
              {
                "name": "visibleArea",
                "description": "The visibleArea represents the visible portion of a [map](#map) within the view as an instance of a\n[Polygon](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Polygon.html).\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#visibleArea)",
                "type": "Polygon"
              },
              {
                "name": "zoom",
                "description": "Represents the level of detail (LOD) at the center of the view.\n\nSetting the zoom immediately changes the current view. For animating the view, see this component's [goTo()](#goTo) method.\nSetting this property in conjunction with [center](#center)\nis a convenient way to set the initial extent of the view.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#zoom)",
                "type": "number"
              }
            ],
            "events": [
              {
                "name": "arcgisViewAnalysisViewCreate",
                "type": "ViewAnalysisViewCreateEvent",
                "description": "Fires when the view for an analysis is created.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-analysis-view-create)"
              },
              {
                "name": "arcgisViewAnalysisViewCreateError",
                "type": "ViewAnalysisViewCreateErrorEvent",
                "description": "Fires when an error occurs during the creation of an analysis view after an analysis is added to the view.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-analysis-view-create-error)"
              },
              {
                "name": "arcgisViewAnalysisViewDestroy",
                "type": "ViewAnalysisViewDestroyEvent",
                "description": "Fires after an analysis view is destroyed.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-analysis-view-destroy)"
              },
              {
                "name": "arcgisViewChange",
                "type": "void",
                "description": "This event is for view related property changes: [zoom](#zoom), [scale](#scale), [center](#center), [rotation](#rotation), [extent](#extent),\n[camera](#camera), [viewpoint](#viewpoint). This event will also emit if [stationary](#stationary) toggles from `true` to `false`."
              },
              {
                "name": "arcgisViewClick",
                "type": "ViewClickEvent",
                "description": "Fires after a user clicks on the view.\n\n```js\nviewElement.addEventListener(\"arcgisViewClick\", (event) => {\n  viewElement.hitTest(event.detail).then((response) => {\n     const result = response.results[0];\n     // ....\n  });\n});\n```\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-click)"
              },
              {
                "name": "arcgisViewDoubleClick",
                "type": "ViewDoubleClickEvent",
                "description": "Fires after double-clicking on the view.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-double-click)"
              },
              {
                "name": "arcgisViewDrag",
                "type": "ViewDragEvent",
                "description": "Fires during a pointer drag on the view.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-drag)"
              },
              {
                "name": "arcgisViewHold",
                "type": "ViewHoldEvent",
                "description": "Fires after holding either a mouse button or a single finger on the view for a short amount of time.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-hold)"
              },
              {
                "name": "arcgisViewImmediateClick",
                "type": "ViewImmediateClickEvent",
                "description": "Fires right after a user clicks on the view.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-immediate-click)"
              },
              {
                "name": "arcgisViewImmediateDoubleClick",
                "type": "ViewImmediateDoubleClickEvent",
                "description": "Is emitted after two consecutive immediate-click events.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-immediate-double-click)"
              },
              {
                "name": "arcgisViewKeyDown",
                "type": "ViewKeyDownEvent",
                "description": "Fires after a keyboard key is pressed.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-key-down)"
              },
              {
                "name": "arcgisViewKeyUp",
                "type": "ViewKeyUpEvent",
                "description": "Fires after a keyboard key is released.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-key-up)"
              },
              {
                "name": "arcgisViewLayerviewCreate",
                "type": "ViewLayerviewCreateEvent",
                "description": "Fires after each layer in the map has a corresponding LayerView created and rendered in the view.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-layerview-create)"
              },
              {
                "name": "arcgisViewLayerviewCreateError",
                "type": "ViewLayerviewCreateErrorEvent",
                "description": "Fires when an error emits during the creation of a LayerView after a layer has been added to the map.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-layerview-create-error)"
              },
              {
                "name": "arcgisViewLayerviewDestroy",
                "type": "ViewLayerviewDestroyEvent",
                "description": "Fires after a LayerView is destroyed and is no longer rendered in the view.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-layerview-destroy)"
              },
              {
                "name": "arcgisViewMouseWheel",
                "type": "ViewMouseWheelEvent",
                "description": "Fires when a wheel button of a pointing device (typically a mouse) is scrolled on the view.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-mouse-wheel)"
              },
              {
                "name": "arcgisViewPointerDown",
                "type": "ViewPointerDownEvent",
                "description": "Fires after a mouse button is pressed, or a finger touches the display.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-pointer-down)"
              },
              {
                "name": "arcgisViewPointerEnter",
                "type": "ViewPointerEnterEvent",
                "description": "Fires after a mouse cursor enters the view, or a display touch begins.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-pointer-enter)"
              },
              {
                "name": "arcgisViewPointerLeave",
                "type": "ViewPointerLeaveEvent",
                "description": "Fires after a mouse cursor leaves the view, or a display touch ends.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-pointer-leave)"
              },
              {
                "name": "arcgisViewPointerMove",
                "type": "ViewPointerMoveEvent",
                "description": "Fires after the mouse or a finger on the display moves.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-pointer-move)"
              },
              {
                "name": "arcgisViewPointerUp",
                "type": "ViewPointerUpEvent",
                "description": "Fires after a mouse button is released, or a display touch ends.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-pointer-up)"
              },
              {
                "name": "arcgisViewReadyChange",
                "type": "void",
                "description": "This event is for the [ready](#ready) property and will be emitted when the view is ready.\nThis event will also emit if the [map](#map) property is changed."
              }
            ]
          }
        },
        {
          "name": "arcgis-search",
          "description": "The Search component provides a way to perform search operations on locator service(s), map/feature service feature layer(s), SceneLayers with an associated feature layer,\nBuildingComponentSublayer with an associated feature layer, GeoJSONLayer, CSVLayer, OGCFeatureLayer, and/or table(s). If using a locator with a geocoding service, the\nfindAddressCandidates operation is used, whereas queries are used on feature layers.\n\nBy default, the Search component uses the ArcGIS World Geocoding Service via this URL: `https://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer`.\nIf a global apiKey is present, the Search component uses this URL: `https://geocode-api.arcgis.com/arcgis/rest/services/World/GeocodeServer`. If an apiKey\nis present on the LocatorSearchSource, then the Search component uses the URL defined by the LocatorSearchSource.url property.\n\nThe Search component sets the view on the Search result. The level of detail (LOD) at the center of the view depends on the data source, with higher quality data\nsources returning extents closer to the `feature` obtained from the search. To manually define the scale of the view at the Search result, use the `zoomScale` property\nof the LocatorSearchSource or LayerSearchSource. Search component results are typically sorted according to their relevance to the search and their relative importance.\nHowever, when the scale of the MapView or SceneView is less than or equal to 300,000, the operations support prioritization of candidates based on their distance from a\nspecified point (the center of the view) by passing in the `location parameter`. Features closest to the input location show up higher in the list of results.\nThis behavior can be changed by using the localSearchDisabled property.\n--\n\n### Events\n- **arcgisPropertyChange** - Emitted when the value of a property is changed. Use this to listen to changes to properties.\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n- **arcgisSearchClear** - Fires when a result is cleared from the input box or a new result is selected.\n- **arcgisSearchComplete** - Fires when the [search()](#search) method is called and returns its results.\n- **arcgisSearchStart** - Fires when the [search()](#search) method starts.\n- **arcgisSelectResult** - Fires when a search result is selected.\n- **arcgisSuggestComplete** - Fires when the [suggest](#suggest) method is called and returns its results.\n- **arcgisSuggestStart** - Fires when the [suggest()](#suggest) method starts.\n\n### Methods\n- `clear(): void` - Clears the current searchTerm, search results, suggest results, graphic, and graphics layer.\nIt also hides any open menus.\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `destroy(): Promise<void>` - Permanently destroy the component.\n- `search(searchItem?: __esri.Graphic | __esri.Point | __esri.SuggestResult | Nil | number[] | string): Promise<__esri.SearchResponse | Nil>` - Depending on the sources specified, search() queries the feature layer(s) and/or performs\naddress matching using any specified [locator(s)](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-locator.html) and\nreturns any applicable results.\n- `setFocus(): Promise<void>` - Brings focus to the component's text input.\n- `suggest(query?: string): Promise<__esri.SuggestResponse | Nil>` - Performs a suggest() request on the active Locator. It also uses the current value of\nthe component or one that is passed in.\n\nSuggestions are available if working with a 10.3 or greater geocoding service that has\n[suggest capability\nloaded](https://developers.arcgis.com/rest/geocode/api-reference/geocoding-suggest.htm) or a 10.3 or greater feature layer that supports pagination, i.e.\n`supportsPagination = true`.",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-search/",
          "attributes": [
            {
              "name": "active-menu",
              "description": "The current active menu of the Search component.",
              "default": "\"none\"",
              "value": {
                "type": [
                  "\"none\"",
                  "\"source\"",
                  "\"suggestion\""
                ]
              }
            },
            {
              "name": "active-source-index",
              "description": "The selected source's index. This value is `-1` when all sources are selected.",
              "default": "0",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "all-placeholder",
              "description": "String value used as a hint for input text when searching on multiple sources. See\nthe image below to view the location and style of this text in the context of the component.\n\n![search-allPlaceholder](https://developers.arcgis.com/javascript/latest/assets/img/apiref/widgets/search-allplaceholder.png)",
              "default": "\"Find address or place\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "auto-destroy-disabled",
              "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-search/#destroy) method when you are done to\nprevent memory leaks.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "auto-navigate-disabled",
              "description": "Indicates whether to automatically navigate to the selected result.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "auto-select-disabled",
              "description": "Indicates whether to automatically select and zoom to the first geocoded result. If `false`, the\n[findAddressCandidates](https://developers.arcgis.com/rest/geocode/api-reference/geocoding-find-address-candidates.htm)\noperation will still geocode the input string, but the top result will not be selected. To work with the\ngeocoded results, you can set up a [search-complete](#event-search-complete) event handler and get the results\nthrough the event object.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "disabled",
              "description": "When true, the component is visually withdrawn and cannot be interacted with.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "icon",
              "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
              "default": "\"search\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "include-default-sources-disabled",
              "description": "Indicates whether or not to include [defaultSources](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search-SearchViewModel.html#defaultSources) in the Search UI.\nThis can be a boolean value or a function that returns an array of Search [sources](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search-SearchViewModel.html#sources).",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "label",
              "description": "The component's default label.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "location-disabled",
              "description": "Enables location services within the component.\n\n![locationEnabled](https://developers.arcgis.com/javascript/latest/assets/img/apiref/widgets/search-locationEnabled.png)\n\n::: esri-md class=\"warning\"\nThe use of this property is only supported on secure origins.\nTo use it, switch your application to a secure origin, such as HTTPS.\nNote that localhost is considered \"potentially secure\" and can be used for easy testing in browsers that supports\n[Window.isSecureContext](https://developer.mozilla.org/en-US/docs/Web/API/isSecureContext#browser_compatibility)\n(currently Chrome and Firefox).\n:::",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "max-results",
              "description": "The maximum number of results returned by the component if not specified by the source.",
              "default": "6",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "max-suggestions",
              "description": "The maximum number of suggestions returned by the component if not specified by the source.\n\nIf working with the default\n[ArcGIS Online Geocoding service](https://developers.arcgis.com/rest/geocode/api-reference/overview-world-geocoding-service.htm),\nthe default remains at `5`.",
              "default": "6",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "min-suggest-characters",
              "description": "The minimum number of characters needed for the search if not specified by the source.",
              "default": "3",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "popup-disabled",
              "description": "Indicates whether to display the [Popup](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Popup.html) on feature click. The graphic can\nbe clicked to display a [Popup](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Popup.html).",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "position",
              "default": "\"top-left\"",
              "value": {
                "type": [
                  "\"bottom-leading\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"bottom-trailing\"",
                  "\"manual\"",
                  "\"top-leading\"",
                  "\"top-left\"",
                  "\"top-right\"",
                  "\"top-trailing\""
                ]
              }
            },
            {
              "name": "reference-element",
              "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "result-graphic-disabled",
              "description": "Indicates if the [resultGraphic](#resultGraphic) will display at the\nlocation of the selected feature.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "search-all-disabled",
              "description": "Indicates whether to display the option to search all sources. When `true`, the \"All\" option\nis displayed by default:\n\n![search-searchAllEnabled-true](https://developers.arcgis.com/javascript/latest/assets/img/apiref/widgets/search-enablesearchingall-true.png)\n\nWhen `false`, no option to search all sources at once is available:\n\n![search-searchAllEnabled-false](https://developers.arcgis.com/javascript/latest/assets/img/apiref/widgets/search-enablesearchingall-false.png)",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "search-term",
              "description": "The value of the search box input text string.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "state",
              "description": "The current state of the component.",
              "default": "\"ready\"",
              "value": {
                "type": [
                  "\"disabled\"",
                  "\"loading\"",
                  "\"ready\"",
                  "\"searching\""
                ]
              }
            },
            {
              "name": "suggestions-disabled",
              "description": "Enable suggestions for the component.\n\nThis is only available if working with a 10.3 or greater geocoding service that has [suggest capability\nloaded](https://developers.arcgis.com/rest/geocode/api-reference/geocoding-suggest.htm) or a 10.3 or greater feature layer that supports pagination, i.e. `supportsPagination = true`.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            }
          ],
          "events": [
            {
              "name": "arcgisPropertyChange",
              "type": "{ name: \"state\"; }",
              "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
            },
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            },
            {
              "name": "arcgisSearchClear",
              "type": "SearchViewModelSearchClearEvent",
              "description": "Fires when a result is cleared from the input box or a new result is selected."
            },
            {
              "name": "arcgisSearchComplete",
              "type": "SearchViewModelSearchCompleteEvent",
              "description": "Fires when the [search()](#search) method is called and returns its results."
            },
            {
              "name": "arcgisSearchStart",
              "type": "SearchViewModelSearchStartEvent",
              "description": "Fires when the [search()](#search) method starts."
            },
            {
              "name": "arcgisSelectResult",
              "type": "SearchViewModelSelectResultEvent",
              "description": "Fires when a search result is selected."
            },
            {
              "name": "arcgisSuggestComplete",
              "type": "SearchViewModelSuggestCompleteEvent",
              "description": "Fires when the [suggest](#suggest) method is called and returns its results."
            },
            {
              "name": "arcgisSuggestStart",
              "type": "SearchViewModelSuggestStartEvent",
              "description": "Fires when the [suggest()](#suggest) method starts."
            }
          ],
          "js": {
            "properties": [
              {
                "name": "activeMenu",
                "description": "The current active menu of the Search component.",
                "type": "\"none\" | \"source\" | \"suggestion\""
              },
              {
                "name": "activeSource",
                "description": "The [source](#sources) object currently selected. Can be either a\n[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).",
                "type": "LayerSearchSource | LocatorSearchSource"
              },
              {
                "name": "activeSourceIndex",
                "description": "The selected source's index. This value is `-1` when all sources are selected.",
                "type": "number"
              },
              {
                "name": "allPlaceholder",
                "description": "String value used as a hint for input text when searching on multiple sources. See\nthe image below to view the location and style of this text in the context of the component.\n\n![search-allPlaceholder](https://developers.arcgis.com/javascript/latest/assets/img/apiref/widgets/search-allplaceholder.png)",
                "type": "string"
              },
              {
                "name": "allSources",
                "description": "The combined collection of [defaultSources](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search-SearchViewModel.html#defaultSources)\nand [sources](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search-SearchViewModel.html#sources).\nThe [defaultSources](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search-SearchViewModel.html#defaultSources)\ndisplays first in the Search UI.",
                "type": "Collection<LayerSearchSource | LocatorSearchSource>"
              },
              {
                "name": "autoDestroyDisabled",
                "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-search/#destroy) method when you are done to\nprevent memory leaks.",
                "type": "boolean"
              },
              {
                "name": "autoNavigateDisabled",
                "description": "Indicates whether to automatically navigate to the selected result.",
                "type": "boolean"
              },
              {
                "name": "autoSelectDisabled",
                "description": "Indicates whether to automatically select and zoom to the first geocoded result. If `false`, the\n[findAddressCandidates](https://developers.arcgis.com/rest/geocode/api-reference/geocoding-find-address-candidates.htm)\noperation will still geocode the input string, but the top result will not be selected. To work with the\ngeocoded results, you can set up a [search-complete](#event-search-complete) event handler and get the results\nthrough the event object.",
                "type": "boolean"
              },
              {
                "name": "defaultSources",
                "description": "A read-only property that is a [Collection](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Collection.html)\nof [LayerSearchSource](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search-LayerSearchSource.html)\nand/or [LocatorSearchSource](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search-LocatorSearchSource.html). This property\nmay contain [ArcGIS Portal](https://enterprise.arcgis.com/en/portal/)\n[locators](http://enterprise.arcgis.com/en/server/latest/publish-services/windows/geocode-services.htm)\nand any web map or web scene [configurable search sources](http://doc.arcgis.com/en/arcgis-online/create-maps/configure-feature-search.htm).\nWeb maps or web scenes may contain\n[map](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-MapImageLayer.html)/[feature](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html) service feature\nlayer(s), and/or [table(s)](https://developers.arcgis.com/javascript/latest/api-reference/esri-webdoc-applicationProperties-SearchTable.html) as sources.\n\nThis property is used to populate the Search UI if the [sources](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search-SearchViewModel.html#sources) property is not set.",
                "type": "Collection<LayerSearchSource | LocatorSearchSource>"
              },
              {
                "name": "disabled",
                "description": "When true, the component is visually withdrawn and cannot be interacted with.",
                "type": "boolean"
              },
              {
                "name": "goToOverride",
                "description": "This function provides the ability to override either the\n[MapView goTo()](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#goTo) or\n[SceneView goTo()](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#goTo) methods.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search-SearchViewModel.html#goToOverride)",
                "type": "(((view: MapView | SceneView, goToParameters: GoToParameters) => void))"
              },
              {
                "name": "icon",
                "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
                "type": "string"
              },
              {
                "name": "includeDefaultSourcesDisabled",
                "description": "Indicates whether or not to include [defaultSources](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search-SearchViewModel.html#defaultSources) in the Search UI.\nThis can be a boolean value or a function that returns an array of Search [sources](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search-SearchViewModel.html#sources).",
                "type": "Function | boolean"
              },
              {
                "name": "label",
                "description": "The component's default label.",
                "type": "string"
              },
              {
                "name": "locationDisabled",
                "description": "Enables location services within the component.\n\n![locationEnabled](https://developers.arcgis.com/javascript/latest/assets/img/apiref/widgets/search-locationEnabled.png)\n\n::: esri-md class=\"warning\"\nThe use of this property is only supported on secure origins.\nTo use it, switch your application to a secure origin, such as HTTPS.\nNote that localhost is considered \"potentially secure\" and can be used for easy testing in browsers that supports\n[Window.isSecureContext](https://developer.mozilla.org/en-US/docs/Web/API/isSecureContext#browser_compatibility)\n(currently Chrome and Firefox).\n:::",
                "type": "boolean"
              },
              {
                "name": "maxResults",
                "description": "The maximum number of results returned by the component if not specified by the source.",
                "type": "number"
              },
              {
                "name": "maxSuggestions",
                "description": "The maximum number of suggestions returned by the component if not specified by the source.\n\nIf working with the default\n[ArcGIS Online Geocoding service](https://developers.arcgis.com/rest/geocode/api-reference/overview-world-geocoding-service.htm),\nthe default remains at `5`.",
                "type": "number"
              },
              {
                "name": "messageOverrides",
                "description": "Replace localized message strings with your own strings.\n\n_**Note**: Individual message keys may change between releases._",
                "type": "Record<string, unknown>"
              },
              {
                "name": "minSuggestCharacters",
                "description": "The minimum number of characters needed for the search if not specified by the source.",
                "type": "number"
              },
              {
                "name": "popupDisabled",
                "description": "Indicates whether to display the [Popup](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Popup.html) on feature click. The graphic can\nbe clicked to display a [Popup](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Popup.html).",
                "type": "boolean"
              },
              {
                "name": "popupTemplate",
                "description": "A customized [PopupTemplate](https://developers.arcgis.com/javascript/latest/api-reference/esri-PopupTemplate.html) for the selected feature.\nNote that any [templates](https://developers.arcgis.com/javascript/latest/api-reference/esri-PopupTemplate.html)\ndefined on [allSources](#allSources) take precedence over those defined directly on the template.",
                "type": "PopupTemplate"
              },
              {
                "name": "portal",
                "description": "It is possible to search a specified portal instance's [locator services](http://enterprise.arcgis.com/en/portal/latest/administer/windows/configure-portal-to-geocode-addresses.htm)\nUse this property to set this [ArcGIS Portal](https://enterprise.arcgis.com/en/portal/) instance to search.",
                "type": "Portal"
              },
              {
                "name": "position",
                "type": "\"bottom-leading\" | \"bottom-left\" | \"bottom-right\" | \"bottom-trailing\" | \"manual\" | \"top-leading\" | \"top-left\" | \"top-right\" | \"top-trailing\""
              },
              {
                "name": "referenceElement",
                "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
                "type": "HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string"
              },
              {
                "name": "resultGraphic",
                "description": "The graphic used to highlight the resulting feature or location.\n\n:::esri-md class=\"panel trailer-1\"\nA graphic will be placed in the View's\n[graphics](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View.html#graphics)\nfor [layer](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-LayerView.html)\nthat do not support the `highlight` method.\n:::",
                "type": "Graphic"
              },
              {
                "name": "resultGraphicDisabled",
                "description": "Indicates if the [resultGraphic](#resultGraphic) will display at the\nlocation of the selected feature.",
                "type": "boolean"
              },
              {
                "name": "results",
                "description": "An array of objects, each containing a [SearchResult](#SearchResult) from the search.",
                "type": "Array<SearchResults>"
              },
              {
                "name": "searchAllDisabled",
                "description": "Indicates whether to display the option to search all sources. When `true`, the \"All\" option\nis displayed by default:\n\n![search-searchAllEnabled-true](https://developers.arcgis.com/javascript/latest/assets/img/apiref/widgets/search-enablesearchingall-true.png)\n\nWhen `false`, no option to search all sources at once is available:\n\n![search-searchAllEnabled-false](https://developers.arcgis.com/javascript/latest/assets/img/apiref/widgets/search-enablesearchingall-false.png)",
                "type": "boolean"
              },
              {
                "name": "searchTerm",
                "description": "The value of the search box input text string.",
                "type": "string"
              },
              {
                "name": "selectedResult",
                "description": "The result selected from a search.",
                "type": "SearchResult"
              },
              {
                "name": "sources",
                "description": "The Search component may be used to search features in a\n[map](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-MapImageLayer.html)/[feature](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html) service feature\nlayer(s), [SceneLayers](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-SceneLayer.html) with an associated feature layer,\n[BuildingComponentSublayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-buildingSublayers-BuildingComponentSublayer.html) with an associated feature layer,\n[GeoJSONLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-GeoJSONLayer.html), [CSVLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-CSVLayer.html) or\n[OGCFeatureLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-OGCFeatureLayer.html), or [table](https://developers.arcgis.com/javascript/latest/api-reference/esri-webdoc-applicationProperties-SearchTable.html),\nor geocode locations with a [locator](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-locator.html). The `sources` property defines the sources from which\nto search for the [view](#view) specified by the Search component instance. There are two types of sources:\n\n* [LayerSearchSource](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search-LayerSearchSource.html)\n* [LocatorSearchSource](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search-LocatorSearchSource.html)\n\nAny combination of these sources may be used\ntogether in the same instance of the Search component.\n\n::: esri-md class=\"warning\"\nFeature layers created from client-side graphics are not supported.\n:::",
                "type": "Collection<LayerSearchSource | LocatorSearchSource>"
              },
              {
                "name": "state",
                "description": "The current state of the component.",
                "type": "\"disabled\" | \"loading\" | \"ready\" | \"searching\""
              },
              {
                "name": "suggestions",
                "description": "An array of results from the [suggest method](#suggest).\n\nThis is available if working with a 10.3 or greater geocoding service that has [suggest capability\nloaded](https://developers.arcgis.com/rest/geocode/api-reference/geocoding-suggest.htm) or a\n10.3 or greater feature layer that supports pagination, i.e. `supportsPagination = true`.",
                "type": "Array<SuggestResults>"
              },
              {
                "name": "suggestionsDisabled",
                "description": "Enable suggestions for the component.\n\nThis is only available if working with a 10.3 or greater geocoding service that has [suggest capability\nloaded](https://developers.arcgis.com/rest/geocode/api-reference/geocoding-suggest.htm) or a 10.3 or greater feature layer that supports pagination, i.e. `supportsPagination = true`.",
                "type": "boolean"
              }
            ],
            "events": [
              {
                "name": "arcgisPropertyChange",
                "type": "{ name: \"state\"; }",
                "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
              },
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              },
              {
                "name": "arcgisSearchClear",
                "type": "SearchViewModelSearchClearEvent",
                "description": "Fires when a result is cleared from the input box or a new result is selected."
              },
              {
                "name": "arcgisSearchComplete",
                "type": "SearchViewModelSearchCompleteEvent",
                "description": "Fires when the [search()](#search) method is called and returns its results."
              },
              {
                "name": "arcgisSearchStart",
                "type": "SearchViewModelSearchStartEvent",
                "description": "Fires when the [search()](#search) method starts."
              },
              {
                "name": "arcgisSelectResult",
                "type": "SearchViewModelSelectResultEvent",
                "description": "Fires when a search result is selected."
              },
              {
                "name": "arcgisSuggestComplete",
                "type": "SearchViewModelSuggestCompleteEvent",
                "description": "Fires when the [suggest](#suggest) method is called and returns its results."
              },
              {
                "name": "arcgisSuggestStart",
                "type": "SearchViewModelSuggestStartEvent",
                "description": "Fires when the [suggest()](#suggest) method starts."
              }
            ]
          }
        },
        {
          "name": "arcgis-search-result-renderer",
          "description": "The Search Result Renderer renders the Search component results and allows expanding a DOM element to show alternative matches.\nThese alternative matches appear in the Show more results link.\n--\n\n### Events\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n\n### Methods\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `destroy(): Promise<void>` - Permanently destroy the component.",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-search-result-renderer/",
          "attributes": [
            {
              "name": "auto-destroy-disabled",
              "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-search-result-renderer/#destroy) method when you are done to\nprevent memory leaks.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            }
          ],
          "events": [
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            }
          ],
          "js": {
            "properties": [
              {
                "name": "autoDestroyDisabled",
                "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-search-result-renderer/#destroy) method when you are done to\nprevent memory leaks.",
                "type": "boolean"
              },
              {
                "name": "messages",
                "type": "({\n    componentLabel?: string | undefined;\n    searchButtonTitle?: string | undefined;\n    placeholder?: string | undefined;\n    searchIn?: string | undefined;\n    all?: string | undefined;\n    allPlaceholder?: string | undefined;\n    locateError?: string | undefined;\n    untitledResult?: string | undefined;\n    untitledSource?: string | undefined;\n    noResults?: string | undefined;\n    noResultsFound?: string | undefined;\n    noResultsFoundForValue?: string | undefined;\n    showMoreResults?: string | undefined;\n    hideMoreResults?: string | undefined;\n    searchResult?: string | undefined;\n    moreResultsHeader?: string | undefined;\n    useCurrentLocation?: string | undefined;\n} & {\n    _lang: string;\n    _t9nLocale: \"id\" | \"el\" | \"hr\" | \"th\" | \"tr\" | \"sl\" | \"it\" | \"ca\" | \"de\" | \"fi\" | \"ar\" | \"da\" | \"vi\" | \"pl\" | \"et\" | \"bs\" | \"sk\" | \"es\" | \"en\" | \"ru\" | \"ro\" | \"no\" | \"lt\" | \"cs\" | \"he\" | \"fr\" | \"sv\" | \"bg\" | \"lv\" | \"nl\" | \"sr\" | \"hu\" | \"ja\" | \"ko\" | \"nb\" | \"pt-BR\" | \"pt-PT\" | \"uk\" | \"zh-CN\" | \"zh-HK\" | \"zh-TW\";\n    _loading: boolean;\n    _overrides: {\n        componentLabel?: string | undefined;\n        searchButtonTitle?: string | undefined;\n        placeholder?: string | undefined;\n        searchIn?: string | undefined;\n        all?: string | undefined;\n        allPlaceholder?: string | undefined;\n        locateError?: string | undefined;\n        untitledResult?: string | undefined;\n        untitledSource?: string | undefined;\n        noResults?: string | undefined;\n        noResultsFound?: string | undefined;\n        noResultsFoundForValue?: string | undefined;\n        showMoreResults?: string | undefined;\n        hideMoreResults?: string | undefined;\n        searchResult?: string | undefined;\n        moreResultsHeader?: string | undefined;\n        useCurrentLocation?: string | undefined;\n    };\n    _original?: {\n        componentLabel: string;\n        searchButtonTitle: string;\n        placeholder: string;\n        searchIn: string;\n        all: string;\n        allPlaceholder: string;\n        locateError: string;\n        untitledResult: string;\n        untitledSource: string;\n        noResults: string;\n        noResultsFound: string;\n        noResultsFoundForValue: string;\n        showMoreResults: string;\n        hideMoreResults: string;\n        searchResult: string;\n        moreResultsHeader: string;\n        useCurrentLocation: string;\n    } | undefined;\n})"
              },
              {
                "name": "viewModel",
                "type": "SearchViewModel"
              }
            ],
            "events": [
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              }
            ]
          }
        },
        {
          "name": "arcgis-shadow-cast",
          "description": "The Shadow Cast component displays the cumulative shadows of 3D features in a [Scene](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-scene/).\nThis type of analysis is helpful in urban development, where new projects have to satisfy certain shadow duration constraints.\n\nThe component calculates the cumulative shadows for a time range during a single day. The user can\nconfigure the time range and select a calendar date. This time range and calendar date are only used\nfor the shadow analysis and are not connected to the lighting in the scene.\nTo control the lighting in the scene, the [Daylight](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-daylight/) component can be used.\nChanging the timezone in the component updates the visualization by interpreting the time range as being\nin that timezone. This behavior is different from the [Daylight](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-daylight/) component,\nwhere selecting a timezone updates the [environment lighting's](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-scene/#environment) date and time according to the camera position.\n\nThe component provides three [visualization modes](#visualizationType): threshold, duration, and discrete mode.\n\nIn the **threshold** mode, only the areas that receive\nshadows for more than a certain amount of time are displayed. In the image below, on May 1, 2021 the red areas receive\nshadow for more than 4 hours within the time interval of 10AM to 4PM.\n\n[![threshold mode](https://developers.arcgis.com/javascript/latest/assets/img/apiref/widgets/shadow-cast/shadow-cast-threshold.png)](https://developers.arcgis.com/javascript/latest/sample-code/shadow-cast/)\n\n**Total shadow duration** mode displays the duration of the cumulative shadow using opacity: areas that don't\nreceive any shadow are fully transparent and areas that receive a maximum amount of shadow have a default opacity\nof 0.7. The values in between are interpolated. Hovering over the Scene will display a tooltip showing the\namount of time that location is in shadow, rounded to 15-minute intervals. In this mode, the visualization\ncan display shadow cast in a continuous way or in 1-hour intervals.\n\n[![duration mode](https://developers.arcgis.com/javascript/latest/assets/img/apiref/widgets/shadow-cast/shadow-cast-duration.png)](https://developers.arcgis.com/javascript/latest/sample-code/shadow-cast/)\n\n**Discrete shadows** is a third visualization mode which displays individual shadows at a given time interval.\nFor example, setting the time range to 10AM-11AM and the visualization time interval to 30 minutes will display\nshadows for 10AM, 10:30AM and 11:00AM.\n\n[![discrete mode](https://developers.arcgis.com/javascript/latest/assets/img/apiref/widgets/shadow-cast/shadow-cast-discrete.png)](https://developers.arcgis.com/javascript/latest/sample-code/shadow-cast/)\n\nThe defaults for the time range and visualization settings can be changed using the [startTimeOfDay](#startTimeOfDay), [endTimeOfDay](#endTimeOfDay), and [visualizationType](#visualizationType) properties.\n\n**Known limitations**\n\n* Shadow Cast is only supported in a 3D [Scene](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-scene/) component.\n* Terrain does not cast shadows and it is therefore not taken into account in this analysis.\n* The component does not take into account the daylight savings.\nUse the timezone dropdown to adjust the offset from the Coordinated Universal Time (UTC) and account for the daylight saving time.\n* The timezone is automatically detected by the component based on the camera location. In some situations, this might not be accurate.\nIn case of an inaccurate timezone, users can set it manually using the timezone dropdown.\n\n**See also**\n\n- [Sample - Shadow cast component](https://developers.arcgis.com/javascript/latest/sample-code/shadow-cast/)\n--\n\n### Events\n- **arcgisPropertyChange** - Emitted when the value of a property is changed. Use this to listen to changes to properties.\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n\n### Methods\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `destroy(): Promise<void>` - Permanently destroy the component.\n- `getDuration(point: __esri.Point): Promise<number>` - Returns the time (in milliseconds) spent in shadow for a certain point on the screen.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ShadowCast-ShadowCastViewModel.html#getDuration)\n- `start(): Promise<void>` - Starts the component. While running, it will automatically perform shadow accumulation.\n- `stop(): Promise<void>` - Stops the component.",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-shadow-cast/",
          "attributes": [
            {
              "name": "auto-destroy-disabled",
              "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-shadow-cast/#destroy) method when you are done to\nprevent memory leaks.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "date",
              "description": "The calendar date used to calculate the shadow cast. This date excludes the time. If a date with a time is set, the time value will be set to midnight (`00:00:00`) of that date in local system time.\nIf no date is set, then it defaults to the current date in local system time.\n\n_See also_\n\n* [Date](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/Date)",
              "value": {
                "type": [
                  "number",
                  "string"
                ]
              }
            },
            {
              "name": "end-time-of-day",
              "description": "Time (in milliseconds from midnight of the [date](#date)) when the shadow cast computation should stop.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ShadowCast-ShadowCastViewModel.html#endTimeOfDay)",
              "default": "16 * 3600 * 1000",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "heading-level",
              "description": "Indicates the heading level to use for the titles \"Time range\" and \"Visualization\".",
              "default": "4",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "hide-color-picker",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-date-picker",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-threshold-context",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-threshold-context-color",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-threshold-context-time-interval",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-threshold-context-toggle",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-time-range-slider",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-timezone",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-tooltip",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-visualization-options",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "icon",
              "description": "Icon which represents the component. Typically used when the component is controlled by another component (e.g. by the Expand component).\n\nSee also: [Calcite Icons](https://developers.arcgis.com/calcite-design-system/icons/)",
              "default": "\"measure-building-height-shadow\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "label",
              "description": "The component's default label.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "position",
              "default": "\"bottom-left\"",
              "value": {
                "type": [
                  "\"bottom-leading\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"bottom-trailing\"",
                  "\"manual\"",
                  "\"top-leading\"",
                  "\"top-left\"",
                  "\"top-right\"",
                  "\"top-trailing\""
                ]
              }
            },
            {
              "name": "reference-element",
              "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "start-time-of-day",
              "description": "Time (in milliseconds from midnight of the [date](#date)) when the shadow cast computation should start.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ShadowCast-ShadowCastViewModel.html#startTimeOfDay)",
              "default": "10 * 3600 * 1000",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "state",
              "description": "The component's state. The values mean the following:\n\n* `disabled` -  component is being created\n* `ready` - component is ready",
              "default": "\"disabled\"",
              "value": {
                "type": [
                  "\"disabled\"",
                  "\"ready\""
                ]
              }
            },
            {
              "name": "utc-offset",
              "description": "The difference in hours between UTC time and the times displayed in the component.",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "visualization-type",
              "description": "Type of visualization to use when showing the shadows. There are 3 types of visualization:\n* `threshold` - only displays areas that receive shadows for a period longer than a given threshold value\n* `duration` - displays all areas that receive shadows either in a continuous mode or in 1 hour time intervals\n* `discrete` - displays individual shadows cast at a given time interval",
              "default": "\"threshold\"",
              "value": {
                "type": [
                  "\"discrete\"",
                  "\"duration\"",
                  "\"threshold\""
                ]
              }
            }
          ],
          "events": [
            {
              "name": "arcgisPropertyChange",
              "type": "{ name: \"state\"; }",
              "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
            },
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            }
          ],
          "js": {
            "properties": [
              {
                "name": "autoDestroyDisabled",
                "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-shadow-cast/#destroy) method when you are done to\nprevent memory leaks.",
                "type": "boolean"
              },
              {
                "name": "date",
                "description": "The calendar date used to calculate the shadow cast. This date excludes the time. If a date with a time is set, the time value will be set to midnight (`00:00:00`) of that date in local system time.\nIf no date is set, then it defaults to the current date in local system time.\n\n_See also_\n\n* [Date](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/Date)",
                "type": "Date | number | string"
              },
              {
                "name": "discreteOptions",
                "description": "The configuration used when the component's [visualizationType](#visualizationType)\nis set to \"discrete\".\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ShadowCast-DiscreteOptions.html)",
                "type": "DiscreteOptions"
              },
              {
                "name": "durationOptions",
                "description": "The configuration used when the component's [visualizationType](#visualizationType)\nis set to \"duration\".\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ShadowCast-DurationOptions.html)",
                "type": "DurationOptions"
              },
              {
                "name": "endTimeOfDay",
                "description": "Time (in milliseconds from midnight of the [date](#date)) when the shadow cast computation should stop.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ShadowCast-ShadowCastViewModel.html#endTimeOfDay)",
                "type": "number"
              },
              {
                "name": "headingLevel",
                "description": "Indicates the heading level to use for the titles \"Time range\" and \"Visualization\".",
                "type": "number"
              },
              {
                "name": "hideColorPicker",
                "type": "boolean"
              },
              {
                "name": "hideDatePicker",
                "type": "boolean"
              },
              {
                "name": "hideThresholdContext",
                "type": "boolean"
              },
              {
                "name": "hideThresholdContextColor",
                "type": "boolean"
              },
              {
                "name": "hideThresholdContextTimeInterval",
                "type": "boolean"
              },
              {
                "name": "hideThresholdContextToggle",
                "type": "boolean"
              },
              {
                "name": "hideTimeRangeSlider",
                "type": "boolean"
              },
              {
                "name": "hideTimezone",
                "type": "boolean"
              },
              {
                "name": "hideTooltip",
                "type": "boolean"
              },
              {
                "name": "hideVisualizationOptions",
                "type": "boolean"
              },
              {
                "name": "icon",
                "description": "Icon which represents the component. Typically used when the component is controlled by another component (e.g. by the Expand component).\n\nSee also: [Calcite Icons](https://developers.arcgis.com/calcite-design-system/icons/)",
                "type": "string"
              },
              {
                "name": "label",
                "description": "The component's default label.",
                "type": "string"
              },
              {
                "name": "position",
                "type": "\"bottom-leading\" | \"bottom-left\" | \"bottom-right\" | \"bottom-trailing\" | \"manual\" | \"top-leading\" | \"top-left\" | \"top-right\" | \"top-trailing\""
              },
              {
                "name": "referenceElement",
                "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
                "type": "HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string"
              },
              {
                "name": "startTimeOfDay",
                "description": "Time (in milliseconds from midnight of the [date](#date)) when the shadow cast computation should start.\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ShadowCast-ShadowCastViewModel.html#startTimeOfDay)",
                "type": "number"
              },
              {
                "name": "state",
                "description": "The component's state. The values mean the following:\n\n* `disabled` -  component is being created\n* `ready` - component is ready",
                "type": "\"disabled\" | \"ready\""
              },
              {
                "name": "thresholdOptions",
                "description": "The configuration used when the component's [visualizationType](#visualizationType)\nis set to \"threshold\".\n\n[Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ShadowCast-ThresholdOptions.html)",
                "type": "ThresholdOptions"
              },
              {
                "name": "utcOffset",
                "description": "The difference in hours between UTC time and the times displayed in the component.",
                "type": "number"
              },
              {
                "name": "visualizationType",
                "description": "Type of visualization to use when showing the shadows. There are 3 types of visualization:\n* `threshold` - only displays areas that receive shadows for a period longer than a given threshold value\n* `duration` - displays all areas that receive shadows either in a continuous mode or in 1 hour time intervals\n* `discrete` - displays individual shadows cast at a given time interval",
                "type": "\"discrete\" | \"duration\" | \"threshold\""
              }
            ],
            "events": [
              {
                "name": "arcgisPropertyChange",
                "type": "{ name: \"state\"; }",
                "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
              },
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              }
            ]
          }
        },
        {
          "name": "arcgis-sketch",
          "description": "The Sketch component provides a simple UI for creating and updating graphics on a [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) or a [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html).\n--\n\n### Events\n- **arcgisCreate**\n- **arcgisDelete**\n- **arcgisPropertyChange** - Emitted when the value of a property is changed. Use this to listen to changes to properties.\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n- **arcgisRedo**\n- **arcgisUndo**\n- **arcgisUpdate**\n\n### Methods\n- `cancel(): Promise<void>`\n- `complete(): Promise<void>`\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `create(tool: \"circle\" | \"point\" | \"polygon\" | \"polyline\" | \"rectangle\", createOptions?: __esri.SketchViewModelCreateCreateOptions): Promise<void>`\n- `delete(): Promise<void>`\n- `destroy(): Promise<void>` - Permanently destroy the component.\n- `duplicate(): Promise<void>`\n- `redo(): Promise<void>`\n- `triggerUpdate(graphic: __esri.Graphic | __esri.Graphic[], updateOptions?: __esri.SketchViewModelUpdateUpdateOptions): Promise<void>`\n- `undo(): Promise<void>`",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-sketch/",
          "attributes": [
            {
              "name": "active-tool",
              "description": "When creating new graphics (for example after [create()](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Sketch.html#create) has been called),\nthis property reflects the create tool being used.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Sketch.html#activeTool)",
              "value": {
                "type": [
                  "\"circle\"",
                  "\"custom-selection\"",
                  "\"freehandPolygon\"",
                  "\"freehandPolyline\"",
                  "\"lasso-selection\"",
                  "\"mesh\"",
                  "\"move\"",
                  "\"multipoint\"",
                  "\"point\"",
                  "\"polygon\"",
                  "\"polyline\"",
                  "\"rectangle\"",
                  "\"rectangle-selection\"",
                  "\"reshape\"",
                  "\"transform\""
                ]
              }
            },
            {
              "name": "auto-destroy-disabled",
              "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-sketch/#destroy) method when you are done to\nprevent memory leaks.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "creation-mode",
              "description": "Defines the default behavior once the [create](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Sketch.html#create) operation is completed.",
              "default": "\"continuous\"",
              "value": {
                "type": [
                  "\"continuous\"",
                  "\"single\"",
                  "\"update\""
                ]
              }
            },
            {
              "name": "default-graphics-layer-disabled",
              "description": "By default, sketch will auto-create a new graphics layer if none was\nprovided. Set this prop to true to disable this behavior.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-create-tools-circle",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-create-tools-point",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-create-tools-polygon",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-create-tools-polyline",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-create-tools-rectangle",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-delete-button",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-duplicate-button",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-labels-toggle",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-selection-count-label",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-selection-tools-lasso-selection",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-selection-tools-rectangle-selection",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-settings-menu",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-snapping-controls",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-snapping-controls-elements-enabled-toggle",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-snapping-controls-elements-feature-enabled-toggle",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-snapping-controls-elements-layer-list",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-snapping-controls-elements-self-enabled-toggle",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-tooltips-toggle",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-undo-redo-menu",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "icon",
              "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
              "default": "\"pencil\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "label",
              "description": "The Sketch widget's default label.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Sketch.html#label)",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "layout",
              "description": "Determines the layout/orientation of the Sketch widget.",
              "default": "\"horizontal\"",
              "value": {
                "type": [
                  "\"horizontal\"",
                  "\"vertical\""
                ]
              }
            },
            {
              "name": "position",
              "default": "\"bottom-left\"",
              "value": {
                "type": [
                  "\"bottom-leading\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"bottom-trailing\"",
                  "\"manual\"",
                  "\"top-leading\"",
                  "\"top-left\"",
                  "\"top-right\"",
                  "\"top-trailing\""
                ]
              }
            },
            {
              "name": "reference-element",
              "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "scale",
              "description": "Determines the size of widget elements.",
              "default": "\"m\"",
              "value": {
                "type": [
                  "\"l\"",
                  "\"m\"",
                  "\"s\""
                ]
              }
            },
            {
              "name": "show-snapping-controls-elements-header",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "state",
              "description": "The current state of the component.",
              "value": {
                "type": [
                  "\"active\"",
                  "\"disabled\"",
                  "\"ready\""
                ]
              }
            },
            {
              "name": "toolbar-kind",
              "description": "Controls the appearance of the sketch widget, allowing\nthe toolbar to adapt its appearance appropriately based on context.",
              "default": "\"floating\"",
              "value": {
                "type": [
                  "\"docked\"",
                  "\"floating\""
                ]
              }
            }
          ],
          "events": [
            {
              "name": "arcgisCreate",
              "type": "SketchCreateEvent"
            },
            {
              "name": "arcgisDelete",
              "type": "SketchDeleteEvent"
            },
            {
              "name": "arcgisPropertyChange",
              "type": "{ name: \"state\"; }",
              "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
            },
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            },
            {
              "name": "arcgisRedo",
              "type": "SketchRedoEvent"
            },
            {
              "name": "arcgisUndo",
              "type": "SketchUndoEvent"
            },
            {
              "name": "arcgisUpdate",
              "type": "SketchUpdateEvent"
            }
          ],
          "js": {
            "properties": [
              {
                "name": "activeTool",
                "description": "When creating new graphics (for example after [create()](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Sketch.html#create) has been called),\nthis property reflects the create tool being used.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Sketch.html#activeTool)",
                "type": "\"circle\" | \"custom-selection\" | \"freehandPolygon\" | \"freehandPolyline\" | \"lasso-selection\" | \"mesh\" | \"move\" | \"multipoint\" | \"point\" | \"polygon\" | \"polyline\" | \"rectangle\" | \"rectangle-selection\" | \"reshape\" | \"transform\""
              },
              {
                "name": "autoDestroyDisabled",
                "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-sketch/#destroy) method when you are done to\nprevent memory leaks.",
                "type": "boolean"
              },
              {
                "name": "availableCreateTools",
                "description": "Property controlling the visibility and order of create tool buttons.",
                "type": "Array<\"rectangle\" | \"polygon\" | \"point\" | \"circle\" | \"multipoint\" | \"polyline\" | \"mesh\" | \"freehandPolyline\" | \"freehandPolygon\">"
              },
              {
                "name": "createGraphic",
                "description": "The graphic that is being created.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Sketch.html#createGraphic)",
                "type": "Graphic"
              },
              {
                "name": "creationMode",
                "description": "Defines the default behavior once the [create](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Sketch.html#create) operation is completed.",
                "type": "\"continuous\" | \"single\" | \"update\""
              },
              {
                "name": "defaultCreateOptions",
                "description": "Default create options set for the Sketch widget.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Sketch.html#defaultCreateOptions)",
                "type": "SketchDefaultCreateOptions"
              },
              {
                "name": "defaultGraphicsLayerDisabled",
                "description": "By default, sketch will auto-create a new graphics layer if none was\nprovided. Set this prop to true to disable this behavior.",
                "type": "boolean"
              },
              {
                "name": "defaultUpdateOptions",
                "description": "Default update options set for the Sketch widget.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Sketch.html#defaultUpdateOptions)",
                "type": "SketchDefaultUpdateOptions"
              },
              {
                "name": "hideCreateToolsCircle",
                "type": "boolean"
              },
              {
                "name": "hideCreateToolsPoint",
                "type": "boolean"
              },
              {
                "name": "hideCreateToolsPolygon",
                "type": "boolean"
              },
              {
                "name": "hideCreateToolsPolyline",
                "type": "boolean"
              },
              {
                "name": "hideCreateToolsRectangle",
                "type": "boolean"
              },
              {
                "name": "hideDeleteButton",
                "type": "boolean"
              },
              {
                "name": "hideDuplicateButton",
                "type": "boolean"
              },
              {
                "name": "hideLabelsToggle",
                "type": "boolean"
              },
              {
                "name": "hideSelectionCountLabel",
                "type": "boolean"
              },
              {
                "name": "hideSelectionToolsLassoSelection",
                "type": "boolean"
              },
              {
                "name": "hideSelectionToolsRectangleSelection",
                "type": "boolean"
              },
              {
                "name": "hideSettingsMenu",
                "type": "boolean"
              },
              {
                "name": "hideSnappingControls",
                "type": "boolean"
              },
              {
                "name": "hideSnappingControlsElementsEnabledToggle",
                "type": "boolean"
              },
              {
                "name": "hideSnappingControlsElementsFeatureEnabledToggle",
                "type": "boolean"
              },
              {
                "name": "hideSnappingControlsElementsLayerList",
                "type": "boolean"
              },
              {
                "name": "hideSnappingControlsElementsSelfEnabledToggle",
                "type": "boolean"
              },
              {
                "name": "hideTooltipsToggle",
                "type": "boolean"
              },
              {
                "name": "hideUndoRedoMenu",
                "type": "boolean"
              },
              {
                "name": "icon",
                "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
                "type": "string"
              },
              {
                "name": "label",
                "description": "The Sketch widget's default label.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Sketch.html#label)",
                "type": "string"
              },
              {
                "name": "labelOptions",
                "description": "Options to configure the sketch labels shown next to each segment of the geometry being created or updated.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Sketch.html#labelOptions)",
                "type": "SketchLabelOptions"
              },
              {
                "name": "layer",
                "description": "The [GraphicsLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-GraphicsLayer.html) associated with the Sketch widget.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Sketch.html#layer)",
                "type": "GraphicsLayer"
              },
              {
                "name": "layout",
                "description": "Determines the layout/orientation of the Sketch widget.",
                "type": "\"horizontal\" | \"vertical\""
              },
              {
                "name": "pointSymbol",
                "description": "A [SimpleMarkerSymbol](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-SimpleMarkerSymbol.html), [PointSymbol3D](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-PointSymbol3D.html), [TextSymbol](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-TextSymbol.html), [CIMSymbol](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-CIMSymbol.html), or [WebStyleSymbol](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-WebStyleSymbol.html) used for representing the point geometry that is being drawn.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Sketch-SketchViewModel.html#pointSymbol)",
                "type": "CIMSymbol | PictureMarkerSymbol | PointSymbol3D | SimpleMarkerSymbol | TextSymbol | WebStyleSymbol"
              },
              {
                "name": "polygonSymbol",
                "description": "A [SimpleFillSymbol](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-SimpleFillSymbol.html), [PolygonSymbol3D](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-PolygonSymbol3D.html), or [CIMSymbol](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-CIMSymbol.html) used for representing the polygon geometry that is being drawn.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Sketch-SketchViewModel.html#polygonSymbol)",
                "type": "CIMSymbol | PolygonSymbol3D | SimpleFillSymbol"
              },
              {
                "name": "polylineSymbol",
                "description": "A [SimpleLineSymbol](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-SimpleLineSymbol.html), [LineSymbol3D](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-LineSymbol3D.html), or [CIMSymbol](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-CIMSymbol.html) used for representing the polyline geometry that is being drawn.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Sketch-SketchViewModel.html#polylineSymbol)",
                "type": "CIMSymbol | LineSymbol3D | SimpleLineSymbol"
              },
              {
                "name": "position",
                "type": "\"bottom-leading\" | \"bottom-left\" | \"bottom-right\" | \"bottom-trailing\" | \"manual\" | \"top-leading\" | \"top-left\" | \"top-right\" | \"top-trailing\""
              },
              {
                "name": "referenceElement",
                "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
                "type": "HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string"
              },
              {
                "name": "scale",
                "description": "Determines the size of widget elements.",
                "type": "\"l\" | \"m\" | \"s\""
              },
              {
                "name": "showSnappingControlsElementsHeader",
                "type": "boolean"
              },
              {
                "name": "snappingOptions",
                "description": "The [SnappingOptions](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-interactive-snapping-SnappingOptions.html) for sketching.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Sketch.html#snappingOptions)",
                "type": "SnappingOptions"
              },
              {
                "name": "state",
                "description": "The current state of the component.",
                "type": "\"active\" | \"disabled\" | \"ready\""
              },
              {
                "name": "toolbarKind",
                "description": "Controls the appearance of the sketch widget, allowing\nthe toolbar to adapt its appearance appropriately based on context.",
                "type": "\"docked\" | \"floating\""
              },
              {
                "name": "tooltipOptions",
                "description": "Options to configure the tooltip shown next to the cursor when creating or updating graphics.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Sketch.html#tooltipOptions)",
                "type": "SketchTooltipOptions"
              },
              {
                "name": "updateGraphics",
                "description": "An array of [graphics](https://developers.arcgis.com/javascript/latest/api-reference/esri-Graphic.html) that are being updated by the Sketch widget.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Sketch.html#updateGraphics)",
                "type": "Collection<Graphic>"
              }
            ],
            "events": [
              {
                "name": "arcgisCreate",
                "type": "SketchCreateEvent"
              },
              {
                "name": "arcgisDelete",
                "type": "SketchDeleteEvent"
              },
              {
                "name": "arcgisPropertyChange",
                "type": "{ name: \"state\"; }",
                "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
              },
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              },
              {
                "name": "arcgisRedo",
                "type": "SketchRedoEvent"
              },
              {
                "name": "arcgisUndo",
                "type": "SketchUndoEvent"
              },
              {
                "name": "arcgisUpdate",
                "type": "SketchUpdateEvent"
              }
            ]
          }
        },
        {
          "name": "arcgis-slice",
          "description": "The Slice component is a 3D analysis tool that can be used to reveal occluded content in a\n[Scene](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-scene/). It applies\n[slice analysis](https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-SliceAnalysis.html)\nto any layer type, making it possible to see inside buildings or to explore geological surfaces.\n\n[![slice](https://developers.arcgis.com/javascript/latest/assets/img/apiref/widgets/slice.gif)](https://developers.arcgis.com/javascript/latest/sample-code/building-scene-layer-slice/index.html)\n\nThe slicing [shape](#shape)\nis always a [plane](https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-SlicePlane.html).\nBy default, the plane is either horizontal or vertical. To allow a tilt angle for the plane, set\n[tiltEnabled](#tiltEnabled)\nto `true`. The slice hides any content in front of the surface. The handles on the sides of the plane can be used to adjust\nthe size, heading, tilt, and position of the slice plane.\nThe [SlicePlane](https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-SlicePlane.html)\ncan be set or retrieved using the [shape](#shape) property.\n\nOnce the slice plane is applied, layers can be excluded from the slicing. For example, by excluding the sublayers which include\ncolumns and floor slabs, the inner structure of a building can investigated.\n\n[![slice-exclude](https://developers.arcgis.com/javascript/latest/assets/img/apiref/widgets/slice-exclude.png)](https://developers.arcgis.com/javascript/latest/sample-code/building-scene-layer-slice/index.html)\n\nHolding the `Shift` key while creating a new slice applies it vertically.\n\n**Known limitation**\n\nSlice is only supported in a 3D [Scene](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-scene/) component.\n\n**See also**\n\n- [SliceAnalysis](https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-SliceAnalysis.html)\n- [Sample - BuildingSceneLayer with Slice component](https://developers.arcgis.com/javascript/latest/sample-code/building-scene-layer-slice/)\n- [Sample - Analysis objects](https://developers.arcgis.com/javascript/latest/sample-code/analysis-objects/)\n--\n\n### Events\n- **arcgisPropertyChange** - Emitted when the value of a property is changed. Use this to listen to changes to properties.\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n\n### Methods\n- `clear(): Promise<void>` - Clear the [shape](#shape) of the slice, effectively removing it from the view. Other properties like [excludedLayers](#excludedLayers)\nand [excludeGroundSurface](#excludeGroundSurface) are not modified.\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `destroy(): Promise<void>` - Permanently destroy the component.\n- `start(): Promise<void>` - Start the interactive creation of a new slice, clearing the previous [shape](#shape).",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-slice/",
          "attributes": [
            {
              "name": "auto-destroy-disabled",
              "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-slice/#destroy) method when you are done to\nprevent memory leaks.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "exclude-ground-surface",
              "description": "Indicates whether the [Ground](https://developers.arcgis.com/javascript/latest/api-reference/esri-Ground.html) and layers that\nare draped on the ground surface are excluded from the slice.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "heading-level",
              "default": "3",
              "value": {
                "type": [
                  "1",
                  "2",
                  "3",
                  "4",
                  "5",
                  "6"
                ]
              }
            },
            {
              "name": "icon",
              "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
              "default": "\"slice\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "label",
              "description": "The component's default label.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "position",
              "default": "\"bottom-left\"",
              "value": {
                "type": [
                  "\"bottom-leading\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"bottom-trailing\"",
                  "\"manual\"",
                  "\"top-leading\"",
                  "\"top-left\"",
                  "\"top-right\"",
                  "\"top-trailing\""
                ]
              }
            },
            {
              "name": "reference-element",
              "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "state",
              "description": "The component's state. The values mean the following:\n\n* `disabled` -  not ready yet\n* `ready` - ready for slicing\n* `slicing` - currently slicing\n* `sliced` - finished slicing",
              "value": {
                "type": [
                  "\"disabled\"",
                  "\"excludingLayer\"",
                  "\"ready\"",
                  "\"sliced\"",
                  "\"slicing\""
                ]
              }
            },
            {
              "name": "tilt-enabled",
              "description": "Enable tilting the slice shape. If set to true, the slice shape will orient itself as best as\npossible to the surface under the cursor when first placing the shape. If set to false, the slice shape is\nrestricted to be either horizontal or vertical.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            }
          ],
          "events": [
            {
              "name": "arcgisPropertyChange",
              "type": "{ name: \"state\" | \"analysis\"; }",
              "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
            },
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            }
          ],
          "js": {
            "properties": [
              {
                "name": "analysis",
                "description": "The [SliceAnalysis](https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-SliceAnalysis.html)\ncreated or modified by the component.\n\nWhen connecting the Slice component to the [Scene](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-scene/)\ncomponent, it automatically creates an empty analysis and adds it to the Scene's\n[analyses](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-scene/#analyses) collection.\nWhenever the component is destroyed, the analysis is automatically removed from the collection.\n\nAlternatively, a programmatically created analysis can be provided to the component.\nThen, the application itself needs to add it to and later remove it from the Scene's analyses collection.\n\n```js\n// Create the analysis.\nconst sliceAnalysis = new SliceAnalysis({\n   shape: new SlicePlane({\n     position: new Point({\n       spatialReference: { latestWkid: 3857, wkid: 102100 },\n       x: -13624925.727820931,\n       y: 4550341.695170021,\n       z: 56\n     }),\n     tilt: 270,\n     width: 310,\n     height: 190,\n     heading: 45\n   })\n});\n// Get the Scene and Slice component and wait until they are ready.\nconst viewElement = document.querySelector(\"arcgis-scene\");\nawait viewElement.viewOnReady();\nconst slice = document.querySelector(\"arcgis-slice\");\nawait slice.componentOnReady();\n// Add the analysis to the Scene component.\nviewElement.analyses.add(sliceAnalysis);\n// Connect the analysis to the slice component:\nslice.analysis = sliceAnalysis;\n```",
                "type": "SliceAnalysis"
              },
              {
                "name": "autoDestroyDisabled",
                "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-slice/#destroy) method when you are done to\nprevent memory leaks.",
                "type": "boolean"
              },
              {
                "name": "excludedLayers",
                "description": "Add layers to this collection to exclude them from the slice. Layers that\nare draped on the ground surface are not affected by this property",
                "type": "Collection<Layer | BuildingComponentSublayer>"
              },
              {
                "name": "excludeGroundSurface",
                "description": "Indicates whether the [Ground](https://developers.arcgis.com/javascript/latest/api-reference/esri-Ground.html) and layers that\nare draped on the ground surface are excluded from the slice.",
                "type": "boolean"
              },
              {
                "name": "headingLevel",
                "type": "1 | 2 | 3 | 4 | 5 | 6"
              },
              {
                "name": "icon",
                "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
                "type": "string"
              },
              {
                "name": "label",
                "description": "The component's default label.",
                "type": "string"
              },
              {
                "name": "messageOverrides",
                "description": "Replace localized message strings with your own strings.\n\n_**Note**: Individual message keys may change between releases._",
                "type": "Record<string, unknown>"
              },
              {
                "name": "position",
                "type": "\"bottom-leading\" | \"bottom-left\" | \"bottom-right\" | \"bottom-trailing\" | \"manual\" | \"top-leading\" | \"top-left\" | \"top-right\" | \"top-trailing\""
              },
              {
                "name": "referenceElement",
                "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
                "type": "HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string"
              },
              {
                "name": "shape",
                "description": "The shape used to slice elements in a 3D scene. Currently the only supported shape is a\n[plane](https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-SlicePlane.html).",
                "type": "SlicePlane"
              },
              {
                "name": "state",
                "description": "The component's state. The values mean the following:\n\n* `disabled` -  not ready yet\n* `ready` - ready for slicing\n* `slicing` - currently slicing\n* `sliced` - finished slicing",
                "type": "\"disabled\" | \"excludingLayer\" | \"ready\" | \"sliced\" | \"slicing\""
              },
              {
                "name": "tiltEnabled",
                "description": "Enable tilting the slice shape. If set to true, the slice shape will orient itself as best as\npossible to the surface under the cursor when first placing the shape. If set to false, the slice shape is\nrestricted to be either horizontal or vertical.",
                "type": "boolean"
              }
            ],
            "events": [
              {
                "name": "arcgisPropertyChange",
                "type": "{ name: \"state\" | \"analysis\"; }",
                "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
              },
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              }
            ]
          }
        },
        {
          "name": "arcgis-slider",
          "description": "### Events\n- **arcgisMaxChange**\n- **arcgisMaxClick**\n- **arcgisMinChange**\n- **arcgisMinClick**\n- **arcgisPropertyChange** - Emitted when the value of a property is changed. Use this to listen to changes to properties.\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n- **arcgisSegmentClick**\n- **arcgisSegmentDrag**\n- **arcgisThumbChange**\n- **arcgisThumbClick**\n- **arcgisThumbDrag**\n- **arcgisTickClick**\n- **arcgisTrackClick**\n\n### Methods\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `destroy(): Promise<void>` - Permanently destroy the component.",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-slider/",
          "attributes": [
            {
              "name": "auto-destroy-disabled",
              "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-slider/#destroy) method when you are done to\nprevent memory leaks.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "draggable-segments-enabled",
              "description": "Indicates if the user can drag the segment between thumbs\nto update thumb positions.",
              "default": "true",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "effective-max",
              "description": "When set, the user is restricted from moving slider thumbs to positions higher than\nthis value.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#effectiveMax)",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "effective-min",
              "description": "When set, the user is restricted from moving slider thumbs to positions less than\nthis value.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#effectiveMin)",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "icon",
              "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
              "default": "\"caret-double-horizontal\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "label",
              "description": "The widget's default label.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#label)",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "label-inputs-enabled",
              "description": "Indicates whether to enable editing input values via keyboard input\nwhen the user clicks a label.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "layout",
              "description": "Determines the layout/orientation of the Slider widget.",
              "default": "\"horizontal\"",
              "value": {
                "type": [
                  "\"horizontal\"",
                  "\"horizontal-reversed\"",
                  "\"vertical\"",
                  "\"vertical-reversed\""
                ]
              }
            },
            {
              "name": "max",
              "description": "The maximum possible data/thumb value of the slider.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#max)",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "min",
              "description": "The minimum possible data/thumb value of the slider.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#min)",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "position",
              "default": "\"bottom-left\"",
              "value": {
                "type": [
                  "\"bottom-leading\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"bottom-trailing\"",
                  "\"manual\"",
                  "\"top-leading\"",
                  "\"top-left\"",
                  "\"top-right\"",
                  "\"top-trailing\""
                ]
              }
            },
            {
              "name": "precision",
              "description": "Defines how slider thumb values should be rounded.",
              "default": "4",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "range-label-inputs-enabled",
              "description": "Indicates whether to enable editing range values via keyboard input\nwhen the user clicks a [min](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#min) or [max](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#max) label.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "reference-element",
              "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "snap-on-click-enabled",
              "description": "Indicates if the closest thumb will snap to the clicked location on the track.",
              "default": "true",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "state",
              "description": "The current state of the component.",
              "value": {
                "type": [
                  "\"disabled\"",
                  "\"dragging\"",
                  "\"editing\"",
                  "\"ready\""
                ]
              }
            },
            {
              "name": "steps",
              "description": "Sets steps, or intervals, on the slider that restrict user\ninput to specific values.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#steps)",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "synced-segments-enabled",
              "description": "When `true`, all segments will sync together in updating thumb values when the user drags any segment.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "thumbs-constrained",
              "description": "When `false`, the user can freely move any slider thumb to any\nposition along the track.",
              "default": "true",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "values",
              "description": "An array of numbers representing absolute thumb positions on the slider.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#values)",
              "value": {}
            }
          ],
          "events": [
            {
              "name": "arcgisMaxChange",
              "type": "SliderMaxChangeEvent"
            },
            {
              "name": "arcgisMaxClick",
              "type": "SliderMaxClickEvent"
            },
            {
              "name": "arcgisMinChange",
              "type": "SliderMinChangeEvent"
            },
            {
              "name": "arcgisMinClick",
              "type": "SliderMinClickEvent"
            },
            {
              "name": "arcgisPropertyChange",
              "type": "{ name: \"state\"; }",
              "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
            },
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            },
            {
              "name": "arcgisSegmentClick",
              "type": "SliderSegmentClickEvent"
            },
            {
              "name": "arcgisSegmentDrag",
              "type": "SliderSegmentDragEvent"
            },
            {
              "name": "arcgisThumbChange",
              "type": "SliderThumbChangeEvent"
            },
            {
              "name": "arcgisThumbClick",
              "type": "SliderThumbClickEvent"
            },
            {
              "name": "arcgisThumbDrag",
              "type": "SliderThumbDragEvent"
            },
            {
              "name": "arcgisTickClick",
              "type": "SliderTickClickEvent"
            },
            {
              "name": "arcgisTrackClick",
              "type": "SliderTrackClickEvent"
            }
          ],
          "js": {
            "properties": [
              {
                "name": "autoDestroyDisabled",
                "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-slider/#destroy) method when you are done to\nprevent memory leaks.",
                "type": "boolean"
              },
              {
                "name": "draggableSegmentsEnabled",
                "description": "Indicates if the user can drag the segment between thumbs\nto update thumb positions.",
                "type": "boolean"
              },
              {
                "name": "effectiveMax",
                "description": "When set, the user is restricted from moving slider thumbs to positions higher than\nthis value.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#effectiveMax)",
                "type": "number"
              },
              {
                "name": "effectiveMin",
                "description": "When set, the user is restricted from moving slider thumbs to positions less than\nthis value.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#effectiveMin)",
                "type": "number"
              },
              {
                "name": "effectiveSegmentElements",
                "description": "The HTML Element nodes representing the slider segment between the [min](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#min) and [effectiveMin](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#effectiveMin), and the segment between the\n[effectiveMax](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#effectiveMax) and [max](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#max).\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#effectiveSegmentElements)",
                "type": "Collection<HTMLElement>"
              },
              {
                "name": "icon",
                "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
                "type": "string"
              },
              {
                "name": "label",
                "description": "The widget's default label.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#label)",
                "type": "string"
              },
              {
                "name": "labelElements",
                "description": "The HTML Element nodes representing [labels](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#labels) attached to slider thumbs.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#labelElements)",
                "type": "Collection<HTMLElement>"
              },
              {
                "name": "labelInputsEnabled",
                "description": "Indicates whether to enable editing input values via keyboard input\nwhen the user clicks a label.",
                "type": "boolean"
              },
              {
                "name": "labels",
                "description": "An array of strings associated with 'values' generated using an internal label formatter or\nthe values returned from [labelFormatFunction](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#labelFormatFunction).\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#labels)",
                "type": "LabelInfos"
              },
              {
                "name": "layout",
                "description": "Determines the layout/orientation of the Slider widget.",
                "type": "\"horizontal\" | \"horizontal-reversed\" | \"vertical\" | \"vertical-reversed\""
              },
              {
                "name": "max",
                "description": "The maximum possible data/thumb value of the slider.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#max)",
                "type": "number"
              },
              {
                "name": "maxLabelElement",
                "description": "The HTML Element node representing the [max](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#max) value label.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#maxLabelElement)",
                "type": "HTMLElement"
              },
              {
                "name": "min",
                "description": "The minimum possible data/thumb value of the slider.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#min)",
                "type": "number"
              },
              {
                "name": "minLabelElement",
                "description": "The HTML Element node representing the [min](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#min) value label.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#minLabelElement)",
                "type": "HTMLElement"
              },
              {
                "name": "position",
                "type": "\"bottom-leading\" | \"bottom-left\" | \"bottom-right\" | \"bottom-trailing\" | \"manual\" | \"top-leading\" | \"top-left\" | \"top-right\" | \"top-trailing\""
              },
              {
                "name": "precision",
                "description": "Defines how slider thumb values should be rounded.",
                "type": "number"
              },
              {
                "name": "rangeLabelInputsEnabled",
                "description": "Indicates whether to enable editing range values via keyboard input\nwhen the user clicks a [min](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#min) or [max](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#max) label.",
                "type": "boolean"
              },
              {
                "name": "referenceElement",
                "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
                "type": "HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string"
              },
              {
                "name": "segmentElements",
                "description": "The HTML Element nodes representing interactive slider segments.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#segmentElements)",
                "type": "Collection<HTMLElement>"
              },
              {
                "name": "snapOnClickEnabled",
                "description": "Indicates if the closest thumb will snap to the clicked location on the track.",
                "type": "boolean"
              },
              {
                "name": "state",
                "description": "The current state of the component.",
                "type": "\"disabled\" | \"dragging\" | \"editing\" | \"ready\""
              },
              {
                "name": "steps",
                "description": "Sets steps, or intervals, on the slider that restrict user\ninput to specific values.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#steps)",
                "type": "Array<number> | number"
              },
              {
                "name": "syncedSegmentsEnabled",
                "description": "When `true`, all segments will sync together in updating thumb values when the user drags any segment.",
                "type": "boolean"
              },
              {
                "name": "thumbElements",
                "description": "The HTML Element nodes representing slider thumbs.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#thumbElements)",
                "type": "Collection<HTMLElement>"
              },
              {
                "name": "thumbsConstrained",
                "description": "When `false`, the user can freely move any slider thumb to any\nposition along the track.",
                "type": "boolean"
              },
              {
                "name": "tickConfigs",
                "description": "When set, renders ticks along the slider track.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#tickConfigs)",
                "type": "Array<TickConfig>"
              },
              {
                "name": "tickElements",
                "description": "The HTML Element nodes representing slider ticks and their associated labels.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#tickElements)",
                "type": "Collection<Collection<TickElementGroup>>"
              },
              {
                "name": "trackElement",
                "description": "The HTML Element node representing the slider track.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#trackElement)",
                "type": "HTMLElement"
              },
              {
                "name": "values",
                "description": "An array of numbers representing absolute thumb positions on the slider.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Slider.html#values)",
                "type": "Array<number>"
              }
            ],
            "events": [
              {
                "name": "arcgisMaxChange",
                "type": "SliderMaxChangeEvent"
              },
              {
                "name": "arcgisMaxClick",
                "type": "SliderMaxClickEvent"
              },
              {
                "name": "arcgisMinChange",
                "type": "SliderMinChangeEvent"
              },
              {
                "name": "arcgisMinClick",
                "type": "SliderMinClickEvent"
              },
              {
                "name": "arcgisPropertyChange",
                "type": "{ name: \"state\"; }",
                "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
              },
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              },
              {
                "name": "arcgisSegmentClick",
                "type": "SliderSegmentClickEvent"
              },
              {
                "name": "arcgisSegmentDrag",
                "type": "SliderSegmentDragEvent"
              },
              {
                "name": "arcgisThumbChange",
                "type": "SliderThumbChangeEvent"
              },
              {
                "name": "arcgisThumbClick",
                "type": "SliderThumbClickEvent"
              },
              {
                "name": "arcgisThumbDrag",
                "type": "SliderThumbDragEvent"
              },
              {
                "name": "arcgisTickClick",
                "type": "SliderTickClickEvent"
              },
              {
                "name": "arcgisTrackClick",
                "type": "SliderTrackClickEvent"
              }
            ]
          }
        },
        {
          "name": "arcgis-swipe",
          "description": "The Swipe component provides a tool to show a portion of a layer or layers\non top of a map. Layers can be swiped vertically or horizontally to easily\ncompare two layers or see what is underneath a layer.\n\nTo use the Swipe component, set the `leadingLayers` and `trailingLayers`\nproperties to determine what will be compared on either side of the component. If one of these properties\nis not set, then the Swipe component will overlay the existing map.\n\n**Known limitations**\n\n- This component is not currently supported within a Scene component.\n--\n\n### Events\n- **arcgisPropertyChange** - Emitted when the value of a property is changed. Use this to listen to changes to properties.\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n\n### Methods\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `destroy(): Promise<void>` - Permanently destroy the component.",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-swipe/",
          "attributes": [
            {
              "name": "auto-destroy-disabled",
              "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-swipe/#destroy) method when you are done to\nprevent memory leaks.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "direction",
              "description": "The direction the Swipe component moves across the view.\nIf `\"horizontal\"`, the component will move left and right and\nif `\"vertical\"`, the component will move up and down.",
              "default": "\"horizontal\"",
              "value": {
                "type": [
                  "\"horizontal\"",
                  "\"vertical\""
                ]
              }
            },
            {
              "name": "disabled",
              "description": "When `true`, sets the component to a disabled state so the user cannot interact with it.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-divider",
              "description": "When `true`, the divider between the leading and trailing layers will be hidden.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-handle",
              "description": "When `true`, the handle from which you drag the component will be hidden.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "icon",
              "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
              "default": "\"compare\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "label",
              "description": "The component's default label.",
              "default": "\"Swipe\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "position",
              "default": "\"manual\"",
              "value": {
                "type": [
                  "\"bottom-leading\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"bottom-trailing\"",
                  "\"manual\"",
                  "\"top-leading\"",
                  "\"top-left\"",
                  "\"top-right\"",
                  "\"top-trailing\""
                ]
              }
            },
            {
              "name": "reference-element",
              "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "state",
              "description": "The current state of the component.",
              "default": "\"disabled\"",
              "value": {
                "type": [
                  "\"disabled\"",
                  "\"ready\""
                ]
              }
            },
            {
              "name": "swipe-position",
              "description": "The position of the Swipe component. This determines what percentage\nof the view will be taken up by the [leadingLayers](#leadingLayers).",
              "default": "25",
              "value": {
                "type": "number"
              }
            }
          ],
          "events": [
            {
              "name": "arcgisPropertyChange",
              "type": "{ name: \"state\"; }",
              "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
            },
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            }
          ],
          "js": {
            "properties": [
              {
                "name": "autoDestroyDisabled",
                "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-swipe/#destroy) method when you are done to\nprevent memory leaks.",
                "type": "boolean"
              },
              {
                "name": "direction",
                "description": "The direction the Swipe component moves across the view.\nIf `\"horizontal\"`, the component will move left and right and\nif `\"vertical\"`, the component will move up and down.",
                "type": "\"horizontal\" | \"vertical\""
              },
              {
                "name": "disabled",
                "description": "When `true`, sets the component to a disabled state so the user cannot interact with it.",
                "type": "boolean"
              },
              {
                "name": "hideDivider",
                "description": "When `true`, the divider between the leading and trailing layers will be hidden.",
                "type": "boolean"
              },
              {
                "name": "hideHandle",
                "description": "When `true`, the handle from which you drag the component will be hidden.",
                "type": "boolean"
              },
              {
                "name": "icon",
                "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
                "type": "string"
              },
              {
                "name": "label",
                "description": "The component's default label.",
                "type": "string"
              },
              {
                "name": "leadingLayers",
                "description": "A collection of layers that will show on the left or top side of the Swipe component.",
                "type": "Collection<Layer>"
              },
              {
                "name": "messageOverrides",
                "description": "Replace localized message strings with your own strings.\n\n_**Note**: Individual message keys may change between releases._",
                "type": "Record<string, unknown>"
              },
              {
                "name": "position",
                "type": "\"bottom-leading\" | \"bottom-left\" | \"bottom-right\" | \"bottom-trailing\" | \"manual\" | \"top-leading\" | \"top-left\" | \"top-right\" | \"top-trailing\""
              },
              {
                "name": "referenceElement",
                "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
                "type": "HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string"
              },
              {
                "name": "state",
                "description": "The current state of the component.",
                "type": "\"disabled\" | \"ready\""
              },
              {
                "name": "swipePosition",
                "description": "The position of the Swipe component. This determines what percentage\nof the view will be taken up by the [leadingLayers](#leadingLayers).",
                "type": "number"
              },
              {
                "name": "trailingLayers",
                "description": "A collection of layers that will show on the right or bottom side of the Swipe component.",
                "type": "Collection<Layer>"
              }
            ],
            "events": [
              {
                "name": "arcgisPropertyChange",
                "type": "{ name: \"state\"; }",
                "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
              },
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              }
            ]
          }
        },
        {
          "name": "arcgis-table-list",
          "description": "The Table List component provides a way to display a list of tables associated with a [Map](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html).\n--\n\n### Events\n- **arcgisClose** - Emitted when the component's close button is clicked.\n- **arcgisPropertyChange** - Emitted when the value of a property is changed. Use this to listen to changes to properties.\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n- **arcgisTriggerAction** - Emitted when an action is triggered on the component.\n\n### Methods\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `destroy(): Promise<void>` - Permanently destroy the component.",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-table-list/",
          "attributes": [
            {
              "name": "auto-destroy-disabled",
              "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-table-list/#destroy) method when you are done to\nprevent memory leaks.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "closed",
              "description": "Indicates whether a component is closed. When `true`, the component will be hidden.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "collapsed",
              "description": "Indicates whether the widget is collapsed.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "drag-enabled",
              "description": "Indicates whether [list items](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-TableList-ListItem.html) may be reordered within the list by dragging and dropping.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "filter-placeholder",
              "description": "Placeholder text used in the filter input if [visibleElements.filter](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-TableList.html#visibleElements) is true.",
              "default": "\"\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "filter-text",
              "description": "The value of the filter input text string if [visibleElements.filter](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-TableList.html#visibleElements) is true.",
              "default": "\"\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "hide-flow",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-status-indicators",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "icon",
              "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
              "default": "\"table\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "label",
              "description": "The widget's default label.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-TableList.html#label)",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "min-drag-enabled-items",
              "description": "The minimum number of list items required to enable drag and drop reordering with [dragEnabled](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-TableList.html#dragEnabled).",
              "default": "2",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "min-filter-items",
              "description": "The minimum number of list items required to display the visibleElements.filter input box.",
              "default": "10",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "position",
              "default": "\"bottom-left\"",
              "value": {
                "type": [
                  "\"bottom-leading\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"bottom-trailing\"",
                  "\"manual\"",
                  "\"top-leading\"",
                  "\"top-left\"",
                  "\"top-right\"",
                  "\"top-trailing\""
                ]
              }
            },
            {
              "name": "reference-element",
              "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "selection-mode",
              "description": "Specifies the selection mode.",
              "default": "\"none\"",
              "value": {
                "type": [
                  "\"multiple\"",
                  "\"none\"",
                  "\"single\"",
                  "\"single-persist\""
                ]
              }
            },
            {
              "name": "show-close-button",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "show-collapse-button",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "show-errors",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "show-filter",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "show-heading",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "show-temporary-table-indicators",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "state",
              "description": "The current state of the component.",
              "default": "\"disabled\"",
              "value": {
                "type": [
                  "\"disabled\"",
                  "\"loading\"",
                  "\"ready\""
                ]
              }
            }
          ],
          "events": [
            {
              "name": "arcgisClose",
              "type": "void",
              "description": "Emitted when the component's close button is clicked."
            },
            {
              "name": "arcgisPropertyChange",
              "type": "{ name: \"state\"; }",
              "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
            },
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            },
            {
              "name": "arcgisTriggerAction",
              "type": "TableListTriggerActionEvent",
              "description": "Emitted when an action is triggered on the component."
            }
          ],
          "js": {
            "properties": [
              {
                "name": "autoDestroyDisabled",
                "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-table-list/#destroy) method when you are done to\nprevent memory leaks.",
                "type": "boolean"
              },
              {
                "name": "closed",
                "description": "Indicates whether a component is closed. When `true`, the component will be hidden.",
                "type": "boolean"
              },
              {
                "name": "collapsed",
                "description": "Indicates whether the widget is collapsed.",
                "type": "boolean"
              },
              {
                "name": "dragEnabled",
                "description": "Indicates whether [list items](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-TableList-ListItem.html) may be reordered within the list by dragging and dropping.",
                "type": "boolean"
              },
              {
                "name": "filterPlaceholder",
                "description": "Placeholder text used in the filter input if [visibleElements.filter](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-TableList.html#visibleElements) is true.",
                "type": "string"
              },
              {
                "name": "filterPredicate",
                "description": "Specifies a function to handle filtering [list items](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-TableList-ListItem.html).",
                "type": "(((item: TableListListItem) => void))"
              },
              {
                "name": "filterText",
                "description": "The value of the filter input text string if [visibleElements.filter](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-TableList.html#visibleElements) is true.",
                "type": "string"
              },
              {
                "name": "hideFlow",
                "type": "boolean"
              },
              {
                "name": "hideStatusIndicators",
                "type": "boolean"
              },
              {
                "name": "icon",
                "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
                "type": "string"
              },
              {
                "name": "label",
                "description": "The widget's default label.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-TableList.html#label)",
                "type": "string"
              },
              {
                "name": "listItemCreatedFunction",
                "description": "Specifies a function that accesses each [ListItem](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-TableList-ListItem.html).\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-TableList.html#listItemCreatedFunction)",
                "type": "(((event: TableListListItemCreatedHandlerEvent) => void))"
              },
              {
                "name": "minDragEnabledItems",
                "description": "The minimum number of list items required to enable drag and drop reordering with [dragEnabled](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-TableList.html#dragEnabled).",
                "type": "number"
              },
              {
                "name": "minFilterItems",
                "description": "The minimum number of list items required to display the visibleElements.filter input box.",
                "type": "number"
              },
              {
                "name": "position",
                "type": "\"bottom-leading\" | \"bottom-left\" | \"bottom-right\" | \"bottom-trailing\" | \"manual\" | \"top-leading\" | \"top-left\" | \"top-right\" | \"top-trailing\""
              },
              {
                "name": "referenceElement",
                "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
                "type": "HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string"
              },
              {
                "name": "selectedItems",
                "description": "A collection of selected [ListItem](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-TableList-ListItem.html)s representing table list items\nselected by the user.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-TableList.html#selectedItems)",
                "type": "Collection<TableListListItem>"
              },
              {
                "name": "selectionMode",
                "description": "Specifies the selection mode.",
                "type": "\"multiple\" | \"none\" | \"single\" | \"single-persist\""
              },
              {
                "name": "showCloseButton",
                "type": "boolean"
              },
              {
                "name": "showCollapseButton",
                "type": "boolean"
              },
              {
                "name": "showErrors",
                "type": "boolean"
              },
              {
                "name": "showFilter",
                "type": "boolean"
              },
              {
                "name": "showHeading",
                "type": "boolean"
              },
              {
                "name": "showTemporaryTableIndicators",
                "type": "boolean"
              },
              {
                "name": "state",
                "description": "The current state of the component.",
                "type": "\"disabled\" | \"loading\" | \"ready\""
              },
              {
                "name": "tableItems",
                "description": "The collection of table ListItems displayed within the component.",
                "type": "Collection<TableListListItem>"
              }
            ],
            "events": [
              {
                "name": "arcgisClose",
                "type": "void",
                "description": "Emitted when the component's close button is clicked."
              },
              {
                "name": "arcgisPropertyChange",
                "type": "{ name: \"state\"; }",
                "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
              },
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              },
              {
                "name": "arcgisTriggerAction",
                "type": "TableListTriggerActionEvent",
                "description": "Emitted when an action is triggered on the component."
              }
            ]
          }
        },
        {
          "name": "arcgis-time-slider",
          "description": "The Time Slider component simplifies visualization of temporal data in your application.\n--\n\n### Events\n- **arcgisPropertyChange** - Emitted when the value of a property is changed. Use this to listen to changes to properties.\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n- **arcgisTriggerAction** - Emitted when an action is triggered on the component.\n\n### Methods\n- `applyTimeSliderSettings(settings: Pick<__esri.TimeSliderProperties, \"fullTimeExtent\" | \"loop\" | \"stops\">): Promise<void>`\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `destroy(): Promise<void>` - Permanently destroy the component.\n- `next(): Promise<void>`\n- `play(): Promise<void>`\n- `previous(): Promise<void>`\n- `stop(): Promise<void>`\n- `updateWebDocument(webmap: __esri.WebMap): Promise<void>`",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-time-slider/",
          "attributes": [
            {
              "name": "auto-destroy-disabled",
              "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-time-slider/#destroy) method when you are done to\nprevent memory leaks.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "disabled",
              "description": "When `true`, sets the widget to a disabled state so the user cannot interact with it.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "icon",
              "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
              "default": "\"clock\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "label",
              "description": "The widget's default label.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-TimeSlider.html#label)",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "layout",
              "description": "Determines the layout used by the TimeSlider widget.",
              "default": "\"auto\"",
              "value": {
                "type": [
                  "\"auto\"",
                  "\"compact\"",
                  "\"wide\""
                ]
              }
            },
            {
              "name": "loop",
              "description": "When `true`, the time slider will play its animation in a loop.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "mode",
              "description": "The time slider mode.",
              "default": "\"time-window\"",
              "value": {
                "type": [
                  "\"cumulative-from-end\"",
                  "\"cumulative-from-start\"",
                  "\"instant\"",
                  "\"time-window\""
                ]
              }
            },
            {
              "name": "play-rate",
              "description": "The time (in milliseconds) between animation steps.",
              "default": "1000",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "position",
              "default": "\"bottom-left\"",
              "value": {
                "type": [
                  "\"bottom-leading\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"bottom-trailing\"",
                  "\"manual\"",
                  "\"top-leading\"",
                  "\"top-left\"",
                  "\"top-right\"",
                  "\"top-trailing\""
                ]
              }
            },
            {
              "name": "reference-element",
              "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "state",
              "description": "The current state of the component.",
              "default": "\"disabled\"",
              "value": {
                "type": [
                  "\"disabled\"",
                  "\"playing\"",
                  "\"ready\""
                ]
              }
            },
            {
              "name": "time-visible",
              "description": "Shows/hides time in the display.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "time-zone",
              "description": "Dates and times displayed in the widget will be displayed in this time zone.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-TimeSlider.html#timeZone)",
              "value": {
                "type": "string"
              }
            }
          ],
          "events": [
            {
              "name": "arcgisPropertyChange",
              "type": "{ name: \"state\" | \"timeExtent\" | \"effectiveStops\" | \"fullTimeExtent\"; }",
              "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
            },
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            },
            {
              "name": "arcgisTriggerAction",
              "type": "TimeSliderTriggerActionEvent",
              "description": "Emitted when an action is triggered on the component."
            }
          ],
          "js": {
            "properties": [
              {
                "name": "actions",
                "description": "Defines actions that will appear in a menu when the user clicks the ellipsis button\n![timeSlider-actions-menu](https://developers.arcgis.com/javascript/latest/assets/img/apiref/widgets/timeslider/ellipsis.png) in the widget.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-TimeSlider.html#actions)",
                "type": "Collection<Action>"
              },
              {
                "name": "autoDestroyDisabled",
                "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-time-slider/#destroy) method when you are done to\nprevent memory leaks.",
                "type": "boolean"
              },
              {
                "name": "disabled",
                "description": "When `true`, sets the widget to a disabled state so the user cannot interact with it.",
                "type": "boolean"
              },
              {
                "name": "effectiveStops",
                "description": "Lists the specific locations on the timeline where handle(s) will snap to when manipulated.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-TimeSlider.html#effectiveStops)",
                "type": "Array<Date>"
              },
              {
                "name": "fullTimeExtent",
                "description": "The temporal extent of the entire slider.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-TimeSlider.html#fullTimeExtent)",
                "type": "TimeExtent"
              },
              {
                "name": "icon",
                "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
                "type": "string"
              },
              {
                "name": "label",
                "description": "The widget's default label.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-TimeSlider.html#label)",
                "type": "string"
              },
              {
                "name": "layout",
                "description": "Determines the layout used by the TimeSlider widget.",
                "type": "\"auto\" | \"compact\" | \"wide\""
              },
              {
                "name": "loop",
                "description": "When `true`, the time slider will play its animation in a loop.",
                "type": "boolean"
              },
              {
                "name": "mode",
                "description": "The time slider mode.",
                "type": "\"cumulative-from-end\" | \"cumulative-from-start\" | \"instant\" | \"time-window\""
              },
              {
                "name": "playRate",
                "description": "The time (in milliseconds) between animation steps.",
                "type": "number"
              },
              {
                "name": "position",
                "type": "\"bottom-leading\" | \"bottom-left\" | \"bottom-right\" | \"bottom-trailing\" | \"manual\" | \"top-leading\" | \"top-left\" | \"top-right\" | \"top-trailing\""
              },
              {
                "name": "referenceElement",
                "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
                "type": "HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string"
              },
              {
                "name": "state",
                "description": "The current state of the component.",
                "type": "\"disabled\" | \"playing\" | \"ready\""
              },
              {
                "name": "stops",
                "description": "Defines specific locations on the time slider where thumbs will snap to when manipulated.",
                "type": "StopsByCount | StopsByDates | StopsByInterval"
              },
              {
                "name": "tickConfigs",
                "description": "When set, overrides the default TimeSlider ticks labelling system.",
                "type": "Array<TickConfig>"
              },
              {
                "name": "timeExtent",
                "description": "The current time extent of the time slider.",
                "type": "TimeExtent"
              },
              {
                "name": "timeVisible",
                "description": "Shows/hides time in the display.",
                "type": "boolean"
              },
              {
                "name": "timeZone",
                "description": "Dates and times displayed in the widget will be displayed in this time zone.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-TimeSlider.html#timeZone)",
                "type": "string"
              }
            ],
            "events": [
              {
                "name": "arcgisPropertyChange",
                "type": "{ name: \"state\" | \"timeExtent\" | \"effectiveStops\" | \"fullTimeExtent\"; }",
                "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
              },
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              },
              {
                "name": "arcgisTriggerAction",
                "type": "TimeSliderTriggerActionEvent",
                "description": "Emitted when an action is triggered on the component."
              }
            ]
          }
        },
        {
          "name": "arcgis-time-zone-label",
          "description": "Time Zone Label is a component for displaying the current [time zone](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-map/#timeZone) of a [Map](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-map/).\nThe component has two states, collapsed as a small button and expanded displaying the internationalized name of the Map's time zone.\nUsers can toggle between these states by clicking the component's expand/collapse button.\nBy default the component is collapsed.\n\nWhen expanding, the component will lengthen inwards when [positioned](#position) within a Map.\nThis behavior can be overridden by setting the [expandDirection](#expandDirection) property to either `\"start\"` or `\"end\"`.\n--\n\n### Events\n- **arcgisPropertyChange** - Emitted when the value of a property is changed. Use this to listen to changes to properties.\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n\n### Methods\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-time-zone-label/",
          "attributes": [
            {
              "name": "disabled",
              "description": "When `true`, sets the component to a disabled state so the user cannot interact with it.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "expand-direction",
              "description": "The direction the component will expand.\n\nBy default, the component will expand inward if assigned to a View UI corner. If the component is positioned manually,\nthe component will expand towards the \"end\" which is equivalent to right in a LTR application.",
              "value": {
                "type": [
                  "\"end\"",
                  "\"start\""
                ]
              }
            },
            {
              "name": "expanded",
              "description": "The expanded state of the component.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "label",
              "description": "The component's default label.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "position",
              "default": "\"top-left\"",
              "value": {
                "type": [
                  "\"bottom-leading\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"bottom-trailing\"",
                  "\"manual\"",
                  "\"top-leading\"",
                  "\"top-left\"",
                  "\"top-right\"",
                  "\"top-trailing\""
                ]
              }
            },
            {
              "name": "reference-element",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "state",
              "description": "The state of the component.",
              "default": "\"disabled\"",
              "value": {
                "type": [
                  "\"disabled\"",
                  "\"ready\""
                ]
              }
            }
          ],
          "events": [
            {
              "name": "arcgisPropertyChange",
              "type": "{ name: \"state\"; }",
              "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
            },
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            }
          ],
          "js": {
            "properties": [
              {
                "name": "disabled",
                "description": "When `true`, sets the component to a disabled state so the user cannot interact with it.",
                "type": "boolean"
              },
              {
                "name": "expandDirection",
                "description": "The direction the component will expand.\n\nBy default, the component will expand inward if assigned to a View UI corner. If the component is positioned manually,\nthe component will expand towards the \"end\" which is equivalent to right in a LTR application.",
                "type": "\"end\" | \"start\""
              },
              {
                "name": "expanded",
                "description": "The expanded state of the component.",
                "type": "boolean"
              },
              {
                "name": "label",
                "description": "The component's default label.",
                "type": "string"
              },
              {
                "name": "messageOverrides",
                "description": "Replace localized message strings with your own strings.\n\n_**Note**: Individual message keys may change between releases._",
                "type": "Record<string, unknown>"
              },
              {
                "name": "position",
                "type": "\"bottom-leading\" | \"bottom-left\" | \"bottom-right\" | \"bottom-trailing\" | \"manual\" | \"top-leading\" | \"top-left\" | \"top-right\" | \"top-trailing\""
              },
              {
                "name": "referenceElement",
                "type": "HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string"
              },
              {
                "name": "state",
                "description": "The state of the component.",
                "type": "\"disabled\" | \"ready\""
              }
            ],
            "events": [
              {
                "name": "arcgisPropertyChange",
                "type": "{ name: \"state\"; }",
                "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
              },
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              }
            ]
          }
        },
        {
          "name": "arcgis-track",
          "description": "The Track component is a button that when activated continuously animates the Map or Scene\nto the user's location as the user moves.\nThe view rotates based on device heading, and the default heading symbol will display\nwhen speed is greater than zero and the browser provides heading information.\n\nThis component uses the browser's [Geolocation API](https://developer.mozilla.org/en-US/docs/Web/API/Geolocation_API) which is only available in [secure contexts](https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts), such as HTTPS.\nNote that localhost is considered \"potentially secure\" and can be used for easy testing in browsers that support\n[Window.isSecureContext](https://developer.mozilla.org/en-US/docs/Web/API/isSecureContext#browser_compatibility).\n\n**Known limitations**\n\n- The heading symbol is not currently supported within a [Scene component](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-scene/).\n--\n\n### Events\n- **arcgisComplete**\n- **arcgisError**\n- **arcgisPropertyChange** - Emitted when the value of a property is changed. Use this to listen to changes to properties.\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n\n### Methods\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `destroy(): Promise<void>` - Permanently destroy the component.\n- `start(): Promise<void>` - Start tracking the user's location. Only start the component on a user gesture such as a click event.\n- `stop(): Promise<void>` - Stop tracking the user's location.",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-track/",
          "attributes": [
            {
              "name": "auto-destroy-disabled",
              "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-track/#destroy) method when you are done to\nprevent memory leaks.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "error",
              "description": "Error that caused the last [track-error](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Track-TrackViewModel.html#event:track-error) event to fire.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Track-TrackViewModel.html#error)",
              "default": "null",
              "value": {
                "type": "any"
              }
            },
            {
              "name": "geolocation-options",
              "description": "An object used for setting optional position parameters.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Track-TrackViewModel.html#geolocationOptions)",
              "default": "null",
              "value": {
                "type": "any"
              }
            },
            {
              "name": "go-to-location-disabled",
              "description": "Indicates whether to navigate the view to the position and scale of the geolocated result.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Track-TrackViewModel.html#goToLocationEnabled)",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "icon",
              "default": "\"compass-north-circle\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "label",
              "description": "The component's default label.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "position",
              "default": "\"top-left\"",
              "value": {
                "type": [
                  "\"bottom-leading\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"bottom-trailing\"",
                  "\"manual\"",
                  "\"top-leading\"",
                  "\"top-left\"",
                  "\"top-right\"",
                  "\"top-trailing\""
                ]
              }
            },
            {
              "name": "reference-element",
              "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "rotation-disabled",
              "description": "Indicates whether the component will automatically rotate to the device heading based on\nthe Geolocation APIs [`GeolocationCoordinates.heading`](https://developer.mozilla.org/en-US/docs/Web/API/GeolocationCoordinates/heading)\nproperty.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Track-TrackViewModel.html#rotationEnabled)",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "scale",
              "description": "Indicates the scale to set on the view when navigating to the position of the geolocated\nresult, after a location is returned from the [track](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Track-TrackViewModel.html#event-track) event.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Track-TrackViewModel.html#scale)",
              "default": "null",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "state",
              "description": "The current state of the component.",
              "default": "\"disabled\"",
              "value": {
                "type": [
                  "\"disabled\"",
                  "\"error\"",
                  "\"feature-unsupported\"",
                  "\"ready\"",
                  "\"tracking\"",
                  "\"waiting\""
                ]
              }
            }
          ],
          "events": [
            {
              "name": "arcgisComplete",
              "type": "TrackViewModelTrackEvent"
            },
            {
              "name": "arcgisError",
              "type": "TrackViewModelTrackErrorEvent"
            },
            {
              "name": "arcgisPropertyChange",
              "type": "{ name: \"state\"; }",
              "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
            },
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            }
          ],
          "js": {
            "properties": [
              {
                "name": "autoDestroyDisabled",
                "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-track/#destroy) method when you are done to\nprevent memory leaks.",
                "type": "boolean"
              },
              {
                "name": "error",
                "description": "Error that caused the last [track-error](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Track-TrackViewModel.html#event:track-error) event to fire.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Track-TrackViewModel.html#error)",
                "type": "any"
              },
              {
                "name": "geolocationOptions",
                "description": "An object used for setting optional position parameters.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Track-TrackViewModel.html#geolocationOptions)",
                "type": "any"
              },
              {
                "name": "goToLocationDisabled",
                "description": "Indicates whether to navigate the view to the position and scale of the geolocated result.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Track-TrackViewModel.html#goToLocationEnabled)",
                "type": "boolean"
              },
              {
                "name": "goToOverride",
                "description": "This function provides the ability to override either the\n[MapView goTo()](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#goTo) or\n[SceneView goTo()](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#goTo) methods.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Track-TrackViewModel.html#goToOverride)",
                "type": "(((view: MapView | SceneView, goToParameters: GoToParameters) => void))"
              },
              {
                "name": "graphic",
                "description": "The graphic used to show the user's location on the map.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Track-TrackViewModel.html#graphic)",
                "type": "Graphic"
              },
              {
                "name": "icon",
                "type": "string"
              },
              {
                "name": "label",
                "description": "The component's default label.",
                "type": "string"
              },
              {
                "name": "messageOverrides",
                "description": "Replace localized message strings with your own strings.\n\n_**Note**: Individual message keys may change between releases._",
                "type": "Record<string, unknown>"
              },
              {
                "name": "position",
                "type": "\"bottom-leading\" | \"bottom-left\" | \"bottom-right\" | \"bottom-trailing\" | \"manual\" | \"top-leading\" | \"top-left\" | \"top-right\" | \"top-trailing\""
              },
              {
                "name": "positionFilterFunction",
                "description": "A function that is used as an expression to evaluate geolocation points, and returns a boolean\nvalue.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Track-TrackViewModel.html#positionFilterFunction)",
                "type": "Function"
              },
              {
                "name": "referenceElement",
                "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
                "type": "HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string"
              },
              {
                "name": "rotationDisabled",
                "description": "Indicates whether the component will automatically rotate to the device heading based on\nthe Geolocation APIs [`GeolocationCoordinates.heading`](https://developer.mozilla.org/en-US/docs/Web/API/GeolocationCoordinates/heading)\nproperty.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Track-TrackViewModel.html#rotationEnabled)",
                "type": "boolean"
              },
              {
                "name": "scale",
                "description": "Indicates the scale to set on the view when navigating to the position of the geolocated\nresult, after a location is returned from the [track](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Track-TrackViewModel.html#event-track) event.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Track-TrackViewModel.html#scale)",
                "type": "number"
              },
              {
                "name": "state",
                "description": "The current state of the component.",
                "type": "\"disabled\" | \"error\" | \"feature-unsupported\" | \"ready\" | \"tracking\" | \"waiting\""
              },
              {
                "name": "tracking",
                "description": "Indicates whether new positions are being watched.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Track-TrackViewModel.html#tracking)",
                "type": "boolean"
              }
            ],
            "events": [
              {
                "name": "arcgisComplete",
                "type": "TrackViewModelTrackEvent"
              },
              {
                "name": "arcgisError",
                "type": "TrackViewModelTrackErrorEvent"
              },
              {
                "name": "arcgisPropertyChange",
                "type": "{ name: \"state\"; }",
                "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
              },
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              }
            ]
          }
        },
        {
          "name": "arcgis-utility-network-associations",
          "description": "The Utility Network Associations component offers an intuitive user interface, reducing the complexity of working with utility network associations.\n\n> The Utility Network Associations component does not support proxied feature services or feature services that utilize stored credentials.\n--\n\n### Events\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n\n### Methods\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `destroy(): Promise<void>` - Permanently destroy the component.",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-utility-network-associations/",
          "attributes": [
            {
              "name": "auto-destroy-disabled",
              "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-utility-network-associations/#destroy) method when you are done to\nprevent memory leaks.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "auto-refresh-associations-disabled",
              "description": "Indicates whether to show a toggle to automatically show associations every time the map\nextent changes, or an action button to show associations within the current map extent on demand.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-UtilityNetworkAssociations.html#autoRefreshAssociations)",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-connectivity-associations-settings-color-picker",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-connectivity-associations-settings-style-picker",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-connectivity-associations-settings-width-input",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-structural-attachment-associations-settings-color-picker",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-structural-attachment-associations-settings-style-picker",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-structural-attachment-associations-settings-width-input",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "icon",
              "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
              "default": "\"view-associations\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "include-connectivity-associations-disabled",
              "description": "Indicates whether to query and display connectivity associations.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-UtilityNetworkAssociations.html#includeConnectivityAssociations)",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "include-structural-attachment-associations-disabled",
              "description": "Indicates whether to query and display structural attachment associations.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-UtilityNetworkAssociations.html#includeStructuralAttachmentAssociations)",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "label",
              "description": "The widget's default label.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-UtilityNetworkAssociations.html#label)",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "max-allowable-associations",
              "description": "The maximum number of associations that can be returned from the server.",
              "default": "250",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "max-allowable-associations-slider-max",
              "description": "The maximum value or upper bound of the Maximum allowable associations slider.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-UtilityNetworkAssociations.html#maxAllowableAssociationsSliderMax)",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "max-allowable-associations-slider-min",
              "description": "The minimum value or lower bound of the Maximum allowable associations slider.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-UtilityNetworkAssociations.html#maxAllowableAssociationsSliderMin)",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "max-allowable-associations-slider-step",
              "description": "Specifies the interval to move the maximum allowable associations slider with the up, or down keys.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-UtilityNetworkAssociations.html#maxAllowableAssociationsSliderStep)",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "position",
              "default": "\"bottom-left\"",
              "value": {
                "type": [
                  "\"bottom-leading\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"bottom-trailing\"",
                  "\"manual\"",
                  "\"top-leading\"",
                  "\"top-left\"",
                  "\"top-right\"",
                  "\"top-trailing\""
                ]
              }
            },
            {
              "name": "reference-element",
              "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "show-arrows-connectivity",
              "description": "Indicates whether to show arrows for connectivity associations.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "show-arrows-structural-attachment",
              "description": "Indicates whether to show arrows for structural attachment associations.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "show-associations-enabled",
              "description": "When `autoRefreshAssociations` is `true`, indicates whether to automatically show associations\nevery time the current map extent changes.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "show-connectivity-associations-settings-arrows-toggle",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "show-connectivity-associations-settings-cap-select",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "show-max-allowable-associations-slider",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "show-structural-attachment-associations-settings-arrows-toggle",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "show-structural-attachment-associations-settings-cap-select",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "visible-elements-connectivity-associations-settings-arrows-toggle",
              "description": "**Deprecated**: since 4.32, showConnectivityAssociationsSettingsArrowsToggle instead. ",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "visible-elements-connectivity-associations-settings-cap-select",
              "description": "**Deprecated**: since 4.32, use showConnectivityAssociationsSettingsCapSelect instead. ",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "visible-elements-connectivity-associations-settings-color-picker",
              "description": "**Deprecated**: since 4.32, use hideConnectivityAssociationsSettingsColorPicker instead. ",
              "default": "true",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "visible-elements-connectivity-associations-settings-style-picker",
              "description": "**Deprecated**: since 4.32, use hideConnectivityAssociationsSettingsStylePicker instead. ",
              "default": "true",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "visible-elements-connectivity-associations-settings-width-input",
              "description": "**Deprecated**: since 4.32, use hideConnectivityAssociationsSettingsWidthInput instead. ",
              "default": "true",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "visible-elements-max-allowable-associations-slider",
              "description": "**Deprecated**: since 4.32, use showMaxAllowableAssociationsSlider instead. ",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "visible-elements-structural-attachment-associations-settings-arrows-toggle",
              "description": "**Deprecated**: since 4.32, use showStructuralAttachmentAssociationsSettingsArrowsToggle instead. ",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "visible-elements-structural-attachment-associations-settings-cap-select",
              "description": "**Deprecated**: since 4.32, use showStructuralAttachmentAssociationsSettingsCapSelect instead. ",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "visible-elements-structural-attachment-associations-settings-color-picker",
              "description": "**Deprecated**: since 4.32, use hideStructuralAttachmentAssociationsSettingsColorPicker instead. ",
              "default": "true",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "visible-elements-structural-attachment-associations-settings-style-picker",
              "description": "**Deprecated**: since 4.32, use hideStructuralAttachmentAssociationsSettingsStylePicker instead. ",
              "default": "true",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "visible-elements-structural-attachment-associations-settings-width-input",
              "description": "**Deprecated**: since 4.32, use hideStructuralAttachmentAssociationsSettingsWidthInput instead. ",
              "default": "true",
              "value": {
                "type": "boolean"
              }
            }
          ],
          "events": [
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            }
          ],
          "js": {
            "properties": [
              {
                "name": "autoDestroyDisabled",
                "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-utility-network-associations/#destroy) method when you are done to\nprevent memory leaks.",
                "type": "boolean"
              },
              {
                "name": "autoRefreshAssociationsDisabled",
                "description": "Indicates whether to show a toggle to automatically show associations every time the map\nextent changes, or an action button to show associations within the current map extent on demand.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-UtilityNetworkAssociations.html#autoRefreshAssociations)",
                "type": "boolean"
              },
              {
                "name": "connectivityAssociationsLineSymbol",
                "description": "A [SimpleLineSymbol](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-SimpleLineSymbol.html) used for representing the polyline geometry that is being\ndrawn for connectivity associations.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-UtilityNetworkAssociations.html#connectivityAssociationsLineSymbol)",
                "type": "SimpleLineSymbol"
              },
              {
                "name": "hideConnectivityAssociationsSettingsColorPicker",
                "type": "boolean"
              },
              {
                "name": "hideConnectivityAssociationsSettingsStylePicker",
                "type": "boolean"
              },
              {
                "name": "hideConnectivityAssociationsSettingsWidthInput",
                "type": "boolean"
              },
              {
                "name": "hideStructuralAttachmentAssociationsSettingsColorPicker",
                "type": "boolean"
              },
              {
                "name": "hideStructuralAttachmentAssociationsSettingsStylePicker",
                "type": "boolean"
              },
              {
                "name": "hideStructuralAttachmentAssociationsSettingsWidthInput",
                "type": "boolean"
              },
              {
                "name": "icon",
                "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
                "type": "string"
              },
              {
                "name": "includeConnectivityAssociationsDisabled",
                "description": "Indicates whether to query and display connectivity associations.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-UtilityNetworkAssociations.html#includeConnectivityAssociations)",
                "type": "boolean"
              },
              {
                "name": "includeStructuralAttachmentAssociationsDisabled",
                "description": "Indicates whether to query and display structural attachment associations.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-UtilityNetworkAssociations.html#includeStructuralAttachmentAssociations)",
                "type": "boolean"
              },
              {
                "name": "label",
                "description": "The widget's default label.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-UtilityNetworkAssociations.html#label)",
                "type": "string"
              },
              {
                "name": "maxAllowableAssociations",
                "description": "The maximum number of associations that can be returned from the server.",
                "type": "number"
              },
              {
                "name": "maxAllowableAssociationsSliderMax",
                "description": "The maximum value or upper bound of the Maximum allowable associations slider.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-UtilityNetworkAssociations.html#maxAllowableAssociationsSliderMax)",
                "type": "number"
              },
              {
                "name": "maxAllowableAssociationsSliderMin",
                "description": "The minimum value or lower bound of the Maximum allowable associations slider.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-UtilityNetworkAssociations.html#maxAllowableAssociationsSliderMin)",
                "type": "number"
              },
              {
                "name": "maxAllowableAssociationsSliderStep",
                "description": "Specifies the interval to move the maximum allowable associations slider with the up, or down keys.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-UtilityNetworkAssociations.html#maxAllowableAssociationsSliderStep)",
                "type": "number"
              },
              {
                "name": "position",
                "type": "\"bottom-leading\" | \"bottom-left\" | \"bottom-right\" | \"bottom-trailing\" | \"manual\" | \"top-leading\" | \"top-left\" | \"top-right\" | \"top-trailing\""
              },
              {
                "name": "referenceElement",
                "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
                "type": "HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string"
              },
              {
                "name": "showArrowsConnectivity",
                "description": "Indicates whether to show arrows for connectivity associations.",
                "type": "boolean"
              },
              {
                "name": "showArrowsStructuralAttachment",
                "description": "Indicates whether to show arrows for structural attachment associations.",
                "type": "boolean"
              },
              {
                "name": "showAssociationsEnabled",
                "description": "When `autoRefreshAssociations` is `true`, indicates whether to automatically show associations\nevery time the current map extent changes.",
                "type": "boolean"
              },
              {
                "name": "showConnectivityAssociationsSettingsArrowsToggle",
                "type": "boolean"
              },
              {
                "name": "showConnectivityAssociationsSettingsCapSelect",
                "type": "boolean"
              },
              {
                "name": "showMaxAllowableAssociationsSlider",
                "type": "boolean"
              },
              {
                "name": "showStructuralAttachmentAssociationsSettingsArrowsToggle",
                "type": "boolean"
              },
              {
                "name": "showStructuralAttachmentAssociationsSettingsCapSelect",
                "type": "boolean"
              },
              {
                "name": "structuralAttachmentAssociationsLineSymbol",
                "description": "A [SimpleLineSymbol](https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-SimpleLineSymbol.html) used for representing the polyline geometry that is being drawn for structural attachment associations.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-UtilityNetworkAssociations.html#structuralAttachmentAssociationsLineSymbol)",
                "type": "SimpleLineSymbol"
              },
              {
                "name": "utilityNetwork",
                "description": "Determines the utility network to use.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-UtilityNetworkAssociations.html#utilityNetwork)",
                "type": "UtilityNetwork"
              },
              {
                "name": "visibleElementsConnectivityAssociationsSettingsArrowsToggle",
                "type": "boolean"
              },
              {
                "name": "visibleElementsConnectivityAssociationsSettingsCapSelect",
                "type": "boolean"
              },
              {
                "name": "visibleElementsConnectivityAssociationsSettingsColorPicker",
                "type": "boolean"
              },
              {
                "name": "visibleElementsConnectivityAssociationsSettingsStylePicker",
                "type": "boolean"
              },
              {
                "name": "visibleElementsConnectivityAssociationsSettingsWidthInput",
                "type": "boolean"
              },
              {
                "name": "visibleElementsMaxAllowableAssociationsSlider",
                "type": "boolean"
              },
              {
                "name": "visibleElementsStructuralAttachmentAssociationsSettingsArrowsToggle",
                "type": "boolean"
              },
              {
                "name": "visibleElementsStructuralAttachmentAssociationsSettingsCapSelect",
                "type": "boolean"
              },
              {
                "name": "visibleElementsStructuralAttachmentAssociationsSettingsColorPicker",
                "type": "boolean"
              },
              {
                "name": "visibleElementsStructuralAttachmentAssociationsSettingsStylePicker",
                "type": "boolean"
              },
              {
                "name": "visibleElementsStructuralAttachmentAssociationsSettingsWidthInput",
                "type": "boolean"
              }
            ],
            "events": [
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              }
            ]
          }
        },
        {
          "name": "arcgis-utility-network-trace",
          "description": "Utility Network Trace component provides a way to run traces in a Utility Network based on connectivity or traversability from set input flags. Input flags (starting points and barriers) can be set by clicking the view.\n\n> The Utility Network Trace component does not support proxied feature services or feature services that utilize stored credentials.\n\nNote: Sign in to access the data in this sample, U/P: `viewer01`/`I68VGU^nMurF`\n--\n\n### Events\n- **arcgisAddFlag**\n- **arcgisAddFlagComplete**\n- **arcgisAddFlagError**\n- **arcgisAddResultArea**\n- **arcgisPropertyChange** - Emitted when the value of a property is changed. Use this to listen to changes to properties.\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n- **arcgisRemoveResultArea**\n\n### Methods\n- `checkCanTrace(): Promise<void>`\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `confirmReset(): Promise<void>`\n- `destroy(): Promise<void>` - Permanently destroy the component.",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-utility-network-trace/",
          "attributes": [
            {
              "name": "auto-destroy-disabled",
              "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-utility-network-trace/#destroy) method when you are done to\nprevent memory leaks.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "disabled",
              "description": "When true, the widget is visually withdrawn and cannot be interacted with.",
              "default": "true",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "enable-result-area",
              "description": "When `true`, provides the ability to show the convex hull or buffer.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "gdb-version",
              "description": "**Deprecated**: `gdbVersion` is deprecated since version 4.31.. The Geodatabase version to pass into the trace.",
              "default": "\"sde.DEFAULT\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "icon",
              "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
              "default": "\"utility-network-trace\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "label",
              "description": "The widget's default label.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-UtilityNetworkTrace.html#label)",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "position",
              "default": "\"top-right\"",
              "value": {
                "type": [
                  "\"bottom-leading\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"bottom-trailing\"",
                  "\"manual\"",
                  "\"top-leading\"",
                  "\"top-left\"",
                  "\"top-right\"",
                  "\"top-trailing\""
                ]
              }
            },
            {
              "name": "reference-element",
              "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "select-on-complete-disabled",
              "description": "When true, the utility network elements are selected in the view when traces are completed.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-UtilityNetworkTrace.html#selectOnComplete)",
              "default": "true",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "show-graphics-on-complete-disabled",
              "description": "When true, a graphic layer is added to the view to highlight the utility network elements when traces are completed.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-UtilityNetworkTrace.html#showGraphicsOnComplete)",
              "default": "true",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "show-selection-attributes-disabled",
              "description": "Determines whether to show list of selection attributes.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-UtilityNetworkTrace.html#showSelectionAttributes)",
              "default": "true",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "state",
              "description": "The current state of the component.",
              "default": "\"ready\"",
              "value": {
                "type": [
                  "\"loading\"",
                  "\"ready\""
                ]
              }
            }
          ],
          "events": [
            {
              "name": "arcgisAddFlag",
              "type": "UtilityNetworkTraceAddFlagEvent"
            },
            {
              "name": "arcgisAddFlagComplete",
              "type": "UtilityNetworkTraceAddFlagCompleteEvent"
            },
            {
              "name": "arcgisAddFlagError",
              "type": "UtilityNetworkTraceAddFlagErrorEvent"
            },
            {
              "name": "arcgisAddResultArea",
              "type": "UtilityNetworkTraceAddResultAreaEvent"
            },
            {
              "name": "arcgisPropertyChange",
              "type": "{ name: \"state\"; }",
              "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
            },
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            },
            {
              "name": "arcgisRemoveResultArea",
              "type": "UtilityNetworkTraceRemoveResultAreaEvent"
            }
          ],
          "js": {
            "properties": [
              {
                "name": "autoDestroyDisabled",
                "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-utility-network-trace/#destroy) method when you are done to\nprevent memory leaks.",
                "type": "boolean"
              },
              {
                "name": "defaultGraphicColor",
                "description": "The default color to assign the aggregated geometry of a trace result.",
                "type": "GraphicColor"
              },
              {
                "name": "disabled",
                "description": "When true, the widget is visually withdrawn and cannot be interacted with.",
                "type": "boolean"
              },
              {
                "name": "enableResultArea",
                "description": "When `true`, provides the ability to show the convex hull or buffer.",
                "type": "boolean"
              },
              {
                "name": "flags",
                "description": "An array of map points to load into the widget to lookup flags.",
                "type": "Array<FlagProperty>"
              },
              {
                "name": "gdbVersion",
                "description": "The Geodatabase version to pass into the trace.",
                "type": "string"
              },
              {
                "name": "icon",
                "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
                "type": "string"
              },
              {
                "name": "inputSettings",
                "description": "Custom labels, descriptions, and symbol for the input [flags](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-UtilityNetworkTrace.html#flags).",
                "type": "Array<InputSetting>"
              },
              {
                "name": "label",
                "description": "The widget's default label.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-UtilityNetworkTrace.html#label)",
                "type": "string"
              },
              {
                "name": "position",
                "type": "\"bottom-leading\" | \"bottom-left\" | \"bottom-right\" | \"bottom-trailing\" | \"manual\" | \"top-leading\" | \"top-left\" | \"top-right\" | \"top-trailing\""
              },
              {
                "name": "referenceElement",
                "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
                "type": "HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string"
              },
              {
                "name": "resultAreaProperties",
                "description": "The properties to determine the size and color of the result area convex hull or buffer, and determines if it displays on the map when the trace completes.",
                "type": "ResultAreaPropertiesExtend"
              },
              {
                "name": "selectedTraces",
                "description": "A list of global Ids of traces to select on load.",
                "type": "Array<string>"
              },
              {
                "name": "selectOnCompleteDisabled",
                "description": "When true, the utility network elements are selected in the view when traces are completed.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-UtilityNetworkTrace.html#selectOnComplete)",
                "type": "boolean"
              },
              {
                "name": "showGraphicsOnCompleteDisabled",
                "description": "When true, a graphic layer is added to the view to highlight the utility network elements when traces are completed.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-UtilityNetworkTrace.html#showGraphicsOnComplete)",
                "type": "boolean"
              },
              {
                "name": "showSelectionAttributesDisabled",
                "description": "Determines whether to show list of selection attributes.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-UtilityNetworkTrace.html#showSelectionAttributes)",
                "type": "boolean"
              },
              {
                "name": "state",
                "description": "The current state of the component.",
                "type": "\"loading\" | \"ready\""
              }
            ],
            "events": [
              {
                "name": "arcgisAddFlag",
                "type": "UtilityNetworkTraceAddFlagEvent"
              },
              {
                "name": "arcgisAddFlagComplete",
                "type": "UtilityNetworkTraceAddFlagCompleteEvent"
              },
              {
                "name": "arcgisAddFlagError",
                "type": "UtilityNetworkTraceAddFlagErrorEvent"
              },
              {
                "name": "arcgisAddResultArea",
                "type": "UtilityNetworkTraceAddResultAreaEvent"
              },
              {
                "name": "arcgisPropertyChange",
                "type": "{ name: \"state\"; }",
                "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
              },
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              },
              {
                "name": "arcgisRemoveResultArea",
                "type": "UtilityNetworkTraceRemoveResultAreaEvent"
              }
            ]
          }
        },
        {
          "name": "arcgis-utility-network-validate-topology",
          "description": "### Events\n- **arcgisPropertyChange** - Emitted when the value of a property is changed. Use this to listen to changes to properties.\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n\n### Methods\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `destroy(): Promise<void>` - Permanently destroy the component.",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-utility-network-validate-topology/",
          "attributes": [
            {
              "name": "auto-destroy-disabled",
              "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-utility-network-validate-topology/#destroy) method when you are done to\nprevent memory leaks.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "extent-to-validate",
              "description": "Specifies the extent of the validation.",
              "default": "\"current\"",
              "value": {
                "type": [
                  "\"current\"",
                  "\"entire\""
                ]
              }
            },
            {
              "name": "icon",
              "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
              "default": "\"check-circle\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "label",
              "description": "The widget's default label.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-UtilityNetworkValidateTopology.html#label)",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "position",
              "default": "\"top-right\"",
              "value": {
                "type": [
                  "\"bottom-leading\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"bottom-trailing\"",
                  "\"manual\"",
                  "\"top-leading\"",
                  "\"top-left\"",
                  "\"top-right\"",
                  "\"top-trailing\""
                ]
              }
            },
            {
              "name": "reference-element",
              "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "state",
              "description": "The current state of the component.",
              "default": "\"ready\"",
              "value": {
                "type": [
                  "\"disabled\"",
                  "\"executing\"",
                  "\"failed\"",
                  "\"loading\"",
                  "\"ready\"",
                  "\"success\""
                ]
              }
            }
          ],
          "events": [
            {
              "name": "arcgisPropertyChange",
              "type": "{ name: \"state\"; }",
              "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
            },
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            }
          ],
          "js": {
            "properties": [
              {
                "name": "autoDestroyDisabled",
                "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-utility-network-validate-topology/#destroy) method when you are done to\nprevent memory leaks.",
                "type": "boolean"
              },
              {
                "name": "extentToValidate",
                "description": "Specifies the extent of the validation.",
                "type": "\"current\" | \"entire\""
              },
              {
                "name": "icon",
                "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
                "type": "string"
              },
              {
                "name": "label",
                "description": "The widget's default label.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-UtilityNetworkValidateTopology.html#label)",
                "type": "string"
              },
              {
                "name": "position",
                "type": "\"bottom-leading\" | \"bottom-left\" | \"bottom-right\" | \"bottom-trailing\" | \"manual\" | \"top-leading\" | \"top-left\" | \"top-right\" | \"top-trailing\""
              },
              {
                "name": "referenceElement",
                "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
                "type": "HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string"
              },
              {
                "name": "state",
                "description": "The current state of the component.",
                "type": "\"disabled\" | \"executing\" | \"failed\" | \"loading\" | \"ready\" | \"success\""
              },
              {
                "name": "utilityNetwork",
                "description": "Determines the utility network to use.",
                "type": "UtilityNetwork"
              }
            ],
            "events": [
              {
                "name": "arcgisPropertyChange",
                "type": "{ name: \"state\"; }",
                "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
              },
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              }
            ]
          }
        },
        {
          "name": "arcgis-value-picker",
          "description": "### Events\n- **arcgisAnimate**\n- **arcgisNext**\n- **arcgisPause**\n- **arcgisPlay**\n- **arcgisPrevious**\n- **arcgisPropertyChange** - Emitted when the value of a property is changed. Use this to listen to changes to properties.\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n\n### Methods\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `destroy(): Promise<void>` - Permanently destroy the component.\n- `next(): Promise<void>`\n- `pause(): Promise<void>`\n- `play(): Promise<void>`\n- `previous(): Promise<void>`",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-value-picker/",
          "attributes": [
            {
              "name": "auto-destroy-disabled",
              "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-value-picker/#destroy) method when you are done to\nprevent memory leaks.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "can-next",
              "description": "Returns `true` if the ValuePicker can be advanced to the next position.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ValuePicker.html#canNext)",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "can-play",
              "description": "Returns `true` if the ValuePicker can be played.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ValuePicker.html#canPlay)",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "can-previous",
              "description": "Returns `true` if the ValuePicker can moved to the previous item.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ValuePicker.html#canPrevious)",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "caption",
              "description": "An optional caption that appears on the ValuePicker widget to give context for the user.",
              "default": "null",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "hide-next-button",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-play-button",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "hide-previous-button",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "icon",
              "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
              "default": "\"list-rectangle\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "label",
              "description": "The widget's label.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Widget.html#label)",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "layout",
              "description": "Indicates if the widget should be orientated horizontally (default) or vertically.",
              "default": "\"horizontal\"",
              "value": {
                "type": [
                  "\"horizontal\"",
                  "\"vertical\""
                ]
              }
            },
            {
              "name": "loop",
              "description": "If true, playback will restart when it reaches the end.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "play-rate",
              "description": "The pause, in milliseconds between playback advancement.",
              "default": "1000",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "position",
              "default": "\"bottom-left\"",
              "value": {
                "type": [
                  "\"bottom-leading\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"bottom-trailing\"",
                  "\"manual\"",
                  "\"top-leading\"",
                  "\"top-left\"",
                  "\"top-right\"",
                  "\"top-trailing\""
                ]
              }
            },
            {
              "name": "reference-element",
              "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
              "value": {
                "type": "string"
              }
            }
          ],
          "events": [
            {
              "name": "arcgisAnimate",
              "type": "ValuePickerAnimateEvent"
            },
            {
              "name": "arcgisNext",
              "type": "ValuePickerNextEvent"
            },
            {
              "name": "arcgisPause",
              "type": "ValuePickerPauseEvent"
            },
            {
              "name": "arcgisPlay",
              "type": "ValuePickerPlayEvent"
            },
            {
              "name": "arcgisPrevious",
              "type": "ValuePickerPreviousEvent"
            },
            {
              "name": "arcgisPropertyChange",
              "type": "{ name: \"values\"; }",
              "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
            },
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            }
          ],
          "js": {
            "properties": [
              {
                "name": "autoDestroyDisabled",
                "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-value-picker/#destroy) method when you are done to\nprevent memory leaks.",
                "type": "boolean"
              },
              {
                "name": "canNext",
                "description": "Returns `true` if the ValuePicker can be advanced to the next position.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ValuePicker.html#canNext)",
                "type": "boolean"
              },
              {
                "name": "canPlay",
                "description": "Returns `true` if the ValuePicker can be played.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ValuePicker.html#canPlay)",
                "type": "boolean"
              },
              {
                "name": "canPrevious",
                "description": "Returns `true` if the ValuePicker can moved to the previous item.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-ValuePicker.html#canPrevious)",
                "type": "boolean"
              },
              {
                "name": "caption",
                "description": "An optional caption that appears on the ValuePicker widget to give context for the user.",
                "type": "string"
              },
              {
                "name": "component",
                "description": "An optional component for presenting and managing data.",
                "type": "ValuePickerCollection | ValuePickerCombobox | ValuePickerLabel | ValuePickerSlider"
              },
              {
                "name": "hideNextButton",
                "type": "boolean"
              },
              {
                "name": "hidePlayButton",
                "type": "boolean"
              },
              {
                "name": "hidePreviousButton",
                "type": "boolean"
              },
              {
                "name": "icon",
                "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
                "type": "string"
              },
              {
                "name": "label",
                "description": "The widget's label.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Widget.html#label)",
                "type": "string"
              },
              {
                "name": "layout",
                "description": "Indicates if the widget should be orientated horizontally (default) or vertically.",
                "type": "\"horizontal\" | \"vertical\""
              },
              {
                "name": "loop",
                "description": "If true, playback will restart when it reaches the end.",
                "type": "boolean"
              },
              {
                "name": "playRate",
                "description": "The pause, in milliseconds between playback advancement.",
                "type": "number"
              },
              {
                "name": "position",
                "type": "\"bottom-leading\" | \"bottom-left\" | \"bottom-right\" | \"bottom-trailing\" | \"manual\" | \"top-leading\" | \"top-left\" | \"top-right\" | \"top-trailing\""
              },
              {
                "name": "referenceElement",
                "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
                "type": "HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string"
              },
              {
                "name": "values",
                "description": "The current value of the ValuePicker.",
                "type": "Array<any> | Array<number> | Array<string>"
              }
            ],
            "events": [
              {
                "name": "arcgisAnimate",
                "type": "ValuePickerAnimateEvent"
              },
              {
                "name": "arcgisNext",
                "type": "ValuePickerNextEvent"
              },
              {
                "name": "arcgisPause",
                "type": "ValuePickerPauseEvent"
              },
              {
                "name": "arcgisPlay",
                "type": "ValuePickerPlayEvent"
              },
              {
                "name": "arcgisPrevious",
                "type": "ValuePickerPreviousEvent"
              },
              {
                "name": "arcgisPropertyChange",
                "type": "{ name: \"values\"; }",
                "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
              },
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              }
            ]
          }
        },
        {
          "name": "arcgis-version-management",
          "description": "The Version Management component allows users to view available versions, change versions, delete versions, and alter versions.\nThe [View](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View.html) will update to match the features on the selected version.\nTo learn more about version management please visit the [versioning guide doc](https://developers.arcgis.com/javascript/latest/utility-network/version-management-service/).\n\n> The Version Management component does not support proxied feature services or feature services that utilize stored credentials.\n\nNote: Sign in to access the data in this sample, U/P: `viewer01`/`I68VGU^nMurF`\n--\n\n### Events\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n- **arcgisVersioningStateChanged**\n\n### Methods\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `destroy(): Promise<void>` - Permanently destroy the component.",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-version-management/",
          "attributes": [
            {
              "name": "allow-editing-disabled",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "auto-destroy-disabled",
              "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-version-management/#destroy) method when you are done to\nprevent memory leaks.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "closable",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "icon",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "label",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "mode",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "page-size",
              "description": "Specifies the number of versions displayed on each page of the Version Management component.",
              "default": "5",
              "value": {
                "type": "number"
              }
            },
            {
              "name": "position",
              "default": "\"top-right\"",
              "value": {
                "type": [
                  "\"bottom-leading\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"bottom-trailing\"",
                  "\"manual\"",
                  "\"top-leading\"",
                  "\"top-left\"",
                  "\"top-right\"",
                  "\"top-trailing\""
                ]
              }
            },
            {
              "name": "reference-element",
              "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "state",
              "description": "The current state of the component.",
              "value": {
                "type": [
                  "\"disabled\"",
                  "\"executing\"",
                  "\"failed\"",
                  "\"loading\"",
                  "\"ready\"",
                  "\"success\""
                ]
              }
            }
          ],
          "events": [
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            },
            {
              "name": "arcgisVersioningStateChanged",
              "type": "VersioningStateEvent"
            }
          ],
          "js": {
            "properties": [
              {
                "name": "allowEditingDisabled",
                "type": "boolean"
              },
              {
                "name": "autoDestroyDisabled",
                "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-version-management/#destroy) method when you are done to\nprevent memory leaks.",
                "type": "boolean"
              },
              {
                "name": "closable",
                "type": "boolean"
              },
              {
                "name": "icon",
                "type": "string"
              },
              {
                "name": "initialVersionInfos",
                "description": "The `initialVersionInfos` property enables users to initialize the Version Management component with a predefined set of versions.\nBy providing an array of `InitialVersionInfo`, the component displays a specified version for each feature service upon initialization.",
                "type": "Array<{\n    url: string;\n    name: string;\n}>"
              },
              {
                "name": "label",
                "type": "string"
              },
              {
                "name": "messageOverrides",
                "description": "Replace localized message strings with your own strings.\n\n_**Note**: Individual message keys may change between releases._",
                "type": "Record<string, unknown>"
              },
              {
                "name": "mode",
                "type": "string"
              },
              {
                "name": "pageSize",
                "description": "Specifies the number of versions displayed on each page of the Version Management component.",
                "type": "number"
              },
              {
                "name": "position",
                "type": "\"bottom-leading\" | \"bottom-left\" | \"bottom-right\" | \"bottom-trailing\" | \"manual\" | \"top-leading\" | \"top-left\" | \"top-right\" | \"top-trailing\""
              },
              {
                "name": "referenceElement",
                "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
                "type": "HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string"
              },
              {
                "name": "state",
                "description": "The current state of the component.",
                "type": "\"disabled\" | \"executing\" | \"failed\" | \"loading\" | \"ready\" | \"success\""
              },
              {
                "name": "versioningStates",
                "description": "This class provides functionality for managing versions in a versioned geodatabase.\nIn the event that the Version Management component is destroyed, the VersioningStates can be utilized to maintain the current state of the Version Management component.\nThe Version Management component can be reinitialized using a `Collection<VersioningState>`, or a predefined `Collection<VersioningState>` can be provided during the initial instantiation of the Version Management component.",
                "type": "Collection<VersioningState>"
              }
            ],
            "events": [
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              },
              {
                "name": "arcgisVersioningStateChanged",
                "type": "VersioningStateEvent"
              }
            ]
          }
        },
        {
          "name": "arcgis-video",
          "description": "The ArcGIS Video component provides a view for displaying video feeds from a\n[VideoLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-VideoLayer.html).\nIt is designed to render and interact with video layers.\n\nA Video component must have a valid VideoLayer.\nIt supports various features such as navigating, zooming, and panning, making it suitable for\napplications that require interactive video overlays.\n--\n\n### Events\n- **arcgisViewReadyChange**\n\n### Methods\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `destroy(): Promise<void>` - Destroys the view, and any associated resources, including its map, popup, and UI elements.",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-video/",
          "attributes": [
            {
              "name": "auto-destroy-disabled",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            }
          ],
          "events": [
            {
              "name": "arcgisViewReadyChange",
              "type": "void"
            }
          ],
          "js": {
            "properties": [
              {
                "name": "autoDestroyDisabled",
                "type": "boolean"
              },
              {
                "name": "layer",
                "description": "The [VideoLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-VideoLayer.html) to display in the view.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-VideoView.html#layer)",
                "type": "VideoLayer"
              },
              {
                "name": "map",
                "description": "A reference to the associated [Map](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html) or [WebMap](https://developers.arcgis.com/javascript/latest/api-reference/esri-WebMap.html).",
                "type": "Map | WebMap"
              },
              {
                "name": "ready",
                "description": "When `true`, this property indicates whether the view successfully satisfied all dependencies,\nsignaling that the following conditions are met.\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-VideoView.html#ready)",
                "type": "boolean"
              },
              {
                "name": "view",
                "description": "The [VideoView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-VideoView.html) instance created and manged by the component. Accessible once the component is fully loaded.",
                "type": "VideoView"
              }
            ],
            "events": [
              {
                "name": "arcgisViewReadyChange",
                "type": "void"
              }
            ]
          }
        },
        {
          "name": "arcgis-video-player",
          "description": "The Video Player component provides a user interface for interacting with a [VideoLayer](api-reference/esri-layers-VideoLayer.html).\nIt displays the original video content and provides controls for playing, pausing, seeking, and changing the video speed and quality.\n\nThe Video Player component provides the following capabilities:\n - Control operations (play, pause, seek)\n - Time and duration display\n - Customizable graphics colors\n - Following options (sensor, frame, video)\n - Adjustable speed and quality\n - Access to frame metadata\n\nThe [VideoPlayerViewModel](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-VideoPlayer-VideoPlayerViewModel.html) class provides the logic for the Video Player.\n\n**Known limitations**\n\n* Not supported in 3D [Scenes](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-scene/).\n* Not supported on macOS and iOS devices.\n\n[![](https://developers.arcgis.com/javascript/latest/assets/img/apiref/widgets/video-player-video-preview.png)](https://mediaspace.esri.com/media/1_ctc3psfr)\n--\n\n### Events\n- **arcgisPropertyChange** - Emitted when the value of a property is changed. Use this to listen to changes to properties.\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n- **arcgisVideoReady**\n\n### Methods\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `destroy(): Promise<void>` - Permanently destroy the component.",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-video-player/",
          "attributes": [
            {
              "name": "auto-destroy-disabled",
              "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-video-player/#destroy) method when you are done to\nprevent memory leaks.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "following-mode",
              "description": "Determines which telemetry elements to follow when the video layer is playing.",
              "default": "\"follow-both\"",
              "value": {
                "type": [
                  "\"follow-both\"",
                  "\"follow-frame\"",
                  "\"follow-sensor\"",
                  "\"none\""
                ]
              }
            },
            {
              "name": "hide-header",
              "description": "Indicates whether to display the video player's header information.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "icon",
              "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
              "default": "\"video-web\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "label",
              "description": "The component's default label.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "position",
              "default": "\"top-left\"",
              "value": {
                "type": [
                  "\"bottom-leading\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"bottom-trailing\"",
                  "\"manual\"",
                  "\"top-leading\"",
                  "\"top-left\"",
                  "\"top-right\"",
                  "\"top-trailing\""
                ]
              }
            },
            {
              "name": "reference-element",
              "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "state",
              "description": "The current state of the component.",
              "value": {
                "type": [
                  "\"can-play\"",
                  "\"data-loaded\"",
                  "\"error\"",
                  "\"not-ready\"",
                  "\"paused\"",
                  "\"playing\"",
                  "\"ready\"",
                  "\"waiting\""
                ]
              }
            }
          ],
          "events": [
            {
              "name": "arcgisPropertyChange",
              "type": "{ name: \"state\" | \"layer\"; }",
              "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
            },
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            },
            {
              "name": "arcgisVideoReady",
              "type": "void"
            }
          ],
          "js": {
            "properties": [
              {
                "name": "autoDestroyDisabled",
                "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-video-player/#destroy) method when you are done to\nprevent memory leaks.",
                "type": "boolean"
              },
              {
                "name": "followingMode",
                "description": "Determines which telemetry elements to follow when the video layer is playing.",
                "type": "\"follow-both\" | \"follow-frame\" | \"follow-sensor\" | \"none\""
              },
              {
                "name": "hideHeader",
                "description": "Indicates whether to display the video player's header information.",
                "type": "boolean"
              },
              {
                "name": "icon",
                "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
                "type": "string"
              },
              {
                "name": "label",
                "description": "The component's default label.",
                "type": "string"
              },
              {
                "name": "layer",
                "description": "The [VideoLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-VideoLayer.html) to use as the data source for the video player.",
                "type": "VideoLayer"
              },
              {
                "name": "messageOverrides",
                "description": "Replace localized message strings with your own strings.\n\n_**Note**: Individual message keys may change between releases._",
                "type": "Record<string, unknown>"
              },
              {
                "name": "position",
                "type": "\"bottom-leading\" | \"bottom-left\" | \"bottom-right\" | \"bottom-trailing\" | \"manual\" | \"top-leading\" | \"top-left\" | \"top-right\" | \"top-trailing\""
              },
              {
                "name": "referenceElement",
                "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
                "type": "HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string"
              },
              {
                "name": "state",
                "description": "The current state of the component.",
                "type": "\"can-play\" | \"data-loaded\" | \"error\" | \"not-ready\" | \"paused\" | \"playing\" | \"ready\" | \"waiting\""
              }
            ],
            "events": [
              {
                "name": "arcgisPropertyChange",
                "type": "{ name: \"state\" | \"layer\"; }",
                "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
              },
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              },
              {
                "name": "arcgisVideoReady",
                "type": "void"
              }
            ]
          }
        },
        {
          "name": "arcgis-weather",
          "description": "The Weather component allows easy selection and configuration of weather effects in a\n[Scene](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-scene/) component.\nThe available weather types are:\n[sunny](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-3d-environment-SunnyWeather.html),\n[cloudy](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-3d-environment-CloudyWeather.html),\n[rainy](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-3d-environment-RainyWeather.html),\n[snowy](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-3d-environment-SnowyWeather.html), and\n[foggy](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-3d-environment-FoggyWeather.html).\n\nTo set the weather programmatically, apply the desired weather type to the\n[environment](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-scene/#environment) property of the Scene component.\n\n```js\n// Access the Scene component.\nconst viewElement = document.querySelector(\"arcgis-scene\");\nawait viewElement.viewOnReady();\n// Specify the weather settings.\nviewElement.environment.weather = {\n   type: \"rainy\", // autocasts as new RainyWeather({ cloudCover: 0.7, precipitation: 0.3 })\n   cloudCover: 0.7,\n   precipitation: 0.3\n};\n```\n\nTo determine if the weather visualization is available, check the boolean value of `viewElement.environment.weatherAvailable`. The weather is only available:\n   * in `global` [viewing mode](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-scene/#viewingMode),\n   * when `atmosphereEnabled` property on [environment](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-scene/#environment) is `true`,\n   * at lower altitudes, near the ground.\n\n**Known limitations**\n\nWeather is only supported in a 3D [Scene](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-scene/) component.\n\n**See also**\n\n- [SunnyWeather](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-3d-environment-SunnyWeather.html)\n- [CloudyWeather](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-3d-environment-CloudyWeather.html)\n- [RainyWeather](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-3d-environment-RainyWeather.html)\n- [SnowyWeather](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-3d-environment-SnowyWeather.html)\n- [FoggyWeather](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-3d-environment-FoggyWeather.html)\n- [Sample - Weather component](https://developers.arcgis.com/javascript/latest/sample-code/weather/)\n--\n\n### Events\n- **arcgisPropertyChange** - Emitted when the value of a property is changed. Use this to listen to changes to properties.\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n\n### Methods\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `destroy(): Promise<void>` - Permanently destroy the component.",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-weather/",
          "attributes": [
            {
              "name": "auto-destroy-disabled",
              "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-weather/#destroy) method when you are done to\nprevent memory leaks.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "heading-level",
              "description": "Indicates the heading level to use for the title of the component. By default, this message is rendered as a level 4\nheading (e.g. `<h4>Time range</h4>`). Depending on the component's placement in your app, you may need to adjust\nthis heading for proper semantics. This is important for meeting accessibility standards.",
              "default": "4",
              "value": {
                "type": [
                  "1",
                  "2",
                  "3",
                  "4",
                  "5",
                  "6"
                ]
              }
            },
            {
              "name": "hide-header",
              "description": "Whether to hide the component's header.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "icon",
              "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
              "default": "\"partly-cloudy\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "label",
              "description": "The component's default label.",
              "default": "\"Weather\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "position",
              "default": "\"bottom-left\"",
              "value": {
                "type": [
                  "\"bottom-leading\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"bottom-trailing\"",
                  "\"manual\"",
                  "\"top-leading\"",
                  "\"top-left\"",
                  "\"top-right\"",
                  "\"top-trailing\""
                ]
              }
            },
            {
              "name": "reference-element",
              "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "state",
              "description": "The current state of the component.",
              "value": {
                "type": [
                  "\"disabled\"",
                  "\"error\"",
                  "\"ready\""
                ]
              }
            }
          ],
          "events": [
            {
              "name": "arcgisPropertyChange",
              "type": "{ name: \"state\"; }",
              "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
            },
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            }
          ],
          "js": {
            "properties": [
              {
                "name": "autoDestroyDisabled",
                "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-weather/#destroy) method when you are done to\nprevent memory leaks.",
                "type": "boolean"
              },
              {
                "name": "headingLevel",
                "description": "Indicates the heading level to use for the title of the component. By default, this message is rendered as a level 4\nheading (e.g. `<h4>Time range</h4>`). Depending on the component's placement in your app, you may need to adjust\nthis heading for proper semantics. This is important for meeting accessibility standards.",
                "type": "1 | 2 | 3 | 4 | 5 | 6"
              },
              {
                "name": "hideHeader",
                "description": "Whether to hide the component's header.",
                "type": "boolean"
              },
              {
                "name": "icon",
                "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
                "type": "string"
              },
              {
                "name": "label",
                "description": "The component's default label.",
                "type": "string"
              },
              {
                "name": "messageOverrides",
                "description": "Replace localized message strings with your own strings.\n\n_**Note**: Individual message keys may change between releases._",
                "type": "Record<string, unknown>"
              },
              {
                "name": "position",
                "type": "\"bottom-leading\" | \"bottom-left\" | \"bottom-right\" | \"bottom-trailing\" | \"manual\" | \"top-leading\" | \"top-left\" | \"top-right\" | \"top-trailing\""
              },
              {
                "name": "referenceElement",
                "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
                "type": "HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string"
              },
              {
                "name": "state",
                "description": "The current state of the component.",
                "type": "\"disabled\" | \"error\" | \"ready\""
              }
            ],
            "events": [
              {
                "name": "arcgisPropertyChange",
                "type": "{ name: \"state\"; }",
                "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
              },
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              }
            ]
          }
        },
        {
          "name": "arcgis-zoom",
          "description": "The Zoom component allows users to zoom in/out within a map or scene.\n--\n\n### Events\n- **arcgisPropertyChange** - Emitted when the value of a property is changed. Use this to listen to changes to properties.\n- **arcgisReady** - Emitted when the component associated with a map or scene view is is ready to be interacted with.\n\n### Methods\n- `componentOnReady(): Promise<void>` - Create a promise that resolves once component is fully loaded.\n- `destroy(): Promise<void>` - Permanently destroy the component.\n- `zoomIn(): Promise<void>` - Zooms the view in by an LOD factor of 0.5.\n- `zoomOut(): Promise<void>` - Zooms the view out by an LOD factor of 2.",
          "doc-url": "https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-zoom/",
          "attributes": [
            {
              "name": "auto-destroy-disabled",
              "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-zoom/#destroy) method when you are done to\nprevent memory leaks.",
              "default": "false",
              "value": {
                "type": "boolean"
              }
            },
            {
              "name": "icon",
              "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
              "default": "\"magnifying-glass-plus\"",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "label",
              "description": "The component's default label.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "layout",
              "description": "Determines the layout/orientation of the Zoom widget.",
              "default": "\"vertical\"",
              "value": {
                "type": [
                  "\"horizontal\"",
                  "\"vertical\""
                ]
              }
            },
            {
              "name": "position",
              "default": "\"top-left\"",
              "value": {
                "type": [
                  "\"bottom-leading\"",
                  "\"bottom-left\"",
                  "\"bottom-right\"",
                  "\"bottom-trailing\"",
                  "\"manual\"",
                  "\"top-leading\"",
                  "\"top-left\"",
                  "\"top-right\"",
                  "\"top-trailing\""
                ]
              }
            },
            {
              "name": "reference-element",
              "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
              "value": {
                "type": "string"
              }
            },
            {
              "name": "state",
              "description": "The current state of the component.",
              "default": "\"disabled\"",
              "value": {
                "type": [
                  "\"disabled\"",
                  "\"ready\""
                ]
              }
            }
          ],
          "events": [
            {
              "name": "arcgisPropertyChange",
              "type": "{ name: \"state\"; }",
              "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
            },
            {
              "name": "arcgisReady",
              "type": "void",
              "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
            }
          ],
          "js": {
            "properties": [
              {
                "name": "autoDestroyDisabled",
                "description": "If true, the component will not be destroyed automatically when it is\ndisconnected from the document. This is useful when you want to move the\ncomponent to a different place on the page, or temporarily hide it. If this\nis set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-zoom/#destroy) method when you are done to\nprevent memory leaks.",
                "type": "boolean"
              },
              {
                "name": "icon",
                "description": "Icon which represents the component.\nTypically used when the component is controlled by another component (e.g. by the Expand component).",
                "type": "string"
              },
              {
                "name": "label",
                "description": "The component's default label.",
                "type": "string"
              },
              {
                "name": "layout",
                "description": "Determines the layout/orientation of the Zoom widget.",
                "type": "\"horizontal\" | \"vertical\""
              },
              {
                "name": "messageOverrides",
                "description": "Replace localized message strings with your own strings.\n\n_**Note**: Individual message keys may change between releases._",
                "type": "Record<string, unknown>"
              },
              {
                "name": "position",
                "type": "\"bottom-leading\" | \"bottom-left\" | \"bottom-right\" | \"bottom-trailing\" | \"manual\" | \"top-leading\" | \"top-left\" | \"top-right\" | \"top-trailing\""
              },
              {
                "name": "referenceElement",
                "description": "By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.",
                "type": "HTMLArcgisLinkChartElement | HTMLArcgisMapElement | HTMLArcgisSceneElement | string"
              },
              {
                "name": "state",
                "description": "The current state of the component.",
                "type": "\"disabled\" | \"ready\""
              }
            ],
            "events": [
              {
                "name": "arcgisPropertyChange",
                "type": "{ name: \"state\"; }",
                "description": "Emitted when the value of a property is changed. Use this to listen to changes to properties."
              },
              {
                "name": "arcgisReady",
                "type": "void",
                "description": "Emitted when the component associated with a map or scene view is is ready to be interacted with."
              }
            ]
          }
        }
      ]
    },
    "css": {
      "properties": [],
      "pseudo-elements": []
    }
  }
}