React contenteditable component. Super-customizable!
npm install react-basic-contenteditablesh
npm install --save react-basic-contenteditable
`
or yarn
`sh
yarn add react-basic-contenteditable
`
Usage
Live demo at https://chrisuser.github.io/react-basic-contenteditable/
$3
`javascript
import ContentEditable from "react-basic-contenteditable"
const App = () => {
const [content, setContent] = useState("")
return (
{content}
placeholder="Type here"
containerClassName="container-class"
contentEditableClassName="contenteditable-class"
placeholderClassName="placeholder-class"
onChange={(content) => setContent(content)}
/>
)
}
export default App
`
$3
> All props are optional, that's how you can fully customize it!
| Name | Optional | Type | Description |
| ------------------------ | -------- | ------------------- | --------------------------------------------------------------------------- |
| containerClassName | ✔️ | string | Custom classes for the wrapper div |
| contentEditableClassName | ✔️ | string | Custom classes for the input element |
| placeholderClassName | ✔️ | string | Custom classes for the placeholder text |
| charsCounterClassName | ✔️ | string | Custom classes for the character counter text (if maxLength is specified) |
| placeholder | ✔️ | string | Input placeholder text |
| disabled | ✔️ | boolean | Flag that disables the input element |
| maxLength | ✔️ | number | Indicates the maximum number of characters a user can enter |
| autoFocus | ✔️ | boolean | Flag to automatically focus the input element on mount |
| updatedContent | ✔️ | string | Text injected from parent element into the input as the current value |
| onContentExternalUpdate | ✔️ | (content) => void | Method that emits the injected content by the updatedContent prop |
| onChange | ✔️ | (content) => void | Method that emits the current content as a string |
| onKeyUp | ✔️ | (e) => void | Method that emits the keyUp keyboard event |
| onKeyDown | ✔️ | (e) => void | Method that emits the keyDown keyboard event |
| onFocus | ✔️ | (e) => void | Method that emits the focus event |
| onBlur | ✔️ | (e) => void | Method that emits the blur event |
$3
- Undo: Ctrl + Z
- Redo: Ctrl + Y / Ctrl + Shift + Z`