Skip to content
Page

Input

Single-line text entry with error and success states.

import { Input } from "@pelagornis/page/components";

The preview above renders this file. Copy it into src/components/ to start from it.

src/components/InputExample.tsx
import { Input, Stack } from "@pelagornis/page/components";
export default function InputDemo() {
return (
<Stack gap="sizeSmall" className="w-full max-w-sm">
<Input placeholder="Default" aria-label="Default" fullWidth />
<Input size="lg" placeholder="Large" aria-label="Large" fullWidth />
<Input error defaultValue="Invalid value" aria-label="Error" fullWidth />
<Input success defaultValue="Looks good" aria-label="Success" fullWidth />
<Input disabled placeholder="Disabled" aria-label="Disabled" fullWidth />
</Stack>
);
}

Input can be written straight in an .mdx page. Import it below the frontmatter. It renders on the server, so no client directive is needed.

src/content/docs/example.mdx
---
title: Example
---
import { Input } from "@pelagornis/page/components";
<Input placeholder="you@example.com" aria-label="Email" />

pageMarkdoc() registers a input tag for this component. Add the preset once in markdoc.config.mjs (see Use in Markdoc), then write the tag in any .mdoc page.

src/content/docs/example.mdoc
{% input placeholder="you@example.com" ariaLabel="Email" /%}

Attributes use the same names and values as the React props.

Values the component accepts for each variant prop.

PropValues
sizesm md lg

Parts of the component and the data-refineui role each one renders.

PartRole
rootinput