@quasar/quasar-ui-qmarkdown
Version:
Display inline markdown in your Quasar App
153 lines (147 loc) • 4.19 kB
TypeScript
import type { ComponentPublicInstance, ComponentOptions } from 'vue'
export interface QMarkdown extends ComponentPublicInstance {
/**
* [optional] Pass markdown in as a property
*/
src? : string
/**
* Disable blockquote conversion
*/
noBlockquote? : boolean
/**
* Disable conversion of `\n` into `<br>`
*/
noBreaks? : boolean
/**
* Disable container conversion
*/
noContainer? : boolean
/**
* Disable code highlighter
*/
noHighlight? : boolean
/**
* Disable HTML tags in source
*/
noHtml? : boolean
/**
* Disable image conversion
*/
noImage? : boolean
/**
* Disable line numbers on code blocks
*/
noLineNumbers? : boolean
/**
* Disable conversion of links
*/
noLink? : boolean
/**
* Disable auto-convert URL-like text to links
*/
noLinkify? : boolean
/**
* Your headings will automatically be turned into anchor links, unless you use this property (default is H1-H3)
*/
noHeadingAnchorLinks? : boolean
/**
* Disable language-neutral replacement + quotes beautification
*/
noTypographer? : boolean
/**
* Provide an alternative character to be used instead of line numbers - must be 1 char in length
*/
lineNumberAlt? : string
/**
* Set to true if you want a TOC automatically generated
*/
toc? : boolean
/**
* The starting Header number for generating a TOC
*/
tocStart? : number
/**
* The ending Header number for generating a TOC. Must be greater than tocStart
*/
tocEnd? : number
/**
* Class definitions to be attributed to the markdown container
*/
contentClass? : VueClassProp
/**
* Style definitions to be attributed to the markdown container
*/
contentStyle? : VueClassProp
/**
* All external links will have the `rel="noopener"` applied if this is not set
*/
noNoopener? : boolean
/**
* All external links will have the `rel="noreferrer"` applied if this is not set
*/
noNoreferrer? : boolean
/**
* Use this property to turn on `Copy to Clipboard` functionality
*/
showCopy? : boolean
/**
* Change the default icon used for `Copy to Clipboard`
*/
copyIcon? : string
/**
* Change the default icon used for notify response after `Copy to Clipboard`
*/
doneIcon? : string
/**
* Turns off the tooltip associated with the `Copy to Clipboard` icon
*/
noCopyTooltip? : boolean
/**
* Change the tooltip text associated with the `Copy to Clipboard` icon
*/
copyTooltipText? : string
/**
* Change the response text associated with the `Copy to Clipboard` icon (note: you **must** have the `Notify` plugin added to your quasar.conf.js)
*/
copyResponseText? : string
/**
* if this is set to `true` then the following regEx is run on the `src` property: `props.src.replace(/\n/gi, '\n')`
*/
fixCr? : boolean
/**
* [optional] An array of `markdown-it!` plugins.
*/
plugins? : MarkdownItPluginsArray
/**
* Pass into this function the results from the `@toc` event to have the data array transformed into a hierarchical tree
* @param data The results from the `@toc` event
* @returns A modified version of the passed in data in a hierachical format
*/
makeTree (data? : TocDefinitionArray): TocDefinitionArray
}
export interface TocDefinitionArray {
/**
* The slugified heading used for the html key
*/
id : string
/**
* The original label
*/
label : string
/**
* The heading level: h1 == 1, h2 == 2, etc.
*/
level : number
/**
* If this object is level 1, then any level 2 objects will be in the `children` key and so on
*/
children : TocDefinitionArray
}
import { VueClassProp, MarkdownItPluginsArray } from './types'
declare module 'vue' {
interface ComponentCustomProperties {
}
}
export * from './types'
export as namespace QMarkdown
export const QMarkdown: ComponentOptions