react-editable-elements
TypeScript icon, indicating that this package has built-in type declarations

0.0.3 • Public • Published

field

NPM

Components and hooks to build a WYSIWYG editor. In edition mode (through editorContext), each element can be edited.

Install

npm install --save react-editable-elements

Usage

import * as React from 'react'
 
import { field, useEditableText, editorContext, withEditorContext } from 'react-editable-elements'
 
const Example = () => {
 
    const { toggleEditionMode } = useContext(editorContext)
    const exampleText = useEditableText(initValue, handleUpdate)
 
    function handleUpdate(data){
        // Here you can update your database (or anything you want)
    }
 
    return (
        <div>
            <button onClick={toggleEditionMode}>Toggle edition mode</button>
            <field.p {...exampleText}>
        </div>
    )
}
 
export default withEditorContext(Example)

Docs

Note : react-editable-elements is currently under development

available elements :

field.h1
field.h2
field.h3
field.h4
field.h5
field.h6
field.p
field.img

incoming elements :

field.table

hX have to be used with useInlineText(defaultValue, updateCallback)

p has to be used with useEditableText(defaultValue, updateCallback)

img have to be used with useDroppableImage(defaultValue, updateCallback)

Editable Background Image

const Component = () => {
 
    const background = useDroppableBackground(defaultImage, handleUpdate)
 
    function handleUpdate(data){
        // Here you can update your database (or anything you want)
    }
 
    return (
        <div style={{
            ...background.style
            }}
            {...background.handlers}
        >
            Hello world
        </div>
    )
}
 

Then, in edit mode, just drop your image. She'll be displayed and the handleUpdate callback will be called with the image (File object) in argument.

License

MIT © anthonyjeamme

Readme

Keywords

none

Package Sidebar

Install

npm i react-editable-elements

Weekly Downloads

1

Version

0.0.3

License

MIT

Unpacked Size

258 kB

Total Files

31

Last publish

Collaborators

  • jinga