Componentes
Biblioteca de componentes React construída sobre tokens de design.
Button
Elemento interativo com 4 variantes e 4 tamanhos. Suporta estados de carregamento e desabilitado.
import { Button } from '@ghiberti85/ui'Badge
Etiqueta pequena em formato de pílula para status e metadados.
import { Badge } from '@ghiberti85/ui'Card
Contêiner flexível com sub-componentes compostos.
Título do Card
Uma breve descrição do conteúdo do card.
Este é o corpo do card. Pode conter qualquer conteúdo.
import { Card, CardHeader, CardTitle, CardDescription, CardContent, CardFooter } from '@ghiberti85/ui'Componentes de Formulário
Input
Campo de texto acessível com rótulo, erro e estados desabilitados.
import { Input } from '@ghiberti85/ui'Textarea
Campo de texto multilinha com rótulo, texto auxiliar e estado de erro opcionais.
import { Textarea } from '@ghiberti85/ui'Select
Dropdown acessível construído com Radix UI. Suporta erro e estado desabilitado.
import { Select } from '@ghiberti85/ui'Checkbox
Checkbox acessível com estados marcado, desmarcado e indeterminado.
import { Checkbox } from '@ghiberti85/ui'Radio / RadioGroup
Grupo de rádio acessível para seleção única de um conjunto de opções.
import { Radio, RadioGroup } from '@ghiberti85/ui'Switch
Interruptor de alternância para preferências booleanas. Suporta rótulo, descrição e desabilitado.
import { Switch } from '@ghiberti85/ui'Combobox
Select com busca baseado em Popover com filtragem em tempo real, navegação por teclado e atributos ARIA acessíveis.
import { Combobox } from '@ghiberti85/ui'NumberInput
Input numérico com botões de incremento/decremento, limites min/max, prefixo/sufixo e precisão.
import { NumberInput } from '@ghiberti85/ui'FileUpload
Zona de upload com arrastar-e-soltar, pré-visualização de arquivos e validação.
import { FileUpload } from '@ghiberti85/ui'OTPInput
Campo de senha única com caixas individuais por dígito, avanço automático e suporte a colar.
import { OTPInput } from '@ghiberti85/ui'TagInput
Campo de texto com múltiplos valores que cria tags removíveis ao pressionar Enter ou vírgula.
import { TagInput } from '@ghiberti85/ui'Componentes de Exibição
Dialog
Diálogo modal construído com Radix UI, com sobreposição, título, descrição e botões de ação.
import { Dialog, DialogTrigger, DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription, DialogClose } from '@ghiberti85/ui'Separator
Divisor visual fino para separar seções de conteúdo.
Seção A
Seção B
import { Separator } from '@ghiberti85/ui'Typography
Componentes Heading, Text, Label e Code construídos sobre as escalas tipográficas dos tokens de design.
Heading 4xl — Display
Heading 3xl — Título
Heading 2xl — Seção
Heading xl — Subseção
Text xl — Corpo grande para introduções.
Text lg — Corpo ligeiramente maior.
Text md — Texto padrão para a maioria do conteúdo.
Text sm — Texto auxiliar ou secundário menor.
Text xs — Legendas e letras miúdas.
Inline: const saudacao = 'olá'
function saudar(nome: string) {
return `Olá, ${nome}!`
}import { Heading, Text, Label, Code } from '@ghiberti85/ui'Tooltip
Rótulo flutuante acessível ao passar o mouse ou focar, baseado no Radix UI.
import { Tooltip } from '@ghiberti85/ui'Avatar
Exibe foto de perfil com fallback automático de iniciais. 5 tamanhos, formatos circular e quadrado.
import { Avatar } from '@ghiberti85/ui'Tabs
Seções de conteúdo empilhadas exibidas uma de cada vez. Construído sobre o Radix UI com navegação por teclado.
Manage your account settings.
import { Tabs, TabsList, TabsTrigger, TabsContent } from '@ghiberti85/ui'Accordion
Cabeçalhos interativos empilhados verticalmente que revelam seções de conteúdo. Suporta um ou múltiplos itens abertos.
import { Accordion, AccordionItem, AccordionTrigger, AccordionContent } from '@ghiberti85/ui'Toast
Mensagens de feedback temporárias que aparecem e se dispensam automaticamente. Suporta variantes padrão, sucesso, aviso, erro e informação.
import { Toaster, useToast } from '@ghiberti85/ui'Table
Tabela de dados responsiva com cabeçalho, corpo, rodapé e legenda. Suporta linhas alternadas.
| Invoice | Status | Method | Amount |
|---|---|---|---|
| INV-001 | Paid | Credit Card | $250.00 |
| INV-002 | Pending | Bank Transfer | $150.00 |
| INV-003 | Paid | PayPal | $350.00 |
| Total | $750.00 | ||
import { Table, TableHeader, TableBody, TableFooter, TableRow, TableHead, TableCell, TableCaption } from '@ghiberti85/ui'Progress
Barra de progresso animada com 5 variantes (padrão/sucesso/aviso/erro/info) e 3 tamanhos.
import { Progress } from '@ghiberti85/ui'Skeleton
Placeholder shimmer em CSS para estados de carregamento. Inclui SkeletonText e SkeletonAvatar.
import { Skeleton, SkeletonText, SkeletonAvatar } from '@ghiberti85/ui'Alert
Mensagens de feedback contextual com 4 variantes, título opcional, ícones integrados e botão de fechar.
Info
Success
Warning
Error
import { Alert } from '@ghiberti85/ui'Popover
Painel flutuante baseado em Radix UI. Suporta 4 lados, seta e animação de abertura/fechamento.
import { Popover, PopoverTrigger, PopoverContent, PopoverClose } from '@ghiberti85/ui'Spinner
Spinner de carregamento em CSS puro. 4 tamanhos, 4 variantes, label acessível.
import { Spinner } from '@ghiberti85/ui'DropdownMenu
Menu de contexto baseado em Radix UI. Suporta itens, rótulos, separadores, checkboxes, grupos de rádio, submenus e atalhos de teclado.
import { DropdownMenu, … } from '@ghiberti85/ui'AlertDialog
Diálogo modal de confirmação baseado em Radix UI. Bloqueia a interação até que o usuário responda. Suporta variante de ação destrutiva.
import { AlertDialog, … } from '@ghiberti85/ui'Calendar
Calendário mensal para seleção de datas. Suporta modos single, multiple e range.
| Su | Mo | Tu | We | Th | Fr | Sa |
|---|---|---|---|---|---|---|
import { Calendar } from '@ghiberti85/ui'DatePicker
Seletor de data em popover baseado no Calendar. Suporta data única e intervalo de datas.
import { DatePicker } from '@ghiberti85/ui'Timeline
Lista cronológica vertical de eventos com variantes e ícones personalizados.
Project started
Beta launched
v1.0 released
import { Timeline } from '@ghiberti85/ui'Slider
Input deslizante com marcas opcionais, mínimo/máximo e controle de passo.
import { Slider } from '@ghiberti85/ui'Chip
Etiqueta compacta com botão de remoção opcional, ícone e variantes de cor.
import { Chip } from '@ghiberti85/ui'Rating
Avaliação por estrelas clicáveis com modo somente leitura e máximo configurável.
import { Rating } from '@ghiberti85/ui'Stepper
Indicador de progresso multi-etapas com estados pendente, ativo, concluído e erro.
- Account
- Profile
- Done
import { Stepper } from '@ghiberti85/ui'DataTable
Componente de tabela com ordenação e busca, definições de colunas e renderização flexível.
| Name | Role |
|---|---|
| Alice | Engineer |
| Bob | Designer |
import { DataTable } from '@ghiberti85/ui'ChatMessage
Componentes de bolha de chat para mensagens de usuário, assistente e sistema com timestamps e avatares.
import { ChatMessage } from '@ghiberti85/ui'StreamingText
Anima texto caractere a caractere com cursor piscante, simulando saída de streaming de LLM.
import { StreamingText } from '@ghiberti85/ui'EmptyState
Placeholder para dados zerados com ícone, título, descrição e botão de ação opcional. Inclui 4 variantes semânticas.
No results found
Try adjusting your search terms.
import { EmptyState } from '@ghiberti85/ui'Componentes de Layout
Stack
Contêiner flex para compor layouts verticais e horizontais com controle de espaçamento.
import { Stack } from '@ghiberti85/ui'Container
Wrapper centralizado com largura máxima. Tamanhos disponíveis: sm, md, lg, xl, full.
Container sm — máx. 640 px
Container md — máx. 768 px
Container lg — máx. 1024 px
import { Container } from '@ghiberti85/ui'Breadcrumb
Trilha de navegação semântica com suporte a separadores personalizados, reticências e aria-current na página ativa.
import { Breadcrumb, … } from '@ghiberti85/ui'Pagination
Controle de navegação por páginas com reticências para grandes intervalos. Suporta contagem de irmãos, botões de primeiro/último e aria-current.
import { Pagination } from '@ghiberti85/ui'ScrollArea
Contêiner rolável com estilo personalizado baseado no Radix UI, com scrollbar temática e suporte a eixos vertical, horizontal ou ambos.
import { ScrollArea } from '@ghiberti85/ui'