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

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

🧭 Browsers layouts for WASM frameworks.
https://github.com/opensass/browser-rs

apple browser chrome dioxus iframe ios leptos rust window yew

Last synced: 3 months ago
JSON representation

🧭 Browsers layouts for WASM frameworks.

Awesome Lists containing this project

README

          

# 🧭 Browser RS

[![Crates.io](https://img.shields.io/crates/v/browser-rs)](https://crates.io/crates/browser-rs)
[![Crates.io Downloads](https://img.shields.io/crates/d/browser-rs)](https://crates.io/crates/browser-rs)
![Crates.io License](https://img.shields.io/crates/l/browser-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.85%2B-blue.svg)](https://www.rust-lang.org)
[![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](https://github.com/wiseaidev)

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

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

## 🎬 Demo

| Framework | Live Demo |
| --- | --- |
| Yew | [![Netlify Status](https://api.netlify.com/api/v1/badges/a0efc7e9-f20e-4dd9-93e1-c8f4fde7506f/deploy-status)](https://browser-rs.netlify.app) |
| Dioxus | [![Netlify Status](https://api.netlify.com/api/v1/badges/a0efc7e9-f20e-4dd9-93e1-c8f4fde7506f/deploy-status)](https://browser-dio.netlify.app) |
| Leptos | TODO |

## 📜 Intro

**Browser RS** is a browser window emulator for Rust-based WASM frameworks like **Yew**, **Leptos**, and **Dioxus**. Designed to wrap embedded content in a mock browser frame, it offers complete control over styling, layout, and interactions.

## 🤔 Why Use Browser RS?

1. **🖼️ Realistic Browser Look**: Simulates a browser window with address bar, controls (close, minimize, maximize), and content area.

1. **🔩 Highly Configurable**: Toggle visibility, customize styles, and control behavior with dozens of props.

1. **📟 Accessible by Default**: Comes with semantic roles and ARIA attributes for screen readers and keyboard users.

1. **⚡ Interactive Hooks**: Emit callbacks on user actions like URL change, hover, click, blur, focus, and keyboard events.

1. **🎛️ Theming-Ready and Style-Agnostic**: Comes with sensible defaults but is easily styled via Tailwind, CSS classes, or inline styles.

## Yew Usage

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

## 🧬 Dioxus Usage

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

## 🌱 Leptos Usage (TODO)

Refer to [our guide](https://github.com/opensass/browser-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 Browser RS better.

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

## 📜 License

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