# 📝 AreaInput Component Examples

## ✨ New in v1.1.0

📊 Built-in Character Counter: Set `showCharCounter: true` to display live character counts with visual feedback at 80% (warning) and 100% (error).

⚡ Debounced onChange: All onChange callbacks are automatically debounced by 300ms for better performance during typing.

♿ Enhanced Accessibility: ARIA attributes, auto-focus on errors, and smooth scroll to validation issues.

🎨 Improved UX: Better resize handle visibility, faster animations, larger touch targets on mobile, and deduplicated dark mode CSS.

## 💡 How to Use

Resizing: Look for the small diagonal lines in the bottom-right corner of each textarea. Hover over them and drag to resize. The cursor will change to indicate the resize direction.

Rich Text: Use the toolbar buttons to format your text. The editor supports headers, bold, italic, lists, colors, and links.

## 1. Basic Textarea with Character Counter (NEW)

A simple textarea with vertical resizing and built-in character counter. The counter changes color at 80% (warning) and 100% (error) of max length.

## 2. Required Field with Validation & Debounced onChange (NEW)

This field is required and must be between 10 and 200 characters. The onChange callback is debounced by 300ms for better performance. Try typing quickly and watch the "Last onChange" timestamp update only after you stop typing.

Last onChange: Never
Character count: 0

## 3. Rich Text Editor (Quill.js)

A full-featured rich text editor with formatting options.

## 4. Minimal Rich Text Editor

A simplified rich text editor with only basic formatting options.

## 5. Resize Options Comparison

Compare different resize behaviors. Notice how the resize handle appears/disappears and the cursor changes based on the resize mode.

### No Resize (Fixed Size)

### Both Directions

## 6. Custom Dimensions

Textarea with custom min/max height constraints.