// // @flow // import React from 'react'; // import Code from './components/Code'; // import HorizontalRule from './components/HorizontalRule'; // import InlineCode from './components/InlineCode'; // import Image from './components/Image'; // import Link from './components/Link'; // import ListItem from './components/ListItem'; // import TodoList from './components/TodoList'; // import { // Heading1, // Heading2, // Heading3, // Heading4, // Heading5, // Heading6, // } from './components/Heading'; // import Paragraph from './components/Paragraph'; // import BlockToolbar from './components/Toolbar/BlockToolbar'; // import type { Props, Node, Transform } from './types'; // // type Options = { // onInsertImage: Function, // onChange: Function, // }; // // const createSchema = ({ onInsertImage, onChange }: Options) => { // return { // marks: { // bold: (props: Props) => {props.children}, // code: (props: Props) => {props.children}, // italic: (props: Props) => {props.children}, // underlined: (props: Props) => {props.children}, // deleted: (props: Props) => {props.children}, // added: (props: Props) => {props.children}, // }, // // nodes: { // 'block-toolbar': (props: Props) => ( // // ), // paragraph: (props: Props) => , // 'block-quote': (props: Props) => ( //
{props.children}
// ), // 'horizontal-rule': HorizontalRule, // 'bulleted-list': (props: Props) => ( // // ), // 'ordered-list': (props: Props) => ( //
    {props.children}
// ), // 'todo-list': (props: Props) => ( // {props.children} // ), // table: (props: Props) => ( // {props.children}
// ), // 'table-row': (props: Props) => ( // {props.children} // ), // 'table-head': (props: Props) => ( // {props.children} // ), // 'table-cell': (props: Props) => ( // {props.children} // ), // code: Code, // image: Image, // link: Link, // 'list-item': ListItem, // heading1: (props: Props) => , // heading2: (props: Props) => , // heading3: (props: Props) => , // heading4: (props: Props) => , // heading5: (props: Props) => , // heading6: (props: Props) => , // }, // // rules: [ // // ensure first node is always a heading // { // match: (node: Node) => { // return node.kind === 'document'; // }, // validate: (document: Node) => { // const firstNode = document.nodes.first(); // return firstNode && firstNode.type === 'heading1' ? null : firstNode; // }, // normalize: (transform: Transform, document: Node, firstNode: Node) => { // transform.setBlock({ type: 'heading1' }); // }, // }, // // // automatically removes any marks in first heading // { // match: (node: Node) => { // return node.kind === 'heading1'; // }, // validate: (heading: Node) => { // const hasMarks = heading.getMarks().isEmpty(); // const hasInlines = heading.getInlines().isEmpty(); // // return !(hasMarks && hasInlines); // }, // normalize: (transform: Transform, heading: Node) => { // transform.unwrapInlineByKey(heading.key); // // heading.getMarks().forEach(mark => { // heading.nodes.forEach(textNode => { // if (textNode.kind === 'text') { // transform.removeMarkByKey( // textNode.key, // 0, // textNode.text.length, // mark // ); // } // }); // }); // // return transform; // }, // }, // ], // }; // }; // // export default createSchema;