vue-input
can be of all standard html input types (text
number
date
, etc.)textarea
type with autogrow by default.vue-input
yarn add @konfy/vue-input
Standard text input with label, with placeholder, and with both. No validation.
<vue-input label="field label"/>
<vue-input placeholder="placeholder"/>
<vue-input placeholder="placeholder" label="field label"/>
<vue-input label="This field is required" required/>
Other input types:
<vue-input type="number" label="Number" />
<vue-input type="date" label="Date" />
<vue-input type="time" label="Time" />
<vue-input type="datetime-local" label="Date + Time" />
<vue-input type="month" label="Month" />
<vue-input type="week" label="Week" />
<vue-input type="email" label="Email" auto />
<vue-input type="search" label="Search" />
<vue-input type="tel" label="Telephone Nº" auto />
<vue-input type="url" label="URL" auto />
<vue-input type="color" label="Color" val="#ff0075" />
Autogrow textarea with counter and max 400 chars.
<vue-input type="textarea" label="Textarea" :max="400" validate-on="change" required autogrow counter/>
name | type | default | comment |
---|---|---|---|
val | any | Initial input value | |
type | String | text | Type of input (see: supported input types ) + textarea |
label | String | Floating label | |
placeholder | String | Input placeholder | |
name | String | Input name | |
required | Boolean | Is required | |
autocomplete | String | on | Browser autocomplete feature |
spellcheck | Boolean | Browser spellcheck feature | |
pattern | String | Regex pattern to validate field | |
disabled | Boolean | Is disabled | |
readonly | Boolean | Is readonly | |
autogrow | Boolean | Only for: type textarea – field will grow with text | |
minHeight | String | 2rem | Minimum height of textarea (limits auto grow) |
maxHeight | String | Maximum height of textarea (limits auto grow) | |
counter | Boolean | Character counter for textarea | |
validateOn | String | blur | Validate on blur or change |
equals | String | Value equals to another field (by ref). Should have the same parent. | |
min | Number | Minimum number of characters OR: minimum numeric value, if field type is number | |
max | Number | Maximum number of characters OR: maximum numeric value, if field type is number | |
validators | Array | Array of regex expressions to test the field value against | |
errorMin | String | Minimum number of characters: | Text of error when min fails |
errorMax | String | Max number of characters reached: | Text of error when max fails |
errorEquals | String | fields do not match | Text of error when equals fails |
errorCustom | String | Text of error when your custom regex validator fails |
property | comment |
---|---|
value | Value of input |
selected | Boolean. Same as focus |
valid | Boolean. Is input valid |
errorMessage | String. Current error message |
infoMessage | String. Current info message |
filled | Boolean. Is input filled |
method | args | comment |
---|---|---|
validate() | — | Validate input |
event | payload | comment |
---|---|---|
enter | – | On keyup.enter |
blur | – | On input blured |
change | – | On input |
validate | is valid: Boolean | Once validated |
{
--vue-input-error-color: red;
--vue-input-text-color: black;
--vue-input-select-color: blue;
--vue-input-blur-color: rgba(black, .8);
--vue-input-font-family: system-ui, sans-serif;
--vue-input-label-font-family: system-ui, sans-serif;
--vue-input-border-color: rgba(black, .2);
--vue-input-border-color-active: var(--vue-input-select-color);
--vue-input-border-color-error: var(--vue-input-error-color);
}