@mkljczk/lexical-remark
Version:
This package contains Markdown helpers and functionality for Lexical using remark-parse.
48 lines (47 loc) • 1.99 kB
TypeScript
import { DOMConversionMap, DOMConversionOutput, DOMExportOutput, EditorConfig, ElementNode, LexicalEditor, LexicalNode, NodeKey, SerializedElementNode, Spread } from 'lexical';
type SerializedCollapsibleContainerNode = Spread<{
open: boolean;
}, SerializedElementNode>;
export declare function convertDetailsElement(domNode: HTMLDetailsElement): DOMConversionOutput | null;
/**
* A Lexical node to represent an HTML details container
*/
export declare class CollapsibleContainerNode extends ElementNode {
__open: boolean;
constructor(open: boolean, key?: NodeKey);
static getType(): string;
static clone(node: CollapsibleContainerNode): CollapsibleContainerNode;
createDOM(config: EditorConfig, editor: LexicalEditor): HTMLElement;
updateDOM(prevNode: CollapsibleContainerNode, dom: HTMLDetailsElement): boolean;
static importDOM(): DOMConversionMap<HTMLDetailsElement> | null;
static importJSON(serializedNode: SerializedCollapsibleContainerNode): CollapsibleContainerNode;
exportDOM(): DOMExportOutput;
exportJSON(): SerializedCollapsibleContainerNode;
/**
* Sets the open state of the details container
*/
setOpen(open: boolean): void;
/**
* Gets the open state of the details container
*/
getOpen(): boolean;
/**
* Toggles the open state of the details container
*/
toggleOpen(): void;
}
/**
* Creates a Collapsible Container node with an initial open state
*
* @param isOpen The initial open state of the container
* @returns A Collapsible Container node
*/
export declare function $createCollapsibleContainerNode(isOpen: boolean): CollapsibleContainerNode;
/**
* A typeguard function to assert on a Collapsible Container node
*
* @param node A Lexical node
* @returns true if the node is a Collapsible Container node, otherwise false
*/
export declare function $isCollapsibleContainerNode(node: LexicalNode | null | undefined): node is CollapsibleContainerNode;
export {};