Hooks and components for consuming remirror with your fave framework React.
Overall
score
36%
Evaluation — 36%
↑ 1.09xAgent success when using this tile
Pre-built React components for common editor functionality including formatting buttons, toolbars, and specialized UI elements.
Ready-to-use buttons for text formatting operations.
/**
* Button to toggle bold formatting
*/
interface ToggleBoldButton extends React.Component {}
/**
* Button to toggle italic formatting
*/
interface ToggleItalicButton extends React.Component {}
/**
* Button to toggle underline formatting
*/
interface ToggleUnderlineButton extends React.Component {}
/**
* Button to toggle strikethrough formatting
*/
interface ToggleStrikeButton extends React.Component {}
/**
* Button to toggle inline code formatting
*/
interface ToggleCodeButton extends React.Component {}
/**
* Button to toggle subscript formatting
*/
interface ToggleSubscriptButton extends React.Component {}
/**
* Button to toggle superscript formatting
*/
interface ToggleSuperscriptButton extends React.Component {}Usage Example:
import React from 'react';
import {
ToggleBoldButton,
ToggleItalicButton,
ToggleUnderlineButton
} from '@remirror/react';
function FormattingToolbar() {
return (
<div>
<ToggleBoldButton />
<ToggleItalicButton />
<ToggleUnderlineButton />
</div>
);
}Buttons for managing block-level elements and structures.
/**
* Button to toggle heading levels
*/
interface ToggleHeadingButton extends React.Component {}
/**
* Button to toggle blockquote
*/
interface ToggleBlockquoteButton extends React.Component {}
/**
* Button to toggle code block
*/
interface ToggleCodeBlockButton extends React.Component {}
/**
* Button to toggle callout blocks
*/
interface ToggleCalloutButton extends React.Component {}
/**
* Button to toggle whitespace display
*/
interface ToggleWhitespaceButton extends React.Component {}Buttons for creating and managing different types of lists.
/**
* Button to toggle bullet lists
*/
interface ToggleBulletListButton extends React.Component {}
/**
* Button to toggle ordered lists
*/
interface ToggleOrderedListButton extends React.Component {}
/**
* Button to toggle task lists
*/
interface ToggleTaskListButton extends React.Component {}
/**
* Button to increase list indentation
*/
interface IncreaseIndentButton extends React.Component {}
/**
* Button to decrease list indentation
*/
interface DecreaseIndentButton extends React.Component {}Buttons for controlling text alignment.
/**
* Button to left align text
*/
interface LeftAlignButton extends React.Component {}
/**
* Button to center align text
*/
interface CenterAlignButton extends React.Component {}
/**
* Button to right align text
*/
interface RightAlignButton extends React.Component {}
/**
* Button to justify align text
*/
interface JustifyAlignButton extends React.Component {}Buttons for inserting various content types.
/**
* Button to insert horizontal rule
*/
interface InsertHorizontalRuleButton extends React.Component {}
/**
* Button to create table
*/
interface CreateTableButton extends React.Component {}
/**
* Button to toggle column layout
*/
interface ToggleColumnsButton extends React.Component {}Buttons for adjusting font size.
/**
* Button to increase font size
*/
interface IncreaseFontSizeButton extends React.Component {}
/**
* Button to decrease font size
*/
interface DecreaseFontSizeButton extends React.Component {}Buttons for undo/redo operations.
/**
* Button to undo last action
*/
interface UndoButton extends React.Component {}
/**
* Button to redo last action
*/
interface RedoButton extends React.Component {}Buttons for clipboard operations.
/**
* Button to copy content
*/
interface CopyButton extends React.Component {}
/**
* Button to cut content
*/
interface CutButton extends React.Component {}
/**
* Button to paste content
*/
interface PasteButton extends React.Component {}General-purpose button components.
/**
* Generic command button
*/
interface CommandButton extends React.Component {}
/**
* Dropdown button component
*/
interface DropdownButton extends React.Component {}Pre-configured groups of related buttons for common use cases.
/**
* Basic formatting buttons (bold, italic, underline)
*/
interface BasicFormattingButtonGroup extends React.Component {}
/**
* Extended formatting buttons
*/
interface FormattingButtonGroup extends React.Component {}
/**
* List-related buttons
*/
interface ListButtonGroup extends React.Component {}
/**
* Heading level buttons
*/
interface HeadingLevelButtonGroup extends React.Component {}
/**
* Text alignment buttons
*/
interface TextAlignmentButtonGroup extends React.Component {}
/**
* Undo/redo buttons
*/
interface HistoryButtonGroup extends React.Component {}
/**
* Copy/cut/paste buttons
*/
interface DataTransferButtonGroup extends React.Component {}
/**
* Indentation buttons
*/
interface IndentationButtonGroup extends React.Component {}
/**
* Callout type buttons
*/
interface CalloutTypeButtonGroup extends React.Component {}
/**
* Command button group
*/
interface CommandButtonGroup extends React.Component {}
/**
* Baseline button group
*/
interface BaselineButtonGroup extends React.Component {}Usage Example:
import React from 'react';
import {
BasicFormattingButtonGroup,
ListButtonGroup,
HistoryButtonGroup
} from '@remirror/react';
function CompactToolbar() {
return (
<div>
<BasicFormattingButtonGroup />
<ListButtonGroup />
<HistoryButtonGroup />
</div>
);
}Interactive menu components for various editor functions.
/**
* Command menu item
*/
interface CommandMenuItem extends React.Component {}
/**
* Toggle callout menu item
*/
interface ToggleCalloutMenuItem extends React.Component {}
/**
* Toggle heading menu item
*/
interface ToggleHeadingMenuItem extends React.Component {}Complete toolbar solutions for different editor modes.
/**
* Base toolbar component
*/
interface BaseToolbar extends React.Component {}
/**
* Floating toolbar that appears near selection
*/
interface FloatingToolbar extends React.Component {}
/**
* Markdown-specific toolbar
*/
interface MarkdownToolbar extends React.Component {}
/**
* WYSIWYG toolbar
*/
interface WysiwygToolbar extends React.Component {}
/**
* Vertical divider for toolbars
*/
interface VerticalDivider extends React.Component {}Usage Example:
import React from 'react';
import { Remirror, useRemirror, FloatingToolbar } from '@remirror/react';
function EditorWithFloatingToolbar() {
const { manager, state } = useRemirror({
extensions: () => [/* your extensions */],
});
return (
<Remirror manager={manager} initialContent={state}>
<FloatingToolbar />
{/* Toolbar will appear when text is selected */}
</Remirror>
);
}Specialized popup components for enhanced editing features.
/**
* Emoji picker popup
*/
interface EmojiPopupComponent extends React.Component {}
/**
* Mention popup component
*/
interface MentionAtomPopupComponent extends React.Component {}Components for floating UI elements with positioning.
/**
* Wrapper for floating UI elements with positioning
*/
interface FloatingWrapper extends React.Component<{
/** Child components to render */
children: React.ReactNode;
/** Positioning options */
placement?: Placement;
/** Whether to show/hide the floating element */
enabled?: boolean;
}> {}
/**
* Portal for rendering components into editor's positioner widget
*/
interface PositionerPortal extends React.Component<{
/** Components to render in the portal */
children: React.ReactNode;
/** Positioner instance to use */
positioner?: Positioner;
}> {}Complete feature implementations as single components.
/**
* Complete find and replace UI
*/
interface FindReplaceComponent extends React.Component<{
/** Whether the component is visible */
visible?: boolean;
/** Callback when visibility changes */
onVisibilityChange?: (visible: boolean) => void;
}> {}Usage Example:
import React, { useState } from 'react';
import { Remirror, useRemirror, FindReplaceComponent } from '@remirror/react';
function EditorWithFindReplace() {
const [showFindReplace, setShowFindReplace] = useState(false);
const { manager, state } = useRemirror({
extensions: () => [/* your extensions */],
});
return (
<div>
<button onClick={() => setShowFindReplace(true)}>
Find & Replace
</button>
<Remirror manager={manager} initialContent={state}>
<FindReplaceComponent
visible={showFindReplace}
onVisibilityChange={setShowFindReplace}
/>
</Remirror>
</div>
);
}Context providers for theming and configuration.
/**
* Theme context provider for styling components
*/
interface ThemeProvider extends React.Component<{
/** Theme configuration object */
theme?: Theme;
/** Child components */
children: React.ReactNode;
}> {}
interface Theme {
/** Color scheme */
colors?: Record<string, string>;
/** Typography settings */
typography?: Record<string, string | number>;
/** Component-specific styles */
components?: Record<string, any>;
}Icon components and utilities for consistent iconography.
/**
* Base icon component and icon system utilities
* Includes various predefined icons for editor actions
*/
interface IconSystem {
/** Base icon component */
Icon: React.ComponentType<{
name: string;
size?: number;
color?: string;
}>;
/** Icon registration utilities */
registerIcon: (name: string, component: React.ComponentType) => void;
/** Available icon names */
availableIcons: string[];
}docs
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10