High quality plugins with great UX on top of DraftJS.
We currently prepare for a 2.0 beta. The master branch already contains unpublished features & plugins.
- Autolist by Max Wheeler/Icelab
- Block Breakout by Max Wheeler/Icelab
- Single Line by Max Wheeler/Icelab
- RichButtons by jasonphillips
Checkout the website!
First, install the editor with npm:
$ npm install draft-js-plugins-editor --save
and then import it somewhere in your code and you're ready to go!
import Editor from 'draft-js-plugins-editor';An editor component accepting plugins.
| Props | Description | Required | 
|---|---|---|
| editorState | see here | * | 
| onChange | see here | * | 
| plugins | an array of plugins | |
| all other props accepted by the DraftJS Editor | see here | 
Usage:
import React, { Component } from 'react';
import Editor from 'draft-js-plugins-editor';
import createHashtagPlugin from 'draft-js-hashtag-plugin';
import createLinkifyPlugin from 'draft-js-linkify-plugin';
import { EditorState } from 'draft-js';
const hashtagPlugin = createHashtagPlugin();
const linkifyPlugin = createLinkifyPlugin();
const plugins = [
  hashtagPlugin,
  linkifyPlugin,
];
export default class UnicornEditor extends Component {
  state = {
    editorState: EditorState.createEmpty(),
  };
  onChange = (editorState) => {
    this.setState({
      editorState,
    });
  };
  render() {
    return (
      <Editor
        editorState={this.state.editorState}
        onChange={this.onChange}
        plugins={plugins}
        ref="editor"
      />
    );
  }
}Feel free to copy any of the existing plugins as a starting point. Feel free to directly contact @nikgraf in case you need help or open a Github Issue!
More documentation is coming soon…
Join the channel #draft-js-plugins after signing into the DraftJS Slack organization or check out or collection of frequently asked questions here: FAQ.
Check out our Contribution Guide.
MIT