1.0.0 • Published 7 months ago

@saux/inputfield v1.0.0

Weekly downloads
-
License
Proprietary
Repository
-
Last release
7 months ago

InputField Component

The InputField component is a customizable input field that supports various types, icons, error messages, character count, and more.

Installation

To use the InputField component, install the package:

npm install @saux/inputfield

Then, import it into your project:

import InputField from '@saux/inputfield';

Usage

Here is an example of how to use the InputField component:

import React, { useState } from 'react';
import InputField from '@saux/inputfield';

const App = () => {
  const [value, setValue] = useState('');

  return (
    <div>
      <InputField
        value={value}
        onChange={(e) => setValue(e.target.value)}
        placeholder="Enter text"
        type="text"
        maxLength={50}
        icon={
          <span role="img" aria-label="icon">
            🔍
          </span>
        }
        characterCount={true}
        fullWidth={true}
        error={value.length > 50 ? 'Character limit exceeded' : ''}
      />
    </div>
  );
};

export default App;

Props

The InputField component accepts the following props:

PropTypeDefaultDescription
valuestring''The value of the input field.
onChange(e: React.ChangeEvent<HTMLInputElement>) => voidundefinedCallback triggered when the input value changes.
placeholderstring''The placeholder text for the input field.
type'text' \| 'password' \| 'email' \| 'number' \| 'tel' \| 'url''text'The type of the input field.
maxLengthnumberundefinedThe maximum length of the input value.
minLengthnumberundefinedThe minimum length of the input value.
autoFocusbooleanfalseWhether the input field should automatically focus on mount.
fullWidthbooleanfalseWhether the input field should take up the full width of its container.
errorstringundefinedThe error message to display below the input field.
iconReact.ReactNodeundefinedOptional icon to display inside the input field.
characterCountbooleanfalseWhether to display the character count below the input field.

Customization

The InputField component can be customized using the type, maxLength, minLength, autoFocus, fullWidth, error, icon, and characterCount props. You can also provide custom styling through class names.

Example

import React, { useState } from 'react';
import InputField from '@saux/inputfield';

const App = () => {
  const [value, setValue] = useState('');

  return (
    <div>
      <InputField
        value={value}
        onChange={(e) => setValue(e.target.value)}
        placeholder="Enter text"
        type="text"
        maxLength={50}
        icon={
          <span role="img" aria-label="icon">
            🔍
          </span>
        }
        characterCount={true}
        fullWidth={true}
        error={value.length > 50 ? 'Character limit exceeded' : ''}
      />
    </div>
  );
};

export default App;

License

This component is licensed under the Proprietary License.

1.0.0

7 months ago