pub(crate) mod divide_color;
pub(crate) mod divide_reverse;
pub(crate) mod divide_style;
pub(crate) mod divide_width;
use super::*;
#[derive(Copy, Clone, Debug, Default)]
pub struct TailwindDivide {}
impl TailwindDivide {
pub fn adapt(pattern: &[&str], arbitrary: &TailwindArbitrary) -> Result<Box<dyn TailwindInstance>> {
let out = match pattern {
["x", "reverse"] => TailwindDivideReverse::from(true).boxed(), ["y", "reverse"] => TailwindDivideReverse::from(false).boxed(),
["x", rest @ ..] => TailwindDivideWidth::parse(rest, arbitrary, true)?.boxed(),
["y", rest @ ..] => TailwindDivideWidth::parse(rest, arbitrary, false)?.boxed(),
[s @ ("solid" | "dashed" | "dotted" | "double" | "hidden" | "none")] => TailwindDivideStyle::from(*s).boxed(),
_ => TailwindDivideColor::parse(pattern, arbitrary)?.boxed(),
};
Ok(out)
}
}