@eccenca/gui-elements
Version:
GUI elements based on other libraries, usable in React application, written in Typescript.
42 lines (41 loc) • 1.67 kB
TypeScript
import React from "react";
import { PluggableList } from "unified";
import { HtmlContentBlockProps, TestableComponent } from "../../index";
export interface MarkdownProps extends TestableComponent {
children: string;
/**
* Allow HTML as partial content, otherwise escape HTML tags.
* Use with caution!
*/
allowHtml?: boolean;
/**
* Return an object that only contains simple text without any HTML.
*/
removeMarkup?: boolean;
/**
* If defined, only elements from this list will be rendered.
* This overwrites the removeMarkup parameter if both are set.
*/
allowedElements?: string[];
/**
* Do not wrap content in a `HtmlContentBlock` component.
* This option is ignored if `htmlContentBlockProps` or `data-test-id` is given.
*/
inheritBlock?: boolean;
/**
* Additional reHype plugins to execute.
* @see https://github.com/remarkjs/react-markdown#architecture
*/
reHypePlugins?: PluggableList;
/**
* Name for browser target where links withing the Markdown content are opened.
* Set to `false` to disable this feature.
*/
linkTargetName?: false | string;
/**
* Configure the `HtmlContentBlock` component that is automatically used as wrapper for the parsed Markdown content.
*/
htmlContentBlockProps?: Omit<HtmlContentBlockProps, "children" | "className" | "data-test-id">;
}
/** Renders a markdown string. */
export declare const Markdown: ({ children, allowHtml, removeMarkup, inheritBlock, allowedElements, reHypePlugins, linkTargetName, htmlContentBlockProps, ...otherProps }: MarkdownProps) => React.JSX.Element;