Slate
slate
A completely customizable framework for building rich text editors.
Tables
canvas
contenteditable
custom
document
edit
editor
html
immutable
markdown
medium
Stars
32k
Weekly
0
Open issues
654
Bundle
~60 kB
Installation
npm install slateCode example
import { useSlate } from "slate";
const rows = [
{ id: 1, name: "Ada", role: "Engineer" },
{ id: 2, name: "Linus", role: "Maintainer" },
];
export function Example() {
const table = useSlate({ data: rows, columns: [{ accessorKey: "name" }, { accessorKey: "role" }] });
return <pre>{JSON.stringify(table, null, 2)}</pre>;
}Pros & cons
Pros
- Actively maintained by ianstormtaylor
- 0 weekly downloads. Battle tested
- First-class TypeScript definitions
- MIT licensed
Considerations
- Adds roughly ~60 kB to your bundle
- Needs client-only rendering in SSR frameworks
- Not supported in React Native
- 654 open issues on GitHub