lexical (facebook/lexical)
Searching Database…
Что это такое?
Lexical — это расширяемый фреймворк текстовых редакторов для веба от Meta, созданный с упором на надёжность, доступность и производительность. С его помощью вы делаете собственные редакторы с форматированием прямо в браузере.
Это готовый редактор, который можно просто вставить, или основа, на которой строишь сам?
Это фреймворк, а не готовое приложение: универсальное ядро, не привязанное к конкретному фреймворку, из которого вы собираете редактор из плагинов, с официальными привязками для React.
Как подключить его к своему проекту?
Установите ядро из npm и добавьте слой под свой стек — для приложений на React есть официальные привязки @lexical/react, а ещё есть быстрый старт на чистом Vanilla JS. Документация — на lexical.dev.
Обязательно использовать React, чтобы работать с ним?
Нет — ядро работает с любым UI-фреймворком; React просто официальный вариант от авторов, а для всего остального есть путь на чистом Vanilla JS.
Есть ли требования к версиям браузеров, о которых стоит знать?
Поддерживаются только современные браузеры: Chrome 86+, Edge 86+, Firefox 115+ и Safari 15+. Поддержки устаревших браузеров нет.
Какие типы контента поддерживаются из коробки?
Таблицы, списки, блоки кода и изображения работают из коробки, а архитектура плагинов позволяет создавать собственные узлы для всего, что выходит за рамки этого.
Как устроены отмена и повтор действий?
Состояние неизменяемо и рассчитано на «путешествия во времени», поэтому отмена и повтор действий встроены с самого начала — ничего не нужно подключать вручную.
Можно ли попробовать его, прежде чем встраивать в приложение?
Да — в репозитории есть playground, а также примеры редакторов для простого текста и текста с форматированием, и в документации на lexical.dev есть живые примеры.
Насколько серьёзно там относятся к доступности?
Это одна из главных особенностей: встроенная поддержка доступности с соответствием WCAG — одна из основных причин выбрать его вместо написания редактора с нуля.
Which topics is it in?
rich-text-editor, wysiwyg, text-editor, collaboration, accessibility, plugin-system, editor, real-time, json, html, plugin, markdown