O editor de rich text Quill 2.0 é lançado, com recursos, confiabilidade e experiência de desenvolvedor bastante aprimorados

A versão 2.0 do Quill foi lançada.

Declaração oficial do TypeScript

O código-fonte do Quill foi totalmente transferido para TypeScript, com os benefícios de detecção precoce de erros, maior capacidade de manutenção e melhor suporte de ferramentas.

Anteriormente, os desenvolvedores tinham que @types/quillinstalá-lo como um pacote separado para obter definições TypeScript. No Quill 2.0, as declarações de tipo podem ser obtidas diretamente da fonte.

vários registros

Os projetos de blog podem usar o Quill para fornecer uma interface de edição completa para a postagem em si, incluindo títulos, imagens e blocos de código, enquanto na mesma página, o Quill também suporta entrada de comentários em negrito e itálico, bem como formatos de link suportados. Novos registryrecursos do Quill 2.0 suportam esse caso de uso, permitindo que vários editores com suas próprias configurações de estilo coexistam na mesma página sem conflitos.

Detecção automática de contêineres rolantes

No passado, os desenvolvedores precisariam especificar o contêiner de rolagem do editor ao criar uma instância do Quill para que o cursor ou a seleção do usuário pudesse rolar para visualização quando necessário. Mas essa configuração é muitas vezes ignorada ou confusa, e o contêiner rolante é especificado incorretamente ou nem sequer é especificado. Além disso, em aplicativos e bases de código maiores, nem sempre é fácil encontrar o contêiner de rolagem correto para componentes reutilizáveis ​​do editor que podem aparecer em diferentes contextos. Na versão 2.0, o Quill encontra automaticamente o contêiner de rolagem correto, o que facilita o uso do Quill com texto de formato mais longo e oferece suporte a interações mais complexas, como contêineres de rolagem aninhados livremente e rolagem horizontal.

UsandoInputEvent

Um dos principais pontos fortes do Quill é seu modelo de documento gerenciado internamente, que não depende do DOM como fonte única de verdade. Isso fornece um mapeamento de estados de rich text mais próximo do modelo mental do desenvolvedor e oferece suporte a uma API de edição de texto mais simples.

Quill faz isso ouvindo as alterações do DOM e normalizando-as de volta ao seu modelo de documento interno. No entanto, os navegadores podem lidar com as ações do usuário de maneira inconsistente ou incorreta, resultando na geração de alterações incorretas no DOM. Por exemplo, quando um usuário seleciona um texto vermelho e o substitui digitando, o navegador às vezes o substitui por fontum elemento que possui vermelho em seus atributos style, mesmo que o editor utilize spano elemento para representar a cor.

No Quill 2.0, use recursos modernos e comuns do navegador para acionar InputEvents . Agora, as ações do usuário são capturadas primeiro para atualizar o modelo de documento interno antes que as alterações resultantes sejam sincronizadas com o DOM. Essa abordagem proporciona uma experiência de edição mais consistente e confiável, especialmente para conteúdos e formatos complexos. Este recurso está atualmente focado nas fontes mais problemáticas de interações de substituição de texto, com planos para uso mais amplo no futuro.

A seguir está uma lista das principais informações de atualização para 2.0:

Principais melhorias

  • Quill agora é um pacote ESM válido para melhor suporte ao ecossistema (por exemplo, empacotadores) e funcionalidade de agitação de árvores

  • Suporte de pena aninhada #3590

  • Método de entrada aprimorado (IME) e suporte ao corretor ortográfico #3807

  • Limpeza semântica do evento TEXT_CHANGE #3778

  • Histórico: Registrando seleções no módulo histórico #3823

  • Detectar automaticamente contêineres de rolagem #3840

  • Área de transferência: suporte aprimorado para colar do Google Docs e Microsoft Word

Melhorias de desempenho

  • O Quill 2.0 inclui uma série de otimizações de desempenho, a mais importante das quais é a maior velocidade na renderização de grandes quantidades de conteúdo.

  • Melhore o desempenho de inserção #3815

  • Evite obter conjuntos de seleção, se possível #3538

  • Não há necessidade de setContents quando o contêiner estiver vazio #3539

Modernização de código

  • Migrar para TypeScript

  • Declaração oficial TypeScript fornecida

  • Migrar para Vitest para testes unitários

  • Migre para o Playwright para testes completos

  • Migrar site para Gatsby

Para obter detalhes, verifique o anúncio oficial e o guia de migração 2.0:

Acho que você gosta

Origin www.oschina.net/news/288177/quill-2-0-released
Recomendado
Clasificación