lib.rs 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  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. // cannot use forbid, because props derive macro generates #[allow(missing_docs)]
  5. #![deny(missing_docs)]
  6. #![allow(non_snake_case)]
  7. pub mod navigation;
  8. pub mod routable;
  9. #[cfg(feature = "ssr")]
  10. pub mod incremental;
  11. /// Components interacting with the router.
  12. pub mod components {
  13. mod default_errors;
  14. pub use default_errors::*;
  15. mod history_buttons;
  16. pub use history_buttons::*;
  17. mod link;
  18. pub use link::*;
  19. mod outlet;
  20. pub use outlet::*;
  21. mod router;
  22. pub use router::*;
  23. }
  24. mod contexts {
  25. pub(crate) mod navigator;
  26. pub(crate) mod outlet;
  27. pub(crate) mod router;
  28. pub use navigator::*;
  29. pub(crate) use router::*;
  30. }
  31. mod router_cfg;
  32. mod history;
  33. /// Hooks for interacting with the router in components.
  34. pub mod hooks {
  35. mod use_router;
  36. pub use use_router::*;
  37. mod use_route;
  38. pub use use_route::*;
  39. mod use_navigator;
  40. pub use use_navigator::*;
  41. }
  42. pub use hooks::router;
  43. /// A collection of useful items most applications might need.
  44. pub mod prelude {
  45. pub use crate::components::*;
  46. pub use crate::contexts::*;
  47. pub use crate::history::*;
  48. pub use crate::hooks::*;
  49. pub use crate::navigation::*;
  50. pub use crate::routable::*;
  51. pub use crate::router_cfg::RouterConfig;
  52. pub use dioxus_router_macro::Routable;
  53. #[cfg(feature = "ssr")]
  54. pub use crate::incremental::*;
  55. #[cfg(feature = "ssr")]
  56. pub use dioxus_ssr::incremental::*;
  57. #[doc(hidden)]
  58. /// A component with props used in the macro
  59. pub trait HasProps {
  60. /// The props type of the component.
  61. type Props;
  62. }
  63. impl<P> HasProps for dioxus::prelude::Component<P> {
  64. type Props = P;
  65. }
  66. }
  67. mod utils {
  68. pub(crate) mod use_router_internal;
  69. }
  70. #[doc(hidden)]
  71. pub mod exports {
  72. pub use urlencoding;
  73. }