vertical and horizontal in margins

This commit is contained in:
InsanusMokrassar 2022-02-17 15:16:30 +06:00
parent fc2fb24fce
commit d4d0adf020
2 changed files with 32 additions and 12 deletions

View File

@ -3,6 +3,7 @@
## 0.0.36 ## 0.0.36
* Reorder arguments in `DefaultComment` fun * Reorder arguments in `DefaultComment` fun
* Add `Vertical` and `Horizontal` members in margins
## 0.0.35 ## 0.0.35

View File

@ -1,68 +1,87 @@
package dev.inmo.jsuikit.modifiers package dev.inmo.jsuikit.modifiers
sealed class UIKitMargin(val classname: String) : UIKitModifier { sealed class UIKitMargin(vararg classnames: String) : UIKitModifier {
override val classes: Array<String> = arrayOf(classname) @Suppress("UNCHECKED_CAST")
override val classes: Array<String> = classnames as Array<String>
object Top : Small("uk-margin-top") object Top : UIKitMargin("uk-margin-top")
object Bottom : Small("uk-margin-bottom") object Bottom : UIKitMargin("uk-margin-bottom")
object Left : Small("uk-margin-left") object Left : UIKitMargin("uk-margin-left")
object Right : Small("uk-margin-right") object Right : UIKitMargin("uk-margin-right")
object Vertical : UIKitMargin() { override val classes: Array<String> = Top.classes + Bottom.classes }
object Horizontal : UIKitMargin() { override val classes: Array<String> = Left.classes + Right.classes }
companion object : Small("uk-margin") companion object : Small("uk-margin")
sealed class Small(classname: String) : UIKitMargin(classname) { sealed class Small(vararg classnames: String) : UIKitMargin(*classnames) {
object Top : Small("uk-margin-small-top") object Top : Small("uk-margin-small-top")
object Bottom : Small("uk-margin-small-bottom") object Bottom : Small("uk-margin-small-bottom")
object Left : Small("uk-margin-small-left") object Left : Small("uk-margin-small-left")
object Right : Small("uk-margin-small-right") object Right : Small("uk-margin-small-right")
object Vertical : Small() {
override val classes: Array<String> = Top.classes + Bottom.classes
}
object Horizontal : Small() {
override val classes: Array<String> = Left.classes + Right.classes
}
companion object : Small("uk-margin-small") companion object : Small("uk-margin-small")
} }
sealed class Medium(classname: String) : UIKitMargin(classname) { sealed class Medium(vararg classnames: String) : UIKitMargin(*classnames) {
object Top : Medium("uk-margin-medium-top") object Top : Medium("uk-margin-medium-top")
object Bottom : Medium("uk-margin-medium-bottom") object Bottom : Medium("uk-margin-medium-bottom")
object Left : Medium("uk-margin-medium-left") object Left : Medium("uk-margin-medium-left")
object Right : Medium("uk-margin-medium-right") object Right : Medium("uk-margin-medium-right")
object Vertical : Medium() { override val classes: Array<String> = Top.classes + Bottom.classes }
object Horizontal : Medium() { override val classes: Array<String> = Left.classes + Right.classes }
companion object : Medium("uk-margin-medium") companion object : Medium("uk-margin-medium")
} }
sealed class Large(classname: String) : UIKitMargin(classname) { sealed class Large(vararg classnames: String) : UIKitMargin(*classnames) {
object Top : Large("uk-margin-large-top") object Top : Large("uk-margin-large-top")
object Bottom : Large("uk-margin-large-bottom") object Bottom : Large("uk-margin-large-bottom")
object Left : Large("uk-margin-large-left") object Left : Large("uk-margin-large-left")
object Right : Large("uk-margin-large-right") object Right : Large("uk-margin-large-right")
object Vertical : Large() { override val classes: Array<String> = Top.classes + Bottom.classes }
object Horizontal : Large() { override val classes: Array<String> = Left.classes + Right.classes }
companion object : Large("uk-margin-large") companion object : Large("uk-margin-large")
} }
sealed class XLarge(classname: String) : UIKitMargin(classname) { sealed class XLarge(vararg classnames: String) : UIKitMargin(*classnames) {
object Top : XLarge("uk-margin-xlarge-top") object Top : XLarge("uk-margin-xlarge-top")
object Bottom : XLarge("uk-margin-xlarge-bottom") object Bottom : XLarge("uk-margin-xlarge-bottom")
object Left : XLarge("uk-margin-xlarge-left") object Left : XLarge("uk-margin-xlarge-left")
object Right : XLarge("uk-margin-xlarge-right") object Right : XLarge("uk-margin-xlarge-right")
object Vertical : XLarge() { override val classes: Array<String> = Top.classes + Bottom.classes }
object Horizontal : XLarge() { override val classes: Array<String> = Left.classes + Right.classes }
companion object : XLarge("uk-margin-xlarge") companion object : XLarge("uk-margin-xlarge")
} }
sealed class Auto(classname: String) : UIKitMargin(classname) { sealed class Auto(vararg classnames: String) : UIKitMargin(*classnames) {
object Top : Auto("uk-margin-auto-top") object Top : Auto("uk-margin-auto-top")
object Bottom : Auto("uk-margin-auto-bottom") object Bottom : Auto("uk-margin-auto-bottom")
object Left : Auto("uk-margin-auto-left") object Left : Auto("uk-margin-auto-left")
object Right : Auto("uk-margin-auto-right") object Right : Auto("uk-margin-auto-right")
object Vertical : Auto("uk-margin-auto-vertical") object Vertical : Auto("uk-margin-auto-vertical")
object Horizontal : Auto() { override val classes: Array<String> = Left.classes + Right.classes }
companion object : Auto("uk-margin-auto") companion object : Auto("uk-margin-auto")
} }
sealed class Remove(classname: String) : UIKitMargin(classname) { sealed class Remove(vararg classnames: String) : UIKitMargin(*classnames) {
object Top : Remove("uk-margin-remove-top") object Top : Remove("uk-margin-remove-top")
object Bottom : Remove("uk-margin-remove-bottom") object Bottom : Remove("uk-margin-remove-bottom")
object Left : Remove("uk-margin-remove-left") object Left : Remove("uk-margin-remove-left")
object Right : Remove("uk-margin-remove-right") object Right : Remove("uk-margin-remove-right")
object Vertical : Remove("uk-margin-remove-vertical") object Vertical : Remove("uk-margin-remove-vertical")
object Horizontal : Remove() { override val classes: Array<String> = Left.classes + Right.classes }
object Adjacent : Remove("uk-margin-remove-adjacent") object Adjacent : Remove("uk-margin-remove-adjacent")
object FirstChild : Remove("uk-margin-remove-first-child") object FirstChild : Remove("uk-margin-remove-first-child")
object LastChild : Remove("uk-margin-remove-last-child") object LastChild : Remove("uk-margin-remove-last-child")