1 | import React from 'react';
|
2 | import { Element, NodeEntry, Range, Text } from 'slate';
|
3 | import { ReactEditor } from '..';
|
4 | import { DOMNode, DOMRange } from '../utils/dom';
|
5 |
|
6 |
|
7 |
|
8 | export interface RenderElementProps {
|
9 | children: any;
|
10 | element: Element;
|
11 | attributes: {
|
12 | 'data-slate-node': 'element';
|
13 | 'data-slate-inline'?: true;
|
14 | 'data-slate-void'?: true;
|
15 | dir?: 'rtl';
|
16 | ref: any;
|
17 | };
|
18 | }
|
19 |
|
20 |
|
21 |
|
22 | export interface RenderLeafProps {
|
23 | children: any;
|
24 | leaf: Text;
|
25 | text: Text;
|
26 | attributes: {
|
27 | 'data-slate-leaf': true;
|
28 | };
|
29 | }
|
30 |
|
31 |
|
32 |
|
33 | export declare type EditableProps = {
|
34 | decorate?: (entry: NodeEntry) => Range[];
|
35 | onDOMBeforeInput?: (event: InputEvent) => void;
|
36 | placeholder?: string;
|
37 | readOnly?: boolean;
|
38 | role?: string;
|
39 | style?: React.CSSProperties;
|
40 | renderElement?: (props: RenderElementProps) => JSX.Element;
|
41 | renderLeaf?: (props: RenderLeafProps) => JSX.Element;
|
42 | renderPlaceholder?: (props: RenderPlaceholderProps) => JSX.Element;
|
43 | scrollSelectionIntoView?: (editor: ReactEditor, domRange: DOMRange) => void;
|
44 | as?: React.ElementType;
|
45 | } & React.TextareaHTMLAttributes<HTMLDivElement>;
|
46 |
|
47 |
|
48 |
|
49 | export declare const Editable: (props: EditableProps) => JSX.Element;
|
50 |
|
51 |
|
52 |
|
53 | export declare type RenderPlaceholderProps = {
|
54 | children: any;
|
55 | attributes: {
|
56 | 'data-slate-placeholder': boolean;
|
57 | dir?: 'rtl';
|
58 | contentEditable: boolean;
|
59 | ref: React.RefObject<any>;
|
60 | style: React.CSSProperties;
|
61 | };
|
62 | };
|
63 |
|
64 |
|
65 |
|
66 | export declare const DefaultPlaceholder: ({ attributes, children, }: RenderPlaceholderProps) => JSX.Element;
|
67 |
|
68 |
|
69 |
|
70 | export declare const defaultDecorate: (entry: NodeEntry) => Range[];
|
71 |
|
72 |
|
73 |
|
74 | export declare const isRangeEqual: (a: DOMRange, b: DOMRange) => boolean;
|
75 |
|
76 |
|
77 |
|
78 | export declare const hasTarget: (editor: ReactEditor, target: EventTarget | null) => target is DOMNode;
|
79 |
|
80 |
|
81 |
|
82 | export declare const hasEditableTarget: (editor: ReactEditor, target: EventTarget | null) => target is DOMNode;
|
83 |
|
84 |
|
85 |
|
86 | export declare const isTargetInsideNonReadonlyVoid: (editor: ReactEditor, target: EventTarget | null) => boolean;
|
87 |
|
88 |
|
89 |
|
90 | export declare const isEventHandled: <EventType extends React.SyntheticEvent<unknown, unknown>>(event: EventType, handler?: ((event: EventType) => void | boolean) | undefined) => boolean;
|
91 |
|
92 |
|
93 |
|
94 | export declare const isDOMEventHandled: <E extends Event>(event: E, handler?: ((event: E) => void | boolean) | undefined) => boolean;
|
95 |
|
\ | No newline at end of file |