Text
Componente de tipografia para textos e headings com estilo consistente.
A entrega foi concluída com sucesso.
Atualizado há 5 minutos.
Rota concluída dentro do prazo.
Falha ao sincronizar com o rastreador.
import { Text } from "@vincisys/eyeson";
export function TextBodyDemo() {
return (
<div className="flex flex-col gap-2">
<Text>A entrega foi concluída com sucesso.</Text>
<Text variant="secondary">Atualizado há 5 minutos.</Text>
<Text variant="success">Rota concluída dentro do prazo.</Text>
<Text variant="error">Falha ao sincronizar com o rastreador.</Text>
</div>
);
} Instalação
import { Text } from '@vincisys/eyeson'; Uso
import { Text } from '@vincisys/eyeson';
export function Example() {
return (
<>
<Text variant="heading1" as="h1">Painel da frota</Text>
<Text>Texto padrão.</Text>
<Text variant="secondary" size="sm">Texto auxiliar</Text>
</>
);
} Exemplos
Headings
Variantes de heading (heading1, heading2, heading3) exigem a prop
as — você escolhe explicitamente o elemento semântico ("h1", "h2"
etc.) ou "span" quando o texto tem estilo de heading mas não é, de fato,
um cabeçalho de seção.
Painel da frota
Rotas de hoje
SDU → GRU
import { Text } from "@vincisys/eyeson";
export function TextHeadingsDemo() {
return (
<div className="flex flex-col gap-2">
<Text variant="heading1" as="h1">
Painel da frota
</Text>
<Text variant="heading2" as="h2">
Rotas de hoje
</Text>
<Text variant="heading3" as="h3">
SDU → GRU
</Text>
</div>
);
} Texto corrido
A entrega foi concluída com sucesso.
Atualizado há 5 minutos.
Rota concluída dentro do prazo.
Falha ao sincronizar com o rastreador.
import { Text } from "@vincisys/eyeson";
export function TextBodyDemo() {
return (
<div className="flex flex-col gap-2">
<Text>A entrega foi concluída com sucesso.</Text>
<Text variant="secondary">Atualizado há 5 minutos.</Text>
<Text variant="success">Rota concluída dentro do prazo.</Text>
<Text variant="error">Falha ao sincronizar com o rastreador.</Text>
</div>
);
} Tamanhos
size aceita xs, sm, md (padrão) e lg — só se aplica às variantes
de texto corrido, não aos headings.
Extra pequeno (xs)
Pequeno (sm)
Padrão (md)
Grande (lg)
import { Text } from "@vincisys/eyeson";
export function TextSizesDemo() {
return (
<div className="flex flex-col gap-1">
<Text size="xs">Extra pequeno (xs)</Text>
<Text size="sm">Pequeno (sm)</Text>
<Text size="md">Padrão (md)</Text>
<Text size="lg">Grande (lg)</Text>
</div>
);
} Monoespaçado
Use mono/mono-secondary para códigos de referência, IDs e placas.
import { Text } from "@vincisys/eyeson";
export function TextMonoDemo() {
return (
<div className="flex flex-col gap-1">
<Text variant="mono">EYS-4821</Text>
<Text variant="mono-secondary">placa ABC-1D23</Text>
</div>
);
} Truncar
truncate corta o texto com reticências quando ele não cabe no container.
Entrega para Av. Presidente Juscelino Kubitschek, 1500
import { Text } from "@vincisys/eyeson";
export function TextTruncateDemo() {
return (
<div className="w-48">
<Text truncate bold>
Entrega para Av. Presidente Juscelino Kubitschek, 1500
</Text>
</div>
);
}