1#![doc = include_str!("../README.md")]
2#![doc(html_logo_url = "https://avatars.githubusercontent.com/u/79236386")]
3#![doc(html_favicon_url = "https://avatars.githubusercontent.com/u/79236386")]
4#![deny(missing_docs)]
6#![allow(non_snake_case)]
7
8pub mod navigation;
9pub mod routable;
10
11pub mod components {
13 mod default_errors;
14 pub use default_errors::*;
15
16 mod history_buttons;
17 pub use history_buttons::*;
18
19 mod link;
20 pub use link::*;
21
22 mod outlet;
23 pub use outlet::*;
24
25 mod router;
26 pub use router::*;
27
28 mod history_provider;
29 pub use history_provider::*;
30
31 #[doc(hidden)]
32 pub mod child_router;
33}
34
35mod contexts {
36 pub(crate) mod navigator;
37 pub(crate) mod outlet;
38 pub(crate) mod router;
39 pub use navigator::*;
40 pub(crate) use router::*;
41 pub use router::{root_router, RouterContext};
42}
43
44mod router_cfg;
45
46pub mod hooks {
48 mod use_router;
49 pub use use_router::*;
50
51 mod use_route;
52 pub use use_route::*;
53
54 mod use_navigator;
55 pub use use_navigator::*;
56}
57
58pub use hooks::router;
59
60pub mod prelude {
62 pub use crate::components::{
63 GoBackButton, GoForwardButton, HistoryButtonProps, Link, LinkProps, Outlet, Router,
64 RouterProps,
65 };
66 pub use crate::contexts::*;
67 pub use crate::hooks::*;
68 pub use crate::navigation::*;
69 pub use crate::routable::*;
70 pub use crate::router_cfg::RouterConfig;
71 pub use dioxus_router_macro::Routable;
72
73 #[doc(hidden)]
74 pub trait HasProps {
76 type Props;
78 }
79
80 impl<P> HasProps for dioxus_lib::prelude::Component<P> {
81 type Props = P;
82 }
83}
84
85mod utils {
86 pub(crate) mod use_router_internal;
87}
88
89#[doc(hidden)]
90pub mod exports {
91 pub use urlencoding;
92}