UNPKG

@eccenca/gui-elements

Version:

GUI elements based on other libraries, usable in React application, written in Typescript.

42 lines (41 loc) 1.67 kB
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;