egui_router 0.7.0

A SPA router for egui
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
name = "egui_router"
version = "0.7.0"
authors = ["Lucas Meurer"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A SPA router for egui"
homepage = "https://lucasmerlin.github.io/hello_egui/"
readme = "README.md"
keywords = [
    "egui",
    "router",
    "single-page",
    "gui",
    "ui",
]
license = "MIT"
repository = "https://github.com/lucasmerlin/hello_egui/tree/main/crates/egui_router"

[features]
async = ["egui_suspense/async"]

[lib]
name = "egui_router"
path = "src/lib.rs"

[[example]]
name = "async_router"
path = "examples/async_router.rs"
required-features = ["async"]

[[example]]
name = "route_lifecycle"
path = "examples/route_lifecycle.rs"

[[example]]
name = "router"
path = "examples/router.rs"
required-features = ["async"]

[[example]]
name = "router_minimal"
path = "examples/router_minimal.rs"

[dependencies.egui]
version = "0.34.0"
default-features = false

[dependencies.egui_inbox]
version = "0.11.0"

[dependencies.egui_suspense]
version = "0.11.0"
optional = true

[dependencies.form_urlencoded]
version = "1"

[dependencies.matchit]
version = "0.9"

[dependencies.thiserror]
version = "2"

[dev-dependencies.eframe]
version = "0.34.0"
default-features = true

[dev-dependencies.egui_animation]
version = "0.11.0"

[dev-dependencies.egui_inbox]
version = "0.11.0"
features = ["type_inbox"]

[dev-dependencies.egui_suspense]
version = "0.11.0"
features = [
    "async",
    "tokio",
]

[dev-dependencies.tokio]
version = "1"
features = ["full"]

[target.'cfg(target_arch = "wasm32")'.dependencies.js-sys]
version = "0.3"

[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen]
version = "0.2"

[target.'cfg(target_arch = "wasm32")'.dependencies.web-sys]
version = "0.3"
features = [
    "History",
    "PopStateEvent",
    "HtmlCollection",
]

[lints.clippy.cast_possible_truncation]
level = "allow"
priority = 12

[lints.clippy.cast_precision_loss]
level = "allow"
priority = 11

[lints.clippy.cast_sign_loss]
level = "allow"
priority = 13

[lints.clippy.doc_markdown]
level = "allow"
priority = 21

[lints.clippy.enum_glob_use]
level = "deny"
priority = 2

[lints.clippy.float_cmp]
level = "allow"
priority = 14

[lints.clippy.missing_errors_doc]
level = "allow"
priority = 19

[lints.clippy.missing_fields_in_debug]
level = "allow"
priority = 20

[lints.clippy.missing_panics_doc]
level = "allow"
priority = 18

[lints.clippy.module_name_repetitions]
level = "allow"
priority = 10

[lints.clippy.must_use_candidate]
level = "allow"
priority = 16

[lints.clippy.pedantic]
level = "deny"
priority = 1

[lints.clippy.perf]
level = "warn"
priority = 3

[lints.clippy.return_self_not_must_use]
level = "allow"
priority = 17

[lints.clippy.struct_excessive_bools]
level = "allow"
priority = 15

[lints.clippy.style]
level = "warn"
priority = 4

[lints.rust]
unsafe_code = "deny"