An open API service indexing awesome lists of open source software.

https://github.com/opensass/input-rs

🔤 A highly customizable input component for WASM frameworks.
https://github.com/opensass/input-rs

dioxus dioxus-web form html input leptos rust ui wasm web yew

Last synced: 3 months ago
JSON representation

🔤 A highly customizable input component for WASM frameworks.

Awesome Lists containing this project

README

          

# 🔤 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)

![logo](https://raw.githubusercontent.com/opensass/input-rs/refs/heads/main/assets/logo-new.png)

## 🎬 Demo

| 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

Refer to [our guide](https://github.com/opensass/input-rs/blob/main/YEW.md) to integrate this component into your Yew app.

## 🧬 Dioxus Usage

Refer to [our guide](https://github.com/opensass/input-rs/blob/main/DIOXUS.md) to integrate this component into your Dioxus app.

## 🌱 Leptos Usage

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.