{
  "schemaVersion": "1.0.0",
  "readme": "",
  "modules": [
    {
      "kind": "javascript-module",
      "path": "src/defs-react.js",
      "declarations": [],
      "exports": []
    },
    {
      "kind": "javascript-module",
      "path": "src/defs.js",
      "declarations": [],
      "exports": []
    },
    {
      "kind": "javascript-module",
      "path": "src/index.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "PieList",
          "members": [],
          "mixins": [
            {
              "name": "RtlMixin",
              "package": "@justeattakeaway/pie-webc-core"
            }
          ],
          "superclass": {
            "name": "PieElement",
            "package": "@justeattakeaway/pie-webc-core/src/internals/PieElement"
          },
          "tagName": "pie-list",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "module": "src/defs"
          }
        },
        {
          "kind": "js",
          "name": "PieList",
          "declaration": {
            "name": "PieList",
            "module": "src/index.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/pie-list-item/defs-react.js",
      "declarations": [],
      "exports": []
    },
    {
      "kind": "javascript-module",
      "path": "src/pie-list-item/defs.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "interactionTypes",
          "type": {
            "text": "['none', 'radio', 'checkbox', 'switch', 'link', 'button']"
          },
          "default": "['none', 'radio', 'checkbox', 'switch', 'link', 'button']"
        },
        {
          "kind": "variable",
          "name": "defaultProps",
          "type": {
            "text": "DefaultProps"
          },
          "default": "{ isCompact: false, isBold: false, hasMedia: false, interactionType: 'none', disabled: false, hasDivider: false, }"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "interactionTypes",
          "declaration": {
            "name": "interactionTypes",
            "module": "src/pie-list-item/defs.js"
          }
        },
        {
          "kind": "js",
          "name": "defaultProps",
          "declaration": {
            "name": "defaultProps",
            "module": "src/pie-list-item/defs.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/pie-list-item/index.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "PieListItem",
          "slots": [
            {
              "description": "Content shown at the start of the item (for example an icon, avatar, or a slotted radio/checkbox).",
              "name": "leading"
            },
            {
              "description": "Content shown at the end of the item. Mutually exclusive with `metaText`.",
              "name": "trailing"
            },
            {
              "description": "Rendered only when `interactionType=\"link\"`. Slot one empty anchor (e.g. `<a slot=\"link\" href=\"/x\">`) stretched over the whole row as the link target. Must contain no text.",
              "name": "link"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "primaryText",
              "type": {
                "text": "ListItemProps['primaryText']"
              },
              "attribute": "primaryText"
            },
            {
              "kind": "field",
              "name": "secondaryText",
              "type": {
                "text": "ListItemProps['secondaryText']"
              },
              "attribute": "secondaryText"
            },
            {
              "kind": "field",
              "name": "metaText",
              "type": {
                "text": "ListItemProps['metaText']"
              },
              "attribute": "metaText"
            },
            {
              "kind": "field",
              "name": "isCompact",
              "attribute": "isCompact"
            },
            {
              "kind": "field",
              "name": "isBold",
              "attribute": "isBold"
            },
            {
              "kind": "field",
              "name": "hasMedia",
              "attribute": "hasMedia"
            },
            {
              "kind": "field",
              "name": "interactionType",
              "attribute": "interactionType"
            },
            {
              "kind": "field",
              "name": "disabled",
              "attribute": "disabled"
            },
            {
              "kind": "field",
              "name": "hasDivider",
              "attribute": "hasDivider"
            },
            {
              "kind": "field",
              "name": "aria",
              "type": {
                "text": "ListItemProps['aria']"
              },
              "attribute": "aria"
            },
            {
              "kind": "field",
              "name": "_parentDisabled",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "_ariaProvider",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_abortController",
              "type": {
                "text": "AbortController"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_managedRole",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "_linkAriaCaptured",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "_consumerNamedLink",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "_consumerDescribedLink",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "_isSelectable",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "_isLinkRow",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "_isButtonRow",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "_isOverlayRow",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "_providesAria",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "_ownedByGroup",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "_isDisabled",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "_control",
              "type": {
                "text": "HTMLElement | null"
              },
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "_applyRole",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Sets the item's role from `interactionType`: `presentation` for radio/checkbox (so the group\nowns those controls directly), otherwise `listitem` (static items, switches, links and\nbuttons). A role set explicitly by the consumer is left untouched, even if it is added or\nremoved dynamically after the element connects."
            },
            {
              "kind": "field",
              "name": "_providedAria",
              "type": {
                "text": "ContextualAria | undefined"
              },
              "privacy": "private",
              "description": "The accessible name and description this item provides to its interactive element, stitched\nfrom its text. Selection controls consume it via `ariaContext` (each applying it to the\nelement that carries its role); the action button of a `button` row takes it directly as\n`aria-label`/`aria-description` in the template; a link anchor takes it via `_applyLinkAria`.",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "_handleHostClick",
              "privacy": "private",
              "description": "Forwards a click anywhere on the row to the slotted control, so the whole item is a hit\ntarget. Skips clicks that already landed on the control, to avoid a double toggle."
            },
            {
              "kind": "method",
              "name": "_applyLinkAria",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "On a link row, names the slotted (empty) anchor from the item's own text: the parent owns the\nchild's aria. The anchor is plain light-DOM, so it cannot reference the shadow-DOM text via\n`aria-labelledby`; and it is not a PIE control that consumes `ariaContext`, so we set the\nattributes imperatively. The visible text is `aria-hidden` in the template, so nothing is\nannounced twice. (A `button` row names its own rendered element in the template instead.)\n\nA consumer-provided name/description always wins: we capture (once) whether the anchor already\ncarries `aria-label`/`aria-labelledby` or `aria-description`/`aria-describedby` and, if so,\nleave that attribute untouched. Otherwise we keep our generated value in sync with the text."
            },
            {
              "kind": "method",
              "name": "_renderSecondaryText"
            },
            {
              "kind": "method",
              "name": "_renderTrailingContent"
            },
            {
              "kind": "method",
              "name": "_renderActionButton",
              "description": "The interactive target for a `button` row: an empty, native `<button>` stretched invisibly\nover the whole row (see the SCSS). The item renders and owns it - rather than the consumer\nslotting one - so it can name it from its own text and keep its attributes private (it is just\nan action box, not a configurable control). Being a real button, activation is native: pointer\nclicks and keyboard (Enter/Space) both fire a `click` that bubbles out, so consumers listen for\n`click` on the `pie-list-item`. It is `type=\"button\"`, so it never submits a form."
            }
          ],
          "attributes": [
            {
              "name": "primaryText",
              "type": {
                "text": "ListItemProps['primaryText']"
              },
              "fieldName": "primaryText"
            },
            {
              "name": "secondaryText",
              "type": {
                "text": "ListItemProps['secondaryText']"
              },
              "fieldName": "secondaryText"
            },
            {
              "name": "metaText",
              "type": {
                "text": "ListItemProps['metaText']"
              },
              "fieldName": "metaText"
            },
            {
              "name": "isCompact",
              "fieldName": "isCompact"
            },
            {
              "name": "isBold",
              "fieldName": "isBold"
            },
            {
              "name": "hasMedia",
              "fieldName": "hasMedia"
            },
            {
              "name": "interactionType",
              "fieldName": "interactionType"
            },
            {
              "name": "disabled",
              "fieldName": "disabled"
            },
            {
              "name": "hasDivider",
              "fieldName": "hasDivider"
            },
            {
              "name": "aria",
              "type": {
                "text": "ListItemProps['aria']"
              },
              "fieldName": "aria"
            }
          ],
          "superclass": {
            "name": "PieElement",
            "package": "@justeattakeaway/pie-webc-core/src/internals/PieElement"
          },
          "tagName": "pie-list-item",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "PieListItem",
          "declaration": {
            "name": "PieListItem",
            "module": "src/pie-list-item/index.js"
          }
        }
      ]
    }
  ]
}
