Lexical de código aberto do Facebook, uma biblioteca para a criação de editores de texto

O Facebook (banido na Federação Russa) abriu o código-fonte da biblioteca Lexical JavaScript, que oferece componentes para a criação de editores de texto e formulários web avançados para edição de texto para sites e aplicativos web. As qualidades distintivas da biblioteca incluem facilidade de integração em sites, design compacto, modularidade e suporte a ferramentas para pessoas com deficiência, como leitores de tela. O código é escrito em JavaScript e distribuído sob licença do MIT. Várias demonstrações interativas foram preparadas para você se familiarizar com os recursos da biblioteca.

A biblioteca foi projetada para facilitar a conexão e não depende de estruturas web externas, mas ao mesmo tempo fornece ligações prontas para simplificar a integração com a estrutura React. Para utilizar o Lexical, basta vincular uma instância do editor ao elemento que está sendo editado, após o que, durante o processo de edição, é possível controlar o estado do editor por meio do processamento de eventos e comandos. A biblioteca permite rastrear os estados do editor a qualquer momento e refletir as alterações no DOM com base no cálculo das diferenças entre os estados.

É possível criar tanto formulários para inserção de texto simples sem marcação, quanto construir interfaces para edição visual de documentos, que lembram processadores de texto e oferecem recursos como inserção de tabelas, imagens e listas, manipulação de fontes e controle de alinhamento de texto. O desenvolvedor tem a capacidade de substituir o comportamento do editor ou conectar manipuladores para implementar funcionalidades atípicas.

A estrutura básica da biblioteca contém o conjunto mínimo necessário de componentes, cuja funcionalidade é expandida conectando plug-ins. Por exemplo, por meio de plug-ins você pode conectar elementos adicionais de interface, painéis, ferramentas para edição visual no modo WYSIWYG, suporte para formato markdown ou componentes para trabalhar com determinados tipos de conteúdo, como listas e tabelas. Na forma de plug-ins, também estão disponíveis funções como preenchimento automático de entrada, limitação do tamanho máximo dos dados de entrada, abertura e salvamento de arquivos, anexação de notas/comentários, entrada de voz, etc.

Fonte: opennet.ru

Adicionar um comentário