{
  "type": "component",
  "meta": {
    "docsUrl": "https://quasarframework.github.io/quasar-ui-qmarkdown/docs"
  },
  "props": {
    "src": {
      "type": "String",
      "category": "model",
      "desc": "[optional] Pass markdown in as a property",
      "examples": [
        "src=\"Classic markup: :wink: :joy: :cry: :angel: :heart: :beers: :laughing: :yum:\""
      ]
    },
    "no-blockquote": {
      "type": "Boolean",
      "category": "content",
      "desc": "Disable blockquote conversion"
    },
    "no-breaks": {
      "type": "Boolean",
      "category": "content",
      "desc": "Disable conversion of `\\n` into `&lt;br&gt;`"
    },
    "no-container": {
      "type": "Boolean",
      "category": "content",
      "desc": "Disable container conversion"
    },
    "no-highlight": {
      "type": "Boolean",
      "category": "content",
      "desc": "Disable code highlighter"
    },
    "no-html": {
      "type": "Boolean",
      "category": "content",
      "desc": "Disable HTML tags in source"
    },
    "no-image": {
      "type": "Boolean",
      "category": "content",
      "desc": "Disable image conversion"
    },
    "no-line-numbers": {
      "type": "Boolean",
      "category": "content",
      "desc": "Disable line numbers on code blocks"
    },
    "no-link": {
      "type": "Boolean",
      "category": "content",
      "desc": "Disable conversion of links"
    },
    "no-linkify": {
      "type": "Boolean",
      "category": "content",
      "desc": "Disable auto-convert URL-like text to links"
    },
    "no-heading-anchor-links": {
      "type": "Boolean",
      "category": "content",
      "desc": "Your headings will automatically be turned into anchor links, unless you use this property (default is H1-H3)"
    },
    "no-typographer": {
      "type": "Boolean",
      "category": "content",
      "desc": "Disable language-neutral replacement + quotes beautification"
    },
    "line-number-alt": {
      "type": "String",
      "category": "content",
      "desc": "Provide an alternative character to be used instead of line numbers - must be 1 char in length",
      "examples": [
        "line-number-alt=\"$\"",
        "line-number-alt=\">\""
      ]
    },
    "toc": {
      "type": "Boolean",
      "category": "behavior",
      "desc": "Set to true if you want a TOC automatically generated"
    },
    "toc-start": {
      "type": "Number",
      "category": "behavior",
      "desc": "The starting Header number for generating a TOC",
      "values": [
        1,
        2,
        3,
        4,
        5
      ]
    },
    "toc-end": {
      "type": "Number",
      "category": "behavior",
      "desc": "The ending Header number for generating a TOC. Must be greater than tocStart",
      "values": [
        2,
        3,
        4,
        5,
        6
      ]
    },
    "content-class": {
      "type": [
        "Array",
        "Object",
        "String"
      ],
      "tsType": "VueClassProp",
      "category": "style",
      "desc": "Class definitions to be attributed to the markdown container",
      "examples": [
        "my-special-class",
        ":content-class=\"{ 'my-special-class': <condition> }\""
      ]
    },
    "content-style": {
      "type": [
        "Array",
        "Object",
        "String"
      ],
      "tsType": "VueClassProp",
      "category": "style",
      "desc": "Style definitions to be attributed to the markdown container",
      "examples": [
        "background-color: #ff0000",
        ":content-style=\"{ backgroundColor: '#ff0000' }\""
      ]
    },
    "no-noopener": {
      "type": "Boolean",
      "category": "behavior",
      "desc": "All external links will have the `rel=\"noopener\"` applied if this is not set"
    },
    "no-noreferrer": {
      "type": "Boolean",
      "category": "behavior",
      "desc": "All external links will have the `rel=\"noreferrer\"` applied if this is not set"
    },
    "show-copy": {
      "type": "Boolean",
      "category": "behavior",
      "desc": "Use this property to turn on `Copy to Clipboard` functionality"
    },
    "copy-icon": {
      "type": "String",
      "category": "behavior",
      "desc": "Change the default icon used for `Copy to Clipboard`",
      "examples": [
        "copy-icon=\"copy\"",
        ":copy-icon=\"matCopy\""
      ]
    },
    "done-icon": {
      "addedIn": "v2.0.0-beta.1",
      "type": "String",
      "category": "behavior",
      "desc": "Change the default icon used for notify response after `Copy to Clipboard`",
      "examples": [
        "copy-icon=\"copy\"",
        ":copy-icon=\"matCopy\""
      ]
    },
    "no-copy-tooltip": {
      "type": "Boolean",
      "category": "behavior",
      "desc": "Turns off the tooltip associated with the `Copy to Clipboard` icon"
    },
    "copy-tooltip-text": {
      "type": "String",
      "category": "behavior",
      "desc": "Change the tooltip text associated with the `Copy to Clipboard` icon",
      "default": "Copy to clipboard",
      "examples": [
        "copy-tooltip-text=\"Click here for content to be copied to the clipboard\"",
        ":copy-tooltip-text=\"$t('copy-tooltip-text')\""
      ]
    },
    "copy-response-text": {
      "type": "String",
      "category": "behavior",
      "desc": "Change the response text associated with the `Copy to Clipboard` icon (note: you **must** have the `Notify` plugin added to your quasar.conf.js)",
      "default": "Copied to clipboard",
      "examples": [
        "copy-response-text=\"The content was copied to the clipboard\"",
        ":copy-response-text=\"$t('copy-response-text')\""
      ]
    },
    "fix-cr": {
      "type": "Boolean",
      "category": "behavior",
      "desc": "if this is set to `true` then the following regEx is run on the `src` property: `props.src.replace(/\\n/gi, '\\n')`"
    },
    "plugins": {
      "type": "Array",
      "tsType": "MarkdownItPluginsArray",
      "category": "extend",
      "desc": "[optional] An array of `markdown-it!` plugins."
    }
  },
  "slots": {
    "default": {
      "desc": "This is the default slotted content to be used for markdown. Make sure your markdown is left-aligned in your editor. Don't indent with the HTML."
    }
  },
  "events": {
    "toc": {
      "desc": "If `toc` property is `true` then if a TOC is generated it is emitted via this event",
      "params": {
        "tocData": {
          "type": "Array",
          "tsType": "TocDefinitionArray",
          "desc": "Array of one or more TOC data objects",
          "definition": {
            "id": {
              "type": "String",
              "desc": "The id for the TOC header"
            },
            "label": {
              "type": "String",
              "desc": "The TOC header label"
            },
            "level": {
              "type": "Number",
              "desc": "The TOC header type (1=h1, 2=h2, etc)"
            },
            "children": {
              "type": "Array",
              "tsType": "TocDefinitionArray",
              "desc": "This is normally empty, unless you pass this toc array to the `makeTree` method"
            }
          }
        }
      }
    }
  },
  "methods": {
    "makeTree": {
      "type": "Function",
      "desc": "Pass into this function the results from the `@toc` event to have the data array transformed into a hierarchical tree",
      "params": {
        "data": {
          "type": "Array",
          "tsType": "TocDefinitionArray",
          "desc": "The results from the `@toc` event"
        }
      },
      "returns": {
        "type": "Array",
        "tsType": "TocDefinitionArray",
        "desc": "A modified version of the passed in data in a hierachical format",
        "definition": {
          "id": {
            "type": "String",
            "desc": "The slugified heading used for the html key",
            "examples": [
              "the-heading"
            ]
          },
          "label": {
            "type": "String",
            "desc": "The original label",
            "examples": [
              "The Heading"
            ]
          },
          "level": {
            "type": "Number",
            "desc": "The heading level: h1 == 1, h2 == 2, etc.",
            "examples": [
              "1",
              "2"
            ]
          },
          "children": {
            "type": "Array",
            "tsType": "TocDefinitionArray",
            "desc": "If this object is level 1, then any level 2 objects will be in the `children` key and so on"
          }
        }
      }
    }
  }
}