Expand description
Useful imports.
Re-exports§
pub use dioxus_core;
pub use dioxus_hot_reload;
pub use freya_elements as dioxus_elements;
pub use crate::launch::*;
pub use crate::plugins::*;
Modules§
- Warnings that can be triggered by suspicious usage of signals
Macros§
- Alias for
Cow::Borrowed
, because that’s used a million times so shortening it is nice. Makes the code more readable. - This macro is used to generate a
impl Default
block for any type with the function new_maybe_sync that takes a genericT
- Example usage:
- This macro is used to generate
impl PartialEq
blocks for any Readable type that takes a genericT
- This macro is used to generate
impl Display
, andimpl Debug
blocks for any Readable type that takes a genericT
- Generate a Dioxus component rendering the specified SVG.
- This macro is used to generate
impl Display
,impl Debug
,impl PartialEq
, andimpl Eq
blocks for any Readable type that takes a genericT
- The rsx! macro makes it easy for developers to write jsx-style markup in their components.
- Create
FooThemeWith
structs without having to deal with the verbose syntax. - A helper macro for cloning multiple values at once
- This macro has three arguments separator by commas.
- A helper macro for
use_reactive
that merges uses the closure syntax to elaborate the dependency array - This macro is used to generate
impl Add
,impl AddAssign
,impl Sub
,impl SubAssign
,impl Mul
,impl MulAssign
,impl Div
, andimpl DivAssign
blocks for any Writable type that takes a genericT
Structs§
- Properties for the
AccordionBody
component. - Properties for the
Accordion
component. - Properties for the
AccordionSummary
component. - Theming properties for the
Accordion
component. - You can use this to change a theme for only one component, with the
theme
property. - Properties for the [
ActivableRoute
] component. - Animate a color.
- Animate a numeric value.
- Properties for the
ArrowIcon
component. - Configuration for a given Asset.
- An attribute on a DOM node, such as
id="my-thing"
orhref="https://example.com"
- Properties for the
Body
component. - Theming properties for the
Body
component. - You can use this to change a theme for only one component, with the
theme
property. - Properties for the [
BottomTab
] component. - Theming properties for the
BottomTab
component. - You can use this to change a theme for only one component, with the
theme
property. - Properties for the
Button
component. - Theming properties for the
Button
component. - You can use this to change a theme for only one component, with the
theme
property. - The callback type generated by the
rsx!
macro when anon
field is specified for components. - Properties for the
Canvas
component. - Theming properties for the
Canvas
component. - You can use this to change a theme for only one component, with the
theme
property. - Properties for the [
Checkbox
] component. - Theming properties for the
Checkbox
component. - You can use this to change a theme for only one component, with the
theme
property. - CopyValue is a wrapper around a value to make the value mutable and Copy.
- Properties for the
CrossIcon
component. - Properties for the
CursorArea
component. - Desktop renderer using Skia, Glutin and Winit
- Properties for the
DragProvider
component. - Properties for the
DragZone
component. - Properties for the
DropZone
component. - Properties for the
DropdownItem
component. - Theming properties for the
DropdownItem
component. - You can use this to change a theme for only one component, with the
theme
property. - Properties for the
Dropdown
component. - Theming properties for the
Dropdown
component. - You can use this to change a theme for only one component, with the
theme
property. - Create a configuration for a
UseEditable
. - A handle to an effect.
- A context with information about suspended components
- A wrapper around some generic data that handles the event’s state
- Data of a Keyboard event.
- Just like a TreeItem for flattened. Use this when rendering the items.
- Theming properties for Fonts.
- You can use this to change a theme for only one component, with the
theme
property. Theming properties for Fonts. - Properties for the
GestureArea
component. - A key used to identify a signal in the global signal context
- A signal that can be accessed from anywhere in the application and created in a static
- A signal that can be accessed from anywhere in the application and created in a static
- The context for global signals
- Data line for the
Graph
component. - Properties for the
Graph
component. - Theming properties for the
Graph
component. - You can use this to change a theme for only one component, with the
theme
property. - Theming properties for the
Icon
component. - You can use this to change a theme for only one component, with the
theme
property. - Properties for the
Input
component. - Theming properties for the
Input
component. - You can use this to change a theme for only one component, with the
theme
property. - Data of a Keyboard event.
- Launch configuration.
- Cached layout results of a Node
- A text line from a TextEditor
- Iterator over text lines.
- Properties for the [
Link
] component. - Theming properties for the
Link
component. - You can use this to change a theme for only one component, with the
theme
property. - Properties for the
Loader
component. - Theming properties for the
Loader
component. - You can use this to change a theme for only one component, with the
theme
property. - A read only signal that has been mapped to a new type.
- Memos are the result of computing a value from
use_memo
. - Properties for the [
MenuButton
] component. - Properties for the [
MenuContainer
] component. - Theming properties for the
MenuContainer
component. - You can use this to change a theme for only one component, with the
theme
property. - Properties for the [
MenuItem
] component. - Theming properties for the
MenuItem
component. - You can use this to change a theme for only one component, with the
theme
property. - Properties for the [
Menu
] component. - Pressed modifier keys.
- Data of a Mouse event.
- Properties for the [
NativeContainer
] component. - Properties for the [
NativeRouter
] component. - Properties for the
NetworkImage
component. - Theming properties for the
NetworkImage
component. - You can use this to change a theme for only one component, with the
theme
property. - Node layout configuration
- Owner: Handles dropping generational boxes. The owner acts like a runtime lifetime guard. Any states that you create with an owner will be dropped when that owner is dropped.
- Data of a Mouse event.
- Properties for the [
PopupBackground
] component. - Properties for the [
PopupContent
] component. - Properties for the [
Popup
] component. - Theming properties for the
Popup
component. - You can use this to change a theme for only one component, with the
theme
property. - Properties for the [
PopupTitle
] component. - Properties for the
ProgressBar
component. - Theming properties for the
ProgressBar
component. - You can use this to change a theme for only one component, with the
theme
property. - Properties for the [
Radio
] component. - Theming properties for the
Radio
component. - You can use this to change a theme for only one component, with the
theme
property. - Reactivity
- A signal that can only be read from.
- An iterator over the values of a
Readable<Vec<T>>
. - A 2d Rectangle optionally tagged with a unit.
- The actual state of the component’s most recent computation
- A handle to a reactive future spawned with
use_resource
that can be used to modify or read the result of the future. - A utf8 text rope.
- TextEditor implementing a Rope
- A global runtime that is shared across all scopes that provides the async runtime and context API
- A guard for a new runtime. This must be used to override the current runtime when importing components from a dynamic library that has it’s own runtime.
- A component’s unique identifier.
- A component’s rendered state.
- Properties for the
ScrollBar
component. - Theming properties for the
ScrollBar
component. - You can use this to change a theme for only one component, with the
theme
property. - Properties for the
ScrollThumb
component. - Properties for the
ScrollView
component. - Theming properties for the
ScrollView
component. Also used byVirtualScrollView
. - You can use this to change a theme for only one component, with the
theme
property. Also used byVirtualScrollView
. - An object that can efficiently compare a value to a set of values.
- Properties for the [
SidebarItem
] component. - Theming properties for the
SidebarItem
component. - You can use this to change a theme for only one component, with the
theme
property. - Properties for the [
Sidebar
] component. - Theming properties for the
Sidebar
component. - You can use this to change a theme for only one component, with the
theme
property. - Signals are a Copy state management solution with automatic dependency tracking.
- The data stored for tracking in a signal.
- Properties for the
Slider
component. - Theming properties for the
Slider
component. - You can use this to change a theme for only one component, with the
theme
property. - Properties for the [
SnackBarBox
] component. - Properties for the [
SnackBar
] component. - Theming properties for the
SnackBar
component. - You can use this to change a theme for only one component, with the
theme
property. - Properties for the [
SubMenu
] component. - A task that has been suspended which may have an optional loading placeholder
- Properties for the
SuspenseBoundary()
component. - A context with information about suspended components
- Properties for the
Switch
component. - Theming properties for the
Switch
component. - You can use this to change a theme for only one component, with the
theme
property. - A thread safe storage. This is slower than the unsync storage, but allows you to share the value between threads.
- Properties for the [
Tab
] component. - Theming properties for the
Tab
component. - You can use this to change a theme for only one component, with the
theme
property. - Properties for the
TableBody
component. - Properties for the
TableCell
component. - Properties for the
TableHead
component. - Properties for the
Table
component. - Properties for the
TableRow
component. - Theming properties for the
Table
component. - You can use this to change a theme for only one component, with the
theme
property. - Properties for the [
Tabsbar
] component. - A task’s unique identifier.
- A static layout of a UI tree that describes a set of dynamic and static nodes.
- Holds the position of a cursor in a text
- Events for TextEditor
- Properties for the
ThemeProvider
component. - Properties for the
TickIcon
component. - Properties for the [
Tile
] component. - Theming properties for the
Tile
component. - You can use this to change a theme for only one component, with the
theme
property. - Properties for the
Tooltip
component. - Theming properties for the
Tooltip
component. - You can use this to change a theme for only one component, with the
theme
property. - Data of a Touch event.
- The receiving end of an unbounded mpsc channel.
- The transmission end of an unbounded mpsc channel.
- Pass uniform values to a Shader.
- A unsync storage. This is the default storage type.
- Animate your elements. Use
use_animation
to use this. - This callback is not generic over a return type so you can hold a bunch of callbacks at once
- Holds a rendering hook callback that allows to render to the Canvas.
- Manage an editable content.
- Manage the focus operations of given Node
- Form controller
- A reference to a template along with any context needed to hydrate it
- A reference to a template along with any context needed to hydrate it
- A virtual node system that progresses user events and diffs UI trees.
- Properties for the
VirtualScrollView
component. - Data of a Wheel event.
- Configuration for a Window.
- Properties for the [
WindowDragArea
] component. - An iterator over the values of a
Writable<Vec<T>>
. - A mutable reference to a signal’s value.
Enums§
- Indicates the current status of the accordion.
- Controls the direction of the animation.
- Defines the duration for which an Asset will remain cached after it’s user has stopped using it. The default is 1h (3600s).
- An error that can occur when trying to borrow a value.
- An error that can occur when trying to borrow a value mutably.
- Identifies the current status of the Button.
- Code is the physical position of a key.
- A clone-on-write smart pointer.
- Describes the appearance of the (usually mouse) cursor icon.
- Group all the custom attribute types
- Current status of the DropdownItem.
- Current status of the Dropdown.
- Events emitted to the
UseEditable
. - How the editable content must behave.
- Indicates the state of the item.
- Describes the force of a touch event
- Gesture emitted by the
GestureArea
component. - Enum to declare is
Input
hidden. - Indicates the current status of the Input.
- Key represents the meaning of a keypress.
- Tooltip configuration for the [
Link
] component. - Indicates the current status of the MenuItem.
- Describes a button of a mouse controller.
- What to do once the animation finishes. By default it is
Stop
- Sorting direction for items in
Table
. - The type of device that triggered a Pointer event.
- An error that can occur while rendering a component
- Contains the best Root node candidate from where to start measuring
- Describes the current status of the Slider.
- Describes the current status of the Switch.
- Current status of the Tab.
- An attribute of the TemplateNode, created at compile time
- A statically known node in a layout.
- Indicates the type of text dragging being done.
- Indicates the current status of the Tile.
- Describes touch-screen input state.
- Item part of a larget Tree.
- Uniform value to be passed to a Shader.
- A signal that represents the state of a future
- A signal that represents the state of the resource
Constants§
Traits§
- A trait for any storage backing type.
- Any component that implements the
ComponentFn
trait can be used as a component. - A trait for giving a type a useful default value.
- A dependency is a trait that can be used to determine if a effect or selector should be re-run.
- A dependency is a trait that can be used to determine if a effect or selector should be re-run.
- A trait for anything that has a dynamic list of attributes
- A value that can be converted into an attribute value
- A trait that allows various items to be converted into a dynamic node for the rsx macro
- Abstract the path matching.
- Every “Props” used for a component must implement the
Properties
trait. This trait gives some hints to Dioxus on how to memoize the props and some additional optimizations that can be made. We strongly encourage using the derive macro to implement theProperties
trait automatically. - A trait for states that can be read from like
crate::Signal
,crate::GlobalSignal
, orcrate::ReadOnlySignal
. You may choose to accept this trait as a parameter instead of the concrete type to allow for more flexibility in your API. For example, instead of creating two functions, one that accepts acrate::Signal
and one that accepts acrate::GlobalSignal
, you can create one function that accepts aReadable
type. - An extension trait for Readable<Option
> that provides some convenience methods. - An extension trait for Readable<Option
> that provides some convenience methods. - An extension trait for Readable<Vec
> that provides some convenience methods. - A trait for a storage backing type. (RefCell, RwLock, etc.)
- A enhanced version of the
From
trait that allows with more flexibility. - A enhanced version of the
Into
trait that allows with more flexibility. - Provides context methods to [
Result<T, RenderError>
] to show loading indicators for suspended results - Common trait for editable texts
- A trait for states that can be written to like
crate::Signal
. You may choose to accept this trait as a parameter instead of the concrete type to allow for more flexibility in your API. - An extension trait for
Writable<Option<T>>
` that provides some convenience methods. - An extension trait for
Writable<Vec<T>>
that provides some convenience methods.
Functions§
- Show other elements under a collapsable box.
- Intended to wrap the body of an
Accordion
. - Intended to use as summary for an
Accordion
. - Provide a context to the inner components so they can know whether the passed route is the current router in the Router or not.
- Provide a mechanism for outlets to animate between route transitions.
- Icon component for an Arrow.
- Usually used to wrap the application root component.
- Clickable BottomTab. Same thing as Tab but designed to be placed in the bottom of your app, usually used in combination with [
Tabsbar
], [Link
] and [ActivableRoute
]. - Clickable button.
- Draw anything inside of this canvas.
- Controlled
Checkbox
component. - Icon component for a Cross.
- Change the cursor icon when it’s hovering over this component.
- Make the inner children draggable to other
DropZone
. - Elements from
DragZone
s can be dropped here. - Select from multiple options, use alongside
DropdownItem
. - Styling
- Create a new error boundary component that catches any errors thrown from child components
- Create inline fragments using Component syntax.
- Detect complex touch gestures such as
Gesture::DoubleTap
. - Graph component.
- Small box to edit text.
- Styling
- Floating menu, use alongside [
MenuItem
]. - Like a button, but for [
Menu
]s. - Wraps the body of a [
Menu
]. - Styling
- Props
- Provides native functionalities for a dioxus-router.
- Image component that automatically fetches and caches remote (HTTP) images.
- Floating window intended for quick interactions. Also called
Dialog
in other frameworks. - The background of the [
Popup
] component. - Optionally wrap the content of your [
Popup
] in a styled container. - Optionally use a styled title inside a [
Popup
]. - Display the progress of something visually. For example: downloading files, fetching data, etc.
- Controlled
Radio
component. - Scroll bar used for
crate::ScrollView
andcrate::VirtualScrollView
. - Scroll thumb used for
crate::ScrollView
andcrate::VirtualScrollView
. - Scrollable area with bidirectional support and scrollbars.
- Props
- Props
- Controlled
Slider
component. SnackBar
component. Use in combination with other components.- Create sub menus inside a [
Menu
]. - Suspense Boundaries let you render a fallback UI while a child component is suspended.
- Display whether a state is
true
orfalse
. Commonly used for enabled/disabled scenarios. Example: light/dark theme. - Clickable Tab. Usually used in combination with [
Tabsbar
], [Link
] and [ActivableRoute
]. - The body of a
Table
. - Cell for a
Table
. You can place anything inside. - Horizontal container for Tabs. Use in combination with [
Tab
] - Provides a
Theme
for all its children. - Icon component for a Tick.
- Tile component to be used with [
Radio
] and [Checkbox
]. Tooltip
component- One-direction scrollable area that dynamically builds and renders items based in their size and current available size, this is intended for apps using large sets of data that need good performance.
- Allow dragging the window when the cursor drag this component with a left mouse click.
- Consume context from the current scope
- Consume context from the current scope
- Returns the current owner. This owner will be used to drop any
Copy
state that is created by thegenerational-box
crate. - Get the current scope id
- Transform some dynamic bytes (e.g: remote image fetched at runtime) into an attribute
- This utility function launches the builder method so rsx! and html! macros can use the typed-builder pattern to initialize a component’s props.
- Get the current render since the inception of this component
- Get the global context for signals
- Check if the current scope has a context
- Return the equivalent Winit’s
Key
in keyboard_types - Return the equivalent of Winit’s
PhysicalKey
in keyboard_types - Mark the current scope as dirty, causing it to re-render
- Mark the current scope as dirty, causing it to re-render
- The
click
event fires when the user clicks an element with the left button of the mouse. - The
filedrop
event fires when the user drops a file over the element. - The
globalclick
event fires when the user clicks anywhere. Note that this fires for all mouse buttons. You can check the specific variant with theMouseData
’strigger_button
property. - The
onglobalfilehover
event fires when the user hovers a file over the window. - The
onglobalfilehovercancelled
event fires when the user cancels the hovering of a file over the window. It’s the opposite ofonglobalfilehover
. - The
globalmousedown
event fires when the user starts clicking anywhere. Note that this fires for all mouse buttons. You can check the specific variant with theMouseData
’strigger_button
property. - The
globalmouseover
event fires when the user moves the mouse anywhere in the app. - The
globalpointerup
event fires when the user releases the point anywhere in the app. - The
keydown
event fires when the user starts pressing any key. - The
keyup
event fires when the user releases any key being pressed. - The
click
event fires when the user clicks an element with the middle button of the mouse. - The
mousedown
event fires when the user starts clicking an element. Note that this fires for all mouse buttons. You can check the specific variant with theMouseData
’strigger_button
property. - The
mouseenter
event fires when the user starts hovering an element. - The
mouseleave
event fires when the user stops hovering an element. - The
mouseover
event fires when the user moves the mouse over an element. Unlikeonmouseover
, this fires even if the user was already hovering over the element. For that reason, it’s less efficient. - The
pointerdown
event fires when the user clicks/starts touching an element. - The
pointerenter
event fires when the user starts hovering/touching an element. - The
pointerleave
event fires when the user stops hovering/touching an element. - The
pointerover
event fires when the user hovers/touches over an element. Unlikeonpointerenter
, this fires even if the user was already hovering over the element. For that reason, it’s less efficient. - The
pointerup
event fires when the user releases their mouse button or stops touching the element. - The
click
event fires when the user clicks an element with the right button of the mouse. - The
touchcancel
event fires when the user cancels the touching, this is usually caused by the hardware or the OS. Also seeontouchend
. - The
touchend
event fires when the user stops touching an element. - The
touchmove
event fires when the user is touching over an element. - The
touchstart
event fires when the user starts touching an element. - The
wheel
event fires when the user scrolls the mouse wheel while hovering over the element. - Get the parent of the current scope if it exists
- Provide context to the current scope
- Provide an error boundary to catch errors from child components
- Provide a context to the root scope
- Queue an effect to run after the next render. You generally shouldn’t need to interact with this function directly. use_effect will call this function for you.
- Informs the scheduler that this task is no longer needed and should be removed.
- Calculate some chained operations with a given value. This value could be for example the width of a node’s parent area.
- Schedule an update for the current component
- Schedule an update for any component given its
ScopeId
. - Spawns the future but does not return the
Task
. This task will automatically be canceled when the component is dropped. - Spawn a future that Dioxus won’t clean up when this component is unmounted
- Start a new future on the same thread as the rest of the VirtualDom.
- Transform some static bytes (e.g: statically linked images or SVGs) into an attribute
- Suspended the current component on a specific task and then return None
- Throw a [
CapturedError
] into the current scope. The error will bubble up to the nearestcrate::prelude::ErrorBoundary()
or the root of the app. - Consume context from the current scope
- Consume some context in the tree, providing a sharable handle to the value
- Push this function to be run after the next render
- Shortcut to get access to the AnimatedRouterContext.
- Animate your elements easily.
- Global caching system for assets.
- A hook that allows you to insert a “before render” function.
- A callback that’s always current
- Register a rendering hook to gain access to the Canvas. Reactivity managed through signals.
- Register a rendering hook to gain access to the Canvas. Reactivity managed with manual dependencies.
- Consume some context in the tree, providing a sharable handle to the value
- Provide some context via the tree and return a reference to it
- Maintain a handle over a future that can be paused, resumed, and canceled.
- Get a handle to a coroutine higher in the tree Analogous to use_context_provider and use_context, but used for coroutines specifically See the docs for
use_coroutine
for more details. - Creates a callback that will be run before the component is removed. This can be used to clean up side effects from the component (created with
use_effect
). - Create a virtual text editor with it’s own cursor and rope.
- Effects are reactive closures that run after the component has finished rendering. Effects are useful for things like manually updating the DOM after it is rendered with web-sys or javascript. Or reading a value from the rendered DOM.
- Create a focus manager for a node.
- Create a Form controller with a submit callback.
- A hook that allows you to spawn a future the first time you render a component.
- Store a value between renders. The foundational hook for all other hooks.
- A hook that uses before/after lifecycle hooks to determine if the hook was run
- Use a hook with a cleanup function
- Initialize the global caching system for assets.
- Provide the default
Theme
. - Keep some native features (focused element, preferred theme, etc) on sync between the platform and the components
- Provide a custom
Theme
. - Creates a new Memo. The memo will be run immediately and whenever any signal it reads is written to. Memos can be used to efficiently compute derived data from signals.
- Subscribe to a Node layout changes.
- Get a signal to read the latest layout from a Node.
- use_on_unmountDeprecated
- Get access to information and features of the platform.
- Get access to information from the platform.
- Access the preferred theme selected by the user.
- Takes some non-reactive data, and a closure and returns a closure that will subscribe to that non-reactive data as if it were reactive.
use_resource()
is a reactive hook that resolves to the result of a future. It will rerun when you write to any signals you read inside the future.- Try to get a value from the root of the virtual dom, if it doesn’t exist, create a new one with the closure provided.
- Creates a new SetCompare which efficiently tracks when a value changes to check if it is equal to a set of values.
- A hook that returns true if the value is equal to the value in the set compare.
- Creates a new Signal. Signals are a Copy state management solution with automatic dependency tracking.
- Creates a new `Send + Sync`` Signal. Signals are a Copy state management solution with automatic dependency tracking.
- Subscribe to
Theme
changes. - Run a closure with the given owner.
Type Aliases§
- The callback type generated by the
rsx!
macro when anon
field is specified for components. - A reference to a value that can be read from.
- A signal that can safely shared between threads.
- A reference to a value that can be read from.
Attribute Macros§
- Component
Derive Macros§
- Derive macro generating an impl of the trait
Default
. - Props