[
  {
    "name": "id",
    "type": "string",
    "required": false,
    "description": "The ID of the code component.",
    "released": "10.4.0"
  },
  {
    "name": "text",
    "type": "string",
    "required": true,
    "description": "If `html` is set, this is not required. Text for the code element. If `html` is provided, the `text` option will be ignored.",
    "released": "10.4.0"
  },
  {
    "name": "html",
    "type": "string",
    "required": true,
    "description": "If `text` is set, this is not required. HTML for the code element. If `html` is provided, the `text` option will be ignored.",
    "released": "10.4.0"
  },
  {
    "name": "classes",
    "type": "string",
    "required": false,
    "description": "Classes to add to the code container.",
    "released": "10.4.0"
  },
  {
    "name": "attributes",
    "type": "object",
    "required": false,
    "description": "HTML attributes (for example data attributes) to add to the code container.",
    "released": "10.4.0"
  },
  {
    "name": "copyButtonClassList",
    "type": "array",
    "required": false,
    "description": "Classes to add to the button. Default is `[\"nhsuk-button--secondary\", \"nhsuk-button--small\"]`.",
    "released": "10.4.0"
  },
  {
    "name": "copyButtonText",
    "type": "string",
    "required": false,
    "description": "Button text before the code is copied to clipboard. Defaults to `\"Copy code\"`.",
    "released": "10.4.0"
  },
  {
    "name": "copiedButtonText",
    "type": "string",
    "required": false,
    "description": "Button text when the code is copied to clipboard. Defaults to `\"Code copied\"`.",
    "released": "10.4.0"
  },
  {
    "name": "copiedAnnouncementText",
    "type": "string",
    "required": false,
    "description": "Announcement made to screen reader users when the code is copied to clipboard. Defaults to `\"Code copied to clipboard\"`.",
    "released": "10.4.0"
  },
  {
    "name": "button",
    "type": "object",
    "required": false,
    "description": "Optional object allowing customisation of the copy button. The `button.attributes`, `button.html`, `button.small` and `button.variant` options are not supported.",
    "released": "10.4.0",
    "isComponent": true,
    "params": [
      {
        "name": "classes",
        "type": "string",
        "required": false,
        "description": "Classes to add to the button.",
        "released": "10.4.0"
      }
    ]
  },
  {
    "name": "variant",
    "type": "string",
    "required": false,
    "description": "Optional variant of code. You can use only `\"reverse\"` or empty values with this option.",
    "released": "10.4.0"
  },
  {
    "name": "background",
    "type": "string",
    "required": false,
    "description": "Optional background colour for the code element – `\"body\"` or `\"template\"`.",
    "released": "10.4.0"
  },
  {
    "name": "border",
    "type": "boolean",
    "required": false,
    "description": "If set to `false`, remove border from the code container.",
    "released": "10.4.0"
  }
]
