Skip to content
On this page

Number Input

The inputs are a fundamental part of any project, with HopeKit you can add a number input with a single line of code.

Basic Usage

The inputs have themes: default, transparent.

<template>
  <div class="grid grid-cols-4 gap-6 items-start">
    <HcNumberInput
      v-model="value1"
      label="Default theme"
      placeholder="0"
    />

    <HcNumberInput
      v-model="value2"
      label="Transparent theme"
      placeholder="0"
      theme="transparent"
    />
  </div>
</template>

<script lang="ts" setup>
import { HcNumberInput } from '@deeepvision/hope-component-kit';
import { ref } from 'vue';

const value1 = ref(0);
const value2 = ref(0);
</script>

Sizes

Number input have text sizes: small, medium. Number input have sizes: small, medium.

<template>
  <div class="">
    <div class="grid grid-cols-4 gap-6 items-end">
      <HcNumberInput
        v-model="value1"
        label="Medium text size"
        placeholder="0"
        :max-length="50"
        text-size="medium"
      />

      <HcNumberInput
        v-model="value2"
        label="Small text size"
        placeholder="0"
        :max-length="50"
        text-size="small"
      />
    </div>
    <div class="grid grid-cols-4 gap-6 items-end mt-5">
      <HcNumberInput
        v-model="value3"
        label="Medium size"
        placeholder="0"
        :max-length="50"
        size="medium"
      />

      <HcNumberInput
        v-model="value4"
        label="Small size"
        placeholder="0"
        :max-length="50"
        size="small"
      />
    </div>
  </div>
</template>

<script lang="ts" setup>
import { HcNumberInput } from '@deeepvision/hope-component-kit';
import { ref } from 'vue';

const value1 = ref(0);
const value2 = ref(0);
const value3 = ref(0);
const value4 = ref(0);
</script>

Disabled & readonly

Change the state of the button to disabled with the disabled property, the property is a boolean so you can add it without any value.

Change the state of the button to readonly with the readonly property.

<template>
  <div class="grid grid-cols-4 gap-6 items-start">
    <HcNumberInput
      v-model="value1"
      label="Disabled"
      placeholder="0"
      disabled
    />

    <HcNumberInput
      v-model="value2"
      label="Readonly"
      placeholder="0"
      readonly
    />
  </div>
</template>

<script lang="ts" setup>
import { HcNumberInput } from '@deeepvision/hope-component-kit';
import { ref } from 'vue';

const value1 = ref(0);
const value2 = ref(0);

</script>

Errors

Use props errorMsg to show error message or use prop boolean error to detarmitate error state of the component

This field is required
<template>
  <div>
    <div class="grid grid-cols-4 gap-6 items-start">
      <HcNumberInput
        v-model="value1"
        label="Error"
        placeholder="0"
        error
      />

      <HcNumberInput
        v-model="value2"
        label="Error message"
        placeholder="0"
        error-msg="This field is required"
      />
    </div>

    <div class="grid grid-cols-4 gap-6 items-start mt-5">
      <HcNumberInput
        v-model="value3"
        label="Error and disabled"
        placeholder="0"
        error
        disabled
      />

      <HcNumberInput
        v-model="value4"
        label="Error and readonly"
        placeholder="0"
        error
        readonly
      />
    </div>
  </div>
</template>

<script lang="ts" setup>
import { HcNumberInput } from '@deeepvision/hope-component-kit';
import { ref } from 'vue';

const value1 = ref(0);
const value2 = ref(0);
const value3 = ref(0);
const value4 = ref(0);
</script>

Min and max value

Use prop min to determinate min entered value. If user try to enter value less tahn min value than after blur it automatically will changed to min value.

Use prop max to determinate max entered value. If user try to enter value more than max value, ia automatically will changed to max value.

<template>
  <div class="grid grid-cols-4 gap-6 items-start">
    <HcNumberInput
      v-model="value1"
      label="Max value 500"
      placeholder="0"
      :max="500"
    />

    <HcNumberInput
      v-model="value2"
      label="Min value 1"
      placeholder="0"
      success-icon
      :min="1"
    />
  </div>
</template>

<script lang="ts" setup>
import { HcNumberInput } from '@deeepvision/hope-component-kit';
import { ref } from 'vue';

const value1 = ref(0);
const value2 = ref(1);

</script>

Props

PropertyType Values Description Default
modelValueNumberNumberbinding value0
labelStringStringlabel text
placeholderStringStringplaceholder text
maxNumberNumbermax modelValueundefined
minNumberNumbermin modelValue0
disabledBooleanBooleanwhether component is disabledfalse
readonlyBooleanBooleanwhether component is read onlyfalse
errorBooleanBooleandetermine if the component has error and change its style to that state.false
errorMsgStringStringerror message
sizeStringsmallmediumcomponent sizemedium
textSizeStringsmallmediumcomponent field text sizesmall
autoFocusbooleantruefalsesame as autofocus in native inputfalse
themeStringdefaulttransparentComponent themedefault
idStringStringnative 'id' attribute

Slots

PropertyType Values Description Default
label-suffix-Customize label suffix content

Events

PropertyType Values Description Default
update:model-valueFunctionvalue - numbertriggers when the NumberInput value change
inputFunctionvalue - numbertriggers when the NumberInput value change
increaseFunctionvalue - numbertriggers when click on plus button
decreaseFunctionvalue - numbertriggers when click on minus button
blurFunctionvalue - numbertriggers when NumberInput blurs
focusFunctionevent - FocusEventtriggers when NumberInput focuses

Created by DeepVision Software.