* refactor: eslint config adjusted for better diff's * refactor: stricter linting + dependencies updated * refactoring: paragraph component - component - docs * refactoring: heading component - component - docs * Update docs/components/heading.md Co-authored-by: Ilya Artamonov <ilya.sosidka@gmail.com> * refactoring: link component - component - docs * refactoring: image component - component - docs * refactoring: alert component - component - docs * refactoring: avatar component - component - docs * refactoring: removed unnecessary code - component names come from the file name * refactoring: breadcrumb component - component - docs * refactoring: accordion component - component - docs * refactoring: buttom component - component - docs * refactoring: badge component - component - docs * refactoring: card component - component - docs * refactoring: order of components in docs updated * refactoring: unnecessary semicolons removed * refactoring: button group component - component - docs * refactoring: carousel component - component - docs * refactoring: dropdown component - component - docs * refactoring: footer component - component - docs * refactoring:list-group component - component - docs * refactoring: modal component - component - docs * refactoring: navbar component - component - docs * refactoring: pagination component - component - docs * refactoring: progress component - component - docs * refactoring: rating component - component - docs * refactoring: spinner component - component - docs * refactoring: table component - component - docs * refactoring: tabs component - component - docs * feat: Updated pagination examples * lint: Lister fixes * feat: Sidebar component and some fixes * feat: Input component * feat: Some fixes * feat: Some fixes * chore: update deps * refactor: removed old Modal component * refactor: radio component and some fixes * fix: fixed path error * refactor: Range component * refactoring: timeline component - component - docs * refactor: Select component * refactoring: toast component - component - docs * refactoring: tooltip component - component - docs * refactoring: sidebar component - component - docs * refactoring: input component - component - docs * refactoring: fileInput component - component - docs * refactoring: select component - component - docs * refactoring: textarea component - component - docs * refactoring: checkbox component - component - docs * refactoring: radio component - component - docs * refactoring: toggle component - component - docs * refactoring: range component - component - docs * local configs linted * documentation quick start updated * flowbite-themable refactored to fit new linters and style guide * random linter fixes * refactoring: toast-provider component - component - docs * final linter fixes * lint: Linter fixes * fix: Fixed types * fix: Fixed card component * docs: Updated card examples * fix: Fixed tabs * refactor: Heading component refactoring * Fwb rename - few fixes after component review (#237) * fix: button documentation * fix: model type in range examples * chore: Toast marked as WIP --------- Co-authored-by: Sqrcz <naorniakowski@slashlab.pl> Co-authored-by: Sqrcz <naorniakowski@gmail.com>
5.4 KiB
5.4 KiB
<script setup>
import FwbInputExample from './input/examples/FwbInputExample.vue'
import FwbInputExampleSize from './input/examples/FwbInputExampleSize.vue'
import FwbInputExampleDisabled from './input/examples/FwbInputExampleDisabled.vue'
import FwbInputExampleHelper from './input/examples/FwbInputExampleHelper.vue'
import FwbInputExamplePrefix from './input/examples/FwbInputExamplePrefix.vue'
import FwbInputExampleSuffix from './input/examples/FwbInputExampleSuffix.vue'
import FwbInputExampleRequired from './input/examples/FwbInputExampleRequired.vue'
import FwbInputExampleValidation from './input/examples/FwbInputExampleValidation.vue'
</script>
Vue Input - Flowbite
Get started with a collection of input fields built with Tailwind CSS to start accepting data from the user based on multiple sizes, variants, and input types
:::tip Original reference: https://flowbite.com/docs/forms/input-field/ :::
The input field is an important part of the form element that can be used to create interactive controls to accept data from the user based on multiple input types, such as text, email, number, password, URL, phone number, and more.
On this page you will find all of the input types based on multiple variants, styles, colors, and sizes built with the utility classes from Tailwind CSS and components from Flowbite.
Default
```vue <script lang="ts" setup> import { ref } from 'vue' import { FwbInput } from 'flowbite-vue' const name = ref('') </script>
## Size
<fwb-input-example-size />
```vue
<template>
<fwb-input v-model="name" label="Small" placeholder="enter your name" size="sm" />
<fwb-input v-model="name" label="Medium" placeholder="enter your name" size="md" />
<fwb-input v-model="name" label="Large" placeholder="enter your name" size="lg" />
</template>
<script lang="ts" setup>
import { ref } from 'vue'
import { FwbInput } from 'flowbite-vue'
const name = ref('')
</script>
Disabled
```vue <script lang="ts" setup> import { ref } from 'vue' import { FwbInput } from 'flowbite-vue' const name = ref('') </script>
## Required
<fwb-input-example-required />
```vue
<template>
<fwb-input
v-model="name"
label="First name"
placeholder="enter your first name"
required
/>
</template>
<script setup>
import { ref } from 'vue'
import { FwbInput } from 'flowbite-vue'
const name = ref('')
</script>
Slot - Helper
```vue We'll never share your details. Read our Privacy Policy . <script lang="ts" setup> import { ref } from 'vue' import { FwbA, FwbInput } from 'flowbite-vue' const name = ref('') </script>
## Slot - Prefix
<fwb-input-example-prefix />
```vue
<template>
<fwb-input v-model="name" label="Search" placeholder="enter your search query">
<template #prefix>
<svg aria-hidden="true" class="w-5 h-5 text-gray-500 dark:text-gray-400" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" />
</svg>
</template>
</fwb-input>
</template>
<script lang="ts" setup>
import { ref } from 'vue'
import { FwbInput } from 'flowbite-vue'
const name = ref('')
</script>
Slot - Suffix
```vue Search <script lang="ts" setup> import { ref } from 'vue' import { FwbButton, FwbInput } from 'flowbite-vue' const query = ref('') </script>
## Slot - Validation
- Set validation status via `validationStatus` prop, which accepts `'success'` or `'error'`.
- Add validation message via `validationMessage` slot.
<fwb-input-example-validation />
```vue
<template>
<fwb-input
v-model="email"
required
placeholder="enter your email address"
label="Email"
validation-status="success"
/>
<hr class="mt-4 border-0">
<fwb-input
v-model="email"
required
placeholder="enter your email address"
label="Email"
validation-status="error"
>
<template #validationMessage>
Please enter a valid email address
</template>
</fwb-input>
</template>
<script lang="ts" setup>
import { ref } from 'vue'
import { FwbInput } from 'flowbite-vue'
const email = ref('')
</script>