2021-06-16 15:19:37 +00:00
//! Dioxus Core
//! ----------
2021-01-15 07:52:47 +00:00
//!
2021-01-20 17:04:27 +00:00
//!
//!
2021-01-29 16:57:52 +00:00
//!
//!
//!
2021-01-20 17:04:27 +00:00
//!
2021-01-14 07:56:41 +00:00
2021-05-16 06:55:16 +00:00
pub mod arena ;
2021-02-14 23:03:16 +00:00
pub mod component ; // Logic for extending FC
2021-05-28 16:56:21 +00:00
2021-06-20 05:52:32 +00:00
// pub mod debug_renderer;
2021-03-03 07:27:26 +00:00
pub mod diff ;
2021-05-15 16:03:08 +00:00
pub mod patch ; // An "edit phase" described by transitions and edit operations // Test harness for validating that lifecycles and diffs work appropriately
// the diffing algorithm that builds the ChangeList
2021-02-14 23:03:16 +00:00
pub mod error ; // Error type we expose to the renderers
pub mod events ; // Manages the synthetic event API
pub mod hooks ; // Built-in hooks
pub mod nodebuilder ; // Logic for building VNodes with a direct syntax
pub mod nodes ; // Logic for the VNodes
pub mod virtual_dom ; // Most fun logic starts here, manages the lifecycle and suspense
2021-02-03 07:26:04 +00:00
2021-02-07 03:19:56 +00:00
pub mod builder {
pub use super ::nodebuilder ::* ;
}
2021-06-07 18:14:49 +00:00
2021-02-07 22:38:17 +00:00
// types used internally that are important
2021-02-12 21:11:33 +00:00
pub ( crate ) mod innerlude {
2021-05-15 16:03:08 +00:00
pub use crate ::component ::* ;
2021-05-28 16:56:21 +00:00
2021-05-15 16:03:08 +00:00
pub use crate ::diff ::* ;
pub use crate ::error ::* ;
pub use crate ::events ::* ;
pub use crate ::hooks ::* ;
pub use crate ::nodebuilder ::* ;
pub use crate ::nodes ::* ;
pub use crate ::patch ::* ;
pub use crate ::virtual_dom ::* ;
2021-02-12 04:03:01 +00:00
2021-06-01 22:33:15 +00:00
pub type FC < P > = fn ( Context < P > ) -> VNode ;
2021-02-21 02:59:16 +00:00
2021-02-07 22:38:17 +00:00
// Re-export the FC macro
pub use crate ::nodebuilder as builder ;
2021-03-08 02:28:20 +00:00
pub use dioxus_core_macro ::{ html , rsx } ;
2021-02-07 22:38:17 +00:00
}
2021-01-15 07:52:47 +00:00
/// Re-export common types for ease of development use.
/// Essential when working with the html! macro
2021-01-15 01:56:28 +00:00
pub mod prelude {
2021-06-20 00:31:25 +00:00
pub use crate ::component ::{ fc_to_builder , Fragment , Properties } ;
2021-01-15 07:52:47 +00:00
use crate ::nodes ;
2021-05-16 06:06:02 +00:00
pub use crate ::virtual_dom ::Context ;
2021-06-03 16:02:46 +00:00
pub use crate ::virtual_dom ::Scoped ;
2021-01-15 07:52:47 +00:00
pub use nodes ::* ;
2021-02-03 07:26:04 +00:00
2021-03-23 03:52:54 +00:00
pub use crate ::nodebuilder ::LazyNodes ;
2021-06-08 18:00:29 +00:00
pub use crate ::nodebuilder ::ChildrenList ;
2021-06-21 04:52:37 +00:00
pub use crate ::nodebuilder ::NodeCtx ;
2021-02-07 22:38:17 +00:00
// pub use nodes::iterables::IterableNodes;
2021-02-03 19:07:07 +00:00
/// This type alias is an internal way of abstracting over the static functions that represent components.
2021-03-09 05:58:20 +00:00
pub use crate ::innerlude ::FC ;
2021-01-15 07:52:47 +00:00
2021-02-07 22:38:17 +00:00
// expose our bumpalo type
2021-02-07 03:19:56 +00:00
pub use bumpalo ;
2021-03-03 07:27:26 +00:00
pub use bumpalo ::Bump ;
2021-02-03 19:07:07 +00:00
// Re-export the FC macro
2021-02-07 03:19:56 +00:00
pub use crate ::nodebuilder as builder ;
2021-02-27 01:42:55 +00:00
// pub use dioxus_core_macro::fc;
2021-03-09 05:58:20 +00:00
pub use dioxus_core_macro ::{ format_args_f , html , rsx , Props } ;
2021-02-12 05:29:46 +00:00
2021-03-03 07:27:26 +00:00
pub use crate ::diff ::DiffMachine ;
2021-06-08 18:00:29 +00:00
pub use crate ::virtual_dom ::ScopeIdx ;
2021-02-15 04:39:46 +00:00
2021-06-20 05:52:32 +00:00
// pub use crate::debug_renderer::DebugRenderer;
2021-02-12 05:29:46 +00:00
pub use crate ::hooks ::* ;
2021-01-15 01:56:28 +00:00
}