Files
kotlin-css-generator/src/commonMain/kotlin/nl/astraeus/css/properties/Grid.kt

73 lines
1.4 KiB
Kotlin

package nl.astraeus.css.properties
class Grid(
value: String
) : CssProperty(value) {
companion object {
val none = Grid("none")
val initial = Grid("initial")
val inherit = Grid("inherit")
}
}
class GridAuto(
value: String
) : CssProperty(value) {
companion object {
val auto = GridAuto("auto")
val maxContent = GridAuto("max-content")
val minContent = GridAuto("min-content")
}
}
class GridFlow(
value: String
) : CssProperty(value) {
companion object {
val row = GridFlow("row")
val column = GridFlow("column")
val dense = GridFlow("dense")
val rowDense = GridFlow("row dense")
val columnDense = GridFlow("column dense")
}
}
class GridValue(
value: String
) : CssProperty(value) {
companion object {
val auto = GridValue("auto")
fun span(column: Int) = GridValue("span $column")
fun column(line: Int) = GridValue("$line")
fun row(line: Int) = GridValue("$line")
}
}
class TemplateRowColumn(
value: String
) : CssProperty(value) {
companion object {
val none = TemplateRowColumn("none")
val auto = TemplateRowColumn("auto")
val maxContent = TemplateRowColumn("max-content")
val minContent = TemplateRowColumn("min-content")
val initial = TemplateRowColumn("initial")
val inherit = TemplateRowColumn("inherit")
fun length(length: Measurement) = TemplateRowColumn(length.value)
}
}