use super::types::CssProperty;
use super::parsers::{
GridTemplateColumnsParser, GridColumnParser, GridTemplateRowsParser, GridRowParser,
GridAutoFlowParser, GridAutoColumnsParser, GridAutoRowsParser, GapParser,
JustifyContentParser, JustifyItemsParser, JustifySelfParser, AlignContentParser,
AlignItemsParser, AlignSelfParser, PlaceContentParser, PlaceItemsParser,
PlaceSelfParser
};
pub trait GridParsers {
fn parse_grid_template_columns_class(&self, class: &str) -> Option<Vec<CssProperty>>;
fn parse_grid_column_class(&self, class: &str) -> Option<Vec<CssProperty>>;
fn parse_grid_template_rows_class(&self, class: &str) -> Option<Vec<CssProperty>>;
fn parse_grid_row_class(&self, class: &str) -> Option<Vec<CssProperty>>;
fn parse_grid_auto_flow_class(&self, class: &str) -> Option<Vec<CssProperty>>;
fn parse_grid_auto_columns_class(&self, class: &str) -> Option<Vec<CssProperty>>;
fn parse_grid_auto_rows_class(&self, class: &str) -> Option<Vec<CssProperty>>;
fn parse_gap_class(&self, class: &str) -> Option<Vec<CssProperty>>;
fn parse_justify_content_class(&self, class: &str) -> Option<Vec<CssProperty>>;
fn parse_justify_items_class(&self, class: &str) -> Option<Vec<CssProperty>>;
fn parse_justify_self_class(&self, class: &str) -> Option<Vec<CssProperty>>;
fn parse_align_content_class(&self, class: &str) -> Option<Vec<CssProperty>>;
fn parse_align_items_class(&self, class: &str) -> Option<Vec<CssProperty>>;
fn parse_align_self_class(&self, class: &str) -> Option<Vec<CssProperty>>;
fn parse_place_content_class(&self, class: &str) -> Option<Vec<CssProperty>>;
fn parse_place_items_class(&self, class: &str) -> Option<Vec<CssProperty>>;
fn parse_place_self_class(&self, class: &str) -> Option<Vec<CssProperty>>;
}
impl GridParsers for super::CssGenerator {
fn parse_grid_template_columns_class(&self, class: &str) -> Option<Vec<CssProperty>> {
use super::parsers::UtilityParser;
let parser = GridTemplateColumnsParser::new();
parser.parse_class(class)
}
fn parse_grid_column_class(&self, class: &str) -> Option<Vec<CssProperty>> {
use super::parsers::UtilityParser;
let parser = GridColumnParser::new();
parser.parse_class(class)
}
fn parse_grid_template_rows_class(&self, class: &str) -> Option<Vec<CssProperty>> {
use super::parsers::UtilityParser;
let parser = GridTemplateRowsParser::new();
parser.parse_class(class)
}
fn parse_grid_row_class(&self, class: &str) -> Option<Vec<CssProperty>> {
use super::parsers::UtilityParser;
let parser = GridRowParser::new();
parser.parse_class(class)
}
fn parse_grid_auto_flow_class(&self, class: &str) -> Option<Vec<CssProperty>> {
use super::parsers::UtilityParser;
let parser = GridAutoFlowParser::new();
parser.parse_class(class)
}
fn parse_grid_auto_columns_class(&self, class: &str) -> Option<Vec<CssProperty>> {
use super::parsers::UtilityParser;
let parser = GridAutoColumnsParser::new();
parser.parse_class(class)
}
fn parse_grid_auto_rows_class(&self, class: &str) -> Option<Vec<CssProperty>> {
use super::parsers::UtilityParser;
let parser = GridAutoRowsParser::new();
parser.parse_class(class)
}
fn parse_gap_class(&self, class: &str) -> Option<Vec<CssProperty>> {
use super::parsers::UtilityParser;
let parser = GapParser::new();
parser.parse_class(class)
}
fn parse_justify_content_class(&self, class: &str) -> Option<Vec<CssProperty>> {
use super::parsers::UtilityParser;
let parser = JustifyContentParser::new();
parser.parse_class(class)
}
fn parse_justify_items_class(&self, class: &str) -> Option<Vec<CssProperty>> {
use super::parsers::UtilityParser;
let parser = JustifyItemsParser::new();
parser.parse_class(class)
}
fn parse_justify_self_class(&self, class: &str) -> Option<Vec<CssProperty>> {
use super::parsers::UtilityParser;
let parser = JustifySelfParser::new();
parser.parse_class(class)
}
fn parse_align_content_class(&self, class: &str) -> Option<Vec<CssProperty>> {
use super::parsers::UtilityParser;
let parser = AlignContentParser::new();
parser.parse_class(class)
}
fn parse_align_items_class(&self, class: &str) -> Option<Vec<CssProperty>> {
use super::parsers::UtilityParser;
let parser = AlignItemsParser::new();
parser.parse_class(class)
}
fn parse_align_self_class(&self, class: &str) -> Option<Vec<CssProperty>> {
use super::parsers::UtilityParser;
let parser = AlignSelfParser::new();
parser.parse_class(class)
}
fn parse_place_content_class(&self, class: &str) -> Option<Vec<CssProperty>> {
use super::parsers::UtilityParser;
let parser = PlaceContentParser::new();
parser.parse_class(class)
}
fn parse_place_items_class(&self, class: &str) -> Option<Vec<CssProperty>> {
use super::parsers::UtilityParser;
let parser = PlaceItemsParser::new();
parser.parse_class(class)
}
fn parse_place_self_class(&self, class: &str) -> Option<Vec<CssProperty>> {
use super::parsers::UtilityParser;
let parser = PlaceSelfParser::new();
parser.parse_class(class)
}
}