Vitral 0.2
Formulário

InputGroup

Campos, botões e addons soldados num só controle, com cantos internos retos e uma única borda entre vizinhos.

Importação

main.ts
import { InputGroup } from '@vitral/vue';

Addons

@
$
.00
https://
<script setup lang="ts">import { InputGroup, InputGroupAddon, InputNumber, InputText } from '@vitral/vue';import { ref } from 'vue'; const user = ref('');const price = ref<number | null>(120);const site = ref('');</script> <template>    <InputGroup style="max-width: 20rem">        <InputGroupAddon>@</InputGroupAddon>        <InputText v-model="user" aria-label="Username" placeholder="Username" />    </InputGroup>    <InputGroup style="max-width: 20rem">        <InputGroupAddon>$</InputGroupAddon>        <InputNumber v-model="price" aria-label="Price" />        <InputGroupAddon>.00</InputGroupAddon>    </InputGroup>    <InputGroup style="max-width: 24rem">        <InputGroupAddon>https://</InputGroupAddon>        <InputText v-model="site" aria-label="Website" placeholder="example.com" />    </InputGroup></template>

Com um botão

<script setup lang="ts">import { Button, InputGroup, InputText } from '@vitral/vue';import { ref } from 'vue'; const query = ref('');</script> <template>    <InputGroup style="max-width: 24rem">        <InputText v-model="query" aria-label="Search" placeholder="Keyword" />        <Button label="Search" icon="search" />    </InputGroup></template>

Um intervalo com nome

Dois controles, um nome: o grupo é anunciado como “Price range”.

to
<script setup lang="ts">import { InputGroup, InputGroupAddon, InputNumber } from '@vitral/vue';import { ref } from 'vue'; const from = ref<number | null>(10);const to = ref<number | null>(90);</script> <template>    <InputGroup label="Price range" style="max-width: 24rem">        <InputNumber v-model="from" aria-label="From" />        <InputGroupAddon>to</InputGroupAddon>        <InputNumber v-model="to" aria-label="To" />    </InputGroup></template>

API

Lido de packages/vue/src/components/InputGroup/types.ts, então diz o que o componente aceita de fato.

Props

NomeTipoDescrição
labelstringDá nome ao grupo quando ele tem mais de um controle: um intervalo, um valor e sua unidade.

Mais pt, dt e unstyled de BaseProps; veja pass-through e modo sem estilo.

Slots

NomeProps do slotDescrição
default——