@ihk-gfi/lux-components-theme 14.3.0 → 14.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,19 +4,19 @@
4
4
  @use "../luxcommon";
5
5
  @use "../luxpalette";
6
6
 
7
-
8
-
9
7
  @mixin crop {
10
8
  overflow: hidden;
11
9
  white-space: nowrap;
12
10
  text-overflow: ellipsis;
13
11
  }
12
+
14
13
  @mixin form-label {
15
14
  min-height: 1.2em;
16
15
  font-size: 0.75em;
17
16
  line-height: 1.2em;
18
17
  color: luxcommon.$dark-secondary-text;
19
18
  }
19
+
20
20
  lux-form-control-wrapper {
21
21
  width: 100%;
22
22
 
@@ -26,7 +26,7 @@ lux-form-control-wrapper {
26
26
  font-size: luxcommon.$form-control-font-size;
27
27
  color: luxcommon.$dark-primary-text;
28
28
  margin: 0.25em 0;
29
-
29
+
30
30
  .lux-form-control-label-authentic {
31
31
  @include form-label;
32
32
  color: map.get(luxpalette.$lux-palette_primary, 500);
@@ -42,7 +42,7 @@ lux-form-control-wrapper {
42
42
  }
43
43
  }
44
44
  }
45
-
45
+
46
46
  .lux-form-control-container-authentic {
47
47
  box-sizing: border-box;
48
48
  padding: 0.75em 0.5em;
@@ -60,26 +60,26 @@ lux-form-control-wrapper {
60
60
  padding: 0.75em 0em;
61
61
  }
62
62
  }
63
-
63
+
64
64
  .lux-form-control-misc-authentic {
65
65
  box-sizing: border-box;
66
66
  margin: 0.25em calc(0.5em + 1px) 0 calc(0.5em + 1px);
67
-
67
+
68
68
  @include form-label;
69
69
  word-wrap: break-word;
70
-
70
+
71
71
  .lux-form-control-character-counter-authentic {
72
72
  min-width: 40px;
73
73
  margin-left: 2px;
74
74
  color: luxcommon.$dark-secondary-text !important;
75
75
  text-align: end;
76
-
76
+
77
77
  &:only-child {
78
78
  width: 100%;
79
79
  }
80
80
  }
81
81
  }
82
-
82
+
83
83
  // zusätzlicher Container für Elemente, die einen input-prefix/input-suffix haben
84
84
  // aktuell: lux-autocomplete-ac und lux-input-ac
85
85
  .lux-input-row-authentic {
@@ -92,8 +92,7 @@ lux-form-control-wrapper {
92
92
  white-space: nowrap;
93
93
  display: inline-block;
94
94
  max-height: 1.5em;
95
-
96
-
95
+
97
96
  lux-icon {
98
97
  i {
99
98
  padding: 0 !important;
@@ -110,37 +109,43 @@ lux-form-control-wrapper {
110
109
  }
111
110
  }
112
111
  }
113
-
114
112
  }
115
113
  }
116
-
114
+
115
+ &.lux-dense-authentic {
116
+ margin: 0;
117
+ .lux-form-control-container-authentic {
118
+ padding: 0.375em 0.5em;
119
+ &.lux-no-input-row {
120
+ padding: 0.375em 0em;
121
+ }
122
+ }
123
+ }
124
+
117
125
  // Definitionen der einzelnen States der Form-Controls
118
126
  &:hover:not(.lux-form-control-disabled-authentic):not(.lux-focused-authentic):not(.lux-form-control-error-authentic) {
119
127
  .lux-form-control-container-authentic:not(.lux-no-input-row) {
120
- border-color: black;
121
- box-shadow: 0 0 0 1px black inset;
128
+ border-color: luxcommon.$dark-primary-text;
122
129
  }
123
130
  }
124
- &.lux-focused-authentic{
131
+ &.lux-focused-authentic {
125
132
  .lux-form-control-label-authentic > * {
126
133
  color: map.get(luxpalette.$lux-palette_primary, 400);
127
134
  }
128
135
  .lux-form-control-container-authentic:not(.lux-no-input-row) {
129
136
  border-color: map.get(luxpalette.$lux-palette_primary, 500);
130
- box-shadow: 0 0 0 1px map.get(luxpalette.$lux-palette_primary, 500) inset;
137
+ box-shadow: 0 0 0 1px map.get(luxpalette.$lux-palette_primary, 500) inset;
131
138
  }
132
139
  }
133
-
134
140
  &.lux-form-control-error-authentic:not(.lux-form-control-disabled-authentic) {
135
141
  .lux-form-control-label-authentic > * {
136
142
  color: map.get(luxpalette.$lux-palette_warn, 500);
137
143
  }
138
144
  .lux-form-control-container-authentic:not(.lux-no-input-row) {
139
145
  border-color: map.get(luxpalette.$lux-palette_warn, 500);
140
- box-shadow: 0 0 0 1px map.get(luxpalette.$lux-palette_warn, 500) inset;
146
+ box-shadow: 0 0 0 1px map.get(luxpalette.$lux-palette_warn, 500) inset;
141
147
  }
142
148
  }
143
-
144
149
  &.lux-form-control-disabled-authentic {
145
150
  .lux-form-control-container-authentic,
146
151
  .lux-form-control-label-authentic,
@@ -148,18 +153,15 @@ lux-form-control-wrapper {
148
153
  color: luxcommon.$dark-disabled-text;
149
154
  }
150
155
  }
151
-
152
- &.lux-form-control-readonly-authentic,
156
+ &.lux-form-control-readonly-authentic,
153
157
  &.lux-form-control-disabled-authentic {
154
158
  pointer-events: none;
155
159
  }
156
-
157
-
158
160
  }
159
161
 
160
162
  /* Change Autocomplete styles in Chrome*/
161
163
  input:-webkit-autofill,
162
- input:-webkit-autofill:hover,
164
+ input:-webkit-autofill:hover,
163
165
  input:-webkit-autofill:focus,
164
166
  textarea:-webkit-autofill,
165
167
  textarea:-webkit-autofill:hover,
@@ -9,19 +9,19 @@
9
9
  /*
10
10
  * Theming for LUX-Select
11
11
  */
12
- lux-select-ac, lux-lookup-combobox-ac {
13
-
12
+ lux-select-ac,
13
+ lux-lookup-combobox-ac {
14
14
  mat-select {
15
15
  font-family: luxcommon.$app-font-family;
16
- height: calc( 1.5em - 1px) !important;
16
+ height: calc(1.5em - 1px) !important;
17
17
  // bisher noch nicht klar, warum das mat-select einen Pixel an Höhe mehr beansprucht, als es tatsächlich Hoch ist
18
18
  // daher wird hier die Höhe korrigiert, damit die Baseline eingehalten ist
19
19
 
20
- .mat-select-arrow-wrapper{
20
+ .mat-select-arrow-wrapper {
21
21
  margin-left: 2px;
22
22
  height: 24px;
23
23
  width: 24px;
24
-
24
+
25
25
  .mat-select-arrow {
26
26
  border: none;
27
27
  width: 100%;
@@ -38,7 +38,7 @@
38
38
  mask-size: cover;
39
39
  }
40
40
  }
41
-
41
+
42
42
  &[aria-disabled="true"] .mat-select-arrow {
43
43
  background-color: luxcommon.$dark-disabled-text;
44
44
  }
@@ -59,24 +59,26 @@
59
59
  font-family: luxcommon.$app-font-family;
60
60
  }
61
61
  .mat-autocomplete-panel.lux-autocomplete-panel-ac,
62
+ .mat-autocomplete-panel.lux-autocomplete-panel-dense-ac,
62
63
  .mat-select-panel.lux-select-panel-ac,
63
64
  .mat-select-panel.lux-select-panel-ac-multiple {
64
65
  border: 2px solid luxpalette.$lux-primary-color;
65
66
  border-radius: 4px;
66
67
  box-shadow: none !important;
67
-
68
+
68
69
  .mat-pseudo-checkbox {
69
70
  color: luxpalette.$lux-primary-color;
70
71
  }
71
72
  }
72
73
 
73
- .mat-autocomplete-panel.lux-autocomplete-panel-ac {
74
+ .mat-autocomplete-panel.lux-autocomplete-panel-ac,
75
+ .mat-autocomplete-panel.lux-autocomplete-panel-dense-ac {
74
76
  min-width: calc(100% + 14px) !important;
75
77
  max-width: calc(100% + 14px) !important;
76
- margin: 13px -9px;
77
- border: 2px solid luxpalette.$lux-primary-color;
78
- border-radius: 4px;
79
- box-shadow: none !important;
78
+ margin: 13px -9px 0px;
79
+ }
80
+ .mat-autocomplete-panel.lux-autocomplete-panel-dense-ac {
81
+ margin-top: 7px;
80
82
  }
81
83
  }
82
84
 
@@ -104,9 +106,12 @@ lux-checkbox-ac {
104
106
  // die Checkbox soll größer sein, als von Material vorgegeben
105
107
  width: 1.25em;
106
108
  height: 1.25em;
107
- margin-top: 3px;
108
- //bei mehrzeiligen Labels wird die Checkbox oben und nicht zentriert angezeigt
109
- //dieses wird von material über das Margin gelöst und nicht über align-items o.ä.
109
+ margin-top: 0.125em;
110
+ .mat-checkbox-frame {
111
+ border-color: luxpalette.$lux-primary-color;
112
+ }
113
+ //bei mehrzeiligen Labels soll die Checkbox oben und nicht zentriert angezeigt werden
114
+ //Deswegen wird hier das Margin-top: auto überschrieben
110
115
  //da wir die Größe der Box geändert haben mussten wir das Margin ebenfalls anpassen
111
116
  .mat-checkbox-frame {
112
117
  border-color: luxpalette.$lux-primary-color;
@@ -123,7 +128,8 @@ lux-checkbox-ac {
123
128
  }
124
129
  }
125
130
 
126
- lux-datepicker-ac, lux-datetimepicker-ac {
131
+ lux-datepicker-ac,
132
+ lux-datetimepicker-ac {
127
133
  mat-datepicker-toggle {
128
134
  height: 24px !important;
129
135
  width: 24px !important;
@@ -134,7 +140,8 @@ lux-datepicker-ac, lux-datetimepicker-ac {
134
140
  line-height: 1.5;
135
141
  font-size: inherit;
136
142
 
137
- lux-icon.lux-datepicker-toggle-icon, mat-icon.mat-icon {
143
+ lux-icon.lux-datepicker-toggle-icon,
144
+ mat-icon.mat-icon {
138
145
  height: 24px !important;
139
146
  width: 24px !important;
140
147
  padding: 0px !important;
@@ -152,7 +159,7 @@ lux-datepicker-ac, lux-datetimepicker-ac {
152
159
  .lux-datetimepicker-overlay .mat-card.lux-card {
153
160
  border: 2px solid luxpalette.$lux-primary-color;
154
161
  box-shadow: none !important;
155
- margin: 13px -9px;
162
+ margin: 13px -9px 0;
156
163
 
157
164
  & .mat-calendar-header button:hover {
158
165
  background-color: #fff !important;
@@ -169,7 +176,9 @@ lux-toggle-ac {
169
176
  color: luxcommon.$dark-primary-text;
170
177
  font-family: luxcommon.$app-font-family;
171
178
  }
172
-
179
+ &.mat-checked .mat-slide-toggle-bar {
180
+ background-color: map-get(luxpalette.$lux-palette_primary, 50);
181
+ }
173
182
  .mat-slide-toggle-thumb {
174
183
  @include luxelevations.lux-elevation-z1;
175
184
  }
@@ -185,7 +194,7 @@ lux-toggle-ac {
185
194
  }
186
195
 
187
196
  .mat-slide-toggle-thumb {
188
- background-color: #666666 ;
197
+ background-color: #666666;
189
198
  // $dark-secondary-text als Hex ohne Transparenz
190
199
  }
191
200
  }
@@ -204,9 +213,13 @@ lux-toggle-ac {
204
213
  * Theming for LUX-Radio
205
214
  */
206
215
  lux-radio-ac {
207
- // damit ist der Focus-Indicator rund, wie bei Toggle-Thumb und Chips
208
216
  .mat-radio-container {
217
+ // damit ist der Focus-Indicator rund, wie bei Toggle-Thumb und Chips
209
218
  border-radius: 50%;
219
+
220
+ span.mat-radio-outer-circle {
221
+ border-color: luxpalette.$lux-primary-color;
222
+ }
210
223
  }
211
224
  .mat-radio-label {
212
225
  color: luxcommon.$dark-primary-text;
@@ -214,7 +227,6 @@ lux-radio-ac {
214
227
  }
215
228
 
216
229
  .mat-radio-checked {
217
-
218
230
  &.mat-radio-disabled label .mat-radio-container {
219
231
  span.mat-radio-inner-circle {
220
232
  background-color: luxcommon.$dark-disabled-text;
@@ -226,6 +238,10 @@ lux-radio-ac {
226
238
  }
227
239
  }
228
240
 
241
+ .mat-radio-group.lux-horizontal {
242
+ row-gap: 0.75em;
243
+ }
244
+
229
245
  .mat-radio-disabled label.mat-radio-label {
230
246
  .mat-radio-label-content {
231
247
  color: luxcommon.$dark-disabled-text;
@@ -247,7 +263,8 @@ lux-radio-ac {
247
263
  * Theming for LUX-Input/LUX-Textarea
248
264
  */
249
265
  // Umstylen des Standard-Aussehens von Inputs/Textareas
250
- input, input.mat-input-element,
266
+ input,
267
+ input.mat-input-element,
251
268
  textarea {
252
269
  font: inherit;
253
270
  background: 0 0;
@@ -262,12 +279,14 @@ textarea {
262
279
  text-align: inherit;
263
280
  font-size: luxcommon.$form-control-font-size;
264
281
  }
265
-
282
+ lux-textarea-ac text-area {
283
+ line-height: normal;
284
+ }
266
285
 
267
286
  /**
268
287
  * Theming für LUX-Chips
269
288
  */
270
- lux-chips-ac {
289
+ lux-chips-ac {
271
290
  .lux-chips-autocomplete-icon {
272
291
  color: var(--lux-theme-primary-500);
273
292
  font-size: 24px;
@@ -312,9 +331,10 @@ textarea {
312
331
  }
313
332
  }
314
333
  }
315
- }
316
- .lux-chips-ac-autocomplete-panel.mat-autocomplete-panel {
317
- margin-top: -21px;
334
+ }
335
+ .lux-chips-ac-autocomplete-panel.mat-autocomplete-panel,
336
+ .lux-chips-ac-autocomplete-panel-dense.mat-autocomplete-panel {
337
+ margin-top: -22px;
318
338
  margin-left: 0;
319
339
  margin-right: 0;
320
340
  border-radius: 4px;
@@ -322,6 +342,9 @@ textarea {
322
342
  box-shadow: none !important;
323
343
  border: 2px solid luxpalette.$lux-primary-color;
324
344
  }
345
+ .lux-chips-ac-autocomplete-panel-dense.mat-autocomplete-panel {
346
+ margin-top: -18px;
347
+ }
325
348
 
326
349
  /*
327
350
  * Theming for LUX-Slider
@@ -3,59 +3,73 @@
3
3
  @use "../luxcommon";
4
4
  @use "../luxpalette";
5
5
 
6
-
7
6
  lux-link-plain {
7
+ display: inline-flex;
8
+ align-items: baseline;
8
9
  .link-wrapper {
9
- display: inline-block;
10
+ display: flex;
11
+ gap: 0.25em;
12
+ align-items: baseline;
10
13
  font-family: inherit;
11
- font-size: inherit;
12
- font-weight: inherit;
13
- color: map.get(luxpalette.$lux-palette-primary, A700);
14
-
15
14
  .lux-link-plain-text {
16
- text-decoration: none;
15
+ font-family: inherit;
16
+ font-size: inherit;
17
+ font-weight: inherit;
18
+ text-decoration: inherit;
19
+ color: inherit;
20
+ display: flex;
17
21
  }
18
22
 
19
23
  lux-icon {
20
24
  font-size: inherit;
21
- vertical-align: middle;
22
- line-height: 1;
23
- i, mat-icon {
24
- color: map.get(luxpalette.$lux-palette-primary, A700);
25
- padding: 0 !important;
26
- }
25
+ display: flex;
26
+ mat-icon.mat-icon.lux-lx-icon-no-size {
27
+ padding: 0px !important;
28
+ width: 0.8em;
29
+ height: 0.8em;
30
+ overflow: visible;
31
+ }
27
32
  }
28
33
 
29
- &.lux-disabled {
30
- color: luxcommon.$dark-disabled-text;
31
- cursor: text;
32
- lux-icon {
33
- i, mat-icon {
34
- color: luxcommon.$dark-disabled-text;
35
- }
36
- }
34
+ &:focus-visible:not(.lux-disabled) {
35
+ @include luxfocus.focus-dark-mixin;
36
+ border-radius: 2px;
37
37
  }
38
+ }
38
39
 
39
- &:hover:not(.lux-disabled) {
40
- color: luxcommon.$lux-hover-color;
41
- text-decoration: underline;
42
- cursor: pointer;
43
- lux-icon {
44
- i, mat-icon {
45
- color: luxcommon.$lux-hover-color;
46
- }
40
+ &.default-style {
41
+ color: map.get(luxpalette.$lux-palette-primary, A700);
42
+ font-family: inherit;
43
+ lux-icon {
44
+ i,
45
+ mat-icon {
46
+ color: map.get(luxpalette.$lux-palette-primary, A700);
47
47
  }
48
48
  }
49
-
50
- &:focus:not(.lux-disabled, :hover) {
51
- @include luxfocus.focus-dark-mixin;
52
- border-radius: 2px;
49
+ }
50
+
51
+ &.lux-disabled,
52
+ .link-wrapper.lux-disabled {
53
+ color: luxcommon.$dark-disabled-text;
54
+ cursor: text;
55
+ text-decoration: none;
56
+ lux-icon {
57
+ i,
58
+ mat-icon {
59
+ color: luxcommon.$dark-disabled-text;
60
+ }
53
61
  }
54
62
  }
55
- &.breadcrump-item .link-wrapper{
56
- color: inherit;
57
- lux-icon mat-icon {
58
- color: inherit;
63
+
64
+ &:hover:not(.lux-disabled) {
65
+ color: map.get(luxpalette.$lux-palette-primary, 300);
66
+ text-decoration: underline;
67
+ cursor: pointer;
68
+ lux-icon {
69
+ i,
70
+ mat-icon {
71
+ color: map.get(luxpalette.$lux-palette-primary, 300);
72
+ }
59
73
  }
60
74
  }
61
- }
75
+ }
@@ -5,9 +5,8 @@
5
5
  @use "../../public/global";
6
6
  @use "../luxelevations";
7
7
 
8
-
9
8
  lux-tile-ac {
10
- .mat-card.lux-tile-ac {
9
+ .mat-card.lux-tile-ac {
11
10
  box-sizing: border-box;
12
11
  display: flex;
13
12
  height: 100%;
@@ -16,10 +15,10 @@ lux-tile-ac {
16
15
  background-image: luxcommon.$app-gradient;
17
16
  border: 1px solid rgba(black, 0.12);
18
17
  font-size: 16px;
19
-
18
+
20
19
  .lux-tile-icon {
21
20
  color: map.get(luxpalette.$lux-palette-primary, 500);
22
- lux-icon {
21
+ lux-icon {
23
22
  width: 2em;
24
23
  height: 2em;
25
24
  i,
@@ -33,7 +32,7 @@ lux-tile-ac {
33
32
  }
34
33
  }
35
34
  }
36
-
35
+
37
36
  .lux-tile-header-titel-ac {
38
37
  mat-card-title {
39
38
  color: luxcommon.$dark-primary-text;
@@ -41,23 +40,23 @@ lux-tile-ac {
41
40
  font-size: 20px;
42
41
  margin-bottom: 8px;
43
42
  }
44
- mat-card-subtitle.mat-card-subtitle:not(:first-child){
43
+ mat-card-subtitle.mat-card-subtitle:not(:first-child) {
45
44
  color: luxcommon.$dark-secondary-text;
46
45
  font-size: 14px;
47
46
  font-weight: normal;
48
47
  margin-top: 0px;
49
48
  }
50
49
  }
51
-
50
+
52
51
  &:not([class*="mat-elevation-z"]) {
53
52
  @include luxelevations.lux-elevation-z2;
54
53
  }
55
54
 
56
- &[class~=lux-cursor]:focus-visible {
55
+ &[class~="lux-cursor"]:focus-visible {
57
56
  @include luxfocus.focus-dark-mixin;
58
57
  }
59
- &[class~=lux-cursor]:hover {
60
- border-color: luxpalette.$lux-primary-color;
58
+ &[class~="lux-cursor"]:hover {
59
+ border-color: luxcommon.$dark-primary-text;
61
60
  }
62
61
  }
63
- }
62
+ }
@@ -1,5 +1,6 @@
1
1
  @use "sass:color";
2
2
  @use "luxcommon";
3
+ @use "luxpalette";
3
4
  @use "../base/luxelevations";
4
5
 
5
6
  // Tabs außerhalb einer LUX-Card (z.B. Master-Detail)
@@ -12,8 +13,8 @@ lux-tabs {
12
13
  }
13
14
 
14
15
  // x-Button oben rechts im Dialog-Fenster
15
- .cdk-overlay-container{
16
- .lux-dialog .lux-icon-close {
16
+ .cdk-overlay-container {
17
+ .lux-dialog .lux-icon-close {
17
18
  &:hover {
18
19
  background-color: color.adjust(luxcommon.$lux-hover-color, $lightness: -10%) !important;
19
20
  }
@@ -24,15 +25,14 @@ lux-button button.lux-button {
24
25
  font-family: luxcommon.$app-font-family;
25
26
 
26
27
  &.lux-icon-button {
27
-
28
28
  & lux-icon:not(.lux-button-icon-round) {
29
29
  line-height: 0.5;
30
-
30
+
31
31
  &.lux-lx-icon {
32
32
  height: 22px !important;
33
33
  width: 22px !important;
34
34
  }
35
-
35
+
36
36
  i.lux-fa-icon {
37
37
  font-size: 1.5em !important;
38
38
  }
@@ -51,7 +51,6 @@ lux-button button.lux-button {
51
51
  }
52
52
 
53
53
  &.lux-button-rounded {
54
-
55
54
  font-size: luxcommon.$button-font-size;
56
55
  .mat-button-wrapper {
57
56
  height: 100%;
@@ -59,7 +58,7 @@ lux-button button.lux-button {
59
58
  align-items: center;
60
59
  line-height: 1;
61
60
  }
62
-
61
+
63
62
  & lux-icon.lux-button-icon-round {
64
63
  line-height: 1;
65
64
  height: 20px;
@@ -81,8 +80,7 @@ lux-button button.lux-button {
81
80
  /*
82
81
  * Theming for LUX-Master-Detail-ac
83
82
  */
84
- .lux-master-detail-ac {
85
-
83
+ .lux-master-detail-ac {
86
84
  .lux-master-header-container-ac lux-button.master-light-toggle {
87
85
  right: -23px;
88
86
  }
@@ -105,6 +103,18 @@ lux-button button.lux-button {
105
103
  lux-master-footer-ac {
106
104
  margin-bottom: 4px;
107
105
  border: none;
108
- @include luxelevations.lux-elevation-z2
106
+ @include luxelevations.lux-elevation-z2;
107
+ }
108
+ }
109
+
110
+ /*
111
+ * Theming für lux-datepicker-ac/lux-datetimepicker-ac
112
+ */
113
+ lux-datepicker-ac,
114
+ lux-datetimepicker-ac {
115
+ mat-datepicker-toggle {
116
+ button:hover lux-icon.lux-datepicker-toggle-icon.lux-color-blue {
117
+ color: map-get(luxpalette.$lux-palette_primary, 300);
118
+ }
109
119
  }
110
- }
120
+ }