slate-react
- Version 0.112.1
- Published
- 2.45 MB
- 7 dependencies
- MIT license
Install
npm i slate-react
yarn add slate-react
pnpm add slate-react
Overview
Tools for building completely customizable richtext editors with React.
Index
Variables
Functions
Interfaces
Type Aliases
Variables
variable Editable
const Editable: React.ForwardRefExoticComponent<any>;
Editable.
variable ReactEditor
const ReactEditor: ReactEditorInterface;
Functions
function DefaultElement
DefaultElement: (props: RenderElementProps) => JSX.Element;
The default element renderer.
function DefaultLeaf
DefaultLeaf: (props: RenderLeafProps) => JSX.Element;
function DefaultPlaceholder
DefaultPlaceholder: ({ attributes, children,}: RenderPlaceholderProps) => JSX.Element;
The default placeholder element
function Slate
Slate: (props: { editor: ReactEditor; initialValue: Descendant[]; children: React.ReactNode; onChange?: (value: Descendant[]) => void; onSelectionChange?: (selection: Selection) => void; onValueChange?: (value: Descendant[]) => void;}) => React.JSX.Element;
A wrapper around the provider to handle
onChange
events, because the editor is a mutable singleton so it won't ever register as "changed" otherwise.
function useComposing
useComposing: () => boolean;
Get the current
composing
state of the editor.
function useEditor
useEditor: () => import('..').ReactEditor;
Get the current editor object from the React context.
Deprecated
Use useSlateStatic instead.
function useFocused
useFocused: () => boolean;
Get the current
focused
state of the editor.
function useReadOnly
useReadOnly: () => boolean;
Get the current
readOnly
state of the editor.
function useSelected
useSelected: () => boolean;
Get the current
selected
state of an element.
function useSlate
useSlate: () => Editor;
Get the current editor object from the React context.
function useSlateSelection
useSlateSelection: () => BaseSelection;
Get the current slate selection. Only triggers a rerender when the selection actually changes
function useSlateSelector
useSlateSelector: <T>( selector: (editor: Editor) => T, equalityFn?: (a: T, b: T) => boolean) => T;
use redux style selectors to prevent rerendering on every keystroke. 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.
Example:
const isSelectionActive = useSlateSelector(editor => Boolean(editor.selection));
function useSlateStatic
useSlateStatic: () => Editor;
Get the current editor object from the React context.
function useSlateWithV
useSlateWithV: () => { editor: Editor; v: number };
function withReact
withReact: <T extends BaseEditor>( editor: T, clipboardFormatKey?: string) => T & ReactEditor;
withReact
adds React and DOM specific behaviors to the editor.If you are using TypeScript, you must extend Slate's CustomTypes to use this plugin.
See https://docs.slatejs.org/concepts/11-typescript to learn how.
Interfaces
interface ReactEditor
interface ReactEditor extends DOMEditor {}
A React and DOM-specific version of the
Editor
interface.
interface RenderElementProps
interface RenderElementProps {}
RenderElementProps
are passed to therenderElement
handler.
property attributes
attributes: { 'data-slate-node': 'element'; 'data-slate-inline'?: true; 'data-slate-void'?: true; dir?: 'rtl'; ref: any;};
property children
children: any;
property element
element: Element;
interface RenderLeafProps
interface RenderLeafProps {}
RenderLeafProps
are passed to therenderLeaf
handler.
property attributes
attributes: { 'data-slate-leaf': true;};
property children
children: any;
property leaf
leaf: Text;
property text
text: Text;
Type Aliases
type RenderPlaceholderProps
type RenderPlaceholderProps = { children: any; attributes: { 'data-slate-placeholder': boolean; dir?: 'rtl'; contentEditable: boolean; ref: React.RefCallback<any>; style: React.CSSProperties; };};
The props that get passed to renderPlaceholder
Package Files (16)
- dist/components/editable.d.ts
- dist/components/element.d.ts
- dist/components/leaf.d.ts
- dist/components/slate.d.ts
- dist/hooks/use-composing.d.ts
- dist/hooks/use-editor.d.ts
- dist/hooks/use-focused.d.ts
- dist/hooks/use-read-only.d.ts
- dist/hooks/use-selected.d.ts
- dist/hooks/use-slate-selection.d.ts
- dist/hooks/use-slate-selector.d.ts
- dist/hooks/use-slate-static.d.ts
- dist/hooks/use-slate.d.ts
- dist/index.d.ts
- dist/plugin/react-editor.d.ts
- dist/plugin/with-react.d.ts
Dependencies (7)
Dev Dependencies (15)
Peer Dependencies (4)
Badge
To add a badge like this oneto your package's README, use the codes available below.
You may also use Shields.io to create a custom badge linking to https://www.jsdocs.io/package/slate-react
.
- Markdown[](https://www.jsdocs.io/package/slate-react)
- HTML<a href="https://www.jsdocs.io/package/slate-react"><img src="https://img.shields.io/badge/jsDocs.io-reference-blue" alt="jsDocs.io"></a>
- Updated .
Package analyzed in 2665 ms. - Missing or incorrect documentation? Open an issue for this package.