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 Defaultblock for any type with the function new_maybe_sync that takes a genericT - Example usage:
- This macro is used to generate
impl PartialEqblocks for any Readable type that takes a genericT - This macro is used to generate
impl Display, andimpl Debugblocks 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 SVG.
- This macro is used to generate
impl Display,impl Debug,impl PartialEq, andimpl Eqblocks 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
FooThemeWithstructs 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_reactivethat 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 DivAssignblocks for any Writable type that takes a genericT
Structs§
- Properties for the
AccordionBodycomponent. - Properties for the
Accordioncomponent. - Properties for the
AccordionSummarycomponent. - Theming properties for the
Accordioncomponent. - You can use this to change a theme for only one component, with the
themeproperty. - Properties for the
ActivableRoutecomponent. - Animate a color.
- Animate a numeric value.
- Properties for the
ArrowIconcomponent. - Configuration for a given Asset.
- An attribute on a DOM node, such as
id="my-thing"orhref="https://example.com" - Properties for the
Bodycomponent. - Theming properties for the
Bodycomponent. - You can use this to change a theme for only one component, with the
themeproperty. - Properties for the
BottomTabcomponent. - Theming properties for the
BottomTabcomponent. - You can use this to change a theme for only one component, with the
themeproperty. - Properties for the
Buttoncomponent. - Theming properties for the
Buttoncomponent. - You can use this to change a theme for only one component, with the
themeproperty. - Properties for the
Canvascomponent. - Theming properties for the
Canvascomponent. - You can use this to change a theme for only one component, with the
themeproperty. - Properties for the
Checkboxcomponent. - Theming properties for the
Checkboxcomponent. - You can use this to change a theme for only one component, with the
themeproperty. - CopyValue is a wrapper around a value to make the value mutable and Copy.
- Properties for the
CrossIconcomponent. - Properties for the
CursorAreacomponent. - Desktop renderer using Skia, Glutin and Winit
- Properties for the
DragProvidercomponent. - Properties for the
DragZonecomponent. - Properties for the
DropZonecomponent. - Properties for the
DropdownItemcomponent. - Theming properties for the
DropdownItemcomponent. - You can use this to change a theme for only one component, with the
themeproperty. - Properties for the
Dropdowncomponent. - Theming properties for the
Dropdowncomponent. - You can use this to change a theme for only one component, with the
themeproperty. - 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 anonfield 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
themeproperty. Theming properties for Fonts. - Properties for the
GestureAreacomponent. - 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
Graphcomponent. - Properties for the
Graphcomponent. - Theming properties for the
Graphcomponent. - You can use this to change a theme for only one component, with the
themeproperty. - Theming properties for the
Iconcomponent. - You can use this to change a theme for only one component, with the
themeproperty. - Properties for the
Inputcomponent. - Theming properties for the
Inputcomponent. - You can use this to change a theme for only one component, with the
themeproperty. - 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
Linkcomponent. - Theming properties for the
Linkcomponent. - You can use this to change a theme for only one component, with the
themeproperty. - Properties for the
Loadercomponent. - Theming properties for the
Loadercomponent. - You can use this to change a theme for only one component, with the
themeproperty. - 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
MenuButtoncomponent. - Properties for the
MenuContainercomponent. - Theming properties for the
MenuContainercomponent. - You can use this to change a theme for only one component, with the
themeproperty. - Properties for the
MenuItemcomponent. - Theming properties for the
MenuItemcomponent. - You can use this to change a theme for only one component, with the
themeproperty. - Properties for the
Menucomponent. - Pressed modifier keys.
- Data of a Mouse event.
- Properties for the
NativeContainercomponent. - Properties for the
NativeRoutercomponent. - Properties for the
NetworkImagecomponent. - Theming properties for the
NetworkImagecomponent. - You can use this to change a theme for only one component, with the
themeproperty. - 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
PopupBackgroundcomponent. - Properties for the
PopupContentcomponent. - Properties for the
Popupcomponent. - Theming properties for the
Popupcomponent. - You can use this to change a theme for only one component, with the
themeproperty. - Properties for the
PopupTitlecomponent. - Properties for the
ProgressBarcomponent. - Theming properties for the
ProgressBarcomponent. - You can use this to change a theme for only one component, with the
themeproperty. - Properties for the
Radiocomponent. - Theming properties for the
Radiocomponent. - You can use this to change a theme for only one component, with the
themeproperty. - 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
ScrollBarcomponent. - Theming properties for the
ScrollBarcomponent. - You can use this to change a theme for only one component, with the
themeproperty. - Properties for the
ScrollThumbcomponent. - Properties for the
ScrollViewcomponent. - An object that can efficiently compare a value to a set of values.
- Properties for the
SidebarItemcomponent. - Theming properties for the
SidebarItemcomponent. - You can use this to change a theme for only one component, with the
themeproperty. - Properties for the
Sidebarcomponent. - Theming properties for the
Sidebarcomponent. - You can use this to change a theme for only one component, with the
themeproperty. - 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
Slidercomponent. - Theming properties for the
Slidercomponent. - You can use this to change a theme for only one component, with the
themeproperty. - Properties for the [
SnackBarBox] component. - Properties for the
SnackBarcomponent. - Theming properties for the
SnackBarcomponent. - You can use this to change a theme for only one component, with the
themeproperty. - Properties for the
SubMenucomponent. - Properties for the
Switchcomponent. - Theming properties for the
Switchcomponent. - You can use this to change a theme for only one component, with the
themeproperty. - A thread safe storage. This is slower than the unsync storage, but allows you to share the value between threads.
- Properties for the
Tabcomponent. - Theming properties for the
Tabcomponent. - You can use this to change a theme for only one component, with the
themeproperty. - Properties for the
TableBodycomponent. - Properties for the
TableCellcomponent. - Properties for the
TableHeadcomponent. - Properties for the
Tablecomponent. - Properties for the
TableRowcomponent. - Theming properties for the
Tablecomponent. - You can use this to change a theme for only one component, with the
themeproperty. - Properties for the
Tabsbarcomponent. - 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
ThemeProvidercomponent. - Properties for the
TickIconcomponent. - Properties for the
Tilecomponent. - Theming properties for the
Tilecomponent. - You can use this to change a theme for only one component, with the
themeproperty. - Properties for the
Tooltipcomponent. - Theming properties for the
Tooltipcomponent. - You can use this to change a theme for only one component, with the
themeproperty. - 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_animationto 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
VirtualScrollViewcomponent. - Data of a Wheel event.
- Configuration for a Window.
- Properties for the
WindowDragAreacomponent. - 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
GestureAreacomponent. - Enum to declare is
Inputhidden. - Indicates the current status of the Input.
- Key represents the meaning of a keypress.
- Tooltip configuration for the
Linkcomponent. - 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
ComponentFntrait 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
Propertiestrait. 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 thePropertiestrait 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::Signaland one that accepts acrate::GlobalSignal, you can create one function that accepts aReadabletype. - 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
Fromtrait that allows with more flexibility. - A enhanced version of the
Intotrait 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::Signaland one that accepts acrate::GlobalSignal, you can create one function that accepts aWritabletype. - 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. - 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
Checkboxcomponent. - 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
DragZones can be dropped here. - Select from multiple options, use alongside
DropdownItem. - Styling
- Create a new error boundary component.
- 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
Menus. - Wraps the body of a
Menu. - Styling
- 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
Dialogin other frameworks. - The background of the
Popupcomponent. - Optionally wrap the content of your
Popupin 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
Radiocomponent. - Scroll bar used for
crate::ScrollViewandcrate::VirtualScrollView. - Scroll thumb used for
crate::ScrollViewandcrate::VirtualScrollView. - Scrollable area with bidirectional support and scrollbars.
- Props
- Props
- Controlled
Slidercomponent. SnackBarcomponent. Use in combination with other components.- Create sub menus inside a
Menu. - Display whether a state is
trueorfalse. 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
Themefor all its children. - Icon component for a Tick.
- Tile component to be used with [
Radio] and [Checkbox]. Tooltipcomponent- 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
Copystate that is created by thegenerational-boxcrate. - 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
Keyin keyboard_types - Return the equivalent of Winit’s
PhysicalKeyin 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
- 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_coroutinefor 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.
use_effectwill 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_renderwhich means that it will not run on the server. To run a future on the server, you should usespawndirectly.use_futurewon’t return a value. If you want to return a value from a future, useuse_resourceinstead. - 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_futurebutuse_resourcereturns a value. SeeResourcefor 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
Themechanges. - 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.