CLI previewInstall commands shown on this site are not released yet.

DocsComponentsCore

Input

React example follows below.
ts
import { Input } from "@grassroot/ui-react";
const [name, setName] = React.useState("ledger-api");
<Input
label="Service name"
hint="Lowercase, hyphen-separated."
value={name}
onChange={(e) => setName(e.target.value)}
/>
<Input label="Webhook URL" error="Must be a valid HTTPS URL." />
ts
<script setup lang="ts">
import { ref } from "vue";
import { Input } from "@grassroot/ui-vue";
const name = ref("ledger-api");
</script>
<template>
<Input
v-model="name"
label="Service name"
hint="Lowercase, hyphen-separated."
@change="name = e.target.value"
/>
<Input label="Webhook URL" error="Must be a valid HTTPS URL." />
</template>
ts
import { Component, signal } from "@angular/core";
import { GrassrootInput } from "@grassroot/ui-angular";
@Component({
selector: "app-example",
standalone: true,
imports: [GrassrootInput],
template: `
<grassroot-input
label="Service name"
hint="Lowercase, hyphen-separated."
[value]="name()"
(change)="name.set(e.target.value)"
/>
<grassroot-input label="Webhook URL" error="Must be a valid HTTPS URL." />
`,
})
export class ExampleComponent {
readonly name = signal("ledger-api");
}
ts
<script lang="ts">
import { Input } from "@grassroot/ui-svelte";
let name = $state("ledger-api");
</script>
<Input
label="Service name"
hint="Lowercase, hyphen-separated."
value={name}
onChange={(e) => name = e.target.value}
/>
<Input label="Webhook URL" error="Must be a valid HTTPS URL." />
ts
import { createSignal } from "solid-js";
import { Input } from "@grassroot/ui-solid";
export function Example() {
const [name, setName] = createSignal("ledger-api");
return (
<>
<Input
label="Service name"
hint="Lowercase, hyphen-separated."
value={name()}
onChange={(e) => setName(e.target.value)}
/>
<Input label="Webhook URL" error="Must be a valid HTTPS URL." />
</>
);
}

Installation

bash
pnpm dlx grassroot add ui/input
bash
npx grassroot@latest add ui/input
bash
yarn dlx grassroot add ui/input
bash
bunx grassroot add ui/input

API Reference

InputProps
PropTypeDefault
labelMono uppercase label rendered above field.string | undefined
hintHelper text below field.string | undefined
errorError message — turns border + text crimson-error.string | undefined
monoRender value in JetBrains Mono (for IDs, tokens, code).boolean | undefinedfalse