1mod color;
2mod cursor;
3mod px;
4mod text;
5
6pub(crate) use color::NAMED_COLORS;
7
8#[cfg(feature = "serde")]
9use serde::{Deserialize, Serialize};
10
11#[cfg(feature = "tailwind_colors")]
12pub(crate) use color::{TAILWIND_COLORS, TAILWIND_NAME_COLORS};
13
14pub use csscolorparser::Color;
15pub use cursor::*;
16pub use px::*;
17pub use text::{Style as TextStyle, TextOverflow, Weight};
18
19#[derive(Debug, Clone, Copy, PartialEq, Eq)]
21#[cfg_attr(feature = "serde", derive(Deserialize, Serialize))]
22pub struct Auto;
23
24#[derive(Clone, Debug, Default, PartialEq)]
25#[cfg_attr(feature = "serde", derive(Deserialize, Serialize))]
26pub struct BorderDef {
27 pub width: Option<PxPct>,
28 pub color: Option<Color>,
29}
30
31#[derive(Debug, Clone, PartialEq)]
32#[cfg_attr(feature = "serde", derive(Deserialize, Serialize))]
33pub struct BoxShadow {
34 pub blur_radius: PxPct,
35 pub color: Color,
36 pub spread: PxPct,
37 pub h_offset: PxPct,
38 pub v_offset: PxPct,
39}
40
41impl Default for BoxShadow {
42 fn default() -> Self {
43 Self {
44 blur_radius: PxPct::Px(0.),
45 color: Color::from_rgba8(0, 0, 0, 255),
46 spread: PxPct::Px(0.),
47 h_offset: PxPct::Px(0.),
48 v_offset: PxPct::Px(0.),
49 }
50 }
51}