Remove dioxus-lib, fix doc imports (#4438)

* remove dioxus lib

* inline some doc items

* fix tests

* test docs

* Fix doc tests

* Pull out dioxus/lib feature

* disable logger and devtools in library feature

* fix cargo doc

* fix cargo doc
This commit is contained in:
Evan Almloff authored and GitHub committed 2025-07-18 14:51:07 -07:00
1 parent 4cb32d372b
commit 98f7667fb4
59 files changed
+216 -530

No files matched your search

+6 -2
View File
@@ -10,7 +10,11 @@ homepage = "https://dioxuslabs.com"
keywords = ["dom", "ui", "gui", "react", "wasm"]
[dependencies]
dioxus-lib = { workspace = true, default-features = false, features = ["signals", "macro", "hooks"] }
dioxus-core = { workspace = true }
dioxus-core-macro = { workspace = true }
dioxus-signals = { workspace = true }
dioxus-hooks = { workspace = true }
dioxus-html = { workspace = true, optional = true }
dioxus-history = { workspace = true }
dioxus-router-macro = { workspace = true }
dioxus-fullstack-hooks = { workspace = true, optional = true }
@@ -24,7 +28,7 @@ rustversion = { workspace = true }
default = ["html"]
streaming = ["dep:dioxus-fullstack-hooks"]
wasm-split = []
html = ["dioxus-lib/html"]
html = ["dep:dioxus-html"]
[dev-dependencies]
axum = { workspace = true, features = ["ws"] }
-1
View File
@@ -27,7 +27,6 @@ expressiveness.
```rust, no_run
use dioxus::prelude::*;
use dioxus_router::prelude::*;
use std::str::FromStr;
#[rustfmt::skip]
@@ -1,8 +1,8 @@
/// Components that allow the macro to add child routers. This component provides a context
/// to the child router that maps child routes to root routes and vice versa.
use dioxus_lib::prelude::*;
use crate::Routable;
use dioxus_core::{provide_context, try_consume_context, use_hook, Element};
use dioxus_core_macro::{component, Props};
/// Maps a child route into the root router and vice versa
// NOTE: Currently child routers only support simple static prefixes, but this
@@ -53,7 +53,7 @@ impl<R: Routable> PartialEq for ChildRouterProps<R> {
}
}
/// A component that provides a [`History`] to a child router. The `#[child]` attribute on the router macro will insert this automatically.
/// A component that provides a [`History`](dioxus_history::History) to a child router. The `#[child]` attribute on the router macro will insert this automatically.
#[component]
#[allow(missing_docs)]
pub fn ChildRouter<R: Routable>(props: ChildRouterProps<R>) -> Element {
@@ -1,6 +1,10 @@
use dioxus_core::Element;
use dioxus_core_macro::rsx;
use dioxus_html as dioxus_elements;
use dioxus_signals::{GlobalSignal, Readable};
#[allow(deprecated)]
use crate::hooks::use_router;
use dioxus_lib::prelude::*;
/// The default component to render when an external navigation fails.
#[allow(non_snake_case)]
@@ -1,4 +1,7 @@
use dioxus_lib::prelude::*;
use dioxus_core::{Element, VNode};
use dioxus_core_macro::{rsx, Props};
use dioxus_html as dioxus_elements;
use dioxus_signals::{GlobalSignal, Readable};
use tracing::error;
@@ -24,7 +27,6 @@ pub struct HistoryButtonProps {
/// # Example
/// ```rust
/// # use dioxus::prelude::*;
/// # use dioxus_router::prelude::*;
/// #[derive(Clone, Routable)]
/// enum Route {
/// #[route("/")]
@@ -97,7 +99,6 @@ pub fn GoBackButton(props: HistoryButtonProps) -> Element {
/// # Example
/// ```rust
/// # use dioxus::prelude::*;
/// # use dioxus_router::prelude::*;
/// #[derive(Clone, Routable)]
/// enum Route {
/// #[route("/")]
@@ -1,5 +1,7 @@
use dioxus_core::{use_hook, Callback, Element};
use dioxus_core_macro::{component, Props};
use dioxus_history::{provide_history_context, History};
use dioxus_lib::prelude::*;
use dioxus_signals::Owner;
use std::rc::Rc;
+6 -2
View File
@@ -2,7 +2,12 @@
use std::fmt::Debug;
use dioxus_lib::prelude::*;
use dioxus_core::{Attribute, Element, EventHandler, VNode};
use dioxus_core_macro::{rsx, Props};
use dioxus_html::{
self as dioxus_elements, ModifiersInteraction, MountedEvent, MouseEvent, PointerInteraction,
};
use dioxus_signals::{GlobalSignal, Owner, Readable};
use tracing::error;
@@ -91,7 +96,6 @@ impl Debug for LinkProps {
/// # Example
/// ```rust
/// # use dioxus::prelude::*;
/// # use dioxus_router::prelude::*;
///
/// #[derive(Clone, Routable)]
/// enum Route {
+1 -2
View File
@@ -1,5 +1,5 @@
use crate::{outlet::OutletContext, *};
use dioxus_lib::prelude::*;
use dioxus_core::Element;
/// An outlet for the current content.
///
@@ -15,7 +15,6 @@ use dioxus_lib::prelude::*;
/// # Example
/// ```rust
/// # use dioxus::prelude::*;
/// # use dioxus_router::prelude::*;
/// #[derive(Clone, Routable)]
/// #[rustfmt::skip]
/// enum Route {
+4 -3
View File
@@ -1,6 +1,7 @@
use dioxus_lib::prelude::*;
use crate::{provide_router_context, routable::Routable, router_cfg::RouterConfig, Outlet};
use dioxus_core::{provide_context, use_hook, Callback, Element};
use dioxus_core_macro::{rsx, Props};
use dioxus_signals::{GlobalSignal, Owner, Readable};
/// The props for [`Router`].
#[derive(Props)]
@@ -41,7 +42,7 @@ pub fn Router<R: Routable + Clone>(props: RouterProps<R>) -> Element {
});
#[cfg(feature = "streaming")]
use_after_suspense_resolved(|| {
dioxus_hooks::use_after_suspense_resolved(|| {
dioxus_fullstack_hooks::commit_initial_chunk();
});
+1 -1
View File
@@ -9,7 +9,7 @@ use crate::{ExternalNavigationFailure, NavigationTarget, RouterContext};
/// Panics if there is no router present.
pub fn navigator() -> Navigator {
Navigator(
dioxus_lib::core::try_consume_context::<RouterContext>()
dioxus_core::try_consume_context::<RouterContext>()
.expect("A router must be present to use navigator"),
)
}
+3 -3
View File
@@ -1,4 +1,4 @@
use dioxus_lib::core::{provide_context, try_consume_context, use_hook, Element, VNode};
use dioxus_core::{provide_context, try_consume_context, use_hook, Element, VNode};
use crate::{routable::Routable, utils::use_router_internal::use_router_internal};
@@ -75,8 +75,8 @@ impl<R> OutletContext<R> {
/// # Examples
///
/// ```rust, no_run
/// # use dioxus_lib::prelude::*;
/// # use dioxus_router::prelude::{use_outlet_context,Routable};
/// # use dioxus::prelude::*;
/// # use dioxus_router::use_outlet_context;
///
/// # #[derive(Routable,Clone,PartialEq)]
/// # enum MyRouter {
+2 -1
View File
@@ -5,8 +5,9 @@ use std::{
sync::{Arc, Mutex},
};
use dioxus_core::{provide_context, Element, ReactiveContext, ScopeId};
use dioxus_history::history;
use dioxus_lib::{core::ReactiveContext, prelude::*};
use dioxus_signals::{CopyValue, Readable, Signal, Writable};
use crate::{
components::child_router::consume_child_route_mapping, navigation::NavigationTarget,
+1 -2
View File
@@ -1,4 +1,4 @@
use dioxus_lib::core::{try_consume_context, use_hook};
use dioxus_core::{try_consume_context, use_hook};
use crate::{Navigator, RouterContext};
@@ -8,7 +8,6 @@ use crate::{Navigator, RouterContext};
///
/// ```rust
/// # use dioxus::prelude::*;
/// # use dioxus_router::prelude::*;
/// #[derive(Clone, Routable)]
/// enum Route {
/// #[route("/")]
+2 -2
View File
@@ -10,11 +10,11 @@ pub fn use_router() -> RouterContext {
/// Acquire the router without subscribing to updates.
#[doc(alias = "url")]
pub fn router() -> RouterContext {
dioxus_lib::core::consume_context()
dioxus_core::consume_context()
}
/// Try to acquire the router without subscribing to updates.
#[doc(alias = "url")]
pub fn try_router() -> Option<RouterContext> {
dioxus_lib::core::try_consume_context()
dioxus_core::try_consume_context()
}
+1 -1
View File
@@ -82,7 +82,7 @@ pub trait HasProps {
type Props;
}
impl<P> HasProps for dioxus_lib::core::Component<P> {
impl<P> HasProps for dioxus_core::Component<P> {
type Props = P;
}
-2
View File
@@ -30,7 +30,6 @@ pub enum NavigationTarget<R = String> {
///
/// ```rust
/// # use dioxus::prelude::*;
/// # use dioxus_router::prelude::*;
/// # use dioxus_router::navigation::NavigationTarget;
/// # #[component]
/// # fn Index() -> Element {
@@ -50,7 +49,6 @@ pub enum NavigationTarget<R = String> {
///
/// ```rust
/// # use dioxus::prelude::*;
/// # use dioxus_router::prelude::*;
/// # use dioxus_router::navigation::NavigationTarget;
/// # #[component]
/// # fn Index() -> Element {
+4 -3
View File
@@ -1,7 +1,7 @@
#![allow(non_snake_case)]
//! # Routable
use dioxus_lib::core::Element;
use dioxus_core::Element;
use std::iter::FlatMap;
use std::slice::Iter;
use std::{fmt::Display, str::FromStr};
@@ -308,6 +308,7 @@ impl<T: ToQueryArgument<M>, M> Display for DisplayQueryArgument<'_, T, M> {
///
/// ```rust
/// use dioxus::prelude::*;
/// use dioxus_router::FromHashFragment;
///
/// #[derive(Routable, Clone)]
/// #[rustfmt::skip]
@@ -475,6 +476,7 @@ fn full_circle() {
///
/// ```rust
/// use dioxus::prelude::*;
/// use dioxus_router::{ToRouteSegments, FromRouteSegments};
///
/// #[derive(Routable, Clone, PartialEq, Debug)]
/// enum Route {
@@ -566,6 +568,7 @@ fn to_route_segments() {
///
/// ```rust
/// use dioxus::prelude::*;
/// use dioxus_router::{ToRouteSegments, FromRouteSegments};
///
/// #[derive(Routable, Clone, PartialEq, Debug)]
/// enum Route {
@@ -735,7 +738,6 @@ pub trait Routable: FromStr<Err: Display> + Display + Clone + 'static {
///
/// # Example
/// ```rust
/// use dioxus_router::prelude::*;
/// use dioxus::prelude::*;
///
/// #[component]
@@ -803,7 +805,6 @@ pub trait Routable: FromStr<Err: Display> + Display + Clone + 'static {
///
/// # Example
/// ```rust
/// use dioxus_router::prelude::*;
/// use dioxus::prelude::*;
///
/// #[component]
+2 -2
View File
@@ -1,13 +1,13 @@
use crate::{GenericRouterContext, NavigationTarget, Routable, RoutingCallback};
use dioxus_lib::core::Element;
use dioxus_core::Element;
use std::sync::Arc;
/// Global configuration options for the router.
///
/// This implements [`Default`] and follows the builder pattern, so you can use it like this:
/// ```rust,no_run
/// # use dioxus_router::prelude::*;
/// # use dioxus::prelude::*;
/// # use dioxus_router::RouterConfig;
/// # #[component]
/// # fn Index() -> Element {
/// # VNode::empty()
@@ -1,5 +1,5 @@
use crate::RouterContext;
use dioxus_lib::core::{try_consume_context, use_hook};
use dioxus_core::{try_consume_context, use_hook};
/// A private hook to subscribe to the router.
///