Add a prelude module to Dioxus Native (#5104)
* Add prelude to dioxus-native crate Signed-off-by: Nico Burns <nico@nicoburns.com> * Fix unreachable_patterns lint --------- Signed-off-by: Nico Burns <nico@nicoburns.com>
This commit is contained in:
1 parent
db23197925
commit
31bee1417c
7 files changed
+71
-17
No files matched your search
Generated
+5
-1
@@ -1670,7 +1670,6 @@ version = "0.0.0"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"bevy",
|
"bevy",
|
||||||
"color",
|
"color",
|
||||||
"dioxus",
|
|
||||||
"dioxus-native",
|
"dioxus-native",
|
||||||
"tracing-subscriber",
|
"tracing-subscriber",
|
||||||
"wgpu 26.0.1",
|
"wgpu 26.0.1",
|
||||||
@@ -6118,13 +6117,18 @@ dependencies = [
|
|||||||
"dioxus-asset-resolver",
|
"dioxus-asset-resolver",
|
||||||
"dioxus-cli-config",
|
"dioxus-cli-config",
|
||||||
"dioxus-core",
|
"dioxus-core",
|
||||||
|
"dioxus-core-macro",
|
||||||
"dioxus-devtools",
|
"dioxus-devtools",
|
||||||
"dioxus-document",
|
"dioxus-document",
|
||||||
"dioxus-history",
|
"dioxus-history",
|
||||||
|
"dioxus-hooks",
|
||||||
"dioxus-html",
|
"dioxus-html",
|
||||||
"dioxus-native-dom",
|
"dioxus-native-dom",
|
||||||
|
"dioxus-signals",
|
||||||
|
"dioxus-stores",
|
||||||
"futures-util",
|
"futures-util",
|
||||||
"keyboard-types",
|
"keyboard-types",
|
||||||
|
"manganis",
|
||||||
"rustc-hash 2.1.1",
|
"rustc-hash 2.1.1",
|
||||||
"tokio",
|
"tokio",
|
||||||
"tracing",
|
"tracing",
|
||||||
|
|||||||
@@ -6,15 +6,11 @@ license = "MIT"
|
|||||||
publish = false
|
publish = false
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = ["desktop"]
|
|
||||||
desktop = ["dioxus/desktop"]
|
|
||||||
native = ["dioxus/native"]
|
|
||||||
tracing = ["dep:tracing-subscriber", "dioxus-native/tracing"]
|
tracing = ["dep:tracing-subscriber", "dioxus-native/tracing"]
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
bevy = { workspace = true }
|
bevy = { workspace = true }
|
||||||
dioxus-native = { workspace = true }
|
dioxus-native = { workspace = true, features = ["prelude"] }
|
||||||
dioxus = { workspace = true }
|
|
||||||
wgpu = { workspace = true }
|
wgpu = { workspace = true }
|
||||||
color = "0.3"
|
color = "0.3"
|
||||||
tracing-subscriber = { workspace = true, optional = true }
|
tracing-subscriber = { workspace = true, optional = true }
|
||||||
@@ -3,7 +3,7 @@ use std::any::Any;
|
|||||||
use color::{palette::css::WHITE, parse_color};
|
use color::{palette::css::WHITE, parse_color};
|
||||||
use color::{OpaqueColor, Srgb};
|
use color::{OpaqueColor, Srgb};
|
||||||
use demo_renderer::{DemoMessage, DemoPaintSource};
|
use demo_renderer::{DemoMessage, DemoPaintSource};
|
||||||
use dioxus::prelude::*;
|
use dioxus_native::prelude::*;
|
||||||
use dioxus_native::use_wgpu;
|
use dioxus_native::use_wgpu;
|
||||||
use wgpu::Limits;
|
use wgpu::Limits;
|
||||||
|
|
||||||
|
|||||||
+32
-10
@@ -11,21 +11,30 @@ keywords = ["dom", "ui", "gui", "react"]
|
|||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = ["accessibility", "hot-reload", "net", "html", "svg", "system-fonts", "clipboard", "file_dialog"]
|
default = ["accessibility", "hot-reload", "net", "html", "svg", "system-fonts", "clipboard", "file_dialog"]
|
||||||
clipboard = ["blitz-shell/clipboard"]
|
prelude = ["dep:dioxus-core-macro", "dep:dioxus-hooks", "dep:dioxus-signals", "dep:dioxus-stores", "dep:manganis"]
|
||||||
file_dialog = ["blitz-shell/file_dialog"]
|
|
||||||
|
# DOM features
|
||||||
svg = ["blitz-dom/svg", "blitz-paint/svg"]
|
svg = ["blitz-dom/svg", "blitz-paint/svg"]
|
||||||
|
incremental = ["blitz-dom/incremental"]
|
||||||
|
autofocus = ["blitz-dom/autofocus"]
|
||||||
|
system-fonts = ["blitz-dom/system_fonts"]
|
||||||
|
|
||||||
|
# Shell Features
|
||||||
|
clipboard = ["blitz-shell/clipboard"]
|
||||||
|
file_dialog = ["file-dialog"] # Backwards compat. Remove in next breaking version
|
||||||
|
file-dialog = ["blitz-shell/file_dialog"]
|
||||||
|
accessibility = ["blitz-shell/accessibility", "blitz-dom/accessibility"]
|
||||||
|
|
||||||
|
# Other features
|
||||||
net = ["dep:tokio", "dep:blitz-net"]
|
net = ["dep:tokio", "dep:blitz-net"]
|
||||||
html = ["dep:blitz-html"]
|
html = ["dep:blitz-html"]
|
||||||
accessibility = ["blitz-shell/accessibility", "blitz-dom/accessibility"]
|
|
||||||
tracing = ["dep:tracing", "dioxus-native-dom/tracing", "blitz-shell/tracing", "blitz-dom/tracing"]
|
# Dev / Debug
|
||||||
hot-reload = ["dep:dioxus-cli-config", "dep:dioxus-devtools"]
|
hot-reload = ["dep:dioxus-cli-config", "dep:dioxus-devtools"]
|
||||||
system-fonts = ["blitz-dom/system_fonts"]
|
tracing = ["dep:tracing", "dioxus-native-dom/tracing", "blitz-shell/tracing", "blitz-dom/tracing"]
|
||||||
autofocus = []
|
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
# Blitz dependencies
|
# Blitz dependencies
|
||||||
anyrender = { workspace = true }
|
|
||||||
anyrender_vello = { workspace = true }
|
|
||||||
blitz-dom = { workspace = true }
|
blitz-dom = { workspace = true }
|
||||||
blitz-html = { workspace = true, optional = true }
|
blitz-html = { workspace = true, optional = true }
|
||||||
blitz-net = { workspace = true, optional = true }
|
blitz-net = { workspace = true, optional = true }
|
||||||
@@ -33,16 +42,29 @@ blitz-paint = { workspace = true, optional = true }
|
|||||||
blitz-traits = { workspace = true }
|
blitz-traits = { workspace = true }
|
||||||
blitz-shell = { workspace = true }
|
blitz-shell = { workspace = true }
|
||||||
|
|
||||||
|
# AnyRender dependencies
|
||||||
|
anyrender = { workspace = true }
|
||||||
|
anyrender_vello = { workspace = true }
|
||||||
|
|
||||||
# DioxusLabs dependencies
|
# DioxusLabs dependencies
|
||||||
dioxus-core = { workspace = true }
|
dioxus-core = { workspace = true }
|
||||||
dioxus-html = { workspace = true }
|
dioxus-html = { workspace = true }
|
||||||
dioxus-native-dom = { workspace = true }
|
dioxus-native-dom = { workspace = true }
|
||||||
dioxus-asset-resolver = { workspace = true, features = ["native"] }
|
dioxus-asset-resolver = { workspace = true, features = ["native"] }
|
||||||
dioxus-cli-config = { workspace = true, optional = true }
|
|
||||||
dioxus-devtools = { workspace = true, optional = true }
|
|
||||||
dioxus-history = { workspace = true }
|
dioxus-history = { workspace = true }
|
||||||
dioxus-document = { workspace = true }
|
dioxus-document = { workspace = true }
|
||||||
|
|
||||||
|
# Dioxus hot reload
|
||||||
|
dioxus-cli-config = { workspace = true, optional = true }
|
||||||
|
dioxus-devtools = { workspace = true, optional = true }
|
||||||
|
|
||||||
|
# Dioxus prelude
|
||||||
|
dioxus-hooks = { workspace = true, optional = true }
|
||||||
|
dioxus-signals = { workspace = true, optional = true }
|
||||||
|
dioxus-stores = { workspace = true, optional = true }
|
||||||
|
dioxus-core-macro = { workspace = true, optional = true }
|
||||||
|
manganis = { workspace = true, features = ["dioxus"], optional = true }
|
||||||
|
|
||||||
# Windowing & Input
|
# Windowing & Input
|
||||||
winit = { workspace = true }
|
winit = { workspace = true }
|
||||||
keyboard-types = { workspace = true }
|
keyboard-types = { workspace = true }
|
||||||
|
|||||||
@@ -111,6 +111,7 @@ impl DioxusNativeApplication {
|
|||||||
not(target_os = "android"),
|
not(target_os = "android"),
|
||||||
not(target_os = "ios")
|
not(target_os = "ios")
|
||||||
)))]
|
)))]
|
||||||
|
#[allow(unreachable_patterns)]
|
||||||
_ => {
|
_ => {
|
||||||
let _ = event_loop;
|
let _ = event_loop;
|
||||||
let _ = event;
|
let _ = event;
|
||||||
|
|||||||
@@ -15,6 +15,9 @@ mod dioxus_application;
|
|||||||
mod dioxus_renderer;
|
mod dioxus_renderer;
|
||||||
mod link_handler;
|
mod link_handler;
|
||||||
|
|
||||||
|
#[cfg(feature = "prelude")]
|
||||||
|
pub mod prelude;
|
||||||
|
|
||||||
#[doc(inline)]
|
#[doc(inline)]
|
||||||
pub use dioxus_native_dom::*;
|
pub use dioxus_native_dom::*;
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,28 @@
|
|||||||
|
// RSX and component definition
|
||||||
|
pub use dioxus_core;
|
||||||
|
pub use dioxus_core::{
|
||||||
|
consume_context, provide_context, spawn, suspend, try_consume_context, use_drop, use_hook,
|
||||||
|
AnyhowContext, Attribute, Callback, Component, Element, ErrorBoundary, ErrorContext, Event,
|
||||||
|
EventHandler, Fragment, HasAttributes, IntoDynNode, RenderError, ScopeId, SuspenseBoundary,
|
||||||
|
SuspenseContext, VNode, VirtualDom,
|
||||||
|
};
|
||||||
|
#[allow(deprecated)]
|
||||||
|
pub use dioxus_core_macro::{component, rsx, Props};
|
||||||
|
pub use dioxus_html as dioxus_elements;
|
||||||
|
pub use dioxus_html::{
|
||||||
|
events::*, extensions::*, global_attributes, keyboard_types, svg_attributes, traits::*,
|
||||||
|
GlobalAttributesExtension, SvgAttributesExtension,
|
||||||
|
};
|
||||||
|
pub use dioxus_html::{Code, Key, Location, Modifiers};
|
||||||
|
|
||||||
|
// Assets
|
||||||
|
pub use manganis::{self, *};
|
||||||
|
|
||||||
|
// Hooks, signals, stores
|
||||||
|
pub use dioxus_hooks::*;
|
||||||
|
pub use dioxus_signals::{self, *};
|
||||||
|
pub use dioxus_stores::{self, store, use_store, GlobalStore, ReadStore, Store, WriteStore};
|
||||||
|
|
||||||
|
// Document and History
|
||||||
|
pub use dioxus_document::{self as document, Meta, Stylesheet, Title};
|
||||||
|
pub use dioxus_history::{history, History};
|
||||||
Reference in new issue
Block a user