summaryrefslogtreecommitdiffstats
path: root/WebContent/VAADIN/themes/valo/components/_label.scss
blob: e86d017404f7c9e108676f4ecc34757b256f9e7c (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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
$v-font-weight--header:   $v-font-weight - 100 !default;
$v-line-height--header:   1.1             !default;
$v-font-family--header:   null            !default;
$v-font-color--colored:   $v-selection-color !default;

$v-font-size--h1:         2.4em           !default;
$v-font-size--h2:         1.6em           !default;
$v-font-size--h3:         1.2em           !default;
$v-font-size--large:      1.2em           !default;
$v-font-size--small:      0.87em          !default;

$v-font-family--h1:       $v-font-family--header   !default;
$v-font-family--h2:       $v-font-family--header   !default;
$v-font-family--h3:       $v-font-family--header   !default;

$v-letter-spacing--h1:    -0.03em         !default;
$v-letter-spacing--h2:    -0.02em         !default;
$v-letter-spacing--h3:    0               !default;
$v-letter-spacing--h4:    0               !default;


@mixin valo-label ($primary-stylename: v-label, $include-additional-styles: contains($v-included-additional-styles, label)) {

  .#{$primary-stylename} {
    @include user-select(text);
  }

  .#{$primary-stylename}-undef-w {
    white-space: nowrap;
  }

  h1, .#{$primary-stylename}-h1,
  h2, .#{$primary-stylename}-h2,
  h3, .#{$primary-stylename}-h3 {
    line-height: $v-line-height--header;
    font-weight: $v-font-weight--header;
    color: valo-font-color($v-app-background-color, 0.92);
  }

  h1, .#{$primary-stylename}-h1 {
    font-size: $v-font-size--h1;
    margin-top: 1.4em;
    margin-bottom: 1em;
    font-family: $v-font-family--h1;
    letter-spacing: $v-letter-spacing--h1;
  }

  h2, .#{$primary-stylename}-h2 {
    font-size: $v-font-size--h2;
    font-family: $v-font-family--h2;
    margin-top: 1.6em;
    margin-bottom: 0.77em;
    letter-spacing: $v-letter-spacing--h2;
  }

  h3, .#{$primary-stylename}-h3 {
    font-size: $v-font-size--h3;
    font-family: $v-font-family--h3;
    margin-top: 1.8em;
    margin-bottom: 0.77em;
    letter-spacing: $v-letter-spacing--h3;
  }

  h4, .#{$primary-stylename}-h4 {
    line-height: $v-line-height--header;
    font-weight: $v-font-weight + 200;
    font-size: $v-font-size--small;
    color: valo-font-color($v-app-background-color, 0.74);
    text-transform: uppercase;
    letter-spacing: $v-letter-spacing--h4;
    margin-top: 2.4em;
    margin-bottom: 0.8em;
  }

  .v-csslayout {
   > h1,
   > h2,
   > h3,
   > h4
   > .#{$primary-stylename}-h1,
   > .#{$primary-stylename}-h2,
   > .#{$primary-stylename}-h3,
   > .#{$primary-stylename}-h4 {
      &:first-child {
        margin-top: $v-font-size;
      }
    }
  }

  .v-verticallayout > .v-slot:first-child,
  .v-verticallayout > div > .v-slot:first-child {
    h1, .#{$primary-stylename}-h1,
    h2, .#{$primary-stylename}-h2,
    h3, .#{$primary-stylename}-h3,
    h4, .#{$primary-stylename}-h4 {
      margin-top: $v-font-size;
    }
  }

  h1, .#{$primary-stylename}-h1,
  h2, .#{$primary-stylename}-h2,
  h3, .#{$primary-stylename}-h3,
  h4, .#{$primary-stylename}-h4 {
    &.no-margin {
      margin: 0 !important;
    }
  }


  @if $include-additional-styles {

    .#{$primary-stylename}-colored {
      color: $v-font-color--colored;
    }

    .#{$primary-stylename}-large {
      font-size: $v-font-size--large;
    }

    .#{$primary-stylename}-small {
      font-size: $v-font-size--small;
    }

    .#{$primary-stylename}-tiny {
      font-size: $v-font-size--tiny;
    }

    .#{$primary-stylename}-huge {
      font-size: $v-font-size--huge;
    }

    .#{$primary-stylename}-bold {
      font-weight: $v-font-weight + 200;
    }

    .#{$primary-stylename}-light {
      font-weight: $v-font-weight - 100;
      @if $v-font-weight < 400 {
        color: valo-font-color($v-app-background-color, .5);
      }
    }

    .#{$primary-stylename}-align-right {
      text-align: right;
    }

    .#{$primary-stylename}-align-center {
      text-align: center;
    }

    .#{$primary-stylename}-spinner {
      @include valo-spinner;
    }

    .#{$primary-stylename}-success,
    .#{$primary-stylename}-failure {
      background: $v-textfield-background-color;
      color: valo-font-color($v-textfield-background-color);
      border: 2px solid $v-friendly-color;
      border-radius: $v-border-radius;
      padding: round($v-unit-size/5) round($v-unit-size/2) round($v-unit-size/5) round($v-unit-size);
      font-weight: $v-font-weight + 100;
      font-size: round($v-font-size * 0.95);

      &:before {
        font-family: FontAwesome;
        content: "\f00c";
        margin-right: .5em;
        margin-left: round($v-unit-size/-2);
        color: $v-friendly-color;
      }
    }

    .#{$primary-stylename}-failure {
      border-color: $v-error-indicator-color;

      &:before {
        content: "\f05e";
        color: $v-error-indicator-color;
      }
    }
  }

}