UNPKG

@guestbell/react-page-plugins

Version:

Plugins we use in GuestBell for working with amazing react-page package

45 lines (44 loc) 1.3 kB
import * as React from 'react'; import { Editable } from 'slate-react'; import { SlateValue } from '../../types/slate/SlateValue'; import { Migration } from '../../slateMigrations/Migration'; export type SlateEditorOnChangeHandler = (val: { value: SlateValue; isDirty: boolean; isValid: boolean; }) => void; export declare enum ToolbarButtonTypes { Link = 1, Heading = 2, Lists = 4, Color = 8, Alignment = 16, Quote = 32, FontSize = 64 } export declare enum HoverButtonTypes { Bold = 1, Italic = 2, Underline = 4, Link = 8, Color = 16 } export interface SlateEditorCustomProps { value: SlateValue; onChange: SlateEditorOnChangeHandler; className?: string; label?: JSX.Element | string; title?: JSX.Element | string; maxChars?: number; version?: number; migrations?: Migration[]; extraToolbarButtons?: JSX.Element; extraHoverButtons?: JSX.Element; toolbarButtons?: ToolbarButtonTypes; hoverButtons?: HoverButtonTypes; hideToolbar?: boolean; } type EditableProps = React.ComponentProps<typeof Editable>; type SlateEditorProps = SlateEditorCustomProps & Omit<Partial<EditableProps>, 'onChange' | 'value'>; declare const SlateEditor: React.FC<SlateEditorProps>; export default SlateEditor;