Skip to main content

Steps

Apresentação

O componente Steps é responsável por criar indicadores de progresso que mostram ao usuário em qual etapa de um processo ele se encontra. Ele suporta diferentes tipos de conteúdo para cada etapa e pode ser configurado para ser scrollável quando há muitas etapas.

Luminus UI

Quando usar

  • Para mostrar progresso em formulários multi-etapa
  • Para indicar etapas de um processo
  • Para criar wizards de configuração
  • Para mostrar progresso de checkout
  • Para indicar etapas de onboarding
  • Para criar fluxos de trabalho
  • Para mostrar progresso de instalação
  • Para indicar etapas de configuração

Forma básica de uso

import { Steps } from 'eitri-luminus';

// Steps básico
<Steps>
<Steps.Step>Etapa 1</Steps.Step>
<Steps.Step>Etapa 2</Steps.Step>
<Steps.Step>Etapa 3</Steps.Step>
</Steps>

// Steps com conteúdo personalizado
<Steps>
<Steps.Step dataContent="1">Informações Pessoais</Steps.Step>
<Steps.Step dataContent="2">Endereço</Steps.Step>
<Steps.Step dataContent="3">Pagamento</Steps.Step>
<Steps.Step dataContent="4">Confirmação</Steps.Step>
</Steps>

// Steps com classes personalizadas
<Steps className="steps-horizontal">
<Steps.Step className="step-primary">Início</Steps.Step>
<Steps.Step className="step-secondary">Processando</Steps.Step>
<Steps.Step className="step-accent">Finalizado</Steps.Step>
</Steps>

// Steps scrollável
<Steps scrollable>
<Steps.Step dataContent="1">Etapa 1</Steps.Step>
<Steps.Step dataContent="2">Etapa 2</Steps.Step>
<Steps.Step dataContent="3">Etapa 3</Steps.Step>
<Steps.Step dataContent="4">Etapa 4</Steps.Step>
<Steps.Step dataContent="5">Etapa 5</Steps.Step>
<Steps.Step dataContent="6">Etapa 6</Steps.Step>
</Steps>

// Steps responsivo
<Steps className="steps-vertical lg:steps-horizontal">
<Steps.Step dataContent="1">Configuração</Steps.Step>
<Steps.Step dataContent="2">Validação</Steps.Step>
<Steps.Step dataContent="3">Ativação</Steps.Step>
</Steps>

// Steps com identificador
<Steps id="processo-cadastro">
<Steps.Step dataContent="1">Dados Básicos</Steps.Step>
<Steps.Step dataContent="2">Verificação</Steps.Step>
<Steps.Step dataContent="3">Ativação</Steps.Step>
</Steps>

// Steps com layout flexível
<Steps
display="flex"
justifyContent="center"
gap="4"
>
<Steps.Step dataContent="1">Passo 1</Steps.Step>
<Steps.Step dataContent="2">Passo 2</Steps.Step>
<Steps.Step dataContent="3">Passo 3</Steps.Step>
</Steps>

// Steps para checkout
<Steps>
<Steps.Step dataContent="1">Carrinho</Steps.Step>
<Steps.Step dataContent="2">Endereço</Steps.Step>
<Steps.Step dataContent="3">Pagamento</Steps.Step>
<Steps.Step dataContent="4">Confirmação</Steps.Step>
</Steps>

// Steps com ícones
<Steps>
<Steps.Step dataContent="📝">Preenchimento</Steps.Step>
<Steps.Step dataContent="">Validação</Steps.Step>
<Steps.Step dataContent="🎉">Conclusão</Steps.Step>
</Steps>

// Steps para onboarding
<Steps>
<Steps.Step dataContent="👋">Boas-vindas</Steps.Step>
<Steps.Step dataContent="⚙️">Configuração</Steps.Step>
<Steps.Step dataContent="📚">Tutorial</Steps.Step>
<Steps.Step dataContent="🚀">Pronto!</Steps.Step>
</Steps>

Propriedades

PropriedadeTipoDescrição
childrenReactNodeConteúdo do steps (Steps)
scrollablebooleanHabilita scroll horizontal quando há muitas etapas
classNamestringClasses CSS adicionais
idstringIdentificador único do componente

Steps.Step

PropriedadeTipoDescrição
childrenReactNodeConteúdo do step
dataContentstringConteúdo exibido no indicador do step
classNamestringClasses CSS adicionais
idstringIdentificador único do componente

Heranças

O componente Steps herda todas as propriedades comuns da biblioteca através da interface CommonProps, que inclui:

  • Propriedades de estilo (margin, padding, etc)
  • Propriedades de layout (flex, grid, etc)
  • Propriedades de posicionamento
  • Propriedades de acessibilidade
  • Propriedades de identificação (id, data-e)

Observações

  • O componente usa a classe 'steps' para estilização base
  • Cada step usa a classe 'step' individualmente
  • Mantém a semântica HTML apropriada com <ul> e <li>
  • É responsivo por padrão
  • Pode ser estilizado com classes do Tailwind
  • Suporta propriedades de layout flexíveis
  • Mantém a acessibilidade por padrão
  • Pode ser usado em qualquer contexto de layout
  • Suporta diferentes tamanhos de conteúdo
  • Pode ser combinado com outros componentes
  • Ideal para indicar progresso
  • Suporta estilos inline e classes CSS
  • Pode ser usado para diferentes tipos de processo
  • Funciona bem com formulários multi-etapa
  • Facilita a navegação do usuário