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-07-05 22:37:15 +00:00
|
|
|
#[cfg(feature = "serialize")]
|
|
|
|
pub mod serialize;
|
|
|
|
|
2021-05-16 06:55:16 +00:00
|
|
|
pub mod arena;
|
2021-06-28 16:05:17 +00:00
|
|
|
pub mod component;
|
2021-07-07 03:04:33 +00:00
|
|
|
pub mod styles;
|
2021-06-28 16:05:17 +00:00
|
|
|
pub mod util; // Logic for extending FC
|
2021-05-28 16:56:21 +00:00
|
|
|
|
2021-06-22 21:20:54 +00:00
|
|
|
pub mod debug_renderer;
|
2021-03-03 07:27:26 +00:00
|
|
|
pub mod diff;
|
2021-06-22 21:20:54 +00:00
|
|
|
|
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
|
2021-07-01 18:14:59 +00:00
|
|
|
pub mod signals;
|
2021-02-14 23:03:16 +00:00
|
|
|
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::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-07-07 03:04:33 +00:00
|
|
|
pub use crate::styles::{AsAttr, StyleBuilder};
|
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-07-07 03:04:33 +00:00
|
|
|
pub use crate::nodebuilder::{DioxusElement, NodeFactory};
|
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
|
|
|
}
|