{
  "tag": "ed-dropdown-item",
  "kind": "component",
  "summary": "Represents an individual item within a dropdown menu, supporting standard items, checkboxes, radios, and submenus.",
  "status": "experimental",
  "level": "atom",
  "since": "1.0",
  "docs": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/dropdown-item/",
  "usage": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/dropdown-item/usage/",
  "playwright": "getByTestId('…')",
  "dependencies": [
    "ed-checkbox",
    "ed-radio",
    "ed-icon"
  ],
  "use": [
    "One command in an action menu, such as Duplicate or Delete invoice",
    "A menu entry the user switches on or off, such as showing archived items, as a checkbox item",
    "An entry that opens a submenu, such as Export with PDF and Excel inside",
    "An entry that links to another page or downloads a file"
  ],
  "notFor": [
    {
      "when": "Choosing a value to submit in a form",
      "instead": "an [Option](https://test-apps.eurodata.de/a/eurodata-ui/docs/components/option) inside a [Select](https://test-apps.eurodata.de/a/eurodata-ui/docs/components/select)"
    },
    {
      "when": "A standalone action that deserves its own visible button",
      "instead": "a [Button](https://test-apps.eurodata.de/a/eurodata-ui/docs/components/button)"
    }
  ],
  "rules": [],
  "api": {
    "attributes": [
      {
        "name": "value",
        "property": "value",
        "type": "string",
        "description": "An optional value for the menu item. This is useful for determining which item was selected when listening to the\ndropdown's `ed-dropdown-select` event."
      },
      {
        "name": "type",
        "property": "type",
        "type": "'checkbox' | 'radio' | 'normal'",
        "default": "'normal'",
        "description": "Set to `checkbox` to make the item a checkbox, or to `radio` to make it one of a set of which one is\nchosen: the radios between two dividers are a set, and choosing one unchecks the others."
      },
      {
        "name": "checked",
        "property": "checked",
        "type": "boolean",
        "default": "false",
        "description": "Set to true to check the dropdown item. Only valid when `type` is `checkbox` or `radio`."
      },
      {
        "name": "disabled",
        "property": "disabled",
        "type": "boolean",
        "default": "false",
        "description": "Disables the dropdown item."
      },
      {
        "name": "submenuOpen",
        "property": "submenuOpen",
        "type": "boolean",
        "default": "false",
        "description": "Whether the submenu is currently open."
      },
      {
        "name": "href",
        "property": "href",
        "type": "string",
        "description": "When set, choosing the item navigates to this URL. The item stays a menu item for assistive technology, so its\nlabel should say where it leads. Ignored when `type` is not `normal`, the item has a submenu, or the URL's\nscheme is not one of http, https, mailto and tel."
      },
      {
        "name": "target",
        "property": "target",
        "type": "string",
        "description": "Tells the browser where to open the link. Only used when `href` is present.\n\nTakes the `_blank`, `_self`, `_parent` and `_top` keywords, or the name of a window: a link\nwhose target names an already open window navigates that window instead of opening another one.\nNote that `rel=\"noopener\"` suppresses the lookup, so a named target then opens a new window\nevery time.\n\nThe implicit opener isolation browsers apply covers `_blank` only. A named target leaves\n`window.opener` set on the opened page, so a link pointing at untrusted content needs\n`rel=\"noopener\"` spelled out."
      },
      {
        "name": "rel",
        "property": "rel",
        "type": "string | undefined",
        "description": "When using `href`, this attribute will map to the underlying link's `rel` attribute."
      },
      {
        "name": "download",
        "property": "download",
        "type": "string | undefined",
        "description": "Tells the browser to download the linked file as this filename. Only used when `href` is present."
      },
      {
        "name": "dir",
        "property": "dir",
        "type": "string"
      },
      {
        "name": "lang",
        "property": "lang",
        "type": "string"
      }
    ],
    "properties": [],
    "methods": [
      {
        "name": "getPropertyDescriptor",
        "static": true,
        "parameters": [
          {
            "name": "name",
            "type": "PropertyKey"
          },
          {
            "name": "key",
            "type": "string | symbol"
          },
          {
            "name": "options",
            "type": "PropertyDeclaration"
          }
        ],
        "returns": "PropertyDescriptor | undefined",
        "description": "Wraps the accessor of reflected properties so they always hold a valid value, as a native\nreflected IDL attribute does (`button.type = undefined` reads `submit`):\n\n- A property that declares `useDefault` takes the first value set on an element for its\n  default. That value is its field initializer's: the constructor has finished before markup,\n  a framework or any other code can set anything. Every later `null` or `undefined` means what\n  a dropped prop means on a native element — the attribute is removed: with the attribute\n  there, it is removed and Lit's `useDefault` restores the default without writing it; without\n  one, the property is set to the default. A value set and cleared again before the element\n  updates still writes the default once, from the pending reflection.\n- A Boolean is coerced with `Boolean()`, so `undefined` is `false`.\n\nLit's `useDefault` keeps the initial default out of the DOM. Setting the default explicitly\nwrites it, as `button.type = 'submit'` writes `type`."
      }
    ],
    "events": [
      {
        "name": "blur",
        "react": "onBlur",
        "description": "Emitted when the dropdown item loses focus."
      },
      {
        "name": "focus",
        "react": "onFocus",
        "description": "Emitted when the dropdown item gains focus."
      }
    ],
    "slots": [
      {
        "name": "",
        "description": "The dropdown item's label."
      },
      {
        "name": "icon",
        "description": "An optional icon to display before the label."
      },
      {
        "name": "details",
        "description": "Additional content or details to display after the label."
      },
      {
        "name": "submenu",
        "description": "Submenu items, typically `<ed-dropdown-item>` elements, to create a nested menu. Fill it in the markup rather than appending to it later: the submenu and its indicator arrow are rendered only for an item that has one, so an item that starts without a submenu does not pick one up afterwards. Rendering them for every item instead would put an arrow on each one and an empty `role=\"menu\"` in the accessibility tree."
      }
    ],
    "cssProperties": [],
    "parts": [
      {
        "name": "checkbox",
        "description": "The checkbox indicator (an `<ed-checkbox>` element) when the item is a checkbox."
      },
      {
        "name": "radio",
        "description": "The radio indicator (an `<ed-radio>` element) when the item is a radio."
      },
      {
        "name": "icon",
        "description": "The container for the icon slot."
      },
      {
        "name": "label",
        "description": "The container for the label slot."
      },
      {
        "name": "details",
        "description": "The container for the details slot."
      },
      {
        "name": "submenu-icon",
        "description": "The submenu indicator icon (a `<ed-icon>` element)."
      },
      {
        "name": "submenu-icon__svg",
        "description": "The submenu indicator's exported `svg` part, the drawn arrow itself."
      },
      {
        "name": "submenu",
        "description": "The submenu container."
      },
      {
        "name": "link-icon",
        "description": "The forward icon (a `<ed-icon>` element) a link item shows after its details."
      }
    ],
    "states": [
      {
        "name": "link",
        "description": "Applied when the item navigates when chosen: `href` is set to a navigable URL, `type` is `normal` and it has no submenu."
      }
    ]
  },
  "import": "import '@eurodata/eurodata-ui/dist/components/dropdown-item/dropdown-item.js';",
  "react": {
    "component": "EdDropdownItem",
    "import": "import EdDropdownItem from '@eurodata/eurodata-ui/dist/react/dropdown-item/index.js';"
  }
}
