tailwind_css_fixes/modules/typography/text/
mod.rs

1use super::*;
2
3pub(crate) mod text_align;
4pub(crate) mod text_color;
5pub(crate) mod text_overflow;
6pub(crate) mod text_transform;
7
8pub fn text_adaptor(pattern: &[&str], arbitrary: &TailwindArbitrary) -> Result<Box<dyn TailwindInstance>> {
9    let out = match pattern {
10        // https://tailwindcss.com/docs/text-align
11        [s @ ("left" | "center" | "right" | "justify" | "start" | "end")] => TailwindTextAlignment::from(*s).boxed(),
12        ["align", rest @ ..] => TailwindTextAlignment::parse(rest, arbitrary)?.boxed(),
13        // https://tailwindcss.com/docs/text-overflow
14        [s @ ("ellipsis" | "clip")] => TailwindTextAlignment::from(*s).boxed(),
15        ["overflow", rest @ ..] => TailwindTextAlignment::parse(rest, arbitrary)?.boxed(),
16        // https://tailwindcss.com/docs/text-transform
17        ["transform", rest @ ..] => TailwindTextTransform::parse(rest, arbitrary)?.boxed(),
18        // https://tailwindcss.com/docs/font-size  Built-in
19        [_s @ ("xs" | "sm" | "base" | "md" | "lg" | "xl" | "2xl" | "3xl" | "4xl" | "5xl" | "6xl" | "7xl" | "8xl" | "9xl")] =>
20            TailwindFontSize::parse(pattern, arbitrary)?.boxed(),
21        // https://tailwindcss.com/docs/font-size  Arbitrary 
22        [] => TailwindFontSize::parse(pattern, arbitrary)?.boxed(),
23        // https://tailwindcss.com/docs/text-color
24        _ => {
25            let color = TailwindColor::parse(pattern, arbitrary)?;
26            TailwindTextColor::from(color).boxed()
27        },
28    };
29    Ok(out)
30}