Account details
Collect an email address with native email validation and autocomplete.
Components / Forms
A text field that keeps native input behavior and supports prefix and suffix slots.
Collect an email address with native email validation and autocomplete.
Place a fixed prefix beside an editable workspace name without putting the prefix in its value.
<script setup lang="ts">
import { ref } from 'vue'
import Input from './components/ui/input/Input.vue'
import Label from './components/ui/label/Label.vue'
const email = ref('')
</script>
<template>
<Label for="email">Email</Label>
<Input id="email" v-model="email" type="email" required />
</template>Use native input attributes for validation and autofill.
<script setup lang="ts">
import { ref } from 'vue'
import Input from './components/ui/input/Input.vue'
const email = ref('')
</script>
<template>
<label for="billing-email">Billing email</label>
<Input id="billing-email" v-model="email" type="email" name="email" autocomplete="email" required />
</template>Keep the stored name separate from fixed context.
<script setup lang="ts">
import { ref } from 'vue'
import Input from './components/ui/input/Input.vue'
const workspace = ref('')
</script>
<template>
<label for="workspace">Workspace name</label>
<Input id="workspace" v-model="workspace" name="workspace">
<template #prefix>weini.app/</template>
</Input>
</template>The most useful props, models, slots, events, and methods for this component.
| Name | Type | Default or requirement |
|---|---|---|
v-model | string | undefined |
size | sm | md | lg | md |
invalid | boolean | false |
prefix / suffix | slot | empty |
Use a visible label. Native attributes such as type, name, required, and autocomplete pass through.