🧰 Dioxus Development Kit 🚀

A platform agnostic library for supercharging your productivity with Dioxus.

Crates.io version Download docs.rs docs
-----

This library is still under development. Expect breaking changes!


`dioxus-sdk` is a development kit for Dioxus that provides abstractions for your Dioxus app. Abstractions included are notifications, clipboard, geolocation and storage with more to come! **Features** - [x] Geolocation - (Web, Windows) - [x] Storage - (Web, Desktop) - [x] Clipboard - (Desktop) - [x] Notifications - (Desktop) - [x] Color Scheme - (Web) - [x] i18n - [x] Utility Hooks - [x] use_channel - [ ] use_interval - [ ] Camera - [ ] WiFi - [ ] Bluetooth Geolocation example: ```rust use dioxus_sdk::geolocation::{ init_geolocator, use_geolocation, PowerMode }; fn app() -> Element { let geolocator = init_geolocator(PowerMode::High).unwrap(); let coords = use_geolocation(); match coords { Ok(coords) => { rsx!( p { "Latitude: {coords.latitude} | Longitude: {coords.longitude}" } ) } Err(Error::NotInitialized) => { rsx!( p { "Initializing..." } ) } Err(e) => { rsx!( p { "An error occurred {e}" } ) } } } ``` ## Platform Support ### Clipboard On linux you need the x11 library to use the clipboard abstraction: ``` sudo apt-get install xorg-dev ``` ## Usage You can add `dioxus-sdk` to your application by adding it to your dependencies. ```toml [dependencies] dioxus-sdk= { version = "0.5", features = [] } ``` ## License This project is licensed under the [MIT license]. [mit license]: ./LICENSE Every contribution intentionally submitted for inclusion in `dioxus-sdk` by you, shall be licensed as MIT, without any additional terms or conditions.