--- title: Guia de atualização front-end da 1.8.2 para a 2.0.0 source: https://tdn.totvs.com/pages/viewpage.action?pageId=1062883752 --- * [TL;DR - Atualização do Fluig 1.8.2 (Mist) para 2.0.0 (Voyager)](#Guiadeatualizaçãofrontendda1.8.2paraa2.0.0-TL;DR-AtualizaçãodoFluig1.8.2(Mist)para2.0.0(Voyager)) * [Contexto](#Guiadeatualizaçãofrontendda1.8.2paraa2.0.0-Contexto) * [Principais mudanças que causam quebra](#Guiadeatualizaçãofrontendda1.8.2paraa2.0.0-Principaismudançasquecausamquebra) * [Como identificar problemas na sua customização](#Guiadeatualizaçãofrontendda1.8.2paraa2.0.0-Comoidentificarproblemasnasuacustomização) * [Guia de adequação](#Guiadeatualizaçãofrontendda1.8.2paraa2.0.0-Guiadeadequação) * [Casos comuns](#Guiadeatualizaçãofrontendda1.8.2paraa2.0.0-Casoscomuns) * [Documentações relacionadas](#Guiadeatualizaçãofrontendda1.8.2paraa2.0.0-Documentaçõesrelacionadas) ## TL;DR - Atualização do Fluig 1.8.2 (Mist) para 2.0.0 (Voyager) ### O que mudou * Toda interface do Fluig foi reconstruída utilizando o **Animalia Design System** * Uso massivo de **Design Tokens (CSS variables – `var(--...)`)** ao invés de cores fixar em hexadecimais * Suporte a **tema claro/escuro (dark mode)** * Alterações em **classes CSS, estrutura HTML e comportamento de componentes** ### O que mais impacta nas customizações * CSS com **cores fixas (hex/rgb)** * **Override de classes padrão** (`.btn`, `.panel`, etc.) * Uso excessivo de `!important` * Dependência de **estrutura HTML interna** * Scripts que manipulam DOM de componentes Fluig ### O que você precisa fazer * Substituir valores fixos por **tokens (`var(--fs-...)`)** * Evitar override global, **isolar CSS no seu widget ou formulário** * Não depender de classes/HTML internos do Fluig * Revisar JS que manipula elementos diretamente * Testar customizações em **tema claro e escuro** ### Comece por aqui 1. Procure por cores fixas no seu CSS 2. Identifique overrides de classes padrão 3. Revise scripts que acessam DOM diretamente 4. Teste sua customização na 2.0 (tema claro + escuro) ## Contexto A versão 2.0.0 (Voyager) do Fluig trouxe uma evolução significativa na camada visual da plataforma, com a adoção do [Animalia Design System (design system oficial da TOTVS)](https://doc.animaliads.io/), alinhado ao [PO UI](https://po-ui.io/), biblioteca de componentes Angular, Open Source da TOTVS.. Essa mudança introduziu um novo padrão de estilos baseado em design tokens (CSS variables), além de melhorias em usabilidade, acessibilidade e suporte a temas (como modo claro e escuro). Como parte dessa evolução, diversos componentes do Style Guide foram revisados, incluindo estrutura HTML, classes CSS e comportamento visual. Customizações desenvolvidas na versão 1.8.2, principalmente aquelas que sobrescrevem estilos diretamente (CSS) ou dependem da estrutura interna dos componentes, podem sofrer impactos na versão 2.0.0, resultando em diferenças visuais ou funcionais. Este guia tem como objetivo auxiliar na identificação e adequação dessas customizações, tanto em widgets quanto em formulários, reduzindo os impactos e facilitando o processo de atualização. ## Principais mudanças que causam quebra A versão 2.0.0 introduziu mudanças estruturais na forma como os estilos e componentes são definidos e aplicados na plataforma. Essas mudanças impactam diretamente customizações existentes, principalmente aquelas que dependem de comportamento interno do Style Guide. Abaixo estão os principais pontos de atenção: ### Adoção de Design Tokens (CSS Variables) Os estilos passaram a ser controlados por variáveis CSS (`var(--...)`), centralizando cores, espaçamentos, tipografia e demais propriedades visuais. **Impacto:** * Valores fixos (ex: `#fff`, `16px`) podem gerar inconsistências visuais * Customizações deixam de acompanhar automaticamente mudanças de tema * Overrides diretos tendem a perder prioridade ou não funcionar como esperado ### Suporte a temas (Claro / Escuro) A plataforma agora suporta variações de tema, alterando dinamicamente cores e outros estilos. **Impacto:** * Customizações com cores fixas não se adaptam ao tema * Problemas de contraste e legibilidade podem surgir * Componentes customizados podem apresentar comportamento inconsistente ### Revisão de componentes do Style Guide Diversos componentes (como abas, botões, formulários, tabelas, etc.) foram atualizados para aderir ao novo Design System. **Impacto:** * Alterações em classes CSS e estrutura HTML * Mudança no comportamento visual de estados (hover, ativo, foco, etc.) * Customizações baseadas em classes antigas podem deixar de funcionar ### Centralização e aumento de prioridade dos estilos padrão Os estilos da plataforma passaram a ter maior controle e prioridade na aplicação, visando consistência visual. **Impacto:** * CSS customizado pode ser sobrescrito com mais frequência * Necessidade de maior especificidade para aplicar customizações * Uso de `!important` tende a gerar conflitos e efeitos colaterais ### Mudanças de escopo e aplicação global de estilos Parte dos estilos que antes estavam limitados a contextos específicos passaram a ser aplicados de forma mais global (ex: via `:root`). **Impacto:** * Alterações no comportamento de herança de estilos * Possíveis conflitos com CSS existente * Customizações dependentes de escopo anterior podem não funcionar corretamente ### Evolução contínua dos componentes Os componentes do Style Guide passam a seguir um modelo mais evolutivo, alinhado ao Design System. **Impacto:** * Customizações diretas podem sofrer impacto em atualizações futuras * Maior necessidade de desacoplamento entre código customizado e componentes padrão ### Resumo De forma geral, os impactos ocorrem quando a customização: * Depende de valores fixos (cores, espaçamentos, etc.) * Sobrescreve estilos padrão diretamente * Utiliza classes ou estrutura interna dos componentes * Não considera variações de tema ## Como identificar problemas na sua customização Antes de iniciar os ajustes, é importante identificar se sua customização está utilizando padrões que podem ser impactados pelas mudanças da versão 2.0.0. Use o checklist abaixo para avaliar rapidamente seus widgets e formulários: ### Estilos (CSS) * Uso de cores fixas (`#fff`, `#000`, `rgb(...)`, etc.) * Uso de valores fixos de espaçamento (`margin`, `padding`, `font-size`, etc.) * Uso de `!important` para forçar estilos * Override de classes padrão (ex: `.btn`, `.panel`, `.nav-tabs`, etc.) * CSS aplicado de forma global (sem escopo de widget/formulário) ### Estrutura (HTML) * Dependência de estrutura interna de componentes (ex: `.nav > li > a`) * Uso de seletores muito específicos ou frágeis * Alterações diretas em HTML gerado por componentes do Fluig ### Comportamento (JavaScript) * Scripts que manipulam diretamente elementos do DOM de componentes do Fluig * Uso de seletores baseados em classes internas do Style Guide * Dependência de eventos ou comportamento não documentado ### Widgets * CSS ou JS global afetando múltiplos widgets * Falta de isolamento de estilos (escopo próprio) * Customizações visuais aplicadas diretamente em componentes padrão ### Formulários * Estilos definidos diretamente no HTML (`