Skip to content
Extensões

Inline Edit

Campo que alterna entre modo leitura e modo edição com um clique. Reduz fricção na atualização de dados sem necessidade de abrir formulários completos. Dark mode automático via variáveis semânticas.

components/inline-edit.css

Uso

Quando e como utilizar o inline edit.

  • Default — Com botões de confirmar/cancelar visíveis.
  • Compact — Sem botões, confirma com Enter e cancela com Escape.
  • Textarea — Para textos longos com resize vertical.
  • Em tabela — Edição rápida de células sem sair da tabela.
O componente dispara o evento `arenito:inline-edit:confirm` com `detail.value` e `detail.field` quando o valor é confirmado.

Exemplos

Veja abaixo os exemplos interativos do inline edit.

Carregando exemplo...

Anatomia

Estrutura interna do componente e seus elementos.

ParteElementoDescrição
Container.inline-editWrapper posição relativa
Modo leitura.inline-edit__readTexto + ícone de edição (hover)
Ícone editar.inline-edit__edit-iconLápis SVG, opacity 0 → 1 no hover
Modo edição.inline-edit__fieldInput ou textarea com borda brand
Ações.inline-edit__actionsBotões confirmar (check) e cancelar (×)

Propriedades

Classes, estados e atributos disponíveis.

PropriedadeTipoDefaultDescrição
.inline-editclasseContainer principal do inline edit.
.inline-edit__readclasseModo leitura (texto estático, clicável).
.inline-edit__textclasseTexto exibido no modo leitura.
.inline-edit__edit-iconclasseÍcone de lápis (aparece no hover).
.inline-edit__fieldclasseContainer do input/textarea no modo edição.
.inline-edit__actionsclasseBotões de confirmar e cancelar.
.inline-edit__confirmclasseBotão de confirmação.
.inline-edit__cancelclasseBotão de cancelamento.
.inline-edit--editingestadoEstado ativo de edição.
.inline-edit--compactclasseSem botões de ação (Enter confirma, Esc cancela).
.inline-edit--disabledestadoCampo não editável.
.inline-edit--errorestadoEstado de erro (borda vermelha).
data-fieldatributoNome do campo para identificação no evento.
data-arenitoatributoinline-editAuto-init do comportamento JavaScript.

Código

Snippets prontos para copiar e usar no seu projeto.

Default

html
<div class="inline-edit" data-field="nome" data-arenito="inline-edit">
  <div class="inline-edit__read">
    <span class="inline-edit__text">Valor atual</span>
    <span class="inline-edit__edit-icon">
      <svg><!-- ícone lápis --></svg>
    </span>
  </div>
  <div class="inline-edit__field">
    <input type="text" value="Valor atual" />
    <div class="inline-edit__actions">
      <button class="inline-edit__confirm" aria-label="Confirmar">
        <svg><!-- check --></svg>
      </button>
      <button class="inline-edit__cancel" aria-label="Cancelar">
        <svg><!-- × --></svg>
      </button>
    </div>
  </div>
</div>

Compact (sem botões)

html
<div class="inline-edit inline-edit--compact" data-arenito="inline-edit">
  <div class="inline-edit__read">
    <span class="inline-edit__text">Valor</span>
  </div>
  <div class="inline-edit__field">
    <input type="text" value="Valor" />
  </div>
</div>

Design

Especificações visuais e tokens utilizados.

Especificações

PropriedadeValor
Padding read6px 8px
Border-radius4px
FonteInter 14px
Borda edição2px solid brand
Botão ação28x28
Ícone editar14x14, opacity 0 → 1

Tokens utilizados

EstadoBackgroundBordaTexto
Readtransparenttransparent--text-base-neutral-default
Read hover--surface-base-neutral-container-emphasis--border-base-neutral-default--text-base-neutral-default
Editing--surface-base-neutral-container-default--border-base-brand-default--text-base-neutral-default
Error--border-base-error-default

Design System interno do GALES