102 lines
3.4 KiB
TypeScript
102 lines
3.4 KiB
TypeScript
/**
|
||
* Create an extension for `mdast-util-from-markdown` to enable MDX JSX.
|
||
*
|
||
* @returns {FromMarkdownExtension}
|
||
* Extension for `mdast-util-from-markdown` to enable MDX JSX.
|
||
*
|
||
* When using the syntax extension with `addResult`, nodes will have a
|
||
* `data.estree` field set to an ESTree `Program` node.
|
||
*/
|
||
export function mdxJsxFromMarkdown(): FromMarkdownExtension
|
||
/**
|
||
* Create an extension for `mdast-util-to-markdown` to enable MDX JSX.
|
||
*
|
||
* This extension configures `mdast-util-to-markdown` with
|
||
* `options.fences: true` and `options.resourceLink: true` too, do not
|
||
* overwrite them!
|
||
*
|
||
* @param {ToMarkdownOptions | null | undefined} [options]
|
||
* Configuration (optional).
|
||
* @returns {ToMarkdownExtension}
|
||
* Extension for `mdast-util-to-markdown` to enable MDX JSX.
|
||
*/
|
||
export function mdxJsxToMarkdown(
|
||
options?: ToMarkdownOptions | null | undefined
|
||
): ToMarkdownExtension
|
||
export type CompileContext = import('mdast-util-from-markdown').CompileContext
|
||
export type FromMarkdownExtension = import('mdast-util-from-markdown').Extension
|
||
export type FromMarkdownHandle = import('mdast-util-from-markdown').Handle
|
||
export type OnEnterError = import('mdast-util-from-markdown').OnEnterError
|
||
export type OnExitError = import('mdast-util-from-markdown').OnExitError
|
||
export type Token = import('mdast-util-from-markdown').Token
|
||
export type ToMarkdownHandle = import('mdast-util-to-markdown').Handle
|
||
export type ToMarkdownExtension = import('mdast-util-to-markdown').Options
|
||
export type State = import('mdast-util-to-markdown').State
|
||
export type Tracker = import('mdast-util-to-markdown').Tracker
|
||
export type MdxJsxAttribute = import('../index.js').MdxJsxAttribute
|
||
export type MdxJsxAttributeValueExpression =
|
||
import('../index.js').MdxJsxAttributeValueExpression
|
||
export type MdxJsxExpressionAttribute =
|
||
import('../index.js').MdxJsxExpressionAttribute
|
||
export type MdxJsxFlowElement = import('../index.js').MdxJsxFlowElement
|
||
export type MdxJsxTextElement = import('../index.js').MdxJsxTextElement
|
||
/**
|
||
* Single tag.
|
||
*/
|
||
export type Tag = {
|
||
/**
|
||
* Name of tag, or `undefined` for fragment.
|
||
*
|
||
* > 👉 **Note**: `null` is used in the AST for fragments, as it serializes in
|
||
* > JSON.
|
||
*/
|
||
name: string | undefined
|
||
/**
|
||
* Attributes.
|
||
*/
|
||
attributes: Array<MdxJsxAttribute | MdxJsxExpressionAttribute>
|
||
/**
|
||
* Whether the tag is closing (`</x>`).
|
||
*/
|
||
close: boolean
|
||
/**
|
||
* Whether the tag is self-closing (`<x/>`).
|
||
*/
|
||
selfClosing: boolean
|
||
/**
|
||
* Start point.
|
||
*/
|
||
start: Token['start']
|
||
/**
|
||
* End point.
|
||
*/
|
||
end: Token['start']
|
||
}
|
||
/**
|
||
* Configuration.
|
||
*/
|
||
export type ToMarkdownOptions = {
|
||
/**
|
||
* Preferred quote to use around attribute values (default: `'"'`).
|
||
*/
|
||
quote?: '"' | "'" | null | undefined
|
||
/**
|
||
* Use the other quote if that results in less bytes (default: `false`).
|
||
*/
|
||
quoteSmart?: boolean | null | undefined
|
||
/**
|
||
* Do not use an extra space when closing self-closing elements: `<img/>`
|
||
* instead of `<img />` (default: `false`).
|
||
*/
|
||
tightSelfClosing?: boolean | null | undefined
|
||
/**
|
||
* Try and wrap syntax at this width (default: `Infinity`).
|
||
*
|
||
* When set to a finite number (say, `80`), the formatter will print
|
||
* attributes on separate lines when a tag doesn’t fit on one line.
|
||
* The normal behavior is to print attributes with spaces between them
|
||
* instead of line endings.
|
||
*/
|
||
printWidth?: number | null | undefined
|
||
}
|