kodda

MultipleEmails

Campo dinâmico para cadastro de múltiplos e-mails com label e endereço.

Carregando...

Instalação

npx @koddaai/ui add multiple-emails

Dependências shadcn/ui: form, input, button

Dependências npm: react-hook-form

Importação

import { MultipleEmails } from "@/components/kodda/multiple-emails"

Props

PropTipoDefaultDescrição
formUseFormReturnInstância do react-hook-form
namestring"emails"Nome do field array no formulário
disabledbooleanfalseDesabilita todos os campos
classNamestringClasses adicionais no container
addLabelstring"Adicionar e-mail"Texto do botão de adicionar
labelPlaceholderstring"Label"Label do campo de identificação
emailLabelstring"E-mail"Label do campo de e-mail
emailPlaceholderstringPlaceholder do campo de e-mail
firstLabelLockedbooleantrueTrava o label do primeiro item (ex: "Principal")

Estrutura dos dados

Cada item do array possui:

CampoTipoDescrição
labelstringIdentificação do e-mail (ex: "Principal", "Financeiro")
addressstringEndereço de e-mail

Uso

const form = useForm({
  defaultValues: {
    emails: [{ label: "Principal", address: "" }],
  },
})

<MultipleEmails form={form} />

Com labels customizados

<MultipleEmails
  form={form}
  addLabel="Add email"
  labelPlaceholder="Type"
  emailLabel="Email address"
  firstLabelLocked={false}
/>

O primeiro item não pode ser removido. O label do primeiro item é travado por padrão (firstLabelLocked).

On this page