5.0.0-alpha.f4219f70 • Published 8 years ago

@slate-editor/font-size-plugin v5.0.0-alpha.f4219f70

Weekly downloads
253
License
MIT
Repository
github
Last release
8 years ago

SlateJS - Font Size Plugin

The goal of this plugin is to offers an easy handling of SlateJS font size mark content editable. Providing a simple API and easy usage, basing on concept of plugin-centric by SlateJS framework.

Usage

SlateJS Font Size Plugin

import React, { Component } from 'react'
import FontSizePlugin from 'slate-font-size-plugin'

const plugins = [
  FontSizePlugin()
]

class SlateEditor extends Component {
  onChange(state) {
    this.setState({ state })
  }
  render() {
    return (
      <Editor
        plugins={plugins}
        state={this.state.state}
        onChange={this.onChange.bind(this)}
      />
    )
  }
}

SlateJS Font Size Plugin - Input

import React, { Component } from 'react'
import { FontSizeInput } from 'slate-font-size-plugin'

class SlateEditor extends Component {
  onChange(state) {
    this.setState({ state })
  }
  render() {
    return (
      <div className="editor--toolbar">
        <FontSizeInput
          state={this.state.state}
          onChange={this.onChange.bind(this)}
        />
      </div>
    )
  }
}

Keyboard Shortcut

PlatformActionShortcut
Apple LogoIncrease+shift+>
Apple LogoDecrease+shift+<
Windows LogoIncreasectrl+shift+>
Windows LogoDecreasectrl+shift+<

API

TargetDescription
FontSizeMarkComponent that holds the html that will wrap the content with font size style.
FontSizeKeyboardShortcutKeyboard shortcut file that manipulates onKeyDown event inside SlateJS.
FontSizeUtilsGeneric file that holds the util common functions.
FontSizeInputInput component that have behaviour to wrap content with font size style.

TODO

  • Make keyboard shortcut accepts customization;
  • Add keyboard shortcut to apply font size to expanded selection;
  • Add keyboard shortcut to remove font size from expanded selection;
  • Add button to apply font size to expanded selection;
  • Add button to remove font size from expanded selection;
  • Add handle to manipulates collapsed selection to remove font size to anchor word;
  • Add behaviour to show which font size have applied to collapsed selection;
  • Add behaviour to show which font size have applied to expanded selection;