Negocios

Typography

Componente polimórfico para toda a tipografia do design system. Escala completa de variantes com element-as prop.

Escala tipográfica

O componente Typography encapsula todas as variantes de texto do sistema. Cada variante mapeia para um tamanho e peso específico.

Display

A fonte do sistema é Inter

48px / 800 / -0.02em
H1

A fonte do sistema é Inter

32px / 700 / -0.02em
H2

A fonte do sistema é Inter

24px / 700 / -0.02em
H3

A fonte do sistema é Inter

18px / 600 / -0.02em
Body Large

A fonte do sistema é Inter

18px / 400 / lh 1.6
Body

A fonte do sistema é Inter

15px / 400 / lh 1.6
Body Small

A fonte do sistema é Inter

13px / 400 / lh 1.6
Label

Rótulo de campo

12px / 600 / uppercase / ls 0.08em
Caption

Rótulo de campo

11px / 500 / uppercase / ls 0.06em
Muted

A fonte do sistema é Inter

15px / 400 / muted-foreground
Code
const x = 42
12px / mono / lh 1.5

Como usar

O componente Typography usa a prop as para controlar o elemento HTML e variant para o estilo.

Display

Título H1

Título H2

Título H3

Texto largo para introduções e leads de seção.

Corpo padrão para leitura contínua e parágrafos de conteúdo.

Corpo pequeno para metadados, legendas e informações secundárias.

Rótulo de seção

Caption e metadados

Texto em muted-foreground para notas e avisos discretos.

const system = "MN Design System"

Import

import { Typography } from "@/components/typography"

Padrão de implementação

Exemplos de uso do componente Typography em diferentes contextos.

Hierarquia de texto em card

<div className="ds-card !p-[30px]">
  <Typography as="p" variant="label" className="text-primary">
    SEÇÃO
  </Typography>
  <Typography as="h2" variant="h2" className="mt-2 text-foreground">
    Título do card
  </Typography>
  <Typography as="p" variant="body-sm" className="mt-3 text-muted-foreground">
    Descrição complementar com detalhes sobre o conteúdo.
  </Typography>
</div>

Elemento polimórfico (as prop)

// Renderiza como <h1> mas com estilo de h2
<Typography as="h1" variant="h2">
  Título semântico h1 com estilo h2
</Typography>

// Renderiza como <p> mas com estilo de label
<Typography as="p" variant="label">
  Rótulo em parágrafo
</Typography>

// Renderiza como <span> com estilo de body-sm
<Typography as="span" variant="body-sm">
  Texto inline
</Typography>

Props e uso

API do componente Typography.

Props

variant

"display" | "h1" | "h2" | "h3" | "body-lg" | "body" | "body-sm" | "label" | "caption" | "muted" | "code"

Controla o tamanho, peso e família da fonte.

as

ElementType

Define o elemento HTML renderizado. Por padrão, cada variante tem um elemento padrão (h1 para display, p para body etc.).

className

string

Classes adicionais. Use para sobrescrever a cor (text-foreground, text-primary, etc.).

children

ReactNode

Conteúdo de texto.

Elementos padrão por variante

display<h1>
h1<h1>
h2<h2>
h3<h3>
body-lg / body / body-sm / muted<p>
label / caption<p>
code<code>

MN Design System · Primary #5FC318 · Brand Green #AFF000 · Font: Inter