tailwind_css/systems/css_global/
mod.rs1use std::{
2 cmp::Ordering,
3 collections::{BTreeMap, BTreeSet},
4 fmt::{Debug, Display, Formatter, Write},
5 hash::{Hash, Hasher},
6 ops::{Add, AddAssign},
7};
8
9use itertools::Itertools;
10use xxhash_rust::xxh3::Xxh3;
11
12use crate::{Result, TailwindBuilder, TailwindInstance};
13
14pub use self::{
15 attribute::CssAttributes,
16 important::{ImportantMap, ImportantSet},
17 mode::CssInlineMode,
18};
19pub(crate) use self::{bundle::CssBundle, instance::CssInstance};
20
21mod attribute;
22mod bundle;
23mod important;
24mod instance;
25mod mode;
26
27fn normalize_class_name(f: &mut (dyn Write), name: &str) -> Result<()> {
28 for c in name.chars() {
29 match c {
30 ' ' => write!(f, "_"),
31 r @ ('-' | '_') => write!(f, "{}", r),
32 a if a.is_alphanumeric() => write!(f, "{}", a),
33 _ => write!(f, "\\{}", c),
34 }?
35 }
36 Ok(())
37}