Componentes

Documentação de todos os componentes disponíveis no template. Use esta página como referência para ver exemplos e como usar cada componente.

UI Components

22 componentes

Button

Botão com múltiplas variantes e tamanhos

ui/button

Variantes disponíveis:

default
destructive
outline
secondary
ghost
link

Tamanhos disponíveis:

default
sm
lg
icon

Como importar:

import { Button } from "@/components/ui/button";

Exemplo:

Card

Container para agrupar conteúdo relacionado

ui/card

Como importar:

import { Card, CardHeader, CardTitle, CardDescription, CardContent, CardFooter } from "@/components/ui/card";

Exemplo:

Card Title

Card description goes here

Card content area with any content you want.

Input

Campo de entrada de texto com suporte a diferentes tipos

ui/input

Como importar:

import { Input } from "@/components/ui/input";

Exemplo:

Badge

Badge para tags, status e labels

ui/badge

Variantes disponíveis:

default
secondary
destructive
outline

Como importar:

import { Badge } from "@/components/ui/badge";

Exemplo:

Default
Secondary
Destructive
Outline

Table

Tabela para exibir dados estruturados

ui/table

Como importar:

import { Table, TableHeader, TableBody, TableRow, TableHead, TableCell } from "@/components/ui/table";

Exemplo:

NomeEmailStatusAções
João Silvajoao@exemplo.com
Ativo
Maria Santosmaria@exemplo.com
Pendente
Pedro Costapedro@exemplo.com
Ativo

Toast

Notificação toast para feedback ao usuário

ui/toast

Variantes disponíveis:

default
success
error
warning

Como importar:

import { Toast, ToastTitle, ToastDescription, ToastAction, ToastClose } from "@/components/ui/toast";

Exemplo:

Notificação

Esta é uma mensagem de notificação padrão.

Sucesso

Operação realizada com sucesso!

Erro

Ocorreu um erro ao processar sua solicitação.

Atenção

Verifique os dados antes de continuar.

Dialog

Modal/Dialog para exibir conteúdo em overlay

ui/dialog

Como importar:

import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger } from "@/components/ui/dialog";

Exemplo:

Accordion

Componente expansível para organizar conteúdo em seções

ui/accordion

Como importar:

import { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from "@/components/ui/accordion";

Exemplo:

Breadcrumb

Navegação hierárquica mostrando o caminho atual

ui/breadcrumb

Como importar:

import { Breadcrumb, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator } from "@/components/ui/breadcrumb";

Calendar

Seletor de data com calendário visual

ui/calendar

Como importar:

import { Calendar } from "@/components/ui/calendar";

Exemplo:

Novembro 2025

Dom
Seg
Ter
Qua
Qui
Sex
Sáb

Combobox

Campo de seleção com busca e dropdown

ui/combobox

Como importar:

import { Combobox } from "@/components/ui/combobox";

Exemplo:

Data Table

Tabela de dados avançada com busca e filtros

ui/data table

Como importar:

import { DataTable } from "@/components/ui/data-table";

Exemplo:

NomeEmailStatusFunção
João Silvajoao@exemplo.com
Ativo
Admin
Maria Santosmaria@exemplo.com
Pendente
User
Pedro Costapedro@exemplo.com
Ativo
User
Ana Oliveiraana@exemplo.com
Inativo
User

Date Picker

Seletor de data com popover e calendário

ui/date picker

Como importar:

import { DatePicker } from "@/components/ui/date-picker";

Exemplo:

Drawer

Menu lateral deslizante (side panel)

ui/drawer

Como importar:

import { Drawer, DrawerContent, DrawerTrigger } from "@/components/ui/drawer";

Exemplo:

Progress

Barra de progresso para indicar progresso de tarefas

ui/progress

Como importar:

import { Progress } from "@/components/ui/progress";

Exemplo:

Progresso0%
25%
50%
75%
100%

Pagination

Componente de paginação para navegar entre páginas

ui/pagination

Como importar:

import { Pagination } from "@/components/ui/pagination";

Exemplo:

Radio Group

Grupo de botões de opção (radio buttons) para seleção única

ui/radio group

Como importar:

import { RadioGroup, RadioGroupItem } from "@/components/ui/radio-group";

Exemplo:

Sheet

Painel lateral deslizante (similar ao Drawer, mas mais completo)

ui/sheet

Como importar:

import { Sheet, SheetContent, SheetHeader, SheetTitle, SheetDescription, SheetBody, SheetFooter } from "@/components/ui/sheet";

Exemplo:

Skeleton

Placeholder animado para conteúdo em carregamento

ui/skeleton

Como importar:

import { Skeleton } from "@/components/ui/skeleton";

Exemplo:

Spinner

Indicador de carregamento circular animado

ui/spinner

Como importar:

import { Spinner } from "@/components/ui/spinner";

Exemplo:

Layout Components

9 componentes

Header

Cabeçalho com navegação e ações. Inclui links principais e botões de ação.

layout/header

Localização:

@/components/layout/header

Como importar:

import { Header } from "@/components/layout";

Uso:

Usado no layout principal da aplicação

Sidebar

Menu lateral responsivo com navegação. Inclui suporte mobile com overlay.

layout/sidebar

Localização:

@/components/layout/sidebar

Como importar:

import { Sidebar } from "@/components/layout";

Uso:

Usado em páginas que precisam de navegação lateral

Props:

items: Array<{ title: string; href: string; icon?: React.ReactNode }>

Container

Container responsivo para limitar largura de conteúdo com padding automático

layout/container

Localização:

@/components/layout/container

Como importar:

import { Container } from "@/components/layout";

Exemplo:

Small (sm)
Medium (md)
Large (lg)

Grid

Sistema de grid responsivo com colunas configuráveis

layout/grid

Localização:

@/components/layout/grid

Como importar:

import { Grid, GridItem } from "@/components/layout";

Exemplo:

1
2
3
1
2
3
4

Stack

Layout flexível para empilhar elementos verticalmente ou horizontalmente

layout/stack

Localização:

@/components/layout/stack

Como importar:

import { Stack } from "@/components/layout";

Exemplo:

Item 1
Item 2
Left
Right

Section

Seção de página com variantes de fundo e padding configurável

layout/section

Localização:

@/components/layout/section

Como importar:

import { Section } from "@/components/layout";

Exemplo:

Default

Muted

Accent

SplitPane

Painel dividido redimensionável (horizontal ou vertical)

layout/splitpane

Localização:

@/components/layout/split-pane

Como importar:

import { SplitPane } from "@/components/layout";

Exemplo:

Esquerdo
Direito
Superior
Inferior

CardGrid

Grid de cards responsivo para exibir coleções de cards

layout/cardgrid

Localização:

@/components/layout/card-grid

Como importar:

import { CardGrid, CardGridItem } from "@/components/layout";

Exemplo:

Card 1

Descrição

Card 2

Descrição

Card 3

Descrição

42
Total
12
Ativos
8
Pendentes
22
Concluídos