Facebook открыл под лицензией BSD код JavaScript-библиотеки Draft.js, которая используется в социальной сети для оргнанизации редактирования статусов, комментариев, заметок и сообщений. Поддерживаются такие базовые возможности WYSISYG-редакторов, как изменение параметров шрифта, заголовки, списки и выделение блоков. Библиотека написана для совместного использования с фреймворком React.
Основные особенности:
- Расширяемость и настраиваемость: разработчику предлагается набор блоков для создания различных вариантов редактирования контента, от простых текстовых редакторов до возможностей встраивания мультимедийного контента;
- Декларативный API для оформления текста, бесшовно интегрируемый с приложениями на базе фреймворка React и абстрагированный от методов ввода, отрисовки и выделения;
- Неизменность состояния редактора: модель редактирования основана на API через который отражается изменение состояния редактируемого объекта и обеспечивается сохранность результатов редактирования в любой момент времени;
- Поддержка всех актуальных web-браузеров;
- Поддержка предоставляемого операционной системой поведения управления курсором, проверки орфографии и выделения для буфера обмена;
- Возможность обработки нативных событий ввода.