1
0

lib.rs 1.8 KB

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