Facebook відкрив код Lexical, бібліотеки для створення редакторів тексту

Компанія Facebook (заборонена в РФ) відкрила вихідні тексти JavaScript-бібліотеки Lexical, яка пропонує компоненти для створення текстових редакторів та просунутих web-форм редагування тексту для сайтів та web-додатків. З відмінностей бібліотеки виділяється простота інтеграції на сайти, компактне виконання, модульність та підтримка засобів для людей з обмеженими можливостями, таких як екранні рідери. Код написаний мовою JavaScript та поширюється під ліцензією MIT. Для ознайомлення із можливостями бібліотеки підготовлено кілька інтерактивних демонстрацій.

Бібліотека розрахована на простоту підключення і не залежить від зовнішніх web-фрейворків, але надає готові прив'язки для спрощення інтеграції з фреймворком React. Для використання Lexical достатньо прив'язати екземпляр редактора до елемента, що редагується, після чого в процесі редагування можна контролювати стан редактора через обробку подій і команд. Бібліотека дозволяє відстежувати стан редактора в будь-який момент часу і відображати в DOM зміни на підставі обчислення відмінностей між станами.

Можливе створення форм для введення простого тексту без розмітки, так і побудова інтерфейсів візуального редагування документів, що нагадують текстові процесори і надають такі можливості, як вставка таблиць, зображень і списків, маніпуляції зі шрифтами та управління вирівнюванням тексту. Розробник має можливість перевизначення поведінки редактора або підключення оброблювачів для реалізації нетипової функціональності.

Базовий каркас бібліотеки містить мінімально необхідний набір компонентів, функціональність якого розширюється через підключення плагінів. Наприклад, через плагіни можна підключити додаткові елементи інтерфейсу, панелі, засоби візуального редагування в режимі WYSIWYG, підтримку формату markdown або компоненти для роботи з окремими видами контенту, такими як списки та таблиці. У формі плагінів також доступні такі функції як автодоповнення введення, обмеження на максимальний розмір даних, що вводяться, відкриття та збереження файлів, прикріплення приміток/коментарів, голосове введення і т.п.

Джерело: opennet.ru

Додати коментар або відгук