{
  "tag": "ed-mutation-observer",
  "kind": "component",
  "summary": "The Mutation Observer component offers a thin, declarative interface to the [`MutationObserver API`](https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver).",
  "status": "experimental",
  "since": "1.0",
  "docs": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/mutation-observer/",
  "usage": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/mutation-observer/usage/",
  "playwright": "getByTestId('…')",
  "dependencies": [],
  "use": [
    "Reacting when content inside a wrapped region is added, removed or changed, such as rows inserted into a list by other code",
    "Reacting when an attribute of a wrapped element changes, such as a state flag set by another script"
  ],
  "notFor": [
    {
      "when": "Tracking size changes of an element",
      "instead": "a [Resize Observer](https://test-apps.eurodata.de/a/eurodata-ui/docs/components/resize-observer)"
    },
    {
      "when": "Tracking whether an element is visible in the viewport",
      "instead": "an [Intersection Observer](https://test-apps.eurodata.de/a/eurodata-ui/docs/components/intersection-observer)"
    }
  ],
  "rules": [],
  "api": {
    "attributes": [
      {
        "name": "attr",
        "property": "attr",
        "type": "string",
        "description": "Watches for changes to attributes. To watch only specific attributes, separate them by a space, e.g.\n`attr=\"class id title\"`. To watch all attributes, use `*`."
      },
      {
        "name": "attr-old-value",
        "property": "attrOldValue",
        "type": "boolean",
        "default": "false",
        "description": "Indicates whether or not the attribute's previous value should be recorded when monitoring changes."
      },
      {
        "name": "char-data",
        "property": "charData",
        "type": "boolean",
        "default": "false",
        "description": "Watches for changes to the character data contained within the node."
      },
      {
        "name": "char-data-old-value",
        "property": "charDataOldValue",
        "type": "boolean",
        "default": "false",
        "description": "Indicates whether or not the previous value of the node's text should be recorded."
      },
      {
        "name": "child-list",
        "property": "childList",
        "type": "boolean",
        "default": "false",
        "description": "Watches for the addition or removal of new child nodes."
      },
      {
        "name": "disabled",
        "property": "disabled",
        "type": "boolean",
        "default": "false",
        "description": "Disables the observer."
      },
      {
        "name": "dir",
        "property": "dir",
        "type": "string"
      },
      {
        "name": "lang",
        "property": "lang",
        "type": "string"
      }
    ],
    "properties": [],
    "methods": [],
    "events": [
      {
        "name": "ed-mutation",
        "react": "onEdMutation",
        "type": "{ mutationList: MutationRecord[] }",
        "description": "Emitted when a mutation is observed. The event detail contains a `mutationList` array of [`MutationRecord`](https://developer.mozilla.org/en-US/docs/Web/API/MutationRecord) objects."
      }
    ],
    "slots": [
      {
        "name": "",
        "description": "The content to watch for mutations."
      }
    ],
    "cssProperties": [],
    "parts": [],
    "states": []
  },
  "import": "import '@eurodata/eurodata-ui/dist/components/mutation-observer/mutation-observer.js';",
  "react": {
    "component": "EdMutationObserver",
    "import": "import EdMutationObserver from '@eurodata/eurodata-ui/dist/react/mutation-observer/index.js';"
  }
}
