use crate::*;
pub(crate) struct ClassParam {
pub(crate) name: Ident,
pub(crate) ty: Type,
}
pub(crate) struct PseudoBlock {
pub(crate) selector: String,
pub(crate) properties: Vec<(String, ClassPropValue)>,
}
pub(crate) struct MediaBlock {
pub(crate) query: String,
pub(crate) properties: Vec<(String, ClassPropValue)>,
}
pub(crate) struct ClassDef {
pub(crate) visibility: Visibility,
pub(crate) name: Ident,
pub(crate) params: Option<Vec<ClassParam>>,
pub(crate) properties: Vec<(String, ClassPropValue)>,
pub(crate) pseudo_blocks: Vec<PseudoBlock>,
pub(crate) media_blocks: Vec<MediaBlock>,
}
pub(crate) struct ClassInput {
pub(crate) classes: Vec<ClassDef>,
}