dioxus_html/
lib.rs

1#![doc = include_str!("../README.md")]
2#![doc(html_logo_url = "https://avatars.githubusercontent.com/u/79236386")]
3#![doc(html_favicon_url = "https://avatars.githubusercontent.com/u/79236386")]
4#![allow(non_snake_case)]
5
6//! # Dioxus Namespace for HTML
7//!
8//! This crate provides a set of compile-time correct HTML elements that can be used with the Rsx and Html macros.
9//! This system allows users to easily build new tags, new types, and customize the output of the Rsx and Html macros.
10//!
11//! An added benefit of this approach is the ability to lend comprehensive documentation on how to use these elements inside
12//! of the Rsx and Html macros. Each element comes with a substantial amount of documentation on how to best use it, hopefully
13//! making the development cycle quick.
14//!
15//! All elements are used as zero-sized unit structs with trait impls.
16//!
17//! Currently, we don't validate for structures, but do validate attributes.
18
19pub mod elements;
20#[cfg(feature = "hot-reload-context")]
21pub use elements::HtmlCtx;
22#[cfg(feature = "html-to-rsx")]
23pub use elements::{map_html_attribute_to_rsx, map_html_element_to_rsx};
24pub mod events;
25pub(crate) mod file_data;
26pub use file_data::*;
27mod attribute_groups;
28mod data_transfer;
29pub mod geometry;
30pub mod input_data;
31pub mod point_interaction;
32mod render_template;
33pub use data_transfer::*;
34
35pub use bytes;
36
37#[cfg(feature = "serialize")]
38mod transit;
39
40#[cfg(feature = "serialize")]
41pub use transit::*;
42
43pub use attribute_groups::*;
44pub use elements::*;
45pub use events::*;
46pub use render_template::*;
47
48pub use crate::attribute_groups::{GlobalAttributesExtension, SvgAttributesExtension};
49pub use crate::elements::extensions::*;
50pub use crate::point_interaction::*;
51pub use keyboard_types::{self, Code, Key, Location, Modifiers};
52
53pub mod traits {
54    pub use crate::events::*;
55    pub use crate::point_interaction::*;
56}
57
58pub mod extensions {
59    pub use crate::attribute_groups::{GlobalAttributesExtension, SvgAttributesExtension};
60    pub use crate::elements::extensions::*;
61}