tailwind_css/systems/css_global/
mod.rs

1use 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}