UNPKG

1.26 kBTypeScriptView Raw
1/// <reference types="react" />
2import { Editor } from 'slate';
3type EditorChangeHandler = (editor: Editor) => void;
4/**
5 * A React context for sharing the editor selector context in a way to control rerenders
6 */
7export declare const SlateSelectorContext: import("react").Context<{
8 getSlate: () => Editor;
9 addEventListener: (callback: EditorChangeHandler) => () => void;
10}>;
11/**
12 * use redux style selectors to prevent rerendering on every keystroke.
13 * Bear in mind rerendering can only prevented if the returned value is a value type or for reference types (e.g. objects and arrays) add a custom equality function.
14 *
15 * Example:
16 * ```
17 * const isSelectionActive = useSlateSelector(editor => Boolean(editor.selection));
18 * ```
19 */
20export declare function useSlateSelector<T>(selector: (editor: Editor) => T, equalityFn?: (a: T, b: T) => boolean): T;
21/**
22 * Create selector context with editor updating on every editor change
23 */
24export declare function useSelectorContext(editor: Editor): {
25 selectorContext: {
26 getSlate: () => import("..").ReactEditor;
27 addEventListener: (callback: EditorChangeHandler) => () => void;
28 };
29 onChange: (editor: Editor) => void;
30};
31export {};
32//# sourceMappingURL=use-slate-selector.d.ts.map
\No newline at end of file