{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "description": "The button block (action). Reads: none. Shape: none.",
  "properties": {
    "button": {
      "additionalProperties": false,
      "properties": {
        "emphasis": {
          "default": "secondary",
          "description": "primary (solid), secondary (outline) or quiet (ghost).",
          "enum": [
            "primary",
            "secondary",
            "quiet"
          ],
          "type": "string"
        },
        "href": {
          "description": "An https:// URL (or a / path) it opens; or `to`.",
          "maxLength": 2000,
          "pattern": "^(https://[^\\s\"'<>`]+|/([^/\\s\"'<>`][^\\s\"'<>`]*)?)$",
          "type": "string"
        },
        "icon": {
          "description": "An icon before the label.",
          "enum": [
            "dashboard",
            "chat",
            "code",
            "activity",
            "cloud",
            "search",
            "sun",
            "moon",
            "branch",
            "commit",
            "plus",
            "file",
            "arrow-up-right",
            "menu",
            "close",
            "package",
            "folder",
            "chevron-right",
            "copy",
            "check",
            "chevron-down",
            "chevron-up",
            "arrow-up",
            "arrow-down",
            "filter",
            "columns",
            "pin",
            "download",
            "settings",
            "terminal",
            "play",
            "pause",
            "refresh-cw",
            "inbox",
            "users",
            "bot",
            "shield",
            "wallet"
          ],
          "type": "string"
        },
        "id": {
          "description": "The block's id: its Markdown anchor and its actions' route (`/act/<id>/<action>`). Default `<type>-<n>`, n counting blocks of this type depth-first from 1.",
          "pattern": "^[a-z][a-z0-9-]{1,38}$",
          "type": "string"
        },
        "label": {
          "description": "The button's words.",
          "maxLength": 40,
          "minLength": 1,
          "type": "string"
        },
        "to": {
          "description": "The screen of this app it opens; or `href`.",
          "pattern": "^[a-z][a-z0-9-]{1,38}$",
          "type": "string"
        }
      },
      "required": [
        "label"
      ],
      "type": "object"
    }
  },
  "required": [
    "button"
  ],
  "title": "button",
  "type": "object"
}