summaryrefslogtreecommitdiff
path: root/src/jsMain/kotlin/moe/nea89/website/Styles.kt
blob: e1470d73eeed0b4cff6ddf89a63e538463e659b6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
package moe.nea89.website

import kotlinx.css.*
import kotlinx.css.properties.IterationCount
import kotlinx.css.properties.Timing
import kotlinx.css.properties.s
import styled.StyleSheet
import styled.animation


object Styles : StyleSheet("DefaultConsoleStyles") {
    val consoleClass = "Console"
    val promptClass = "prompt"

    val bgColor = CustomColor.BLACK.color
    val fgColor = CustomColor.WHITE.color
    val monospacedFont = "monospace"

    val global by css {
        "*" {
            padding(0.px)
            margin(0.px)
            boxSizing = BoxSizing.borderBox
        }

        ".$promptClass" {
            width = LinearDimension.fitContent
            borderRightColor = fgColor
            borderRightWidth = 2.px
            paddingRight = 2.px
            borderRightStyle = BorderStyle.solid
            animation(1.s, Timing.stepStart, iterationCount = IterationCount.infinite) {
                0 {
                    borderRightStyle = BorderStyle.solid
                }
                50 {
                    borderRightStyle = BorderStyle.none
                }
            }
        }

        ".$consoleClass" {
            width = 100.pct
            height = 100.pct
            backgroundColor = bgColor
            color = fgColor
            fontFamily = monospacedFont
            width = 100.pct
            height = 100.pct
            pre {
                fontFamily = monospacedFont
            }
        }
    }
}