import { Canvas, Meta, Story, Source, ArgTypes } from '@storybook/blocks'; import { Input } from "./index"; import * as Stories from './index.stories'; import * as InputPasswordStories from './InputPassword.stories'; # Input Cunningham provides a versatile Input component that you can use in your forms. ## States You can use the following props to change the state of the Input component by using the `state` props. ## Disabled As a regular input, you can disable it by using the `disabled` props. ## Icons You can define an icon that will appear on the left side of the input by using the `icon` props. You can also independently add an icon on the right side by using the `rightIcon` props. ## Texts You can define a text that will appear below the input by using the `text` props. You can also independently add a text on the right side by using the `rightText` props. ## Width By default, the input has a default width, like all inputs. But you can force it to take the full width of its container by using the `fullWidth` props. ## Chars Counter You can display a counter of the number of characters entered in the input by using the `charsCounter` props. Please bare in mind to also define `charCounterMax`. ## Password You can also use a built-in password input that includes a button to show or hide the password. ## Controlled / Non Controlled Like a native input, you can use the Input component in a controlled or non controlled way. You can see the example below using the component in a controlled way. ## Ref You can use the `ref` props to get a reference to the input element. ## Usage with react-hook-form You can use this input with [react-hook-form](https://react-hook-form.com/docs) ## Props You can use all the props of the native html `` element props plus the following. ## Design tokens Here are the custom design tokens defined by the input. | Token | Description | |--------------- |----------------------------- | | font-weight | Value font weight | | font-size | Value font size | | value-color | Value color | | value-color--disabled | Value color when disabled | | border-radius | Border radius of the input | | border-radius--hover | Border radius of the input on mouse hover | | border-radius--focus | Border radius of the input when focused | | border-width | Border width of the input | | border-color | Border color of the input | | border-color--hover | Border color of the input on mouse hover | | border-color--focus | Border color of the input when focus | | border-style | Border style of the input | | label-color--focus | Label color when focused | See also [Field](?path=/story/components-forms-field-doc--page) ## Form Example ## ## ## ## ##