Componentes
Visão geral
Todos os componentes, com maturidade e categoria.
Ação#
Entrada#
Inputestável
Input
Papel com anel fino. Foco vira azul com halo de 4px. Erro diz o que fazer, com ícone e aria.
Selectestável
Select
Campo nativo. Mesmo anel e a mesma altura do Input, com a seta Graffiti do campo. O menu aberto é o do sistema.
Textareaestável
Textarea
Campo de várias linhas. Mesmo anel do Input. Mínimo de 96px, cresce na vertical.
Tabsestável
Tabs
Segmento: trilho rebaixado com um papel que desliza até a aba ativa. Linha: sublinhado azul para conteúdo longo. Base Radix.
FilterChipbeta
FilterChip
Chip de filtro: rótulo + valor, popover de vidro. Ativo vira papel com anel azul e ganha X para limpar.
Checkboxbeta
Checkbox
A mesma marca do FilterChip: papel com anel fino, azul preenchido com check branco. Independente ou em lote. Traço quando só alguns filhos estão marcados.
RadioGroupbeta
Radio
Uma entre poucas. Círculo da mesma família do FilterChip single. fieldset + legend em rótulo de máquina.
Switchbeta
Switch
Liga ou desliga uma configuração. Trilho com raio da escala: apagado em papel com anel Graffiti, aceso em Vivid Blue com luz interna. Thumb de papel.
FileUploadbeta
FileUpload
Zona rebaixada, anel tracejado, coruja vigiando. No arraste ela trabalha. Arquivo vira linha de papel com tamanho mono e X. Sem nuvem genérica.
ChoiceCardGroupbeta
ChoiceCard
Escolha que precisa mostrar o preço da decisão. É o Radio quando a opção não cabe numa linha: ícone, título, explicação e o total no pé. Marca no canto, luz azul quando ativo.
Sliderbeta
Slider
Faixa contínua de valor. Trilho wash preenchido pelo degradê Graffiti → Vivid Blue, polegar de papel. O número atual fica visível o tempo todo.
Estado#
Badgeestável
Badge
Etiqueta de estado com raio 6, nunca pílula. O ponto diz que o estado está vivo. O app mapeia o domínio para um tom do Core.
EmptyStateestável
EmptyState
Vazio: a coruja vigia até ter o que mostrar. Sem ilustração genérica. Sempre que puder, um próximo passo. É o StatusView no tom neutro.
ErrorBannerestável
ErrorBanner
Erro recuperável com a saída já montada: causa em linguagem humana e "Tentar de novo". É o Notice de perigo com o botão pronto.
Spinnerestável
Spinner
Arco curto em currentColor, para dentro de um botão ou ao lado de um texto.
Skeletonbeta
Skeleton
A forma da peça que ainda não chegou. Raio, altura e etiqueta iguais aos da peça real. Sempre aria-hidden; quem carrega anuncia.
Progressbeta
Progress
Trilha wash. Com número, o corpo é Graffiti e a ponta é Vivid Blue. Indeterminado: a coruja trabalha e a barra desliza.
ToastProviderbeta
Toast
Aviso de vidro. Na mesa, canto inferior direito. No celular, topo, sob a barra. Tom é um ponto de luz, não uma faixa. Some sozinho. Não decide por ninguém.
Stepperbeta
Stepper
Onde a pessoa está numa jornada de poucos passos. Concluído vira check e nunca volta a ser número. No horizontal estreito cabe só o número; no vertical a descrição fica.
Noticeestável
Notice
Aviso preso ao conteúdo, nos quatro tons. Tom aparece como preenchimento e tinta — nunca como faixa colorida no topo do cartão.
StatusViewestável
StatusView
Tela inteira que só tem um estado para contar: vazio, esperando, aprovado ou falhou. Um desenho para os quatro; o tom troca o ícone no tile branco. EmptyState é o preset neutro.
Dados#
DataTableestável
DataTable
Tabela de trabalho em papel. Linha de 48 (36 no denso), cabeçalho de máquina que ordena, número à direita em Sora tabular. O link da linha é o alvo do teclado.
Avatarbeta
Avatar
Iniciais em Sora sobre uma cor de token: Vivid Blue, Graffiti, success-ink, warning-ink ou danger-ink. A cor vem do e-mail, então a mesma pessoa tem sempre a mesma cor. Ninguém atribuído é tracejado.
MetricWidgetbeta
MetricWidget
Métrica: rótulo de máquina, número em Sora tabular, contexto embaixo. O tom é luz, não faixa. Bar mostra proporção.
Paginationbeta
Pagination
Intervalo em Sora tabular e duas setas no rodapé da lista. No estreito o texto sai da vista e fica no leitor.
SummaryListbeta
SummaryList
Resumo de uma decisão: rótulo à esquerda, valor tabular à direita, linha fina entre as duas. O total é a única linha que grita. Papel sozinho; flush dentro de outro cartão.
Diálogo#
Modalestável
Modal
Papel sobre scrim de Graffiti. No celular vira folha que sobe; no desktop pousa e a borda de luz acende depois. O rodapé é a faixa da decisão; o corpo rola.
ConfirmGateestável
ConfirmGate
Gate para ações irreversíveis: dinheiro, permissão, exclusão, execução de agente. Pode exigir motivo e palavra digitada.
DropdownMenubeta
DropdownMenu
Menu de vidro no desktop; folha de papel no celular. Item 34 (40 no toque), perigo em tinta rosa. Nunca é navegação e nunca é filtro.
Tooltipbeta
Tooltip
Chip Graffiti com seta, 12px, atraso de 400ms. Entra só por opacidade. Explica o que já está na tela. Nunca carrega a regra.
Superfície#
Marca#
Tabela de maturidade#
| Componente | Exporta | Pacote | Categoria | Desde | Status |
|---|---|---|---|---|---|
| Button | Button, buttonVariants, buttonSizes, ButtonProps, ButtonVariant, ButtonSize | @hiboupay/react | Ação | 0.1.0 | estável |
| Card | Card, CardHeader, CardFooter, SectionTitle, Kicker, CardProps, CardHeaderProps, CardMaterial, CardPadding | @hiboupay/react | Superfície | 0.1.0 | estável |
| Badge | Badge, badgeTones, BadgeProps, BadgeTone | @hiboupay/react | Estado | 0.1.0 | estável |
| Input | Input, Label, Field, fieldFrame, InputProps, FieldSize | @hiboupay/react | Entrada | 0.1.0 | estável |
| Select | Select, SelectProps | @hiboupay/react | Entrada | 0.1.0 | estável |
| Textarea | Textarea, TextareaProps | @hiboupay/react | Entrada | 0.1.0 | estável |
| Tabs | Tabs, TabsList, TabsTrigger, TabsContent, TabsListProps, TabsTriggerProps, TabsVariant | @hiboupay/react | Entrada | 0.1.0 | estável |
| FilterChip | FilterChip, FilterChipProps, ChipOption | @hiboupay/react | Entrada | 0.1.0 | beta |
| Modal | Modal, ModalProps | @hiboupay/react | Diálogo | 0.1.0 | estável |
| ConfirmGate | ConfirmGate, ConfirmGateProps | @hiboupay/react | Diálogo | 0.1.0 | estável |
| DataTable | DataTable, DataTableProps, Column | @hiboupay/react | Dados | 0.1.0 | estável |
| Avatar | Avatar, AvatarPlaceholder, avatarPalette, avatarHue, initials, AvatarProps, AvatarPlaceholderProps, AvatarSize | @hiboupay/react | Dados | 0.1.0 | beta |
| MetricWidget | MetricWidget, Bar, MetricWidgetProps, BarProps, MetricTone | @hiboupay/react | Dados | 0.1.0 | beta |
| EmptyState | EmptyState, EmptyStateProps | @hiboupay/react | Estado | 0.1.0 | estável |
| ErrorBanner | ErrorBanner, ErrorBannerProps | @hiboupay/react | Estado | 0.1.0 | estável |
| Spinner | Spinner, SpinnerProps | @hiboupay/react | Estado | 0.1.0 | estável |
| Skeleton | Skeleton, SkeletonCard, SkeletonRows, SkeletonMetric | @hiboupay/react | Estado | 0.1.0 | beta |
| HibouMark | HibouMark, HibouMarkProps, OWL, OWL_STOPS | @hiboupay/icons | Marca | 0.1.0 | estável |
| Wordmark | Wordmark, WordmarkProps, HIBOU, PAY | @hiboupay/icons | Marca | 0.1.0 | estável |
| Checkbox | Checkbox, CheckboxProps | @hiboupay/react | Entrada | 0.2.0 | beta |
| Radio | RadioGroup, Radio, RadioGroupProps, RadioProps | @hiboupay/react | Entrada | 0.2.0 | beta |
| Switch | Switch, SwitchProps | @hiboupay/react | Entrada | 0.2.0 | beta |
| DropdownMenu | DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuCheckboxItem, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuItemProps | @hiboupay/react | Diálogo | 0.2.0 | beta |
| Pagination | Pagination, PaginationProps | @hiboupay/react | Dados | 0.2.0 | beta |
| Progress | Progress, ProgressProps, ProgressTone | @hiboupay/react | Estado | 0.2.0 | beta |
| FileUpload | FileUpload, FileUploadProps | @hiboupay/react | Entrada | 0.2.0 | beta |
| Toast | ToastProvider, useToast, ToastTone, ToastInput, ToastPosition | @hiboupay/react | Estado | 0.2.0 | beta |
| Tooltip | Tooltip, TooltipProvider, TooltipProps | @hiboupay/react | Diálogo | 0.2.0 | beta |
| Grid | Grid, GridItem, GridProps, GridItemProps, GridColumns, GridCols, GridGap | @hiboupay/react | Superfície | 0.2.0 | beta |
| ChoiceCard | ChoiceCardGroup, ChoiceCard, ChoiceCardGroupProps, ChoiceCardProps | @hiboupay/react | Entrada | 0.2.0 | beta |
| Stepper | Stepper, StepperProps, Step, StepStatus, StepperOrientation | @hiboupay/react | Estado | 0.2.0 | beta |
| Notice | Notice, NoticeProps, NoticeTone | @hiboupay/react | Estado | 0.2.0 | estável |
| SummaryList | SummaryList, SummaryListProps, SummaryRow, SummaryMaterial, SummaryTone | @hiboupay/react | Dados | 0.2.0 | beta |
| Slider | Slider, SliderProps | @hiboupay/react | Entrada | 0.2.0 | beta |
| StatusView | StatusView, StatusViewProps, StatusTone | @hiboupay/react | Estado | 0.2.0 | estável |