@remirror/extension-react-tables
v3.0.1
Published
Create tables with nested react components.
Downloads
125,831
Readme
@remirror/extension-react-tables
This package includes two main features: table controllers and table cell menu.
Table controllers are some cells at the top and left side of the table. Table controllers can only be seen when the table is forced. With table controllers, a user can easily achieve the following functions:
- select a row, a column or the whole table
- delete a row or a column
- insert a row or a column
Table cell menu is a menu component that can be opened by clicking the top-right corner of a table cell. A table menu provides a method for user to trigger some ProseMirror commands:
- insert a column
- delete a column
- insert a row
- delete a column
- delete the table
- change the background color of one or multiple cells
Table cell menu can be triggered when users select multiple cell, in which case the menu button will be placed in the cell where the mouse in.
You can customize the looking and the behaviour of the menu button and menu popup by passing related paramters to TableComponents
.
Installation
yarn add @remirror/extension-react-tables # yarn
pnpm add @remirror/extension-react-tables # pnpm
npm install @remirror/extension-react-tables # npm
import { ReactComponentExtension } from '@remirror/extension-react-component';
import { TableComponents, TableExtension } from '@remirror/extension-react-tables';
import { EditorComponent, Remirror, ThemeProvider, useRemirror } from '@remirror/react';
import { AllStyledComponent } from '@remirror/styles/emotion';
const extensions = () => [new ReactComponentExtension(), new TableExtension()];
export const EditorWithTable = () => {
const { manager, state } = useRemirror({ extensions });
return (
<AllStyledComponent>
<ThemeProvider>
<Remirror manager={manager} initialContent={state}>
<EditorComponent />
<TableComponents />
</Remirror>
</ThemeProvider>
</AllStyledComponent>
);
};