iGRPIGRP 3.0Documentation

Instalação e tema

Instalar o Design System numa aplicação Next.js, configurar o Tailwind v4 com os tokens, ativar o dark mode e personalizar o tema.

Num projeto gerado pelo Studio, tudo isto já vem configurado. Esta página é para quando adicionas o Design System a uma aplicação existente, ou queres perceber e personalizar a configuração.

Requisitos

Versão
Node.js22+
React^19.2
Next.js^15.5
Tailwind CSSv4

Instalar

pnpm add @igrp/igrp-framework-react-design-system

O pacote vive no registry da NOSi — ver a nota sobre o --registry em CLI.

EntradaConteúdo
@igrp/igrp-framework-react-design-systemComponentes, hooks e utilitários
…/tokensVariáveis CSS do tema (tokens)
…/cnO utilitário cn() para juntar classes
…/rich-textEditor e visualizador de texto rico (entrada separada, mais pesada)

Configurar o CSS

O Design System não traz CSS compilado: a tua aplicação compila o Tailwind e lê as classes usadas pelos componentes. No CSS principal (por exemplo src/styles/globals.css):

@import "tailwindcss";
@import "tw-animate-css";

@custom-variant dark (&:is(.dark *));

/* lê a tua aplicação e o Design System */
@source "../**/*.{ts,tsx,js,jsx}";
@source "../../node_modules/@igrp/igrp-framework-react-design-system/dist/**/*.{js,jsx,ts,tsx,mjs,cjs}";

/* tokens do tema */
@import "@igrp/igrp-framework-react-design-system/tokens";

/* opcional: os teus overrides */
@import "./themes.css";

Não importes styles.css

Versões antigas importavam @igrp/…/styles.css. Remove esse import: causa conflitos de cascata e utilitários em falta. Bastam o @source e os tokens.

Usar os componentes

'use client';

import { IGRPButton, IGRPCard, IGRPInputText, useIGRPToast } from '@igrp/igrp-framework-react-design-system';

Os componentes IGRP* são componentes de cliente — o ficheiro que os importa precisa de 'use client'.

Tokens

As cores, raios e estados vêm de variáveis CSS definidas em :root e .dark. Usa sempre as classes semânticas (bg-primary, text-muted-foreground, border-border…), nunca cores Tailwind cruas — é isso que faz o dark mode e os temas funcionarem.

TokenPara quê
--background / --foregroundFundo e texto da página
--primary / --primary-foregroundAções principais
--secondary, --muted, --accent (+ -foreground)Elementos secundários, fundos discretos, hover
--destructiveAções destrutivas
--success, --warning, --info, --highlight (+ -foreground)Estados e realces
--border, --input, --ringBordas, campos, foco
--card, --popover (+ -foreground)Superfícies
--radiusRaio base dos cantos
--sidebar-*Barra lateral
--chart-1 … --chart-8Cores dos gráficos
--process-completed, --process-activeEstados dos passos de processo

Dark mode

O dark mode é a classe .dark num elemento pai (normalmente <html>). Com next-themes:

import { ThemeProvider } from 'next-themes';

<ThemeProvider attribute="class" defaultTheme="system">
  {children}
</ThemeProvider>

Para a barra do browser em mobile acompanhar o tema, usa useIGRPMetaColor() no layout.

Personalizar o tema

Sobrepõe os tokens num ficheiro teu, carregado depois do import dos tokens:

themes.css
:root {
  --primary: oklch(0.62 0.13 230);
  --primary-foreground: oklch(0.985 0 0);
}

.dark {
  --primary: oklch(0.72 0.12 230);
  --primary-foreground: oklch(0.205 0 0);
}

/* variantes de tema ativáveis por classe */
.theme-green {
  --primary: var(--color-green-600);
}

Componentes descontinuados

DescontinuadoUsa
IGRPCalendarIGRPCalendarSingle, IGRPCalendarRange ou IGRPCalendarMultiple
IGRPDatePickerIGRPDatePickerSingle, IGRPDatePickerRange ou IGRPDatePickerMultiple
How is this guide?

Última atualização: