Expand description
Useful imports.
Re-exports§
Modules§
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
- Start the hot reloading server with the current directory as the root
- Generate a Dioxus component rendering the specified image.
- 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.
- 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
Button
component. - 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. - Theming properties for the
Button
component. - You can use this to change a theme for only one component, with the
theme
property. - 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 boundary that will capture any errors from child components
- A wrapper around some generic data that handles the event’s state
- The callback type generated by the
rsx!
macro when anon
field is specified for components. - 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 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
- 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.
- A value that is memoized. This is useful for caching the result of a computation.
- 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. - A context for signal reads and writes to be directed to
- 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.
- 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. - 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. - Creates a new Signal. 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. - 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
TooltipContainer
component. - 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 text.
- 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.
- 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 as guarantee that your memoization strategy is safe. - 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<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. - Common trait for editable texts
- A trait to allow results to be thrown upwards to the nearest Error Boundary
- A trait for states that can be read from like
crate::Signal
, orcrate::GlobalSignal
. 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 aWritable
type. - An extension trait for Writable<Option
> that provides some convenience methods. - An extension trait for Writable<Vec
> 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
. - Sometimes you might want to know if a route is selected so you can style a specific UI element in a different way, like a button with a different color. To avoid cluttering your components with router-specific code you might instead want to wrap your component in an
ActivableRoute
and inside your component calluse_activable_route
. - 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.
- Clickable button with a solid fill color.
- 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
- Provides native functionalities for a dioxus-router.
- Image component that automatically fetches and caches remote (HTTP) images.
- Clickable button with an outline style.
- 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
. - Display whether a state is
true
orfalse
. Commonly used for enabled/disabled scenarios. Example: light/dark theme. - 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
componentTooltipContainer
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
- 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
- Get the parent of the current scope if it exists
- Provide context to the current scope
- Provide a context to the root scope
- Queue an effect to run after the next render
- Informs the scheduler that this task is no longer needed and should be removed.
- Calculate dynamic expression with operator precedence. 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 [
TaskId
] - 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
- Consume context from the current scope
- Consume some context in the tree, providing a sharable handle to the value
- Consume an activable Route, use in combination with
ActivableRoute
. - 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 Analagous 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
). - Hook to create an editable text. For manual creation use UseEditable::new_in_hook.
use_effect
will subscribe to any changes in the signal values it captures effects will always run after first mount and then whenever the signal values change If the use_effect call was skipped due to an early return, the effect will no longer activate.- Provide an error boundary to catch errors from child components
- Create a focus manager for a node.
- Create a Form controller with a submit callback.
- A hook that allows you to spawn a future. This future will not run on the server The future is spawned on the next call to
wait_for_next_render
which means that it will not run on the server. To run a future on the server, you should usespawn
directly.use_future
won’t return a value. If you want to return a value from a future, useuse_resource
instead. - 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 changes.
- 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.
- A memo that resolves to a value asynchronously. Similar to
use_future
butuse_resource
returns a value. SeeResource
for more details. - 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. - Wait for the next render to complete
- Run a closure with the given owner.
Type Aliases§
- 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§
- Streamlines component creation. This is the recommended way of creating components, though you might want lower-level control with more advanced uses.
- Derive props for a component within the component definition.
Derive Macros§
- Derive macro generating an impl of the trait
Default
.