Newer
Older
kotlin-css-generator / src / commonMain / kotlin / nl / astraeus / css / properties / Border.kt
rnentjes on 3 Oct 2021 2 KB v. 1.0.0
package nl.astraeus.css.properties

class BorderStyle(
  value: String
) : CssProperty(value) {

  companion object {
    val none = BorderStyle("none")
    val hidden = BorderStyle("hidden")
    val dotted = BorderStyle("dotted")
    val dashed = BorderStyle("dashed")
    val solid = BorderStyle("solid")
    val double = BorderStyle("double")
    val groove = BorderStyle("groove")
    val ridge = BorderStyle("ridge")
    val inset = BorderStyle("inset")
    val outset = BorderStyle("outset")
    val initial = BorderStyle("initial")
    val inherit = BorderStyle("inherit")
  }
}

class BorderWidth(
  value: String
) : CssProperty(value) {

  companion object {
    val thin = BorderWidth("thin")
    val medium = BorderWidth("medium")
    val thick = BorderWidth("thick")
    val initial = BorderWidth("initial")
    val inherit = BorderWidth("inherit")
  }
}

class BorderCollapse(
  value: String
) : CssProperty(value) {

  companion object {
    val separate = BorderCollapse("separate")
    val collapse = BorderCollapse("collapse")
  }
}

class BorderImageWidth(
  value: String
) : CssProperty(value) {

  companion object {
    fun px(nr: Int) = BorderImageWidth("${nr}px")
    fun nr(nr: Int) = BorderImageWidth("$nr")
    fun perc(nr: Int) = BorderImageWidth("${nr}%")
    fun perc(nr: Double) = BorderImageWidth("${nr}%")
    val auto = BorderImageWidth("auto")
    val initial = BorderImageWidth("initial")
    val inherit = BorderImageWidth("inherit")
  }
}

class BorderSpacing(
  value: String
) : CssProperty(value) {

  companion object {
    fun px(nr: Int) = BorderSpacing("${nr}px")
    fun em(nr: Int) = BorderSpacing("${nr}em")
    fun em(nr: Double) = BorderSpacing("${nr}em")
    fun perc(nr: Int) = BorderSpacing("${nr}%")
    fun perc(nr: Double) = BorderSpacing("${nr}%")
    fun pc(nr: Int) = BorderSpacing("${nr}pc")
    fun pc(nr: Double) = BorderSpacing("${nr}pc")
    fun cm(nr: Int) = BorderSpacing("${nr}cm")
    fun cm(nr: Double) = BorderSpacing("${nr}cm")
    val initial = BorderSpacing("initial")
    val inherit = BorderSpacing("inherit")
  }
}