> ## Documentation Index
> Fetch the complete documentation index at: https://docs.growtify.me/llms.txt
> Use this file to discover all available pages before exploring further.

# Formulários

> Campos, layouts, validação, seletores, datas, upload, editores, sliders e formulários por etapas.

export const Exemplo = ({src, demo, titulo}) => {
  const [height, setHeight] = useState(520);
  const [theme, setTheme] = useState("dark");
  const [revision, setRevision] = useState(0);
  useEffect(() => {
    const receive = event => {
      if (event.origin !== "https://skin.growtify.me" || event.data?.type !== "growtify:example-size" || event.data?.demo !== demo) return;
      const value = Number(event.data.height);
      if (Number.isFinite(value) && value > 0 && value < 100000) setHeight(value);
    };
    window.addEventListener("message", receive);
    return () => window.removeEventListener("message", receive);
  }, [demo]);
  return <div style={{
    margin: "16px 0 40px"
  }}>
    <div style={{
    display: "flex",
    gap: 16,
    justifyContent: "flex-end",
    marginBottom: 8
  }}>
      <button onClick={() => setTheme(theme === "dark" ? "light" : "dark")}>{theme === "dark" ? "Ver Light" : "Ver Dark"}</button>
      <button onClick={() => setRevision(revision + 1)}>Repetir animação</button>
    </div>
    <iframe key={theme + revision} title={titulo} src={src + "&single=1&theme=" + theme} width="100%" height={height} style={{
    border: 0,
    display: "block",
    borderRadius: 12
  }} scrolling="no" loading="lazy" />
  </div>;
};

Os 10 exemplos desta categoria aparecem abaixo, um após o outro. Use o índice da página para ir direto ao modelo desejado.

## form / elements

<Exemplo src="https://skin.growtify.me/catalog/ubold?family=form&demo=form%2Felements" demo="form/elements" titulo="form / elements" />

## form / fileuploads

<Exemplo src="https://skin.growtify.me/catalog/ubold?family=form&demo=form%2Ffileuploads" demo="form/fileuploads" titulo="form / fileuploads" />

## form / layout

<Exemplo src="https://skin.growtify.me/catalog/ubold?family=form&demo=form%2Flayout" demo="form/layout" titulo="form / layout" />

## form / other plugin

<Exemplo src="https://skin.growtify.me/catalog/ubold?family=form&demo=form%2Fother-plugin" demo="form/other-plugin" titulo="form / other plugin" />

## form / pickers

<Exemplo src="https://skin.growtify.me/catalog/ubold?family=form&demo=form%2Fpickers" demo="form/pickers" titulo="form / pickers" />

## form / range slider

<Exemplo src="https://skin.growtify.me/catalog/ubold?family=form&demo=form%2Frange-slider" demo="form/range-slider" titulo="form / range slider" />

## form / select

<Exemplo src="https://skin.growtify.me/catalog/ubold?family=form&demo=form%2Fselect" demo="form/select" titulo="form / select" />

## form / text editors

<Exemplo src="https://skin.growtify.me/catalog/ubold?family=form&demo=form%2Ftext-editors" demo="form/text-editors" titulo="form / text editors" />

## form / validation

<Exemplo src="https://skin.growtify.me/catalog/ubold?family=form&demo=form%2Fvalidation" demo="form/validation" titulo="form / validation" />

## form / wizard

<Exemplo src="https://skin.growtify.me/catalog/ubold?family=form&demo=form%2Fwizard" demo="form/wizard" titulo="form / wizard" />

<Note>
  Dados demonstrativos. Exemplos de estados vazios ou de carregamento têm controles próprios para alternar o estado. As páginas originais UBold preservam seus componentes; não representam telas já implementadas no GHL.
</Note>
