slate

Search for an npm package
import { Editor, Element, Location, Node, Path } from '../../index';
import { NodeMatch, PropsCompare, PropsMerge } from '../editor';
import { MaximizeMode, RangeMode } from '../../types/types';
export interface NodeInsertNodesOptions<T extends Node> {
at?: Location;
match?: NodeMatch<T>;
mode?: RangeMode;
hanging?: boolean;
select?: boolean;
voids?: boolean;
batchDirty?: boolean;
}
export interface NodeTransforms {
/**
* Insert nodes in the editor
* at the specified location or (if not defined) the current selection or (if not defined) the end of the document.
*/
insertNodes: <T extends Node>(editor: Editor, nodes: Node | Node[], options?: NodeInsertNodesOptions<T>) => void;
/**
* Lift nodes at a specific location upwards in the document tree, splitting
* their parent in two if necessary.
*/
liftNodes: <T extends Node>(editor: Editor, options?: {
at?: Location;
match?: NodeMatch<T>;
mode?: MaximizeMode;
voids?: boolean;
}) => void;
/**
* Merge a node at a location with the previous node of the same depth,
* removing any empty containing nodes after the merge if necessary.
*/
mergeNodes: <T extends Node>(editor: Editor, options?: {
at?: Location;
match?: NodeMatch<T>;
mode?: RangeMode;
hanging?: boolean;
voids?: boolean;
}) => void;
/**
* Move the nodes at a location to a new location.
*/
moveNodes: <T extends Node>(editor: Editor, options: {
at?: Location;
match?: NodeMatch<T>;
mode?: MaximizeMode;
to: Path;
voids?: boolean;
}) => void;
/**
* Remove the nodes at a specific location in the document.
*/
removeNodes: <T extends Node>(editor: Editor, options?: {
at?: Location;
match?: NodeMatch<T>;
mode?: RangeMode;
hanging?: boolean;
voids?: boolean;
}) => void;
/**
* Set new properties on the nodes at a location.
*/
setNodes: <T extends Node>(editor: Editor, props: Partial<T>, options?: {
at?: Location;
match?: NodeMatch<T>;
mode?: MaximizeMode;
hanging?: boolean;
split?: boolean;
voids?: boolean;
compare?: PropsCompare;
merge?: PropsMerge;
}) => void;
/**
* Split the nodes at a specific location.
*/
splitNodes: <T extends Node>(editor: Editor, options?: {
at?: Location;
match?: NodeMatch<T>;
mode?: RangeMode;
always?: boolean;
height?: number;
voids?: boolean;
}) => void;
/**
* Unset properties on the nodes at a location.
*/
unsetNodes: <T extends Node>(editor: Editor, props: string | string[], options?: {
at?: Location;
match?: NodeMatch<T>;
mode?: MaximizeMode;
hanging?: boolean;
split?: boolean;
voids?: boolean;
}) => void;
/**
* Unwrap the nodes at a location from a parent node, splitting the parent if
* necessary to ensure that only the content in the range is unwrapped.
*/
unwrapNodes: <T extends Node>(editor: Editor, options?: {
at?: Location;
match?: NodeMatch<T>;
mode?: MaximizeMode;
split?: boolean;
voids?: boolean;
}) => void;
/**
* Wrap the nodes at a location in a new container node, splitting the edges
* of the range first to ensure that only the content in the range is wrapped.
*/
wrapNodes: <T extends Node>(editor: Editor, element: Element, options?: {
at?: Location;
match?: NodeMatch<T>;
mode?: MaximizeMode;
split?: boolean;
voids?: boolean;
}) => void;
}
export declare const NodeTransforms: NodeTransforms;
//# sourceMappingURL=node.d.ts.map
No newline at end of file