{
  "name": "ButtonGroup",
  "tagName": "noora-button-group",
  "elementClassName": "NooraButtonGroup",
  "className": "noora-button-group",
  "modulePath": "./priv/static/noora-web-components.js",
  "description": "Groups related controls into a compact segmented surface.",
  "usage": "<noora-button-group>\n  <noora-button-group-item value=\"day\">Day</noora-button-group-item>\n  <noora-button-group-item value=\"week\">Week</noora-button-group-item>\n</noora-button-group>",
  "attributes": [
    {
      "name": "size",
      "property": "size",
      "type": "string",
      "values": ["small", "medium", "large"],
      "default": "medium",
      "description": "Controls child dimensions."
    }
  ],
  "properties": [
    {
      "name": "items",
      "type": "json",
      "typescriptType": "Array<Record<string, unknown>>",
      "default": [],
      "description": "Defines group items programmatically when declarative noora-button-group-item children are not used."
    }
  ],
  "readonlyProperties": [],
  "slots": [
    {
      "name": "",
      "description": "Declarative noora-button-group-item children."
    }
  ],
  "cssParts": [
    {
      "name": "group",
      "description": "The group container."
    }
  ],
  "events": [
    {
      "name": "noora-select",
      "type": "CustomEvent<{ index: number; item: Record<string, unknown>; value: unknown }>",
      "description": "Emitted when an enabled group item is selected."
    }
  ],
  "notes": [
    "Use noora-button-group-item children for declarative groups.",
    "The items property remains available for data-driven rendering."
  ],
  "examples": [
    {
      "id": "sizes",
      "title": "Sizes",
      "description": "Button groups range from small to large.",
      "markup": "<noora-button-group size=\"small\">\n  <noora-button-group-item>First</noora-button-group-item>\n  <noora-button-group-item>Second</noora-button-group-item>\n  <noora-button-group-item>Third</noora-button-group-item>\n</noora-button-group>\n<noora-button-group size=\"medium\">\n  <noora-button-group-item>First</noora-button-group-item>\n  <noora-button-group-item>Second</noora-button-group-item>\n  <noora-button-group-item>Third</noora-button-group-item>\n</noora-button-group>\n<noora-button-group size=\"large\">\n  <noora-button-group-item>First</noora-button-group-item>\n  <noora-button-group-item>Second</noora-button-group-item>\n  <noora-button-group-item>Third</noora-button-group-item>\n</noora-button-group>"
    },
    {
      "id": "icons",
      "title": "Icon configurations",
      "description": "Compare labeled controls with icons, icon-only controls, and a mixture of both.",
      "markup": "<noora-button-group size=\"medium\">\n  <noora-button-group-item icon-left=\"chevron_left\">Previous</noora-button-group-item>\n  <noora-button-group-item icon-left=\"chevron_left\" icon-right=\"chevron_right\">Both</noora-button-group-item>\n  <noora-button-group-item icon-right=\"chevron_right\">Next</noora-button-group-item>\n</noora-button-group>\n\n<noora-button-group size=\"medium\">\n  <noora-button-group-item icon=\"chevron_left\" icon-only aria-label=\"Previous\"></noora-button-group-item>\n  <noora-button-group-item icon=\"chevron_right\" icon-only aria-label=\"Next\"></noora-button-group-item>\n</noora-button-group>\n\n<noora-button-group size=\"medium\">\n  <noora-button-group-item icon=\"chevron_left\" icon-only aria-label=\"Previous\"></noora-button-group-item>\n  <noora-button-group-item>Page 1</noora-button-group-item>\n  <noora-button-group-item>Page 2</noora-button-group-item>\n  <noora-button-group-item icon=\"chevron_right\" icon-only aria-label=\"Next\"></noora-button-group-item>\n</noora-button-group>"
    },
    {
      "id": "states",
      "title": "States",
      "description": "Compare a partially disabled group with a fully disabled group.",
      "markup": "<noora-button-group size=\"medium\">\n  <noora-button-group-item>Available</noora-button-group-item>\n  <noora-button-group-item disabled>Disabled</noora-button-group-item>\n  <noora-button-group-item>Available</noora-button-group-item>\n</noora-button-group>\n\n<noora-button-group size=\"medium\">\n  <noora-button-group-item disabled>First</noora-button-group-item>\n  <noora-button-group-item disabled>Second</noora-button-group-item>\n  <noora-button-group-item disabled>Third</noora-button-group-item>\n</noora-button-group>"
    },
    {
      "id": "practical",
      "title": "Practical examples",
      "description": "Use groups for pagination controls and view switching.",
      "markup": "<noora-button-group size=\"medium\">\n  <noora-button-group-item icon=\"chevron_left\" icon-only aria-label=\"Previous\"></noora-button-group-item>\n  <noora-button-group-item selected>1</noora-button-group-item>\n  <noora-button-group-item>2</noora-button-group-item>\n  <noora-button-group-item>3</noora-button-group-item>\n  <noora-button-group-item icon=\"chevron_right\" icon-only aria-label=\"Next\"></noora-button-group-item>\n</noora-button-group>\n\n<noora-button-group size=\"small\">\n  <noora-button-group-item selected>List</noora-button-group-item>\n  <noora-button-group-item>Grid</noora-button-group-item>\n  <noora-button-group-item>Card</noora-button-group-item>\n</noora-button-group>"
    }
  ]
}
