react-auto-resize-textarea
TypeScript icon, indicating that this package has built-in type declarations

1.0.4 • Public • Published

React Auto-Resize TextArea Component

A customizable and accessible auto-resizing textarea component for React, built with TypeScript.

Features

  • Auto-Resizing: The textarea automatically adjusts its height based on the content, providing a seamless user experience.
  • Customizable Default Height: Set a default height for the textarea, and it will only resize when the content exceeds this threshold.
  • Real-time Resize Handling: The component resizes in real-time as the user types, ensuring that all content is visible without the need for scrolling.
  • Height Change Callback: Optionally provide a callback function to be notified whenever the textarea's height changes, useful for advanced UI scenarios.
  • Fully Accessible: The component passes through all standard textarea attributes, including accessibility attributes (aria-*), ensuring compliance with accessibility standards.

Installation

You can install the package via npm:

npm install react-auto-resize-textarea

Usage

Here’s an example of how to use the auto-resize textarea component in your React application:

import React, { useState } from "react";
import { TextArea } from "react-auto-resize-textarea";

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

  return (
    <div>
      <label htmlFor="example">Your text:</label>
      <TextArea
        id="example"
        value={value}
        onChange={(e) => setValue(e.target.value)}
        autoResize
        defaultHeight={100}
        placeholder="Type here..."
      />
    </div>
  );
};

export default App;

Props

Prop Name Type Mandatory Default Value Description
autoResize boolean No true If true, the textarea will automatically resize based on its content.
defaultHeight number | undefined No undefined Sets the default height of the textarea in px. The textarea does not resize until the content fits within this height.
onHeightChange (height: undefined | number) => void | undefined No undefined A callback function that is triggered every time the textarea resizes. Receives the new height (or undefined if reset) as its parameter. Works only if autoResize is true.
...props React.TextareaHTMLAttributes N/A N/A All other standard textarea attributes, including accessibility attributes (e.g., aria-*), are passed through to the underlying textarea element.

Contributing

Contributions are welcome! Please open an issue or submit a pull request for any improvements or bug fixes.

License

This project is licensed under the MIT License.

Package Sidebar

Install

npm i react-auto-resize-textarea

Weekly Downloads

13

Version

1.0.4

License

MIT

Unpacked Size

11.4 kB

Total Files

7

Last publish

Collaborators

  • satyam-mishra