input-rs 0.2.5

🔤 A highly customizable input component for WASM frameworks like Yew, Dioxus, and Leptos.
Documentation
<div align="center">

# 🔤 Input RS

[![Crates.io](https://img.shields.io/crates/v/input-rs)](https://crates.io/crates/input-rs)
[![Crates.io Downloads](https://img.shields.io/crates/d/input-rs)](https://crates.io/crates/input-rs)
![Crates.io License](https://img.shields.io/crates/l/input-rs)
[![made-with-rust](https://img.shields.io/badge/Made%20with-Rust-1f425f.svg?logo=rust&logoColor=white)](https://www.rust-lang.org/)
[![Rust](https://img.shields.io/badge/Rust-1.79%2B-blue.svg)](https://www.rust-lang.org)
[![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](https://github.com/wiseaidev)

[![Open SASS Discord](https://dcbadge.limes.pink/api/server/b5JbvHW5nv)](https://discord.gg/b5JbvHW5nv)

<!-- absolute url for docs.rs cause assets is excluded from crate -->
![logo](https://raw.githubusercontent.com/opensass/input-rs/refs/heads/main/assets/logo-new.png)

</div>

## 🎬 Demo
<!-- absolute urls for docs.rs cause assets is excluded from crate -->
| Input Type | Demo                                         |
| ---------- | -------------------------------------------- |
| Text       | ![text-demo]https://raw.githubusercontent.com/opensass/input-rs/refs/heads/main/assets/text-demo.gif         |
| Password   | ![pass-demo]https://raw.githubusercontent.com/opensass/input-rs/refs/heads/main/assets/pass-demo.gif         |
| Textarea   | ![textarea-demo]https://raw.githubusercontent.com/opensass/input-rs/refs/heads/main/assets/textarea-demo.gif |
| Telephone  | ![tel-demo]https://raw.githubusercontent.com/opensass/input-rs/refs/heads/main/assets/tel-demo.gif           |

| Framework | Live Demo |
| --- | --- |
| Yew | [![Netlify Status]https://api.netlify.com/api/v1/badges/45d208ab-8b1b-4608-bcb1-f7d3d049cac5/deploy-status]https://input-rs.netlify.app |
| Dioxus | [![Netlify Status]https://api.netlify.com/api/v1/badges/b94e6586-192b-4db8-bc09-b287366c9731/deploy-status]https://input-rs-dioxus.netlify.app |
| Leptos | [![Netlify Status]https://api.netlify.com/api/v1/badges/7b6175fa-892b-4a05-9fd5-b425b399e48f/deploy-status]https://input-rs-leptos.netlify.app |

### 📜 Intro

A reusable input component built for WASM frameworks like Yew, Dioxus, and Leptos. It's customizable, accessible, and designed to simplify creating dynamic input fields in your applications.

## 🤔 Why Use Input RS?

The following features make Input RS a must-have for your WASM-based projects:

1. **🎨 Advanced Customization**: Style inputs with custom classes, inline styles, and themes to suit your app's design.
1. **🔑 Flexible Input Types**: Supports text, password, phone number, and more with built-in validation.
1. **⚡ Interactive Callbacks**: Efficiently handle value changes and validity checks with customizable callback functions.
1. **🧩 Accessibility**: Built-in ARIA attributes for screen readers and other assistive technologies.
1. **📞 Phone Number Validation**: Dynamic phone number parsing with country code support.

## Y Yew Usage

<!-- absolute url for docs.rs cause YEW.md is not included in crate -->
Refer to [our guide](https://github.com/opensass/input-rs/blob/main/YEW.md) to integrate this component into your Yew app.

## 🧬 Dioxus Usage

<!-- absolute url for docs.rs cause DIOXUS.md is not included in crate -->
Refer to [our guide](https://github.com/opensass/input-rs/blob/main/DIOXUS.md) to integrate this component into your Dioxus app.

## 🌱 Leptos Usage

<!-- absolute url for docs.rs cause LEPTOS.md is not included in crate -->
Refer to [our guide](https://github.com/opensass/input-rs/blob/main/LEPTOS.md) to integrate this component into your Leptos app.

## 🤝 Contributions

Contributions are welcome! Whether it's bug fixes, feature requests, or examples, we would love your help to make Input RS better.

1. Fork the repository.
1. Create a new branch for your feature/bugfix.
1. Submit a pull request for review.

## 📜 License

Input RS is licensed under the [Apache License](LICENSE). You are free to use, modify, and distribute this library in your projects.