lib.rs 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. //! Dioxus Core
  2. //! ----------
  3. //!
  4. //!
  5. //!
  6. //!
  7. //!
  8. //!
  9. //!
  10. #[cfg(feature = "serialize")]
  11. pub mod serialize;
  12. pub mod arena;
  13. pub mod component;
  14. pub mod styles;
  15. pub mod util; // Logic for extending FC
  16. // pub mod debug_renderer;
  17. pub mod diff;
  18. pub mod error; // Error type we expose to the renderers
  19. pub mod events; // Manages the synthetic event API
  20. pub mod hooks; // Built-in hooks
  21. pub mod nodebuilder; // Logic for building VNodes with a direct syntax
  22. pub mod nodes; // Logic for the VNodes
  23. pub mod signals;
  24. pub mod virtual_dom; // Most fun logic starts here, manages the lifecycle and suspense
  25. pub mod builder {
  26. pub use super::nodebuilder::*;
  27. }
  28. // types used internally that are important
  29. pub(crate) mod innerlude {
  30. pub use crate::component::*;
  31. pub use crate::diff::*;
  32. pub use crate::error::*;
  33. pub use crate::events::*;
  34. pub use crate::hooks::*;
  35. pub use crate::nodebuilder::*;
  36. pub use crate::nodes::*;
  37. pub use crate::virtual_dom::*;
  38. pub type FC<P> = fn(Context<P>) -> VNode;
  39. // Re-export the FC macro
  40. pub use crate::nodebuilder as builder;
  41. pub use dioxus_core_macro::{html, rsx};
  42. }
  43. /// Re-export common types for ease of development use.
  44. /// Essential when working with the html! macro
  45. pub mod prelude {
  46. pub use crate::component::{fc_to_builder, Fragment, Properties};
  47. use crate::nodes;
  48. pub use crate::styles::{AsAttr, StyleBuilder};
  49. pub use crate::virtual_dom::Context;
  50. pub use nodes::*;
  51. pub use crate::nodebuilder::LazyNodes;
  52. pub use crate::nodebuilder::{DioxusElement, NodeFactory};
  53. // pub use nodes::iterables::IterableNodes;
  54. /// This type alias is an internal way of abstracting over the static functions that represent components.
  55. pub use crate::innerlude::FC;
  56. // expose our bumpalo type
  57. pub use bumpalo;
  58. pub use bumpalo::Bump;
  59. // Re-export the FC macro
  60. pub use crate::nodebuilder as builder;
  61. // pub use dioxus_core_macro::fc;
  62. pub use dioxus_core_macro::{format_args_f, html, rsx, Props};
  63. pub use crate::diff::DiffMachine;
  64. pub use crate::virtual_dom::ScopeIdx;
  65. // pub use crate::debug_renderer::DebugRenderer;
  66. pub use crate::hooks::*;
  67. }