Vitral 0.2
Formulário

Knob

Um dial para um número com limites, ajustado arrastando, clicando em qualquer ponto dele ou pelo teclado.

Importação

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

Básico

Volume
<script setup lang="ts">import { Knob, StackPanel } from '@vitral/vue';import { ref } from 'vue'; const volume = ref(60);</script> <template>    <StackPanel spacing="0.375rem">        <span id="knob-volume">Volume</span>        <Knob v-model="volume" aria-labelledby="knob-volume" value-template="{value}%" />    </StackPanel></template>

Intervalo, passo e tamanho

<script setup lang="ts">import { Knob } from '@vitral/vue';import { ref } from 'vue'; const temperature = ref(21);const balance = ref(0);</script> <template>    <Knob v-model="temperature" :min="16" :max="30" :step="0.5" :size="140" :stroke-width="10" value-template="{value}°C" aria-label="Temperature" />    <Knob v-model="balance" :min="-50" :max="50" value-color="var(--vt-help-color)" aria-label="Balance" /></template>

Somente leitura e desabilitado

<script setup lang="ts">import { Knob } from '@vitral/vue';</script> <template>    <Knob :model-value="75" readonly aria-label="Battery" value-template="{value}%" />    <Knob :model-value="30" disabled aria-label="Disabled" /></template>

API

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

Props

NomeTipoDescrição
minnumberO padrão é 0.
maxnumberO padrão é 100.
stepnumberO padrão é 1.
sizenumberA largura e a altura do dial, em pixels. O padrão é 100.
strokeWidthnumberA espessura do arco, em pixels. O padrão é 14.
showValuebooleanMostra o valor no meio. O padrão é true.
valueTemplatestringComo o valor é escrito, no meio e para as tecnologias assistivas: `'{value}%'`. O padrão é `'{value}'`.
valueColorstringSobrepõe a cor do arco do valor.
rangeColorstringSobrepõe a cor da trilha.
textColorstringSobrepõe a cor do texto.
readonlyboolean—
disabledboolean—

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

Emits

EventoPayloadDescrição
changevalue: numberO valor foi alterado pelo leitor: um arrasto terminou ou uma tecla foi pressionada.