tailwind_css_fixes/modules/typography/indent/
mod.rs1use crate::UnitValue;
2
3use super::*;
4
5#[doc=include_str!("readme.md")]
6#[derive(Debug, Clone)]
7pub struct TailwindIndent {
8 kind: UnitValue,
9}
10
11impl Display for TailwindIndent {
12 fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
13 self.kind.write_class(f, "indent-")
14 }
15}
16
17impl TailwindInstance for TailwindIndent {
18 fn attributes(&self, _: &TailwindBuilder) -> CssAttributes {
19 let indent = self.kind.get_properties(|f| format!("{}rem", f / 4.0));
20 css_attributes! {
21 "text-indent" => indent
22 }
23 }
24}
25
26impl TailwindIndent {
27 pub fn parse(pattern: &[&str], arbitrary: &TailwindArbitrary) -> Result<Self> {
29 let kind = match pattern {
30 ["px"] => UnitValue::px(1.0),
31 _ => UnitValue::positive_parser("id", Self::check_valid, true, false, false)(pattern, arbitrary)?,
32 };
33 Ok(Self { kind })
34 }
35 pub fn check_valid(mode: &str) -> bool {
37 ["inherit", "initial", "revert", "unset"].contains(&mode)
38 }
39}