You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Improve how renderers surround the root block element. React tree should not change because of the renderer changes.
Make the editor tabbable, add tabIndex={0}.
Inside coloured text, split the caret vertically in half and color top part in the color of the text and color the lower part in some color that matches the background.
Stackable (Many) slice annotations
Ability to register a metadata editor
Ability to preview changes without integrating them in main document
Dropdown listing all annotation at caret
Ability to select one
Ability to change selection range of picked annotation
Ability to insert
Ability to retrieve reference to it
Ability to modify its metadata
Ability to remove
Stretch: Ability to modify start and end positions
BUG: when deleting emojis, delete them all at once
BUG: long words are word-wrapped if caret is in the middle
BUG: next line pos is not found when caret at the very left edge of text
On multiple quick consecutive clicks extend selection in the following order: (1) word; (2) soft line; (3) hard line?; (4) block (what if it is the same as hard line?); (5) block and two adjacent blocks; (6) the whole document.
Separate context and <Editor> into their very own components, create state container. So that toolbar can be rendered in a very different place.
Named styles: user defined inline formatting combination which can be applied to text
Minimap
Render blocks according to their text size
and/or, render heading blocks
Paragraph (block element properties)
Text alignment
Indentation
Line height
Caret
Ability to change caret color
Ability for caret to hold state
Keep track and render fast typing score
Block side menu
Should be able to handle nested blocks
Caret hover menu
Close on Esc
Ability pick inline formatting
Ability to select formatting overlapping with caret
Selection hover menu
Clipboard module
Create a separate standalone module for managing clipboard operations.
Support old execCommand as well as navigator.clipboard APIs.
Make the clipboard module sufficiently generic, so it can work across multiple documents.
Make use, where possible, of DOM cut, copy, and paste events.
Use browser storage mechanism for complex clipboard data persistance.
Make storage interface pluggable.
Implement Peritext range serialization from CRDT coordinates to plain JSON.
Implement ability to insert JSON serialized content into a Peritext document.
Support parsing incoming rich-text paste events.
Inline formatting: (1) bold; (2) italic; (3) etc.
Images
Ability to render remote cursors
Undo/redo module
Implement undo and redo stacks.
Make the module sufficiently generic, so it can work across multiple documents.
Ability to store non-persistent events, such as mouse/cursor/view changes.
Backspace
clicks.blur
grey out the cursors.focus
make cursors active.mousemove
events if coordinates don't change.Block
andLeafBlock
instances.Inline
instances.ChunkSlice
s, only when necessary. (And cache?)Inline
, memoize it based on hash..text
contents.Enter
paragraph splitting using the right DOM events.Ctrl + Enter
.input
event composition when done through keyboard.cursor
events, operate in the native CRDT coordinates.RESET
event.compositionstart
,compositionupdate
, andcompositionend
events.contentvisibilityautostatechange
event to not re-render invisible blocks.tabIndex={0}
.Many
) slice annotations<Editor>
into their very own components, create state container. So that toolbar can be rendered in a very different place.Paragraph (block element properties)
Caret
Block side menu
Caret hover menu
Esc
Selection hover menu
Clipboard module
execCommand
as well asnavigator.clipboard
APIs.cut
,copy
, andpaste
events.paste
events.Undo/redo module
AI
web-llm
Code blocks
Composition
Product feature investigation
Icons
Fragments
Context menus
Context menu size toggle
The text was updated successfully, but these errors were encountered: