@ihk-gfi/lux-components-theme 13.0.0 → 14.1.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.
Files changed (49) hide show
  1. package/README.md +9 -0
  2. package/package.json +7 -7
  3. package/prebuilt-themes/luxtheme-authentic-min.css +1 -0
  4. package/prebuilt-themes/luxtheme-authentic-min.css.map +1 -0
  5. package/prebuilt-themes/{luxtheme-orange.css → luxtheme-authentic.css} +7303 -5035
  6. package/prebuilt-themes/luxtheme-authentic.css.map +1 -0
  7. package/prebuilt-themes/luxtheme-blue-min.css +1 -1
  8. package/prebuilt-themes/luxtheme-blue-min.css.map +1 -1
  9. package/prebuilt-themes/luxtheme-blue.css +4734 -3248
  10. package/prebuilt-themes/luxtheme-blue.css.map +1 -1
  11. package/prebuilt-themes/luxtheme-green-min.css +1 -1
  12. package/prebuilt-themes/luxtheme-green-min.css.map +1 -1
  13. package/prebuilt-themes/luxtheme-green.css +4920 -3449
  14. package/prebuilt-themes/luxtheme-green.css.map +1 -1
  15. package/src/authentic/_custom.scss +1101 -0
  16. package/src/authentic/_luxcommon.scss +128 -0
  17. package/src/authentic/_luxpalette.scss +106 -0
  18. package/src/authentic/luxtheme.scss +103 -0
  19. package/src/base/_luxSvgIcons.scss +5 -0
  20. package/src/base/_luxcommon.scss +98 -0
  21. package/src/base/_luxcomponents.scss +422 -190
  22. package/src/base/_luxelevations.scss +8 -10
  23. package/src/base/_luxfocus.scss +276 -107
  24. package/src/base/_luxpalette.scss +9 -0
  25. package/src/base/_luxstyles.scss +132 -116
  26. package/src/base/_luxtheme.scss +10 -6
  27. package/src/base/components/_luxAppHeaderAc.scss +187 -0
  28. package/src/base/components/_luxFormControlWrapper.scss +174 -0
  29. package/src/base/components/_luxFormControlsAuthentic.scss +357 -0
  30. package/src/base/components/_luxLinkPlain.scss +61 -0
  31. package/src/base/components/_luxMasterDetailAc.scss +206 -0
  32. package/src/base/components/_luxTileAc.scss +63 -0
  33. package/src/blue/_custom.scss +103 -1
  34. package/src/blue/_luxcommon.scss +13 -2
  35. package/src/blue/_luxpalette.scss +4 -3
  36. package/src/blue/luxtheme.scss +102 -10
  37. package/src/green/_custom.scss +201 -104
  38. package/src/green/_luxcommon.scss +16 -5
  39. package/src/green/_luxpalette.scss +4 -3
  40. package/src/green/luxtheme.scss +103 -13
  41. package/src/public/global.scss +6 -10
  42. package/prebuilt-themes/luxtheme-orange-min.css +0 -1
  43. package/prebuilt-themes/luxtheme-orange-min.css.map +0 -1
  44. package/prebuilt-themes/luxtheme-orange.css.map +0 -1
  45. package/src/base/_luxicons.scss +0 -2
  46. package/src/orange/_custom.scss +0 -66
  47. package/src/orange/_luxcommon.scss +0 -90
  48. package/src/orange/_luxpalette.scss +0 -106
  49. package/src/orange/luxtheme.scss +0 -10
@@ -0,0 +1,1101 @@
1
+ @use "sass:map";
2
+ @use "../base/luxelevations";
3
+ @use "../base/luxfocus";
4
+ @use "@angular/material" as mat;
5
+ @use "../public/global";
6
+ @use "luxcommon";
7
+ @use "luxpalette";
8
+ @use "../base/luxSvgIcons" as luxicons;
9
+
10
+
11
+ $light-gray: #EFF3F6; //für die Table
12
+
13
+ h1, h2, h3, h4, h5, h6 {
14
+ color: rgba(black, 0.87);
15
+ font-weight: normal;
16
+ font-family: luxcommon.$app-headline-font, luxcommon.$app-font-family;
17
+ }
18
+
19
+ div, span, p, label {
20
+ font-family: luxcommon.$app-font-family;
21
+ }
22
+
23
+ @mixin lux-hovered-mixin-ac {
24
+ color: #fff;
25
+ background-color: luxcommon.$lux-hover-color;
26
+ }
27
+
28
+ // Stylings für lux-menu-items im cdk-overlay-panel
29
+ .mat-menu-panel{
30
+ border: 2px solid luxpalette.$lux-primary-color;
31
+ box-shadow: none !important;
32
+
33
+ .lux-menu-item {
34
+ color: luxpalette.$lux-primary-color;
35
+ }
36
+
37
+ .mat-menu-item .mat-icon-no-color {
38
+ color: luxpalette.$lux-primary-color;
39
+ }
40
+
41
+ .mat-menu-content:not(:empty){
42
+ padding: 0;
43
+ }
44
+
45
+ .lux-menu-item:not([disabled=true]):hover {
46
+ @include lux-hovered-mixin-ac;
47
+ & .mat-icon-no-color {
48
+ color: #fff;
49
+ }
50
+ }
51
+ }
52
+ lux-menu {
53
+ .lux-menu-extended lux-button.lux-menu-item .lux-button-label {
54
+ font-weight: 400;
55
+ letter-spacing: 1px;
56
+ font-family: luxcommon.$app-font-family;
57
+ }
58
+ }
59
+
60
+ // Optionen werden im Cdk-Overlay dargestellt und hängen nicht unter der Component selbst.
61
+ // eigentlich nur für select-panel nötig
62
+ .lux-autocomplete-panel-ac, .lux-select-panel-ac, .lux-select-panel-ac-multiple {
63
+ .mat-option {
64
+ &.invalid {
65
+ color: luxpalette.$lux-warn-color;
66
+ font-weight: 300;
67
+ .mat-pseudo-checkbox {
68
+ color: luxcommon.$dark-disabled-text;
69
+ }
70
+ }
71
+ }
72
+ }
73
+
74
+ // Hintergrundfarbe
75
+ lux-app-content {
76
+ background-color: #fff; //Fallback
77
+ background-image: luxcommon.$app-gradient;
78
+ }
79
+
80
+ /*
81
+ * Theming for LUX-App-Footer
82
+ */
83
+ lux-app-footer {
84
+ .lux-app-footer {
85
+ border-bottom: 8px solid map.get(luxpalette.$lux-palette_primary, 600);
86
+ }
87
+ }
88
+
89
+ //Tabs außerhalb einer LUX-Card (z.B. Master-Detail)
90
+
91
+ lux-tabs, mat-card lux-tabs {
92
+
93
+ .mat-tab-label-container .mat-tab-label:not(.mat-tab-disabled) {
94
+ font-size: 14px;
95
+ font-weight: 600;
96
+ color: luxpalette.$lux-primary-color;
97
+ min-height: unset !important;
98
+
99
+ &:focus-visible {
100
+ @include luxfocus.focus-dark-mixin-inline;
101
+ border-radius: 4px;
102
+ background-color: transparent !important;
103
+ color: luxcommon.$lux-hover-color !important;
104
+ .lux-tab-title {
105
+ color: luxcommon.$lux-hover-color !important;
106
+ }
107
+ }
108
+
109
+ &:hover:not(.mat-tab-disabled) {
110
+ background-color: transparent;
111
+ color: luxcommon.$lux-hover-color !important;
112
+ .lux-tab-title {
113
+ color: luxcommon.$lux-hover-color !important;
114
+ }
115
+ }
116
+ }
117
+
118
+ lux-icon.lux-tab-icon mat-icon.lux-lx-icon {
119
+ width: 24px !important;
120
+ height: 24px !important;
121
+ }
122
+ }
123
+
124
+ /*
125
+ * Theming for LUX-Table
126
+ */
127
+ lux-table {
128
+ font-family: luxcommon.$app-font-family;
129
+ .lux-table {
130
+ th, .lux-table-header-no-data th {
131
+ vertical-align: middle;
132
+ }
133
+
134
+ th.mat-header-cell, td.mat-cell {
135
+ border: none;
136
+ }
137
+ td.mat-footer-cell {
138
+ border: none;
139
+ border-top: 1px solid luxcommon.$app-border-color;
140
+ font-size: 15px;
141
+ color: luxcommon.$dark-primary-text;
142
+ padding-bottom: 16px;
143
+ }
144
+
145
+ .lux-table-content {
146
+ border: 1px solid luxcommon.$app-border-color;
147
+ border-radius: 4px;
148
+
149
+ table {
150
+ border-spacing: 0 !important;
151
+ td .lux-form-control-container-authentic {
152
+ padding: 0.25em 0.5em; // bei den Form-Controls in einer Tabellen-Zelle wird die Höhe reduziert
153
+ }
154
+ }
155
+
156
+ thead th {
157
+ font-size: 16px;
158
+ color: luxcommon.$dark-primary-text;
159
+ font-weight: 700;
160
+ }
161
+
162
+ .mat-row:nth-child(odd){
163
+ background-color: $light-gray;
164
+ }
165
+ .mat-row:nth-child(even){
166
+ background-color:#ffffff;
167
+ }
168
+ }
169
+
170
+ .lux-paginator-xs:not(.lux-hide) {
171
+ .mat-paginator-container {
172
+ justify-content: flex-end;
173
+ }
174
+ .mat-paginator-range-actions {
175
+ display: flex;
176
+ align-items: center;
177
+ margin-top: 0px;
178
+ button:first-of-type {
179
+ margin-left: 0px;
180
+ }
181
+ }
182
+ .mat-paginator-range-label {
183
+ margin: 0 32px 0 24px;
184
+ }
185
+ }
186
+ }
187
+ }
188
+
189
+ lux-table {
190
+ tr:hover {
191
+ > td,
192
+ > th {
193
+ background-color: unset !important;
194
+ border-radius: 0;
195
+ }
196
+ }
197
+ }
198
+
199
+ lux-filter-form {
200
+ lux-menu {
201
+ .lux-filter-menu-trigger button:not([disabled]).mat-fab.lux-button-rounded:hover {
202
+ background-color: #fff !important;
203
+ color: luxcommon.$lux-hover-color;
204
+ }
205
+ .lux-filter-menu-trigger button:not([disabled]).mat-fab.lux-button-rounded:focus-visible {
206
+ @include luxfocus.focus-dark-mixin-inline;
207
+ background-color: #fff !important;
208
+ }
209
+ .lux-filter-menu-trigger button:not([disabled]).mat-fab.lux-button-rounded:active {
210
+ background-color: transparent !important;
211
+ color: map-get(luxpalette.$lux-palette_primary, 700);
212
+ }
213
+ }
214
+ }
215
+
216
+ /**
217
+ * Theming für LUX-Card
218
+ */
219
+ lux-card {
220
+ .lux-highlight{
221
+ color: map.get(luxpalette.$lux-palette-primary, 500);
222
+ }
223
+ .mat-card.lux-card {
224
+ border: 1px solid rgba(black, 0.12);
225
+ background-color: #fff;
226
+
227
+ &:not([class*="mat-elevation-z"]) {
228
+ @include luxelevations.lux-elevation-z0;
229
+ }
230
+
231
+ .mat-card-subtitle {
232
+ color: luxcommon.$dark-secondary-text;
233
+ font-size: 16px;
234
+ font-weight: normal;
235
+ font-family: luxcommon.$app-font-family;
236
+ }
237
+ }
238
+ }
239
+
240
+ /*
241
+ * Theming for LUX-Accordion
242
+ */
243
+ lux-accordion lux-panel {
244
+ padding: 0px;
245
+ }
246
+
247
+ mat-expansion-panel.mat-expansion-panel:not([class*="mat-elevation-z"]) {
248
+ @include luxelevations.lux-elevation-z0;
249
+ border: 1px solid rgba(black, 0.12);
250
+ border-radius: 4px;
251
+ }
252
+
253
+ lux-accordion {
254
+ .mat-expansion-panel-header .mat-content {
255
+ flex-direction: column; //damit sind Title und Description untereinander
256
+
257
+ .mat-expansion-panel-header-description {
258
+ margin-top: 4px;
259
+ font-weight: 400;
260
+ }
261
+ }
262
+
263
+ .mat-expansion-panel-header .mat-expansion-indicator::after {
264
+ color: map.get(luxpalette.$lux-palette-primary, 500);
265
+ }
266
+
267
+ .mat-expansion-panel-header .mat-expansion-indicator {
268
+ position: relative;
269
+ transform-origin: center;
270
+ width: 16px;
271
+ height: 16px;
272
+ &::after {
273
+ content: '';
274
+ position: absolute;
275
+ width: 16px;
276
+ height: 16px;
277
+ margin: 0px;
278
+ padding: 0px;
279
+ border: none;
280
+ transform: rotate(0deg);
281
+ background-color: luxpalette.$lux-primary-color;
282
+ -webkit-mask: url(luxicons.$arrow-button-down);
283
+ -webkit-mask-repeat: no-repeat;
284
+ -webkit-mask-position: center;
285
+ -webkit-mask-size: cover;
286
+ mask: url(luxicons.$arrow-button-down);
287
+ mask-repeat: no-repeat;
288
+ mask-position: center;
289
+ mask-size: cover;
290
+ }
291
+ }
292
+
293
+ mat-expansion-panel-header.mat-expansion-panel-header,
294
+ mat-expansion-panel-header.mat-expansion-panel-header.mat-expanded,
295
+ mat-expansion-panel-header.mat-expansion-panel-header.mat-expanded:focus {
296
+ border-bottom-left-radius: 0px;
297
+ border-bottom-right-radius: 0px;
298
+ font-family: luxcommon.$app-headline-font, luxcommon.$app-font-family;
299
+ font-weight: 500;
300
+
301
+ &[aria-disabled=false] {
302
+ background-color: map.get(luxpalette.$lux-palette-primary, 50);
303
+ color: luxcommon.$dark-primary-text;
304
+ &:hover {
305
+ background-color: map.get(luxpalette.$lux-palette-primary, 50) !important;
306
+ }
307
+ }
308
+ }
309
+ }
310
+
311
+
312
+ /**
313
+ * Theming für lux-Badge-notification
314
+ */
315
+ .lux-badge-notification {
316
+
317
+ &.mat-badge:not(.mat-badge-disabled).mat-badge-accent .mat-badge-content {
318
+ background-color: map.get(luxpalette.$lux-palette_accent, 500);
319
+ }
320
+
321
+ &.mat-badge .mat-badge-content {
322
+ font-family: luxcommon.$app-headline-font, luxcommon.$app-font-family;
323
+ border: 1px solid #fff;
324
+ }
325
+
326
+ &.mat-badge.lux-badge-no-border .mat-badge-content {
327
+ border: 1px solid transparent;
328
+ }
329
+
330
+ &.lux-badge-color-default {
331
+ &.mat-badge:not(.mat-badge-disabled) .mat-badge-content {
332
+ color: white;
333
+ background: map.get(luxcommon.$componentBgColors, 'gray');
334
+ }
335
+ }
336
+ &.mat-badge-disabled .mat-badge-content {
337
+ color: white;
338
+ }
339
+ }
340
+
341
+ /*
342
+ * Theming for LUX-Dialog
343
+ */
344
+ .lux-dialog {
345
+ .lux-dialog-title.mat-dialog-title {
346
+ color: luxcommon.$dark-primary-text;
347
+ font-family: luxcommon.$app-headline-font, luxcommon.$app-font-family;
348
+ }
349
+ .mat-dialog-container {
350
+ @include luxelevations.lux-elevation-z24;
351
+ border:1px solid luxcommon.$dark-disabled-text;
352
+ }
353
+ }
354
+ lux-dialog-structure {
355
+ // x-Button oben rechts im Dialog-Fenster
356
+ .lux-icon-close {
357
+ &:hover {
358
+ background-color: #fff !important;
359
+ mat-icon.mat-icon-no-color {
360
+ color: luxcommon.$lux-hover-color;
361
+ }
362
+ }
363
+ &:focus-visible {
364
+ @include luxfocus.focus-dark-mixin;
365
+ border-radius: 4px;
366
+ }
367
+ }
368
+ }
369
+
370
+ /*
371
+ * Theming for LUX-List
372
+ */
373
+ lux-list {
374
+
375
+ .mat-card:not([class*="mat-elevation-z"]) {
376
+ @include luxelevations.lux-elevation-z0;
377
+ }
378
+ .mat-card-content.menu-item-content {
379
+ margin-bottom: 0;
380
+ }
381
+
382
+ &:focus-visible {
383
+ border: luxfocus.$outline-dark;
384
+ border-radius: 4px;
385
+ outline: none;
386
+ }
387
+
388
+ lux-list-item {
389
+ &:focus-visible {
390
+ outline: none;
391
+
392
+ mat-card.mat-card.lux-card {
393
+ @include luxfocus.focus-dark-mixin-inline;
394
+ background-color: #fff !important;
395
+ }
396
+ }
397
+
398
+ lux-card {
399
+ &.lux-list-item-selected {
400
+ mat-card.mat-card.lux-card {
401
+ @include luxfocus.lux-selected-mixin-ac;
402
+ }
403
+ }
404
+
405
+ mat-card[class~=lux-cursor]:not([class*=mat-elevation-z]) {
406
+ @include luxfocus.lux-selectable-mixin;
407
+
408
+ &:hover {
409
+ border: 1px solid luxcommon.$lux-hover-color;
410
+ background-color: #fff !important;
411
+ }
412
+ }
413
+ }
414
+ }
415
+ }
416
+
417
+ /*
418
+ * Theming for Side-Nav im Demo
419
+ */
420
+ example-root {
421
+ .example-base-components-list {
422
+
423
+ mat-expansion-panel-header {
424
+ font-weight: 600;
425
+ .mat-expansion-indicator {
426
+ position: relative;
427
+ transform-origin: center;
428
+ width: 16px;
429
+ height: 16px;
430
+ &::after {
431
+ content: '';
432
+ position: absolute;
433
+ width: 16px;
434
+ height: 16px;
435
+ margin: 0px;
436
+ padding: 0px;
437
+ border: none;
438
+ transform: rotate(0deg);
439
+ background-color: luxpalette.$lux-primary-color;
440
+ -webkit-mask: url(luxicons.$arrow-button-down);
441
+ -webkit-mask-repeat: no-repeat;
442
+ -webkit-mask-position: center;
443
+ -webkit-mask-size: cover;
444
+ mask: url(luxicons.$arrow-button-down);
445
+ mask-repeat: no-repeat;
446
+ mask-position: center;
447
+ mask-size: cover;
448
+ }
449
+ }
450
+
451
+ &:hover {
452
+ background-color: #fff !important;
453
+ }
454
+ }
455
+
456
+ .example-component-list-item {
457
+
458
+ &.example-component-list-item-selected {
459
+ font-weight: 600;
460
+ color: luxpalette.$lux-primary-color;
461
+ border: none;
462
+ background-color: #fff !important;
463
+ &::after {
464
+ content: '';
465
+ position: absolute;
466
+ width: 16px;
467
+ height: 16px;
468
+ right: auto;
469
+ left: auto;
470
+ top: auto;
471
+ bottom: auto;
472
+ margin: 2px 5px;
473
+ background-color: luxpalette.$lux-primary-color;
474
+ -webkit-mask: url(luxicons.$checkmark);
475
+ -webkit-mask-repeat: no-repeat;
476
+ -webkit-mask-position: center;
477
+ -webkit-mask-size: cover;
478
+ mask: url(luxicons.$checkmark);
479
+ mask-repeat: no-repeat;
480
+ mask-position: center;
481
+ mask-size: cover;
482
+ border: none
483
+ }
484
+ }
485
+ &:hover,
486
+ &:focus-visible,
487
+ &.example-component-list-item-selected:hover,
488
+ &.example-component-list-item-selected:focus-visible {
489
+ color: #fff;
490
+ background-color: luxcommon.$lux-hover-color !important;
491
+ border-radius: 0;
492
+ &::after {
493
+ background-color: #fff;
494
+ }
495
+ }
496
+ }
497
+ }
498
+ }
499
+
500
+ /*
501
+ * Theming for LUX-Master-Detail
502
+ */
503
+ .lux-master-container {
504
+ height: 100%;
505
+ lux-button.lux-master-toggle{
506
+ position: absolute;
507
+ right: -18px;
508
+ top: 18px;
509
+ z-index: 1000;
510
+
511
+ button.lux-button.lux-button-rounded {
512
+ @include luxelevations.lux-elevation-z0;
513
+ border: 1px solid luxcommon.$app-border-color;
514
+ color: map.get(luxpalette.$lux-palette-primary, 500);
515
+
516
+ &:not([disabled]):focus:hover{
517
+ background-color: luxcommon.$lux-hover-color;
518
+ border-radius: 50%
519
+ }
520
+ }
521
+ }
522
+ }
523
+ lux-master-header {
524
+ @include luxelevations.lux-elevation-z0;
525
+ }
526
+ lux-master-footer {
527
+ border: 1px solid luxcommon.$app-border-color;
528
+ border-radius: 4px;
529
+ background-color: luxcommon.$app-data-bg;
530
+ @include luxelevations.lux-elevation-z0;
531
+ }
532
+
533
+ /*
534
+ * Theming for LUX-Message-Box
535
+ */
536
+ lux-message-box {
537
+ border-radius: 4px;
538
+
539
+ &.mat-elevation-z4 {
540
+ @include luxelevations.lux-elevation-z0();
541
+ }
542
+
543
+ & div.lux-message-box-content {
544
+ margin: 0 !important;
545
+
546
+ & div.lux-message-container.lux-bg-color-white {
547
+ border: 1px solid luxpalette.$lux-primary-color;
548
+ box-sizing: border-box;
549
+ & button.mat-fab.lux-button-rounded.lux-icon-button:not([disabled]) {
550
+ color: luxpalette.$lux-primary-color;
551
+ &:hover {
552
+ color: #fff;
553
+ }
554
+ }
555
+ }
556
+
557
+ & div.lux-message-container:not(.lux-bg-color-white) {
558
+ & button:not([disabled]):hover {
559
+ .mat-icon-no-color {
560
+ color: #fff;
561
+ }
562
+ }
563
+ }
564
+ }
565
+ }
566
+
567
+
568
+ /*
569
+ * Theming for LUX-Button
570
+ */
571
+ lux-button button.lux-button {
572
+ //font-family: luxcommon.$app-font-family;
573
+ font-weight: 600;
574
+ font-size: 15px;
575
+ letter-spacing: 1.25px;
576
+ //Theming für den Text-Button
577
+ &.mat-button:not(.mat-button-disabled) {
578
+ &:hover {
579
+ color: luxcommon.$dark-secondary-text;
580
+ background-color: transparent !important;
581
+ }
582
+ &:focus-visible:not(:hover) {
583
+ color: luxcommon.$dark-secondary-text;
584
+ background-color: transparent !important;
585
+ }
586
+ &:active {
587
+ color: luxcommon.$dark-primary-text !important;
588
+ }
589
+
590
+ &.mat-primary {
591
+ &:hover {
592
+ color: map.get(luxpalette.$lux-palette-primary, 300);
593
+ background-color: transparent !important;
594
+ }
595
+ &:focus-visible:not(:hover) {
596
+ color: map.get(luxpalette.$lux-palette-primary, 700)!important;
597
+ background-color: transparent !important;
598
+ }
599
+ &:active {
600
+ color: map.get(luxpalette.$lux-palette-primary, 700)!important;
601
+ }
602
+ }
603
+
604
+ &.mat-accent {
605
+ &:hover {
606
+ color: map.get(luxpalette.$lux-palette-accent, 300)!important;
607
+ background-color: transparent !important;
608
+ }
609
+ &:focus-visible:not(:hover) {
610
+ background-color: transparent !important;
611
+ }
612
+ &:active {
613
+ color: map.get(luxpalette.$lux-palette-accent, 700)!important;
614
+ }
615
+ }
616
+
617
+ &.mat-warn {
618
+ &:hover {
619
+ color: map.get(luxpalette.$lux-palette-warn, 300);;
620
+ background-color: transparent !important;
621
+ }
622
+ &:focus-visible:not(:hover) {
623
+ color: map.get(luxpalette.$lux-palette-warn, 700);
624
+ background-color: transparent !important;
625
+ }
626
+ &:active {
627
+ color: map.get(luxpalette.$lux-palette-warn, 700)!important;
628
+ }
629
+ }
630
+ }
631
+
632
+ //Theming für den Stroked-Button
633
+ &.mat-stroked-button:not(.mat-button-disabled) {
634
+
635
+ border-color: luxcommon.$dark-secondary-text;
636
+
637
+ &:hover {
638
+ color: luxcommon.$dark-secondary-text;
639
+ background-color: transparent !important;
640
+ border-color: luxcommon.$dark-primary-text;
641
+ }
642
+
643
+ &:focus-visible:not(:hover) {
644
+ color: luxcommon.$dark-secondary-text;
645
+ background-color: transparent !important;
646
+ border-color: luxcommon.$dark-primary-text;
647
+ }
648
+ &:active {
649
+ color: luxcommon.$dark-primary-text;
650
+ background-color: transparent !important;
651
+ }
652
+ &.mat-primary {
653
+ border-color: map.get(luxpalette.$lux-palette-primary, 400);
654
+
655
+ &:hover {
656
+ color: map.get(luxpalette.$lux-palette-primary, 300);
657
+ background-color: transparent !important;
658
+ border-color: map.get(luxpalette.$lux-palette-primary, 300);
659
+ }
660
+ &:focus-visible:not(:hover) {
661
+ color: map.get(luxpalette.$lux-palette-primary, 300);
662
+ background-color: transparent !important;
663
+ border-color: map.get(luxpalette.$lux-palette-primary, 700);
664
+ }
665
+ &:active {
666
+ color: map.get(luxpalette.$lux-palette-primary, 700);
667
+ background-color: transparent !important;
668
+ border-color: map.get(luxpalette.$lux-palette-primary, 700);
669
+ }
670
+ }
671
+
672
+ &.mat-accent {
673
+ color: luxcommon.$dark-primary-text;
674
+ border-color: map.get(luxpalette.$lux-palette-accent, 400);
675
+ &:hover {
676
+ color: luxcommon.$dark-secondary-text !important;
677
+ background-color: transparent !important;
678
+ border-color: map.get(luxpalette.$lux-palette-accent, 300);
679
+ }
680
+ &:focus-visible:not(:hover) {
681
+ color: luxcommon.$dark-secondary-text;
682
+ background-color: transparent !important;
683
+ border-color: map.get(luxpalette.$lux-palette-accent, 700);
684
+ }
685
+ &:active {
686
+ color: luxcommon.$dark-primary-text !important;
687
+ background-color: transparent !important;
688
+ border-color: map.get(luxpalette.$lux-palette-accent, 700);
689
+ }
690
+ }
691
+
692
+ &.mat-warn {
693
+ border-color: map.get(luxpalette.$lux-palette-warn, 500);
694
+ &:hover {
695
+ color: map.get(luxpalette.$lux-palette-warn, 300);
696
+ background-color: transparent !important;
697
+ border-color: map.get(luxpalette.$lux-palette-warn, 300);
698
+ }
699
+ &:focus-visible:not(:hover) {
700
+ color: map.get(luxpalette.$lux-palette-warn, 300);
701
+ background-color: transparent !important;
702
+ border-color: map.get(luxpalette.$lux-palette-warn, 700);
703
+ }
704
+ &:active {
705
+ color: map.get(luxpalette.$lux-palette-warn, 700);
706
+ background-color: transparent !important;
707
+ border-color: map.get(luxpalette.$lux-palette-warn, 700);
708
+ }
709
+ }
710
+ }
711
+ &.mat-stroked-button.mat-button-disabled {
712
+ border-color: luxcommon.$dark-disabled-text;
713
+ color: luxcommon.$dark-disabled-text;
714
+ }
715
+
716
+ //Theming für den Raised-Button, Flat-Button, Fab(Rounded)-Button
717
+ &.mat-raised-button:not(.mat-button-disabled),
718
+ &.mat-flat-button:not(.mat-button-disabled),
719
+ &.mat-fab:not(.mat-button-disabled) {
720
+ &:hover {
721
+ color: luxcommon.$dark-secondary-text;
722
+ background-color: #ffffff !important;
723
+ }
724
+
725
+ &:focus-visible:not(:hover) {
726
+ color: luxcommon.$dark-secondary-text;
727
+ background-color: #ffffff !important;
728
+ }
729
+ &:active {
730
+ color: luxcommon.$dark-primary-text;
731
+ background-color: #ffffff !important;
732
+ }
733
+
734
+ &.mat-primary {
735
+ &:hover {
736
+ color: #ffffff;
737
+ background-color: map.get(luxpalette.$lux-palette-primary, 300) !important;
738
+ }
739
+ &:focus-visible:not(:hover) {
740
+ color: #ffffff;
741
+ background-color: map.get(luxpalette.$lux-palette-primary, 700)!important;
742
+ }
743
+ &:active {
744
+ background-color: map.get(luxpalette.$lux-palette-primary, 700) !important;
745
+ }
746
+ }
747
+
748
+ &.mat-accent {
749
+ color: luxcommon.$dark-primary-text;
750
+ &:hover {
751
+ background-color: map.get(luxpalette.$lux-palette-accent, 300) !important;
752
+ }
753
+ &:focus-visible:not(:hover) {
754
+ background-color: map.get(luxpalette.$lux-palette-accent, 700) !important;
755
+ }
756
+ &:active {
757
+ background-color: map.get(luxpalette.$lux-palette-accent, 700) !important;
758
+ }
759
+ }
760
+
761
+ &.mat-warn {
762
+ &:hover {
763
+ color: #ffffff;
764
+ background-color: map.get(luxpalette.$lux-palette-warn, 300) !important;
765
+ }
766
+ &:focus-visible:not(:hover) {
767
+ color: #ffffff;
768
+ background-color: map.get(luxpalette.$lux-palette-warn, 700) !important;
769
+ }
770
+ &:active {
771
+ background-color: map.get(luxpalette.$lux-palette-warn, 700) !important;
772
+ }
773
+ }
774
+ }
775
+
776
+ &.mat-raised-button.mat-button-disabled,
777
+ &.mat-flat-button.mat-button-disabled,
778
+ &.mat-fab.mat-button-disabled {
779
+ color: luxcommon.$dark-disabled-text;
780
+ background-color: luxcommon.$dark-disabled-text !important;
781
+ }
782
+ &.mat-button.mat-button-disabled {
783
+ color: luxcommon.$dark-disabled-text;
784
+ }
785
+
786
+ //Mat-Fab soll in Authentic flat sein
787
+ &.mat-fab,
788
+ &.mat-fab:not(.mat-button-disabled):active {
789
+ @include luxelevations.lux-elevation-z0;
790
+ }
791
+ }
792
+
793
+ /*
794
+ *Theming für Lux-menu
795
+ */
796
+ .lux-menu-trigger-default {
797
+ button.mat-button {
798
+ color: map.get(luxpalette.$lux-palette_primary, 500);
799
+ }
800
+ }
801
+
802
+ /*
803
+ * Theming for LUX-Form-Controls
804
+ * Übergangsweise wird hier nur die Schriftgröße angepasst, damit die Schrift vollständig im Input etc angezeigt wird
805
+ * gilt bis die alten Form-Controls abgelöst sind
806
+ */
807
+ .lux-form-control {
808
+ margin: luxcommon.$form-control-margin;
809
+ min-height: luxcommon.$form-control-complete-height;
810
+
811
+ .lux-form-control-container {
812
+ font-size: 14px;
813
+ input, textarea {
814
+ font-size: 14px !important;
815
+ }
816
+ }
817
+ }
818
+
819
+ /*
820
+ * Theming für Stepper
821
+ */
822
+ lux-stepper {
823
+
824
+ mat-step-header {
825
+ &:hover {
826
+ background-color: transparent !important;
827
+
828
+ &[aria-selected="false"],
829
+ &[aria-selected="true"] {
830
+ div.mat-step-icon.mat-step-icon-state-number,
831
+ div.mat-step-icon.mat-step-icon-state-edit {
832
+ background-color: luxcommon.$lux-hover-color;
833
+ color: #fff;
834
+ border-color: luxcommon.$lux-hover-color;
835
+ }
836
+ div.mat-step-label lux-step-header {
837
+ color: luxcommon.$lux-hover-color;
838
+ }
839
+ }
840
+ }
841
+ }
842
+
843
+ mat-step-header[tabindex="0"]:focus-visible {
844
+ background-color: transparent !important;
845
+ border-radius: 4px;
846
+ }
847
+
848
+ lux-stepper-vertical mat-step-header {
849
+
850
+ &[aria-selected="true"] {
851
+ @include luxfocus.lux-selected-mixin-ac;
852
+ }
853
+
854
+ &[aria-selected="false"] {
855
+ div.mat-step-icon.mat-step-icon-state-number,
856
+ div.mat-step-icon.mat-step-icon-state-edit {
857
+ background-color: #fff ;
858
+ color: luxpalette.$lux-primary-color;
859
+ border: 1px solid luxcommon.$app-border-color;
860
+ }
861
+ div.mat-step-label lux-step-header {
862
+ color: luxpalette.$lux-primary-color;
863
+ }
864
+ }
865
+ }
866
+
867
+ lux-stepper-horizontal mat-step-header{
868
+
869
+ &[aria-selected="true"] {
870
+ div.mat-step-label.mat-step-label-active.mat-step-label-selected lux-step-header {
871
+ font-weight: 500;
872
+ }
873
+ &:after {
874
+ border-bottom: none;
875
+ }
876
+ }
877
+
878
+ &[aria-selected="false"] {
879
+ div.mat-step-icon.mat-step-icon-state-number,
880
+ div.mat-step-icon.mat-step-icon-state-edit {
881
+ background-color: #fff ;
882
+ color: luxpalette.$lux-primary-color;
883
+ border: 1px solid luxcommon.$app-border-color;
884
+ }
885
+ div.mat-step-label lux-step-header {
886
+ color: luxpalette.$lux-primary-color;
887
+ }
888
+ }
889
+ }
890
+
891
+ .lux-ignore-mat-step-icons mat-step-header {
892
+ &[aria-selected="false"] {
893
+ .lux-stepper-edited-icon,
894
+ .lux-stepper-normal-icon {
895
+ i, mat-icon {
896
+ color: luxpalette.$lux-primary-color;
897
+ background-color: #fff;
898
+ border: 1px solid luxcommon.$app-border-color;
899
+ }
900
+ }
901
+ }
902
+ &[aria-selected="true"] {
903
+ .lux-stepper-edited-icon,
904
+ .lux-stepper-normal-icon {
905
+ i, mat-icon {
906
+ color:#fff;
907
+ background-color: luxpalette.$lux-primary-color;
908
+ border: 1px solid luxcommon.$app-border-color;
909
+ }
910
+ }
911
+ }
912
+ &:hover {
913
+ background-color: transparent !important;
914
+
915
+ &[aria-selected="false"],
916
+ &[aria-selected="true"] {
917
+ .lux-stepper-edited-icon,
918
+ .lux-stepper-normal-icon {
919
+ i, mat-icon {
920
+ background-color: luxcommon.$lux-hover-color;
921
+ color: #fff;
922
+ border-color: luxcommon.$lux-hover-color;}
923
+ }
924
+
925
+ }
926
+ div.mat-step-label lux-step-header {
927
+ color: luxcommon.$lux-hover-color;
928
+ }
929
+ }
930
+ }
931
+ }
932
+
933
+
934
+ /*
935
+ * Theming für Stepper-Large
936
+ */
937
+ lux-stepper-large {
938
+ background-color: transparent;
939
+ .lux-stepper-large-nav-container,
940
+ .lux-stepper-large-content-container {
941
+ border: 1px solid luxcommon.$app-border-color;
942
+ border-radius: 4px;
943
+ background-color: luxcommon.$app-content-bg;
944
+ }
945
+
946
+ //Desktop-View
947
+ .lux-stepper-large-nav-item {
948
+ .lux-stepper-large-nav-item-number-container {
949
+ border-radius: 50%;
950
+ }
951
+
952
+ &.lux-active:not(.lux-disabled) {
953
+ a {
954
+ font-weight: 500;
955
+ }
956
+ .lux-stepper-large-nav-item-number-container {
957
+ color: luxcommon.$lux-stepper-large-nav-item-active-fc;
958
+ background-color: luxcommon.$lux-stepper-large-nav-item-active-bg;
959
+ }
960
+
961
+ .lux-stepper-large-nav-item-label {
962
+ color: #003366;
963
+ }
964
+ }
965
+
966
+ &.lux-touched:not(.lux-disabled) {
967
+ a {
968
+ text-decoration: underline;
969
+ font-weight: 500;
970
+ }
971
+
972
+ &.lux-completed:not(.lux-active) {
973
+ .lux-stepper-large-nav-item-number-container {
974
+ border: 1px solid luxcommon.$app-border-color;
975
+ }
976
+
977
+ a {
978
+ font-weight: 400;
979
+ }
980
+ }
981
+
982
+ &:not(.lux-completed):not(.lux-active) {
983
+ .lux-stepper-large-nav-item-number-container {
984
+ color: luxcommon.$lux-stepper-large-nav-item-completed-fg;
985
+ background-color: luxcommon.$lux-stepper-large-nav-item-completed-bg;
986
+ }
987
+ }
988
+ }
989
+
990
+ &:not(.lux-touched) {
991
+ opacity: 1;
992
+ color: #003366;
993
+
994
+ .lux-stepper-large-nav-item-number-container {
995
+ color: luxpalette.$lux-primary-color;
996
+ background-color: #fff;
997
+ border: 1px solid luxcommon.$app-border-color;
998
+ }
999
+ }
1000
+ &.lux-disabled {
1001
+
1002
+ .lux-stepper-large-nav-item-number-container {
1003
+ color: luxcommon.$dark-disabled-text;
1004
+ background-color: #fff;
1005
+ border: 1px solid luxcommon.$app-border-color;
1006
+ }
1007
+
1008
+ .lux-stepper-large-nav-item-label {
1009
+ color: luxcommon.$dark-disabled-text;
1010
+
1011
+ }
1012
+ }
1013
+ }
1014
+ }
1015
+
1016
+ //Stepper-Large Mobile-View
1017
+ .lux-stepper-large-mobile-nav-header {
1018
+ div {
1019
+ font-family: luxcommon.$app-headline-font, luxcommon.$app-font-family;
1020
+ }
1021
+ }
1022
+ .lux-stepper-large-mobile-nav-item {
1023
+ display: flex;
1024
+ flex-direction: row;
1025
+ justify-content: flex-start;
1026
+ align-items: center;
1027
+
1028
+ font-size: 18px;
1029
+
1030
+ .lux-stepper-large-mobile-nav-item-number-container {
1031
+ border-radius: 50%;
1032
+ }
1033
+
1034
+ &.lux-active:not(.lux-disabled) {
1035
+ a {
1036
+ font-weight: 500;
1037
+ }
1038
+ .lux-stepper-large-mobile-nav-item-number-container {
1039
+ color: luxcommon.$lux-stepper-large-nav-item-active-fc;
1040
+ background-color: luxcommon.$lux-stepper-large-nav-item-active-bg;
1041
+ }
1042
+
1043
+ .lux-stepper-large-nav-item-label {
1044
+ color: #003366;
1045
+ }
1046
+ }
1047
+
1048
+ &.lux-touched:not(.lux-disabled) {
1049
+ a {
1050
+ text-decoration: underline;
1051
+ font-weight: 500;
1052
+ }
1053
+
1054
+ &.lux-completed:not(.lux-active) {
1055
+ .lux-stepper-large-mobile-nav-item-number-container {
1056
+ border: 1px solid luxcommon.$app-border-color;
1057
+ }
1058
+
1059
+ a {
1060
+ font-weight: 400;
1061
+ }
1062
+ }
1063
+
1064
+ &:not(.lux-completed):not(.lux-active) {
1065
+ .lux-stepper-large-mobile-nav-item-number-container {
1066
+ color: luxcommon.$lux-stepper-large-nav-item-completed-fg;
1067
+ background-color: luxcommon.$lux-stepper-large-nav-item-completed-bg;
1068
+ }
1069
+ }
1070
+ }
1071
+
1072
+ &:not(.lux-touched) {
1073
+ opacity: 1;
1074
+ color: #003366;
1075
+
1076
+ .lux-stepper-large-mobile-nav-item-number-container {
1077
+ color: luxpalette.$lux-primary-color;
1078
+ background-color: #fff;
1079
+ border: 1px solid luxcommon.$app-border-color;
1080
+ }
1081
+ }
1082
+ &.lux-disabled {
1083
+
1084
+ .lux-stepper-large-nav-item-number-container {
1085
+ color: luxcommon.$dark-disabled-text;
1086
+ background-color: #fff;
1087
+ border: 1px solid luxcommon.$app-border-color;
1088
+ }
1089
+
1090
+ .lux-stepper-large-mobile-nav-item-label {
1091
+ color: luxcommon.$dark-disabled-text;
1092
+ }
1093
+ }
1094
+
1095
+ .lux-stepper-large-mobile-nav-item-label-container {
1096
+ .lux-stepper-large-mobile-nav-item-complete {
1097
+ color: luxcommon.$lux-stepper-large-completed-fc;
1098
+ font-size: 18px;
1099
+ }
1100
+ }
1101
+ }