{
    "lightning:verticalNavigationOverflow": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        }
      ],
      "description": "Represents an overflow of items from a preceding lightning:verticalNavigationSection, with the ability to toggle visibility. This component requires API 41.0 and later."
    },
    "lightning:path": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "hideUpdateButton",
          "type": "boolean",
          "description": "Specified whether the Mark Complete button is displayed next to the path. If true, the button is not displayed. The Mark Complete button is displayed by default.",
          "access": "global",
          "parent": "lightning:path",
          "required": false
        },
        {
          "name": "onselect",
          "type": "action",
          "description": "The action triggered when a step on the path is clicked.",
          "access": "global",
          "parent": "lightning:path",
          "required": false
        },
        {
          "name": "recordId",
          "type": "string",
          "description": "The record's ID",
          "access": "global",
          "parent": "lightning:path",
          "required": false
        },
        {
          "name": "variant",
          "type": "string",
          "description": "Changes the appearance of the path. Choose between linear and non-linear formats. In linear paths, completed steps show a checkmark. In non-linear paths, completed steps show the step name. We show linear paths by default.",
          "access": "global",
          "parent": "lightning:path",
          "required": false
        }
      ],
      "description": "Displays a path driven by a picklist field and Path Setup metadata. This component requires API 41.0 and later."
    },
    "lightning:tabClosed": {
      "type": "event",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "tabId",
          "type": "string",
          "description": "The closed tab ID.",
          "access": "global",
          "parent": "lightning:tabClosed",
          "required": true
        }
      ],
      "description": "Fires when a Console workspace or subtab has been successfully closed."
    },
    "lightning:map": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "center",
          "type": "object",
          "description": "A location to use as the map's center. If center is not specified, the map centers automatically.",
          "access": "global",
          "parent": "lightning:map",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "listView",
          "type": "string",
          "description": "Displays or hides the list of locations. Valid values are visible, hidden, or auto. This value defaults to auto, which shows the list only when multiple markers are present. Passing in an invalid value hides the list view.",
          "access": "global",
          "parent": "lightning:map",
          "required": false
        },
        {
          "name": "mapMarkers",
          "type": "object[]",
          "description": "Array containing one or more objects with the address or coordinates to be displayed.",
          "access": "global",
          "parent": "lightning:map",
          "required": true
        },
        {
          "name": "markersTitle",
          "type": "string",
          "description": "Provides the heading title for the markers when the map uses multiple markers. The title is displayed as a header for the list of clickable addresses.",
          "access": "global",
          "parent": "lightning:map",
          "required": false
        },
        {
          "name": "onmarkerselect",
          "type": "action",
          "description": "Action fired when a marker is selected. Select a marker by clicking it on the map or in the list of locations.",
          "access": "global",
          "parent": "lightning:map",
          "required": false
        },
        {
          "name": "selectedMarkerValue",
          "type": "string",
          "description": "Provides the value of the currently selected marker. Returns undefined if you don’t pass a value to mapMarkers.",
          "access": "global",
          "parent": "lightning:map",
          "required": false
        },
        {
          "name": "showFooter",
          "type": "boolean",
          "description": "Shows footer with 'Open in Google Maps' link that opens an external window to display the selected marker location in Google Maps. Default value is false.",
          "access": "global",
          "parent": "lightning:map",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "zoomLevel",
          "type": "integer",
          "description": "Corresponds to zoom levels defined in Google Maps API. If not specified, the map component automatically chooses an appropriate zoom level to show all markers with comfortable margins.",
          "access": "global",
          "parent": "lightning:map",
          "required": false
        }
      ],
      "description": "A lightning:map component securely displays a map of one or more locations. This component requires API version 44.0 and later."
    },
    "aura:renderIf": {
      "type": "component",
      "namespace": "aura",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "else",
          "type": "component[]",
          "description": "The alternative content to render when isTrue evaluates to false, and the body is not rendered. Set using the <aura:set> tag.",
          "access": "global",
          "parent": "aura:renderIf",
          "required": false
        },
        {
          "name": "isTrue",
          "type": "boolean",
          "description": "An expression that must evaluate to true to display the body of the component.",
          "access": "global",
          "parent": "aura:renderIf",
          "required": true
        }
      ],
      "description": "Deprecated. Use aura:if instead. This component allows you to conditionally render its contents. It renders its body only if isTrue evaluates to true. The else attribute allows you to render an alternative when isTrue evaluates to false."
    },
    "forceChatter:fullFeed": {
      "type": "component",
      "namespace": "forceChatter",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "handleNavigationEvents",
          "type": "boolean",
          "description": "Should this component handle navigation events for entities and urls. If true then navigation events will result in the entity or url being opened in a new window.",
          "access": "global",
          "parent": "forceChatter:fullFeed",
          "required": false
        },
        {
          "name": "subjectId",
          "type": "string",
          "description": "For most feeds tied to an entity, this is used specified the desired entity. Defaults to the current user if not specified",
          "access": "global",
          "parent": "forceChatter:fullFeed",
          "required": false
        },
        {
          "name": "type",
          "type": "string",
          "description": "The strategy used to find items associated with the subject. Valid values include: News, Home, Record, To.",
          "access": "global",
          "parent": "forceChatter:fullFeed",
          "required": false
        }
      ],
      "description": null
    },
    "lightning:button": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "accesskey",
          "type": "string",
          "description": "Specifies a shortcut key to activate or focus an element.",
          "access": "global",
          "parent": "lightning:focusable",
          "required": false
        },
        {
          "name": "ariaAtomic",
          "type": "string",
          "description": "Indicates whether assistive technologies will present all, or only parts of, the changed region. Valid values are 'true' or 'false'.",
          "access": "global",
          "parent": "lightning:button",
          "required": false
        },
        {
          "name": "ariaControls",
          "type": "string",
          "description": "A space-separated list of element IDs that this button controls the contents or presence of.",
          "access": "global",
          "parent": "lightning:button",
          "required": false
        },
        {
          "name": "ariaDescribedBy",
          "type": "string",
          "description": "A space-separated list of element IDs that provides descriptive labels for the button.",
          "access": "global",
          "parent": "lightning:button",
          "required": false
        },
        {
          "name": "ariaExpanded",
          "type": "string",
          "description": "Indicates whether an element the button controls is expanded or collapsed. Valid values are 'true' or 'false'.",
          "access": "global",
          "parent": "lightning:button",
          "required": false
        },
        {
          "name": "ariaLabel",
          "type": "string",
          "description": "Label describing the button to assistive technologies.",
          "access": "global",
          "parent": "lightning:button",
          "required": false
        },
        {
          "name": "ariaLive",
          "type": "string",
          "description": "Indicates that the button will be updated. Valid values are 'assertive', 'polite', or 'off'.",
          "access": "global",
          "parent": "lightning:button",
          "required": false
        },
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "disabled",
          "type": "boolean",
          "description": "Specifies whether this button should be displayed in a disabled state. Disabled buttons can't be clicked. This value defaults to false.",
          "access": "global",
          "parent": "lightning:button",
          "required": false
        },
        {
          "name": "iconName",
          "type": "string",
          "description": "The Lightning Design System name of the icon. Names are written in the format 'utility:down' where 'utility' is the category, and 'down' is the specific icon to be displayed.",
          "access": "global",
          "parent": "lightning:button",
          "required": false
        },
        {
          "name": "iconPosition",
          "type": "string",
          "description": "Describes the position of the icon with respect to body. Options include left and right. This value defaults to left.",
          "access": "global",
          "parent": "lightning:button",
          "required": false
        },
        {
          "name": "label",
          "type": "string",
          "description": "The text to be displayed inside the button.",
          "access": "global",
          "parent": "lightning:button",
          "required": false
        },
        {
          "name": "name",
          "type": "string",
          "description": "The name for the button element. This value is optional and can be used to identify the button in a callback.",
          "access": "global",
          "parent": "lightning:button",
          "required": false
        },
        {
          "name": "onblur",
          "type": "action",
          "description": "The action triggered when the element releases focus.",
          "access": "global",
          "parent": "lightning:focusable",
          "required": false
        },
        {
          "name": "onclick",
          "type": "action",
          "description": "The action triggered when the button is clicked.",
          "access": "global",
          "parent": "lightning:button",
          "required": false
        },
        {
          "name": "onfocus",
          "type": "action",
          "description": "The action triggered when the element receives focus.",
          "access": "global",
          "parent": "lightning:focusable",
          "required": false
        },
        {
          "name": "tabindex",
          "type": "integer",
          "description": "Specifies the tab order of an element when the Tab key is used for navigating. The tabindex value can be set to 0 or -1. The default is 0, which means that the component is focusable and participates in sequential keyboard navigation. -1 means that the component is focusable but does not participate in keyboard navigation.",
          "access": "global",
          "parent": "lightning:focusable",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "type",
          "type": "string",
          "description": "Specifies the type of button. Valid values are button, reset, and submit. This value defaults to button.",
          "access": "global",
          "parent": "lightning:button",
          "required": false
        },
        {
          "name": "value",
          "type": "string",
          "description": "The value for the button element. This value is optional and can be used when submitting a form.",
          "access": "global",
          "parent": "lightning:button",
          "required": false
        },
        {
          "name": "variant",
          "type": "string",
          "description": "The variant changes the appearance of the button. Accepted variants include base, neutral, brand, brand-outline, destructive, destructive-text, inverse, and success. This value defaults to neutral.",
          "access": "global",
          "parent": "lightning:button",
          "required": false
        }
      ],
      "description": "Represents a button element."
    },
    "ui:menuItemSeparator": {
      "type": "component",
      "namespace": "ui",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS style to be attached to the component. This style is added in addition to base styles output by the component.",
          "access": "global",
          "parent": "ui:visible",
          "required": false
        }
      ],
      "description": "Deprecated as of API version 47.0. Use lightning:menuDivider with lightning:buttonMenu instead."
    },
    "forceCommunity:routeChange": {
      "type": "event",
      "namespace": "forceCommunity",
      "attributes": [],
      "description": "This event is fired whenever a route url is changed"
    },
    "wave:discoverResponse": {
      "type": "event",
      "namespace": "wave",
      "attributes": [
        {
          "name": "UID",
          "type": "string",
          "description": "Optional identifier that will be included in the request data.",
          "access": "global",
          "parent": "wave:discoverResponse",
          "required": false
        },
        {
          "name": "id",
          "type": "string",
          "description": "The identifier for the Analytics asset, in the form of a standard 18-character ID.",
          "access": "global",
          "parent": "wave:discoverResponse",
          "required": true
        },
        {
          "name": "isLoaded",
          "type": "boolean",
          "description": "A flag to determine whether the asset is loaded or still loading.",
          "access": "global",
          "parent": "wave:discoverResponse",
          "required": true
        },
        {
          "name": "title",
          "type": "string",
          "description": "The title of the asset",
          "access": "global",
          "parent": "wave:discoverResponse",
          "required": true
        },
        {
          "name": "type",
          "type": "string",
          "description": "The type of the Analytics asset. Currently, only dashboard is supported.",
          "access": "global",
          "parent": "wave:discoverResponse",
          "required": true
        }
      ],
      "description": "Response event to a wave:discover request."
    },
    "aura:valueRender": {
      "type": "event",
      "namespace": "aura",
      "attributes": [
        {
          "name": "value",
          "type": "object",
          "description": "The component that rendered.",
          "access": "global",
          "parent": "aura:valueRender",
          "required": false
        }
      ],
      "description": "Indicates that a component has been rendered."
    },
    "lightning:navigation": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        }
      ],
      "description": "Generates URL for a given pageReference. This component requires API version 43.0 and later."
    },
    "lightning:openFiles": {
      "type": "event",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "recordIds",
          "type": "string[]",
          "description": "IDs of the records to open. This must not be empty. ",
          "access": "global",
          "parent": "lightning:openFiles",
          "required": true
        },
        {
          "name": "selectedRecordId",
          "type": "string",
          "description": "ID of the record to open first among the one specified in the recordIds attribute. If this value is not provided or if the value provided is not in the list, the first element from the list will be used. ",
          "access": "global",
          "parent": "lightning:openFiles",
          "required": false
        }
      ],
      "description": "The lightning:openFiles event is no longer recommended. Use the Lightning navigation service instead. Application event used to open one or more file records. This event triggers a modal file previewer or download depending on the form factor. "
    },
    "lightning:conversationNewMessage": {
      "type": "event",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "content",
          "type": "string",
          "description": "The text of a message in the chat log.",
          "access": "global",
          "parent": "lightning:conversationNewMessage",
          "required": true
        },
        {
          "name": "name",
          "type": "string",
          "description": "The name of the agent who is attempting to send the message as it appears in the chat log.",
          "access": "global",
          "parent": "lightning:conversationNewMessage",
          "required": true
        },
        {
          "name": "recordId",
          "type": "string",
          "description": "Record ID of the conversation",
          "access": "global",
          "parent": "lightning:conversationNewMessage",
          "required": true
        },
        {
          "name": "timestamp",
          "type": "date",
          "description": "The date and time the agent attempted to send the chat message.",
          "access": "global",
          "parent": "lightning:conversationNewMessage",
          "required": true
        },
        {
          "name": "type",
          "type": "string",
          "description": "The type of message that was received—for example, agent.",
          "access": "global",
          "parent": "lightning:conversationNewMessage",
          "required": true
        }
      ],
      "description": "Indicates receipt of a end user of a conversation"
    },
    "forceCommunity:layout": {
      "type": "interface",
      "namespace": "forceCommunity",
      "attributes": [],
      "description": "Enables a component to be used as a custom layout for creating pages in the Experience Builder"
    },
    "lightning:input": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "accept",
          "type": "string",
          "description": "Specifies the types of files that the server accepts. Use this attribute with file input type only.",
          "access": "global",
          "parent": "lightning:input",
          "required": false
        },
        {
          "name": "accesskey",
          "type": "string",
          "description": "Specifies a shortcut key to activate or focus an element.",
          "access": "global",
          "parent": "lightning:focusable",
          "required": false
        },
        {
          "name": "ariaControls",
          "type": "string",
          "description": "A space-separated list of element IDs whose presence or content is controlled by the input.",
          "access": "global",
          "parent": "lightning:input",
          "required": false
        },
        {
          "name": "ariaDescribedBy",
          "type": "string",
          "description": "A space-separated list of element IDs that provide descriptive labels for the input.",
          "access": "global",
          "parent": "lightning:input",
          "required": false
        },
        {
          "name": "ariaLabel",
          "type": "string",
          "description": "Describes the input to assistive technologies.",
          "access": "global",
          "parent": "lightning:input",
          "required": false
        },
        {
          "name": "ariaLabelledBy",
          "type": "string",
          "description": "A space-separated list of element IDs that provide labels for the input.",
          "access": "global",
          "parent": "lightning:input",
          "required": false
        },
        {
          "name": "autocomplete",
          "type": "string",
          "description": "Controls auto-filling of the field. Use this attribute with email, search, tel, text, and url input types only. Set the attribute to pass through autocomplete values to be interpreted by the browser.",
          "access": "global",
          "parent": "lightning:input",
          "required": false
        },
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "checked",
          "type": "boolean",
          "description": "Specifies whether the checkbox is checked. This value defaults to false.",
          "access": "global",
          "parent": "lightning:input",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "dateAriaControls",
          "type": "string",
          "description": "A space-separated list of element IDs whose presence or content is controlled by the date input when type=datetime. On mobile devices, this is merged with ariaControls and timeAriaControls to describe the native date time input.",
          "access": "global",
          "parent": "lightning:input",
          "required": false
        },
        {
          "name": "dateAriaDescribedBy",
          "type": "string",
          "description": "A space-separated list of element IDs that provide descriptive labels for the date input when type=datetime. On mobile devices, this is merged with ariaDescribedBy and timeAriaDescribedBy to describe the native date time input.",
          "access": "global",
          "parent": "lightning:input",
          "required": false
        },
        {
          "name": "dateAriaLabel",
          "type": "string",
          "description": "Describes the date input to assistive technologies when type=datetime. On mobile devices, this label is merged with ariaLabel and timeAriaLabel to describe the native date time input.",
          "access": "global",
          "parent": "lightning:input",
          "required": false
        },
        {
          "name": "dateAriaLabelledBy",
          "type": "string",
          "description": "A space-separated list of element IDs that provide labels for the date input when type=datetime. On mobile devices, this is merged with ariaLabelledBy and timeAriaLabelledBy to describe the native date time input.",
          "access": "global",
          "parent": "lightning:input",
          "required": false
        },
        {
          "name": "dateStyle",
          "type": "string",
          "description": "The display style of the date when type='date' or type='datetime'. Valid values are short, medium (default), and long. The format of each style is specific to the locale. On mobile devices this attribute has no effect.",
          "access": "global",
          "parent": "lightning:input",
          "required": false
        },
        {
          "name": "disabled",
          "type": "boolean",
          "description": "Specifies that an input element should be disabled. This value defaults to false.",
          "access": "global",
          "parent": "lightning:inputable",
          "required": false
        },
        {
          "name": "fieldLevelHelp",
          "type": "string",
          "description": "Help text detailing the purpose and function of the input. This attribute isn't supported for file, radio, toggle, and checkbox-button types.",
          "access": "global",
          "parent": "lightning:input",
          "required": false
        },
        {
          "name": "files",
          "type": "object",
          "description": "A FileList that contains selected files. Use this attribute with file input type only.",
          "access": "global",
          "parent": "lightning:input",
          "required": false
        },
        {
          "name": "formatter",
          "type": "string",
          "description": "String value with the formatter to be used for number input. Valid values include decimal, percent, percent-fixed, and currency.",
          "access": "global",
          "parent": "lightning:input",
          "required": false
        },
        {
          "name": "isLoading",
          "type": "boolean",
          "description": "For the search type only. Specifies whether the spinner is displayed to indicate that data is loading. This value defaults to false.",
          "access": "global",
          "parent": "lightning:input",
          "required": false
        },
        {
          "name": "label",
          "type": "string",
          "description": "Text label for the input.",
          "access": "global",
          "parent": "lightning:input",
          "required": true
        },
        {
          "name": "max",
          "type": "object",
          "description": "The maximum acceptable value for the input. Use this attribute with number, range, date, time, and datetime input types only. For number and range type, the max value is a decimal number. For the date, time, and datetime types, the max value must use a valid string for the type.",
          "access": "global",
          "parent": "lightning:input",
          "required": false
        },
        {
          "name": "maxlength",
          "type": "integer",
          "description": "The maximum number of characters allowed in the field. Use this attribute with email, password, search, tel, text, and url input types only.",
          "access": "global",
          "parent": "lightning:input",
          "required": false
        },
        {
          "name": "messageToggleActive",
          "type": "string",
          "description": "Text shown for the active state of a toggle. The default is \"Active\".",
          "access": "global",
          "parent": "lightning:input",
          "required": false
        },
        {
          "name": "messageToggleInactive",
          "type": "string",
          "description": "Text shown for then inactive state of a toggle. The default is \"Inactive\".",
          "access": "global",
          "parent": "lightning:input",
          "required": false
        },
        {
          "name": "messageWhenBadInput",
          "type": "string",
          "description": "Error message to be displayed when a bad input is detected.",
          "access": "global",
          "parent": "lightning:input",
          "required": false
        },
        {
          "name": "messageWhenPatternMismatch",
          "type": "string",
          "description": "Error message to be displayed when a pattern mismatch is detected.",
          "access": "global",
          "parent": "lightning:input",
          "required": false
        },
        {
          "name": "messageWhenRangeOverflow",
          "type": "string",
          "description": "Error message to be displayed when a range overflow is detected.",
          "access": "global",
          "parent": "lightning:input",
          "required": false
        },
        {
          "name": "messageWhenRangeUnderflow",
          "type": "string",
          "description": "Error message to be displayed when a range underflow is detected.",
          "access": "global",
          "parent": "lightning:input",
          "required": false
        },
        {
          "name": "messageWhenStepMismatch",
          "type": "string",
          "description": "Error message to be displayed when a step mismatch is detected.",
          "access": "global",
          "parent": "lightning:input",
          "required": false
        },
        {
          "name": "messageWhenTooLong",
          "type": "string",
          "description": "Error message to be displayed when the value is too long.",
          "access": "global",
          "parent": "lightning:input",
          "required": false
        },
        {
          "name": "messageWhenTooShort",
          "type": "string",
          "description": "Error message to be displayed when the value is too short.",
          "access": "global",
          "parent": "lightning:input",
          "required": false
        },
        {
          "name": "messageWhenTypeMismatch",
          "type": "string",
          "description": "Error message to be displayed when a type mismatch is detected.",
          "access": "global",
          "parent": "lightning:input",
          "required": false
        },
        {
          "name": "messageWhenValueMissing",
          "type": "string",
          "description": "Error message to be displayed when the value is missing.",
          "access": "global",
          "parent": "lightning:input",
          "required": false
        },
        {
          "name": "min",
          "type": "object",
          "description": "The minimum acceptable value for the input. Use this attribute with number, range, date, time, and datetime input types only. For number and range types, the min value is a decimal number. For the date, time, and datetime types, the min value must use a valid string for the type.",
          "access": "global",
          "parent": "lightning:input",
          "required": false
        },
        {
          "name": "minlength",
          "type": "integer",
          "description": "The minimum number of characters allowed in the field. Use this attribute with email, password, search, tel, text, and url input types only.",
          "access": "global",
          "parent": "lightning:input",
          "required": false
        },
        {
          "name": "multiple",
          "type": "boolean",
          "description": "Specifies that a user can enter more than one value. Use this attribute with file and email input types only.",
          "access": "global",
          "parent": "lightning:input",
          "required": false
        },
        {
          "name": "name",
          "type": "string",
          "description": "Specifies the name of an input element.",
          "access": "global",
          "parent": "lightning:inputable",
          "required": false
        },
        {
          "name": "onblur",
          "type": "action",
          "description": "The action triggered when the element releases focus.",
          "access": "global",
          "parent": "lightning:focusable",
          "required": false
        },
        {
          "name": "onchange",
          "type": "",
          "description": "The action triggered each time the user changes the input value while maintaining focus on the input element.",
          "access": "global",
          "parent": "lightning:input",
          "required": false
        },
        {
          "name": "oncommit",
          "type": "",
          "description": "The action triggered when the user finishes changing the input value. For example, pressing Enter, navigating away from the input element, clearing a search.",
          "access": "global",
          "parent": "lightning:input",
          "required": false
        },
        {
          "name": "onfocus",
          "type": "action",
          "description": "The action triggered when the element receives focus.",
          "access": "global",
          "parent": "lightning:focusable",
          "required": false
        },
        {
          "name": "pattern",
          "type": "string",
          "description": "Specifies the regular expression that the input's value is checked against.                                 Use this attribute with email, password, search, tel, text, and url input types only.",
          "access": "global",
          "parent": "lightning:input",
          "required": false
        },
        {
          "name": "placeholder",
          "type": "string",
          "description": "Text that is displayed when the field is empty, to prompt the user for a valid entry. Use this attribute with date, email, number, password, search, tel, text, time, and url input types only. Placeholder text isn't supported in date and time input types on mobile devices.",
          "access": "global",
          "parent": "lightning:input",
          "required": false
        },
        {
          "name": "readonly",
          "type": "boolean",
          "description": "Specifies that an input field is read-only. This value defaults to false.",
          "access": "global",
          "parent": "lightning:inputable",
          "required": false
        },
        {
          "name": "required",
          "type": "boolean",
          "description": "Specifies that an input field must be filled out before submitting the form. This value defaults to false.",
          "access": "global",
          "parent": "lightning:inputable",
          "required": false
        },
        {
          "name": "step",
          "type": "object",
          "description": "Granularity of the value, specified as a positive floating point number. Use this attribute with number and range input types only. Use 'any' when granularity is not a concern. This value defaults to 1.",
          "access": "global",
          "parent": "lightning:input",
          "required": false
        },
        {
          "name": "tabindex",
          "type": "integer",
          "description": "Specifies the tab order of an element when the Tab key is used for navigating. The tabindex value can be set to 0 or -1. The default is 0, which means that the component is focusable and participates in sequential keyboard navigation. -1 means that the component is focusable but does not participate in keyboard navigation.",
          "access": "global",
          "parent": "lightning:focusable",
          "required": false
        },
        {
          "name": "timeAriaControls",
          "type": "string",
          "description": "A space-separated list of element IDs whose presence or content is controlled by the time input when type=datetime. On mobile devices, this is merged with ariaControls and dateAriaControls to describe the native date time input.",
          "access": "global",
          "parent": "lightning:input",
          "required": false
        },
        {
          "name": "timeAriaDescribedBy",
          "type": "string",
          "description": "A space-separated list of element IDs that provide descriptive labels for the time input when type=datetime. On mobile devices, this is merged with ariaDescribedBy and dateAriaDescribedBy to describe the native date time input.",
          "access": "global",
          "parent": "lightning:input",
          "required": false
        },
        {
          "name": "timeAriaLabel",
          "type": "string",
          "description": "Describes the time input to assistive technologies when type=datetime. On mobile devices, this label is merged with ariaLabel and dateAriaLabel to describe the native date time input.",
          "access": "global",
          "parent": "lightning:input",
          "required": false
        },
        {
          "name": "timeAriaLabelledBy",
          "type": "string",
          "description": "A space-separated list of element IDs that provide labels for the time input when type=datetime. On mobile devices, this is merged with ariaLabelledBy and dateAriaLabelledBy to describe the native date time input.",
          "access": "global",
          "parent": "lightning:input",
          "required": false
        },
        {
          "name": "timeStyle",
          "type": "string",
          "description": "The display style of the time when type='time' or type='datetime'. Valid values are short (default), medium, and long. Currently, medium and long styles look the same. On mobile devices this attribute has no effect.",
          "access": "global",
          "parent": "lightning:input",
          "required": false
        },
        {
          "name": "timezone",
          "type": "string",
          "description": "Specifies the time zone used when type='datetime' only. This value defaults to the user’s Salesforce time zone setting.",
          "access": "global",
          "parent": "lightning:input",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "type",
          "type": "string",
          "description": "The type of the input. This value defaults to text.",
          "access": "global",
          "parent": "lightning:input",
          "required": false
        },
        {
          "name": "validity",
          "type": "object",
          "description": "Represents the validity states that an element can be in, with respect to constraint validation.",
          "access": "global",
          "parent": "lightning:inputable",
          "required": false
        },
        {
          "name": "value",
          "type": "object",
          "description": "Specifies the value of an input element.",
          "access": "global",
          "parent": "lightning:inputable",
          "required": false
        },
        {
          "name": "variant",
          "type": "string",
          "description": "The variant changes the appearance of an input field. Accepted variants include standard, label-inline, label-hidden, and label-stacked. This value defaults to standard, which displays the label above the field. Use label-hidden to hide the label but make it available to assistive technology. Use label-inline to horizontally align the label and input field. Use label-stacked to place the label above the input field.",
          "access": "global",
          "parent": "lightning:inputable",
          "required": false
        }
      ],
      "description": "Represents interactive controls that accept user input depending on the type attribute."
    },
    "lightning:checkboxGroup": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "accesskey",
          "type": "string",
          "description": "Specifies a shortcut key to activate or focus an element.",
          "access": "global",
          "parent": "lightning:focusable",
          "required": false
        },
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "disabled",
          "type": "boolean",
          "description": "Set to true if the checkbox group is disabled. Checkbox selections can't be changed for a disabled checkbox group. This value defaults to false.",
          "access": "global",
          "parent": "lightning:checkboxGroup",
          "required": false
        },
        {
          "name": "label",
          "type": "string",
          "description": "Text label for the checkbox group.",
          "access": "global",
          "parent": "lightning:checkboxGroup",
          "required": true
        },
        {
          "name": "messageWhenValueMissing",
          "type": "string",
          "description": "Optional message displayed when no checkbox is selected and the required attribute is set to true.",
          "access": "global",
          "parent": "lightning:checkboxGroup",
          "required": false
        },
        {
          "name": "name",
          "type": "string",
          "description": "The name of the checkbox group.",
          "access": "global",
          "parent": "lightning:checkboxGroup",
          "required": true
        },
        {
          "name": "onblur",
          "type": "action",
          "description": "The action triggered when the checkbox group releases focus.",
          "access": "global",
          "parent": "lightning:checkboxGroup",
          "required": false
        },
        {
          "name": "onchange",
          "type": "action",
          "description": "The action triggered when a checkbox value changes.",
          "access": "global",
          "parent": "lightning:checkboxGroup",
          "required": false
        },
        {
          "name": "onfocus",
          "type": "action",
          "description": "The action triggered when the checkbox group receives focus.",
          "access": "global",
          "parent": "lightning:checkboxGroup",
          "required": false
        },
        {
          "name": "options",
          "type": "list",
          "description": "Array of label-value pairs for each checkbox.",
          "access": "global",
          "parent": "lightning:checkboxGroup",
          "required": true
        },
        {
          "name": "required",
          "type": "boolean",
          "description": "Set to true if at least one checkbox must be selected. This value defaults to false.",
          "access": "global",
          "parent": "lightning:checkboxGroup",
          "required": false
        },
        {
          "name": "tabindex",
          "type": "integer",
          "description": "Specifies the tab order of an element when the Tab key is used for navigating. The tabindex value can be set to 0 or -1. The default is 0, which means that the component is focusable and participates in sequential keyboard navigation. -1 means that the component is focusable but does not participate in keyboard navigation.",
          "access": "global",
          "parent": "lightning:focusable",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "value",
          "type": "string[]",
          "description": "The list of selected checkboxes. Each array entry contains the value of a selected checkbox. The value of each checkbox is set in the options attribute.",
          "access": "global",
          "parent": "lightning:checkboxGroup",
          "required": true
        },
        {
          "name": "variant",
          "type": "string",
          "description": "The variant changes the appearance of the checkbox group. Accepted variants include standard, label-hidden, label-inline, and label-stacked. This value defaults to standard. Use label-hidden to hide the label but make it available to assistive technology. Use label-inline to horizontally align the label and checkbox group. Use label-stacked to place the label above the checkbox group.",
          "access": "global",
          "parent": "lightning:checkboxGroup",
          "required": false
        }
      ],
      "description": "A checkbox group that enables selection of single or multiple options. This component requires API version 41.0 and later."
    },
    "ui:spinner": {
      "type": "component",
      "namespace": "ui",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS style to be attached to the component. This style is added in addition to base styles output by the component.",
          "access": "global",
          "parent": "ui:spinner",
          "required": false
        },
        {
          "name": "isVisible",
          "type": "boolean",
          "description": "Specifies whether or not this spinner should be visible. Defaults to true.",
          "access": "global",
          "parent": "ui:spinner",
          "required": false
        }
      ],
      "description": "Deprecated as of API version 47.0. Use lightning:spinner instead."
    },
    "lightning:conversationToolkitAPI": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        }
      ],
      "description": "Console integration APIs for Live Agent."
    },
    "lightning:carousel": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "disableAutoRefresh",
          "type": "boolean",
          "description": "Specifies whether the carousel should stop looping from the beginning after the last item is displayed. The default value is false.",
          "access": "global",
          "parent": "lightning:carousel",
          "required": false
        },
        {
          "name": "disableAutoScroll",
          "type": "boolean",
          "description": "Specifies whether auto scroll is disabled. The default value is false.",
          "access": "global",
          "parent": "lightning:carousel",
          "required": false
        },
        {
          "name": "scrollDuration",
          "type": "integer",
          "description": "The auto scroll duration. The default is 5 seconds, after that the next image is displayed.",
          "access": "global",
          "parent": "lightning:carousel",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        }
      ],
      "description": "A collection of images that are displayed one at a time."
    },
    "aura:html": {
      "type": "component",
      "namespace": "aura",
      "attributes": [
        {
          "name": "HTMLAttributes",
          "type": "map",
          "description": "A Map of attributes to set on the html element.",
          "access": "global",
          "parent": "aura:html",
          "required": false
        },
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component.  In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:html",
          "required": false
        },
        {
          "name": "tag",
          "type": "string",
          "description": "The name of the html element that should be rendered.",
          "access": "global",
          "parent": "aura:html",
          "required": false
        }
      ],
      "description": "A meta component that represents all html elements.  Any html found in your markup causes the creation of one of these."
    },
    "lightning:dualListbox": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "accesskey",
          "type": "string",
          "description": "Specifies a shortcut key to activate or focus an element.",
          "access": "global",
          "parent": "lightning:focusable",
          "required": false
        },
        {
          "name": "addButtonLabel",
          "type": "string",
          "description": "Label for add button.",
          "access": "global",
          "parent": "lightning:dualListbox",
          "required": false
        },
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "disableReordering",
          "type": "boolean",
          "description": "Set to true to hide the Up and Down buttons used for reordering the Selected list items.",
          "access": "global",
          "parent": "lightning:dualListbox",
          "required": false
        },
        {
          "name": "disabled",
          "type": "boolean",
          "description": "Specifies that an input element should be disabled. This value defaults to false.",
          "access": "global",
          "parent": "lightning:inputable",
          "required": false
        },
        {
          "name": "downButtonLabel",
          "type": "string",
          "description": "Label for down button.",
          "access": "global",
          "parent": "lightning:dualListbox",
          "required": false
        },
        {
          "name": "fieldLevelHelp",
          "type": "string",
          "description": "Help text detailing the purpose and function of the dual listbox.",
          "access": "global",
          "parent": "lightning:dualListbox",
          "required": false
        },
        {
          "name": "label",
          "type": "string",
          "description": "Label for the dual listbox.",
          "access": "global",
          "parent": "lightning:dualListbox",
          "required": true
        },
        {
          "name": "max",
          "type": "integer",
          "description": "Maximum number of options required in the selected options listbox.",
          "access": "global",
          "parent": "lightning:dualListbox",
          "required": false
        },
        {
          "name": "messageWhenRangeOverflow",
          "type": "boolean",
          "description": "Error message to be displayed when a range overflow is detected.",
          "access": "global",
          "parent": "lightning:dualListbox",
          "required": false
        },
        {
          "name": "messageWhenRangeUnderflow",
          "type": "boolean",
          "description": "Error message to be displayed when a range underflow is detected.",
          "access": "global",
          "parent": "lightning:dualListbox",
          "required": false
        },
        {
          "name": "messageWhenValueMissing",
          "type": "boolean",
          "description": "Error message to be displayed when the value is missing and input is required.",
          "access": "global",
          "parent": "lightning:dualListbox",
          "required": false
        },
        {
          "name": "min",
          "type": "integer",
          "description": "Minimum number of options required in the selected options listbox.",
          "access": "global",
          "parent": "lightning:dualListbox",
          "required": false
        },
        {
          "name": "name",
          "type": "string",
          "description": "Specifies the name of an input element.",
          "access": "global",
          "parent": "lightning:inputable",
          "required": false
        },
        {
          "name": "onblur",
          "type": "action",
          "description": "The action triggered when the element releases focus.",
          "access": "global",
          "parent": "lightning:focusable",
          "required": false
        },
        {
          "name": "onchange",
          "type": "action",
          "description": "The action triggered when a value attribute changes.",
          "access": "global",
          "parent": "lightning:inputable",
          "required": false
        },
        {
          "name": "onfocus",
          "type": "action",
          "description": "The action triggered when the element receives focus.",
          "access": "global",
          "parent": "lightning:focusable",
          "required": false
        },
        {
          "name": "options",
          "type": "object[]",
          "description": "A list of options that are available for selection. Each option has the following attributes: label and value.",
          "access": "global",
          "parent": "lightning:dualListbox",
          "required": true
        },
        {
          "name": "readonly",
          "type": "boolean",
          "description": "Specifies that an input field is read-only. This value defaults to false.",
          "access": "global",
          "parent": "lightning:inputable",
          "required": false
        },
        {
          "name": "removeButtonLabel",
          "type": "string",
          "description": "Label for remove button.",
          "access": "global",
          "parent": "lightning:dualListbox",
          "required": false
        },
        {
          "name": "required",
          "type": "boolean",
          "description": "Specifies that an input field must be filled out before submitting the form. This value defaults to false.",
          "access": "global",
          "parent": "lightning:inputable",
          "required": false
        },
        {
          "name": "requiredOptions",
          "type": "list",
          "description": "A list of required options that cannot be removed from selected options listbox. This list is populated with values from options attribute.",
          "access": "global",
          "parent": "lightning:dualListbox",
          "required": false
        },
        {
          "name": "selectedLabel",
          "type": "string",
          "description": "Label for selected options listbox.",
          "access": "global",
          "parent": "lightning:dualListbox",
          "required": true
        },
        {
          "name": "showActivityIndicator",
          "type": "boolean",
          "description": "Displays a spinner to indicate activity in the listbox. This value defaults to false.",
          "access": "global",
          "parent": "lightning:dualListbox",
          "required": false
        },
        {
          "name": "size",
          "type": "integer",
          "description": "Number of items that display before vertical scrollbars are displayed for the listboxes. Determines the vertical size of the dual listbox.",
          "access": "global",
          "parent": "lightning:dualListbox",
          "required": false
        },
        {
          "name": "sourceLabel",
          "type": "string",
          "description": "Label for source options listbox.",
          "access": "global",
          "parent": "lightning:dualListbox",
          "required": true
        },
        {
          "name": "tabindex",
          "type": "integer",
          "description": "Specifies the tab order of an element when the Tab key is used for navigating. The tabindex value can be set to 0 or -1. The default is 0, which means that the component is focusable and participates in sequential keyboard navigation. -1 means that the component is focusable but does not participate in keyboard navigation.",
          "access": "global",
          "parent": "lightning:focusable",
          "required": false
        },
        {
          "name": "upButtonLabel",
          "type": "string",
          "description": "Label for up button.",
          "access": "global",
          "parent": "lightning:dualListbox",
          "required": false
        },
        {
          "name": "validity",
          "type": "object",
          "description": "Represents the validity states that an element can be in, with respect to constraint validation.",
          "access": "global",
          "parent": "lightning:inputable",
          "required": false
        },
        {
          "name": "value",
          "type": "object",
          "description": "Specifies the value of an input element.",
          "access": "global",
          "parent": "lightning:inputable",
          "required": false
        },
        {
          "name": "values",
          "type": "list",
          "description": "A list of default options that are included in the selected options listbox. This list is populated with values from the options attribute.",
          "access": "global",
          "parent": "lightning:dualListbox",
          "required": false
        },
        {
          "name": "variant",
          "type": "string",
          "description": "The variant changes the appearance of the dual listbox. Accepted variants include standard, label-inline, label-hidden, and label-stacked. This value defaults to standard. Use label-hidden to hide the label but make it available to assistive technology. Use label-inline to horizontally align the label and dual listbox. Use label-stacked to place the label above the dual listbox.",
          "access": "global",
          "parent": "lightning:dualListbox",
          "required": false
        }
      ],
      "description": "A widget that provides an input listbox, accompanied with a listbox of selectable options. Order of selected options is saved. This component requires API version 41.0 and later."
    },
    "force:showToast": {
      "type": "event",
      "namespace": "force",
      "attributes": [
        {
          "name": "duration",
          "type": "integer",
          "description": "Length of time the toast is visible for, in milliseconds. Applies to 'dismissible' or 'pester' toast modes. The default is 5000ms if the provided value is less than 5000ms.",
          "access": "global",
          "parent": "force:showToast",
          "required": false
        },
        {
          "name": "key",
          "type": "string",
          "description": "Icon to use when toast type is 'other'. Icon keys are available at the Lightning Design System Icons page.",
          "access": "global",
          "parent": "force:showToast",
          "required": false
        },
        {
          "name": "message",
          "type": "string",
          "description": "The message to display in the toast.",
          "access": "global",
          "parent": "force:showToast",
          "required": true
        },
        {
          "name": "messageTemplate",
          "type": "string",
          "description": "Overwrites message string with the specified message. Requires messageTemplateData.",
          "access": "global",
          "parent": "force:showToast",
          "required": false
        },
        {
          "name": "messageTemplateData",
          "type": "object[]",
          "description": "An array of text and actions to be used in messageTemplate.",
          "access": "global",
          "parent": "force:showToast",
          "required": false
        },
        {
          "name": "mode",
          "type": "string",
          "description": "The toast mode, which controls how users can dismiss the toast. Valid values are 'pester' and 'sticky'. The default is 'dismissible', which displays the close button.",
          "access": "global",
          "parent": "force:showToast",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "Specifies the title for a message to display. The title is shown above the message in a slightly larger font.",
          "access": "global",
          "parent": "force:showToast",
          "required": false
        },
        {
          "name": "type",
          "type": "string",
          "description": "The toast type, which can be 'error', 'warning', 'success', or 'info'. The default is 'other', which is styled like an 'info' toast and doesn’t display an icon, unless specified by the key attribute.",
          "access": "global",
          "parent": "force:showToast",
          "required": false
        }
      ],
      "description": "Displays page-level toasts."
    },
    "lightning:omniChannelWorkAssigned": {
      "type": "event",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "workId",
          "type": "string",
          "description": "The ID of a work assignment that’s routed to an agent.",
          "access": "global",
          "parent": "lightning:omniChannelWorkAssigned",
          "required": true
        },
        {
          "name": "workItemId",
          "type": "string",
          "description": "The ID of the object that’s routed through Omni-Channel.",
          "access": "global",
          "parent": "lightning:omniChannelWorkAssigned",
          "required": true
        }
      ],
      "description": "Fired when a user is assigned a new work item."
    },
    "lightning:treeGrid": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "columns",
          "type": "list",
          "description": "Array of the columns object that's used to define the data types. Required properties include 'label', 'dataKey', and 'type'. The default type is 'text'.",
          "access": "global",
          "parent": "lightning:treeGrid",
          "required": false
        },
        {
          "name": "data",
          "type": "object",
          "description": "The array of data to be displayed.",
          "access": "global",
          "parent": "lightning:treeGrid",
          "required": false
        },
        {
          "name": "expandedRows",
          "type": "list",
          "description": "The array of unique row IDs that are expanded.",
          "access": "global",
          "parent": "lightning:treeGrid",
          "required": false
        },
        {
          "name": "hideCheckboxColumn",
          "type": "boolean",
          "description": "Hides or displays the checkbox column for row selection. To hide the checkbox column, set hideCheckboxColumn to true. The default is false.",
          "access": "global",
          "parent": "lightning:treeGrid",
          "required": false
        },
        {
          "name": "isLoading",
          "type": "boolean",
          "description": "Specifies whether more data is being loaded and displays a spinner if so. The default is false.",
          "access": "global",
          "parent": "lightning:treeGrid",
          "required": false
        },
        {
          "name": "keyField",
          "type": "string",
          "description": "Required for better performance. Associates each row with a unique ID.",
          "access": "global",
          "parent": "lightning:treeGrid",
          "required": true
        },
        {
          "name": "maxColumnWidth",
          "type": "integer",
          "description": "The maximum width for all columns. The default is 1000px.",
          "access": "global",
          "parent": "lightning:treeGrid",
          "required": false
        },
        {
          "name": "minColumnWidth",
          "type": "integer",
          "description": "The minimum width for all columns. The default is 50px.",
          "access": "global",
          "parent": "lightning:treeGrid",
          "required": false
        },
        {
          "name": "onresize",
          "type": "action",
          "description": "The action triggered when the table renders columns the first time and every time its resized an specific column.",
          "access": "global",
          "parent": "lightning:treeGrid",
          "required": false
        },
        {
          "name": "onrowaction",
          "type": "action",
          "description": "The action triggered when an operation its clicked. By default its to closes the actions menu.",
          "access": "global",
          "parent": "lightning:treeGrid",
          "required": false
        },
        {
          "name": "onrowselection",
          "type": "action",
          "description": "The action triggered when a row is selected.",
          "access": "global",
          "parent": "lightning:treeGrid",
          "required": false
        },
        {
          "name": "ontoggle",
          "type": "action",
          "description": "The action triggered when a row is toggled (expanded or collapsed).",
          "access": "global",
          "parent": "lightning:treeGrid",
          "required": false
        },
        {
          "name": "ontoggleall",
          "type": "action",
          "description": "The action triggered when all rows are toggled (expanded or collapsed).",
          "access": "global",
          "parent": "lightning:treeGrid",
          "required": false
        },
        {
          "name": "resizeColumnDisabled",
          "type": "boolean",
          "description": "Specifies whether column resizing is disabled. The default is false.",
          "access": "global",
          "parent": "lightning:treeGrid",
          "required": false
        },
        {
          "name": "rowNumberOffset",
          "type": "integer",
          "description": "Determines where to start counting the row number. The default is 0.",
          "access": "global",
          "parent": "lightning:treeGrid",
          "required": false
        },
        {
          "name": "selectedRows",
          "type": "list",
          "description": "The array of unique row IDs that are selected.",
          "access": "global",
          "parent": "lightning:treeGrid",
          "required": false
        },
        {
          "name": "showRowNumberColumn",
          "type": "boolean",
          "description": "Hides or displays the row number column. To show the row number column, set showRowNumberColumn to true. The default is false.",
          "access": "global",
          "parent": "lightning:treeGrid",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        }
      ],
      "description": "Displays a hierarchical view of data in a table. This component requires API version 42.0 and later."
    },
    "lightningsnapin:prechatUI": {
      "type": "interface",
      "namespace": "lightningsnapin",
      "attributes": [],
      "description": "This marker interface is used to indicate that a component can be used with Snap-Ins Pre-Chat."
    },
    "force:navigateToList": {
      "type": "event",
      "namespace": "force",
      "attributes": [
        {
          "name": "listViewId",
          "type": "string",
          "description": "The ID of the list view to be displayed",
          "access": "global",
          "parent": "force:navigateToList",
          "required": true
        },
        {
          "name": "listViewName",
          "type": "string",
          "description": "Specifies the name for the list view and doesn't need to match the actual name. To use the actual name that's saved for the list view, set listViewName to null.",
          "access": "global",
          "parent": "force:navigateToList",
          "required": true
        },
        {
          "name": "scope",
          "type": "string",
          "description": "The name of the sObject in the view, for example, 'Account' or 'MyObject__c'",
          "access": "global",
          "parent": "force:navigateToList",
          "required": true
        }
      ],
      "description": "Navigates to the list view specified by listViewId."
    },
    "lightning:layoutItem": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "alignmentBump",
          "type": "string",
          "description": "Specifies a direction to bump the alignment of adjacent layout items. Allowed values are left, top, right, bottom.",
          "access": "global",
          "parent": "lightning:layoutItem",
          "required": false
        },
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "lightning:layoutItem",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "flexibility",
          "type": "object",
          "description": "Make the item fluid so that it absorbs any extra space in its container or shrinks when there is less space. Allowed values are: auto (columns grow or shrink equally as space allows), shrink (columns shrink equally as space decreases), no-shrink (columns don't shrink as space reduces), grow (columns grow equally as space increases), no-grow (columns don't grow as space increases), no-flex (columns don't grow or shrink as space changes). Use a comma-separated value for multiple options, such as 'auto, no-shrink'.",
          "access": "global",
          "parent": "lightning:layoutItem",
          "required": false
        },
        {
          "name": "largeDeviceSize",
          "type": "integer",
          "description": "If the viewport is divided into 12 parts, this attribute indicates the relative space the container occupies on device-types larger than desktop. It is expressed as an integer from 1 through 12.",
          "access": "global",
          "parent": "lightning:layoutItem",
          "required": false
        },
        {
          "name": "mediumDeviceSize",
          "type": "integer",
          "description": "If the viewport is divided into 12 parts, this attribute indicates the relative space the container occupies on device-types larger than tablet. It is expressed as an integer from 1 through 12.",
          "access": "global",
          "parent": "lightning:layoutItem",
          "required": false
        },
        {
          "name": "padding",
          "type": "string",
          "description": "Sets padding to either the right and left sides of a container, or all sides of a container. Allowed values are horizontal-small, horizontal-medium, horizontal-large, around-small, around-medium, around-large.",
          "access": "global",
          "parent": "lightning:layoutItem",
          "required": false
        },
        {
          "name": "size",
          "type": "integer",
          "description": "If the viewport is divided into 12 parts, size indicates the relative space the container occupies. Size is expressed as an integer from 1 through 12. This applies for all device-types.",
          "access": "global",
          "parent": "lightning:layoutItem",
          "required": false
        },
        {
          "name": "smallDeviceSize",
          "type": "integer",
          "description": "If the viewport is divided into 12 parts, this attribute indicates the relative space the container occupies on device-types larger than mobile. It is expressed as an integer from 1 through 12.",
          "access": "global",
          "parent": "lightning:layoutItem",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        }
      ],
      "description": "The basic element of lightning:layout."
    },
    "wave:discover": {
      "type": "event",
      "namespace": "wave",
      "attributes": [
        {
          "name": "UID",
          "type": "string",
          "description": "Optional identifier that will be included in the response data.",
          "access": "global",
          "parent": "wave:discover",
          "required": false
        }
      ],
      "description": "Analytics event that a wave:waveDashboard listens and responds to with a discoverResponse event."
    },
    "aura:waiting": {
      "type": "event",
      "namespace": "aura",
      "attributes": [],
      "description": "Indicates that the client-side framework is currently awaiting a response to a server request."
    },
    "forceCommunity:notifications": {
      "type": "component",
      "namespace": "forceCommunity",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        }
      ],
      "description": "Notifications lets your members receive notifications wherever they are working, whether in their communities or in their apps. Members receive notifications on any screen—mobile, tablet, and desktop. All events that trigger notifications (@mentions and group posts) are supported. When a member clicks a notification, the originating detail page or other appropriate location is displayed for seamless collaboration across communities and apps."
    },
    "lightningsnapin:minimizedAPI": {
      "type": "component",
      "namespace": "lightningsnapin",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        }
      ],
      "description": "Enables you to customize your user interface for the minimized snap-in in Snap-ins for web."
    },
    "force:navigateToURL": {
      "type": "event",
      "namespace": "force",
      "attributes": [
        {
          "name": "isredirect",
          "type": "boolean",
          "description": "If we are redirecting in place, we don't want to create 2 history entries for hybrid. Instead hybrid ignores redirects as a history entry.",
          "access": "global",
          "parent": "force:navigateToURL",
          "required": false
        },
        {
          "name": "networkId",
          "type": "string",
          "description": "Network that the event is associated with.",
          "access": "global",
          "parent": "force:isNetwork",
          "required": false
        },
        {
          "name": "url",
          "type": "string",
          "description": "The URL of the target",
          "access": "global",
          "parent": "force:navigateToURL",
          "required": true
        }
      ],
      "description": "Navigates to the specified URL."
    },
    "lightning:avatar": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "alternativeText",
          "type": "string",
          "description": "The alternative text used to describe the avatar, which is displayed as hover text on the image.",
          "access": "global",
          "parent": "lightning:avatar",
          "required": true
        },
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "fallbackIconName",
          "type": "string",
          "description": "The Lightning Design System name of the icon used as a fallback when the image fails to load. The initials fallback relies on this for its background color. Names are written in the format 'standard:account' where 'standard' is the category, and 'account' is the specific icon to be displayed. Only icons from the standard and custom categories are allowed.",
          "access": "global",
          "parent": "lightning:avatar",
          "required": false
        },
        {
          "name": "initials",
          "type": "string",
          "description": "If the record name contains two words, like first and last name, use the first capitalized letter of each. For records that only have a single word name, use the first two letters of that word using one capital and one lower case letter.",
          "access": "global",
          "parent": "lightning:avatar",
          "required": false
        },
        {
          "name": "size",
          "type": "string",
          "description": "The size of the avatar. Valid values are x-small, small, medium, and large. This value defaults to medium.",
          "access": "global",
          "parent": "lightning:avatar",
          "required": false
        },
        {
          "name": "src",
          "type": "string",
          "description": "The URL for the image.",
          "access": "global",
          "parent": "lightning:avatar",
          "required": true
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "variant",
          "type": "string",
          "description": "The variant changes the shape of the avatar. Valid values are empty, circle, and square. This value defaults to square.",
          "access": "global",
          "parent": "lightning:avatar",
          "required": false
        }
      ],
      "description": "A visual representation of an object."
    },
    "force:navigateHome": {
      "type": "event",
      "namespace": "force",
      "attributes": [],
      "description": null
    },
    "lightning:layout": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "Body of the layout component.",
          "access": "global",
          "parent": "lightning:layout",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "horizontalAlign",
          "type": "string",
          "description": "Determines how to spread the layout items horizontally. The alignment options are center, space, spread, and end.",
          "access": "global",
          "parent": "lightning:layout",
          "required": false
        },
        {
          "name": "multipleRows",
          "type": "boolean",
          "description": "Determines whether to wrap the child items when they exceed the layout width. If true, the items wrap to the following line. This value defaults to false.",
          "access": "global",
          "parent": "lightning:layout",
          "required": false
        },
        {
          "name": "pullToBoundary",
          "type": "string",
          "description": "Pulls layout items to the layout boundaries and corresponds to the padding size on the layout item. Possible values are small, medium, or large.",
          "access": "global",
          "parent": "lightning:layout",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "verticalAlign",
          "type": "string",
          "description": "Determines how to spread the layout items vertically. The alignment options are start, center, end, and stretch.",
          "access": "global",
          "parent": "lightning:layout",
          "required": false
        }
      ],
      "description": "Represents a responsive grid system for arranging containers on a page."
    },
    "forceCommunity:waveDashboard": {
      "type": "component",
      "namespace": "forceCommunity",
      "attributes": [
        {
          "name": "accessToken",
          "type": "string",
          "description": "A valid access token obtained by logging into Salesforce. Useful when the component is used by Lightning Out in a non-Salesforce domain.",
          "access": "global",
          "parent": "forceCommunity:waveDashboard",
          "required": false
        },
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "dashboardId",
          "type": "string",
          "description": "The unique ID of the dashboard. You can get a dashboard’s ID, an 18-character code beginning with 0FK, from the dashboard's URL, or you can request it through the API. This attribute can be used instead of the developer name, but it can't be included if the name has been set. One of the two is required.",
          "access": "global",
          "parent": "forceCommunity:waveDashboard",
          "required": false
        },
        {
          "name": "developerName",
          "type": "string",
          "description": "The unique developer name of the dashboard. You can request the developer name through the API. This attribute can be used instead of the dashboard ID, but it can't be included if the ID has been set. One of the two is required.",
          "access": "global",
          "parent": "forceCommunity:waveDashboard",
          "required": false
        },
        {
          "name": "filter",
          "type": "string",
          "description": "Adds selections or filters to the embedded dashboard at runtime. The filter attribute is configured using JSON. For filtering by dimension, use this syntax: {'datasets' : {'dataset1': [ {'fields': ['field1'], 'selection': ['$value1', '$value2']}, {'fields': ['field2'], 'filter': { 'operator': 'operator1', 'values': ['$value3', '$value4']}}]}}. For filtering on measures, use this syntax: {'datasets' : {'dataset1': [ {'fields': ['field1'], 'selection': ['$value1', '$value2']}, {'fields': ['field2'], 'filter': { 'operator': 'operator1', 'values': [[$value3]]}}]}}. With the selection option, the dashboard is shown with all its data, and the specified dimension values are highlighted. With the filter option, the dashboard is shown with only filtered data. For more information, see https://help.salesforce.com/articleView?id=bi_embed_community_builder.htm. ",
          "access": "global",
          "parent": "forceCommunity:waveDashboard",
          "required": false
        },
        {
          "name": "height",
          "type": "integer",
          "description": "Specifies the height of the dashboard, in pixels.",
          "access": "global",
          "parent": "forceCommunity:waveDashboard",
          "required": false
        },
        {
          "name": "hideOnError",
          "type": "boolean",
          "description": "Controls whether or not users see a dashboard that has an error. When this attribute is set to true, if the dashboard has an error, it won’t appear on the page. When set to false, the dashboard appears but doesn’t show any data. An error can occur when a user doesn't have access to the dashboard or it has been deleted. ",
          "access": "global",
          "parent": "forceCommunity:waveDashboard",
          "required": false
        },
        {
          "name": "openLinksInNewWindow",
          "type": "boolean",
          "description": "If false, links to other dashboards will be opened in the same window.",
          "access": "global",
          "parent": "forceCommunity:waveDashboard",
          "required": false
        },
        {
          "name": "recordId",
          "type": "string",
          "description": "Id of the current entity in the context of which the component is being displayed.",
          "access": "global",
          "parent": "forceCommunity:waveDashboard",
          "required": false
        },
        {
          "name": "rendered",
          "type": "boolean",
          "description": "Specifies whether or not the component is rendered on the page.",
          "access": "global",
          "parent": "forceCommunity:waveDashboard",
          "required": false
        },
        {
          "name": "showHeader",
          "type": "boolean",
          "description": "If true, the dashboard is displayed with a header bar that includes dashboard information and controls. If false, the dashboard appears without a header bar. Note that the header bar automatically appears when either showSharing or showTitle is true.",
          "access": "global",
          "parent": "forceCommunity:waveDashboard",
          "required": false
        },
        {
          "name": "showSharing",
          "type": "boolean",
          "description": "If true, and the dashboard is shareable, then the dashboard shows the Share icon. If false, the dashboard doesn't show the Share icon. To show the Share icon in the dashboard, the smallest supported frame size is 800 x 612 pixels.",
          "access": "global",
          "parent": "forceCommunity:waveDashboard",
          "required": false
        },
        {
          "name": "showTitle",
          "type": "boolean",
          "description": "If true, the dashboard’s title is included above the dashboard. If false, the dashboard appears without a title.",
          "access": "global",
          "parent": "forceCommunity:waveDashboard",
          "required": false
        }
      ],
      "description": "Use this component to add a Salesforce Analytics dashboard to a Community page."
    },
    "lightning:utilityItem": {
      "type": "interface",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "supportsPopOut",
          "type": "boolean",
          "description": "Controls the availability of pop-out functionality.  Set to false to remove the pop-out option for the utility item.",
          "access": "global",
          "parent": "lightning:utilityItem",
          "required": false
        }
      ],
      "description": "This interface is used to denote that a component can be included in the utility bar."
    },
    "ui:outputCheckbox": {
      "type": "component",
      "namespace": "ui",
      "attributes": [
        {
          "name": "altChecked",
          "type": "string",
          "description": "The alternate text description when the checkbox is checked. Default value is “True”.",
          "access": "global",
          "parent": "ui:outputCheckbox",
          "required": false
        },
        {
          "name": "altUnchecked",
          "type": "string",
          "description": "The alternate text description when the checkbox is unchecked. Default value is “False”.",
          "access": "global",
          "parent": "ui:outputCheckbox",
          "required": false
        },
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS style to be attached to the component. This style is added in addition to base styles output by the component.",
          "access": "global",
          "parent": "ui:visible",
          "required": false
        },
        {
          "name": "value",
          "type": "boolean",
          "description": "Specifies whether the checkbox is checked.",
          "access": "global",
          "parent": "ui:outputCheckbox",
          "required": true
        }
      ],
      "description": "Deprecated as of API version 47.0. Use lightning:input with checkbox type and set readonly to true."
    },
    "aura:component": {
      "type": "component",
      "namespace": "aura",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        }
      ],
      "description": "The root of the component hierarchy. Provides a default rendering implementation."
    },
    "ui:actionMenuItem": {
      "type": "component",
      "namespace": "ui",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS style to be attached to the component. This style is added in addition to base styles output by the component.",
          "access": "global",
          "parent": "ui:menuItem",
          "required": false
        },
        {
          "name": "disabled",
          "type": "boolean",
          "description": "Specifies whether the component should be displayed in a disabled state. Default value is \"false\".",
          "access": "global",
          "parent": "ui:menuItem",
          "required": false
        },
        {
          "name": "hideMenuAfterSelected",
          "type": "boolean",
          "description": "Set to true to hide menu after the menu item is selected.",
          "access": "global",
          "parent": "ui:menuItem",
          "required": false
        },
        {
          "name": "label",
          "type": "string",
          "description": "The text displayed on the component.",
          "access": "global",
          "parent": "ui:menuItem",
          "required": false
        },
        {
          "name": "selected",
          "type": "boolean",
          "description": "The status of the menu item. True means this menu item is selected; False is not selected.",
          "access": "global",
          "parent": "ui:menuItem",
          "required": false
        },
        {
          "name": "type",
          "type": "string",
          "description": "The concrete type of the menu item. Accepted values are 'action', 'checkbox', 'radio', 'separator' or any namespaced component descriptor, e.g. ns:xxxxmenuItem.",
          "access": "global",
          "parent": "ui:menuItem",
          "required": false
        }
      ],
      "description": "Deprecated as of API version 47.0. Use lightning:menuItem with lightning:buttonMenu instead."
    },
    "ui:outputRichText": {
      "type": "component",
      "namespace": "ui",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS style to be attached to the component. This style is added in addition to base styles output by the component.",
          "access": "global",
          "parent": "ui:visible",
          "required": false
        },
        {
          "name": "linkify",
          "type": "boolean",
          "description": "Indicates if the URLs in the text are set to render as hyperlinks.",
          "access": "global",
          "parent": "ui:outputRichText",
          "required": false
        },
        {
          "name": "value",
          "type": "string",
          "description": "The formatted text used for output.",
          "access": "global",
          "parent": "ui:outputRichText",
          "required": false
        }
      ],
      "description": "Deprecated as of API version 47.0. Use lightning:formattedRichText instead."
    },
    "lightning:omniToolkitAPI": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        }
      ],
      "description": "This component provides access to the API for the Omni-channel toolkit."
    },
    "wave:pageChange": {
      "type": "event",
      "namespace": "wave",
      "attributes": [
        {
          "name": "devName",
          "type": "string",
          "description": "The fully qualified dev name for the Analytics dashboard.",
          "access": "global",
          "parent": "wave:pageChange",
          "required": true
        },
        {
          "name": "pageid",
          "type": "string",
          "description": "The dashboard page that should be displayed if value is supplied.",
          "access": "global",
          "parent": "wave:pageChange",
          "required": true
        }
      ],
      "description": "Event that updates the Analytics dashboard with the specified pageid."
    },
    "lightning:tab": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "accesskey",
          "type": "string",
          "description": "Specifies a shortcut key to activate or focus an element.",
          "access": "global",
          "parent": "lightning:focusable",
          "required": false
        },
        {
          "name": "body",
          "type": "componentdefref[]",
          "description": "The body of the tab.",
          "access": "global",
          "parent": "lightning:tab",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "endIconAlternativeText",
          "type": "string",
          "description": "Alternative text for the icon specified by endIconName.",
          "access": "global",
          "parent": "lightning:tab",
          "required": false
        },
        {
          "name": "endIconName",
          "type": "string",
          "description": "The Lightning Design System name of an icon to display at the end of the tab label. Specify the name in the format 'utility:check' where 'utility' is the category, and 'check' is the icon to be displayed.",
          "access": "global",
          "parent": "lightning:tab",
          "required": false
        },
        {
          "name": "iconAssistiveText",
          "type": "string",
          "description": "Alternative text for the icon specified by iconName.",
          "access": "global",
          "parent": "lightning:tab",
          "required": false
        },
        {
          "name": "iconName",
          "type": "string",
          "description": "The Lightning Design System name of an icon to display at the start of the tab label. Specify the name in the format 'utility:down' where 'utility' is the category, and 'down' is the icon to be displayed. Only utility icons can be used in this component.",
          "access": "global",
          "parent": "lightning:tab",
          "required": false
        },
        {
          "name": "id",
          "type": "string",
          "description": "The optional ID is used during tabset's onselect event to determine which tab was clicked.",
          "access": "global",
          "parent": "lightning:tab",
          "required": false
        },
        {
          "name": "label",
          "type": "component[]",
          "description": "The text that appears on the tab. The attribute accepts string values, but for compatibility with previous releases also accepts a component type. Only the text portion of the label value displays and any CSS classes that are applied are ignored.",
          "access": "global",
          "parent": "lightning:tab",
          "required": false
        },
        {
          "name": "onactive",
          "type": "action",
          "description": "The action triggered when this tab becomes active.",
          "access": "global",
          "parent": "lightning:tab",
          "required": false
        },
        {
          "name": "onblur",
          "type": "action",
          "description": "The action triggered when the element releases focus.",
          "access": "global",
          "parent": "lightning:focusable",
          "required": false
        },
        {
          "name": "onfocus",
          "type": "action",
          "description": "The action triggered when the element receives focus.",
          "access": "global",
          "parent": "lightning:focusable",
          "required": false
        },
        {
          "name": "showErrorIndicator",
          "type": "boolean",
          "description": "Specifies whether there's an error in the tab content. An error icon is displayed to the right of the tab label.",
          "access": "global",
          "parent": "lightning:tab",
          "required": false
        },
        {
          "name": "tabindex",
          "type": "integer",
          "description": "Specifies the tab order of an element when the Tab key is used for navigating. The tabindex value can be set to 0 or -1. The default is 0, which means that the component is focusable and participates in sequential keyboard navigation. -1 means that the component is focusable but does not participate in keyboard navigation.",
          "access": "global",
          "parent": "lightning:focusable",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        }
      ],
      "description": "A single tab that is nested in a lightning:tabset component."
    },
    "forceChatter:publisher": {
      "type": "component",
      "namespace": "forceChatter",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "context",
          "type": "string",
          "description": "The context in which the component is being displayed (RECORD or GLOBAL). RECORD is for a record feed, and GLOBAL is for all other feed types. This attribute is case-sensitive.",
          "access": "global",
          "parent": "forceChatter:publisher",
          "required": true
        },
        {
          "name": "recordId",
          "type": "string",
          "description": "The record Id",
          "access": "global",
          "parent": "force:hasRecordId",
          "required": false
        }
      ],
      "description": "Lets users create posts on records or groups and upload attachments from their desktops in Lightning Experience and communities and from their mobile devices in communities. Note that this component is not available to mobile devices in Lightning Experience."
    },
    "ui:inputCheckbox": {
      "type": "component",
      "namespace": "ui",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS style to be attached to the component. This style is added in addition to base styles output by the component.",
          "access": "global",
          "parent": "ui:inputBaseOption",
          "required": false
        },
        {
          "name": "disabled",
          "type": "boolean",
          "description": "Specifies whether the component should be displayed in a disabled state. Default value is \"false\".",
          "access": "global",
          "parent": "ui:inputBaseOption",
          "required": false
        },
        {
          "name": "errors",
          "type": "object[]",
          "description": "The list of errors to be displayed.",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "label",
          "type": "string",
          "description": "The text displayed on the component.",
          "access": "global",
          "parent": "ui:inputBaseOption",
          "required": false
        },
        {
          "name": "labelClass",
          "type": "string",
          "description": "The CSS class of the label component",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "name",
          "type": "string",
          "description": "The name of the component.",
          "access": "global",
          "parent": "ui:inputBaseOption",
          "required": false
        },
        {
          "name": "required",
          "type": "boolean",
          "description": "Specifies whether the input is required. Default value is \"false\".",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "requiredIndicatorClass",
          "type": "string",
          "description": "The CSS class of the required indicator component",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "text",
          "type": "string",
          "description": "The input value attribute.",
          "access": "global",
          "parent": "ui:inputBaseOption",
          "required": false
        },
        {
          "name": "updateOn",
          "type": "string",
          "description": "Updates the component's value binding if the updateOn attribute is set to the handled event. Default value is \"change,click\".",
          "access": "global",
          "parent": "ui:inputCheckbox",
          "required": false
        },
        {
          "name": "value",
          "type": "boolean",
          "description": "Indicates whether the status of the option is selected. Default value is “false”.",
          "access": "global",
          "parent": "ui:inputBaseOption",
          "required": false
        }
      ],
      "description": "Deprecated as of API version 47.0. Use lightning:input with checkbox, toggle, or checkbox-button type instead. For checkbox groups, use lightning:checkboxGroup."
    },
    "ui:inputCurrency": {
      "type": "component",
      "namespace": "ui",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS style to be attached to the component. This style is added in addition to base styles output by the component.",
          "access": "global",
          "parent": "ui:visible",
          "required": false
        },
        {
          "name": "disabled",
          "type": "boolean",
          "description": "Specifies whether the component should be displayed in a disabled state. Default value is \"false\".",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "errors",
          "type": "object[]",
          "description": "The list of errors to be displayed.",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "format",
          "type": "string",
          "description": "The format of the number. For example, format=“.00” displays the number followed by two decimal places. If not specified, the Locale default format will be used.",
          "access": "global",
          "parent": "ui:inputNumberComponent",
          "required": false
        },
        {
          "name": "label",
          "type": "string",
          "description": "The text of the label component",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "labelClass",
          "type": "string",
          "description": "The CSS class of the label component",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "maxlength",
          "type": "integer",
          "description": "The maximum number of characters that can be typed into the input field. Corresponds to the maxlength attribute of the rendered HTML input element.",
          "access": "global",
          "parent": "ui:inputTextComponent",
          "required": false
        },
        {
          "name": "placeholder",
          "type": "string",
          "description": "Text that is displayed when the field is empty, to prompt the user for a valid entry.",
          "access": "global",
          "parent": "ui:inputTextComponent",
          "required": false
        },
        {
          "name": "required",
          "type": "boolean",
          "description": "Specifies whether the input is required. Default value is \"false\".",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "requiredIndicatorClass",
          "type": "string",
          "description": "The CSS class of the required indicator component",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "size",
          "type": "integer",
          "description": "The width of the input field, in characters. Corresponds to the size attribute of the rendered HTML input element.",
          "access": "global",
          "parent": "ui:inputTextComponent",
          "required": false
        },
        {
          "name": "updateOn",
          "type": "string",
          "description": "Updates the component's value binding if the updateOn attribute is set to the handled event. Default value is \"change\".",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "value",
          "type": "decimal",
          "description": "The input value of the number.",
          "access": "global",
          "parent": "ui:inputNumberComponent",
          "required": false
        }
      ],
      "description": "Deprecated as of API version 47.0. Use lightning:input with number type and currency formatter instead."
    },
    "ui:inputEmail": {
      "type": "component",
      "namespace": "ui",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS style to be attached to the component. This style is added in addition to base styles output by the component.",
          "access": "global",
          "parent": "ui:visible",
          "required": false
        },
        {
          "name": "disabled",
          "type": "boolean",
          "description": "Specifies whether the component should be displayed in a disabled state. Default value is \"false\".",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "errors",
          "type": "object[]",
          "description": "The list of errors to be displayed.",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "label",
          "type": "string",
          "description": "The text of the label component",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "labelClass",
          "type": "string",
          "description": "The CSS class of the label component",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "maxlength",
          "type": "integer",
          "description": "The maximum number of characters that can be typed into the input field. Corresponds to the maxlength attribute of the rendered HTML input element.",
          "access": "global",
          "parent": "ui:inputTextComponent",
          "required": false
        },
        {
          "name": "placeholder",
          "type": "string",
          "description": "Text that is displayed when the field is empty, to prompt the user for a valid entry.",
          "access": "global",
          "parent": "ui:inputTextComponent",
          "required": false
        },
        {
          "name": "required",
          "type": "boolean",
          "description": "Specifies whether the input is required. Default value is \"false\".",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "requiredIndicatorClass",
          "type": "string",
          "description": "The CSS class of the required indicator component",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "size",
          "type": "integer",
          "description": "The width of the input field, in characters. Corresponds to the size attribute of the rendered HTML input element.",
          "access": "global",
          "parent": "ui:inputTextComponent",
          "required": false
        },
        {
          "name": "updateOn",
          "type": "string",
          "description": "Updates the component's value binding if the updateOn attribute is set to the handled event. Default value is \"change\".",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "value",
          "type": "string",
          "description": "The value currently in the input field.",
          "access": "global",
          "parent": "ui:input",
          "required": false
        }
      ],
      "description": "Deprecated as of API version 47.0. Use lightning:input with email type instead."
    },
    "lightning:verticalNavigationSection": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "label",
          "type": "string",
          "description": "The heading text for this section.",
          "access": "global",
          "parent": "lightning:verticalNavigationSection",
          "required": true
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        }
      ],
      "description": "Represents a section within a lightning:verticalNavigation. This component requires API version 41.0 and later."
    },
    "lightning:inputLocation": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "disabled",
          "type": "boolean",
          "description": "Specifies whether the compound field should be disabled. Disabled fields are grayed out and not clickable. This value defaults to false.",
          "access": "global",
          "parent": "lightning:inputLocation",
          "required": false
        },
        {
          "name": "fieldLevelHelp",
          "type": "string",
          "description": "Help text detailing the purpose and function of geolocation compound field.",
          "access": "global",
          "parent": "lightning:inputLocation",
          "required": false
        },
        {
          "name": "label",
          "type": "string",
          "description": "Text label for the geolocation compound field.",
          "access": "global",
          "parent": "lightning:inputLocation",
          "required": false
        },
        {
          "name": "latitude",
          "type": "string",
          "description": "The latitude value. Latitude values must be within -90 and 90.",
          "access": "global",
          "parent": "lightning:inputLocation",
          "required": false
        },
        {
          "name": "longitude",
          "type": "string",
          "description": "The longitude value. Longitude values must be within -180 and 180.",
          "access": "global",
          "parent": "lightning:inputLocation",
          "required": false
        },
        {
          "name": "onblur",
          "type": "action",
          "description": "The action triggered when the input releases focus.",
          "access": "global",
          "parent": "lightning:inputLocation",
          "required": false
        },
        {
          "name": "onchange",
          "type": "action",
          "description": "The action triggered when the value changes.",
          "access": "global",
          "parent": "lightning:inputLocation",
          "required": false
        },
        {
          "name": "onfocus",
          "type": "action",
          "description": "The action triggered when the input receives focus.",
          "access": "global",
          "parent": "lightning:inputLocation",
          "required": false
        },
        {
          "name": "readonly",
          "type": "boolean",
          "description": "Specifies whether the compound field is read-only. This value defaults to false.",
          "access": "global",
          "parent": "lightning:inputLocation",
          "required": false
        },
        {
          "name": "required",
          "type": "boolean",
          "description": "Specifies whether the compound field must be filled out. An error message is displayed if a user interacts with the field and does not provide a value. This value defaults to false.",
          "access": "global",
          "parent": "lightning:inputLocation",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "variant",
          "type": "string",
          "description": "The variant changes the appearance of the geolocation compound field. Accepted variants include standard, label-hidden, label-inline, and label-stacked. This value defaults to standard. This value defaults to standard. Use label-hidden to hide the label but make it available to assistive technology. Use label-inline to horizontally align the label and geolocation fields. Use label-stacked to place the label above the geolocation fields.",
          "access": "global",
          "parent": "lightning:inputLocation",
          "required": false
        }
      ],
      "description": "Represents a geolocation compound field that accepts a latitude and longitude value. This component requires API version 41.0 and later."
    },
    "lightning:buttonIcon": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "accesskey",
          "type": "string",
          "description": "Specifies a shortcut key to activate or focus an element.",
          "access": "global",
          "parent": "lightning:focusable",
          "required": false
        },
        {
          "name": "alternativeText",
          "type": "string",
          "description": "The alternative text used to describe the icon. This text should describe what happens when you click the button, for example 'Upload File', not what the icon looks like, 'Paperclip'.",
          "access": "global",
          "parent": "lightning:buttonIcon",
          "required": true
        },
        {
          "name": "ariaAtomic",
          "type": "string",
          "description": "Indicates whether assistive technologies will present all, or only parts of, the changed region. Valid values are 'true' or 'false'.",
          "access": "global",
          "parent": "lightning:buttonIcon",
          "required": false
        },
        {
          "name": "ariaControls",
          "type": "string",
          "description": "A space-separated list of element IDs that this button controls the contents or presence of.",
          "access": "global",
          "parent": "lightning:buttonIcon",
          "required": false
        },
        {
          "name": "ariaDescribedBy",
          "type": "string",
          "description": "A space-separated list of element IDs that provides descriptive labels for the button.",
          "access": "global",
          "parent": "lightning:buttonIcon",
          "required": false
        },
        {
          "name": "ariaExpanded",
          "type": "string",
          "description": "Indicates whether an element the button controls is expanded or collapsed. Valid values are 'true' or 'false'.",
          "access": "global",
          "parent": "lightning:buttonIcon",
          "required": false
        },
        {
          "name": "ariaLabel",
          "type": "string",
          "description": "Label describing the button to assistive technologies.",
          "access": "global",
          "parent": "lightning:buttonIcon",
          "required": false
        },
        {
          "name": "ariaLive",
          "type": "string",
          "description": "Indicates that the button will be updated. Valid values are 'assertive', 'polite', or 'off'.",
          "access": "global",
          "parent": "lightning:buttonIcon",
          "required": false
        },
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "disabled",
          "type": "boolean",
          "description": "Specifies whether this button should be displayed in a disabled state. Disabled buttons can't be clicked. This value defaults to false.",
          "access": "global",
          "parent": "lightning:buttonIcon",
          "required": false
        },
        {
          "name": "iconClass",
          "type": "string",
          "description": "The class to be applied to the contained icon element.",
          "access": "global",
          "parent": "lightning:buttonIcon",
          "required": false
        },
        {
          "name": "iconName",
          "type": "string",
          "description": "The Lightning Design System name of the icon. Names are written in the format 'utility:down' where 'utility' is the category, and 'down' is the specific icon to be displayed. Only utility icons can be used in this component.",
          "access": "global",
          "parent": "lightning:buttonIcon",
          "required": true
        },
        {
          "name": "name",
          "type": "string",
          "description": "The name for the button element. This value is optional and can be used to identify the button in a callback.",
          "access": "global",
          "parent": "lightning:buttonIcon",
          "required": false
        },
        {
          "name": "onblur",
          "type": "action",
          "description": "The action triggered when the element releases focus.",
          "access": "global",
          "parent": "lightning:focusable",
          "required": false
        },
        {
          "name": "onclick",
          "type": "action",
          "description": "The action that will be run when the button is clicked.",
          "access": "global",
          "parent": "lightning:buttonIcon",
          "required": false
        },
        {
          "name": "onfocus",
          "type": "action",
          "description": "The action triggered when the element receives focus.",
          "access": "global",
          "parent": "lightning:focusable",
          "required": false
        },
        {
          "name": "size",
          "type": "string",
          "description": "The size of the buttonIcon. For the bare variant, options include x-small, small, medium, and large. For non-bare variants, options include xx-small, x-small, small, and medium. This value defaults to medium.",
          "access": "global",
          "parent": "lightning:buttonIcon",
          "required": false
        },
        {
          "name": "tabindex",
          "type": "integer",
          "description": "Specifies the tab order of an element when the Tab key is used for navigating. The tabindex value can be set to 0 or -1. The default is 0, which means that the component is focusable and participates in sequential keyboard navigation. -1 means that the component is focusable but does not participate in keyboard navigation.",
          "access": "global",
          "parent": "lightning:focusable",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "tooltip",
          "type": "string",
          "description": "Text to display when the user mouses over or focuses on the button. The tooltip is auto-positioned relative to the button and screen space.",
          "access": "global",
          "parent": "lightning:buttonIcon",
          "required": false
        },
        {
          "name": "type",
          "type": "string",
          "description": "Specifies the type of button. Valid values are button, reset, and submit. This value defaults to button.",
          "access": "global",
          "parent": "lightning:buttonIcon",
          "required": false
        },
        {
          "name": "value",
          "type": "string",
          "description": "The value for the button element. This value is optional and can be used when submitting a form.",
          "access": "global",
          "parent": "lightning:buttonIcon",
          "required": false
        },
        {
          "name": "variant",
          "type": "string",
          "description": "The variant changes the appearance of buttonIcon. Accepted variants include bare,         container, brand, border, border-filled, bare-inverse, and border-inverse. This value defaults to border.",
          "access": "global",
          "parent": "lightning:buttonIcon",
          "required": false
        }
      ],
      "description": "An icon-only HTML button."
    },
    "lightning:formattedAddress": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "city",
          "type": "string",
          "description": "The city detail for the address.",
          "access": "global",
          "parent": "lightning:formattedAddress",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "country",
          "type": "string",
          "description": "The country detail for the address.",
          "access": "global",
          "parent": "lightning:formattedAddress",
          "required": false
        },
        {
          "name": "disabled",
          "type": "boolean",
          "description": "Specifies whether the address is clickable. This value defaults to false.",
          "access": "global",
          "parent": "lightning:formattedAddress",
          "required": false
        },
        {
          "name": "latitude",
          "type": "decimal",
          "description": "The latitude of the location if known. Latitude values must be within -90 and 90.",
          "access": "global",
          "parent": "lightning:formattedAddress",
          "required": false
        },
        {
          "name": "longitude",
          "type": "decimal",
          "description": "The longitude of the location if known. Longitude values must be within -180 and 180.",
          "access": "global",
          "parent": "lightning:formattedAddress",
          "required": false
        },
        {
          "name": "postalCode",
          "type": "string",
          "description": "The postal code detail for the address.",
          "access": "global",
          "parent": "lightning:formattedAddress",
          "required": false
        },
        {
          "name": "province",
          "type": "string",
          "description": "The province detail for the address.",
          "access": "global",
          "parent": "lightning:formattedAddress",
          "required": false
        },
        {
          "name": "showStaticMap",
          "type": "boolean",
          "description": "Displays a static map of the location using Google Maps. This value defaults to false.",
          "access": "global",
          "parent": "lightning:formattedAddress",
          "required": false
        },
        {
          "name": "street",
          "type": "string",
          "description": "The street detail for the address.",
          "access": "global",
          "parent": "lightning:formattedAddress",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        }
      ],
      "description": "Displays a formatted address that provides a link to the given location on Google Maps. This component requires API version 42.0 and later."
    },
    "lightning:homeTemplate": {
      "type": "interface",
      "namespace": "lightning",
      "attributes": [],
      "description": "Indicates the component can be used as a flexipage page template for the HOME_PAGE page type"
    },
    "lightning:tabUpdated": {
      "type": "event",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "tabId",
          "type": "string",
          "description": "The ID of the tab that was updated.",
          "access": "global",
          "parent": "lightning:tabUpdated",
          "required": true
        }
      ],
      "description": "Fires when a Console workspace or subtab has been updated. This may include label, icon, and/or content changes."
    },
    "lightning:omniChannelWorkDeclined": {
      "type": "event",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "workId",
          "type": "string",
          "description": "The ID of a work assignment that’s routed to an agent.",
          "access": "global",
          "parent": "lightning:omniChannelWorkDeclined",
          "required": true
        },
        {
          "name": "workItemId",
          "type": "string",
          "description": "The ID of the object that’s routed through Omni-Channel.",
          "access": "global",
          "parent": "lightning:omniChannelWorkDeclined",
          "required": true
        }
      ],
      "description": "Fired when a user declines a work assignment."
    },
    "force:navigateToObjectHome": {
      "type": "event",
      "namespace": "force",
      "attributes": [
        {
          "name": "resetHistory",
          "type": "boolean",
          "description": "Set to true to reset history",
          "access": "global",
          "parent": "force:navigateToObjectHome",
          "required": false
        },
        {
          "name": "scope",
          "type": "string",
          "description": "name or key prefix of entity to display object home for.",
          "access": "global",
          "parent": "force:navigateToObjectHome",
          "required": true
        }
      ],
      "description": "used to navigate to object home"
    },
    "lightning:badge": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "label",
          "type": "string",
          "description": "The text to be displayed inside the badge.",
          "access": "global",
          "parent": "lightning:badge",
          "required": true
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        }
      ],
      "description": "Represents a label which holds a small amount of information, such as the number of unread notifications."
    },
    "lightningsnapin:prechatAPI": {
      "type": "component",
      "namespace": "lightningsnapin",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        }
      ],
      "description": "Enables customization of the user interface for the pre-chat page in Snap-ins Chat. Your custom pre-chat component must implement the lightningsnapin:prechatUI interface."
    },
    "ui:outputDateTime": {
      "type": "component",
      "namespace": "ui",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS style to be attached to the component. This style is added in addition to base styles output by the component.",
          "access": "global",
          "parent": "ui:visible",
          "required": false
        },
        {
          "name": "format",
          "type": "string",
          "description": "A string (pattern letters are defined in java.text.SimpleDateFormat) used to format the date and time of the value attribute.",
          "access": "global",
          "parent": "ui:outputDateComponent",
          "required": false
        },
        {
          "name": "langLocale",
          "type": "string",
          "description": "Deprecated. The language locale used to format date value. It only allows to use the value which is provided by Locale Value Provider, otherwise, it falls back to the value of $Locale.langLocale. It will be removed in an upcoming release.",
          "access": "global",
          "parent": "ui:outputDateComponent",
          "required": false
        },
        {
          "name": "timezone",
          "type": "string",
          "description": "The timezone ID, for example, America/Los_Angeles.",
          "access": "global",
          "parent": "ui:outputDateTime",
          "required": false
        },
        {
          "name": "value",
          "type": "string",
          "description": "An ISO8601-formatted string representing a date time.",
          "access": "global",
          "parent": "ui:outputDateTime",
          "required": true
        }
      ],
      "description": "Deprecated as of API version 47.0. Use lightning:formattedDateTime or lightning:formattedTime instead."
    },
    "ui:inputNumber": {
      "type": "component",
      "namespace": "ui",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS style to be attached to the component. This style is added in addition to base styles output by the component.",
          "access": "global",
          "parent": "ui:visible",
          "required": false
        },
        {
          "name": "disabled",
          "type": "boolean",
          "description": "Specifies whether the component should be displayed in a disabled state. Default value is \"false\".",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "errors",
          "type": "object[]",
          "description": "The list of errors to be displayed.",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "format",
          "type": "string",
          "description": "The format of the number. For example, format=“.00” displays the number followed by two decimal places. If not specified, the Locale default format will be used.",
          "access": "global",
          "parent": "ui:inputNumberComponent",
          "required": false
        },
        {
          "name": "label",
          "type": "string",
          "description": "The text of the label component",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "labelClass",
          "type": "string",
          "description": "The CSS class of the label component",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "maxlength",
          "type": "integer",
          "description": "The maximum number of characters that can be typed into the input field. Corresponds to the maxlength attribute of the rendered HTML input element.",
          "access": "global",
          "parent": "ui:inputTextComponent",
          "required": false
        },
        {
          "name": "placeholder",
          "type": "string",
          "description": "Text that is displayed when the field is empty, to prompt the user for a valid entry.",
          "access": "global",
          "parent": "ui:inputTextComponent",
          "required": false
        },
        {
          "name": "required",
          "type": "boolean",
          "description": "Specifies whether the input is required. Default value is \"false\".",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "requiredIndicatorClass",
          "type": "string",
          "description": "The CSS class of the required indicator component",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "size",
          "type": "integer",
          "description": "The width of the input field, in characters. Corresponds to the size attribute of the rendered HTML input element.",
          "access": "global",
          "parent": "ui:inputTextComponent",
          "required": false
        },
        {
          "name": "updateOn",
          "type": "string",
          "description": "Updates the component's value binding if the updateOn attribute is set to the handled event. Default value is \"change\".",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "value",
          "type": "decimal",
          "description": "The input value of the number.",
          "access": "global",
          "parent": "ui:inputNumberComponent",
          "required": false
        }
      ],
      "description": "Deprecated as of API version 47.0. Use lightning:input with number type instead."
    },
    "forceCommunity:analyticsInteractionGtag": {
      "type": "event",
      "namespace": "forceCommunity",
      "attributes": [
        {
          "name": "description",
          "type": "string",
          "description": "A description of the error.",
          "access": "global",
          "parent": "forceCommunity:analyticsInteractionGtag",
          "required": false
        },
        {
          "name": "event",
          "type": "string",
          "description": "The string that will appear as the event action in Google Analytics Event reports.",
          "access": "global",
          "parent": "forceCommunity:analyticsInteractionGtag",
          "required": true
        },
        {
          "name": "event_category",
          "type": "string",
          "description": "An event category is a name that you supply as a way to group objects that you want to analyze. Also, a string for categorizing all user timing variables into logical groups.",
          "access": "global",
          "parent": "forceCommunity:analyticsInteractionGtag",
          "required": false
        },
        {
          "name": "event_label",
          "type": "string",
          "description": "Provides additional information for events that you want to analyze. Also, a string that can be used to add flexibility in visualizing user timings in the reports.",
          "access": "global",
          "parent": "forceCommunity:analyticsInteractionGtag",
          "required": false
        },
        {
          "name": "fatal",
          "type": "boolean",
          "description": "True if the error was fatal.",
          "access": "global",
          "parent": "forceCommunity:analyticsInteractionGtag",
          "required": false
        },
        {
          "name": "name",
          "type": "string",
          "description": "A string to identify the variable being recorded. Required for 'timing_complete' event.",
          "access": "global",
          "parent": "forceCommunity:analyticsInteractionGtag",
          "required": false
        },
        {
          "name": "value",
          "type": "integer",
          "description": "An integer used to assign a numerical value to a page object. Also, he number of milliseconds in elapsed time to report to Google Analytics. Required for 'timing_complete' event.",
          "access": "global",
          "parent": "forceCommunity:analyticsInteractionGtag",
          "required": false
        }
      ],
      "description": "Tracks events triggered by custom components in communities and sends the data to Google Analytics."
    },
    "lightning:verticalNavigationItemBadge": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "assistiveText",
          "type": "string",
          "description": "Assistive text describing the number in the badge. This is used to enhance accessibility and is not displayed to the user.",
          "access": "global",
          "parent": "lightning:verticalNavigationItemBadge",
          "required": false
        },
        {
          "name": "badgeCount",
          "type": "integer",
          "description": "The number to show inside the badge. If this value is zero the badge will be hidden.",
          "access": "global",
          "parent": "lightning:verticalNavigationItemBadge",
          "required": false
        },
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "href",
          "type": "string",
          "description": "The URL of the page that the navigation item goes to.",
          "access": "global",
          "parent": "lightning:verticalNavigationItemBadge",
          "required": false
        },
        {
          "name": "label",
          "type": "string",
          "description": "The text displayed for this navigation item.",
          "access": "global",
          "parent": "lightning:verticalNavigationItemBadge",
          "required": true
        },
        {
          "name": "name",
          "type": "string",
          "description": "A unique identifier for this navigation item.",
          "access": "global",
          "parent": "lightning:verticalNavigationItemBadge",
          "required": true
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        }
      ],
      "description": "A link and badge within a lightning:verticalNavigationSection or lightning:verticalNavigationOverflow. This component requires API version 41.0 and later."
    },
    "forceCommunity:profileMenuInterface": {
      "type": "interface",
      "namespace": "forceCommunity",
      "attributes": [],
      "description": "Enables a component to be used as a custom profile menu in Experience Builder."
    },
    "clients:hasEventContext": {
      "type": "interface",
      "namespace": "clients",
      "attributes": [
        {
          "name": "dates",
          "type": "object",
          "description": "READONLY - An object representing the item context pertinent to the appointment.",
          "access": "global",
          "parent": "clients:hasEventContext",
          "required": false
        },
        {
          "name": "location",
          "type": "string",
          "description": "READONLY - The location of the current event.",
          "access": "global",
          "parent": "clients:hasEventContext",
          "required": false
        }
      ],
      "description": "Context for event information. Use this interface to interact with the mail clients."
    },
    "ui:button": {
      "type": "component",
      "namespace": "ui",
      "attributes": [
        {
          "name": "accesskey",
          "type": "string",
          "description": "The keyboard access key that puts the button in focus. When the button is in focus, pressing Enter clicks the button.",
          "access": "global",
          "parent": "ui:button",
          "required": false
        },
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "buttonTitle",
          "type": "string",
          "description": "The text displayed in a tooltip when the mouse pointer hovers over the button.",
          "access": "global",
          "parent": "ui:button",
          "required": false
        },
        {
          "name": "buttonType",
          "type": "string",
          "description": "Specifies the type of button. Possible values: reset, submit, or button. This value defaults to button.",
          "access": "global",
          "parent": "ui:button",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS style to be attached to the button. This style is added in addition to base styles output by the component.",
          "access": "global",
          "parent": "ui:button",
          "required": false
        },
        {
          "name": "disabled",
          "type": "boolean",
          "description": "Specifies whether this button should be displayed in a disabled state. Disabled buttons can't be clicked. Default value is \"false\".",
          "access": "global",
          "parent": "ui:button",
          "required": false
        },
        {
          "name": "label",
          "type": "string",
          "description": "The text displayed on the button. Corresponds to the value attribute of the rendered HTML input element.",
          "access": "global",
          "parent": "ui:button",
          "required": false
        },
        {
          "name": "labelClass",
          "type": "string",
          "description": "A CSS style to be attached to the label. This style is added in addition to base styles output by the component.",
          "access": "global",
          "parent": "ui:button",
          "required": false
        }
      ],
      "description": "Deprecated as of API version 47.0. Use lightning:button, lightning:buttonIcon, or lightning:buttonIconStateful instead. For button groups, use lightning:buttonGroup."
    },
    "ui:inputSecret": {
      "type": "component",
      "namespace": "ui",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS style to be attached to the component. This style is added in addition to base styles output by the component.",
          "access": "global",
          "parent": "ui:visible",
          "required": false
        },
        {
          "name": "disabled",
          "type": "boolean",
          "description": "Specifies whether the component should be displayed in a disabled state. Default value is \"false\".",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "errors",
          "type": "object[]",
          "description": "The list of errors to be displayed.",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "label",
          "type": "string",
          "description": "The text of the label component",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "labelClass",
          "type": "string",
          "description": "The CSS class of the label component",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "maxlength",
          "type": "integer",
          "description": "The maximum number of characters that can be typed into the input field. Corresponds to the maxlength attribute of the rendered HTML input element.",
          "access": "global",
          "parent": "ui:inputTextComponent",
          "required": false
        },
        {
          "name": "placeholder",
          "type": "string",
          "description": "Text that is displayed when the field is empty, to prompt the user for a valid entry.",
          "access": "global",
          "parent": "ui:inputTextComponent",
          "required": false
        },
        {
          "name": "required",
          "type": "boolean",
          "description": "Specifies whether the input is required. Default value is \"false\".",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "requiredIndicatorClass",
          "type": "string",
          "description": "The CSS class of the required indicator component",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "size",
          "type": "integer",
          "description": "The width of the input field, in characters. Corresponds to the size attribute of the rendered HTML input element.",
          "access": "global",
          "parent": "ui:inputTextComponent",
          "required": false
        },
        {
          "name": "updateOn",
          "type": "string",
          "description": "Updates the component's value binding if the updateOn attribute is set to the handled event. Default value is \"change\".",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "value",
          "type": "string",
          "description": "The value currently in the input field.",
          "access": "global",
          "parent": "ui:input",
          "required": false
        }
      ],
      "description": "Deprecated as of API version 47.0. Use lightning:input with password type instead."
    },
    "forceCommunity:searchInterface": {
      "type": "interface",
      "namespace": "forceCommunity",
      "attributes": [],
      "description": "Enables a components to be used as a custom search component in the Experience Builder."
    },
    "forceCommunity:themeLayout": {
      "type": "interface",
      "namespace": "forceCommunity",
      "attributes": [],
      "description": "Represent the layout for a theme and hosted inside the Experience Builder"
    },
    "lightning:empApi": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        }
      ],
      "description": "Exposes the EmpJs Streaming API library which subscribes to a streaming channel and listens to event messages using a shared CometD connection. This component is supported only in desktop browsers. This component requires API version 44.0 or later."
    },
    "ui:outputNumber": {
      "type": "component",
      "namespace": "ui",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS style to be attached to the component. This style is added in addition to base styles output by the component.",
          "access": "global",
          "parent": "ui:visible",
          "required": false
        },
        {
          "name": "format",
          "type": "string",
          "description": "The format of the number. For example, format=“.00” displays the number followed by two decimal places. If not specified, the Locale default format will be used.",
          "access": "global",
          "parent": "ui:outputNumber",
          "required": false
        },
        {
          "name": "value",
          "type": "decimal",
          "description": "The number displayed when this component is rendered.",
          "access": "global",
          "parent": "ui:outputNumber",
          "required": true
        }
      ],
      "description": "Deprecated as of API version 47.0. Use lightning:formattedNumber instead."
    },
    "lightning:backgroundUtilityItem": {
      "type": "interface",
      "namespace": "lightning",
      "attributes": [],
      "description": "This interface is used to indicate that the component is available to be instantiated at the app level without rendering any UI."
    },
    "lightning:clickToDial": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "params",
          "type": "string",
          "description": "Comma-separated list of parameters to pass to the third-party phone system.",
          "access": "global",
          "parent": "lightning:clickToDial",
          "required": false
        },
        {
          "name": "recordId",
          "type": "string",
          "description": "The Salesforce record Id that's associated with the phone number.",
          "access": "global",
          "parent": "lightning:clickToDial",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "value",
          "type": "string",
          "description": "The phone number.",
          "access": "global",
          "parent": "lightning:clickToDial",
          "required": true
        }
      ],
      "description": "Renders a formatted phone number as click-to-dial enabled or disabled for Open CTI and Voice. This component requires API version 41.0 and later."
    },
    "lightning:formattedTime": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "value",
          "type": "string",
          "description": "The time value to format.",
          "access": "global",
          "parent": "lightning:formattedTime",
          "required": false
        }
      ],
      "description": "Displays a formatted time in user's locale format. This component requires API version 42.0 and later."
    },
    "ltng:beforeLoadingResources": {
      "type": "event",
      "namespace": "ltng",
      "attributes": [],
      "description": "Fired before ltng:require attempts to load any requested resources"
    },
    "lightning:navigationItemAPI": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        }
      ],
      "description": "This component allows you to access methods for programmatically controlling navigation items in Lightning console apps, where navigation items display in an item menu. This component requires API version 43.0 and later."
    },
    "force:closeQuickAction": {
      "type": "event",
      "namespace": "force",
      "attributes": [],
      "description": "Closes a quick action panel. Only one quick action panel can be open in the app at a time."
    },
    "lightningsnapin:settingsAPI": {
      "type": "component",
      "namespace": "lightningsnapin",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        }
      ],
      "description": "Enables you to fetch certain settings from within your custom components for Snap-ins for web."
    },
    "aura:template": {
      "type": "component",
      "namespace": "aura",
      "attributes": [
        {
          "name": "auraPreInitBlock",
          "type": "component[]",
          "description": "The block of content that is rendered before Aura initialization.",
          "access": "global",
          "parent": "aura:template",
          "required": false
        },
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "bodyClass",
          "type": "string",
          "description": "Extra body CSS styles",
          "access": "global",
          "parent": "aura:template",
          "required": false
        },
        {
          "name": "defaultBodyClass",
          "type": "string",
          "description": "Default body CSS styles.",
          "access": "global",
          "parent": "aura:template",
          "required": false
        },
        {
          "name": "doctype",
          "type": "string",
          "description": "The DOCTYPE declaration for the template.",
          "access": "global",
          "parent": "aura:template",
          "required": false
        },
        {
          "name": "errorMessage",
          "type": "string",
          "description": "Error loading text",
          "access": "global",
          "parent": "aura:template",
          "required": false
        },
        {
          "name": "errorTitle",
          "type": "string",
          "description": "Error title when an error has occurred.",
          "access": "global",
          "parent": "aura:template",
          "required": false
        },
        {
          "name": "loadingText",
          "type": "string",
          "description": "Loading text",
          "access": "global",
          "parent": "aura:template",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "The title of the template.",
          "access": "global",
          "parent": "aura:template",
          "required": false
        }
      ],
      "description": "Default template used to bootstrap Aura framework. To use another template, extend aura:template and set attributes using aura:set."
    },
    "aura:componentEvent": {
      "type": "event",
      "namespace": "aura",
      "attributes": [],
      "description": "The root event of the event hierarchy for all events of type=\"APPLICATION\""
    },
    "aura:methodCall": {
      "type": "event",
      "namespace": "aura",
      "attributes": [
        {
          "name": "arguments",
          "type": "list",
          "description": "The list of arguments passed into the public method.",
          "access": "global",
          "parent": "aura:methodCall",
          "required": false
        },
        {
          "name": "name",
          "type": "string",
          "description": "The name of the method called.",
          "access": "global",
          "parent": "aura:methodCall",
          "required": false
        }
      ],
      "description": "Indicates that a public method was called."
    },
    "lightning:formattedPhone": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "onclick",
          "type": "action",
          "description": "The action triggered when the phone number is clicked.",
          "access": "global",
          "parent": "lightning:formattedPhone",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "value",
          "type": "integer",
          "description": "Sets the phone number to display.",
          "access": "global",
          "parent": "lightning:formattedPhone",
          "required": false
        }
      ],
      "description": "Displays a phone number as a hyperlink with the tel: URL scheme. This component requires API version 41.0 and later."
    },
    "aura:noAccess": {
      "type": "event",
      "namespace": "aura",
      "attributes": [
        {
          "name": "redirectURL",
          "type": "string",
          "description": "A url that the server says the application should redirect the browser to when this event fires.",
          "access": "global",
          "parent": "aura:noAccess",
          "required": false
        }
      ],
      "description": "Indicates that a requested resource is not accessible due to security constraints on that resource."
    },
    "lightning:dynamicIcon": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "alternativeText",
          "type": "string",
          "description": "The alternative text used to describe the dynamicIcon. This text should describe what’s happening. For example, 'Graph is refreshing', not what the icon looks like, 'Graph'.",
          "access": "global",
          "parent": "lightning:dynamicIcon",
          "required": false
        },
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "onclick",
          "type": "action",
          "description": "The action triggered when the icon is clicked.",
          "access": "global",
          "parent": "lightning:dynamicIcon",
          "required": false
        },
        {
          "name": "option",
          "type": "string",
          "description": "The option attribute changes the appearance of the dynamicIcon. The options available depend on the type attribute.                 For eq: play (default) or stop                 For score: positive (default) or negative                 For strength: -3, -2, -1, 0 (default), 1, 2, 3                 For trend: neutral (default), up, or down",
          "access": "global",
          "parent": "lightning:dynamicIcon",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "type",
          "type": "string",
          "description": "The Lightning Design System name of the dynamicIcon. Valid values are: ellie, eq, score, strength, trend, and waffle.",
          "access": "global",
          "parent": "lightning:dynamicIcon",
          "required": true
        }
      ],
      "description": "Represents various animated icons with different states. This component requires API version 41.0 and later."
    },
    "lightning:accordionSection": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "actions",
          "type": "component[]",
          "description": "Enables a custom menu implementation. Actions are displayed to the right of the section title.",
          "access": "global",
          "parent": "lightning:accordionSection",
          "required": false
        },
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "label",
          "type": "string",
          "description": "The text that displays as the title of the section.",
          "access": "global",
          "parent": "lightning:accordionSection",
          "required": false
        },
        {
          "name": "name",
          "type": "string",
          "description": "The unique section name to use with the activeSectionName attribute in the lightning:accordion component.",
          "access": "global",
          "parent": "lightning:accordionSection",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        }
      ],
      "description": "A single section that is nested in a lightning:accordion component. This component requires version 41.0 and later."
    },
    "lightning:tree": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "header",
          "type": "string",
          "description": "The text that's displayed as the tree heading.",
          "access": "global",
          "parent": "lightning:tree",
          "required": false
        },
        {
          "name": "items",
          "type": "object",
          "description": "An array of key-value pairs that describe the tree. Keys include label, name, disabled, expanded, and items.",
          "access": "global",
          "parent": "lightning:tree",
          "required": false
        },
        {
          "name": "onselect",
          "type": "action",
          "description": "The action triggered when a tree item is selected.",
          "access": "global",
          "parent": "lightning:tree",
          "required": false
        },
        {
          "name": "selectedItem",
          "type": "string",
          "description": "Selects and highlights the specified tree item. Tree item names are case-sensitive. If the tree item is nested, selecting this item also expands the parent branches.",
          "access": "global",
          "parent": "lightning:tree",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        }
      ],
      "description": "Displays a nested tree. This component requires API version 41.0 and later."
    },
    "lightning:appHomeTemplate": {
      "type": "interface",
      "namespace": "lightning",
      "attributes": [],
      "description": "Indicates the component can be used as a flexipage page template for the APP_PAGE page type"
    },
    "aura:doneRendering": {
      "type": "event",
      "namespace": "aura",
      "attributes": [],
      "description": "Indicates that the initial rendering of the root application or root component has completed."
    },
    "lightningcommunity:deflectionSignal": {
      "type": "event",
      "namespace": "lightningcommunity",
      "attributes": [
        {
          "name": "callback",
          "type": "object",
          "description": "Callback function invoked after signal is received and processed. Only called if shouldSubmitSourceTypeSignals=true.",
          "access": "global",
          "parent": "lightningcommunity:deflectionSignal",
          "required": false
        },
        {
          "name": "destination",
          "type": "string",
          "description": "The id of the deflection item",
          "access": "global",
          "parent": "lightningcommunity:deflectionSignal",
          "required": false
        },
        {
          "name": "destinationType",
          "type": "string",
          "description": "Entity type of the deflection item",
          "access": "global",
          "parent": "lightningcommunity:deflectionSignal",
          "required": false
        },
        {
          "name": "payload",
          "type": "object",
          "description": "Additional information about the deflection signal. The content of the payload depends on the sourceType.",
          "access": "global",
          "parent": "lightningcommunity:deflectionSignal",
          "required": false
        },
        {
          "name": "shouldSubmitSourceTypeSignals",
          "type": "boolean",
          "description": "Once an event is fired with shouldSubmitSourceTypeSignals=true,all signals of that                      sourceType are submitted to the server in a single batch to be processed. This should always be true unless signals are logically dependent on each other and must be processed together.",
          "access": "global",
          "parent": "lightningcommunity:deflectionSignal",
          "required": false
        },
        {
          "name": "source",
          "type": "string",
          "description": "The unique identifier of how the user arrived at the deflection item",
          "access": "global",
          "parent": "lightningcommunity:deflectionSignal",
          "required": false
        },
        {
          "name": "sourceType",
          "type": "string",
          "description": "Descriptor of where deflection occured. Only signals with supported types will get processed. sourceType is synonymous with signalAgent.",
          "access": "global",
          "parent": "lightningcommunity:deflectionSignal",
          "required": true
        }
      ],
      "description": "This event is fired whenever a community user interacts with a deflection item (an item determined to be responsible for a case deflection).                                                                          Reports can then be created on supported signal types."
    },
    "lightning:omniChannelWorkClosed": {
      "type": "event",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "workId",
          "type": "string",
          "description": "The ID of a work assignment that’s routed to an agent.",
          "access": "global",
          "parent": "lightning:omniChannelWorkClosed",
          "required": true
        },
        {
          "name": "workItemId",
          "type": "string",
          "description": "The ID of the object that’s routed through Omni-Channel.",
          "access": "global",
          "parent": "lightning:omniChannelWorkClosed",
          "required": true
        }
      ],
      "description": "Fired when a user closes a tab in the console that’s associated with a work item."
    },
    "lightning:breadcrumbs": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        }
      ],
      "description": "A hierarchy path of the page you're currently visiting within the website or app."
    },
    "ui:message": {
      "type": "component",
      "namespace": "ui",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS style to be attached to the component. This style is added in addition to base styles output by the component.",
          "access": "global",
          "parent": "ui:visible",
          "required": false
        },
        {
          "name": "closable",
          "type": "boolean",
          "description": "Specifies whether to display an 'x' that will close the alert when clicked. Default value is 'false'.",
          "access": "global",
          "parent": "ui:message",
          "required": false
        },
        {
          "name": "severity",
          "type": "string",
          "description": "The severity of the message. Possible values:  message (default), confirm, info, warning, error",
          "access": "global",
          "parent": "ui:message",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "The title text for the message.",
          "access": "global",
          "parent": "ui:message",
          "required": false
        }
      ],
      "description": "Deprecated as of API version 47.0. Use lightning:notificationsLibrary instead."
    },
    "lightning:verticalNavigationItemIcon": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "href",
          "type": "string",
          "description": "The URL of the page that the navigation item goes to.",
          "access": "global",
          "parent": "lightning:verticalNavigationItemIcon",
          "required": false
        },
        {
          "name": "iconName",
          "type": "string",
          "description": "The Lightning Design System name of the icon. Names are written in the format 'utility:down' where 'utility' is the category, and 'down' is the specific icon to be displayed.",
          "access": "global",
          "parent": "lightning:verticalNavigationItemIcon",
          "required": false
        },
        {
          "name": "label",
          "type": "string",
          "description": "The text displayed for this navigation item.",
          "access": "global",
          "parent": "lightning:verticalNavigationItemIcon",
          "required": true
        },
        {
          "name": "name",
          "type": "string",
          "description": "A unique identifier for this navigation item.",
          "access": "global",
          "parent": "lightning:verticalNavigationItemIcon",
          "required": true
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        }
      ],
      "description": "A link and icon within a lightning:verticalNavigationSection or lightning:verticalNavigationOverflow. This component requires API version 41.0 and later."
    },
    "lightning:omniChannelLoginSuccess": {
      "type": "event",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "statusId",
          "type": "string",
          "description": "The ID of the agent’s current presence status.",
          "access": "global",
          "parent": "lightning:omniChannelLoginSuccess",
          "required": true
        }
      ],
      "description": "Fired when an Omni-Channel user is logged in successfully."
    },
    "lightning:notificationsLibrary": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        }
      ],
      "description": "Displays messages via notices and toasts. This component requires API version 41.0 and later."
    },
    "aura:doneWaiting": {
      "type": "event",
      "namespace": "aura",
      "attributes": [],
      "description": "Indicates that the client-side framework is done waiting for a response to a server request.  This will always be preceded by a aura:waiting event."
    },
    "lightning:recordViewForm": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:recordViewForm",
          "required": false
        },
        {
          "name": "density",
          "type": "string",
          "description": "Sets the arrangement style of fields and labels in the form.  Accepted values are compact, comfy, and auto (default). Use compact to display fields and their labels on the same line. Use comfy to display fields below their labels. Use auto to let the component dynamically set the density according to the user's Display Density setting and the width of the form.",
          "access": "global",
          "parent": "lightning:recordViewForm",
          "required": false
        },
        {
          "name": "objectApiName",
          "type": "string",
          "description": "The API name of the object.",
          "access": "global",
          "parent": "lightning:recordViewForm",
          "required": true
        },
        {
          "name": "recordId",
          "type": "string",
          "description": "The ID of the record to be displayed.",
          "access": "global",
          "parent": "lightning:recordViewForm",
          "required": true
        }
      ],
      "description": "Represents a record view that displays one or more fields, provided by lightning:outputField. This component requires API version 41.0 and later."
    },
    "lightning:actionOverride": {
      "type": "interface",
      "namespace": "lightning",
      "attributes": [],
      "description": "Enables a component to be used as an override for a standard action. You can override the View, New, Edit, and Tab standard actions on most standard and all custom components. This interface has no effect except when used within Lightning Experience and Salesforce1."
    },
    "lightning:progressIndicator": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "currentStep",
          "type": "string",
          "description": "The current step, which must match the value attribute of one of progressStep components. If a step is not provided, the value of the first progressStep component is used.",
          "access": "global",
          "parent": "lightning:progressIndicator",
          "required": false
        },
        {
          "name": "hasError",
          "type": "boolean",
          "description": "Indicates whether the current step is in error state and displays an error icon on the step indicator. Applies to the base type only. This value defaults to false.",
          "access": "global",
          "parent": "lightning:progressIndicator",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "type",
          "type": "string",
          "description": "Changes the visual pattern of the indicator. Valid values are base and path. This value defaults to base.",
          "access": "global",
          "parent": "lightning:progressIndicator",
          "required": false
        },
        {
          "name": "variant",
          "type": "string",
          "description": "Changes the appearance of the progress indicator for the base type only. Valid values are base or shaded. The shaded variant adds a light gray border to the step indicators. This value defaults to base.",
          "access": "global",
          "parent": "lightning:progressIndicator",
          "required": false
        }
      ],
      "description": "Provides a visual indication on the progress of a particular process. This component is available in version 41.0 and later."
    },
    "lightning:inputName": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "disabled",
          "type": "boolean",
          "description": "Specifies whether the compound field should be disabled. Disabled fields are grayed out and not clickable. This value defaults to false.",
          "access": "global",
          "parent": "lightning:inputName",
          "required": false
        },
        {
          "name": "fieldLevelHelp",
          "type": "string",
          "description": "Help text detailing the purpose and function of name compound field.",
          "access": "global",
          "parent": "lightning:inputName",
          "required": false
        },
        {
          "name": "fieldsToDisplay",
          "type": "list",
          "description": "List of fields to be displayed on the component. This value defaults to ['firstName', 'salutation', 'lastName']. Other field values include middleName, informalName, suffix.",
          "access": "global",
          "parent": "lightning:inputName",
          "required": false
        },
        {
          "name": "firstName",
          "type": "string",
          "description": "Displays the First Name field.",
          "access": "global",
          "parent": "lightning:inputName",
          "required": false
        },
        {
          "name": "informalName",
          "type": "string",
          "description": "Displays the Informal Name field.",
          "access": "global",
          "parent": "lightning:inputName",
          "required": false
        },
        {
          "name": "label",
          "type": "string",
          "description": "Text label for the compound field.",
          "access": "global",
          "parent": "lightning:inputName",
          "required": false
        },
        {
          "name": "lastName",
          "type": "string",
          "description": "Displays the Last Name field. This field must be specified if you set required to true.",
          "access": "global",
          "parent": "lightning:inputName",
          "required": false
        },
        {
          "name": "middleName",
          "type": "string",
          "description": "Displays the Middle Name field.",
          "access": "global",
          "parent": "lightning:inputName",
          "required": false
        },
        {
          "name": "onblur",
          "type": "action",
          "description": "The action triggered when the input releases focus.",
          "access": "global",
          "parent": "lightning:inputName",
          "required": false
        },
        {
          "name": "onchange",
          "type": "action",
          "description": "The action triggered when the value changes.",
          "access": "global",
          "parent": "lightning:inputName",
          "required": false
        },
        {
          "name": "onfocus",
          "type": "action",
          "description": "The action triggered when the input receives focus.",
          "access": "global",
          "parent": "lightning:inputName",
          "required": false
        },
        {
          "name": "options",
          "type": "list",
          "description": "Defines a list of salutation options, such as Dr. or Mrs., as an array of label-value pairs.",
          "access": "global",
          "parent": "lightning:inputName",
          "required": false
        },
        {
          "name": "readonly",
          "type": "boolean",
          "description": "Specifies whether the compound field is read-only. This value defaults to false.",
          "access": "global",
          "parent": "lightning:inputName",
          "required": false
        },
        {
          "name": "required",
          "type": "boolean",
          "description": "Specifies whether the compound field must be filled out. A red asterisk is displayed on the Last Name field. An error message is displayed if a user interacts with the Last Name field and does not provide a value. This value defaults to false.",
          "access": "global",
          "parent": "lightning:inputName",
          "required": false
        },
        {
          "name": "salutation",
          "type": "string",
          "description": "Displays the Salutation field as a dropdown menu. Use the options attribute to provide salutations in an array of label-value pairs.",
          "access": "global",
          "parent": "lightning:inputName",
          "required": false
        },
        {
          "name": "suffix",
          "type": "string",
          "description": "Displays the Suffix field.",
          "access": "global",
          "parent": "lightning:inputName",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "variant",
          "type": "string",
          "description": "The variant changes the appearance of the name compound field. Accepted variants include standard, label-hidden, label-inline, and label-stacked. This value defaults to standard. Use label-hidden to hide the label but make it available to assistive technology. Use label-inline to horizontally align the label and name fields. Use label-stacked to place the label above the name fields.",
          "access": "global",
          "parent": "lightning:inputName",
          "required": false
        }
      ],
      "description": "Represents a name compound field. This component requires API version 42.0 and later."
    },
    "lightning:formattedName": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "firstName",
          "type": "string",
          "description": "The value for the first name.",
          "access": "global",
          "parent": "lightning:formattedName",
          "required": false
        },
        {
          "name": "format",
          "type": "string",
          "description": "The format for which to display the name. Valid values include short, medium, and long. This value defaults to long.",
          "access": "global",
          "parent": "lightning:formattedName",
          "required": false
        },
        {
          "name": "informalName",
          "type": "string",
          "description": "The value for the informal name.",
          "access": "global",
          "parent": "lightning:formattedName",
          "required": false
        },
        {
          "name": "lastName",
          "type": "string",
          "description": "The value for the last name.",
          "access": "global",
          "parent": "lightning:formattedName",
          "required": false
        },
        {
          "name": "middleName",
          "type": "string",
          "description": "The value for the middle name.",
          "access": "global",
          "parent": "lightning:formattedName",
          "required": false
        },
        {
          "name": "salutation",
          "type": "string",
          "description": "The value for the salutation, such as Dr. or Mrs.",
          "access": "global",
          "parent": "lightning:formattedName",
          "required": false
        },
        {
          "name": "suffix",
          "type": "string",
          "description": "The value for the suffix.",
          "access": "global",
          "parent": "lightning:formattedName",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        }
      ],
      "description": "Displays a formatted name that can include a salutation and suffix. This component requires API version 42.0 and later."
    },
    "lightning:relativeDateTime": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "value",
          "type": "object",
          "description": "The timestamp or JavaScript Date object to be formatted.",
          "access": "global",
          "parent": "lightning:relativeDateTime",
          "required": true
        }
      ],
      "description": "Displays the relative time difference between the source date-time and the provided date-time."
    },
    "ui:inputSelect": {
      "type": "component",
      "namespace": "ui",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS style to be attached to the component. This style is added in addition to base styles output by the component.",
          "access": "global",
          "parent": "ui:visible",
          "required": false
        },
        {
          "name": "disabled",
          "type": "boolean",
          "description": "Specifies whether the component should be displayed in a disabled state. Default value is \"false\".",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "errors",
          "type": "object[]",
          "description": "The list of errors to be displayed.",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "label",
          "type": "string",
          "description": "The text of the label component",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "labelClass",
          "type": "string",
          "description": "The CSS class of the label component",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "multiple",
          "type": "boolean",
          "description": "Specifies whether the input is a multiple select. Default value is “false”.",
          "access": "global",
          "parent": "ui:inputSelect",
          "required": false
        },
        {
          "name": "options",
          "type": "list",
          "description": "A list of options to use for the select. Note: setting this attribute will make the component ignore v.body",
          "access": "global",
          "parent": "ui:inputSelect",
          "required": false
        },
        {
          "name": "required",
          "type": "boolean",
          "description": "Specifies whether the input is required. Default value is \"false\".",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "requiredIndicatorClass",
          "type": "string",
          "description": "The CSS class of the required indicator component",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "updateOn",
          "type": "string",
          "description": "Updates the component's value binding if the updateOn attribute is set to the handled event. Default value is \"change\".",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "value",
          "type": "string",
          "description": "The value currently in the input field.",
          "access": "global",
          "parent": "ui:input",
          "required": false
        }
      ],
      "description": "Deprecated as of API version 47.0. Use lightning:select or lightning:combobox instead."
    },
    "aura:systemError": {
      "type": "event",
      "namespace": "aura",
      "attributes": [
        {
          "name": "error",
          "type": "string",
          "description": "The system error that's returned.",
          "access": "global",
          "parent": "aura:systemError",
          "required": false
        },
        {
          "name": "message",
          "type": "string",
          "description": "The message to be displayed during an error.",
          "access": "global",
          "parent": "aura:systemError",
          "required": false
        }
      ],
      "description": "Indicates that an error has occurred."
    },
    "lightning:buttonGroup": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        }
      ],
      "description": "Represents a group of buttons."
    },
    "lightning:outputField": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:outputField",
          "required": false
        },
        {
          "name": "fieldName",
          "type": "string",
          "description": "The API name of the field to be displayed.",
          "access": "global",
          "parent": "lightning:outputField",
          "required": false
        },
        {
          "name": "variant",
          "type": "string",
          "description": "Changes the appearance of the output. Accepted variants include standard and label-hidden. This value defaults to standard.",
          "access": "global",
          "parent": "lightning:outputField",
          "required": false
        }
      ],
      "description": "Represents a read-only display of a label, help text, and value for a field on a Salesforce object. This component requires API version 41.0 and later."
    },
    "ui:menuSelect": {
      "type": "event",
      "namespace": "ui",
      "attributes": [
        {
          "name": "deselectSiblings",
          "type": "boolean",
          "description": "Deselects the siblings of the currently selected menu item.",
          "access": "global",
          "parent": "ui:menuSelect",
          "required": false
        },
        {
          "name": "focusTrigger",
          "type": "boolean",
          "description": "Sets focus to menuTrigger.",
          "access": "global",
          "parent": "ui:menuSelect",
          "required": false
        },
        {
          "name": "hideMenu",
          "type": "boolean",
          "description": "Hides menu if set to true.",
          "access": "global",
          "parent": "ui:menuSelect",
          "required": false
        },
        {
          "name": "selectedItem",
          "type": "component[]",
          "description": "The menu item that's selected.",
          "access": "global",
          "parent": "ui:menuSelect",
          "required": false
        }
      ],
      "description": "Deprecated as of API version 47.0. Use lightning:select or lightning:combobox instead."
    },
    "ltng:sendMessage": {
      "type": "event",
      "namespace": "ltng",
      "attributes": [
        {
          "name": "channel",
          "type": "string",
          "description": "Represents the channel name. Use a channel to enable a component to filter down to specific events.",
          "access": "global",
          "parent": "ltng:sendMessage",
          "required": false
        },
        {
          "name": "message",
          "type": "string",
          "description": "A message in the form of a String or JSON.",
          "access": "global",
          "parent": "ltng:sendMessage",
          "required": true
        }
      ],
      "description": "Sends some data (String or JSON) to other components within the application"
    },
    "lightning:isUrlAddressable": {
      "type": "interface",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "pageReference",
          "type": "object",
          "description": "An object with a String 'type' property and Object 'attributes' and 'state' properties.",
          "access": "global",
          "parent": "lightning:hasPageReference",
          "required": false
        }
      ],
      "description": "This interface is used to indicate that a component can be directly navigated to through a URL."
    },
    "forceCommunity:analyticsInteraction": {
      "type": "event",
      "namespace": "forceCommunity",
      "attributes": [
        {
          "name": "eventAction",
          "type": "string",
          "description": "The type of action. Required for 'event' hitType.",
          "access": "global",
          "parent": "forceCommunity:analyticsInteraction",
          "required": false
        },
        {
          "name": "eventCategory",
          "type": "string",
          "description": "The type or category of item that was interacted with. Required for 'event' hitType.",
          "access": "global",
          "parent": "forceCommunity:analyticsInteraction",
          "required": false
        },
        {
          "name": "eventLabel",
          "type": "string",
          "description": "A label for providing additional event information.",
          "access": "global",
          "parent": "forceCommunity:analyticsInteraction",
          "required": false
        },
        {
          "name": "eventValue",
          "type": "integer",
          "description": "A positive numeric value associated with the event.",
          "access": "global",
          "parent": "forceCommunity:analyticsInteraction",
          "required": false
        },
        {
          "name": "exDescription",
          "type": "string",
          "description": "A description of the exception.",
          "access": "global",
          "parent": "forceCommunity:analyticsInteraction",
          "required": false
        },
        {
          "name": "exFatal",
          "type": "boolean",
          "description": "True if the exception was fatal.",
          "access": "global",
          "parent": "forceCommunity:analyticsInteraction",
          "required": false
        },
        {
          "name": "hitType",
          "type": "string",
          "description": "The type of hit. Supported types: 'event', 'social', 'exception', 'timing'.",
          "access": "global",
          "parent": "forceCommunity:analyticsInteraction",
          "required": true
        },
        {
          "name": "socialAction",
          "type": "string",
          "description": "The type of action that happens. Required for 'social' hitType.",
          "access": "global",
          "parent": "forceCommunity:analyticsInteraction",
          "required": false
        },
        {
          "name": "socialNetwork",
          "type": "string",
          "description": "The network on which the action occurs. Required for 'social' hitType.",
          "access": "global",
          "parent": "forceCommunity:analyticsInteraction",
          "required": false
        },
        {
          "name": "socialTarget",
          "type": "string",
          "description": "Specifies the target of a social interaction. Required for 'social' hitType.",
          "access": "global",
          "parent": "forceCommunity:analyticsInteraction",
          "required": false
        },
        {
          "name": "timingCategory",
          "type": "string",
          "description": "A string for categorizing all user timing variables into logical groups. Required for 'timing' hitType.",
          "access": "global",
          "parent": "forceCommunity:analyticsInteraction",
          "required": false
        },
        {
          "name": "timingLabel",
          "type": "string",
          "description": "A string that can be used to add flexibility in visualizing user timings in the reports.",
          "access": "global",
          "parent": "forceCommunity:analyticsInteraction",
          "required": false
        },
        {
          "name": "timingValue",
          "type": "integer",
          "description": "The number of milliseconds in elapsed time to report to Google Analytics. Required for 'timing' hitType.",
          "access": "global",
          "parent": "forceCommunity:analyticsInteraction",
          "required": false
        },
        {
          "name": "timingVar",
          "type": "string",
          "description": "A string to identify the variable being recorded. Required for 'timing' hitType.",
          "access": "global",
          "parent": "forceCommunity:analyticsInteraction",
          "required": false
        }
      ],
      "description": "Tracks events triggered by custom components in communities and sends the data to Google Analytics."
    },
    "lightning:tabset": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "componentdefref[]",
          "description": "The body of the component. This could be one or more lightning:tab components.",
          "access": "global",
          "parent": "lightning:tabset",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "onselect",
          "type": "action",
          "description": "The action that will run when the tab is clicked.",
          "access": "global",
          "parent": "lightning:tabset",
          "required": false
        },
        {
          "name": "selectedTabId",
          "type": "string",
          "description": "Allows you to set a specific tab to open by default. If this attribute is not used, the first tab opens by default.",
          "access": "global",
          "parent": "lightning:tabset",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "variant",
          "type": "string",
          "description": "The variant changes the appearance of the tabset. Accepted variants are default, scoped, and vertical.",
          "access": "global",
          "parent": "lightning:tabset",
          "required": false
        }
      ],
      "description": "Represents a list of tabs."
    },
    "lightning:picklistPath": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "onselect",
          "type": "action",
          "description": "The action triggered when a step on the path is clicked.",
          "access": "global",
          "parent": "lightning:picklistPath",
          "required": false
        },
        {
          "name": "picklistFieldApiName",
          "type": "string",
          "description": "The API name of the field from which the path is derived. For example, StageName for Opportunity.",
          "access": "global",
          "parent": "lightning:picklistPath",
          "required": false
        },
        {
          "name": "recordId",
          "type": "string",
          "description": "The record's ID",
          "access": "global",
          "parent": "lightning:picklistPath",
          "required": false
        },
        {
          "name": "variant",
          "type": "string",
          "description": "Changes the appearance of the path. Choose between linear and non-linear formats. In linear paths, completed steps show a checkmark. In non-linear paths, completed steps show the step name. We show linear paths by default.",
          "access": "global",
          "parent": "lightning:picklistPath",
          "required": false
        }
      ],
      "description": "Displays a path based on a specified picklist field. This component requires API 41.0 and later."
    },
    "force:recordView": {
      "type": "component",
      "namespace": "force",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "record",
          "type": "sobject",
          "description": "The record (SObject) to load, optional if recordId attribute is specified.",
          "access": "global",
          "parent": "force:recordView",
          "required": false
        },
        {
          "name": "recordId",
          "type": "string",
          "description": "The Id of the record to load, optional if record attribute is specified.",
          "access": "global",
          "parent": "force:recordView",
          "required": false
        },
        {
          "name": "type",
          "type": "string",
          "description": "The type of layout to use to display the record. The default is FULL, and is the only valid type.",
          "access": "global",
          "parent": "force:recordView",
          "required": false
        }
      ],
      "description": "Generates a view of the specified Salesforce record."
    },
    "lightning:omniChannelWorkloadChanged": {
      "type": "event",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "configuredCapacity",
          "type": "string",
          "description": "The configured capacity for the agent.",
          "access": "global",
          "parent": "lightning:omniChannelWorkloadChanged",
          "required": true
        },
        {
          "name": "newWorkload",
          "type": "string",
          "description": "The agent’s new workload after the change.",
          "access": "global",
          "parent": "lightning:omniChannelWorkloadChanged",
          "required": true
        },
        {
          "name": "previousWorkload",
          "type": "string",
          "description": "The agent’s workload before the change.",
          "access": "global",
          "parent": "lightning:omniChannelWorkloadChanged",
          "required": true
        }
      ],
      "description": "Fired when an agent’s workload changes."
    },
    "lightning:progressBar": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "size",
          "type": "string",
          "description": "The size of the progress bar. Valid values are x-small, small, medium, and large. The default value is medium.",
          "access": "global",
          "parent": "lightning:progressBar",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "value",
          "type": "integer",
          "description": "The percentage value of the progress bar.",
          "access": "global",
          "parent": "lightning:progressBar",
          "required": false
        },
        {
          "name": "variant",
          "type": "string",
          "description": "The variant of the progress bar. Valid values are base and circular.",
          "access": "global",
          "parent": "lightning:progressBar",
          "required": false
        }
      ],
      "description": "Displays a horizontal progress bar from left to right to indicate the progress of an operation. This component requires API version 41.0 and later."
    },
    "force:inputField": {
      "type": "component",
      "namespace": "force",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "The CSS style used to display the field.",
          "access": "global",
          "parent": "force:inputFieldInternal",
          "required": false
        },
        {
          "name": "errorComponent",
          "type": "component[]",
          "description": "For internal use only. Displays error messages for the field.",
          "access": "global",
          "parent": "force:inputFieldInternal",
          "required": false
        },
        {
          "name": "required",
          "type": "boolean",
          "description": "Specifies whether this field is required or not.",
          "access": "global",
          "parent": "force:inputFieldInternal",
          "required": false
        },
        {
          "name": "value",
          "type": "object",
          "description": "Data value of Salesforce field to which to bind.",
          "access": "global",
          "parent": "force:field",
          "required": false
        }
      ],
      "description": "A component that provides a concrete type-specific input component implementation based on the data to which it is bound."
    },
    "ui:menuList": {
      "type": "component",
      "namespace": "ui",
      "attributes": [
        {
          "name": "autoPosition",
          "type": "boolean",
          "description": "Move the popup target up when there is not enough space at the bottom to display. Note: even if autoPosition is set to false, popup will still position the menu relative to the trigger. To override default positioning, use manualPosition attribute.",
          "access": "global",
          "parent": "ui:popupTarget",
          "required": false
        },
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS style to be attached to the component. This style is added in addition to base styles output by the component.",
          "access": "global",
          "parent": "ui:visible",
          "required": false
        },
        {
          "name": "closeOnClickOutside",
          "type": "boolean",
          "description": "Close target when user clicks or taps outside of the target",
          "access": "global",
          "parent": "ui:popupTarget",
          "required": false
        },
        {
          "name": "closeOnTabKey",
          "type": "boolean",
          "description": "Indicates whether to close the target list on tab key or not.",
          "access": "global",
          "parent": "ui:popupTarget",
          "required": false
        },
        {
          "name": "curtain",
          "type": "boolean",
          "description": "Whether or not to apply an overlay under the target.",
          "access": "global",
          "parent": "ui:popupTarget",
          "required": false
        },
        {
          "name": "menuItems",
          "type": "list",
          "description": "A list of menu items set explicitly using instances of the Java class: aura.​components.​ui.MenuItem.",
          "access": "global",
          "parent": "ui:menuList",
          "required": false
        },
        {
          "name": "visible",
          "type": "boolean",
          "description": "Controls the visibility of the menu. The default is false, which hides the menu.",
          "access": "global",
          "parent": "ui:menuList",
          "required": false
        }
      ],
      "description": "Deprecated as of API version 47.0. Use lightning:buttonMenu instead."
    },
    "ui:inputText": {
      "type": "component",
      "namespace": "ui",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS style to be attached to the component. This style is added in addition to base styles output by the component.",
          "access": "global",
          "parent": "ui:visible",
          "required": false
        },
        {
          "name": "disabled",
          "type": "boolean",
          "description": "Specifies whether the component should be displayed in a disabled state. Default value is \"false\".",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "errors",
          "type": "object[]",
          "description": "The list of errors to be displayed.",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "label",
          "type": "string",
          "description": "The text of the label component",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "labelClass",
          "type": "string",
          "description": "The CSS class of the label component",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "maxlength",
          "type": "integer",
          "description": "The maximum number of characters that can be typed into the input field. Corresponds to the maxlength attribute of the rendered HTML input element.",
          "access": "global",
          "parent": "ui:inputTextComponent",
          "required": false
        },
        {
          "name": "placeholder",
          "type": "string",
          "description": "Text that is displayed when the field is empty, to prompt the user for a valid entry.",
          "access": "global",
          "parent": "ui:inputTextComponent",
          "required": false
        },
        {
          "name": "required",
          "type": "boolean",
          "description": "Specifies whether the input is required. Default value is \"false\".",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "requiredIndicatorClass",
          "type": "string",
          "description": "The CSS class of the required indicator component",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "size",
          "type": "integer",
          "description": "The width of the input field, in characters. Corresponds to the size attribute of the rendered HTML input element.",
          "access": "global",
          "parent": "ui:inputTextComponent",
          "required": false
        },
        {
          "name": "updateOn",
          "type": "string",
          "description": "Updates the component's value binding if the updateOn attribute is set to the handled event. Default value is \"change\".",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "value",
          "type": "string",
          "description": "The value currently in the input field.",
          "access": "global",
          "parent": "ui:input",
          "required": false
        }
      ],
      "description": "Deprecated as of API version 47.0. Use lightning:input instead."
    },
    "ui:outputEmail": {
      "type": "component",
      "namespace": "ui",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS style to be attached to the component. This style is added in addition to base styles output by the component.",
          "access": "global",
          "parent": "ui:visible",
          "required": false
        },
        {
          "name": "value",
          "type": "string",
          "description": "The output value of the email",
          "access": "global",
          "parent": "ui:outputEmail",
          "required": true
        }
      ],
      "description": "Deprecated as of API version 47.0. Use lightning:formattedEmail instead."
    },
    "lightning:pillContainer": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "items",
          "type": "list",
          "description": "An array of items to be rendered as pills in a container.",
          "access": "global",
          "parent": "lightning:pillContainer",
          "required": false
        },
        {
          "name": "label",
          "type": "string",
          "description": "Aria label for the pill container.",
          "access": "global",
          "parent": "lightning:pillContainer",
          "required": false
        },
        {
          "name": "onitemremove",
          "type": "action",
          "description": "The action triggered when a pill is removed.",
          "access": "global",
          "parent": "lightning:pillContainer",
          "required": false
        },
        {
          "name": "singleLine",
          "type": "boolean",
          "description": "Whether keep pills in single line.",
          "access": "global",
          "parent": "lightning:pillContainer",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        }
      ],
      "description": "A list of pills grouped in a container. This component requires API version 42.0 and later. "
    },
    "lightning:recordForm": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:recordForm",
          "required": false
        },
        {
          "name": "columns",
          "type": "",
          "description": "Specifies the number of columns for the form.",
          "access": "global",
          "parent": "lightning:recordForm",
          "required": false
        },
        {
          "name": "density",
          "type": "string",
          "description": "Sets the arrangement style of fields and labels in the form.  Accepted values are compact, comfy, and auto (default). Use compact to display fields and their labels on the same line. Use comfy to display fields below their labels. Use auto to let the component dynamically set the density according to the user's Display Density setting and the width of the form.",
          "access": "global",
          "parent": "lightning:recordForm",
          "required": false
        },
        {
          "name": "fields",
          "type": "string[]",
          "description": "List of fields to be displayed. The fields display in the order you list them.",
          "access": "global",
          "parent": "lightning:recordForm",
          "required": false
        },
        {
          "name": "layoutType",
          "type": "string",
          "description": "The type of layout to use to display the form fields. Possible values: Compact, Full. When creating a new record, only the full layout is supported.",
          "access": "global",
          "parent": "lightning:recordForm",
          "required": false
        },
        {
          "name": "mode",
          "type": "string",
          "description": "Specifies the interaction and display style for the form. Possible values: view, edit, readonly. If a record ID is not provided, the default mode is edit, which displays a form to create new records. If a record ID is provided, the default mode is view, which displays field values with edit icons on updateable fields.",
          "access": "global",
          "parent": "lightning:recordForm",
          "required": false
        },
        {
          "name": "objectApiName",
          "type": "string",
          "description": "The API name of the object.",
          "access": "global",
          "parent": "lightning:recordForm",
          "required": true
        },
        {
          "name": "onerror",
          "type": "action",
          "description": "The action triggered when there is an error on form submission.",
          "access": "global",
          "parent": "lightning:recordForm",
          "required": false
        },
        {
          "name": "onload",
          "type": "action",
          "description": "The action triggered when the form data is loaded.",
          "access": "global",
          "parent": "lightning:recordForm",
          "required": false
        },
        {
          "name": "onsubmit",
          "type": "action",
          "description": "The action triggered when the form is submitted. The form can be submitted only after it's loaded.",
          "access": "global",
          "parent": "lightning:recordForm",
          "required": false
        },
        {
          "name": "onsuccess",
          "type": "action",
          "description": "The action triggered when the form is saved.",
          "access": "global",
          "parent": "lightning:recordForm",
          "required": false
        },
        {
          "name": "recordId",
          "type": "string",
          "description": "The ID of the record to be displayed.",
          "access": "global",
          "parent": "lightning:recordForm",
          "required": false
        },
        {
          "name": "recordTypeId",
          "type": "string",
          "description": "The ID of the record type, which is required if you created multiple record types but don't have a default.",
          "access": "global",
          "parent": "lightning:recordForm",
          "required": false
        }
      ],
      "description": "Creates an editable form or display form for a record. This component requires API version 43.0 and later."
    },
    "lightning:availableForFlowScreens": {
      "type": "interface",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "availableActions",
          "type": "string[]",
          "description": "The navigation actions available for this screen. Valid actions are NEXT, PREVIOUS, FINISH, and PAUSE.",
          "access": "global",
          "parent": "lightning:availableForFlowScreens",
          "required": false
        },
        {
          "name": "navigateFlow",
          "type": "action",
          "description": "Reference the appropriate navigation action to move away from this screen.",
          "access": "global",
          "parent": "lightning:availableForFlowScreens",
          "required": false
        },
        {
          "name": "screenHelpText",
          "type": "string",
          "description": "Help text for this screen.",
          "access": "global",
          "parent": "lightning:availableForFlowScreens",
          "required": false
        },
        {
          "name": "validate",
          "type": "action",
          "description": "Custom validation to run when the flow is navigated to the next screen. Pass a function into this attribute that evaluates the component and returns values for isValid and errorMessage.",
          "access": "global",
          "parent": "lightning:availableForFlowScreens",
          "required": false
        }
      ],
      "description": "To make a component available for flow screens, implement the lightning:availableForFlowScreens interface."
    },
    "ui:menuTriggerPress": {
      "type": "event",
      "namespace": "ui",
      "attributes": [],
      "description": "Deprecated as of API version 47.0. Use lightning:buttonMenu instead."
    },
    "aura:expression": {
      "type": "component",
      "namespace": "aura",
      "attributes": [
        {
          "name": "value",
          "type": "string",
          "description": "The expression to evaluate and render.",
          "access": "global",
          "parent": "aura:expression",
          "required": false
        }
      ],
      "description": "Renders the value to which an expression evaluates. Creates an instance of this component which renders the                         referenced \"property reference value\" set to the value attribute when expressions are found in free text or markup."
    },
    "lightning:pageReferenceUtils": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        }
      ],
      "description": "Provides utilities for encoding and decoding default field values. This component is supported only in Lightning Experience in all editions. This component is not supported in Lightning Out, Lightning communities, or the Salesforce mobile app. This component requires API version 48.0 or later."
    },
    "lightning:tabRefreshed": {
      "type": "event",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "tabId",
          "type": "string",
          "description": "The currently refreshed tab ID.",
          "access": "global",
          "parent": "lightning:tabRefreshed",
          "required": true
        }
      ],
      "description": "Fires when a Console workspace or subtab has been successfully refreshed."
    },
    "lightning:buttonStateful": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "accesskey",
          "type": "string",
          "description": "Specifies a shortcut key to activate or focus an element.",
          "access": "global",
          "parent": "lightning:focusable",
          "required": false
        },
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "iconNameWhenHover",
          "type": "string",
          "description": "The name of the icon to be used in the format \\'utility:close\\' when the state is true and the button receives focus.",
          "access": "global",
          "parent": "lightning:buttonStateful",
          "required": false
        },
        {
          "name": "iconNameWhenOff",
          "type": "string",
          "description": "The name of the icon to be used in the format \\'utility:add\\' when the state is false.",
          "access": "global",
          "parent": "lightning:buttonStateful",
          "required": false
        },
        {
          "name": "iconNameWhenOn",
          "type": "string",
          "description": "The name of the icon to be used in the format \\'utility:check\\' when the state is true.",
          "access": "global",
          "parent": "lightning:buttonStateful",
          "required": false
        },
        {
          "name": "labelWhenHover",
          "type": "string",
          "description": "The text to be displayed inside the button when state is true and the button receives focus.",
          "access": "global",
          "parent": "lightning:buttonStateful",
          "required": false
        },
        {
          "name": "labelWhenOff",
          "type": "string",
          "description": "The text to be displayed inside the button when state is false.",
          "access": "global",
          "parent": "lightning:buttonStateful",
          "required": true
        },
        {
          "name": "labelWhenOn",
          "type": "string",
          "description": "The text to be displayed inside the button when state is true.",
          "access": "global",
          "parent": "lightning:buttonStateful",
          "required": true
        },
        {
          "name": "onblur",
          "type": "action",
          "description": "The action triggered when the element releases focus.",
          "access": "global",
          "parent": "lightning:focusable",
          "required": false
        },
        {
          "name": "onclick",
          "type": "action",
          "description": "The action triggered when the button is clicked.",
          "access": "global",
          "parent": "lightning:buttonStateful",
          "required": false
        },
        {
          "name": "onfocus",
          "type": "action",
          "description": "The action triggered when the element receives focus.",
          "access": "global",
          "parent": "lightning:focusable",
          "required": false
        },
        {
          "name": "state",
          "type": "boolean",
          "description": "The state of the button, which shows whether the button has been selected or not. The default state is false.",
          "access": "global",
          "parent": "lightning:buttonStateful",
          "required": false
        },
        {
          "name": "tabindex",
          "type": "integer",
          "description": "Specifies the tab order of an element when the Tab key is used for navigating. The tabindex value can be set to 0 or -1. The default is 0, which means that the component is focusable and participates in sequential keyboard navigation. -1 means that the component is focusable but does not participate in keyboard navigation.",
          "access": "global",
          "parent": "lightning:focusable",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "variant",
          "type": "string",
          "description": "The variant changes the appearance of the button. Accepted variants include brand, destructive, inverse, neutral, success, and text. This value defaults to neutral.",
          "access": "global",
          "parent": "lightning:buttonStateful",
          "required": false
        }
      ],
      "description": "A button that toggles between states."
    },
    "aura:locationChange": {
      "type": "event",
      "namespace": "aura",
      "attributes": [
        {
          "name": "querystring",
          "type": "string",
          "description": "The query string portion of the hash that is stripped off and applied to the event as parameters.",
          "access": "global",
          "parent": "aura:locationChange",
          "required": false
        },
        {
          "name": "token",
          "type": "string",
          "description": "The new hash part of the url",
          "access": "global",
          "parent": "aura:locationChange",
          "required": false
        }
      ],
      "description": "Indicates that the hash part of the url in the brower's location bar has been modified."
    },
    "ui:outputURL": {
      "type": "component",
      "namespace": "ui",
      "attributes": [
        {
          "name": "alt",
          "type": "string",
          "description": "The alternate text description for image (used when there is no label)",
          "access": "global",
          "parent": "ui:outputURL",
          "required": false
        },
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS style to be attached to the component. This style is added in addition to base styles output by the component.",
          "access": "global",
          "parent": "ui:visible",
          "required": false
        },
        {
          "name": "disabled",
          "type": "boolean",
          "description": "Specifies whether the component should be displayed in a disabled state. Default value is \"false\".",
          "access": "global",
          "parent": "ui:outputURL",
          "required": false
        },
        {
          "name": "iconClass",
          "type": "string",
          "description": "The CSS style used to display the icon or image.",
          "access": "global",
          "parent": "ui:outputURL",
          "required": false
        },
        {
          "name": "label",
          "type": "string",
          "description": "The text displayed on the component.",
          "access": "global",
          "parent": "ui:outputURL",
          "required": false
        },
        {
          "name": "target",
          "type": "string",
          "description": "The target destination where this rendered component is displayed. Possible values: _blank, _parent, _self, _top",
          "access": "global",
          "parent": "ui:outputURL",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "The text to display as a tooltip when the mouse pointer hovers over this component.",
          "access": "global",
          "parent": "ui:outputURL",
          "required": false
        },
        {
          "name": "value",
          "type": "string",
          "description": "The URL of the page that the link goes to.",
          "access": "global",
          "parent": "ui:outputURL",
          "required": true
        }
      ],
      "description": "Deprecated as of API version 47.0. Use lightning:formattedUrl instead."
    },
    "wave:waveDashboard": {
      "type": "component",
      "namespace": "wave",
      "attributes": [
        {
          "name": "accessToken",
          "type": "string",
          "description": "A valid access token obtained by logging into Salesforce. Useful when the component is used by Lightning Out in a non Salesforce domain.",
          "access": "global",
          "parent": "wave:waveDashboard",
          "required": false
        },
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "dashboardId",
          "type": "string",
          "description": "The unique ID of the dashboard. You can get a dashboard’s ID, an 18-character code beginning with 0FK, from the dashboard's URL, or you can request it through the API.              This attribute can be used instead of the developer name, but it can't be included if the name has been set. One of the two is required.",
          "access": "global",
          "parent": "wave:waveDashboard",
          "required": false
        },
        {
          "name": "developerName",
          "type": "string",
          "description": "The unique developer name of the dashboard. You can request the developer name through the API. This attribute can be used instead of the dashboard ID,              but it can't be included if the ID has been set. One of the two is required.",
          "access": "global",
          "parent": "wave:waveDashboard",
          "required": false
        },
        {
          "name": "filter",
          "type": "string",
          "description": "Adds selections or filters to the embedded dashboard at runtime. The filter attribute is configured using JSON. For filtering by dimension, use this              syntax: {'datasets' : {'dataset1': [ {'fields': ['field1'], 'selection': ['$value1', '$value2']}, {'fields': ['field2'], 'filter': {'operator': 'operator1', 'values': ['$value3', '$value4']}}]}}.              For filtering on measures, use this syntax: {'datasets' : {'dataset1': [ {'fields': ['field1'], 'selection': ['$value1', '$value2']}, {'fields': ['field2'], 'filter': { 'operator': 'operator1',              'values': [[$value3]]}}]}}. With the selection option, the dashboard is shown with all its data, and the specified dimension values are highlighted. With the filter option, the dashboard is              shown with only filtered data. For more information, see https://help.salesforce.com/articleView?id=bi_embed_lightning.htm.",
          "access": "global",
          "parent": "wave:waveDashboard",
          "required": false
        },
        {
          "name": "height",
          "type": "integer",
          "description": "Specifies the height of the dashboard, in pixels.",
          "access": "global",
          "parent": "wave:waveDashboard",
          "required": false
        },
        {
          "name": "hideOnError",
          "type": "boolean",
          "description": "Controls whether or not users see a dashboard that has an error. When this attribute is set to true, if the dashboard has an error, it won’t appear on the page.              When set to false, the dashboard appears but doesn’t show any data. An error can occur when a user doesn't have access to the dashboard or it has been deleted. ",
          "access": "global",
          "parent": "wave:waveDashboard",
          "required": false
        },
        {
          "name": "isLoaded",
          "type": "boolean",
          "description": "A flag that is updated when the dashboard is fully loaded on the page",
          "access": "global",
          "parent": "wave:waveDashboard",
          "required": false
        },
        {
          "name": "openLinksInNewWindow",
          "type": "boolean",
          "description": "If false, links to other dashboards will be opened in the same window.",
          "access": "global",
          "parent": "wave:waveDashboard",
          "required": false
        },
        {
          "name": "recordId",
          "type": "string",
          "description": "Id of the current entity in the context of which the component is being displayed.",
          "access": "global",
          "parent": "wave:waveDashboard",
          "required": false
        },
        {
          "name": "rendered",
          "type": "boolean",
          "description": "Specifies whether or not the component is rendered on the page.",
          "access": "global",
          "parent": "wave:waveDashboard",
          "required": false
        },
        {
          "name": "showHeader",
          "type": "boolean",
          "description": "If true, the dashboard is displayed with a header bar that includes dashboard information and controls. If false, the dashboard appears without a header bar.              Note that the header bar automatically appears when either showSharing or showTitle is true.",
          "access": "global",
          "parent": "wave:waveDashboard",
          "required": false
        },
        {
          "name": "showSharing",
          "type": "boolean",
          "description": "If true, and the dashboard is shareable, then the dashboard shows the Share icon. If false, the dashboard doesn't show the Share icon. To show the Share icon              in the dashboard, the smallest supported frame size is 800 x 612 pixels.",
          "access": "global",
          "parent": "wave:waveDashboard",
          "required": false
        },
        {
          "name": "showTitle",
          "type": "boolean",
          "description": "If true, the dashboard’s title is included above the dashboard. If false, the dashboard appears without a title.",
          "access": "global",
          "parent": "wave:waveDashboard",
          "required": false
        }
      ],
      "description": "Use this component to add a Salesforce Einstein Analytics dashboard to a Lightning Experience page."
    },
    "lightning:card": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "actions",
          "type": "component[]",
          "description": "Actions are components such as button or buttonIcon. Actions are displayed in the header.",
          "access": "global",
          "parent": "lightning:card",
          "required": false
        },
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:card",
          "required": false
        },
        {
          "name": "footer",
          "type": "object",
          "description": "The footer can include text or another component",
          "access": "global",
          "parent": "lightning:card",
          "required": false
        },
        {
          "name": "iconName",
          "type": "string",
          "description": "The Lightning Design System name of the icon. Names are written in the format 'utility:down' where 'utility' is the category, and 'down' is the specific icon to be displayed. The icon is displayed in the header to the left of the title.",
          "access": "global",
          "parent": "lightning:card",
          "required": false
        },
        {
          "name": "title",
          "type": "object",
          "description": "The title can include text or another component, and is displayed in the header.",
          "access": "global",
          "parent": "lightning:card",
          "required": false
        },
        {
          "name": "variant",
          "type": "string",
          "description": "The variant changes the appearance of the card. Accepted variants include base or narrow. This value defaults to base.",
          "access": "global",
          "parent": "lightning:card",
          "required": false
        }
      ],
      "description": "Cards are used to apply a container around a related grouping of information."
    },
    "lightning:inputField": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:inputField",
          "required": false
        },
        {
          "name": "disabled",
          "type": "boolean",
          "description": "Specifies whether a field is disabled. Disabled fields are grayed out and users can't interact with them. They don't receive focus and are skipped in tabbing navigation.",
          "access": "global",
          "parent": "lightning:inputField",
          "required": false
        },
        {
          "name": "fieldName",
          "type": "string",
          "description": "The API name of the field to be displayed.",
          "access": "global",
          "parent": "lightning:inputField",
          "required": false
        },
        {
          "name": "onchange",
          "type": "action",
          "description": "The action triggered when the input value changes.",
          "access": "global",
          "parent": "lightning:inputField",
          "required": false
        },
        {
          "name": "readonly",
          "type": "boolean",
          "description": "Specifies whether an input field is read-only. Not supported for the following field types: rich text, picklist, multi-select picklist, and lookup. A read-only field is not disabled by default.",
          "access": "global",
          "parent": "lightning:inputField",
          "required": false
        },
        {
          "name": "value",
          "type": "string",
          "description": "The field value, which overrides the existing value.",
          "access": "global",
          "parent": "lightning:inputField",
          "required": false
        },
        {
          "name": "variant",
          "type": "string",
          "description": "The variant changes the label position of an input field. Accepted variants include standard (default), label-hidden, label-inline, and label-stacked. The variant, if specified, determines the label position. Otherwise, the density setting of the parent form determines the label position.",
          "access": "global",
          "parent": "lightning:inputField",
          "required": false
        }
      ],
      "description": "Represents an editable input for a field on a Salesforce object. This component requires API version 42.0 and later."
    },
    "aura:unescapedHtml": {
      "type": "component",
      "namespace": "aura",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of <aura:unescapedHtml> is ignored and won't be rendered.",
          "access": "global",
          "parent": "aura:unescapedHtml",
          "required": false
        },
        {
          "name": "value",
          "type": "string",
          "description": "The string that should be rendered as unescaped HTML.",
          "access": "global",
          "parent": "aura:unescapedHtml",
          "required": false
        }
      ],
      "description": "The value assigned to this component will be rendered as-is, without altering its contents. It's intended for outputting pre-formatted HTML, for example, where the formatting is arbitrary, or expensive to calculate. The body of this component is ignored, and won't be rendered. Warning: this component outputs value as unescaped HTML, which introduces the possibility of security vulnerabilities in your code. You must sanitize user input before rendering it unescaped, or you will create a cross-site scripting (XSS) vulnerability. Only use <aura:unescapedHtml> with trusted or sanitized sources of data."
    },
    "lightning:formattedLocation": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "latitude",
          "type": "decimal",
          "description": "The latitude value of the geolocation. Latitude values must be within -90 and 90.",
          "access": "global",
          "parent": "lightning:formattedLocation",
          "required": true
        },
        {
          "name": "longitude",
          "type": "decimal",
          "description": "The longitude value of the geolocation. Longitude values must be within -180 and 180.",
          "access": "global",
          "parent": "lightning:formattedLocation",
          "required": true
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        }
      ],
      "description": "Displays a geolocation in decimal degrees (DD) using the format [latitude, longitude]. This component requires API version 41.0 and later."
    },
    "lightning:fileUpload": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "accept",
          "type": "list",
          "description": "Comma-separated list of file extensions that can be uploaded in the format .ext, such as .pdf, .jpg, or .png",
          "access": "global",
          "parent": "lightning:fileUpload",
          "required": false
        },
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "disabled",
          "type": "boolean",
          "description": "Specifies whether this component should be displayed in a disabled state. Disabled components can't be clicked. This value defaults to false.",
          "access": "global",
          "parent": "lightning:fileUpload",
          "required": false
        },
        {
          "name": "label",
          "type": "string",
          "description": "The text label for the file uploader.",
          "access": "global",
          "parent": "lightning:fileUpload",
          "required": true
        },
        {
          "name": "multiple",
          "type": "boolean",
          "description": "Specifies whether a user can upload more than one file simultaneously. This value defaults to false.",
          "access": "global",
          "parent": "lightning:fileUpload",
          "required": false
        },
        {
          "name": "name",
          "type": "string",
          "description": "Specifies the name of the input element.",
          "access": "global",
          "parent": "lightning:fileUpload",
          "required": true
        },
        {
          "name": "onuploadfinished",
          "type": "action",
          "description": "The action triggered when files have finished uploading.",
          "access": "global",
          "parent": "lightning:fileUpload",
          "required": false
        },
        {
          "name": "recordId",
          "type": "string",
          "description": "The record Id of the record that the uploaded file is associated to.",
          "access": "global",
          "parent": "lightning:fileUpload",
          "required": true
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        }
      ],
      "description": "A file uploader for uploading and attaching files to records."
    },
    "force:lightningQuickActionWithoutHeader": {
      "type": "interface",
      "namespace": "force",
      "attributes": [],
      "description": null
    },
    "force:recordSaveSuccess": {
      "type": "event",
      "namespace": "force",
      "attributes": [],
      "description": "Indicates that the record has been successfully saved."
    },
    "lightning:availableForChatterExtensionRenderer": {
      "type": "interface",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "payload",
          "type": "object",
          "description": "Payload preserved for this extension that is associated with this feed item.",
          "access": "global",
          "parent": "lightning:availableForChatterExtensionRenderer",
          "required": false
        },
        {
          "name": "variant",
          "type": "string",
          "description": "The variant changes based on where the extension is rendered. Valid values are FEED and PREVIEW. The value defaults to FEED",
          "access": "global",
          "parent": "lightning:availableForChatterExtensionRenderer",
          "required": false
        }
      ],
      "description": "Enables a component to be used as a Chatter Extension Renderer"
    },
    "forceCommunity:appLauncher": {
      "type": "component",
      "namespace": "forceCommunity",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        }
      ],
      "description": "Displays the App Launcher in Lightning communities to make it easy for members to move between their communities and their Salesforce org.      Add this component to any custom Lightning component in communities."
    },
    "lightning:flow": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "onstatuschange",
          "type": "action",
          "description": "The action triggered when the interview’s status changes or a new screen is displayed.",
          "access": "global",
          "parent": "lightning:flow",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        }
      ],
      "description": "Represents a flow interview in Lightning runtime. This component requires API version 41.0 and later."
    },
    "ui:menuItem": {
      "type": "component",
      "namespace": "ui",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS style to be attached to the component. This style is added in addition to base styles output by the component.",
          "access": "global",
          "parent": "ui:menuItem",
          "required": false
        },
        {
          "name": "disabled",
          "type": "boolean",
          "description": "Specifies whether the component should be displayed in a disabled state. Default value is \"false\".",
          "access": "global",
          "parent": "ui:menuItem",
          "required": false
        },
        {
          "name": "hideMenuAfterSelected",
          "type": "boolean",
          "description": "Set to true to hide menu after the menu item is selected.",
          "access": "global",
          "parent": "ui:menuItem",
          "required": false
        },
        {
          "name": "label",
          "type": "string",
          "description": "The text displayed on the component.",
          "access": "global",
          "parent": "ui:menuItem",
          "required": false
        },
        {
          "name": "selected",
          "type": "boolean",
          "description": "The status of the menu item. True means this menu item is selected; False is not selected.",
          "access": "global",
          "parent": "ui:menuItem",
          "required": false
        },
        {
          "name": "type",
          "type": "string",
          "description": "The concrete type of the menu item. Accepted values are 'action', 'checkbox', 'radio', 'separator' or any namespaced component descriptor, e.g. ns:xxxxmenuItem.",
          "access": "global",
          "parent": "ui:menuItem",
          "required": false
        }
      ],
      "description": "Deprecated as of API version 47.0. Use lightning:menuItem with lightning:buttonMenu instead."
    },
    "lightning:formattedText": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "linkify",
          "type": "boolean",
          "description": "Specifies whether the text should be converted to a link. If set to true, URLs and email addresses are displayed in anchor tags.",
          "access": "global",
          "parent": "lightning:formattedText",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "value",
          "type": "string",
          "description": "Text to output.",
          "access": "global",
          "parent": "lightning:formattedText",
          "required": false
        }
      ],
      "description": "Displays text, replaces newlines with line breaks, and linkifies if requested. This component requires API version 41.0 and later."
    },
    "aura:valueDestroy": {
      "type": "event",
      "namespace": "aura",
      "attributes": [
        {
          "name": "value",
          "type": "object",
          "description": "The component that is being destroyed.",
          "access": "global",
          "parent": "aura:valueDestroy",
          "required": false
        }
      ],
      "description": "Indicates that a component is being destroyed."
    },
    "force:lightningQuickAction": {
      "type": "interface",
      "namespace": "force",
      "attributes": [],
      "description": null
    },
    "forceChatter:feed": {
      "type": "component",
      "namespace": "forceChatter",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "feedDesign",
          "type": "string",
          "description": "Valid values include DEFAULT ( shows inline comments on desktop, a bit more detail ) or BROWSE ( primarily an overview of the feed items )",
          "access": "global",
          "parent": "forceChatter:feed",
          "required": false
        },
        {
          "name": "subjectId",
          "type": "string",
          "description": "For most feeds tied to an entity, this is used specified the desired entity. Defaults to the current user if not specified",
          "access": "global",
          "parent": "forceChatter:feed",
          "required": false
        },
        {
          "name": "type",
          "type": "string",
          "description": "The strategy used to find items associated with the subject. Valid values include: Bookmarks, Company, DirectMessages, Feeds, Files, Filter, Groups, Home, Moderation, Mute, News, PendingReview, Record, Streams, To, Topics, UserProfile.",
          "access": "global",
          "parent": "forceChatter:feed",
          "required": false
        }
      ],
      "description": "Represents a Chatter Feed"
    },
    "lightning:verticalNavigationItem": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "href",
          "type": "string",
          "description": "The URL of the page that the navigation item goes to.",
          "access": "global",
          "parent": "lightning:verticalNavigationItem",
          "required": false
        },
        {
          "name": "label",
          "type": "string",
          "description": "The text displayed for the navigation item.",
          "access": "global",
          "parent": "lightning:verticalNavigationItem",
          "required": true
        },
        {
          "name": "name",
          "type": "string",
          "description": "A unique identifier for the navigation item.",
          "access": "global",
          "parent": "lightning:verticalNavigationItem",
          "required": true
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        }
      ],
      "description": "A text-only link within lightning:verticalNavigationSection or lightning:verticalNavigationOverflow. This component requires API version 41.0 and later."
    },
    "lightning:omniChannelStatusChanged": {
      "type": "event",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "channels",
          "type": "string",
          "description": "The JSON string of channel objects.",
          "access": "global",
          "parent": "lightning:omniChannelStatusChanged",
          "required": true
        },
        {
          "name": "statusApiName",
          "type": "string",
          "description": "The API name of the agent’s current presence status.",
          "access": "global",
          "parent": "lightning:omniChannelStatusChanged",
          "required": true
        },
        {
          "name": "statusId",
          "type": "string",
          "description": "The ID of the agent’s current presence status.",
          "access": "global",
          "parent": "lightning:omniChannelStatusChanged",
          "required": true
        },
        {
          "name": "statusName",
          "type": "string",
          "description": "The name the agent’s current presence status.",
          "access": "global",
          "parent": "lightning:omniChannelStatusChanged",
          "required": true
        }
      ],
      "description": "Fired when an Omni-Channel user changes his or her status."
    },
    "lightningcommunity:backButton": {
      "type": "component",
      "namespace": "lightningcommunity",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "Styling class for back button.",
          "access": "global",
          "parent": "lightningcommunity:backButton",
          "required": false
        },
        {
          "name": "iconName",
          "type": "string",
          "description": "The Lightning Design System name of the icon. Only utility icons can be used in this component.",
          "access": "global",
          "parent": "lightningcommunity:backButton",
          "required": false
        },
        {
          "name": "onnavigationcomplete",
          "type": "action",
          "description": "Event handler action fired after every page navigation is complete. 'navigationcomplete' event provides 'canGoBack' boolean parameter value.",
          "access": "global",
          "parent": "lightningcommunity:backButton",
          "required": false
        }
      ],
      "description": "Icon button to navigate to previous community page in myCommnunity IOS app."
    },
    "lightning:listView": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "enableInlineEdit",
          "type": "boolean",
          "description": "Specifies whether the inline edit of cells is enabled. This value defaults to false.",
          "access": "global",
          "parent": "lightning:listView",
          "required": false
        },
        {
          "name": "listName",
          "type": "string",
          "description": "The developer name of the List View",
          "access": "global",
          "parent": "lightning:listView",
          "required": true
        },
        {
          "name": "objectApiName",
          "type": "string",
          "description": "The API name of the object to be displayed in this List View",
          "access": "global",
          "parent": "lightning:listView",
          "required": true
        },
        {
          "name": "rows",
          "type": "integer",
          "description": "Specifies the number of rows to initially load and additional rows after each subsequent 'Load More' click. The default and maximum number of rows value is 50.",
          "access": "global",
          "parent": "lightning:listView",
          "required": false
        },
        {
          "name": "showActionBar",
          "type": "boolean",
          "description": "Specifies whether the action bar displays. This value defaults to false.",
          "access": "global",
          "parent": "lightning:listView",
          "required": false
        },
        {
          "name": "showRowLevelActions",
          "type": "boolean",
          "description": "Specifies whether row level actions are displayed (as a dropdown menu in the last column of the row). This value defaults to false.",
          "access": "global",
          "parent": "lightning:listView",
          "required": false
        },
        {
          "name": "showSearchBar",
          "type": "boolean",
          "description": "Specifies whether the search bar displays. This value defaults to false. Note: The server side may still disable search if it does not support searching.",
          "access": "global",
          "parent": "lightning:listView",
          "required": false
        }
      ],
      "description": "Displays a List View of the specified object. This component requires API 42.0 and later."
    },
    "lightning:accordion": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "activeSectionName",
          "type": "string",
          "description": "Expands the specified accordion sections. Section names are case-sensitive. The first section in the accordion is expanded by default. To support multiple active sections, set allowMultipleSectionsOpen to true.",
          "access": "global",
          "parent": "lightning:accordion",
          "required": false
        },
        {
          "name": "allowMultipleSectionsOpen",
          "type": "boolean",
          "description": "If true, all sections will be closed by default and the accordion will allow multiple sections open at a time.",
          "access": "global",
          "parent": "lightning:accordion",
          "required": false
        },
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "onsectiontoggle",
          "type": "action",
          "description": "Action fired when the open sections change, it contains all open sections.",
          "access": "global",
          "parent": "lightning:accordion",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        }
      ],
      "description": "A collection of vertically stacked sections with multiple content areas. This component requires version 41.0 and later."
    },
    "ui:inputPhone": {
      "type": "component",
      "namespace": "ui",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS style to be attached to the component. This style is added in addition to base styles output by the component.",
          "access": "global",
          "parent": "ui:visible",
          "required": false
        },
        {
          "name": "disabled",
          "type": "boolean",
          "description": "Specifies whether the component should be displayed in a disabled state. Default value is \"false\".",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "errors",
          "type": "object[]",
          "description": "The list of errors to be displayed.",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "label",
          "type": "string",
          "description": "The text of the label component",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "labelClass",
          "type": "string",
          "description": "The CSS class of the label component",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "maxlength",
          "type": "integer",
          "description": "The maximum number of characters that can be typed into the input field. Corresponds to the maxlength attribute of the rendered HTML input element.",
          "access": "global",
          "parent": "ui:inputTextComponent",
          "required": false
        },
        {
          "name": "placeholder",
          "type": "string",
          "description": "Text that is displayed when the field is empty, to prompt the user for a valid entry.",
          "access": "global",
          "parent": "ui:inputTextComponent",
          "required": false
        },
        {
          "name": "required",
          "type": "boolean",
          "description": "Specifies whether the input is required. Default value is \"false\".",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "requiredIndicatorClass",
          "type": "string",
          "description": "The CSS class of the required indicator component",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "size",
          "type": "integer",
          "description": "The width of the input field, in characters. Corresponds to the size attribute of the rendered HTML input element.",
          "access": "global",
          "parent": "ui:inputTextComponent",
          "required": false
        },
        {
          "name": "updateOn",
          "type": "string",
          "description": "Updates the component's value binding if the updateOn attribute is set to the handled event. Default value is \"change\".",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "value",
          "type": "string",
          "description": "The value currently in the input field.",
          "access": "global",
          "parent": "ui:input",
          "required": false
        }
      ],
      "description": "Deprecated as of API version 47.0. Use lightning:input with phone type instead."
    },
    "lightning:pill": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "hasError",
          "type": "boolean",
          "description": "Specifies whether the pill has errors. The default is false.",
          "access": "global",
          "parent": "lightning:pill",
          "required": false
        },
        {
          "name": "href",
          "type": "string",
          "description": "The URL of the page that the link goes to.",
          "access": "global",
          "parent": "lightning:pill",
          "required": false
        },
        {
          "name": "label",
          "type": "string",
          "description": "The text label that displays in the pill.",
          "access": "global",
          "parent": "lightning:pill",
          "required": true
        },
        {
          "name": "media",
          "type": "component[]",
          "description": "The icon or figure that's displayed next to the textual information.",
          "access": "global",
          "parent": "lightning:pill",
          "required": false
        },
        {
          "name": "name",
          "type": "string",
          "description": "The name for the pill. This value is optional and can be used to identify the pill in a callback.",
          "access": "global",
          "parent": "lightning:pill",
          "required": false
        },
        {
          "name": "onclick",
          "type": "action",
          "description": "The action triggered when the button is clicked.",
          "access": "global",
          "parent": "lightning:pill",
          "required": false
        },
        {
          "name": "onremove",
          "type": "action",
          "description": "The action triggered when the pill is removed.",
          "access": "global",
          "parent": "lightning:pill",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        }
      ],
      "description": "A pill displays a label that can contain links and can be removed from view."
    },
    "force:recordSave": {
      "type": "event",
      "namespace": "force",
      "attributes": [],
      "description": "Record save request"
    },
    "ui:scrollerWrapper": {
      "type": "component",
      "namespace": "ui",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class applied to the outer element. This style is in addition to base classes output by the component.",
          "access": "global",
          "parent": "ui:scrollerWrapper",
          "required": false
        }
      ],
      "description": "Creates a container that enables native scrolling in the Salesforce app."
    },
    "force:appHostable": {
      "type": "interface",
      "namespace": "force",
      "attributes": [],
      "description": null
    },
    "lightning:hasPageReference": {
      "type": "interface",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "pageReference",
          "type": "object",
          "description": "An object with a String 'type' property and Object 'attributes' and 'state' properties.",
          "access": "global",
          "parent": "lightning:hasPageReference",
          "required": false
        }
      ],
      "description": "This interface is used to indicate that a component takes a pageReference Object as an attribute."
    },
    "ui:inputTextArea": {
      "type": "component",
      "namespace": "ui",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS style to be attached to the component. This style is added in addition to base styles output by the component.",
          "access": "global",
          "parent": "ui:visible",
          "required": false
        },
        {
          "name": "cols",
          "type": "integer",
          "description": "The width of the text area, which is defined by the number of characters to display in a single row at a time. Default value is “20”.",
          "access": "global",
          "parent": "ui:inputTextArea",
          "required": false
        },
        {
          "name": "disabled",
          "type": "boolean",
          "description": "Specifies whether the component should be displayed in a disabled state. Default value is \"false\".",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "errors",
          "type": "object[]",
          "description": "The list of errors to be displayed.",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "label",
          "type": "string",
          "description": "The text of the label component",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "labelClass",
          "type": "string",
          "description": "The CSS class of the label component",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "maxlength",
          "type": "integer",
          "description": "The maximum number of characters that can be typed into the input field. Corresponds to the maxlength attribute of the rendered HTML textarea element.",
          "access": "global",
          "parent": "ui:inputTextArea",
          "required": false
        },
        {
          "name": "placeholder",
          "type": "string",
          "description": "The text that is displayed by default.",
          "access": "global",
          "parent": "ui:inputTextArea",
          "required": false
        },
        {
          "name": "readonly",
          "type": "boolean",
          "description": "Specifies whether the text area should be rendered as read-only. Default value is “false”.",
          "access": "global",
          "parent": "ui:inputTextArea",
          "required": false
        },
        {
          "name": "required",
          "type": "boolean",
          "description": "Specifies whether the input is required. Default value is \"false\".",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "requiredIndicatorClass",
          "type": "string",
          "description": "The CSS class of the required indicator component",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "resizable",
          "type": "boolean",
          "description": "Specifies whether or not the textarea should be resizable.  Defaults to true.",
          "access": "global",
          "parent": "ui:inputTextArea",
          "required": false
        },
        {
          "name": "rows",
          "type": "integer",
          "description": "The height of the text area, which is defined by the number of rows to display at a time. Default value is “2”.",
          "access": "global",
          "parent": "ui:inputTextArea",
          "required": false
        },
        {
          "name": "updateOn",
          "type": "string",
          "description": "Updates the component's value binding if the updateOn attribute is set to the handled event. Default value is \"change\".",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "value",
          "type": "string",
          "description": "The value currently in the input field.",
          "access": "global",
          "parent": "ui:input",
          "required": false
        }
      ],
      "description": "Deprecated as of API version 47.0. Use lightning:textarea instead."
    },
    "clients:hasItemContext": {
      "type": "interface",
      "namespace": "clients",
      "attributes": [
        {
          "name": "messageBody",
          "type": "string",
          "description": "READONLY - The body of the current item in plain text",
          "access": "global",
          "parent": "clients:hasItemContext",
          "required": false
        },
        {
          "name": "mode",
          "type": "string",
          "description": "READONLY - An enum indicating the mode of the item. Possible values are 'view', 'edit'",
          "access": "global",
          "parent": "clients:hasItemContext",
          "required": false
        },
        {
          "name": "people",
          "type": "object",
          "description": "READONLY - An object representing the contacts on the current item.",
          "access": "global",
          "parent": "clients:hasItemContext",
          "required": false
        },
        {
          "name": "source",
          "type": "string",
          "description": "READONLY - An enum indicating where the source is coming from. Possible values are 'email', 'event'",
          "access": "global",
          "parent": "clients:hasItemContext",
          "required": false
        },
        {
          "name": "subject",
          "type": "string",
          "description": "READONLY - The subject of the current item.",
          "access": "global",
          "parent": "clients:hasItemContext",
          "required": false
        }
      ],
      "description": "Context Shape for Email / Event Components. Use this interface to interact with the mail clients."
    },
    "lightning:workspaceAPI": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        }
      ],
      "description": "This is the Public API for accessing/manipulating workspaces (Tabs and Subtabs)"
    },
    "lightning:buttonMenu": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "accesskey",
          "type": "string",
          "description": "Specifies a shortcut key to activate or focus an element.",
          "access": "global",
          "parent": "lightning:focusable",
          "required": false
        },
        {
          "name": "alternativeText",
          "type": "string",
          "description": "The assistive text for the button.",
          "access": "global",
          "parent": "lightning:buttonMenu",
          "required": false
        },
        {
          "name": "body",
          "type": "componentdefref[]",
          "description": "The body of the component.",
          "access": "global",
          "parent": "lightning:buttonMenu",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "disabled",
          "type": "boolean",
          "description": "If true, the menu is disabled. Disabling the menu prevents users from opening it. This value defaults to false.",
          "access": "global",
          "parent": "lightning:buttonMenu",
          "required": false
        },
        {
          "name": "draftAlternativeText",
          "type": "string",
          "description": "Describes the reason for showing the draft indicator. This is required when the isDraft attribute is true.",
          "access": "global",
          "parent": "lightning:buttonMenu",
          "required": false
        },
        {
          "name": "iconName",
          "type": "string",
          "description": "The name of the icon to be used in the format utility:down. This value defaults to utility:down. If an icon other than utility:down or utility:chevrondown is used, a utility:down icon is appended to the right of that icon.",
          "access": "global",
          "parent": "lightning:buttonMenu",
          "required": false
        },
        {
          "name": "iconSize",
          "type": "string",
          "description": "The size of the icon. Options include xx-small, x-small, medium, or large. This value defaults to medium.",
          "access": "global",
          "parent": "lightning:buttonMenu",
          "required": false
        },
        {
          "name": "isDraft",
          "type": "boolean",
          "description": "If true, the menu trigger shows a draft indicator. This value defaults to false.",
          "access": "global",
          "parent": "lightning:buttonMenu",
          "required": false
        },
        {
          "name": "isLoading",
          "type": "boolean",
          "description": "If true, the menu is in a loading state and shows a spinner. This value defaults to false.",
          "access": "global",
          "parent": "lightning:buttonMenu",
          "required": false
        },
        {
          "name": "label",
          "type": "string",
          "description": "Optional text to be shown on the button.",
          "access": "global",
          "parent": "lightning:buttonMenu",
          "required": false
        },
        {
          "name": "loadingStateAlternativeText",
          "type": "string",
          "description": "Message displayed while the menu is in the loading state.",
          "access": "global",
          "parent": "lightning:buttonMenu",
          "required": false
        },
        {
          "name": "menuAlignment",
          "type": "string",
          "description": "Determines the alignment of the menu relative to the button. Available options are: auto, left, center, right, bottom-left, bottom-center, bottom-right. The auto option aligns the dropdown menu based on available space. This value defaults to left.",
          "access": "global",
          "parent": "lightning:buttonMenu",
          "required": false
        },
        {
          "name": "name",
          "type": "string",
          "description": "The name for the button element. This value is optional and can be used to identify the button in a callback.",
          "access": "global",
          "parent": "lightning:buttonMenu",
          "required": false
        },
        {
          "name": "onblur",
          "type": "action",
          "description": "The action triggered when the element releases focus.",
          "access": "global",
          "parent": "lightning:focusable",
          "required": false
        },
        {
          "name": "onfocus",
          "type": "action",
          "description": "The action triggered when the element receives focus.",
          "access": "global",
          "parent": "lightning:focusable",
          "required": false
        },
        {
          "name": "onopen",
          "type": "action",
          "description": "Action fired when the menu is opened.",
          "access": "global",
          "parent": "lightning:buttonMenu",
          "required": false
        },
        {
          "name": "onselect",
          "type": "action",
          "description": "Action fired when a menu item is selected. The 'detail.menuItem' property of the passed event is the selected menu item.",
          "access": "global",
          "parent": "lightning:buttonMenu",
          "required": false
        },
        {
          "name": "tabindex",
          "type": "integer",
          "description": "Specifies the tab order of an element when the Tab key is used for navigating. The tabindex value can be set to 0 or -1. The default is 0, which means that the component is focusable and participates in sequential keyboard navigation. -1 means that the component is focusable but does not participate in keyboard navigation.",
          "access": "global",
          "parent": "lightning:focusable",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "tooltip",
          "type": "string",
          "description": "Text to display when the user mouses over or focuses on the button. The tooltip is auto-positioned relative to the button and screen space.",
          "access": "global",
          "parent": "lightning:buttonMenu",
          "required": false
        },
        {
          "name": "value",
          "type": "string",
          "description": "The value for the button element. This value is optional and can be used when submitting a form.",
          "access": "global",
          "parent": "lightning:buttonMenu",
          "required": false
        },
        {
          "name": "variant",
          "type": "string",
          "description": "The variant changes the look of the button. Accepted variants include bare, container, border, border-filled, bare-inverse, and border-inverse. This value defaults to border.",
          "access": "global",
          "parent": "lightning:buttonMenu",
          "required": false
        },
        {
          "name": "visible",
          "type": "boolean",
          "description": "If true, the menu items are displayed. This value defaults to false.",
          "access": "global",
          "parent": "lightning:buttonMenu",
          "required": false
        }
      ],
      "description": "Represents a dropdown menu with a list of actions or functions."
    },
    "lightning:tabReplaced": {
      "type": "event",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "tabId",
          "type": "string",
          "description": "The ID of the refreshed tab.",
          "access": "global",
          "parent": "lightning:tabReplaced",
          "required": true
        }
      ],
      "description": "Fires when a Console primary tab or subtab has been successfully replaced. For example, when saving a new record and the create form is replaced with the newly created Record Home."
    },
    "lightning:formattedEmail": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "hideIcon",
          "type": "boolean",
          "description": "If true, hides the email icon so only the email address is displayed.",
          "access": "global",
          "parent": "lightning:formattedEmail",
          "required": false
        },
        {
          "name": "label",
          "type": "string",
          "description": "The text label for the email.",
          "access": "global",
          "parent": "lightning:formattedEmail",
          "required": false
        },
        {
          "name": "onclick",
          "type": "action",
          "description": "The action triggered when the email is clicked.",
          "access": "global",
          "parent": "lightning:formattedEmail",
          "required": false
        },
        {
          "name": "value",
          "type": "string",
          "description": "The email address that's displayed if a label is not provided.",
          "access": "global",
          "parent": "lightning:formattedEmail",
          "required": true
        }
      ],
      "description": "Displays an email as a hyperlink with the mailto: URL scheme. This component requires API version 41.0 and later."
    },
    "ui:inputSelectOption": {
      "type": "component",
      "namespace": "ui",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS style to be attached to the component. This style is added in addition to base styles output by the component.",
          "access": "global",
          "parent": "ui:inputBaseOption",
          "required": false
        },
        {
          "name": "disabled",
          "type": "boolean",
          "description": "Specifies whether the component should be displayed in a disabled state. Default value is \"false\".",
          "access": "global",
          "parent": "ui:inputBaseOption",
          "required": false
        },
        {
          "name": "label",
          "type": "string",
          "description": "The text displayed on the component.",
          "access": "global",
          "parent": "ui:inputBaseOption",
          "required": false
        },
        {
          "name": "name",
          "type": "string",
          "description": "The name of the component.",
          "access": "global",
          "parent": "ui:inputBaseOption",
          "required": false
        },
        {
          "name": "text",
          "type": "string",
          "description": "The input value attribute.",
          "access": "global",
          "parent": "ui:inputBaseOption",
          "required": false
        },
        {
          "name": "value",
          "type": "boolean",
          "description": "Indicates whether the status of the option is selected. Default value is “false”.",
          "access": "global",
          "parent": "ui:inputBaseOption",
          "required": false
        }
      ],
      "description": "Deprecated as of API version 47.0. Use lightning:select or lightning:combobox instead."
    },
    "force:editRecord": {
      "type": "event",
      "namespace": "force",
      "attributes": [
        {
          "name": "recordId",
          "type": "string",
          "description": null,
          "access": "global",
          "parent": "force:editRecord",
          "required": true
        }
      ],
      "description": "Displays the record edit screen for a given record"
    },
    "ui:radioMenuItem": {
      "type": "component",
      "namespace": "ui",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS style to be attached to the component. This style is added in addition to base styles output by the component.",
          "access": "global",
          "parent": "ui:menuItem",
          "required": false
        },
        {
          "name": "disabled",
          "type": "boolean",
          "description": "Specifies whether the component should be displayed in a disabled state. Default value is \"false\".",
          "access": "global",
          "parent": "ui:menuItem",
          "required": false
        },
        {
          "name": "hideMenuAfterSelected",
          "type": "boolean",
          "description": "Set to true to hide menu after the menu item is selected.",
          "access": "global",
          "parent": "ui:radioMenuItem",
          "required": false
        },
        {
          "name": "label",
          "type": "string",
          "description": "The text displayed on the component.",
          "access": "global",
          "parent": "ui:menuItem",
          "required": false
        },
        {
          "name": "selected",
          "type": "boolean",
          "description": "The status of the menu item. True means this menu item is selected; False is not selected.",
          "access": "global",
          "parent": "ui:menuItem",
          "required": false
        },
        {
          "name": "type",
          "type": "string",
          "description": "The concrete type of the menu item. Accepted values are 'action', 'checkbox', 'radio', 'separator' or any namespaced component descriptor, e.g. ns:xxxxmenuItem.",
          "access": "global",
          "parent": "ui:menuItem",
          "required": false
        }
      ],
      "description": "​Deprecated as of API version 47.0. Use lightning:menuItem instead."
    },
    "ui:inputDateTime": {
      "type": "component",
      "namespace": "ui",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS style to be attached to the component. This style is added in addition to base styles output by the component.",
          "access": "global",
          "parent": "ui:visible",
          "required": false
        },
        {
          "name": "disabled",
          "type": "boolean",
          "description": "Specifies whether the component should be displayed in a disabled state. Default value is \"false\".",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "displayDatePicker",
          "type": "boolean",
          "description": "Indicates if an icon that triggers the date picker is displayed in the field. The default is false.",
          "access": "global",
          "parent": "ui:inputDateComponent",
          "required": false
        },
        {
          "name": "errors",
          "type": "object[]",
          "description": "The list of errors to be displayed.",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "format",
          "type": "string",
          "description": "The java.text.SimpleDateFormat style format string.",
          "access": "global",
          "parent": "ui:inputDateComponent",
          "required": false
        },
        {
          "name": "label",
          "type": "string",
          "description": "The text of the label component",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "labelClass",
          "type": "string",
          "description": "The CSS class of the label component",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "langLocale",
          "type": "string",
          "description": "Deprecated. The language locale used to format date time. It only allows to use the value which is provided by Locale Value Provider, otherwise, it falls back to the value of $Locale.langLocale. It will be removed in an upcoming release.",
          "access": "global",
          "parent": "ui:inputDateComponent",
          "required": false
        },
        {
          "name": "required",
          "type": "boolean",
          "description": "Specifies whether the input is required. Default value is \"false\".",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "requiredIndicatorClass",
          "type": "string",
          "description": "The CSS class of the required indicator component",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "updateOn",
          "type": "string",
          "description": "Updates the component's value binding if the updateOn attribute is set to the handled event. Default value is \"change\".",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "value",
          "type": "string",
          "description": "The input value of the date/time as an ISO string.",
          "access": "global",
          "parent": "ui:inputDateTime",
          "required": false
        }
      ],
      "description": "Deprecated as of API version 47.0. Use lightning:input with datetime type instead."
    },
    "aura:applicationEvent": {
      "type": "event",
      "namespace": "aura",
      "attributes": [],
      "description": "The root event of the event hierarchy for all events of type=\"APPLICATION\""
    },
    "ui:menu": {
      "type": "component",
      "namespace": "ui",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS style to be attached to the component. This style is added in addition to base styles output by the component.",
          "access": "global",
          "parent": "ui:visible",
          "required": false
        }
      ],
      "description": "Deprecated as of API version 47.0. Use lightning:buttonMenu instead."
    },
    "ui:inputRichText": {
      "type": "component",
      "namespace": "ui",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS style to be attached to the component. This style is added in addition to base styles output by the component.",
          "access": "global",
          "parent": "ui:visible",
          "required": false
        },
        {
          "name": "cols",
          "type": "integer",
          "description": "The width of the text area, which is defined by the number of characters to display in a single row at a time. Default value is “20”.",
          "access": "global",
          "parent": "ui:inputTextArea",
          "required": false
        },
        {
          "name": "disabled",
          "type": "boolean",
          "description": "Specifies whether the component should be displayed in a disabled state. Default value is \"false\".",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "errors",
          "type": "object[]",
          "description": "The list of errors to be displayed.",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "height",
          "type": "string",
          "description": "The height of the editing area (that includes the editor content). This can be an integer, for pixel sizes, or any CSS-defined length unit.",
          "access": "global",
          "parent": "ui:inputRichText",
          "required": false
        },
        {
          "name": "label",
          "type": "string",
          "description": "The text of the label component",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "labelClass",
          "type": "string",
          "description": "The CSS class of the label component",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "maxlength",
          "type": "integer",
          "description": "The maximum number of characters that can be typed into the input field. Corresponds to the maxlength attribute of the rendered HTML textarea element.",
          "access": "global",
          "parent": "ui:inputTextArea",
          "required": false
        },
        {
          "name": "placeholder",
          "type": "string",
          "description": "The text that is displayed by default.",
          "access": "global",
          "parent": "ui:inputTextArea",
          "required": false
        },
        {
          "name": "readonly",
          "type": "boolean",
          "description": "Specifies whether the text area should be rendered as read-only. Default value is “false”.",
          "access": "global",
          "parent": "ui:inputTextArea",
          "required": false
        },
        {
          "name": "required",
          "type": "boolean",
          "description": "Specifies whether the input is required. Default value is \"false\".",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "requiredIndicatorClass",
          "type": "string",
          "description": "The CSS class of the required indicator component",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "resizable",
          "type": "boolean",
          "description": "Specifies whether or not the textarea should be resizable.  Defaults to true.",
          "access": "global",
          "parent": "ui:inputTextArea",
          "required": false
        },
        {
          "name": "rows",
          "type": "integer",
          "description": "The height of the text area, which is defined by the number of rows to display at a time. Default value is “2”.",
          "access": "global",
          "parent": "ui:inputTextArea",
          "required": false
        },
        {
          "name": "updateOn",
          "type": "string",
          "description": "Updates the component's value binding if the updateOn attribute is set to the handled event. Default value is \"change\".",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "value",
          "type": "string",
          "description": "The value currently in the input field.",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "width",
          "type": "string",
          "description": "The editor UI outer width. This can be an integer, for pixel sizes, or any CSS-defined unit. If isRichText is set to false, use the cols attribute instead.",
          "access": "global",
          "parent": "ui:inputRichText",
          "required": false
        }
      ],
      "description": " Deprecated as of API version 47.0. This component is not supported by LockerService. Use lightning:inputRichText instead."
    },
    "lightning:formattedNumber": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "currencyCode",
          "type": "string",
          "description": "Only used if style='currency', this attribute determines which currency is displayed. Possible values are the ISO 4217 currency codes, such as 'USD' for the US dollar.",
          "access": "global",
          "parent": "lightning:formattedNumber",
          "required": false
        },
        {
          "name": "currencyDisplayAs",
          "type": "string",
          "description": "Determines how currency is displayed. Possible values are symbol, code, and name. This value defaults to symbol.",
          "access": "global",
          "parent": "lightning:formattedNumber",
          "required": false
        },
        {
          "name": "maximumFractionDigits",
          "type": "integer",
          "description": "The maximum number of fraction digits that are allowed.",
          "access": "global",
          "parent": "lightning:formattedNumber",
          "required": false
        },
        {
          "name": "maximumSignificantDigits",
          "type": "integer",
          "description": "The maximum number of significant digits that are allowed. Possible values are from 1 to 21.",
          "access": "global",
          "parent": "lightning:formattedNumber",
          "required": false
        },
        {
          "name": "minimumFractionDigits",
          "type": "integer",
          "description": "The minimum number of fraction digits that are required.",
          "access": "global",
          "parent": "lightning:formattedNumber",
          "required": false
        },
        {
          "name": "minimumIntegerDigits",
          "type": "integer",
          "description": "The minimum number of integer digits that are required. Possible values are from 1 to 21.",
          "access": "global",
          "parent": "lightning:formattedNumber",
          "required": false
        },
        {
          "name": "minimumSignificantDigits",
          "type": "integer",
          "description": "The minimum number of significant digits that are required. Possible values are from 1 to 21.",
          "access": "global",
          "parent": "lightning:formattedNumber",
          "required": false
        },
        {
          "name": "style",
          "type": "string",
          "description": "The number formatting style to use. Possible values are decimal, currency, and percent. This value defaults to decimal.",
          "access": "global",
          "parent": "lightning:formattedNumber",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "value",
          "type": "decimal",
          "description": "The value to be formatted.",
          "access": "global",
          "parent": "lightning:formattedNumber",
          "required": true
        }
      ],
      "description": "Displays formatted numbers for decimals, currency, and percentages."
    },
    "ltng:afterScriptsLoaded": {
      "type": "event",
      "namespace": "ltng",
      "attributes": [],
      "description": "Fired when ltng:require has loaded all scripts listed in ltng:require.scripts"
    },
    "lightning:overlayLibrary": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        }
      ],
      "description": "Displays messages via modals and popovers. This component requires API version 41.0 and later."
    },
    "forceCommunity:navigationMenuBase": {
      "type": "component",
      "namespace": "forceCommunity",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "menuItems",
          "type": "object",
          "description": "Automatically populated with menu item’s data. This attribute is read-only.",
          "access": "global",
          "parent": "forceCommunity:navigationMenuBase",
          "required": false
        },
        {
          "name": "navigationLinkSetId",
          "type": "string",
          "description": "The NavigationLinkSet this component renders. If left blank, the default link set is used. This could be ID or Developer Name.",
          "access": "global",
          "parent": "forceCommunity:navigationMenuBase",
          "required": false
        }
      ],
      "description": "An abstract component for customizing the navigation menu in a community, which loads menu data and handles navigation. The menu’s look and feel is controlled by the component that's extending it."
    },
    "ui:outputPhone": {
      "type": "component",
      "namespace": "ui",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS style to be attached to the component. This style is added in addition to base styles output by the component.",
          "access": "global",
          "parent": "ui:visible",
          "required": false
        },
        {
          "name": "value",
          "type": "string",
          "description": "The phone number displayed when this component is rendered.",
          "access": "global",
          "parent": "ui:outputPhone",
          "required": true
        }
      ],
      "description": "Deprecated as of API version 47.0. Use lightning:formattedPhone instead."
    },
    "force:createRecord": {
      "type": "event",
      "namespace": "force",
      "attributes": [
        {
          "name": "defaultFieldValues",
          "type": "map",
          "description": "Prepopulates fields on a record create panel, including fields not displayed on the panel. ID fields and rich text fields can't be prepopulated. Users must have create access to prepopulated fields. Errors during saving that are caused by field access limitations do not display error messages.         ",
          "access": "global",
          "parent": "force:createRecord",
          "required": false
        },
        {
          "name": "entityApiName",
          "type": "string",
          "description": "Required. The API name of the custom or standard object, such as \"Account\", \"Case\", \"Contact\", \"Lead\", \"Opportunity\", or \"namespace__objectName__c\".",
          "access": "global",
          "parent": "force:createRecord",
          "required": false
        },
        {
          "name": "recordTypeId",
          "type": "string",
          "description": "Non-null if recordTypes are enabled. Null means Master RecordType.",
          "access": "global",
          "parent": "force:createRecord",
          "required": false
        }
      ],
      "description": "Event fired to show the Full Record Create panel"
    },
    "ui:inputURL": {
      "type": "component",
      "namespace": "ui",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS style to be attached to the component. This style is added in addition to base styles output by the component.",
          "access": "global",
          "parent": "ui:visible",
          "required": false
        },
        {
          "name": "disabled",
          "type": "boolean",
          "description": "Specifies whether the component should be displayed in a disabled state. Default value is \"false\".",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "errors",
          "type": "object[]",
          "description": "The list of errors to be displayed.",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "label",
          "type": "string",
          "description": "The text of the label component",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "labelClass",
          "type": "string",
          "description": "The CSS class of the label component",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "maxlength",
          "type": "integer",
          "description": "The maximum number of characters that can be typed into the input field. Corresponds to the maxlength attribute of the rendered HTML input element.",
          "access": "global",
          "parent": "ui:inputTextComponent",
          "required": false
        },
        {
          "name": "placeholder",
          "type": "string",
          "description": "Text that is displayed when the field is empty, to prompt the user for a valid entry.",
          "access": "global",
          "parent": "ui:inputTextComponent",
          "required": false
        },
        {
          "name": "required",
          "type": "boolean",
          "description": "Specifies whether the input is required. Default value is \"false\".",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "requiredIndicatorClass",
          "type": "string",
          "description": "The CSS class of the required indicator component",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "size",
          "type": "integer",
          "description": "The width of the input field, in characters. Corresponds to the size attribute of the rendered HTML input element.",
          "access": "global",
          "parent": "ui:inputTextComponent",
          "required": false
        },
        {
          "name": "updateOn",
          "type": "string",
          "description": "Updates the component's value binding if the updateOn attribute is set to the handled event. Default value is \"change\".",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "value",
          "type": "string",
          "description": "The value currently in the input field.",
          "access": "global",
          "parent": "ui:input",
          "required": false
        }
      ],
      "description": "Deprecated as of API version 47.0. Use lightning:input with url type instead."
    },
    "ui:inputDefaultError": {
      "type": "component",
      "namespace": "ui",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS style to be attached to the component. This style is added in addition to base styles output by the component.",
          "access": "global",
          "parent": "ui:visible",
          "required": false
        },
        {
          "name": "value",
          "type": "string[]",
          "description": "The list of errors strings to be displayed.",
          "access": "global",
          "parent": "ui:inputDefaultError",
          "required": false
        }
      ],
      "description": "Deprecated as of API version 47.0. Use lightning:input with built-in field validation instead."
    },
    "ui:checkboxMenuItem": {
      "type": "component",
      "namespace": "ui",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS style to be attached to the component. This style is added in addition to base styles output by the component.",
          "access": "global",
          "parent": "ui:menuItem",
          "required": false
        },
        {
          "name": "disabled",
          "type": "boolean",
          "description": "Specifies whether the component should be displayed in a disabled state. Default value is \"false\".",
          "access": "global",
          "parent": "ui:menuItem",
          "required": false
        },
        {
          "name": "hideMenuAfterSelected",
          "type": "boolean",
          "description": "Set to true to hide menu after the menu item is selected.",
          "access": "global",
          "parent": "ui:menuItem",
          "required": false
        },
        {
          "name": "label",
          "type": "string",
          "description": "The text displayed on the component.",
          "access": "global",
          "parent": "ui:menuItem",
          "required": false
        },
        {
          "name": "selected",
          "type": "boolean",
          "description": "The status of the menu item. True means this menu item is selected; False is not selected.",
          "access": "global",
          "parent": "ui:menuItem",
          "required": false
        },
        {
          "name": "type",
          "type": "string",
          "description": "The concrete type of the menu item. Accepted values are 'action', 'checkbox', 'radio', 'separator' or any namespaced component descriptor, e.g. ns:xxxxmenuItem.",
          "access": "global",
          "parent": "ui:menuItem",
          "required": false
        }
      ],
      "description": "​Deprecated as of API version 47.0. Use lightning:menuItem with lightning:buttonMenu instead."
    },
    "ui:menuTrigger": {
      "type": "component",
      "namespace": "ui",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS style to be attached to the component. This style is added in addition to base styles output by the component.",
          "access": "global",
          "parent": "ui:visible",
          "required": false
        },
        {
          "name": "disabled",
          "type": "boolean",
          "description": "Specifies whether the component should be displayed in a disabled state. Default value is \"false\".",
          "access": "global",
          "parent": "ui:interactive",
          "required": false
        },
        {
          "name": "label",
          "type": "string",
          "description": "The text displayed on the component.",
          "access": "global",
          "parent": "ui:popupTrigger",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "The text to display as a tooltip when the mouse pointer hovers over this component.",
          "access": "global",
          "parent": "ui:popupTrigger",
          "required": false
        }
      ],
      "description": "Deprecated as of API version 47.0. Use lightning:buttonMenu instead."
    },
    "aura:valueInit": {
      "type": "event",
      "namespace": "aura",
      "attributes": [
        {
          "name": "value",
          "type": "object",
          "description": "The component that initialized.",
          "access": "global",
          "parent": "aura:valueInit",
          "required": false
        }
      ],
      "description": "Indicates that a component has been initialized."
    },
    "lightning:omniChannelLogout": {
      "type": "event",
      "namespace": "lightning",
      "attributes": [],
      "description": "Fired when an Omni-Channel user is logged out."
    },
    "forceChatter:customOpenFile": {
      "type": "event",
      "namespace": "forceChatter",
      "attributes": [
        {
          "name": "recordId",
          "type": "string",
          "description": "ID of the file record. This must not be empty.",
          "access": "global",
          "parent": "forceChatter:customOpenFile",
          "required": true
        }
      ],
      "description": "Adds custom logic for file open/tap action for Communities on mobile and tablet devices."
    },
    "ui:inputDate": {
      "type": "component",
      "namespace": "ui",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS style to be attached to the component. This style is added in addition to base styles output by the component.",
          "access": "global",
          "parent": "ui:visible",
          "required": false
        },
        {
          "name": "disabled",
          "type": "boolean",
          "description": "Specifies whether the component should be displayed in a disabled state. Default value is \"false\".",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "displayDatePicker",
          "type": "boolean",
          "description": "Indicates if an icon that triggers the date picker is displayed in the field. The default is false.",
          "access": "global",
          "parent": "ui:inputDateComponent",
          "required": false
        },
        {
          "name": "errors",
          "type": "object[]",
          "description": "The list of errors to be displayed.",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "format",
          "type": "string",
          "description": "The java.text.SimpleDateFormat style format string.",
          "access": "global",
          "parent": "ui:inputDateComponent",
          "required": false
        },
        {
          "name": "label",
          "type": "string",
          "description": "The text of the label component",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "labelClass",
          "type": "string",
          "description": "The CSS class of the label component",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "langLocale",
          "type": "string",
          "description": "Deprecated. The language locale used to format date time. It only allows to use the value which is provided by Locale Value Provider, otherwise, it falls back to the value of $Locale.langLocale. It will be removed in an upcoming release.",
          "access": "global",
          "parent": "ui:inputDateComponent",
          "required": false
        },
        {
          "name": "required",
          "type": "boolean",
          "description": "Specifies whether the input is required. Default value is \"false\".",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "requiredIndicatorClass",
          "type": "string",
          "description": "The CSS class of the required indicator component",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "updateOn",
          "type": "string",
          "description": "Updates the component's value binding if the updateOn attribute is set to the handled event. Default value is \"change\".",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "value",
          "type": "string",
          "description": "The input value of the date/time as an ISO string.",
          "access": "global",
          "parent": "ui:inputDateComponent",
          "required": false
        }
      ],
      "description": "Deprecated as of API version 47.0. Use lightning:input with date type instead."
    },
    "lightning:spinner": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "alternativeText",
          "type": "string",
          "description": "The alternative text used to describe the reason for the wait and need for a spinner.",
          "access": "global",
          "parent": "lightning:spinner",
          "required": false
        },
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "size",
          "type": "string",
          "description": "The size of the spinner. Accepted sizes are small, medium, and large. This value defaults to medium.",
          "access": "global",
          "parent": "lightning:spinner",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "variant",
          "type": "string",
          "description": "The variant changes the appearance of the spinner. Accepted variants are base, brand, and inverse. This value defaults to base.",
          "access": "global",
          "parent": "lightning:spinner",
          "required": false
        }
      ],
      "description": "Displays an animated spinner."
    },
    "lightning:verticalNavigation": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "ariaLabel",
          "type": "string",
          "description": "The aria label attribute for the navigation component",
          "access": "global",
          "parent": "lightning:verticalNavigation",
          "required": false
        },
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "compact",
          "type": "boolean",
          "description": "Specify true to reduce spacing between navigation items. This value defaults to false.",
          "access": "global",
          "parent": "lightning:verticalNavigation",
          "required": false
        },
        {
          "name": "onbeforeselect",
          "type": "action",
          "description": "Action fired before an item is selected. The event params include the `name` of the selected item. To prevent the onselect handler from running, call event.preventDefault() in the onbeforeselect handler.",
          "access": "global",
          "parent": "lightning:verticalNavigation",
          "required": false
        },
        {
          "name": "onselect",
          "type": "action",
          "description": "Action fired when an item is selected. The event params include the `name` of the selected item.",
          "access": "global",
          "parent": "lightning:verticalNavigation",
          "required": false
        },
        {
          "name": "selectedItem",
          "type": "string",
          "description": "Name of the nagivation item to make active.",
          "access": "global",
          "parent": "lightning:verticalNavigation",
          "required": false
        },
        {
          "name": "shaded",
          "type": "boolean",
          "description": "Specify true when the vertical navigation is sitting on top of a shaded background. This value defaults to false.",
          "access": "global",
          "parent": "lightning:verticalNavigation",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        }
      ],
      "description": "Represents a vertical list of links that either take the user to another page or parts of the page the user is in. This component requires API version 41.0 and later."
    },
    "ui:outputDate": {
      "type": "component",
      "namespace": "ui",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS style to be attached to the component. This style is added in addition to base styles output by the component.",
          "access": "global",
          "parent": "ui:visible",
          "required": false
        },
        {
          "name": "format",
          "type": "string",
          "description": "A string (pattern letters are defined in java.text.SimpleDateFormat) used to format the date and time of the value attribute.",
          "access": "global",
          "parent": "ui:outputDateComponent",
          "required": false
        },
        {
          "name": "langLocale",
          "type": "string",
          "description": "Deprecated. The language locale used to format date value. It only allows to use the value which is provided by Locale Value Provider, otherwise, it falls back to the value of $Locale.langLocale. It will be removed in an upcoming release.",
          "access": "global",
          "parent": "ui:outputDateComponent",
          "required": false
        },
        {
          "name": "value",
          "type": "string",
          "description": "The output value of the date. It should be a date string in ISO-8601 format (YYYY-MM-DD).",
          "access": "global",
          "parent": "ui:outputDate",
          "required": true
        }
      ],
      "description": "Deprecated as of API version 47.0. Use lightning:formattedDateTime instead."
    },
    "lightning:breadcrumb": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "href",
          "type": "string",
          "description": "The URL of the page that the breadcrumb goes to.",
          "access": "global",
          "parent": "lightning:breadcrumb",
          "required": false
        },
        {
          "name": "label",
          "type": "string",
          "description": "The text label for the breadcrumb.",
          "access": "global",
          "parent": "lightning:breadcrumb",
          "required": true
        },
        {
          "name": "name",
          "type": "string",
          "description": "The name for the breadcrumb component. This value is optional and can be used to identify the breadcrumb in a callback.",
          "access": "global",
          "parent": "lightning:breadcrumb",
          "required": false
        },
        {
          "name": "onclick",
          "type": "action",
          "description": "The action triggered when the breadcrumb is clicked.",
          "access": "global",
          "parent": "lightning:breadcrumb",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        }
      ],
      "description": "An item in the hierarchy path of the page the user is on."
    },
    "lightning:formattedRichText": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "disableLinkify",
          "type": "boolean",
          "description": "Prevents the component from creating links in the rich text.",
          "access": "global",
          "parent": "lightning:formattedRichText",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "value",
          "type": "string",
          "description": "Sets the rich text to display.",
          "access": "global",
          "parent": "lightning:formattedRichText",
          "required": false
        }
      ],
      "description": "Displays rich text that's formatted with allowlisted tags and attributes. Other tags and attributes are removed and only their text content is displayed. This component requires API version 41.0 and later."
    },
    "lightning:conversationAgentSend": {
      "type": "event",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "content",
          "type": "string",
          "description": "The text of a message in the chat log.",
          "access": "global",
          "parent": "lightning:conversationAgentSend",
          "required": true
        },
        {
          "name": "name",
          "type": "string",
          "description": "The name of the agent who is attempting to send the message as it appears in the chat log.",
          "access": "global",
          "parent": "lightning:conversationAgentSend",
          "required": true
        },
        {
          "name": "recordId",
          "type": "string",
          "description": "Record ID of the conversation",
          "access": "global",
          "parent": "lightning:conversationAgentSend",
          "required": true
        },
        {
          "name": "timestamp",
          "type": "date",
          "description": "The date and time the agent attempted to send the chat message.",
          "access": "global",
          "parent": "lightning:conversationAgentSend",
          "required": true
        },
        {
          "name": "type",
          "type": "string",
          "description": "The type of message that was received—for example, agent.",
          "access": "global",
          "parent": "lightning:conversationAgentSend",
          "required": true
        }
      ],
      "description": "Indicates an agent sent a message"
    },
    "aura:rootComponent": {
      "type": "interface",
      "namespace": "aura",
      "attributes": [],
      "description": "This is a marker interface for top-level components like aura:component, aura:expression, and aura:html"
    },
    "aura:valueEvent": {
      "type": "event",
      "namespace": "aura",
      "attributes": [],
      "description": "The root event of the event hierarchy for all events of type=\"VALUE\""
    },
    "ui:outputTextArea": {
      "type": "component",
      "namespace": "ui",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS style to be attached to the component. This style is added in addition to base styles output by the component.",
          "access": "global",
          "parent": "ui:visible",
          "required": false
        },
        {
          "name": "linkify",
          "type": "boolean",
          "description": "Indicates if the URLs in the text are set to render as hyperlinks.",
          "access": "global",
          "parent": "ui:outputTextArea",
          "required": false
        },
        {
          "name": "value",
          "type": "string",
          "description": "The text to display.",
          "access": "global",
          "parent": "ui:outputTextArea",
          "required": true
        }
      ],
      "description": "Deprecated as of API version 47.0. Use lightning:formattedText instead."
    },
    "lightning:formattedUrl": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "label",
          "type": "string",
          "description": "The text to display in the link.",
          "access": "global",
          "parent": "lightning:formattedUrl",
          "required": false
        },
        {
          "name": "target",
          "type": "string",
          "description": "Specifies where to open the link. Options include _blank, _parent, _self, and _top. This value defaults to _self.",
          "access": "global",
          "parent": "lightning:formattedUrl",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "tooltip",
          "type": "string",
          "description": "The text to display when the mouse hovers over the link. A link doesn't display a tooltip unless a text value is provided.",
          "access": "global",
          "parent": "lightning:formattedUrl",
          "required": false
        },
        {
          "name": "value",
          "type": "string",
          "description": "The URL to be formatted.",
          "access": "global",
          "parent": "lightning:formattedUrl",
          "required": false
        }
      ],
      "description": "Displays a URL as a hyperlink. This component requires API version 41.0 and later."
    },
    "lightning:messageChannel": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "onMessage",
          "type": "action",
          "description": "Subscribes a listener function to be invoked when a message is published on this channel.",
          "access": "global",
          "parent": "lightning:messageChannel",
          "required": false
        },
        {
          "name": "scope",
          "type": "string",
          "description": "The scope that a component is subscribed to. This only applies when a listener is provided to `onMessage`",
          "access": "global",
          "parent": "lightning:messageChannel",
          "required": false
        },
        {
          "name": "type",
          "type": "string",
          "description": "Name of MessageChannel associated with this component.",
          "access": "global",
          "parent": "lightning:messageChannel",
          "required": true
        }
      ],
      "description": "This component allows you to subscribe and publish messages via the Lightning Message Service."
    },
    "lightning:fileCard": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "description",
          "type": "string",
          "description": "The description of the file, by default it is set to the filename",
          "access": "global",
          "parent": "lightning:fileCard",
          "required": false
        },
        {
          "name": "fileId",
          "type": "string",
          "description": "The Salesforce File ID (ContentDocument).",
          "access": "global",
          "parent": "lightning:fileCard",
          "required": true
        },
        {
          "name": "hideDescription",
          "type": "boolean",
          "description": "Hides the file description in the caption if enabled",
          "access": "global",
          "parent": "lightning:fileCard",
          "required": false
        }
      ],
      "description": "Displays a preview of an uploaded file available in Salesforce CRM Content or Salesforce Files."
    },
    "ltng:allowGuestAccess": {
      "type": "interface",
      "namespace": "ltng",
      "attributes": [],
      "description": "Allows guest user access on an application."
    },
    "ui:inputRadio": {
      "type": "component",
      "namespace": "ui",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS style to be attached to the component. This style is added in addition to base styles output by the component.",
          "access": "global",
          "parent": "ui:inputBaseOption",
          "required": false
        },
        {
          "name": "disabled",
          "type": "boolean",
          "description": "Specifies whether this radio button should be displayed in a disabled state. Disabled radio buttons can't be clicked. Default value is \"false\".",
          "access": "global",
          "parent": "ui:inputRadio",
          "required": false
        },
        {
          "name": "errors",
          "type": "object[]",
          "description": "The list of errors to be displayed.",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "label",
          "type": "string",
          "description": "The text displayed on the component.",
          "access": "global",
          "parent": "ui:inputBaseOption",
          "required": false
        },
        {
          "name": "labelClass",
          "type": "string",
          "description": "The CSS class of the label component",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "name",
          "type": "string",
          "description": "The name of the component.",
          "access": "global",
          "parent": "ui:inputBaseOption",
          "required": false
        },
        {
          "name": "required",
          "type": "boolean",
          "description": "Specifies whether the input is required. Default value is \"false\".",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "requiredIndicatorClass",
          "type": "string",
          "description": "The CSS class of the required indicator component",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "text",
          "type": "string",
          "description": "The input value attribute.",
          "access": "global",
          "parent": "ui:inputBaseOption",
          "required": false
        },
        {
          "name": "updateOn",
          "type": "string",
          "description": "Updates the component's value binding if the updateOn attribute is set to the handled event. Default value is \"change\".",
          "access": "global",
          "parent": "ui:input",
          "required": false
        },
        {
          "name": "value",
          "type": "boolean",
          "description": "Indicates whether the status of the option is selected. Default value is “false”.",
          "access": "global",
          "parent": "ui:inputBaseOption",
          "required": false
        }
      ],
      "description": "Deprecated as of API version 47.0. Use lightning:input with radio type instead. For radio groups, use lightning:radioGroup."
    },
    "force:navigateToComponent": {
      "type": "event",
      "namespace": "force",
      "attributes": [
        {
          "name": "componentAttributes",
          "type": "object",
          "description": "The attributes for the component.",
          "access": "global",
          "parent": "force:navigateToComponent",
          "required": false
        },
        {
          "name": "componentDef",
          "type": "string",
          "description": "The component to navigate to, for example, c:myComponent.",
          "access": "global",
          "parent": "force:navigateToComponent",
          "required": false
        },
        {
          "name": "isredirect",
          "type": "boolean",
          "description": "Specifies whether the navigation is a redirect. If true, the browser replaces the current URL with the new one in the navigation history. This value defaults to false.",
          "access": "global",
          "parent": "force:navigateToComponent",
          "required": false
        }
      ],
      "description": "Navigates from a Lightning component to another."
    },
    "forceCommunity:availableForAllPageTypes": {
      "type": "interface",
      "namespace": "forceCommunity",
      "attributes": [],
      "description": "Enables a component for drag and drop in the Lightning Components panel in Experience Builder."
    },
    "lightning:inputRichText": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "accesskey",
          "type": "string",
          "description": "Specifies a shortcut key to activate or focus an element.",
          "access": "global",
          "parent": "lightning:focusable",
          "required": false
        },
        {
          "name": "ariaDescribedby",
          "type": "string",
          "description": "A space-separated list of element IDs that provides descriptive labels for the rich text editor.",
          "access": "global",
          "parent": "lightning:inputRichText",
          "required": false
        },
        {
          "name": "ariaLabel",
          "type": "string",
          "description": "Label describing the rich text editor to assistive technologies",
          "access": "global",
          "parent": "lightning:inputRichText",
          "required": false
        },
        {
          "name": "ariaLabelledby",
          "type": "string",
          "description": "An element ID that provides a label for the rich text editor.",
          "access": "global",
          "parent": "lightning:inputRichText",
          "required": false
        },
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "disabled",
          "type": "boolean",
          "description": "Specifies whether the editor is disabled. This value defaults to false.",
          "access": "global",
          "parent": "lightning:inputRichText",
          "required": false
        },
        {
          "name": "disabledCategories",
          "type": "list",
          "description": "A comma-separated list of button categories to remove from the toolbar.",
          "access": "global",
          "parent": "lightning:inputRichText",
          "required": false
        },
        {
          "name": "formats",
          "type": "list",
          "description": "A list of formats accepted by the text editor. By default, the list is computed based on enabled categories. The \"table\" format is always enabled to support copying and pasting of tables. If formats are specified, all desired formats must be specified. Omitting a format from the list removes the corresponding button.",
          "access": "global",
          "parent": "lightning:inputRichText",
          "required": false
        },
        {
          "name": "label",
          "type": "string",
          "description": "Text label for the rich text editor.",
          "access": "global",
          "parent": "lightning:inputRichText",
          "required": false
        },
        {
          "name": "labelVisible",
          "type": "boolean",
          "description": "Specifies whether the label is visible or not. The default is false.",
          "access": "global",
          "parent": "lightning:inputRichText",
          "required": false
        },
        {
          "name": "messageWhenBadInput",
          "type": "string",
          "description": "Error message that's displayed when valid is false.",
          "access": "global",
          "parent": "lightning:inputRichText",
          "required": false
        },
        {
          "name": "onblur",
          "type": "action",
          "description": "The action triggered when the element releases focus.",
          "access": "global",
          "parent": "lightning:focusable",
          "required": false
        },
        {
          "name": "onfocus",
          "type": "action",
          "description": "The action triggered when the element receives focus.",
          "access": "global",
          "parent": "lightning:focusable",
          "required": false
        },
        {
          "name": "placeholder",
          "type": "string",
          "description": "Text that is displayed when the field is empty.",
          "access": "global",
          "parent": "lightning:inputRichText",
          "required": false
        },
        {
          "name": "shareWithEntityId",
          "type": "string",
          "description": "Entity ID to share the image with.",
          "access": "global",
          "parent": "lightning:inputRichText",
          "required": false
        },
        {
          "name": "tabindex",
          "type": "integer",
          "description": "Specifies the tab order of an element when the Tab key is used for navigating. The tabindex value can be set to 0 or -1. The default is 0, which means that the component is focusable and participates in sequential keyboard navigation. -1 means that the component is focusable but does not participate in keyboard navigation.",
          "access": "global",
          "parent": "lightning:focusable",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "valid",
          "type": "boolean",
          "description": "Specifies whether the editor content is valid. If invalid, the slds-has-error class is added. This value defaults to true.",
          "access": "global",
          "parent": "lightning:inputRichText",
          "required": false
        },
        {
          "name": "value",
          "type": "string",
          "description": "The HTML content in the rich text editor.",
          "access": "global",
          "parent": "lightning:inputRichText",
          "required": false
        },
        {
          "name": "variant",
          "type": "string",
          "description": "The variant changes the appearance of the toolbar. Accepted variant is bottom-toolbar which causes the toolbar to be displayed below the text box.",
          "access": "global",
          "parent": "lightning:inputRichText",
          "required": false
        }
      ],
      "description": "A WYSIWYG editor with a customizable toolbar for entering rich text"
    },
    "lightning:quickActionAPI": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        }
      ],
      "description": "This component allows you to access methods for programmatically controlling actions on record pages in Lightning Experience. This component requires API version 43.0 and later."
    },
    "lightning:availableForChatterExtensionComposer": {
      "type": "interface",
      "namespace": "lightning",
      "attributes": [],
      "description": "Enables a component to be used as a chatter extension composer"
    },
    "lightning:inputAddress": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "addressLabel",
          "type": "string",
          "description": "The label of the address compound field.",
          "access": "global",
          "parent": "lightning:inputAddress",
          "required": false
        },
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "city",
          "type": "string",
          "description": "The city field of the address.",
          "access": "global",
          "parent": "lightning:inputAddress",
          "required": false
        },
        {
          "name": "cityLabel",
          "type": "string",
          "description": "The label of the city field of the address.",
          "access": "global",
          "parent": "lightning:inputAddress",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "country",
          "type": "string",
          "description": "The country field of the address. If countryOptions is provided, this country value is selected by default.",
          "access": "global",
          "parent": "lightning:inputAddress",
          "required": false
        },
        {
          "name": "countryLabel",
          "type": "string",
          "description": "The label of the country field of the address.",
          "access": "global",
          "parent": "lightning:inputAddress",
          "required": false
        },
        {
          "name": "countryOptions",
          "type": "list",
          "description": "The array of label-value pairs for the country. Displays a dropdown menu of options.",
          "access": "global",
          "parent": "lightning:inputAddress",
          "required": false
        },
        {
          "name": "disabled",
          "type": "boolean",
          "description": "Specifies whether the address fields are disabled. This value defaults to false.",
          "access": "global",
          "parent": "lightning:inputAddress",
          "required": false
        },
        {
          "name": "fieldLevelHelp",
          "type": "string",
          "description": "Help text detailing the purpose and function of the address compound field.",
          "access": "global",
          "parent": "lightning:inputAddress",
          "required": false
        },
        {
          "name": "onblur",
          "type": "action",
          "description": "The action triggered when the input releases focus.",
          "access": "global",
          "parent": "lightning:inputAddress",
          "required": false
        },
        {
          "name": "onchange",
          "type": "action",
          "description": "The action triggered when the value changes.",
          "access": "global",
          "parent": "lightning:inputAddress",
          "required": false
        },
        {
          "name": "onfocus",
          "type": "action",
          "description": "The action triggered when the input receives focus.",
          "access": "global",
          "parent": "lightning:inputAddress",
          "required": false
        },
        {
          "name": "postalCode",
          "type": "string",
          "description": "The postal code field of the address.",
          "access": "global",
          "parent": "lightning:inputAddress",
          "required": false
        },
        {
          "name": "postalCodeLabel",
          "type": "string",
          "description": "The label of the postal code field of the address.",
          "access": "global",
          "parent": "lightning:inputAddress",
          "required": false
        },
        {
          "name": "province",
          "type": "string",
          "description": "The province field of the address. If provinceOptions is provided, this province value is selected by default.",
          "access": "global",
          "parent": "lightning:inputAddress",
          "required": false
        },
        {
          "name": "provinceLabel",
          "type": "string",
          "description": "The label of the province field of the address.",
          "access": "global",
          "parent": "lightning:inputAddress",
          "required": false
        },
        {
          "name": "provinceOptions",
          "type": "list",
          "description": "The array of label-value pairs for the province. Displays a dropdown menu of options.",
          "access": "global",
          "parent": "lightning:inputAddress",
          "required": false
        },
        {
          "name": "readonly",
          "type": "boolean",
          "description": "Specifies whether the address fields are read-only. This value defaults to false.",
          "access": "global",
          "parent": "lightning:inputAddress",
          "required": false
        },
        {
          "name": "required",
          "type": "boolean",
          "description": "Specifies whether the address fields are required. This value defaults to false.",
          "access": "global",
          "parent": "lightning:inputAddress",
          "required": false
        },
        {
          "name": "showAddressLookup",
          "type": "boolean",
          "description": "Specifies whether to enable address lookup using Google Maps. This value defaults to false.",
          "access": "global",
          "parent": "lightning:inputAddress",
          "required": false
        },
        {
          "name": "street",
          "type": "string",
          "description": "The street field of the address.",
          "access": "global",
          "parent": "lightning:inputAddress",
          "required": false
        },
        {
          "name": "streetLabel",
          "type": "string",
          "description": "The label of the street field of the address.",
          "access": "global",
          "parent": "lightning:inputAddress",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "variant",
          "type": "string",
          "description": "The variant changes the appearance of the address compound field. Accepted variants include standard, label-inline, label-hidden, and label-stacked. This value defaults to standard. Use label-hidden to hide the label but make it available to assistive technology. Use label-inline to horizontally align the label and address fields. Use label-stacked to place the label above the address fields.",
          "access": "global",
          "parent": "lightning:inputAddress",
          "required": false
        }
      ],
      "description": "Represents an address compound field. This component requires API version 42.0 and later."
    },
    "lightningsnapin:minimizedUI": {
      "type": "interface",
      "namespace": "lightningsnapin",
      "attributes": [],
      "description": "This marker interface is used to indicate that a component can be used as the user interface for a minimized snap-in."
    },
    "lightning:tile": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "href",
          "type": "string",
          "description": "The URL of the page that the link goes to.",
          "access": "global",
          "parent": "lightning:tile",
          "required": false
        },
        {
          "name": "label",
          "type": "string",
          "description": "The text label that displays in the tile and hover text.",
          "access": "global",
          "parent": "lightning:tile",
          "required": true
        },
        {
          "name": "media",
          "type": "component[]",
          "description": "The icon or figure that's displayed next to the textual information.",
          "access": "global",
          "parent": "lightning:tile",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        }
      ],
      "description": "A grouping of related information associated with a record."
    },
    "force:navigateToSObject": {
      "type": "event",
      "namespace": "force",
      "attributes": [
        {
          "name": "isredirect",
          "type": "boolean",
          "description": "If we are redirecting in place, we don't want to create 2 history entries for hybrid. Instead hybrid ignores redirects as a history entry.",
          "access": "global",
          "parent": "force:navigateToSObject",
          "required": false
        },
        {
          "name": "networkId",
          "type": "string",
          "description": "Network that the event is associated with.",
          "access": "global",
          "parent": "force:isNetwork",
          "required": false
        },
        {
          "name": "recordId",
          "type": "string",
          "description": "The record ID",
          "access": "global",
          "parent": "force:navigateToSObject",
          "required": true
        },
        {
          "name": "slideDevName",
          "type": "string",
          "description": "The slideDevName of the slide to navigate to. By default, options are 'chatter', 'related', 'detail'.",
          "access": "global",
          "parent": "force:navigateToSObject",
          "required": false
        }
      ],
      "description": "Navigates to an sObject record specified by recordId."
    },
    "lightning:datatable": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "columns",
          "type": "list",
          "description": "Array of the columns object that's used to define the data types. Required properties include 'label', 'dataKey', and 'type'. The default type is 'text'.",
          "access": "global",
          "parent": "lightning:datatable",
          "required": false
        },
        {
          "name": "data",
          "type": "object",
          "description": "The array of data to be displayed.",
          "access": "global",
          "parent": "lightning:datatable",
          "required": false
        },
        {
          "name": "defaultSortDirection",
          "type": "string",
          "description": "Specifies the default sorting direction on an unsorted column. Valid options include 'asc' and 'desc'. The default is 'asc' for sorting in ascending order.",
          "access": "global",
          "parent": "lightning:datatable",
          "required": false
        },
        {
          "name": "draftValues",
          "type": "object",
          "description": "The current values per row that are provided during inline edit.",
          "access": "global",
          "parent": "lightning:datatable",
          "required": false
        },
        {
          "name": "enableInfiniteLoading",
          "type": "boolean",
          "description": "Enables or disables infinite loading. The default is false.",
          "access": "global",
          "parent": "lightning:datatable",
          "required": false
        },
        {
          "name": "errors",
          "type": "object",
          "description": "Specifies an object containing information about cell level, row level, and table level errors. When it's set, error messages are displayed on the table accordingly.",
          "access": "global",
          "parent": "lightning:datatable",
          "required": false
        },
        {
          "name": "hideCheckboxColumn",
          "type": "boolean",
          "description": "Hides or displays the checkbox column for row selection. To hide the checkbox column, set hideCheckboxColumn to true. The default is false.",
          "access": "global",
          "parent": "lightning:datatable",
          "required": false
        },
        {
          "name": "hideTableHeader",
          "type": "boolean",
          "description": "Specifies whether the table header should be hidden.",
          "access": "global",
          "parent": "lightning:datatable",
          "required": false
        },
        {
          "name": "isLoading",
          "type": "boolean",
          "description": "Specifies whether more data is being loaded and displays a spinner if so. The default is false.",
          "access": "global",
          "parent": "lightning:datatable",
          "required": false
        },
        {
          "name": "keyField",
          "type": "string",
          "description": "Required for better performance. Associates each row with a unique ID.",
          "access": "global",
          "parent": "lightning:datatable",
          "required": true
        },
        {
          "name": "loadMoreOffset",
          "type": "integer",
          "description": "Determines when to trigger infinite loading based on how many pixels the table's scroll position is from the bottom of the table. The default is 20.",
          "access": "global",
          "parent": "lightning:datatable",
          "required": false
        },
        {
          "name": "maxColumnWidth",
          "type": "integer",
          "description": "The maximum width for all columns. The default is 1000px.",
          "access": "global",
          "parent": "lightning:datatable",
          "required": false
        },
        {
          "name": "maxRowSelection",
          "type": "integer",
          "description": "The maximum number of rows that can be selected. Checkboxes are used for selection by default, and radio buttons are used when maxRowSelection is 1.",
          "access": "global",
          "parent": "lightning:datatable",
          "required": false
        },
        {
          "name": "minColumnWidth",
          "type": "integer",
          "description": "The minimum width for all columns. The default is 50px.",
          "access": "global",
          "parent": "lightning:datatable",
          "required": false
        },
        {
          "name": "oncancel",
          "type": "action",
          "description": "The action triggered when you click the Cancel button during inline edit. All edited cells revert to their original values.",
          "access": "global",
          "parent": "lightning:datatable",
          "required": false
        },
        {
          "name": "oncellchange",
          "type": "action",
          "description": "The action triggered when a cell's value changes after an inline edit. Returns the draftValues object.",
          "access": "global",
          "parent": "lightning:datatable",
          "required": false
        },
        {
          "name": "onheaderaction",
          "type": "action",
          "description": "The action triggered when a header action is clicked. By default, it also closes the header actions menu. Returns the action and columnDefinition objects.",
          "access": "global",
          "parent": "lightning:datatable",
          "required": false
        },
        {
          "name": "onloadmore",
          "type": "action",
          "description": "The action triggered when infinite loading loads more data.",
          "access": "global",
          "parent": "lightning:datatable",
          "required": false
        },
        {
          "name": "onresize",
          "type": "action",
          "description": "The action triggered when the table renders columns the first time, and whenever a column is resized. Returns columnWidths and isUserTriggered.",
          "access": "global",
          "parent": "lightning:datatable",
          "required": false
        },
        {
          "name": "onrowaction",
          "type": "action",
          "description": "The action triggered when a row action is clicked. By default, it also closes the row actions menu. Returns the eventDetails object.",
          "access": "global",
          "parent": "lightning:datatable",
          "required": false
        },
        {
          "name": "onrowselection",
          "type": "action",
          "description": "The action triggered when a row is selected. Returns the selectedRows object.",
          "access": "global",
          "parent": "lightning:datatable",
          "required": false
        },
        {
          "name": "onsave",
          "type": "action",
          "description": "The action triggered when you click the Save button during inline edit. Returns the draftValues object.",
          "access": "global",
          "parent": "lightning:datatable",
          "required": false
        },
        {
          "name": "onsort",
          "type": "action",
          "description": "The action triggered when a column is sorted. Returns fieldName and sortDirection.",
          "access": "global",
          "parent": "lightning:datatable",
          "required": false
        },
        {
          "name": "resizeColumnDisabled",
          "type": "boolean",
          "description": "Specifies whether column resizing is disabled. The default is false.",
          "access": "global",
          "parent": "lightning:datatable",
          "required": false
        },
        {
          "name": "resizeStep",
          "type": "integer",
          "description": "The width to resize the column when user press left or right arrow. The default is 10px.",
          "access": "global",
          "parent": "lightning:datatable",
          "required": false
        },
        {
          "name": "rowNumberOffset",
          "type": "integer",
          "description": "Determines where to start counting the row number. The default is 0.",
          "access": "global",
          "parent": "lightning:datatable",
          "required": false
        },
        {
          "name": "selectedRows",
          "type": "list",
          "description": "Enables programmatic row selection with a list of keyField values.",
          "access": "global",
          "parent": "lightning:datatable",
          "required": false
        },
        {
          "name": "showRowNumberColumn",
          "type": "boolean",
          "description": "Shows or hides the row number column. Set to true to show the row number column. The default is false.",
          "access": "global",
          "parent": "lightning:datatable",
          "required": false
        },
        {
          "name": "sortedBy",
          "type": "string",
          "description": "The column fieldName that controls the sorting order. Sort the data using the onsort event handler.",
          "access": "global",
          "parent": "lightning:datatable",
          "required": false
        },
        {
          "name": "sortedDirection",
          "type": "string",
          "description": "Specifies the sorting direction. Sort the data using the onsort event handler. Valid options include 'asc' and 'desc'.",
          "access": "global",
          "parent": "lightning:datatable",
          "required": false
        },
        {
          "name": "suppressBottomBar",
          "type": "boolean",
          "description": "Specifies whether the inline edit Save/Cancel bottom bar should be hidden.",
          "access": "global",
          "parent": "lightning:datatable",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "wrapTextMaxLines",
          "type": "integer",
          "description": "This value specifies the number of lines after which the content will be cut off and hidden. It must be at least 1 or more. The text in the last line is truncated and shown with an ellipsis.",
          "access": "global",
          "parent": "lightning:datatable",
          "required": false
        }
      ],
      "description": "A table that displays columns of data, formatted according to type. This component requires API version 41.0 and later."
    },
    "lightningcommunity:allowInRelaxedCSP": {
      "type": "interface",
      "namespace": "lightningcommunity",
      "attributes": [],
      "description": "This interface is used to indicate that a component is allowed in a Relaxed CSP community page."
    },
    "flexipage:availableForAllPageTypes": {
      "type": "interface",
      "namespace": "flexipage",
      "attributes": [],
      "description": "Marks a component as being able to be used inside a Lightning App Builder page"
    },
    "ui:menuTriggerLink": {
      "type": "component",
      "namespace": "ui",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS style to be attached to the component. This style is added in addition to base styles output by the component.",
          "access": "global",
          "parent": "ui:visible",
          "required": false
        },
        {
          "name": "disabled",
          "type": "boolean",
          "description": "Specifies whether the component should be displayed in a disabled state. Default value is \"false\".",
          "access": "global",
          "parent": "ui:interactive",
          "required": false
        },
        {
          "name": "label",
          "type": "string",
          "description": "The text displayed on the component.",
          "access": "global",
          "parent": "ui:popupTrigger",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "The text to display as a tooltip when the mouse pointer hovers over this component.",
          "access": "global",
          "parent": "ui:popupTrigger",
          "required": false
        }
      ],
      "description": "Deprecated as of API version 47.0. Use lightning:buttonMenu instead."
    },
    "lightning:container": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "alternativeText",
          "type": "string",
          "description": "Used for alternative text in accessibility scenarios.",
          "access": "global",
          "parent": "lightning:container",
          "required": false
        },
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "The CSS class for the iframe element.",
          "access": "global",
          "parent": "lightning:container",
          "required": false
        },
        {
          "name": "onerror",
          "type": "action",
          "description": "The client-side controller action to run when an error occurs when sending a message to the contained app.",
          "access": "global",
          "parent": "lightning:container",
          "required": false
        },
        {
          "name": "onmessage",
          "type": "action",
          "description": "The client-side controller action to run when a message is received from the contained content.",
          "access": "global",
          "parent": "lightning:container",
          "required": false
        },
        {
          "name": "src",
          "type": "string",
          "description": "The resource name, landing page and query params in url format. Navigation is supported only for the single page identified.",
          "access": "global",
          "parent": "lightning:container",
          "required": true
        }
      ],
      "description": "Used to contain content that uses a third-party javascript framework such as Angular or React."
    },
    "force:navigateToRelatedList": {
      "type": "event",
      "namespace": "force",
      "attributes": [
        {
          "name": "entityApiName",
          "type": "string",
          "description": "The entity API name of the related list",
          "access": "global",
          "parent": "force:navigateToRelatedList",
          "required": false
        },
        {
          "name": "parentRecordId",
          "type": "string",
          "description": "The ID of the parent record",
          "access": "global",
          "parent": "force:navigateToRelatedList",
          "required": true
        },
        {
          "name": "relatedListId",
          "type": "string",
          "description": "The API name of the related list to display. For standard objects it is typically the related list's entity api name in plural form, such as 'Contacts' or '​Opportunitie​s'. For custom objects it takes the form of '{​YourCustom​Relationship​Label}__r' ",
          "access": "global",
          "parent": "force:navigateToRelatedList",
          "required": true
        }
      ],
      "description": "Navigates to the related list specified by parentRecordId."
    },
    "wave:selectionChanged": {
      "type": "event",
      "namespace": "wave",
      "attributes": [
        {
          "name": "id",
          "type": "string",
          "description": "The identifier of the Analytics asset for which a selection change event occurred.",
          "access": "global",
          "parent": "wave:selectionChanged",
          "required": false
        },
        {
          "name": "noun",
          "type": "string",
          "description": "The type of the Analytics asset for which a selection change event occurred.",
          "access": "global",
          "parent": "wave:selectionChanged",
          "required": false
        },
        {
          "name": "payload",
          "type": "string",
          "description": "Contains the selection information from the asset that fired the event.",
          "access": "global",
          "parent": "wave:selectionChanged",
          "required": false
        },
        {
          "name": "verb",
          "type": "string",
          "description": "The action that occurred on the Analytics asset.",
          "access": "global",
          "parent": "wave:selectionChanged",
          "required": false
        }
      ],
      "description": "Analytics event that sends selection change information to the Lightning component."
    },
    "lightning:conversationChatEnded": {
      "type": "event",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "recordId",
          "type": "string",
          "description": "Record ID of the conversation",
          "access": "global",
          "parent": "lightning:conversationChatEnded",
          "required": true
        }
      ],
      "description": "Indicates a conversation has ended"
    },
    "lightning:helptext": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "content",
          "type": "string",
          "description": "Text to be shown in the popover.",
          "access": "global",
          "parent": "lightning:helptext",
          "required": false
        },
        {
          "name": "iconName",
          "type": "string",
          "description": "The Lightning Design System name of the icon used as the visible element. Names are written in the format 'utility:info' where 'utility' is the category, and 'info' is the specific icon to be displayed. The default value is 'utility:info'.",
          "access": "global",
          "parent": "lightning:helptext",
          "required": false
        },
        {
          "name": "iconVariant",
          "type": "string",
          "description": "The iconVariant changes the appearance of the icon. Accepted variants include inverse, warning, error.",
          "access": "global",
          "parent": "lightning:helptext",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        }
      ],
      "description": "An icon with a text popover."
    },
    "lightning:availableForFlowActions": {
      "type": "interface",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "timeout",
          "type": "integer",
          "description": "Maximum time (in seconds) an asynchronous call can take before returning control to the flow and executing the Local Action element's fault connector. The default value is 120. If the value is 0 or a negative number, the call never times out.",
          "access": "global",
          "parent": "lightning:availableForFlowActions",
          "required": false
        }
      ],
      "description": "Enables a component's controller to be used as an action in a flow."
    },
    "ui:outputCurrency": {
      "type": "component",
      "namespace": "ui",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS style to be attached to the component. This style is added in addition to base styles output by the component.",
          "access": "global",
          "parent": "ui:visible",
          "required": false
        },
        {
          "name": "currencyCode",
          "type": "string",
          "description": "The ISO 4217 currency code specified as a String, e.g. “USD”.",
          "access": "global",
          "parent": "ui:outputCurrency",
          "required": false
        },
        {
          "name": "currencySymbol",
          "type": "string",
          "description": "The currency symbol specified as a String.",
          "access": "global",
          "parent": "ui:outputCurrency",
          "required": false
        },
        {
          "name": "format",
          "type": "string",
          "description": "The format of the number. For example, format=“.00” displays the number followed by two decimal places. If not specified, the default format based on the browser's locale will be used.",
          "access": "global",
          "parent": "ui:outputCurrency",
          "required": false
        },
        {
          "name": "value",
          "type": "decimal",
          "description": "The output value of the currency, which is defined as type Decimal.",
          "access": "global",
          "parent": "ui:outputCurrency",
          "required": true
        }
      ],
      "description": "Deprecated as of API version 47.0. Use lightning:formattedNumber with style set to currency."
    },
    "aura:valueChange": {
      "type": "event",
      "namespace": "aura",
      "attributes": [
        {
          "name": "expression",
          "type": "string",
          "description": "The expression that triggered the value change.",
          "access": "global",
          "parent": "aura:valueChange",
          "required": false
        },
        {
          "name": "index",
          "type": "string",
          "description": "If the handler was registered through an ArrayValue or MapValue, the name/index of the changed Value in that ArrayValue or MapValue",
          "access": "global",
          "parent": "aura:valueChange",
          "required": false
        },
        {
          "name": "oldValue",
          "type": "object",
          "description": "The previous value that was changed.",
          "access": "global",
          "parent": "aura:valueChange",
          "required": false
        },
        {
          "name": "value",
          "type": "object",
          "description": "The new value.",
          "access": "global",
          "parent": "aura:valueChange",
          "required": false
        }
      ],
      "description": "Indicates that a Value has changed."
    },
    "lightning:select": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "accesskey",
          "type": "string",
          "description": "Specifies a shortcut key to activate or focus an element.",
          "access": "global",
          "parent": "lightning:focusable",
          "required": false
        },
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "disabled",
          "type": "boolean",
          "description": "Specifies that an input element should be disabled. This value defaults to false.",
          "access": "global",
          "parent": "lightning:inputable",
          "required": false
        },
        {
          "name": "label",
          "type": "string",
          "description": "Text that describes the desired select input.",
          "access": "global",
          "parent": "lightning:select",
          "required": true
        },
        {
          "name": "messageWhenValueMissing",
          "type": "string",
          "description": "Error message to be displayed when the value is missing.",
          "access": "global",
          "parent": "lightning:select",
          "required": false
        },
        {
          "name": "name",
          "type": "string",
          "description": "Specifies the name of an input element.",
          "access": "global",
          "parent": "lightning:inputable",
          "required": false
        },
        {
          "name": "onblur",
          "type": "action",
          "description": "The action triggered when the element releases focus.",
          "access": "global",
          "parent": "lightning:focusable",
          "required": false
        },
        {
          "name": "onchange",
          "type": "action",
          "description": "The action triggered when a value attribute changes.",
          "access": "global",
          "parent": "lightning:inputable",
          "required": false
        },
        {
          "name": "onfocus",
          "type": "action",
          "description": "The action triggered when the element receives focus.",
          "access": "global",
          "parent": "lightning:focusable",
          "required": false
        },
        {
          "name": "readonly",
          "type": "boolean",
          "description": "Specifies that an input field is read-only. This value defaults to false.",
          "access": "global",
          "parent": "lightning:inputable",
          "required": false
        },
        {
          "name": "required",
          "type": "boolean",
          "description": "Specifies that an input field must be filled out before submitting the form. This value defaults to false.",
          "access": "global",
          "parent": "lightning:inputable",
          "required": false
        },
        {
          "name": "tabindex",
          "type": "integer",
          "description": "Specifies the tab order of an element when the Tab key is used for navigating. The tabindex value can be set to 0 or -1. The default is 0, which means that the component is focusable and participates in sequential keyboard navigation. -1 means that the component is focusable but does not participate in keyboard navigation.",
          "access": "global",
          "parent": "lightning:focusable",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "validity",
          "type": "object",
          "description": "Represents the validity states that an element can be in, with respect to constraint validation.",
          "access": "global",
          "parent": "lightning:inputable",
          "required": false
        },
        {
          "name": "value",
          "type": "string",
          "description": "The value of the select, also used as the default value to select the right option during init. If no value is provided, the first option will be selected.",
          "access": "global",
          "parent": "lightning:select",
          "required": false
        },
        {
          "name": "variant",
          "type": "string",
          "description": "The variant changes the appearance of an input field. Accepted variants include standard, label-inline, label-hidden, and label-stacked. This value defaults to standard, which displays the label above the field. Use label-hidden to hide the label but make it available to assistive technology. Use label-inline to horizontally align the label and input field. Use label-stacked to place the label above the input field.",
          "access": "global",
          "parent": "lightning:inputable",
          "required": false
        }
      ],
      "description": "Represents a select input."
    },
    "ui:collapse": {
      "type": "event",
      "namespace": "ui",
      "attributes": [],
      "description": "Indicates that a component is collapsed."
    },
    "lightning:conversationCustomEvent": {
      "type": "event",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "data",
          "type": "string",
          "description": "Data attached to the custom event",
          "access": "global",
          "parent": "lightning:conversationCustomEvent",
          "required": false
        },
        {
          "name": "recordId",
          "type": "string",
          "description": "Record ID of the conversation",
          "access": "global",
          "parent": "lightning:conversationCustomEvent",
          "required": true
        },
        {
          "name": "type",
          "type": "string",
          "description": "Name of the custom event",
          "access": "global",
          "parent": "lightning:conversationCustomEvent",
          "required": true
        }
      ],
      "description": "Indicates receipt of a custom event on a conversation"
    },
    "lightning:combobox": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "accesskey",
          "type": "string",
          "description": "Specifies a shortcut key to activate or focus an element.",
          "access": "global",
          "parent": "lightning:focusable",
          "required": false
        },
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "disabled",
          "type": "boolean",
          "description": "Specifies that an input element should be disabled. This value defaults to false.",
          "access": "global",
          "parent": "lightning:inputable",
          "required": false
        },
        {
          "name": "dropdownAlignment",
          "type": "string",
          "description": "Specifies where the drop-down list is aligned with or anchored to the selection field. By default the list is aligned with the selection field at the top so the list opens down.  Use bottom-left to make the selection field display at the bottom so the list opens above it.  Use auto to let the component determine where to open the list based on space available.",
          "access": "global",
          "parent": "lightning:combobox",
          "required": false
        },
        {
          "name": "fieldLevelHelp",
          "type": "string",
          "description": "Help text detailing the purpose and function of the combobox.",
          "access": "global",
          "parent": "lightning:combobox",
          "required": false
        },
        {
          "name": "label",
          "type": "string",
          "description": "Text label for the combobox.",
          "access": "global",
          "parent": "lightning:combobox",
          "required": true
        },
        {
          "name": "messageWhenValueMissing",
          "type": "string",
          "description": "Error message to be displayed when the value is missing and input is required.",
          "access": "global",
          "parent": "lightning:combobox",
          "required": false
        },
        {
          "name": "name",
          "type": "string",
          "description": "Specifies the name of an input element.",
          "access": "global",
          "parent": "lightning:inputable",
          "required": false
        },
        {
          "name": "onblur",
          "type": "action",
          "description": "The action triggered when the element releases focus.",
          "access": "global",
          "parent": "lightning:focusable",
          "required": false
        },
        {
          "name": "onchange",
          "type": "action",
          "description": "The action triggered when a value attribute changes.",
          "access": "global",
          "parent": "lightning:inputable",
          "required": false
        },
        {
          "name": "onfocus",
          "type": "action",
          "description": "The action triggered when the element receives focus.",
          "access": "global",
          "parent": "lightning:focusable",
          "required": false
        },
        {
          "name": "options",
          "type": "object[]",
          "description": "A list of options that are available for selection. Each option has the following attributes: label and value.",
          "access": "global",
          "parent": "lightning:combobox",
          "required": true
        },
        {
          "name": "placeholder",
          "type": "string",
          "description": "Text that is displayed before an option is selected, to prompt the user to select an option. The default is \"Select an Option\".",
          "access": "global",
          "parent": "lightning:combobox",
          "required": false
        },
        {
          "name": "readonly",
          "type": "boolean",
          "description": "Specifies that an input field is read-only. This value defaults to false.",
          "access": "global",
          "parent": "lightning:inputable",
          "required": false
        },
        {
          "name": "required",
          "type": "boolean",
          "description": "Specifies that an input field must be filled out before submitting the form. This value defaults to false.",
          "access": "global",
          "parent": "lightning:inputable",
          "required": false
        },
        {
          "name": "spinnerActive",
          "type": "boolean",
          "description": "Displays a spinner to indicate activity in the dropdown list. This value defaults to false.",
          "access": "global",
          "parent": "lightning:combobox",
          "required": false
        },
        {
          "name": "tabindex",
          "type": "integer",
          "description": "Specifies the tab order of an element when the Tab key is used for navigating. The tabindex value can be set to 0 or -1. The default is 0, which means that the component is focusable and participates in sequential keyboard navigation. -1 means that the component is focusable but does not participate in keyboard navigation.",
          "access": "global",
          "parent": "lightning:focusable",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "validity",
          "type": "object",
          "description": "Represents the validity states that an element can be in, with respect to constraint validation.",
          "access": "global",
          "parent": "lightning:inputable",
          "required": false
        },
        {
          "name": "value",
          "type": "object",
          "description": "Specifies the value of an input element.",
          "access": "global",
          "parent": "lightning:inputable",
          "required": false
        },
        {
          "name": "variant",
          "type": "string",
          "description": "The variant changes the appearance of an input field. Accepted variants include standard, label-inline, label-hidden, and label-stacked. This value defaults to standard, which displays the label above the field. Use label-hidden to hide the label but make it available to assistive technology. Use label-inline to horizontally align the label and input field. Use label-stacked to place the label above the input field.",
          "access": "global",
          "parent": "lightning:inputable",
          "required": false
        }
      ],
      "description": "A widget that provides an input field that is readonly, accompanied with a dropdown list of selectable options."
    },
    "lightning:radioGroup": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "accesskey",
          "type": "string",
          "description": "Specifies a shortcut key to activate or focus an element.",
          "access": "global",
          "parent": "lightning:focusable",
          "required": false
        },
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "disabled",
          "type": "boolean",
          "description": "Specifies that an input element should be disabled. This value defaults to false.",
          "access": "global",
          "parent": "lightning:inputable",
          "required": false
        },
        {
          "name": "label",
          "type": "string",
          "description": "Text label for the radio group.",
          "access": "global",
          "parent": "lightning:radioGroup",
          "required": true
        },
        {
          "name": "messageWhenValueMissing",
          "type": "string",
          "description": "Optional message displayed when no radio button is selected and the required attribute is set to true.",
          "access": "global",
          "parent": "lightning:radioGroup",
          "required": false
        },
        {
          "name": "name",
          "type": "string",
          "description": "Specifies the name of an input element.",
          "access": "global",
          "parent": "lightning:inputable",
          "required": false
        },
        {
          "name": "onblur",
          "type": "action",
          "description": "The action triggered when the element releases focus.",
          "access": "global",
          "parent": "lightning:focusable",
          "required": false
        },
        {
          "name": "onchange",
          "type": "action",
          "description": "The action triggered when a value attribute changes.",
          "access": "global",
          "parent": "lightning:inputable",
          "required": false
        },
        {
          "name": "onfocus",
          "type": "action",
          "description": "The action triggered when the element receives focus.",
          "access": "global",
          "parent": "lightning:focusable",
          "required": false
        },
        {
          "name": "options",
          "type": "list",
          "description": "Array of label-value pairs for each radio button.",
          "access": "global",
          "parent": "lightning:radioGroup",
          "required": true
        },
        {
          "name": "readonly",
          "type": "boolean",
          "description": "Specifies that an input field is read-only. This value defaults to false.",
          "access": "global",
          "parent": "lightning:inputable",
          "required": false
        },
        {
          "name": "required",
          "type": "boolean",
          "description": "Specifies that an input field must be filled out before submitting the form. This value defaults to false.",
          "access": "global",
          "parent": "lightning:inputable",
          "required": false
        },
        {
          "name": "tabindex",
          "type": "integer",
          "description": "Specifies the tab order of an element when the Tab key is used for navigating. The tabindex value can be set to 0 or -1. The default is 0, which means that the component is focusable and participates in sequential keyboard navigation. -1 means that the component is focusable but does not participate in keyboard navigation.",
          "access": "global",
          "parent": "lightning:focusable",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "type",
          "type": "string",
          "description": "The style of the radio group. Valid types are radio or button. The default is radio.",
          "access": "global",
          "parent": "lightning:radioGroup",
          "required": false
        },
        {
          "name": "validity",
          "type": "object",
          "description": "Represents the validity states that an element can be in, with respect to constraint validation.",
          "access": "global",
          "parent": "lightning:inputable",
          "required": false
        },
        {
          "name": "value",
          "type": "object",
          "description": "Specifies the value of an input element.",
          "access": "global",
          "parent": "lightning:inputable",
          "required": false
        },
        {
          "name": "variant",
          "type": "string",
          "description": "The variant changes the appearance of the radio group. Accepted variants include standard, label-hidden, label-inline, and label-stacked. This value defaults to standard. Use label-hidden to hide the label but make it available to assistive technology. Use label-inline to horizontally align the label and radio group. Use label-stacked to place the label above the radio group.",
          "access": "global",
          "parent": "lightning:radioGroup",
          "required": false
        }
      ],
      "description": "A radio button group that can have a single option selected. This component requires API version 41.0 and later."
    },
    "aura:text": {
      "type": "component",
      "namespace": "aura",
      "attributes": [
        {
          "name": "value",
          "type": "string",
          "description": "The String to be rendered.",
          "access": "global",
          "parent": "aura:text",
          "required": false
        }
      ],
      "description": "Renders plain text.  When any free text (not a tag or attribute value) is found in markup, an instance of this component is created with the value attribute set to the text found in the markup."
    },
    "lightning:quipCard": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "parentRecordId",
          "type": "string",
          "description": "ID of the Salesforce record to display the card for.",
          "access": "global",
          "parent": "lightning:quipCard",
          "required": true
        }
      ],
      "description": "Quip card"
    },
    "wave:assetLoaded": {
      "type": "event",
      "namespace": "wave",
      "attributes": [
        {
          "name": "id",
          "type": "string",
          "description": "The identifier of the Analytics asset which loaded.",
          "access": "global",
          "parent": "wave:assetLoaded",
          "required": true
        },
        {
          "name": "type",
          "type": "string",
          "description": "The type of the Analytics asset which loaded.",
          "access": "global",
          "parent": "wave:assetLoaded",
          "required": true
        }
      ],
      "description": "Analytics event triggered when an Analytics asset has finished loading."
    },
    "force:recordEdit": {
      "type": "component",
      "namespace": "force",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "recordId",
          "type": "string",
          "description": "The Id of the record to load.",
          "access": "global",
          "parent": "force:recordEdit",
          "required": false
        }
      ],
      "description": "Generates an editable view of the specified Salesforce record."
    },
    "ui:expand": {
      "type": "event",
      "namespace": "ui",
      "attributes": [],
      "description": "Indicates that a component is expanded."
    },
    "lightning:sendChatterExtensionPayload": {
      "type": "event",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "extensionDescription",
          "type": "string",
          "description": "Description for the extension to be saved with the feed item",
          "access": "global",
          "parent": "lightning:sendChatterExtensionPayload",
          "required": true
        },
        {
          "name": "extensionThumbnailUrl",
          "type": "string",
          "description": "thumbnailUrl for the extension to be saved with the feedItem",
          "access": "global",
          "parent": "lightning:sendChatterExtensionPayload",
          "required": false
        },
        {
          "name": "extensionTitle",
          "type": "string",
          "description": "Title for the extension to be saved with the feed item.",
          "access": "global",
          "parent": "lightning:sendChatterExtensionPayload",
          "required": true
        },
        {
          "name": "payload",
          "type": "object",
          "description": "Payload data to be saved with the feed item.",
          "access": "global",
          "parent": "lightning:sendChatterExtensionPayload",
          "required": true
        }
      ],
      "description": "For Chatter Rich Publisher Apps only. Sends the payload and metadata that needs to be saved for the extension with the feed item."
    },
    "force:refreshView": {
      "type": "event",
      "namespace": "force",
      "attributes": [],
      "description": null
    },
    "flexipage:availableForRecordHome": {
      "type": "interface",
      "namespace": "flexipage",
      "attributes": [],
      "description": "Able to be used inside a Record Home Lightning App Builder page"
    },
    "force:outputField": {
      "type": "component",
      "namespace": "force",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS style to be attached to the component. This style is added in addition to base styles output by the component.",
          "access": "global",
          "parent": "force:field",
          "required": false
        },
        {
          "name": "value",
          "type": "object",
          "description": "Data value of Salesforce field to which to bind.",
          "access": "global",
          "parent": "force:field",
          "required": false
        }
      ],
      "description": "A component that provides a concrete type-specific output component implementation based on the data to which it is bound."
    },
    "forceChatter:postCreated": {
      "type": "event",
      "namespace": "forceChatter",
      "attributes": [
        {
          "name": "feedItemId",
          "type": "string",
          "description": "The id of the feed item that has been created",
          "access": "global",
          "parent": "forceChatter:postCreated",
          "required": false
        }
      ],
      "description": "Fired when a post is made"
    },
    "lightning:formattedDateTime": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "day",
          "type": "string",
          "description": "Allowed values are numeric or 2-digit.",
          "access": "global",
          "parent": "lightning:formattedDateTime",
          "required": false
        },
        {
          "name": "era",
          "type": "string",
          "description": "Allowed values are narrow, short, or long.",
          "access": "global",
          "parent": "lightning:formattedDateTime",
          "required": false
        },
        {
          "name": "hour",
          "type": "string",
          "description": "Allowed values are numeric or 2-digit.",
          "access": "global",
          "parent": "lightning:formattedDateTime",
          "required": false
        },
        {
          "name": "hour12",
          "type": "boolean",
          "description": "Determines whether time is displayed as 12-hour. If false, time displays as 24-hour. The default setting is determined by the user's locale.",
          "access": "global",
          "parent": "lightning:formattedDateTime",
          "required": false
        },
        {
          "name": "minute",
          "type": "string",
          "description": "Allowed values are numeric or 2-digit.",
          "access": "global",
          "parent": "lightning:formattedDateTime",
          "required": false
        },
        {
          "name": "month",
          "type": "string",
          "description": "Allowed values are 2-digit, narrow, short, or long.",
          "access": "global",
          "parent": "lightning:formattedDateTime",
          "required": false
        },
        {
          "name": "second",
          "type": "string",
          "description": "Allowed values are numeric or 2-digit.",
          "access": "global",
          "parent": "lightning:formattedDateTime",
          "required": false
        },
        {
          "name": "timeZone",
          "type": "string",
          "description": "The time zone to display. Use this attribute only if you want to override the default, which is the runtime environment's time zone. Specify a time zone listed in the IANA time zone database (https://www.iana.org/time-zones). For example, set the value to 'Pacific/Honolulu' to display Hawaii time. The short code UTC is also accepted.",
          "access": "global",
          "parent": "lightning:formattedDateTime",
          "required": false
        },
        {
          "name": "timeZoneName",
          "type": "string",
          "description": "Display style of the time zone. Allowed values are short or long. For example, the Pacific time zone displays as 'PST' if you specify 'short', or 'Pacific Standard Time' if you specify 'long.'",
          "access": "global",
          "parent": "lightning:formattedDateTime",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "value",
          "type": "object",
          "description": "The value to be formatted, which can be a Date object, timestamp, or an ISO8601 formatted string.",
          "access": "global",
          "parent": "lightning:formattedDateTime",
          "required": true
        },
        {
          "name": "weekday",
          "type": "string",
          "description": "Specifies how to display the day of the week. Allowed values are narrow, short, or long.",
          "access": "global",
          "parent": "lightning:formattedDateTime",
          "required": false
        },
        {
          "name": "year",
          "type": "string",
          "description": "Allowed values are numeric or 2-digit.",
          "access": "global",
          "parent": "lightning:formattedDateTime",
          "required": false
        }
      ],
      "description": "Displays formatted date and time."
    },
    "lightning:omniChannelWorkAccepted": {
      "type": "event",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "workId",
          "type": "string",
          "description": "The ID of a work assignment that’s routed to an agent.",
          "access": "global",
          "parent": "lightning:omniChannelWorkAccepted",
          "required": true
        },
        {
          "name": "workItemId",
          "type": "string",
          "description": "The ID of the object that’s routed through Omni-Channel.",
          "access": "global",
          "parent": "lightning:omniChannelWorkAccepted",
          "required": true
        }
      ],
      "description": "Fired when a user accepts a work assignment, or when a work assignment is automatically accepted."
    },
    "aura:if": {
      "type": "component",
      "namespace": "aura",
      "attributes": [
        {
          "name": "body",
          "type": "componentdefref[]",
          "description": "The components to render when isTrue evaluates to true.",
          "access": "global",
          "parent": "aura:if",
          "required": true
        },
        {
          "name": "else",
          "type": "componentdefref[]",
          "description": "The alternative to render when isTrue evaluates to false, and the body is not rendered.  Should always be set using the aura:set tag.",
          "access": "global",
          "parent": "aura:if",
          "required": false
        },
        {
          "name": "isTrue",
          "type": "boolean",
          "description": "An expression that must be fulfilled in order to display the body.",
          "access": "global",
          "parent": "aura:if",
          "required": true
        }
      ],
      "description": "Conditionally instantiates and renders either the body or the components in the else attribute."
    },
    "wave:update": {
      "type": "event",
      "namespace": "wave",
      "attributes": [
        {
          "name": "devName",
          "type": "string",
          "description": "The fully qualified dev name for the Analytics Asset.",
          "access": "global",
          "parent": "wave:update",
          "required": false
        },
        {
          "name": "id",
          "type": "string",
          "description": "The identifier for the Analytics asset, in the form of a standard 18-character ID.",
          "access": "global",
          "parent": "wave:update",
          "required": true
        },
        {
          "name": "type",
          "type": "string",
          "description": "The type of the Analytics asset. Currently, only dashboard is supported.",
          "access": "global",
          "parent": "wave:update",
          "required": true
        },
        {
          "name": "value",
          "type": "string",
          "description": "The JSON representing the filter or selection to be applied to the asset.",
          "access": "global",
          "parent": "wave:update",
          "required": true
        }
      ],
      "description": "Event that updates the Analtyics asset with the specified filter or selection."
    },
    "force:canvasApp": {
      "type": "component",
      "namespace": "force",
      "attributes": [
        {
          "name": "applicationName",
          "type": "string",
          "description": "Name or label of the canvas app. Used to display the app's name while Canvas is loading.",
          "access": "global",
          "parent": "force:canvasApp",
          "required": false
        },
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "border",
          "type": "string",
          "description": "Width of the canvas app border, in pixels. If not specified, defaults to 0 px.",
          "access": "global",
          "parent": "force:canvasApp",
          "required": false
        },
        {
          "name": "canvasId",
          "type": "string",
          "description": "An unique label within a page for the Canvas app window. This should be used when targeting events to this canvas app.",
          "access": "global",
          "parent": "force:canvasApp",
          "required": false
        },
        {
          "name": "containerId",
          "type": "string",
          "description": "An html element id in which canvas app is rendered. The container needs to be defined before canvasApp cmp usage.",
          "access": "global",
          "parent": "force:canvasApp",
          "required": false
        },
        {
          "name": "developerName",
          "type": "string",
          "description": "API name of the canvas app. This name is defined when the canvas app is created and can be viewed in the Canvas App Previewer. Either developerName or referenceId is required.",
          "access": "global",
          "parent": "force:canvasApp",
          "required": false
        },
        {
          "name": "displayLocation",
          "type": "string",
          "description": "The location in the application where the canvas app is currently being called from.",
          "access": "global",
          "parent": "force:canvasApp",
          "required": false
        },
        {
          "name": "height",
          "type": "string",
          "description": "Canvas app window height, in pixels. If not specified, defaults to 900 px.",
          "access": "global",
          "parent": "force:canvasApp",
          "required": false
        },
        {
          "name": "maxHeight",
          "type": "string",
          "description": "The maximum height of the Canvas app window in pixels. Defaults to 2000 px; 'infinite' is also a valid value.",
          "access": "global",
          "parent": "force:canvasApp",
          "required": false
        },
        {
          "name": "maxWidth",
          "type": "string",
          "description": "The maximum width of the Canvas app window in pixels. Defaults to 1000 px; 'infinite' is also a valid value.",
          "access": "global",
          "parent": "force:canvasApp",
          "required": false
        },
        {
          "name": "namespacePrefix",
          "type": "string",
          "description": "Namespace value of the Developer Edition organization in which the canvas app was created. Optional if the canvas app wasn’t created in a Developer Edition organization. If not specified, defaults to null.",
          "access": "global",
          "parent": "force:canvasApp",
          "required": false
        },
        {
          "name": "onCanvasAppError",
          "type": "string",
          "description": "The action triggered if the canvas app fails to render.",
          "access": "global",
          "parent": "force:canvasApp",
          "required": false
        },
        {
          "name": "onCanvasAppLoad",
          "type": "string",
          "description": "The action triggered when the canvas app loads.",
          "access": "global",
          "parent": "force:canvasApp",
          "required": false
        },
        {
          "name": "onCanvasSubscribed",
          "type": "string",
          "description": "The action triggered after the canvas app registers with the parent.",
          "access": "global",
          "parent": "force:canvasApp",
          "required": false
        },
        {
          "name": "parameters",
          "type": "string",
          "description": "Object representation of parameters passed to the canvas app. This should be supplied in JSON format or as a JavaScript object literal. Here’s an example of parameters in a JavaScript object literal: {param1:'value1',param2:'value2'}. If not specified, defaults to null.",
          "access": "global",
          "parent": "force:canvasApp",
          "required": false
        },
        {
          "name": "referenceId",
          "type": "string",
          "description": "The referenceId attribute is deprecated. Use developerName instead.",
          "access": "global",
          "parent": "force:canvasApp",
          "required": false
        },
        {
          "name": "scrolling",
          "type": "string",
          "description": "Canvas window scrolling",
          "access": "global",
          "parent": "force:canvasApp",
          "required": false
        },
        {
          "name": "sublocation",
          "type": "string",
          "description": "The sublocation is the location in the application where the canvas app is currently being called from, for ex, displayLocation can be PageLayout and sublocation can be S1MobileCardPreview or S1MobileCardFullview, etc",
          "access": "global",
          "parent": "force:canvasApp",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "Title for the link",
          "access": "global",
          "parent": "force:canvasApp",
          "required": false
        },
        {
          "name": "watermark",
          "type": "boolean",
          "description": "Renders a link if set to true",
          "access": "global",
          "parent": "force:canvasApp",
          "required": false
        },
        {
          "name": "width",
          "type": "string",
          "description": "Canvas app window width, in pixels. If not specified, defaults to 800 px.",
          "access": "global",
          "parent": "force:canvasApp",
          "required": false
        }
      ],
      "description": "Enables you to include a Force.com Canvas app in a Lightning component."
    },
    "lightning:menuItem": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "accesskey",
          "type": "string",
          "description": "Specifies a shortcut key to activate or focus an element.",
          "access": "global",
          "parent": "lightning:focusable",
          "required": false
        },
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "checked",
          "type": "boolean",
          "description": "If not specified, the menu item is not checkable. If true, a check mark is shown to the left of the menu item. If false, a check mark is not shown but there is space to accommodate one.",
          "access": "global",
          "parent": "lightning:menuItem",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "disabled",
          "type": "boolean",
          "description": "If true, the menu item is not actionable and is shown as disabled.",
          "access": "global",
          "parent": "lightning:menuItem",
          "required": false
        },
        {
          "name": "download",
          "type": "string",
          "description": "The name of a file that's downloaded when clicking a link in the menu item. Used with the href attribute. ",
          "access": "global",
          "parent": "lightning:menuItem",
          "required": false
        },
        {
          "name": "draftAlternativeText",
          "type": "string",
          "description": "Describes the reason for showing the draft indicator. This is required when the isDraft attribute is true",
          "access": "global",
          "parent": "lightning:menuItem",
          "required": false
        },
        {
          "name": "href",
          "type": "string",
          "description": "URL for a link to use for the menu item.",
          "access": "global",
          "parent": "lightning:menuItem",
          "required": false
        },
        {
          "name": "iconName",
          "type": "string",
          "description": "The name of an icon to display after the text of the menu item.",
          "access": "global",
          "parent": "lightning:menuItem",
          "required": false
        },
        {
          "name": "isDraft",
          "type": "boolean",
          "description": "If true, the menu item shows a draft indicator. This value defaults to false.",
          "access": "global",
          "parent": "lightning:menuItem",
          "required": false
        },
        {
          "name": "label",
          "type": "string",
          "description": "Text of the menu item.",
          "access": "global",
          "parent": "lightning:menuItem",
          "required": false
        },
        {
          "name": "onactive",
          "type": "action",
          "description": "DEPRECATED. The action triggered when this menu item is selected.",
          "access": "global",
          "parent": "lightning:menuItem",
          "required": false
        },
        {
          "name": "onblur",
          "type": "action",
          "description": "The action triggered when the element releases focus.",
          "access": "global",
          "parent": "lightning:focusable",
          "required": false
        },
        {
          "name": "onfocus",
          "type": "action",
          "description": "The action triggered when the element receives focus.",
          "access": "global",
          "parent": "lightning:focusable",
          "required": false
        },
        {
          "name": "prefixIconName",
          "type": "string",
          "description": "The name of an icon to display before the text of the menu item.",
          "access": "global",
          "parent": "lightning:menuItem",
          "required": false
        },
        {
          "name": "tabindex",
          "type": "integer",
          "description": "Specifies the tab order of an element when the Tab key is used for navigating. The tabindex value can be set to 0 or -1. The default is 0, which means that the component is focusable and participates in sequential keyboard navigation. -1 means that the component is focusable but does not participate in keyboard navigation.",
          "access": "global",
          "parent": "lightning:focusable",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "value",
          "type": "string",
          "description": "A value associated with the menu item.",
          "access": "global",
          "parent": "lightning:menuItem",
          "required": false
        }
      ],
      "description": "Represents a list item in a menu."
    },
    "lightning:recordEditForm": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:recordEditForm",
          "required": false
        },
        {
          "name": "density",
          "type": "string",
          "description": "Sets the arrangement style of fields and labels in the form.  Accepted values are compact, comfy, and auto (default). Use compact to display fields and their labels on the same line. Use comfy to display fields below their labels. Use auto to let the component dynamically set the density according to the user's Display Density setting and the width of the form.",
          "access": "global",
          "parent": "lightning:recordEditForm",
          "required": false
        },
        {
          "name": "objectApiName",
          "type": "string",
          "description": "The API name of the object.",
          "access": "global",
          "parent": "lightning:recordEditForm",
          "required": true
        },
        {
          "name": "onerror",
          "type": "action",
          "description": "The action triggered when there is an error on form submission.",
          "access": "global",
          "parent": "lightning:recordEditForm",
          "required": false
        },
        {
          "name": "onload",
          "type": "action",
          "description": "The action triggered when the form data is loaded.",
          "access": "global",
          "parent": "lightning:recordEditForm",
          "required": false
        },
        {
          "name": "onsubmit",
          "type": "action",
          "description": "The action triggered when the form is submitted. The form can be submitted only after it's loaded.",
          "access": "global",
          "parent": "lightning:recordEditForm",
          "required": false
        },
        {
          "name": "onsuccess",
          "type": "action",
          "description": "The action triggered when the form is saved.",
          "access": "global",
          "parent": "lightning:recordEditForm",
          "required": false
        },
        {
          "name": "recordId",
          "type": "string",
          "description": "The ID of the record to be displayed.",
          "access": "global",
          "parent": "lightning:recordEditForm",
          "required": false
        },
        {
          "name": "recordTypeId",
          "type": "string",
          "description": "The ID of the record type, which is required if you created multiple record types but don't have a default.",
          "access": "global",
          "parent": "lightning:recordEditForm",
          "required": false
        }
      ],
      "description": "Represents a record edit layout that displays one or more fields, provided by lightning:outputField. This component requires API version 41.0 and later."
    },
    "lightning:progressRing": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "direction",
          "type": "string",
          "description": "Controls which way the color flows from the top of the ring, either clockwise or counterclockwise. Valid values include fill and drain. The fill value corresponds to a color flow in the clockwise direction. The drain value indicates a color flow in the counterclockwise direction.",
          "access": "global",
          "parent": "lightning:progressRing",
          "required": false
        },
        {
          "name": "size",
          "type": "string",
          "description": "The size of the progress ring. Valid values include medium and large.",
          "access": "global",
          "parent": "lightning:progressRing",
          "required": false
        },
        {
          "name": "value",
          "type": "integer",
          "description": "The percentage value of the progress ring. The value must be a number from 0 to 100. A value of 50 corresponds to a color fill of half the ring in a clockwise or counterclockwise direction, depending on the direction attribute.",
          "access": "global",
          "parent": "lightning:progressRing",
          "required": false
        },
        {
          "name": "variant",
          "type": "string",
          "description": "Changes the appearance of the progress ring. Accepted variants include base, active-step, warning, expired, and base-autocomplete.",
          "access": "global",
          "parent": "lightning:progressRing",
          "required": false
        }
      ],
      "description": "Displays a circular progress indicator to provide feedback about an action or process. This component requires API version 48.0 and later."
    },
    "lightning:textarea": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "accesskey",
          "type": "string",
          "description": "Specifies a shortcut key to activate or focus an element.",
          "access": "global",
          "parent": "lightning:focusable",
          "required": false
        },
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "disabled",
          "type": "boolean",
          "description": "Specifies that an input element should be disabled. This value defaults to false.",
          "access": "global",
          "parent": "lightning:inputable",
          "required": false
        },
        {
          "name": "label",
          "type": "string",
          "description": "Text that describes the desired textarea input.",
          "access": "global",
          "parent": "lightning:textarea",
          "required": true
        },
        {
          "name": "maxlength",
          "type": "integer",
          "description": "The maximum number of characters allowed in the textarea.",
          "access": "global",
          "parent": "lightning:textarea",
          "required": false
        },
        {
          "name": "messageWhenBadInput",
          "type": "string",
          "description": "Error message to be displayed when a bad input is detected.",
          "access": "global",
          "parent": "lightning:textarea",
          "required": false
        },
        {
          "name": "messageWhenTooLong",
          "type": "string",
          "description": "Error message to be displayed when the value is too long.",
          "access": "global",
          "parent": "lightning:textarea",
          "required": false
        },
        {
          "name": "messageWhenTooShort",
          "type": "string",
          "description": "Error message to be displayed when the value is too short.",
          "access": "global",
          "parent": "lightning:textarea",
          "required": false
        },
        {
          "name": "messageWhenValueMissing",
          "type": "string",
          "description": "Error message to be displayed when the value is missing.",
          "access": "global",
          "parent": "lightning:textarea",
          "required": false
        },
        {
          "name": "minlength",
          "type": "integer",
          "description": "The minimum number of characters allowed in the textarea.",
          "access": "global",
          "parent": "lightning:textarea",
          "required": false
        },
        {
          "name": "name",
          "type": "string",
          "description": "Specifies the name of an input element.",
          "access": "global",
          "parent": "lightning:inputable",
          "required": false
        },
        {
          "name": "onblur",
          "type": "action",
          "description": "The action triggered when the element releases focus.",
          "access": "global",
          "parent": "lightning:focusable",
          "required": false
        },
        {
          "name": "onchange",
          "type": "action",
          "description": "The action triggered when a value attribute changes.",
          "access": "global",
          "parent": "lightning:inputable",
          "required": false
        },
        {
          "name": "onfocus",
          "type": "action",
          "description": "The action triggered when the element receives focus.",
          "access": "global",
          "parent": "lightning:focusable",
          "required": false
        },
        {
          "name": "placeholder",
          "type": "string",
          "description": "Text that is displayed when the field is empty, to prompt the user for a valid entry.",
          "access": "global",
          "parent": "lightning:textarea",
          "required": false
        },
        {
          "name": "readonly",
          "type": "boolean",
          "description": "Specifies that an input field is read-only. This value defaults to false.",
          "access": "global",
          "parent": "lightning:inputable",
          "required": false
        },
        {
          "name": "required",
          "type": "boolean",
          "description": "Specifies that an input field must be filled out before submitting the form. This value defaults to false.",
          "access": "global",
          "parent": "lightning:inputable",
          "required": false
        },
        {
          "name": "tabindex",
          "type": "integer",
          "description": "Specifies the tab order of an element when the Tab key is used for navigating. The tabindex value can be set to 0 or -1. The default is 0, which means that the component is focusable and participates in sequential keyboard navigation. -1 means that the component is focusable but does not participate in keyboard navigation.",
          "access": "global",
          "parent": "lightning:focusable",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "validity",
          "type": "object",
          "description": "Represents the validity states that an element can be in, with respect to constraint validation.",
          "access": "global",
          "parent": "lightning:inputable",
          "required": false
        },
        {
          "name": "value",
          "type": "string",
          "description": "The value of the textarea, also used as the default value during init.",
          "access": "global",
          "parent": "lightning:textarea",
          "required": false
        },
        {
          "name": "variant",
          "type": "string",
          "description": "The variant changes the appearance of an input field. Accepted variants include standard, label-inline, label-hidden, and label-stacked. This value defaults to standard, which displays the label above the field. Use label-hidden to hide the label but make it available to assistive technology. Use label-inline to horizontally align the label and input field. Use label-stacked to place the label above the input field.",
          "access": "global",
          "parent": "lightning:inputable",
          "required": false
        }
      ],
      "description": "Represents a multiline text input."
    },
    "ltng:require": {
      "type": "component",
      "namespace": "ltng",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "scripts",
          "type": "string[]",
          "description": "The set of scripts to load in the specified order.",
          "access": "global",
          "parent": "ltng:require",
          "required": false
        },
        {
          "name": "styles",
          "type": "string[]",
          "description": "The set of style sheets to load in the specified order.",
          "access": "global",
          "parent": "ltng:require",
          "required": false
        }
      ],
      "description": "Loads scripts and stylesheets while maintaining dependency order."
    },
    "aura:iteration": {
      "type": "component",
      "namespace": "aura",
      "attributes": [
        {
          "name": "body",
          "type": "componentdefref[]",
          "description": "Template to use when creating components for each iteration.",
          "access": "global",
          "parent": "aura:iteration",
          "required": true
        },
        {
          "name": "end",
          "type": "integer",
          "description": "The index of the collection to stop at (exclusive)",
          "access": "global",
          "parent": "aura:iteration",
          "required": false
        },
        {
          "name": "indexVar",
          "type": "string",
          "description": "The name of variable to use for the index of each item inside the iteration",
          "access": "global",
          "parent": "aura:iteration",
          "required": false
        },
        {
          "name": "items",
          "type": "list",
          "description": "The collection of data to iterate over",
          "access": "global",
          "parent": "aura:iteration",
          "required": true
        },
        {
          "name": "loaded",
          "type": "boolean",
          "description": "True if the iteration has finished loading the set of templates.",
          "access": "global",
          "parent": "aura:iteration",
          "required": false
        },
        {
          "name": "start",
          "type": "integer",
          "description": "The index of the collection to start at (inclusive)",
          "access": "global",
          "parent": "aura:iteration",
          "required": false
        },
        {
          "name": "template",
          "type": "componentdefref[]",
          "description": "The template that is used to generate components. By default, this is set from the body markup on first load.",
          "access": "global",
          "parent": "aura:iteration",
          "required": false
        },
        {
          "name": "var",
          "type": "string",
          "description": "The name of the variable to use for each item inside the iteration",
          "access": "global",
          "parent": "aura:iteration",
          "required": true
        }
      ],
      "description": "Renders a view of a collection of items. Supports iterations containing components that can be created exclusively on the client-side."
    },
    "lightning:flexipageRegionInfo": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "width",
          "type": "string",
          "description": "The width of the region that the component resides in.",
          "access": "global",
          "parent": "lightning:flexipageRegionInfo",
          "required": false
        }
      ],
      "description": "Provides Lightning page region information to the component that contains it."
    },
    "ltng:selectSObject": {
      "type": "event",
      "namespace": "ltng",
      "attributes": [
        {
          "name": "channel",
          "type": "string",
          "description": "Represents the channel name. Specify this attribute if you want particular components to process some event messages while ignoring others.",
          "access": "global",
          "parent": "ltng:selectSObject",
          "required": false
        },
        {
          "name": "recordId",
          "type": "string",
          "description": "The record ID associated with the record to select.",
          "access": "global",
          "parent": "ltng:selectSObject",
          "required": true
        }
      ],
      "description": "Sends recordId when an object was selected in the UI"
    },
    "ui:outputText": {
      "type": "component",
      "namespace": "ui",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS style to be attached to the component. This style is added in addition to base styles output by the component.",
          "access": "global",
          "parent": "ui:visible",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays extra information as hover text.",
          "access": "global",
          "parent": "ui:outputText",
          "required": false
        },
        {
          "name": "value",
          "type": "string",
          "description": "The text displayed when this component is rendered.",
          "access": "global",
          "parent": "ui:outputText",
          "required": true
        }
      ],
      "description": "Deprecated as of API version 47.0. Use lightning:formattedText instead."
    },
    "wave:sdk": {
      "type": "component",
      "namespace": "wave",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        }
      ],
      "description": "Use this component to add access to the Salesforce Einstein Analytics SDK in a Lightning Experience page."
    },
    "force:recordData": {
      "type": "component",
      "namespace": "force",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "fields",
          "type": "string[]",
          "description": "Specifies which of the record's fields to query.",
          "access": "global",
          "parent": "force:recordProviderInput",
          "required": false
        },
        {
          "name": "layoutType",
          "type": "string",
          "description": "Name of the layout to query, which determines the fields included. Valid values are FULL or COMPACT. The layoutType and/or fields attribute must be specified.",
          "access": "global",
          "parent": "force:recordProviderInput",
          "required": false
        },
        {
          "name": "mode",
          "type": "string",
          "description": "The mode in which to load the record: VIEW (default) or EDIT.",
          "access": "global",
          "parent": "force:recordProviderInput",
          "required": false
        },
        {
          "name": "recordId",
          "type": "string",
          "description": "The record Id",
          "access": "global",
          "parent": "force:hasRecordId",
          "required": false
        },
        {
          "name": "targetError",
          "type": "string",
          "description": "Will be set to the localized error message if the record can't be provided.",
          "access": "global",
          "parent": "force:recordProvider",
          "required": false
        },
        {
          "name": "targetFields",
          "type": "object",
          "description": "A simplified view of the fields in targetRecord, to reference record fields in component markup.",
          "access": "global",
          "parent": "force:recordProvider",
          "required": false
        },
        {
          "name": "targetRecord",
          "type": "object",
          "description": "The provided record. This attribute will contain only the fields relevant to the requested layoutType and/or fields atributes.",
          "access": "global",
          "parent": "force:recordProvider",
          "required": false
        }
      ],
      "description": "Provides the ability to create, read, update, and delete Salesforce records in Lightning."
    },
    "forceCommunity:routeLink": {
      "type": "component",
      "namespace": "forceCommunity",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the anchor tag.",
          "access": "global",
          "parent": "forceCommunity:routeLink",
          "required": false
        },
        {
          "name": "id",
          "type": "string",
          "description": "The ID of the anchor tag.",
          "access": "global",
          "parent": "forceCommunity:routeLink",
          "required": false
        },
        {
          "name": "label",
          "type": "string",
          "description": "The text displayed in the link.",
          "access": "global",
          "parent": "forceCommunity:routeLink",
          "required": false
        },
        {
          "name": "onClick",
          "type": "action",
          "description": "Action to trigger when the anchor is clicked.",
          "access": "global",
          "parent": "forceCommunity:routeLink",
          "required": false
        },
        {
          "name": "routeInput",
          "type": "map",
          "description": "The map of dynamic parameters that create the link. Only recordId-based routes are supported.",
          "access": "global",
          "parent": "forceCommunity:routeLink",
          "required": true
        },
        {
          "name": "title",
          "type": "string",
          "description": "The text to display for the link tooltip.",
          "access": "global",
          "parent": "forceCommunity:routeLink",
          "required": false
        }
      ],
      "description": "Sets an HTML anchor tag with an href attribute that’s automatically generated from the provided record ID. Use it to improve SEO link equity in template-based communities."
    },
    "lightning:recordHomeTemplate": {
      "type": "interface",
      "namespace": "lightning",
      "attributes": [],
      "description": "Indicates the component can be used as a flexipage page template for the RECORD_PAGE page type"
    },
    "ui:menuFocusChange": {
      "type": "event",
      "namespace": "ui",
      "attributes": [
        {
          "name": "currentItem",
          "type": "component[]",
          "description": "The menu item that's currently focused.",
          "access": "global",
          "parent": "ui:menuFocusChange",
          "required": false
        },
        {
          "name": "previousItem",
          "type": "component[]",
          "description": "The menu item that's previously focused.",
          "access": "global",
          "parent": "ui:menuFocusChange",
          "required": false
        }
      ],
      "description": "Deprecated as of API version 47.0. Use lightning:buttonMenu instead."
    },
    "lightning:insertImageButton": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        }
      ],
      "description": "Button to insert an inline image in lightning:inputRichText. This component requires API version 43.0 and later."
    },
    "clients:availableForMailAppAppPage": {
      "type": "interface",
      "namespace": "clients",
      "attributes": [],
      "description": "Marker Interface that allows components to show up in the Lightning for Gmail or Lightning For Outlook Flexipages"
    },
    "lightning:icon": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "alternativeText",
          "type": "string",
          "description": "The alternative text used to describe the icon. This text should describe what happens when you click the button, for example 'Upload File', not what the icon looks like, 'Paperclip'.",
          "access": "global",
          "parent": "lightning:icon",
          "required": false
        },
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "iconName",
          "type": "string",
          "description": "The Lightning Design System name of the icon. Names are written in the format 'utility:down' where 'utility' is the category, and 'down' is the specific icon to be displayed.",
          "access": "global",
          "parent": "lightning:icon",
          "required": true
        },
        {
          "name": "size",
          "type": "string",
          "description": "The size of the icon. Options include xx-small, x-small, small, medium, or large. This value defaults to medium.",
          "access": "global",
          "parent": "lightning:icon",
          "required": false
        },
        {
          "name": "src",
          "type": "string",
          "description": "A uri path to a custom svg sprite, including the name of the resouce, for example: /assets/icons/standard-sprite/svg/test.svg#icon-heart",
          "access": "global",
          "parent": "lightning:icon",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "variant",
          "type": "string",
          "description": "The variant changes the appearance of a utility icon. Accepted variants include inverse, success, warning, and error. Use the inverse variant to implement a white fill in utility icons on dark backgrounds.",
          "access": "global",
          "parent": "lightning:icon",
          "required": false
        }
      ],
      "description": "Represents a visual element that provides context and enhances usability."
    },
    "ui:clearErrors": {
      "type": "event",
      "namespace": "ui",
      "attributes": [],
      "description": "Indicates that validation errors are cleared."
    },
    "force:hasSObjectName": {
      "type": "interface",
      "namespace": "force",
      "attributes": [
        {
          "name": "sObjectName",
          "type": "string",
          "description": "sObject name",
          "access": "global",
          "parent": "force:hasSObjectName",
          "required": false
        }
      ],
      "description": "This interface is used to indicate that a component has SObject name attribute"
    },
    "lightning:unsavedChanges": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "label",
          "type": "string",
          "description": "Label for the unsaved content which appears in prompt for save or discard",
          "access": "global",
          "parent": "lightning:unsavedChanges",
          "required": false
        },
        {
          "name": "ondiscard",
          "type": "action",
          "description": "Action to handle discarding unsaved content",
          "access": "global",
          "parent": "lightning:unsavedChanges",
          "required": false
        },
        {
          "name": "onsave",
          "type": "action",
          "description": "Action to handle saving unsaved content",
          "access": "global",
          "parent": "lightning:unsavedChanges",
          "required": false
        }
      ],
      "description": "A component that can be used to notify the UI containment hierarchy of unsaved changes"
    },
    "lightning:buttonIconStateful": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "accesskey",
          "type": "string",
          "description": "Specifies a shortcut key to activate or focus an element.",
          "access": "global",
          "parent": "lightning:focusable",
          "required": false
        },
        {
          "name": "alternativeText",
          "type": "string",
          "description": "The alternative text used to describe the icon. This text should describe what happens when you click the button, for example 'Upload File', not what the icon looks like, 'Paperclip'.",
          "access": "global",
          "parent": "lightning:buttonIconStateful",
          "required": true
        },
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "disabled",
          "type": "boolean",
          "description": "Specifies whether this button should be displayed in a disabled state. Disabled buttons can't be clicked. This value defaults to false.",
          "access": "global",
          "parent": "lightning:buttonIconStateful",
          "required": false
        },
        {
          "name": "iconName",
          "type": "string",
          "description": "The Lightning Design System name of the icon. Names are written in the format 'utility:down' where 'utility' is the category, and 'down' is the specific icon to be displayed. Note: Only utility icons can be used in this component.",
          "access": "global",
          "parent": "lightning:buttonIconStateful",
          "required": true
        },
        {
          "name": "name",
          "type": "string",
          "description": "The name for the button element. This value is optional and can be used to identify the button in a callback.",
          "access": "global",
          "parent": "lightning:buttonIconStateful",
          "required": false
        },
        {
          "name": "onblur",
          "type": "action",
          "description": "The action triggered when the element releases focus.",
          "access": "global",
          "parent": "lightning:focusable",
          "required": false
        },
        {
          "name": "onclick",
          "type": "action",
          "description": "The action that will be run when the button is clicked.",
          "access": "global",
          "parent": "lightning:buttonIconStateful",
          "required": false
        },
        {
          "name": "onfocus",
          "type": "action",
          "description": "The action triggered when the element receives focus.",
          "access": "global",
          "parent": "lightning:focusable",
          "required": false
        },
        {
          "name": "selected",
          "type": "boolean",
          "description": "Specifies whether button is in selected state or not",
          "access": "global",
          "parent": "lightning:buttonIconStateful",
          "required": false
        },
        {
          "name": "size",
          "type": "string",
          "description": "The size of the buttonIcon. Options include xx-small, x-small, small, and medium. This value defaults to medium.",
          "access": "global",
          "parent": "lightning:buttonIconStateful",
          "required": false
        },
        {
          "name": "tabindex",
          "type": "integer",
          "description": "Specifies the tab order of an element when the Tab key is used for navigating. The tabindex value can be set to 0 or -1. The default is 0, which means that the component is focusable and participates in sequential keyboard navigation. -1 means that the component is focusable but does not participate in keyboard navigation.",
          "access": "global",
          "parent": "lightning:focusable",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "value",
          "type": "string",
          "description": "The value for the button element. This value is optional and can be used when submitting a form.",
          "access": "global",
          "parent": "lightning:buttonIconStateful",
          "required": false
        },
        {
          "name": "variant",
          "type": "string",
          "description": "The variant changes the appearance of buttonIcon. Accepted variants include border, border-filled, and border-inverse. This value defaults to border.",
          "access": "global",
          "parent": "lightning:buttonIconStateful",
          "required": false
        }
      ],
      "description": "An icon-only button that retains state. This component requires API version 41.0 and later."
    },
    "lightning:tabFocused": {
      "type": "event",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "currentTabId",
          "type": "string",
          "description": "The currently focused tab ID.",
          "access": "global",
          "parent": "lightning:tabFocused",
          "required": true
        },
        {
          "name": "previousTabId",
          "type": "string",
          "description": "The previously focused tab ID.",
          "access": "global",
          "parent": "lightning:tabFocused",
          "required": false
        }
      ],
      "description": "Fires when a Console workspace or subtab is focused."
    },
    "ui:validationError": {
      "type": "event",
      "namespace": "ui",
      "attributes": [],
      "description": "Indicates that the component has validation error(s)."
    },
    "lightning:utilityBarAPI": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        }
      ],
      "description": "The public API for the Utility Bar."
    },
    "lightning:tabCreated": {
      "type": "event",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "tabId",
          "type": "string",
          "description": "The newly created tab ID.",
          "access": "global",
          "parent": "lightning:tabCreated",
          "required": true
        }
      ],
      "description": "Fires when a Console workspace or subtab has been successfully created."
    },
    "force:hasRecordId": {
      "type": "interface",
      "namespace": "force",
      "attributes": [
        {
          "name": "recordId",
          "type": "string",
          "description": "The record Id",
          "access": "global",
          "parent": "force:hasRecordId",
          "required": false
        }
      ],
      "description": "This interface is used to indicate that a component takes a record (SObject) as an attribute."
    },
    "lightning:slider": {
      "type": "component",
      "namespace": "lightning",
      "attributes": [
        {
          "name": "body",
          "type": "component[]",
          "description": "The body of the component. In markup, this is everything in the body of the tag.",
          "access": "global",
          "parent": "aura:component",
          "required": false
        },
        {
          "name": "class",
          "type": "string",
          "description": "A CSS class for the outer element, in addition to the component's base classes.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "disabled",
          "type": "boolean",
          "description": "The disabled value of the input range. This value default to false.",
          "access": "global",
          "parent": "lightning:slider",
          "required": false
        },
        {
          "name": "label",
          "type": "string",
          "description": "The text label for the input range. Provide your own label to describe the slider. Otherwise, no label is displayed.",
          "access": "global",
          "parent": "lightning:slider",
          "required": false
        },
        {
          "name": "max",
          "type": "integer",
          "description": "The max value of the input range. This value defaults to 100.",
          "access": "global",
          "parent": "lightning:slider",
          "required": false
        },
        {
          "name": "messageWhenBadInput",
          "type": "string",
          "description": "Error message to be displayed when a bad input is detected.",
          "access": "global",
          "parent": "lightning:slider",
          "required": false
        },
        {
          "name": "messageWhenPatternMismatch",
          "type": "string",
          "description": "Error message to be displayed when a pattern mismatch is detected.",
          "access": "global",
          "parent": "lightning:slider",
          "required": false
        },
        {
          "name": "messageWhenRangeOverflow",
          "type": "string",
          "description": "Error message to be displayed when a range overflow is detected.",
          "access": "global",
          "parent": "lightning:slider",
          "required": false
        },
        {
          "name": "messageWhenRangeUnderflow",
          "type": "string",
          "description": "Error message to be displayed when a range underflow is detected.",
          "access": "global",
          "parent": "lightning:slider",
          "required": false
        },
        {
          "name": "messageWhenStepMismatch",
          "type": "string",
          "description": "Error message to be displayed when a step mismatch is detected.",
          "access": "global",
          "parent": "lightning:slider",
          "required": false
        },
        {
          "name": "messageWhenTooLong",
          "type": "string",
          "description": "Error message to be displayed when the value is too long.",
          "access": "global",
          "parent": "lightning:slider",
          "required": false
        },
        {
          "name": "messageWhenTypeMismatch",
          "type": "string",
          "description": "Error message to be displayed when a type mismatch is detected.",
          "access": "global",
          "parent": "lightning:slider",
          "required": false
        },
        {
          "name": "messageWhenValueMissing",
          "type": "string",
          "description": "Error message to be displayed when the value is missing.",
          "access": "global",
          "parent": "lightning:slider",
          "required": false
        },
        {
          "name": "min",
          "type": "integer",
          "description": "The min value of the input range. This value defaults to 0.",
          "access": "global",
          "parent": "lightning:slider",
          "required": false
        },
        {
          "name": "onblur",
          "type": "action",
          "description": "The action triggered when the slider releases focus.",
          "access": "global",
          "parent": "lightning:slider",
          "required": false
        },
        {
          "name": "onchange",
          "type": "string",
          "description": "The action triggered when the slider value changes. You must pass any newly selected value back to the slider component to bind the new value to the slider.",
          "access": "global",
          "parent": "lightning:slider",
          "required": false
        },
        {
          "name": "onfocus",
          "type": "action",
          "description": "The action triggered when the slider receives focus.",
          "access": "global",
          "parent": "lightning:slider",
          "required": false
        },
        {
          "name": "size",
          "type": "string",
          "description": "The size value of the input range. This value default to empty, which is the base. Supports x-small, small, medium, and large.",
          "access": "global",
          "parent": "lightning:slider",
          "required": false
        },
        {
          "name": "step",
          "type": "string",
          "description": "The step increment value of the input range. Example steps include 0.1, 1, or 10. This value defaults to 1.",
          "access": "global",
          "parent": "lightning:slider",
          "required": false
        },
        {
          "name": "title",
          "type": "string",
          "description": "Displays tooltip text when the mouse moves over the element.",
          "access": "global",
          "parent": "lightning:common",
          "required": false
        },
        {
          "name": "type",
          "type": "string",
          "description": "The type of the input range position. This value defaults to horizontal.",
          "access": "global",
          "parent": "lightning:slider",
          "required": false
        },
        {
          "name": "value",
          "type": "integer",
          "description": "The numerical value of the input range. This value defaults to 0.",
          "access": "global",
          "parent": "lightning:slider",
          "required": false
        },
        {
          "name": "variant",
          "type": "string",
          "description": "The variant changes the appearance of the slider. Accepted variants include standard and label-hidden. This value defaults to standard.",
          "access": "global",
          "parent": "lightning:slider",
          "required": false
        }
      ],
      "description": "An input range slider for specifying a value between two specified numbers. This component requires API version 41.0 and later."
    }
  }