Registro de Alterações

0.122.8

11 de Março de 2024

🐛 Correções de bugs

  • Corrige o problema onde painéis de entrada renderizados com a API popover poderiam perder a posição quando dentro de um ancestral rolável que não é o corpo do documento.
  • Corrige o problema onde pressionar a tecla enter com um input mask focado não submetia o formulário. 625
  • Corrige o problema onde mask não disparava o evento de entrada do DOM em entradas do usuário. #1011

0.122.7

5 de Março de 2024

🐛 Correções de bugs

  • Corrige o problema onde o input do tipo slider emitia um evento de commit após o hook de montagem (#1231).

0.122.6

5 de Março de 2024

🐛 Correções de bugs

  • Corrige o problema onde o seletor de cores não lidava corretamente com valores vazios (#1215).

0.122.5

5 de Março de 2024

🐛 Correções de bugs

  • Corrige o problema com a entrada de autocorreção onde tentar editar um valor existente fazia o cursor pular para o final do campo de entrada (#1051).

0.122.4

5 de Março de 2024

🐛 Correções de bugs

  • Corrige problema onde o dropdown com comportamento de overscroll e propriedade multiple apresentava rolagem errática ao selecionar (#1023).

0.122.3

4 de Março de 2024

🐛 Correções de bugs

  • Corrige problema com dropdown de seleção múltipla com tags onde a navegação por tabulação ficava "presa" na última tag (#1221).

0.122.2

28 de Fevereiro de 2024

Build

  • Aumenta a restrição de versão do FormKit Drag and Drop.

0.122.1

22 de Fevereiro de 2024

Build

  • Pequena alteração na API de arrastar e soltar para a nova versão.

0.122.0

15 de Fevereiro de 2024

💪 Novas Funcionalidades

  • Adiciona (Tempo) como dependência ao FormKit Pro.

0.121.10

14 de Fevereiro de 2024

🐛 Correções de bugs

  • Corrige o problema onde entradas do tipo dropdown não rolavam ao usar a tecla de seta para baixo (#1203).

0.121.9

14 de Fevereiro de 2024

🐛 Correções de bugs

  • Corrige o problema onde, ao focar no botão da lista de autocomplete, a própria lista podia ser aberta com qualquer tipo de tecla. Agora ela só pode ser aberta com a tecla enter ou a barra de espaço (#1201).

0.121.8

14 de Fevereiro de 2024

🐛 Correções de bugs

  • Corrige o problema onde aria-label não era dinâmico baseado no estado de abertura do autocomplete. (#923).
  • Corrige o problema onde o botão da lista de autocomplete é focável, mas pressionar a tecla enter ou espaço não abria a lista (#1201).

0.121.7

12 de Fevereiro de 2024

🐛 Correções de bugs

  • Adiciona propriedade popover às definições de tipo.

0.121.6

12 de Fevereiro de 2024

🐛 Correções de bugs

  • Corrige problema de acessibilidade relacionado ao input autocomplete (#923).
  • Adiciona aria-label aos elementos listboxButton e removeSelection dos inputs da família dropdown.

0.121.5

9 de Fevereiro de 2024

🐛 Correções de bugs

  • Adiciona localização para o valor da interface do usuário do atributo de título da seção removeSelection para entradas de autocomplete e taglist.

0.121.4

9 de Fevereiro de 2024

🐛 Correções de bugs

  • Aborda preocupação com acessibilidade envolvendo a seção removeSelection do input autocomplete. (#1195).
  • Corrige problema onde a propriedade max do input dropdown fazia com que o input se tornasse desabilitado (#1193).

0.121.3

7 de fevereiro de 2024

🐛 Correções de bugs

  • Corrige problemas de estilo com arrastar e soltar de repetidores para usuários do Genesis CSS vanilla.

0.121.2

6 de Fevereiro de 2024

🐛 Correções de bugs

  • Corrige o problema onde o atributo draggable não podia ser usado sem atribuição.

0.121.1

6 de Fevereiro de 2024

💪 Novas Funcionalidades

  • Adiciona atributo data-draggable à seção externa.

0.121.0

6 de fevereiro de 2024

💪 Novas Funcionalidades

  • Adiciona funcionalidade de arrastar e soltar ao repeater.
  • Adiciona animações padrão para toda a funcionalidade de arrastar e soltar.

🐛 Correções de Bugs

  • Corrige problema onde entradas do tipo dropdown da família não funcionavam bem ao usar validação e auto-animação (#1182).
  • Corrige problema onde selecionar uma opção atualmente "selecionada" da listbox não fechava a listbox (quando close-on-select estava configurado como verdadeiro) (#1126).

0.120.0

5 de Fevereiro de 2024

💪 Novas Funcionalidades

  • Adiciona uma nova propriedade opcional popover aos inputs autocomplete, colorpicker, datepicker, dropdown e taglist que renderiza seus painéis de conteúdo usando a nova API Popover do navegador. Até esta data, a API Popover ainda não é suportada no Firefox (versão 122) — mas será suportada na versão 125. Você pode verificar o suporte aqui. Para habilitar a renderização popover, basta adicionar a propriedade popover ao seu componente FormKit quando estiver usando um input suportado.
  • Você pode ver uma demonstração da nova funcionalidade popover aqui: https://formkit.link/2d80abf698f38785f0be27ebce76aa20

0.119.13

29 de Janeiro de 2024

🐛 Correções de bugs

Corrige o problema onde entradas do tipo dropdown da família não renderizavam o atributo name. (#1161).

0.119.12

25 de Janeiro de 2024

🐛 Correções de bugs

Corrige o problema onde entradas do tipo dropdown com opções assíncronas e paginação rolavam para o topo da lista ao clicar na seção "carregar mais" (#1149).

0.119.11

24 de Janeiro de 2024

🐛 Correções de bugs

  • Ajusta as tipagens para o input repetidor do FormKit.

0.119.10

24 de Janeiro de 2024

🐛 Correções de bugs

  • Ajusta as tipagens para entrada de dropdown do FormKit.

0.119.9

22 de Janeiro de 2024

Build

  • Atualiza a dependência @formkit/drag-and-drop para 0.0.7

0.119.7

17 de Janeiro de 2024

🐛 Correções de bugs

  • Corrige problema onde a lista de transferência lidava erroneamente com opções assíncronas quando combinada com carregador de opções assíncronas e envolvida em formulário com valores iniciais.

0.119.6

16 de Janeiro de 2024

🐛 Correções de bugs

  • Corrige o problema onde TouchEvent estava sendo referenciado erroneamente no ambiente do Safari para arrastar e soltar na Transferlist (#1123).

0.119.5

3 de Janeiro de 2024

🐛 Correções de bugs

  • Corrige o problema togglebuttons onde o estado ativo não era exibido quando o valor da opção era null (#975).

0.119.4

2 de Janeiro de 2024

🐛 Correções de bugs

  • Remove o atributo desativado da seção do conjunto de campos repetidores.

0.119.3

2 de Janeiro de 2024

🐛 Correções de bugs

  • (@formkit/core v1.5.x): Corrige o problema onde filhos em um repetidor não podem ser reativados após serem desativados (#975).

0.119.2

14 de Dezembro de 2023

🐛 Correções de bugs

  • Corrige o problema togglebuttons com valores nulos ou indefinidos (#975).

0.119.1

12 de Dezembro de 2023

💪 Novas funcionalidades

  • Adiciona a propriedade deselect ao input dropdown para impedir que o usuário desmarque um item: (#1012).

0.119.0

11 de Dezembro de 2023

💪 Novas funcionalidades

  • Adiciona suporte a toque para arrastar e soltar no input de transferlist.

🐛 Correções de bugs

  • Corrige bugs críticos para transferlist.

0.118.0

28 de Novembro de 2023

🐛 Correções de bugs

  • Corrige o tamanho da fonte dos togglebuttons no tema CSS Genesis.

0.117.7

20 de Novembro de 2023

🐞 Correções de Bugs

  • Colorpicker: Corrige o problema onde o valor hexadecimal #00000 poderia resultar em um valor de propriedade rgba indefinido ao inicializar o colorpicker

0.117.5

5 de Outubro de 2023

🐞 Correções de Bugs

  • Slider: Impede que o rótulo de passo padrão de 0 seja ocultado

0.117.4

5 de Outubro de 2023

🚀 Recursos

  • Slider: Adiciona novas seções handleMaxInner e handleMinInner ao input
  • Slider: Permite adicionar classes personalizadas a marcas e etiquetas de marca
  • Slider: Refaz funções de escalonamento para que os usuários não precisem calcular seus próprios valores percentuais em funções inversas

🐞 Correções de Bugs

  • Slider: Impede que etiquetas de marca undefined sejam renderizadas como “undefined”
  • Slider: Atualiza sliders de valor único com entrada externa

0.117.3

5 de Outubro de 2023

🐛 Correções de Bugs

  • Corrige o problema onde o input do tipo dropdown com valor inicial nulo renderizava o ícone de remoção de seleção (se a propriedade selection-removable fosse utilizada). (#971).

0.117.2

3 de Outubro de 2023

🐛 Correções de Bugs

0.117.1

3 de Outubro de 2023

🐛 Correções de Bugs

  • Corrige um bug que poderia causar opções duplicadas no dropdown ao usar a propriedade load-on-created (#975).

0.117.0

2 de Outubro de 2023

⚠️ Mudanças que quebram a compatibilidade

  • O datepicker agora inclui um botão de "fechar" quando renderizado em dispositivos apenas com toque (@media (max-width: 431px) and (hover: none)). Isso está contemplado no tema genesis, mas se você está usando um tema personalizado, você deve atualizá-lo para levar em conta essa mudança.

💪 Novas funcionalidades

🐛 Correções de Bugs

  • Corrige um bug que poderia causar opções duplicadas no dropdown (#975).
  • Corrige um problema que fazia com que o datepicker não exibisse a data correta quando configurado para undefined após ter uma data válida aplicada (#972).

0.116.0

29 de Setembro de 2023

💪 Novas funcionalidades

🐛 Correções de Bugs

  • Resolve um bug com seleção removível (#971)

0.115.10

20 de Setembro de 2023

🐛 Correções de Bugs

  • Amplia a restrição de versão da dependência @formkit/core para incluir 1.1.0.

0.115.9

19 de Setembro de 2023

🐛 Correções de Bugs

  • Corrige um bug no seletor de datas que fazia com que o seletor fechasse automaticamente ao ser aberto com um clique do mouse na própria data no modo picker-only. (#942).

0.115.2

30 de Agosto de 2023

🐛 Correções de Bugs

  • Melhora a reatividade das opções nos campos autocomplete, dropdown e taglist (#922).
  • Corrige problema de acessibilidade no campo de autocomplete (#923).

0.115.1

26 de Agosto de 2023

⚠️ Mudanças Significativas

  • O input de autocomplete com seleção múltipla agora possui sua seção removeSelection adjacente ao slot de seleção, em vez de estar dentro dele.

0.115.0

25 de Agosto de 2023

⚠️ Mudanças que Quebram Compatibilidade

  • Os componentes autocomplete e dropdown agora possuem uma nova seção chamada selectionWrapper que é usada para envolver a opção selecionada. Isso facilita a substituição do slot de seleção, já que você não precisa mais reimplementar nenhuma funcionalidade. No entanto, isso significa que há um elemento a mais no DOM.
  • No input autocomplete, quando no modo de seleção única, a seção removeSelection agora está adjacente ao slot de seleção, em vez de estar dentro dele. Isso torna mais fácil substituir o slot de seleção sem ter que reimplementar a funcionalidade de remoção da seleção.

💪 Novas Funcionalidades

  • Changelog dedicado ao FormKit Pro para rastrear mudanças separadamente do projeto open-source FormKit. Atualizações do Pro não serão mais misturadas com o changelog padrão do FormKit.
  • O input datepicker agora inclui uma nova propriedade clearable que adiciona um botão de limpar ao lado do input quando ele possui um valor.

🐛 Correções de Bugs

  • Corrige a lógica de clique fora no input datepicker (#645).
  • Melhora as tipagens nos componentes autocomplete, dropdown e taglist.
  • Corrige um problema que causava um erro ao referenciar o rótulo de uma opção no slot de opção no dropdown (#914)
  • Corrige um problema que fazia com que a option no slot de option não fosse reativa se alterada após a seleção.

1.6.0

11 de Março de 2024

💪 Novos recursos

  • Adiciona novo composable useFormKitContext para acesso ao objeto de contexto do componente pai FormKit — ou qualquer outro componente FormKit na árvore. Opcionalmente, você pode fornecer um callback de efeito que é executado quando o contexto está disponível.
  • Adiciona novo composable useFormKitContextById para acesso ao objeto de contexto de qualquer componente FormKit com um id explícito. Opcionalmente, você pode fornecer um callback de efeito que é executado quando o contexto está disponível.
  • Adiciona novo composable useFormKitNodeById para acesso ao objeto de nó de qualquer componente FormKit com um id explícito. Opcionalmente, você pode fornecer um callback de efeito que é executado quando o nó está disponível.
  • Adiciona autocomplete de intellisense para a propriedade type do componente FormKit (#1241).
  • Adiciona nova função stopWatch ao pacote @formkit/core que permite desregistrar recibos da função watchRegistry.
  • Adiciona tipo genérico à função getNode<T>().
  • Nova integração com @nuxt/tailwindcss que inclui automaticamente o arquivo formkit.theme.ts no conteúdo do tailwind.
  • Adiciona novos ícones currency e unit.
  • Adiciona nova propriedade library aos componentes FormKit e FormKitMessages que permite incluir componentes adicionais para o esquema de entrada, por exemplo, ao usar sections-schema para modificar a entrada (#1145) (#1137).
  • O tipo de value de um componente FormKit que recebe um FormKitTypeDefinition agora é inferido do FormKitTypeDefinition.

🐛 Correções de bugs

  • Corrige bug em changeLocale que fazia com que o locale atualizado não fosse usado em novos nós (#1143).
  • Corrige tree shaking do pacote @formkit/icons (#1184).
  • Adiciona componente FormKitIcon ao recurso autoImport do módulo Nuxt (#1168).
  • Corrige tipos para BeforeStepChangeData (#1224).
  • Corrige tipos para o tipo de entrada datetime-local (#1129).
  • Vue agora é uma peerDependency de @formkit/vue para reduzir os incidentes de múltiplas instâncias do Vue no mesmo projeto (#1160).
  • Adiciona tabindex e role="button" aos wrappers de ícones quando um evento de clique é adicionado ao ícone (#1210).
Tipos de Entrada Personalizados

O argumento type do componente FormKit agora requer um tipo correspondente no tipo FormKitInputProps para suporte ao TypeScript. Se você está usando entradas personalizadas e forneceu uma ampliação de módulo para FormKitInputProps, você precisará atualizar o tipo FormKitInputProps para incluir seus tipos.

1.5.9

9 de Fevereiro de 2024

💪 Novos recursos

  • Adiciona ui.open a todos os locais i18n.

1.5.7

6 de Fevereiro de 2024

💪 Novas funcionalidades

  • Adiciona ícone dragHandle aos ícones genesis.

1.5.6

6 de Fevereiro de 2024

💪 Novos recursos

  • Adiciona ícone de arrastar (dragHandle).

1.5.5

3 de Fevereiro de 2024

🐛 Correções de bugs

  • Corrige o problema que impedia a instalação de temas usando o comando npx formkit theme.

1.5.4

2 de Fevereiro de 2024

💪 Novos recursos

  • O plugin Floating Labels agora suporta conteúdo prefix ao calcular a posição da etiqueta. (#878)
  • Atualiza o pacote @formkit/cli para permitir a geração de temas publicados localmente em seus projetos. Veja a nova documentação aqui. (#1170)

🐛 Correções de bugs

  • Corrige o problema onde multi-step não permitia substituições de esquema para as seções tabs ou tab. (1110)

1.5.3

29 de Janeiro de 2024

🐛 Correções de bugs

  • Corrige um bug que fazia com que algumas regras de validação dinâmica parassem de funcionar após serem atualizadas (#1155)
  • Corrige uma regressão na versão 1.5.0 que impedia que alguns pacotes do FormKit não fossem devidamente eliminados na otimização de árvore (tree shaking) (#1139)
  • Corrige um bug que fazia com que erros inicialmente definidos com a propriedade nem sempre fossem exibidos inicialmente (#1153)

1.5.2

23 de Janeiro de 2024

🐛 Correções de bugs

  • Atualiza o componente FormKitKitchenSink para incluir novos presets de $options que podem ser usados nos exemplos de esquema buscados dinamicamente para autores de temas.

1.5.1

19 de Janeiro de 2024

🐛 Correções de bugs

  • Corrige um bug introduzido na 1.5.0 que fazia com que o context.value não sincronizasse corretamente com o node.value dentro de estruturas de grupos aninhados (#1133).

1.5.0

16 de Janeiro de 2024

FormKit 1.5.0 chega com uma nova versão de desenvolvimento do FormKit. No desenvolvimento, o FormKit agora usa versões ligeiramente diferentes de seus pacotes que incluem melhorias adicionais na experiência do desenvolvedor. Isso é semelhante a como o Vue tem versões de "desenvolvimento" e "produção", e permite que o FormKit ofereça uma experiência de desenvolvedor aprimorada, como suporte melhorado ao HMR e mensagens de erro melhores.

A base agora está preparada para uma experiência de desenvolvedor muito melhorada em lançamentos futuros. Este lançamento também inclui dezenas de correções de bugs e melhorias.

💪 Novos recursos

  • Adiciona uma nova API para adicionar props a entradas com valores padrão, props booleanas e getters/setters. Veja a documentação atualizada para mais informações.
  • createInput agora suporta um terceiro argumento, sectionsSchema, que permite estender as seções padrão que vêm com createInput (#882).
  • Adiciona nova propriedade de contexto didMount e evento de nó mounted para reconhecer quando o componente <FormKit> é montado no DOM (#0b8753d).
  • Agora node.children são observados por @formkit/observer, isso permite que regras de validação acessem node.children com reatividade.
  • A substituição de módulo quente com Vite/Nuxt agora preserva o estado do formulário ao atualizar o código do formulário (#1068)
  • Adiciona novo composable changeLocale que altera globalmente o locale de todos os formulários com Options API, Composition API e autoimport do Nuxt (#1112)
  • Regras allow_non_alpha e allow_numeric.
  • O novo cli do FormKit agora cria novos aplicativos (npx formkit create-app) para usar o sistema de temas do themes.formkit.com.
  • Nova versão de desenvolvimento do FormKit que inclui melhorias adicionais na experiência do desenvolvedor.

🐛 Correções de bugs

  • Corrige avisos de comentário TSDoc do Vite - por Yue Yang (e47c9)
  • Corrige nome do create-app para projetos nuxt no Windows (1066)
  • Entradas que usam options (select, checkbox, radio, autocomplete etc) agora contam corretamente seu valor __mask (#1046).
  • Corrige um bug que não permitia que submitAttrs desabilitasse a entrada de envio (#789).
  • Remove data-disabled em entradas de checkbox e rádio quando falso - (#1043).
  • Corrige autoAnimate quando usado em repetidores e outras entradas com condicionais complexas (#1016).
  • Melhora significativamente o recurso experimental autoImport do @formkit/nuxt (1095, e outros).
  • Hidratação de textarea autoheight no nuxt (#980).
  • Adiciona mensagens não bloqueantes em getValidationMessages (#849).
  • node.clearErrors() sempre remove erros locais àquele nó (#941)
  • Reduz re-renderizações em valores de grupo destruturados (#1068).
  • Remove aviso sobre slot padrão de multi-step sendo chamado fora da função de renderização (#920).
  • Entradas dentro de um repetidor desabilitado podem ser habilitadas por entrada (#1043).
  • Melhora a tipagem para createInput() (#1105).
  • Remove data-complete em grupos/listas (#1038).
  • Props booleanas como disabled e preserve agora podem ser usadas sem defini-las explicitamente como true ou false (#989).
warning

Vitest não usa automaticamente os mesmos parâmetros de nó (condições) que o Vite usa (veja #4971). Se você encontrar falhas em seus testes após atualizar, você pode adicionar o seguinte ao seu arquivo vitest.config.js:

export default defineConfig({
  resolver: {
    conditions: process.env.VITEST ? ['development'] : undefined
  },
  test: {
    // ...configuração do vitest
  }
})

Vite deve estar em ~1.2.x ou superior para usar esse recurso.

1.4.0

5 de Dezembro de 2023

💪 Novas funcionalidades

  • FormKit agora suporta temas para TailwindCSS! Personalize a aparência dos seus formulários com um editor visual. Veja themes.formkit.com para mais informações.
  • Adiciona novo componente <KitchenSink> que renderiza um espécime de cada entrada do FormKit (útil para estilização).
  • Adiciona nova propriedade state.required ao objeto de contexto (facilita a adição de asteriscos em entradas obrigatórias).
  • Adiciona atributo aria-required aos elementos <input>, <select> e <textarea> quando são obrigatórios (#984).
  • Adiciona nova propriedade force-show ao componente <FormKitSummary> para forçar a exibição do resumo mesmo que não haja erros visíveis.
  • Adiciona novo comando create-theme para a ferramenta CLI formkit para criar um novo tema a partir de @formkit/theme-starter.

🐛 Correções de bugs

  • Corrige um bug que fazia com que entradas de rádio dentro de repetidores se acoplassem (#1044).
  • Corrigido um problema que fazia com que node.submit() falhasse quando dentro da raiz de sombra de um elemento personalizado (#1057).
  • Corrige um bug que fazia com que entradas pro não produzissem memokeys apropriados (#933).
  • Corrigido um bug que impedia que atributos passassem através de <FormKitProvider> (e provedores relacionados) (#1013).
  • Moveu a mensagem invalidDate para a chave de local validation (#953)
  • Melhorou a mensagem de validação min e max (en) para ser a chave de local validation (#953)
  • Corrigido um bug que impedia que a propriedade incomplete-message (em formulários) fosse reativa (#1047).

1.3.2

28 de Novembro, 2023

🐛 Correções de bugs

  • Corrige a cor do texto dos togglebuttons no tema padrão Tailwind Genesis.

1.3.1

28 de Novembro, 2023

💪 Novas funcionalidades

🐛 Correções de bugs

  • Corrige estilos Tailwind para alinhamento do ícone de prefixo na família de entradas de botão.

1.3.0

9 de outubro de 2023

💪 Novos recursos

  • Adiciona novos plugins para contar caracteres disponíveis em uma entrada com base na regra length.
  • Adiciona um componente <KitchenSink> que renderiza todos os espécimes de entrada.
  • Adiciona um atributo data-has-multiple às entradas file na seção outer quando possuem vários arquivos.

🐛 Correções de bugs

  • Corrige um bug com a entrada select com grupos de opções contendo valores não-string (#986).
  • Corrige um problema com o autoImport do nuxt no webpack (#983)
  • Corrige um bug que impede entradas profundamente aninhadas de receber o valor de entrada correto durante um reset (#1025)
  • Corrige o comando create-app da ferramenta cli formkit ao instalar vite.
  • Corrige um bug que fazia com que o módulo @formkit/nuxt com autoImport não incluísse o componente FormKit (#995)

1.2.2

3 de Outubro, 2023

🐛 Correções de Bugs

  • Corrige um bug com @formkit/nuxt no modo autoImport onde o contexto SSR não estava sendo redefinido após cada solicitação, levando a erros de hidratação e UI quebrada em algumas entradas profissionais.

1.2.1

29 de setembro de 2023

🐛 Correções de Bugs

  • Melhora o suporte ao modo dev para @formkit/nuxt com a opção autoImport ativada.

1.2.0

29 de setembro de 2023

💪 Novos recursos

  • O input select agora suporta opções agrupadas (<optgroup>) (#426).
  • O pacote @formkit/nuxt agora inclui uma opção experimental autoImport que carrega o FormKit apenas nas páginas em que é usado, em vez de globalmente. Isso removerá o FormKit do seu arquivo de entrada. Planejamos eventualmente tornar isso o comportamento padrão e incentivamos todos que usam o módulo nuxt atual a experimentar a nova opção.
  • Adiciona suporte para prefix-icon e suffix-icon para inputs criados com createInput().
  • Melhora significativamente o tree shaking de inputs e opções de configuração (com configuração manual).
  • Adiciona suporte Tailwind para novo input colorpicker.
  • Adiciona novo ícone color.

📙 Documentação

🐛 Correções de bugs

  • O plugin Zod agora itera sobre problemas, não erros (#945)

1.1.0

20 de setembro de 2023

💪 Novos recursos

  • Adiciona novo <FormKitProvider :config="yourConfig"> — um componente que define um novo limite de configuração. Qualquer componente <FormKit> que esteja aninhado abaixo de um <FormKitProvider> herdará sua configuração deste local.
  • Adiciona um novo <FormKitLazyProvider> que verifica um limite superior de <Suspense> (se não encontrado, ele injeta um) e injeta um componente <FormKitConfigLoader>.
  • Adiciona um novo componente <FormKitConfigLoader>. Um componente assíncrono que realiza uma importação dinâmica para um arquivo de configuração.

Nota: Os novos componentes listados acima estão atualmente em fase experimental e serão documentados mais adiante à medida que a API se estabilizar.

🐛 Correções de bugs

  • Corrige um bug na definição TypeScript do componente <FormKit> que causa um erro TypeScript nas Ferramentas de Linguagem Vue (Volar) > 1.8.11.
  • Melhora o tree shaking em todos os pacotes @formkit/*.
  • Corrige um bug em muitas das regras de validação alpha, alphanumeric e contains_* para o conjunto de caracteres latin.

1.0.0

1 de Setembro, 2023

Com este lançamento, estamos oficialmente declarando o FormKit estável e pronto para produção. Muitos membros da comunidade já estão usando o FormKit em produção há mais de um ano e estão muito satisfeitos com os resultados. Esperamos que você também esteja!

Além disso, FormKit Pro agora está disponível para o público em geral (sem necessidade de acesso antecipado). FormKit Pro ainda está em Beta, e estamos trabalhando duro para prepará-lo para um lançamento estável.

💪 Novos recursos

  • Adiciona um novo componente <FormKitSummary> que lista automaticamente todos os erros e mensagens de validação em um formulário com links de salto para cada um (a11y).

🐛 Correções de bugs

  • Melhora os estilos de foco para as entradas radio, checkbox e range (a11y).
  • Melhora a proporção de contraste do genesis para 4.5:1 (a11y).
  • A entrada file agora inclui o nome do arquivo no botão de remover arquivo (a11y).
  • A entrada file agora refoca após a remoção de um arquivo (a11y).

0.19.3 (Candidato à Lançamento 1)

30 de Agosto de 2023

🐛 Correções de Bugs

  • Melhora a herança de propriedades através do objeto config.

0.19.2 (Candidato a Lançamento 1)

29 de Agosto, 2023

💪 Novas funcionalidades

  • Agora você pode fazer login na sua conta FormKit Pro e criar equipes e projetos diretamente do CLI.
  • Exporta StepHandlers e MultiStepHandlers e BeforeStepChangeData para auxiliar na digitação de entradas de múltiplos passos.

🐛 Correções de bugs

  • Corrige um problema que fazia com que as entradas datetime-local não resolvessem suas tipagens de slot.
  • Corrige um bug que fazia as instalações do nuxt falharem.

0.19.1 (Candidato à Lançamento 1)

Nós não falamos sobre Bruno.

0.19.0 (Candidato à Lançamento 1)

25 de agosto de 2023

💪 Novos recursos

  • Introduz uma nova entrada oculta meta. As entradas meta são apenas em memória e adicionam dados ao seu formulário sem exibi-los ao usuário ou renderizar qualquer coisa na página. Documentação Meta.
  • Adiciona uma nova propriedade number para as entradas text, number, range e hidden que converte o valor para um número usando parseInt ou parseFloat e expande ou contrai a definição do tipo do valor para corresponder.
  • Listas dinâmicas agora alteram automaticamente o nome renderizado de qualquer entrada de rádio filha para garantir que não entrem em conflito umas com as outras.
  • 🇧🇦 Adiciona o idioma bósnio (bs).

🐛 Correções de bugs

  • Corrige um problema que fazia com que as caixas de seleção e os rádios usassem atributos id duplicados quando usados em uma lista dinâmica (#908).
  • Adiciona stepIndex e steps à definição de tipo da entrada step.
  • Melhora as traduções do idioma holandês (nl).
  • Adiciona FocusEvent opcional à definição de tipo de context.handlers.blur.

0.18.4 (Beta 18)

22 de agosto de 2023

🐛 Correções de Bugs

  • Melhora os tipos para o plugin de múltiplos passos e seus slots.

0.18.3 (Beta 18)

18 de agosto de 2023

🐛 Correções de Bugs

  • Melhora os tipos para botões e entradas de envio (#895).
  • Melhora os tipos para o plugin de múltiplos passos

0.18.2 (Beta 18)

16 de agosto de 2023

🐛 Correções de Bugs

  • Corrige um bug que fazia com que o livro-razão realizasse cálculos de desagregação incorretos para contadores que não eram os primeiros no conjunto. Isso fazia com que grupos e listas ocasionalmente deixassem seus valores de contador para trás quando desmontados (#878).

0.18.1 (Beta 18)

15 de Agosto, 2023

🐛 Correções de Bugs

  • Corrige um bug que causava erros em formulários com listas dinâmicas ao serem redefinidos (#731).
  • Corrige um bug que fazia com que os dados do esquema fossem renderizados incorretamente em alguns casos limite quando o esquema estava sendo atualizado dinamicamente (#610).
  • Corrige o autoHeightTextareaPlugin e melhora significativamente a precisão do seu redimensionamento (#888)
  • Corrige as traduções tet e lt (#886)

0.18.0 (Beta 18)

11 de agosto de 2023

🎉 Recursos principais

Suporte aprimorado para TypeScript 🎉

1 min

  • Suporte aprimorado para propriedades TypeScript para Vue 3.3+. #627
  • Novo input barcode disponível através do pacote @formkit/barcode. Documentação do Barcode

💪 Novos recursos

  • Introduzidas funcionalidades de input dropdown:
    • Suporte para remover a seleção atual. #646
    • Capacidade de seleção múltipla. #647
  • A utilidade whenAvailable de @formkit/utils referencia dinamicamente seu contexto de documento, facilitando o uso do FormKit dentro do shadow DOM de componentes web. #837
  • Novas propriedades comportamentais para inputs dropdown, autocomplete e taglist.
  • Adicionada uma seção/slot #empty para o input repeater para exibir contexto quando não há valores. Documentação do Repeater
  • Adicionado o idioma Lituano 🇱🇹 (lt)

🐛 Correções de bugs

  • O repeater respeita o estado desativado de seu formulário pai. #579
  • O taglist aceita opções vazias. #586
  • Prevenidas chamadas desnecessárias ao método de opções em inputs da família dropdown. #657
  • Garantida a compatibilidade do input autocomplete com a diretiva @focus do Vue. #670
  • O taglist aceita valores fora de sua lista de opções. #681
  • Resolvida a reativação do campo após a reativação do formulário pai. #733
  • Corrigido erro do datepicker na navegação por teclado no modo picker-only. #736
  • Corrigida a sobreposição do slot de rótulo do checkbox por rádio adjacente. #778
  • O tema Genesis limita pointer-events: none para botões do tipo submit no slot actions. #790
  • As verificações de sujeira "Compare" se adaptam a novos valores fornecidos durante a redefinição do formulário. #791
  • Garantido que taglist respeita a propriedade max com open-on-click ativado. #793
  • Aprimorado autocomplete com selectionAppearance definido como option para trabalhar com a propriedade open-on-click. #817
  • Corrigidos problemas com a função eq de @formkit/utils. #819
  • Resolvido erro de navegação do datepicker ao iniciar com year. #827
  • Garantido que taglist respeita a propriedade max com close-on-select desativado. #838
  • Tratadas exceções da propriedade de validação de sintaxe de array inline. #852
  • Corrigidos problemas de caminho de exportação do FormKit CLI. #854
  • Resolvidos problemas do compilador de esquema com FormKit. #857
  • A classe formkit-icon se alinha com config.rootClasses. #859
  • Remediados problemas de arrastar e soltar da Transfer List. #863
  • Tratado um problema de foco do datepicker no Safari, modificando o botão de abrir para uma div com role="button". #864
  • Inputs dropdown (dropdown, autocomplete, taglist) agora podem renderizar valores que não fazem parte de sua lista de opções. #877

0.17.5 (Beta 17)

20 de julho de 2023

💪 Novos recursos

  • Adiciona novo componente <FormKitRoot>. Este componente fornece contexto sobre o elemento raiz (Document ou ShadowRoot). Ao usar o FormKit dentro de um Elemento Personalizado (Web Component), envolva um ou mais inputs do FormKit em <FormKitRoot> para garantir a funcionalidade adequada.
  • Adiciona nova propriedade node.props.__root e context.__root que referencia o elemento raiz atual do nó (Document | ShadowRoot).

🐛 Correções de bugs

  • Corrige um problema onde o plugin de entrada mult-step quebraria ao renderizar steps em um loop v-for ou renderizar condicionalmente um passo via esquema. #823 #825
  • O plugin Textarea Auto-height recalcula a altura ao alterar programaticamente o valor. #839
  • Corrige um problema no plugin Zod que impede que as transformações sejam aplicadas. #833

0.17.4 (Beta 17)

30 de junho de 2023

💪 Novos recursos

  • Adiciona novo atributo data-empty aos invólucros de entrada outer para fins de estilização. #777
  • Atualizações para o módulo Nuxt permitindo suporte para runtimeConfig — veja os novos documentos no guia do assistente de instalação. #795

🐛 Correções de bugs:

  • Realmente corrige de verdade o problema onde o evento blur poderia causar erros no console na mudança de rota. #776
  • Corrige o problema onde o valor do ícone null causaria um erro. #780
  • Corrige ponto e vírgula faltando em multistep.css. #783
  • Corrige o uso da propriedade :model-value que não atualizava os valores internos do nó FormKit. #785

0.17.3 (Beta 17)

16 de junho, 2023

💪 Novas funcionalidades

  • Adiciona o idioma 🇲🇳 Mongol (mn) - #747
  • Adiciona o idioma 🇮🇸 Islandês (is) #748
  • Adiciona novas extensões node.next(), node.previous(), e node.goTo() para entradas multi-step através do plugin MultiStep. Isso permite um controle externo mais fácil da navegação de entrada multi-step. #685
  • Adiciona nova extensão node.restoreCache() para o plugin localStorage para permitir a restauração de valores de formulário para o cache em caso de falha no envio. #727

🐛 Correções de bugs:

  • Corrige problemas de hidratação SSR para a entrada multi-step. #720
  • Corrige problema onde o evento blur poderia causar erros no console na mudança de rota. #735
  • Corrige problema onde as entradas Pro quebrariam quando usadas com o plugin Floating Labels. #742
  • MultiStep beforeStepChange agora funciona com chamadas de função async. #743
  • Corrige problema onde as entradas file não permitiriam o reenvio do mesmo arquivo após chamar reset. #762
  • Previne conflito de nomes de keyframe CSS Genesis adicionando prefixo fk-.

0.17.2 (Beta 17)

17 de maio, 2023

🐛 Correções de bugs:

  • Corrige um problema que fazia com que v-model’s profundamente aninhados não atualizassem quando uma mutação se originava em profundidade (#722)
  • Corrige um problema que fazia com que entradas personalizadas que substituíam a família de entradas text reutilizassem o primeiro esquema(#719)
  • Exporta o tipo FormKitValidationMessage para ajudar a digitar funções de mensagem de validação (#695)

💪 Novas funcionalidades

  • plugin localStorage agora suporta novas opções: key, control, debounce, beforeSave, e beforeLoad.
  • plugin localStorage agora pode ser aplicado a qualquer entrada de tipo interno group. ex (form, group, multi-step, etc).

0.17.1 (Beta 17)

16 de maio, 2023

🐛 Correções de bugs

  • Corrigido um bug que causava um erro ao ser lançado quando uma lista dinâmica era inicializada com valores escalares iniciais idênticos (#715)
  • Corrigido um bug que fazia com que a propriedade value de um slot não fosse atualizada em alguns casos de borda (#717).

0.17.0 (Beta 17)

12 de maio, 2023

💪 Novas funcionalidades

  • Novo plugin FormKit Zod — Valide seus formulários FormKit usando esquema Zod.
  • Nova prop dynamic de lista permite que você crie seus próprios repetidores facilmente.
  • Novo plugin Save to localStorage para salvar o progresso do usuário em formulários e proteger contra a perda de dados no caso de um evento inesperado.
  • Adiciona novas regras de validação: require_one (obrigado @devoidofgenius), contains_alpha, contains_alphanumeric, contains_alpha_space, contains_symbol, contains_uppercase, contains_lowercase, contains_numeric, symbol, uppercase, e lowercase (obrigado @riderx).
  • Novo plugin Auto-height textarea para criar entradas textarea com altura redimensionável dinamicamente.
  • Pro: Nova entrada Slider.
  • Adiciona novo evento commitRaw que dispara mesmo se não houver alteração no valor da entrada.
  • FormKitSchema agora pode usar um único nó raiz (em vez de um fragmento)
  • Todas as entradas FormKit agora usam um nó raiz em vez de um fragmento, o que significa que diretivas Vue padrão como v-show agora funcionam e adicionar uma key a entradas dinâmicas geralmente não é mais necessário (#528).
  • O plugin AutoAnimate agora suporta a animação da entrada do repetidor e outras entradas Pro.
  • Valores passados para a função node.reset() se tornam o novo valor padrão para a entrada (#621).
  • Adiciona chinês tradicional 🇨🇳 (zh-TW)
  • Adiciona letão 🇱🇻 (lv)
  • Adiciona tetum 🇹🇱 (tet)
  • Adiciona nova capacidade de estender um nó central com node.extend().

⚡️ Desempenho

  • Melhoria dramática no desempenho de montagem de entradas em um formulário grande (5-10x mais rápido).
  • Melhorou o desempenho de hidratação de um formulário ao diferenciar valores escalares antes de inserir.
  • Reduziu o ruído no evento @input e removeu o debounce agora desnecessário no evento de mudança.

🐛 Correções de bugs

  • O @formkit/observer agora observará as mudanças em node._value em instâncias onde você deseja operar no valor de entrada não debounced.
  • O ícone range em @formkit/icons foi atualizado para mostrar apenas uma alça de controle, pois as entradas de range HTML não suportam múltiplos valores. O antigo ícone de multi-alça foi reaproveitado para a nova entrada slider do FormKit Pro.
  • Pro: Corrige um bug que fazia com que as entradas repeater aninhadas não hidratassem corretamente (#458).
  • Pro: Corrige um bug que fazia com que as entradas repeater aninhadas lançassem um erro ao serem removidas (#457).
  • Corrige um bug que fazia o evento de desfoque disparar várias vezes ao vincular manualmente ao evento @blur em uma entrada personalizada (#413).
  • Corrige um bug que fazia v-model disparar eventos de entrada apenas em cada outra entrada (#463)
  • Corrige um bug que fazia o esquema iterar sobre o valor de uma matriz se a matriz tivesse um comprimento de 1 e o único valor na matriz fosse um número (#635)
  • Corrige um problema que fazia node.walk() terminar prematuramente ao usar stopOnFalse.
  • Corrige vazamento de memória em navegação SPA e ambientes SSR (#475)

0.16.0 (Beta 16)

14 de Março, 2023

Novo esquema de versão

Beta 16 é a primeira versão do FormKit que não tem um identificador de pré-lançamento. Beta 16 e todas as versões beta restantes serão lançadas sob a versão semântica 0.x.x. O primeiro lançamento estável será 1.0.0 e está previsto para o final deste ano. Esta mudança na versão deve ajudar na resolução de dependências do gerenciador de pacotes à medida que completamos nossos ciclos de lançamento beta.

💪 Novos recursos

  • Pro: Nova entrada Transfer List! Uma ótima opção para ajudar seus usuários a selecionar informações de um grande conjunto de dados.
  • Pro: O plugin floating labels agora suporta Entradas FormKit Pro.
  • Pro: A entrada mask input agora suporta várias cores fornecendo uma opção overlay.
  • Adiciona uma nova prop dirty-behavior que permite aos usuários optar por um comportamento compare que compara o valor atual da entrada com o valor original da entrada. Se a entrada for alterada de volta ao seu estado original, a flag context.state.dirty voltará a ser falsa.
  • Adiciona traduções i18n para algumas novas regras de ui e validação.

🐛 Correções de bugs

  • A propriedade options (usada em select, radio, checkboxes e alguns inputs pro) agora pode diferenciar entre valores null e undefined.
  • Corrige problemas com o módulo @formkit/nuxt e o realce de sintaxe.
  • Corrige um bug que fazia com que o estado dirty de um input não relacionado fosse incorretamente definido como true quando um objeto (como um grupo) era atualizado (#520).
  • O plugin floating labels agora esconde placeholders até ser focado (#574).
  • Corrige um bug que fazia com que os formulários não recebessem o estado submitted como os filhos do formulário em uma submissão de formulário malsucedida (#503).
  • O input multi-step agora preserva a ordem dos passos ao renderizar condicionalmente os passos (#613).
  • Corrige um bug de estilo do tailwind para checkboxes e radios (#584).

1.0.0-beta.15

6 de fevereiro de 2023

Este lançamento adiciona novos plugins de primeira parte ao pacote @formkit/addons, envia correções de bugs e atualizações de estilo para usuários de CSS e Tailwind CSS.

💪 Novos recursos

  • Crie facilmente formulários de várias etapas ou inclua seções de várias etapas dentro de seus formulários com o novo plugin de várias etapas em @formkit/addons. Vem com estilo CSS standalone que você pode importar e que funciona bem com nosso tema genesis. Confira a documentação completa aqui.
  • Ative rótulos flutuantes para todos os inputs da família text (text, email, url, etc) e textarea com o novo plugin de rótulos flutuantes em @formkit/addons. Confira a documentação completa aqui.
  • Adiciona novas strings Next e Previous ao objeto de localização da UI para uso em plugins e inputs personalizados.

🐛 Correções de bugs

  • Corrige o caminho de exportação do tema genesis do Tailwind CSS ausente em @formkit/themes.
  • Adiciona estilo :focus-visible aos botões para mostrar o estado de foco ao usar a navegação por teclado.
  • Adiciona estilos loading ausentes para botões submit no tema Genesis do Tailwind CSS.

📘 Artigos

1.0.0-beta.14

21 de janeiro de 2023

Este lançamento aborda alguns problemas para usuários do Tailwind que foram introduzidos no beta.13.

🐛 Correções de bugs

  • Reverte @formkit/themes/tailwindcss para incluir apenas uma exportação default do plugin FormKitVariants.
  • Move o tema Genesis do Tailwind fornecido para um novo caminho de exportação de @formkit/themes/dist/tailwindcss/genesis.
  • Altera o operador de remoção de classe de ! para $remove: para não entrar em conflito com o operador ! integrado do Tailwind que adiciona !important a uma regra de estilo.
  • Corrige o problema onde os ícones padrão não carregariam ao usar o tema Genesis do FormKit Tailwind fornecido.

1.0.0-beta.13

19 de janeiro de 2023

💪 Novos recursos

  • Adiciona novo componente <FormKitMessages> que permite a realocação das mensagens de validação e erro de um formulário e a capacidade de entradas group e list exibirem suas próprias mensagens de erro e validação.
  • Ao remover classes em uma seção de uma entrada FormKit, você pode usar o operador de prefixo ! para remover seletivamente uma classe existente sem precisar usar a sintaxe de objeto de formulário longo. ex outer-class="my-class !formkit-outer" adiciona my-class e remove a classe padrão formkit-outer.
  • Adiciona Bandeira catalã Catalão (obrigado @petergithubmgw).
  • As entradas checkbox e radio agora têm um atributo data-checked em torno de seu respectivo wrapper, facilitando a adição de estilos personalizados para estados verificados vs não verificados.
  • Melhora as mensagens de validação em um punhado de idiomas (en, pt, zh).
  • Pro: Nova entrada Mask Pro.
  • Pro: Adiciona prop empty-message permite que a mensagem seja renderizada na listbox quando nenhuma opção é passada (dropdown, autocomplete e taglist). #502
  • Pro: Adiciona atributo checked ao formkit-option (dropdown, autocomplete, taglist). #350
  • Pro: Adiciona prop max para taglist e autocomplete com entradas multiple. #501
  • Pro: Adiciona prop closeOnSelect manterá a listbox expandida à medida que as seleções são feitas (autocomplete múltiplo e taglist).
  • Pro: Adiciona prop forceExpanded força a listbox a permanecer aberta para fins de desenvolvimento (dropdown, autocomplete e taglist).
  • Pro: Todas as entradas Pro agora podem ser desativadas via atributo disabled.

🐛 Correções de bugs

  • Corrigido um bug onde a regra date_after mostrava uma mensagem de validação incorreta por causa dos fusos horários. #488
  • Corrigido um bug onde os ids gerados automaticamente não tinham um valor seguro para atributo por causa de caracteres especiais. #517
  • Os valores v-model agora podem ser inicializados como undefined. #235
  • Corrigido um bug que fazia com que as props validation-rules inline recursassem inesperadamente. #514
  • Corrigido um bug que fazia com que o rótulo de checkboxes com várias opções não fosse substituído com sections-schema. #541
  • Corrigido um bug que fazia com que os rótulos não mudassem dinamicamente em mensagens de validação já renderizadas. #297
  • Corrigido um bug que fazia com que a prop disabled precisasse de null em vez de false para renderizar o atributo data-disabled no wrapper externo. #511
  • Corrigido um bug que impedia que os slots fossem condicionais (ou seja, usando v-if no bloco <template v-slot>). #489
  • Corrigido problemas de compatibilidade com Nuxt e Nuxt playground.
  • Corrigido um bug que fazia com que as seções não respeitassem adequadamente a prop sections-schema.
  • Corrigido um problema com variantes de ícones de prefixo e sufixo do Tailwind. #530
  • Pro: Corrigido um bug taglist onde opções duplicadas eram carregadas da API. #497
  • Pro: Corrigido um bug onde o taglist renderizava props duplicadas quando a prop multiple estava definida como false. #494
  • Pro: Corrigido um bug onde as options de autocomplete estavam duplicando quando usadas rapidamente, repetidamente ou com conteúdo colado. #431
  • Pro: Corrigido um problema onde o valor padrão para autocomplete e taglist não podia ser removido quando o valor fornecido era um objeto literal. #505
  • Pro: Corrigido um problema onde a listbox ainda estava visível quando nenhuma option era passada. #504

📙 Documentação & Playground

1.0.0-beta.12

15 de novembro de 2022

💪 Novos recursos

  • Pro: Novo Taglist Pro Input agora disponível!
  • Adiciona o comando npx formkit create-app para inicializar facilmente novos projetos FormKit.
  • Melhora as mensagens de validação da regra length em todos os idiomas.
  • Adiciona o idioma grego 🇬🇷 (uk) #460.
  • Adiciona o idioma norueguês Bokmål 🇳🇴 (nb) #418.
  • Adiciona o idioma eslovaco 🇸🇰 (sk) #401.
  • Pro: Todos os Pro Inputs agora podem ser desativados.
  • Pro: Melhorias no tema Genesis Pro.
  • Pro: Autocompletes com várias opções selecionadas agora podem ser reordenados via arrastar & soltar.
  • Pro: Adicionados atributos faltantes ao esquema de mensagem.

🐛 Correções de bugs

  • Corrigido um bug onde o slot de etiqueta não funcionava sem a propriedade de etiqueta #456.
  • Corrigido um bug onde você não podia alterar dinamicamente as regras de validação disponíveis #449.
  • Corrigido um bug onde a troca de chaves não limpava o valor de uma entrada quando dentro de um grupo. #446.
  • Corrigido um bug onde os métodos do objeto Date eram inacessíveis a partir do Schema #406.
  • Corrigido um problema de caminho que dificultava o acesso a arquivos por terceiros #404.
  • Corrigido um bug que impedia o argumento stopIfFalse na função walkTree.
  • Corrigido um bug onde uma entrada select inicializada com um valor null não tinha um bom valor #415.
  • Pro: Corrigido um bug onde o evento count:blocking não estava sendo emitido corretamente em Repeaters.
  • Pro: Atualizados os índices do Repeater para serem números em vez de strings. #422.
  • Pro: Corrigido um bug de autocomplete onde a próxima página de opções estava substituindo a página atual. #447.
  • Pro: Corrigido um bug onde os inputs Pro não estavam mostrando mensagens de validação ao desfocar #403.

1.0.0-beta.11

29 de setembro de 2022

🎉 Novos recursos

  • Estabelece a base para os Inputs do FormKit Pro!

🐛 Correções de bugs

  • Corrigido um bug onde o slot "ajuda" aparecia duas vezes para elementos checkbox e radio #353.
  • Corrigido um bug que fazia o plugin FormKit AutoAnimate falhar com o Nuxt #361.
  • Corrigido um bug de esquema onde uma referência de notação de ponto a uma subpropriedade inexistente fazia [Object object] ser exibido após a referência existir #368.
  • FormKit agora funciona com Nuxt 3.0.0-rc.8 e 3.0.0-rc.9 #371 e #383.
  • Corrigido um bug onde os usuários não conseguiam usar hooks via plugin para atualizar valores modelados em v #391.
  • Corrigido um bug onde os usuários não conseguiam importar @formkit/themes/tailwindcss com TypeScript #376.
  • Corrigido um bug que fazia os ícones padrão nunca carregarem quando incluídos diretamente na configuração.
  • Corrigido um bug onde uma validação de checkbox com "obrigatório" funcionava apenas na primeira vez #169.

1.0.0-beta.10

29 de julho de 2022

🎉 Novos recursos

  • As definições de entrada agora têm uma propriedade family opcional, que adiciona um atributo data-family e define o valor em node.props.family. Isso é útil para aplicar plugins e estilos a "famílias" inteiras de entradas, como a família de entradas de texto, que se aplicaria a text, email, password, number, etc.
  • As definições de entrada agora incluem uma propriedade forceTypeProp opcional que garante que o node.props.type seja inicializado como um valor dado, mesmo que a entrada seja registrada sob um nome diferente. Por exemplo, myModifiedCheckbox ainda poderia ter node.props.type reportando "checkbox".
  • Adiciona o atributo data-multiple a checkboxes e rádios quando eles têm várias opções.
  • Adiciona novo evento @submit-invalid a entradas type="form". O evento é acionado quando um usuário tenta enviar um formulário, mas ele tem entradas inválidas.
  • Adiciona nova função auxiliar getValidationMessages a @formkit/validation que extrai um Map de nós e suas mensagens de validação.
  • Adiciona nova seção decorator-icon a checkboxes e rádios, facilitando o uso de SVGs personalizados em seus checkboxes e rádios.
  • Adiciona novos ícones "check" e "circle" ao pacote de ícones embutido.
  • Adiciona 🇦🇿 língua azerbaijana (az).
  • Adiciona 🇺🇦 língua ucraniana (uk).

🐛 Correções de bugs

  • Corrigido uma regressão onde uma única caixa de seleção não estava mais exibindo o texto de ajuda (#310).
  • Corrigido um bug que fazia o plugin AutoAnimate falhar no Nuxt SSR (#330).
  • Corrigido um bug que fazia com que todos os context.state.dirty dos inputs se tornassem verdadeiros quando um formulário v-modelado era editado (#311).
  • Corrigido um bug que causava uma condição de corrida entre o evento @change de uma lista de seleção e a propagação do valor v-model (#335).
  • Corrigido um bug que fazia com que props/attrs condicionais que retornavam arrays retornassem objetos em vez de arrays (#317).
  • Corrigido um bug que fazia com que inputs de arquivo vazios fossem definidos como indefinidos em vez de um array vazio quando node.reset() é chamado (#319).
  • Corrigido um bug que fazia com que a propriedade disabled desabilitasse incorretamente checkboxes e inputs de rádio quando definida como um valor falsy (não nulo) (#307).

1.0.0-beta.9

29 de junho de 2022

⚠️ Mudanças que quebram a compatibilidade

  • A seção removeFiles do input de arquivo foi renomeada para fileRemove.
  • A seção fileRemove (anteriormente removeFiles) costumava renderizar uma tag <a>, isso foi alterado para um button.
  • Composables de @formkit/inputs foram substituídos por "seções". Isso deve afetar apenas os usuários que estavam criando seus próprios inputs a partir de composables pré-existentes.

🎉 Novos recursos

  • Ícones! FormKit agora vem com suporte de primeira classe para ícones, incluindo um pacote de ícones licenciado pelo MIT com entrega automática via CDN. Leia mais sobre isso na nova página de documentação de ícones.
  • AutoAnimate! FormKit agora inclui um plugin AutoAnimate, trazendo suporte AutoAnimate para FormKit com uma única linha de código.
  • Exportações! Agora você pode exportar qualquer um dos inputs existentes e reestruturá-los à vontade usando a nova ferramenta de linha de comando @formkit/cli. Altere os inputs existentes adicionando, removendo, atualizando ou reordenando seções - ou adicione suas próprias variações de input exportadas e alteradas à sua biblioteca de inputs.
  • Todos os inputs foram refatorados para usar uma API de composição de esquema muito melhorada que permite a fácil composição e modificação de inputs baseados em esquema.
  • Adiciona nova propriedade meta à especificação de esquema (#248).
  • Os temas CSS do FormKit podem ser instalados via CDN usando a nova opção theme em defaultConfig()
  • Adiciona novos ganchos submit e setErrors.
  • Adiciona 🇧🇬 língua búlgara.
  • Adiciona 🇭🇺 língua húngara.
  • Adiciona 🇰🇿 língua cazaque.
  • Adiciona 🇷🇸 língua sérvia.
  • Adiciona 🇹🇯 língua tajique.

🐛 Correções de bugs

  • Corrigido um bug que fazia a propriedade key não funcionar ao usar o atalho $formkit no esquema (#232).
  • Corrigido um bug que não chamava os manipuladores de eventos em @blur (#239).
  • Corrigido um bug que causava 1 iteração a mais do for em navegadores Safari antigos (#299).
  • Adicionadas chaves automáticas aos inputs do FormKit, o que corrigiu uma série de bugs de reatividade quando chaves explícitas não eram usadas com inputs condicionais.
  • A prop input-errors agora irá resetar quaisquer erros que tenha definido anteriormente quando for definida como um objeto vazio {} (#277).
  • Adiciona suporte para diacríticos tchecos/eslovacos nas regras alpha e alpha_spaces (#281).

📙 Documentação

1.0.0-beta.8

10 de maio de 2022

⚠️ Mudanças que quebram a compatibilidade

  • Os plugins tailwindcss, unocss e windicss agora devem ser importados de seu próprio subcaminho do pacote @formkit/themes. Por exemplo:
import formKitTailwindPlugin from '@formkit/themes/tailwindcss'

🐛 Correções de bugs

  • Remove importações impróprias de windicss, tailwindcss e unocss.

1.0.0-beta.7

9 de maio de 2022

⚠️ Mudanças que quebram a compatibilidade

  • O evento update:model-value agora só será emitido ao usar a diretiva v-model.
  • O evento input agora é amortecido para reduzir a quantidade de ruído emitido. Você pode usar o novo input-raw para ouvir cada evento de input.
  • Erros definidos via setErrors agora são automaticamente limpos no input por padrão. Para reverter para o comportamento anterior, defina preserveErrors: true em seu objeto de configuração global.
  • O pacote @formkit/tailwindcss agora está obsoleto — tanto o plugin formKitTailwind quanto a função generateClasses foram movidos para o pacote @formkit/themes.

🎉 Novos recursos

  • Inputs checkbox, radio e select (inputs que usam :options) agora podem usar qualquer tipo de dado como seu valor, como números, objetos ou até mesmo null (#85).
  • Adiciona novas utilidades node.clearErrors e clearErrors para auxiliar na limpeza de erros de backend de um input ou formulário.
  • Agora os inputs limpam automaticamente quaisquer erros definidos com node.setErrors() no input do usuário. Você pode substituir este comportamento padrão (para manter o erro no input) com preserve-errors="true".
  • Adiciona uma nova função node.addProps para adicionar novas props em plugins personalizados.
  • Adiciona novo gancho message para modificar mensagens à medida que estão sendo definidas.
  • Adiciona um novo evento central reset — emitido após um formulário ser resetado.
  • Adiciona uma nova prop index que permite que os inputs sejam injetados em um determinado índice em um tipo list pai.
  • O evento input do componente <FormKit> agora é amortecido, o que significa que emite muito menos ruído.
  • Exporta todas as funções de recursos de input import { features } from '@formkit/inputs'.
  • Adiciona um novo evento input-raw ao componente <FormKit> que é emitido para cada evento de input único em um input, lista, grupo ou formulário (muito ruidoso).
  • O nó central agora é o segundo argumento dos eventos input, input-raw, submit e submit-raw.
  • Adiciona novo evento de nó central dom-input-event que tem o objeto Event HTML nativo como payload.
  • @formkit/themes agora inclui exportações nomeadas para funções de plugin para Tailwind CSS (formKitTailwind), Windi CSS (formKitWindi) e Uno CSS (formKitUno). Ao adicionar o plugin correto ao arquivo de configuração do seu framework CSS, você terá acesso a uma variedade de variantes formkit como formkit-invalid: e formkit-disabled:.
  • @formkit/themes agora inclui a função auxiliar generateClasses que permite que você forneça facilmente diferentes listas de classes para ${sectionKey}s com base no tipo de input.
  • Adiciona 🇸🇪 língua sueca.
  • Adiciona 🇸🇮 língua eslovena.
  • Adiciona 🇷🇴 língua romena.
  • Adiciona 🇯🇵 língua japonesa.
  • Adiciona 🇹🇭 língua tailandesa.
  • Melhora 🇵🇱 língua polonesa.

🐛 Correções de bugs

  • 🔥 Melhora dramaticamente o desempenho e a confiabilidade do v-model para estruturas profundamente aninhadas como formulários com listas e grupos.
  • Corrige um problema que fazia com que valores null gerassem erros (#151)
  • Corrigido um bug que fazia com que validation-visibility não mudasse quando atualizado reativamente (#159)
  • Corrige um bug que fazia com que a palavra-chave preserve bloqueasse algumas submissões de formulário (#145)
  • Corrige a digitação TypeScript para a configuração @formkit/tailwind (#143)
  • Corrige um bug que fazia com que caixas de seleção únicas com um objeto como o on-value não tivessem seu valor inicial definido ao usar a prop :value.
  • Corrige um bug que fazia com que as regras de validação não fossem atualizadas quando a prop label mudava (#170)
  • Corrige um bug que causava uma seleção padrão incorreta em listas de seleção com um atributo multiple="false" explícito e um placeholder (#148).
  • Corrige um bug que fazia com que a prop classes não reagisse à reatividade do Vue ao usar refs aninhados (#155).
  • Corrige um bug que impedia que os botões de envio fossem desativados quando aplicados usando o atributo disabled no formulário sem especificar disabled="true" (#215)
  • Corrige um bug do compilador de esquema que fazia com que o espaço em branco de uma string entre aspas em um parêntese fosse removido incorretamente (#150).

1.0.0-beta.6

10 de março de 2022

🎉 Novos recursos

  • Adiciona nova regra de validação alpha_spaces (#83)
  • Adiciona 🇨🇿 Tcheco (obrigado @dfridrich)
  • Adiciona Bandeira da Frísia Frísio (obrigado @arjendejong12)

📙 Documentação

🐛 Correções de bugs

  • Corrige um bug que fazia com que as entradas de rádio perdessem a reatividade quando definidas via node.input() (#139)
  • Melhora a anotação TypeScript para o evento @submit (#130)
  • Corrigido um problema que fazia com que os selects não fossem renderizados se definidos como um array vazio (#129)
  • Corrigido um erro que causava erros de renderização do lado do servidor no Nuxt 3 ao executar um projeto construído (#113)
  • Corrigido um bug que fazia com que o escopo da variável de esquema fosse perdido ao referenciar dados de iteração dentro do slot de um componente (#91)

1.0.0-beta.5

8 de março de 2022

⚠️ Mudanças que quebram a compatibilidade

  • O atributo data-loading foi movido do botão de envio de um formulário para a tag <form> em si.

🎉 Novos recursos

  • Adiciona novo plugin @formkit/tailwindcss para criar facilmente temas Tailwind para seus formulários FormKit. Confira o guia Criar um tema Tailwind CSS para mais detalhes.
  • Adiciona uma nova função programática reset. Isso pode ser feito em qualquer input, grupo, formulário, ou lista e irá restaurar o valor de volta ao seu estado inicial. Também reseta o objeto context.state (como blurred e dirty).
  • Melhora a acessibilidade adicionando aria-describedby e aria-live a todos os tipos de input fornecidos. aria-describedby agora direciona para o texto de ajuda, mensagens de validação, e mensagens de erro (rotulagem fornecida por tags <label> que usam o atributo for).
  • Grupos, listas e formulários agora podem aplicar valores undefined aos seus filhos. Em outras palavras, se um formulário é v-modelado e seu valor é definido como um objeto vazio {}, ele irá limpar todo o formulário.
  • Adiciona nova propriedade context.state.settled que sinaliza quando o ciclo de debounce interno do input terminou e um valor terminou de ser comprometido com o formulário.
  • Adiciona atributo data-submitted aos inputs que foram enviados.
  • Adiciona nova chave de seção fileName (obrigado @santi).
  • Adiciona nova prop parent que aceita um nó central para casos de uso avançados onde os inputs são desacoplados de seu formulário ou estrutura de dados é desejada.
  • Adiciona 🇱🇾 Árabe (obrigado @Ahmedelforjani)
  • Adiciona 🇩🇰 Dinamarquês (obrigado @bjerggaard)
  • Adiciona 🇮🇩 Indonésio (obrigado @rama-adi)
  • Adiciona 🇮🇹 Italiano (obrigado @punga78, @Archetipo95)
  • Adiciona 🇵🇱 Polonês (obrigado @xxSkyy)
  • Adiciona 🇰🇷 Coreano (obrigado @bwp618)
  • Adiciona 🇻🇳 Vietnamita (obrigado @oanhnn)
  • Melhorado 🇫🇷 Francês (obrigado @pop123123123)

🐛 Correções de bugs

  • Corrige um bug que poderia causar erros de validação para piscar por 20ms antes de resolver ao usar o preenchimento automático do navegador (#99).
  • Corrige um bug que fazia com que as props de classe (como input-class) dentro dos esquemas não respeitassem adequadamente o comando $reset porque era tratado como uma variável (#61).
  • Corrige um bug que não permitia que as classes fossem modificadas via props de classe de chave de seção quando a chave de seção tem várias palavras, como file-list-class ou file-item-class (#120).

1.0.0-beta.4

22 de fevereiro de 2022

⚠️ Mudança que quebra a compatibilidade

  • O tema genesis agora deve ser importado de import '@formkit/themes/genesis.

🎉 Novos recursos

  • Adiciona envio programático de formulário:
    • Pode ser enviado por nó node.submit() (incluindo qualquer nó filho do formulário).
    • Pode ser enviado via função this.$formkit.submit('form-id') (para api de composição é submitForm('form-id')).
  • Melhorou setErrors DX:
    • Agora pode ser chamado diretamente em um nó node.setErrors(nodeErrors, childErrors).
    • setErrors agora suporta string pura node.setErrors('My error')
  • O manipulador de envio agora recebe o nó do formulário para fácil configuração de erro.
  • O nó central do componente <FormKit> agora está disponível via ref de template.
  • Adiciona o atributo data-invalid à seção outer quando uma entrada tem mensagens de validação falhando que estão atualmente sendo exibidas (exemplo no playground).
  • Adiciona o atributo data-errors à seção outer quando a entrada tem erros explicitamente colocados (via prop ou setErrors).
  • Adiciona o atributo data-complete à seção outer quando uma entrada (exemplo no playground):
    • Ou:
      • A entrada tem regras de validação.
      • As regras de validação estão todas passando.
      • Não há erros na entrada.
    • Ou:
      • A entrada não tem regras de validação.
      • A entrada não tem erros.
      • A entrada está suja e tem um valor.
  • Novas propriedades context.state:
    • state.rules - verdadeiro quando a entrada tem regras de validação.
    • state.errors - verdadeiro quando a entrada tem erros explícitos colocados nela.
    • state.complete - mesma lógica que data-complete.
    • state.validationVisible - verdadeiro quando a condição validation-visibility é atendida (está mostrando erros de validação, se houver).
  • Refatora o módulo Nuxt 3 para um tempo de construção mais rápido e melhor resolução de arquivos.
  • Adiciona suporte ao idioma persa 🇮🇷 (obrigado @shahabbasian)
  • Adiciona suporte ao idioma português 🇧🇷 (obrigado @r-martins)
  • Adiciona suporte ao idioma turco 🇹🇷 (obrigado @ragokan)
  • Adiciona suporte ao idioma finlandês 🇫🇮 (obrigado @mihqusta)
  • Adiciona suporte ao idioma espanhol 🇦🇷 (obrigado @inibg)

📙 Documentação

🐛 Correções de bugs

  • Corrige um problema que causava erros de renderização do lado do servidor e geração do lado do servidor no Nuxt e vite-ssg/vitesse durante o processo de construção (#81).
  • Corrige um bug que impedia que os inputs file acionassem eventos onChange personalizados (#90).
  • Corrige um bug que impedia que os formulários exibissem seu id no DOM.
  • Corrige um problema de estilo no tema Genesis que fazia com que os itens da lista de seleção ficassem cinza antes que uma opção fosse selecionada ao usar um placeholder (#59)
  • Corrige um bug que fazia com que a prop :value nos formulários fosse alterada na entrada (#72).
  • Corrige a inconsistência entre os eventos prop:{propName} emitidos por props padrão e props de entrada personalizadas definidas (#73)

1.0.0-beta.3

22 de fevereiro de 2022

  • beta.3 seria um lançamento tão bom que decidimos pular e ir direto para beta.4 👀! Brincadeira. Tivemos problemas com o npm e tivemos que aumentar 🤦.

1.0.0-beta.2

3 de fevereiro de 2022

🎉 Novos recursos

  • Novo pacote @formkit/nuxt é um módulo Nuxt 3 completo que torna o uso do FormKit com Nuxt 3 o mais simples possível!
  • defaultConfig agora inclui um novo pacote @formkit/dev que decodifica os códigos de erro do FormKit em mensagens úteis do console (nenhuma ação necessária) (#56).
  • FormKit agora é oficialmente open-source sob a licença MIT!
  • A chave preserve agora se aplica a todos os descendentes (#53).
  • Exporta todas as funções de formatação de texto no pacote @formkit/i18n (#54).
  • Adiciona suporte ao idioma holandês 🇳🇱 (obrigado @arjendejong12).
  • Adiciona suporte ao idioma croata 🇭🇷 (obrigado @antemarkic).
  • Melhora o suporte ao idioma alemão 🇩🇪 (obrigado @tosling).

📙 Documentação

  • Nova documentação de instalação. Você não precisa mais de um token de autenticação para instalar a partir da organização @formkit!
  • Documentação de instalação do Nuxt
  • Documentação de internacionalização melhorada para sobreposições seletivas de mensagens.

🐛 Correções de bugs

  • Corrige um bug que fazia com que as caixas de seleção multi-seleção não exibissem o valor atual quando definido a partir do nó pai e ao usar a prop options que é armazenada em uma variável externa (#55)
  • Corrigido um bug que fazia com que o placeholder em entradas de seleção fosse removido se algo causasse a re-renderização da entrada (#52).
  • Corrigida a cor do placeholder de seleção (#51)

1.0.0-beta.1

28 de janeiro de 2022

🎉 Novos recursos

  • Formulários são automaticamente desabilitados quando um manipulador de envio assíncrono está pendente (#44).
  • Adicionada uma nova propriedade submit-behavior para optar por não usar os novos formulários automaticamente desabilitados.
  • Exporta o plugin de vinculação Vue para FormKit como bindings no pacote @formkit/vue.
  • O tipo button e submit são automaticamente ignorados.
  • Introduz uma nova chave messages para o defaultConfig para permitir substituições parciais para locais. Isso permite substituições de mensagens seletivas para locais já registrados (#42).
  • O compilador de esquema agora suporta "indefinido" como uma saída válida (em outras palavras $: undefined produziria o valor undefined em vez da string "indefinido").
  • Adiciona localização em Hebraico 🇮🇱 (obrigado @Hepi420)
  • Adiciona localização em Chinês 🇨🇳 (obrigado @myleslee)

🐛 Correções de bugs

  • Corrigido um problema que fazia com que as caixas de seleção com options não hidratassem corretamente quando repopuladas a partir de um group, list, ou form (#45).
  • Corrigido um problema que fazia com que as caixas de seleção com options não exibissem corretamente quando faltava a propriedade label (#41).
  • Melhoria significativa no suporte ao TypeScript para props “sintéticas” (#43).

1.0.0-alpha.5

20 de janeiro de 2022

⚠️ Mudanças que quebram a compatibilidade

  • Altera a propriedade validation-behavior no componente <FormKit> para validation-visibility.
  • Altera a propriedade schema no componente <FormKit> para sections-schema.

🎉 Novos recursos

  • Adiciona o tipo de entrada file nativo com suporte para alguns recursos adicionais:
    • Repopulação apenas de exibição.
    • Arrastar e soltar.
    • Limpeza de entrada.
  • Adiciona a função auxiliar createInput para facilitar a escrita de entradas personalizadas.
  • Nova propriedade incomplete-message permite personalização inline (ou desativação) da mensagem exibida por um formulário quando ele tenta enviar e todas as suas entradas não são válidas.
  • Atualiza o defaultConfig para aceitar entradas personalizadas.
  • Adiciona uma chave de seção de prefixo que permite a injeção de conteúdo imediatamente antes de um elemento de entrada.
  • Adiciona uma chave de seção de sufixo que permite a injeção de conteúdo imediatamente após um elemento de entrada.
  • Localização em Russo 🇷🇺 (obrigado @andreimakushkin!)
  • Refatora o tema Genesis para usar uma estrutura de variável CSS muito mais robusta.
  • Adiciona um novo recurso aos esquemas que permite aos usuários prefixar propriedades props e attrs com __raw__ para passar o valor bruto em vez de seu resultado analisado (#36).

📙 Documentação

🐛 Correções de bugs

  • Corrige um bug que impedia a exibição da mensagem incompleta nos formulários (#29).
  • Corrige as definições de tipo TypeScript para os eventos @submit e @submit-raw.
  • Corrige a ordem dos números nas mensagens de validação length e between para sempre colocar o número menor primeiro (#35).
  • Corrige um problema (#32) com listas de seleção onde a prop :options não aceitava valores numéricos.

1.0.0-alpha.4

16 de dezembro de 2021

🎉 Novos recursos

  • Nova regra de validação "dicas" — modificadores que alteram o comportamento de uma regra de validação. As dicas suportadas permitem que você:
    • Execute uma regra quando o campo estiver vazio.
    • Force uma regra a ser executada mesmo quando as regras anteriores estão falhando.
    • Debounce uma regra de validação.
    • Torne uma regra de validação opcional.
  • Quando uma entrada está dentro de um formulário e desmontada (como um v-if), agora remove seu valor dos dados do formulário e desregistra seu nó central.
  • Nova prop preserve permite que as entradas não removam seus dados de grupos, listas e formulários quando são removidos.

🐛 Correções de bugs

  • Corrigido um problema que fazia com que as opções de rádio e caixa de seleção de valor numérico fossem renderizadas incorretamente.
  • Corrigido um bug que fazia com que o placeholder não fosse renderizado quando a prop veio depois da prop options.
  • Corrigido um bug que fazia com que o valor do atraso não fosse respeitado quando definido usando a configuração do ancestral.

1.0.0-alpha.3

13 de dezembro de 2021

🎉 Novos recursos

  • O tratamento de erros de formulário chegou. Agora você pode definir erros de entrada em um formulário inteiro, grupo ou lista com a prop input-errors ou os métodos $formkit.setErrors(). Leia mais sobre isso na documentação do formulário.
  • Novo $formkit.setLocale() muda reativamente o idioma de todas as mensagens exibidas.
  • Adiciona localidades 🇫🇷 Francês e 🇩🇪 Alemão (obrigado @HoreKk e @digitalkaoz)
  • Adiciona novo objeto proxy rootConfig que é usado para armazenar a configuração base global e os valores das propriedades (refatoração significativa do sistema de configuração).
  • Adicionado rastreamento de dependência ledger para instâncias de FormKitObservedNode.
  • O botão de envio nos formulários agora usa o idioma local para o rótulo "Enviar" padrão.
  • Novo evento de child emitido quando um pai tem um filho adicionado a ele.
  • A regra length agora pode receber argumentos max/min em qualquer ordem length:15,5 ou length:5,15 avaliam o mesmo.
  • Adiciona uma nova função getNode para acessar diretamente um nó FormKit usando a API de composição.
  • Melhora a localização de importação do css @formkit/theme.

🐛 Correções de Bugs

  • Corrigido um bug que fazia com que os filhos de entradas list às vezes lançassem uma exceção ao exibir erros de validação.
  • Melhoradas várias das mensagens de erro de validação.
  • Corrigido um problema com entradas de seleção que impedia chamadas brutas de node.input() de acionar a reatividade no Vue.

1.0.0-alpha.2

30 de novembro de 2021

🎉 Novos recursos

  • Um novo atalho de esquema $formkit para usar entradas FormKit em um esquema (Issue #15).
  • Nova propriedade disabled em formulários, listas e entradas de grupo que desativa automaticamente todas as entradas filhas (Issue #16).
  • Nova propriedade submitAttrs em formulários permite que você passe atributos para o botão de envio do formulário.
  • Adicionada uma nova propriedade universal ignore que impede que os dados de uma entrada sejam usados em um formulário.

🐛 Correções de bugs

  • Corrigido um problema que impedia que os esquemas renderizassem expressões quando usados dentro da propriedade children de um componente FormKit. (Issue #21).
  • Adicionada uma verificação no caso de uma função rootClasses retornar incorretamente undefined (Issue #17).
  • Corrigido um bug que fazia com que o botão de envio de um formulário contaminasse o objeto de dados do formulário com uma propriedade submit_x (Issue #22).
  • Corrigido um bug que fazia com que os nós de esquema $cmp falhassem ao remontar se o objeto raiz do esquema fosse redefinido, causando uma reanálise completa (Issue #14).