use super::*;
pub(crate) mod mask_image;
#[inline]
pub(crate) fn mask_adaptor(pattern: &[&str], arbitrary: &TailwindArbitrary, neg: Negative) -> Result<Box<dyn TailwindInstance>> {
let out = match pattern {
["none"] | ["linear" | "radial" | "conic", ..] => {
TailwindMaskImage::parse(pattern, arbitrary, neg)?.boxed()
}
[] => { if arbitrary.as_str().contains("gradient(") {
TailwindMaskImage::parse(pattern, arbitrary, neg)?.boxed()
} else {
return syntax_error!("Unsupported arbitrary mask value: {}", arbitrary.as_str());
}
}
_ => return syntax_error!("Unknown mask pattern: mask-{}", pattern.join("-")),
};
Ok(out)
}