@ihk-gfi/lux-components-theme 19.3.0 → 21.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 (123) hide show
  1. package/README.md +140 -189
  2. package/package.json +10 -10
  3. package/prebuilt-themes/luxtheme-authentic-min.css +1 -1
  4. package/prebuilt-themes/luxtheme-authentic-min.css.map +1 -1
  5. package/prebuilt-themes/luxtheme-authentic.css +9508 -11439
  6. package/prebuilt-themes/luxtheme-authentic.css.map +1 -1
  7. package/prebuilt-themes/luxtheme-green-min.css +1 -1
  8. package/prebuilt-themes/luxtheme-green-min.css.map +1 -1
  9. package/prebuilt-themes/luxtheme-green.css +9445 -11650
  10. package/prebuilt-themes/luxtheme-green.css.map +1 -1
  11. package/src/base-templates/common/_luxbreakpoints.scss +96 -0
  12. package/src/{base → base-templates/common}/_luxelevations.scss +1 -1
  13. package/src/base-templates/common/_luxfocus.scss +84 -0
  14. package/src/{base → base-templates/common}/_luxlayout.scss +0 -1
  15. package/src/base-templates/common/_luxstyles.scss +510 -0
  16. package/src/base-templates/components/_luxAccordion.scss +137 -0
  17. package/src/base-templates/components/_luxAppContent.scss +4 -0
  18. package/src/{base → base-templates}/components/_luxAppFooter.scss +2 -6
  19. package/src/{base → base-templates}/components/_luxAppHeader.scss +66 -76
  20. package/src/base-templates/components/_luxAppHeaderAc.scss +147 -0
  21. package/src/base-templates/components/_luxAppHeaderAcSessionTimer.scss +95 -0
  22. package/src/base-templates/components/_luxAutocomplete.scss +24 -0
  23. package/src/base-templates/components/_luxBadge.scss +40 -0
  24. package/src/base-templates/components/_luxBadgeNotification.scss +53 -0
  25. package/src/base-templates/components/_luxBreadcrumb.scss +117 -0
  26. package/src/base-templates/components/_luxButton.scss +107 -0
  27. package/src/base-templates/components/_luxButtonFlat.scss +53 -0
  28. package/src/base-templates/components/_luxButtonRaised.scss +80 -0
  29. package/src/base-templates/components/_luxButtonRounded.scss +83 -0
  30. package/src/base-templates/components/_luxButtonRoundedStroked.scss +76 -0
  31. package/src/base-templates/components/_luxButtonSpinner.scss +90 -0
  32. package/src/base-templates/components/_luxButtonStroked.scss +45 -0
  33. package/src/base-templates/components/_luxCard.scss +133 -0
  34. package/src/base-templates/components/_luxCheckbox.scss +11 -0
  35. package/src/{base → base-templates}/components/_luxCheckboxContainerAc.scss +6 -4
  36. package/src/base-templates/components/_luxChips.scss +144 -0
  37. package/src/base-templates/components/_luxCore.scss +26 -0
  38. package/src/base-templates/components/_luxDatepicker.scss +65 -0
  39. package/src/base-templates/components/_luxDatetimepicker.scss +17 -0
  40. package/src/{base → base-templates}/components/_luxDialog.scss +33 -16
  41. package/src/base-templates/components/_luxDivider.scss +10 -0
  42. package/src/{base → base-templates}/components/_luxErrorPage.scss +0 -4
  43. package/src/base-templates/components/_luxFileList.scss +55 -0
  44. package/src/{base → base-templates}/components/_luxFilePreview.scss +1 -4
  45. package/src/base-templates/components/_luxFileProgress.scss +13 -0
  46. package/src/base-templates/components/_luxFileUpload.scss +271 -0
  47. package/src/base-templates/components/_luxFileinput.scss +27 -0
  48. package/src/{base → base-templates}/components/_luxFilter.scss +31 -5
  49. package/src/base-templates/components/_luxFormControlWrapper.scss +276 -0
  50. package/src/base-templates/components/_luxHtml.scss +8 -0
  51. package/src/base-templates/components/_luxIcon.scss +53 -0
  52. package/src/base-templates/components/_luxInput.scss +30 -0
  53. package/src/{base → base-templates}/components/_luxLinkPlain.scss +12 -13
  54. package/src/{base → base-templates}/components/_luxList.scss +5 -8
  55. package/src/base-templates/components/_luxLookupAutocomplete.scss +6 -0
  56. package/src/base-templates/components/_luxLookupCombobox.scss +30 -0
  57. package/src/{base → base-templates}/components/_luxMasterDetailAc.scss +17 -34
  58. package/src/base-templates/components/_luxMenu.scss +270 -0
  59. package/src/base-templates/components/_luxMessagebox.scss +119 -0
  60. package/src/base-templates/components/_luxPopup.scss +54 -0
  61. package/src/base-templates/components/_luxProgressBar.scss +103 -0
  62. package/src/base-templates/components/_luxProgressSpinner.scss +94 -0
  63. package/src/base-templates/components/_luxRadioButton.scss +32 -0
  64. package/src/base-templates/components/_luxSelect.scss +42 -0
  65. package/src/base-templates/components/_luxSideNav.scss +93 -0
  66. package/src/base-templates/components/_luxSlider.scss +17 -0
  67. package/src/base-templates/components/_luxSnackbar.scss +41 -0
  68. package/src/{base → base-templates}/components/_luxStepper.scss +33 -129
  69. package/src/base-templates/components/_luxStepperLarge.scss +435 -0
  70. package/src/{base → base-templates}/components/_luxTable.scss +29 -63
  71. package/src/{base → base-templates}/components/_luxTabs.scss +32 -67
  72. package/src/base-templates/components/_luxTextarea.scss +16 -0
  73. package/src/base-templates/components/_luxTextbox.scss +83 -0
  74. package/src/{base → base-templates}/components/_luxTile.scss +12 -17
  75. package/src/base-templates/components/_luxTileAc.scss +71 -0
  76. package/src/base-templates/components/_luxToggle.scss +19 -0
  77. package/src/base-templates/components/_luxToolTip.scss +8 -0
  78. package/src/{base → base-templates}/components/_luxTourHint.scss +11 -7
  79. package/src/theme-authentic/_mat3Theme.scss +135 -0
  80. package/src/theme-authentic/_palettes.scss +183 -0
  81. package/src/theme-authentic/_variables.scss +486 -0
  82. package/src/theme-authentic/_variablesPreferContrast.scss +76 -0
  83. package/src/theme-authentic/lux-authentic.scss +69 -0
  84. package/src/theme-green/_mat3Theme.scss +134 -0
  85. package/src/theme-green/_palettes.scss +182 -0
  86. package/src/theme-green/_variables.scss +487 -0
  87. package/src/theme-green/_variablesPreferContrast.scss +76 -0
  88. package/src/theme-green/lux-green.scss +68 -0
  89. package/src/authentic/_custom.scss +0 -609
  90. package/src/authentic/_custombutton.scss +0 -143
  91. package/src/authentic/_luxcommon.scss +0 -138
  92. package/src/authentic/_luxpalette.scss +0 -230
  93. package/src/authentic/luxtheme.scss +0 -113
  94. package/src/base/_luxbreakpoints.scss +0 -94
  95. package/src/base/_luxcommon.scss +0 -104
  96. package/src/base/_luxcomponents.scss +0 -843
  97. package/src/base/_luxfocus.scss +0 -438
  98. package/src/base/_luxpalette.scss +0 -10
  99. package/src/base/_luxstyles.scss +0 -723
  100. package/src/base/_luxtheme.scss +0 -23
  101. package/src/base/components/_luxAppHeaderAc.scss +0 -214
  102. package/src/base/components/_luxBadge.scss +0 -62
  103. package/src/base/components/_luxBreadcrumb.scss +0 -90
  104. package/src/base/components/_luxButton.scss +0 -283
  105. package/src/base/components/_luxCard.scss +0 -179
  106. package/src/base/components/_luxFormControlWrapper.scss +0 -205
  107. package/src/base/components/_luxFormControlsAuthentic.scss +0 -715
  108. package/src/base/components/_luxIcon.scss +0 -41
  109. package/src/base/components/_luxMenu.scss +0 -314
  110. package/src/base/components/_luxMessagebox.scss +0 -156
  111. package/src/base/components/_luxProgressBar.scss +0 -5
  112. package/src/base/components/_luxProgressSpinner.scss +0 -13
  113. package/src/base/components/_luxSnackbar.scss +0 -77
  114. package/src/base/components/_luxTextbox.scss +0 -91
  115. package/src/base/components/_luxTileAc.scss +0 -87
  116. package/src/base/components/_luxToolTip.scss +0 -5
  117. package/src/green/_custom.scss +0 -1125
  118. package/src/green/_luxcommon.scss +0 -117
  119. package/src/green/_luxpalette.scss +0 -231
  120. package/src/green/luxtheme.scss +0 -117
  121. package/src/public/global.scss +0 -113
  122. /package/src/{base → base-templates/common}/_luxSvgIcons.scss +0 -0
  123. /package/src/{base → base-templates/common}/_luxfonts.scss +0 -0
@@ -0,0 +1,90 @@
1
+ @use "@angular/material" as mat;
2
+
3
+ lux-button,
4
+ lux-link {
5
+ &.lux-raised,
6
+ &.lux-flat,
7
+ &.lux-rounded:not(.lux-stroked) {
8
+ mat-progress-spinner {
9
+ @include mat.progress-spinner-overrides(
10
+ (
11
+ active-indicator-color: var(--lux-theme-button-flat-default-text-color)
12
+ )
13
+ );
14
+ }
15
+
16
+ .mat-primary {
17
+ mat-progress-spinner {
18
+ @include mat.progress-spinner-overrides(
19
+ (
20
+ active-indicator-color: var(--lux-theme-button-flat-primary-text-color)
21
+ )
22
+ );
23
+ }
24
+ }
25
+ .mat-accent {
26
+ mat-progress-spinner {
27
+ @include mat.progress-spinner-overrides(
28
+ (
29
+ active-indicator-color: var(--lux-theme-button-flat-accent-text-color)
30
+ )
31
+ );
32
+ }
33
+ }
34
+ .mat-warn {
35
+ mat-progress-spinner {
36
+ @include mat.progress-spinner-overrides(
37
+ (
38
+ active-indicator-color: var(--lux-theme-button-flat-warn-text-color)
39
+ )
40
+ );
41
+ }
42
+ }
43
+ }
44
+
45
+ mat-progress-spinner {
46
+ @include mat.progress-spinner-overrides(
47
+ (
48
+ active-indicator-color: var(--lux-theme-button-text-default-text-color)
49
+ )
50
+ );
51
+ }
52
+
53
+ .mat-primary {
54
+ mat-progress-spinner {
55
+ @include mat.progress-spinner-overrides(
56
+ (
57
+ active-indicator-color: var(--lux-theme-button-text-primary-text-color)
58
+ )
59
+ );
60
+ }
61
+ }
62
+ .mat-accent {
63
+ mat-progress-spinner {
64
+ @include mat.progress-spinner-overrides(
65
+ (
66
+ active-indicator-color: var(--lux-theme-button-text-accent-text-color)
67
+ )
68
+ );
69
+ }
70
+ }
71
+ .mat-warn {
72
+ mat-progress-spinner {
73
+ @include mat.progress-spinner-overrides(
74
+ (
75
+ active-indicator-color: var(--lux-theme-button-text-warn-text-color)
76
+ )
77
+ );
78
+ }
79
+ }
80
+
81
+ .lux-button-spinner {
82
+ mat-progress-spinner {
83
+ width: 0.875rem !important;
84
+ height: 0.875rem !important;
85
+ }
86
+ .spinner-padding {
87
+ padding: 0;
88
+ }
89
+ }
90
+ }
@@ -0,0 +1,45 @@
1
+ @use "@angular/material" as mat;
2
+
3
+ lux-button.lux-stroked,
4
+ lux-link.lux-stroked {
5
+ @include mat.button-overrides(
6
+ (
7
+ outlined-label-text-tracking: var(--lux-theme-button-stroked-text-tracking),
8
+ outlined-label-text-font: var(--lux-theme-button-stroked-font),
9
+ outlined-label-text-size: var(--lux-theme-button-stroked-text-size),
10
+ outlined-label-text-weight: var(--lux-theme-button-stroked-text-weight),
11
+ outlined-container-shape: var(--lux-theme-button-stroked-container-shape),
12
+ outlined-horizontal-padding: 16px,
13
+ outlined-container-height: var(--lux-theme-button-stroked-container-height),
14
+ outlined-label-text-color: var(--lux-theme-button-stroked-primary-text-color),
15
+ outlined-outline-color: var(--lux-theme-button-stroked-primary-text-color)
16
+ )
17
+ );
18
+
19
+ .mat-primary {
20
+ @include mat.button-overrides(
21
+ (
22
+ outlined-label-text-color: var(--lux-theme-button-stroked-primary-text-color),
23
+ outlined-outline-color: var(--lux-theme-button-stroked-primary-text-color)
24
+ )
25
+ );
26
+ }
27
+
28
+ .mat-accent {
29
+ @include mat.button-overrides(
30
+ (
31
+ outlined-label-text-color: var(--lux-theme-button-stroked-accent-text-color),
32
+ outlined-outline-color: var(--lux-theme-button-stroked-accent-text-color)
33
+ )
34
+ );
35
+ }
36
+
37
+ .mat-warn {
38
+ @include mat.button-overrides(
39
+ (
40
+ outlined-label-text-color: var(--lux-theme-button-stroked-warn-text-color),
41
+ outlined-outline-color: var(--lux-theme-button-stroked-warn-text-color)
42
+ )
43
+ );
44
+ }
45
+ }
@@ -0,0 +1,133 @@
1
+ @use "@angular/material" as mat;
2
+ @use "../common/luxfocus";
3
+
4
+ $margin-right-icon: 20px;
5
+
6
+ lux-card {
7
+ @include mat.card-overrides(
8
+ (
9
+ outlined-container-color: var(--lux-theme-card-background-color),
10
+ outlined-container-shape: var(--lux-theme-card-shape),
11
+ outlined-outline-color: var(--lux-theme-card-outline-color),
12
+ title-text-line-height: var(--lux-theme-card-title-line-height),
13
+ title-text-size: var(--lux-theme-card-title-text-size),
14
+ title-text-weight: var(--lux-theme-card-title-text-weight),
15
+ subtitle-text-size: var(--lux-theme-card-subtitle-text-size),
16
+ subtitle-text-weight: var(--lux-theme-card-subtitle-text-weight),
17
+ subtitle-text-color: var(--lux-theme-card-subtitle-text-color)
18
+ )
19
+ );
20
+
21
+ // Falls die lux-card in einem lux-grid verwendet wird und alle Cards einer Reihe dieselbe Höhe erhalten sollen
22
+ // müssen mat-card und mat-card-content entsprechend angepasst werden.
23
+ // Diese Anforderung stammt aus dem Verhalten der ehemaligen Lux-Layout-Card-Row.
24
+ &.lux-flex {
25
+ .lux-card,
26
+ .lux-card-content {
27
+ flex: 1 1 auto;
28
+ }
29
+ }
30
+
31
+ .lux-card {
32
+ width: 100%;
33
+
34
+ .lux-card-header {
35
+ padding: var(--lux-theme-card-padding) var(--lux-theme-card-padding) 0;
36
+
37
+ .mat-mdc-card-header-text {
38
+ // Damit der Titel und Subtitle nicht umbrechen und stattdessen abgeschnitten werden, wenn der Text zu lang ist.
39
+ // Ohne die min-width würde ein langer Text dazu führen, dass der Header breiter als die Card wird.
40
+ min-width: 0;
41
+ }
42
+
43
+ // Hier wird die Reihenfolge der Elemente im Header der lux-card festgelegt.
44
+ // Dies ist notwendig, damit das Icon links, der Titel in der Mitte und die Info-Komponente rechts angezeigt werden.
45
+ > * {
46
+ order: 10;
47
+ }
48
+
49
+ .lux-card-icon-container {
50
+ margin-right: 10px;
51
+ order: 5;
52
+ }
53
+
54
+ .lux-card-info-container {
55
+ order: 15;
56
+
57
+ // Damit die Info-Komponente immer rechtsbündig im Card-Header ist, auch wenn der Titel oder Subtitle kurz sind.
58
+ margin-left: auto;
59
+ }
60
+
61
+ .lux-card-title {
62
+ margin-right: $margin-right-icon;
63
+ // Die Styles der Überschriften innerhalb der lux-card zurücksetzen, damit die Styles der Card übernommen werden.
64
+ h1,
65
+ h2,
66
+ h3,
67
+ h4,
68
+ h5,
69
+ h6 {
70
+ color: unset;
71
+ font-size: unset;
72
+ font-weight: unset;
73
+ font-family: unset;
74
+ padding: unset;
75
+ margin: unset;
76
+ }
77
+ }
78
+ }
79
+
80
+ .lux-card-subtitle {
81
+ margin-right: $margin-right-icon;
82
+ }
83
+
84
+ .lux-card-content {
85
+ display: flex;
86
+ flex-direction: column;
87
+ padding: 0 var(--lux-theme-card-padding);
88
+ overflow-y: hidden;
89
+
90
+ .lux-card-content-container {
91
+ display: flex;
92
+ flex-direction: column;
93
+
94
+ // Abstand zwischen dem Inhalt und dem Expanded-Bereich der Card.
95
+ gap: 0.75rem;
96
+ }
97
+
98
+ // Wenn es einen Header und Content gibt, soll oben im Content ein Padding gesetzt werden.
99
+ .lux-card-with-content-and-header {
100
+ padding-top: var(--lux-theme-card-padding);
101
+ }
102
+
103
+ &.lux-card-no-actions {
104
+ // Wenn es keine Aktionen gibt, soll unten im Content ein Padding gesetzt werden.
105
+ padding-bottom: var(--lux-theme-card-padding);
106
+ }
107
+ }
108
+
109
+ // Die Material Card hat nur ein Padding von 8px, dies wird hier auf $padding gesetzt,
110
+ // damit es mit den anderen Paddings innerhalb der Card (wie z.B. Header und Content) übereinstimmt.
111
+ .lux-card-actions {
112
+ padding: var(--lux-theme-card-padding);
113
+ }
114
+ }
115
+
116
+ .lux-card {
117
+ &[class~="lux-cursor"]:hover {
118
+ background-image: var(--lux-theme-app-gradient-reverse);
119
+ background-color: #ffffff;
120
+ border-color: var(--lux-theme-dark-primary-text);
121
+
122
+ .lux-card-content-expanded {
123
+ background-image: var(--lux-theme-app-gradient-reverse);
124
+ background-color: #ffffff;
125
+ border-color: var(--lux-theme-dark-primary-text);
126
+ }
127
+ }
128
+
129
+ &[class~="lux-cursor"]:focus-visible {
130
+ @include luxfocus.focus-dark-mixin-inline;
131
+ }
132
+ }
133
+ }
@@ -0,0 +1,11 @@
1
+ @use "@angular/material" as mat;
2
+
3
+ lux-checkbox-ac {
4
+ @include mat.checkbox-overrides((
5
+ label-text-size: var(--lux-theme-form-control-font-size),
6
+ ));
7
+
8
+ &.lux-form-control-readonly {
9
+ pointer-events: none;
10
+ }
11
+ }
@@ -1,11 +1,9 @@
1
- @use "../luxpalette";
2
-
3
1
  lux-checkbox-container-ac {
4
2
  .lux-label-container {
5
3
  min-height: 1.2em;
6
4
  font-size: 0.75rem;
7
5
  line-height: 1.2em;
8
- color: luxpalette.$lux-primary-color;
6
+ color: var(--lux-theme-primary-color);
9
7
  margin: 0 calc(0.5em + 1px) 0.25em calc(0.5em + 1px);
10
8
  }
11
9
 
@@ -14,7 +12,7 @@ lux-checkbox-container-ac {
14
12
  flex-flow: row wrap;
15
13
  place-content: stretch flex-start;
16
14
  align-items: stretch;
17
- gap: 10px;
15
+ gap: 0;
18
16
  max-width: 100%;
19
17
 
20
18
  &.lux-vertical {
@@ -31,5 +29,9 @@ lux-checkbox-container-ac {
31
29
  padding: 0;
32
30
  }
33
31
  }
32
+
33
+ .lux-form-control-wrapper .lux-form-control-container-authentic .lux-checkbox {
34
+ min-height: unset;
35
+ }
34
36
  }
35
37
  }
@@ -0,0 +1,144 @@
1
+ @use "@angular/material" as mat;
2
+
3
+ lux-chips-ac {
4
+ @include mat.chips-overrides(
5
+ (
6
+ container-shape-radius: 20px,
7
+ outline-color: transparent,
8
+ hover-state-layer-opacity: 0,
9
+ trailing-action-hover-state-layer-opacity: 0,
10
+ outline-width: 1px
11
+ )
12
+ );
13
+
14
+ // Default-Farbvariante
15
+ .lux-chip-color-default {
16
+ @include mat.chips-overrides(
17
+ (
18
+ outline-color: var(--mat-chip-label-text-color, var(--mat-sys-on-surface-variant)),
19
+ outline-width: 1px
20
+ )
21
+ );
22
+ }
23
+
24
+ // Primär-Farbvariante
25
+ .lux-chip-color-primary {
26
+ --mat-chip-elevated-container-color: var(--lux-theme-custom-blue);
27
+ @include mat.chips-overrides(
28
+ (
29
+ label-text-color: var(--lux-theme-custom-on-blue),
30
+ with-trailing-icon-trailing-icon-color: var(--lux-theme-custom-on-blue)
31
+ )
32
+ );
33
+ }
34
+
35
+ // Akzent-Farbvariante
36
+ .lux-chip-color-accent {
37
+ --mat-chip-elevated-container-color: var(--lux-theme-custom-green);
38
+ @include mat.chips-overrides(
39
+ (
40
+ label-text-color: var(--lux-theme-custom-on-green),
41
+ with-trailing-icon-trailing-icon-color: var(--lux-theme-custom-on-green)
42
+ )
43
+ );
44
+ }
45
+
46
+ // Warn-Farbvariante
47
+ .lux-chip-color-warn {
48
+ --mat-chip-elevated-container-color: var(--lux-theme-custom-red);
49
+ @include mat.chips-overrides(
50
+ (
51
+ label-text-color: var(--lux-theme-custom-on-red),
52
+ with-trailing-icon-trailing-icon-color: var(--lux-theme-custom-on-red)
53
+ )
54
+ );
55
+ }
56
+
57
+ // Lösch-Icon mittig ausrichten
58
+ .mat-mdc-chip-remove .mat-icon {
59
+ min-height: unset;
60
+ }
61
+
62
+ // Lange Chip-Inhalte abschneiden, Icon sichtbar lassen
63
+ .lux-chip-container {
64
+ max-width: calc(100% - 8px);
65
+ }
66
+
67
+ .lux-chip {
68
+ max-width: 100%;
69
+ min-width: 0;
70
+ }
71
+
72
+ .lux-chip .mdc-evolution-chip__cell--primary {
73
+ min-width: 0;
74
+ }
75
+
76
+ .lux-chip .mdc-evolution-chip__text-label,
77
+ .lux-chip .lux-chip-label {
78
+ overflow: hidden;
79
+ text-overflow: ellipsis;
80
+ white-space: nowrap;
81
+ }
82
+
83
+ lux-form-control-wrapper .lux-form-control-wrapper .lux-form-control-container-authentic {
84
+ padding: 12px 8px;
85
+ }
86
+
87
+ // Border ausblenden
88
+ lux-form-control-wrapper.lux-hide-input-border .lux-form-control-container-authentic {
89
+ border: none;
90
+ padding: 0;
91
+ box-shadow: none !important; // den Focus-indicator für das Inputausblenden
92
+ }
93
+
94
+ // Pfeil-Icon
95
+ .lux-select-arrow {
96
+ width: 24px;
97
+ height: 24px;
98
+ fill: currentColor;
99
+ display: inline-block;
100
+ vertical-align: middle;
101
+
102
+ // Spiegeln für nach oben zeigenden Pfeil
103
+ &.lux-rotate {
104
+ transform: rotate(180deg);
105
+ }
106
+ }
107
+
108
+ // Vertikale Chips
109
+ .lux-vertical .mdc-evolution-chip-set__chips {
110
+ flex-direction: column;
111
+ }
112
+
113
+ // Disabled: Placeholder
114
+ .lux-chips-autocomplete-input:disabled {
115
+ &::placeholder {
116
+ color: var(--lux-theme-dark-disabled-text);
117
+ }
118
+ }
119
+
120
+ // Disabled: Icon
121
+ .lux-chips-autocomplete-icon.lux-disabled {
122
+ color: var(--lux-theme-dark-disabled-text);
123
+ cursor: default;
124
+ }
125
+
126
+ // Fokus
127
+ mat-chip-row.cdk-focused:not(.cdk-mouse-focused):not(.cdk-program-focused) {
128
+ --mat-chip-elevated-container-color: var(--lux-theme-custom-on-blue);
129
+ @include mat.chips-overrides(
130
+ (
131
+ label-text-color: var(--lux-theme-custom-blue),
132
+ with-trailing-icon-trailing-icon-color: var(--lux-theme-custom-blue)
133
+ )
134
+ );
135
+ }
136
+ }
137
+
138
+ .lux-chips-ac-autocomplete-panel.mat-mdc-autocomplete-panel,
139
+ .lux-chips-ac-autocomplete-panel-dense.mat-mdc-autocomplete-panel {
140
+ margin-top: -26px;
141
+ margin-left: 8px;
142
+ margin-right: 8px;
143
+ border-radius: 4px;
144
+ }
@@ -0,0 +1,26 @@
1
+ @use "@angular/material" as mat;
2
+
3
+ :root {
4
+ @include mat.core-overrides(
5
+ (
6
+ option-label-text-size: var(--lux-theme-panel-option-label-text-size),
7
+ option-label-text-color: var(--lux-theme-panel-option-label-text-color),
8
+ option-selected-state-label-text-color: var(--lux-theme-panel-option-label-text-color),
9
+ option-selected-state-layer-color: var(--lux-theme-panel-option-selected-state-layer-color),
10
+ option-hover-state-layer-color: var(--lux-theme-panel-option-hover-state-layer-color),
11
+ option-focus-state-layer-color: var(--lux-theme-panel-option-focus-state-layer-color)
12
+ )
13
+ );
14
+ }
15
+
16
+ .mat-mdc-option {
17
+ .mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-checked::after,
18
+ .mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-indeterminate::after {
19
+ @include mat.pseudo-checkbox-overrides(
20
+ (
21
+ minimal-selected-checkmark-color: var(--lux-theme-panel-option-selected-checkmark-color),
22
+ minimal-disabled-selected-checkmark-color: var(--lux-theme-panel-option-disabled-selected-checkmark-color)
23
+ )
24
+ );
25
+ }
26
+ }
@@ -0,0 +1,65 @@
1
+ @use "@angular/material" as mat;
2
+
3
+ :root {
4
+ @include mat.datepicker-overrides(
5
+ (
6
+ calendar-date-focus-state-background-color: var(--lux-theme-datepicker-panel-date-hover-background-color),
7
+ calendar-date-selected-state-text-color: var(--lux-theme-datepicker-panel-date-selected-color),
8
+ calendar-container-background-color: var(--lux-theme-panel-bg-color),
9
+ calendar-container-shape: var(--lux-theme-datepicker-panel-shape),
10
+ calendar-container-elevation-shadow: 0 0 0 1px var(--mat-card-outlined-outline-color, var(--mat-sys-outline-variant)),
11
+ calendar-date-hover-state-background-color: var(--lux-theme-datepicker-panel-date-hover-background-color),
12
+ calendar-date-text-color: var(--lux-theme-datepicker-panel-text-color),
13
+ calendar-header-text-color: var(--lux-theme-datepicker-panel-text-color),
14
+ calendar-period-button-text-color: var(--lux-theme-datepicker-panel-text-color),
15
+ calendar-date-selected-state-background-color: var(--lux-theme-datepicker-panel-date-selected-background-color),
16
+ calendar-header-text-size: var(--lux-theme-datepicker-panel-font-size),
17
+ calendar-text-size: var(--lux-theme-datepicker-panel-font-size),
18
+ calendar-body-label-text-size: var(--lux-theme-datepicker-panel-font-size),
19
+ calendar-period-button-text-size: var(--lux-theme-datepicker-panel-font-size),
20
+ calendar-container-touch-shape: var(--lux-theme-datepicker-panel-shape),
21
+
22
+ )
23
+ );
24
+ }
25
+
26
+ // Panel
27
+ mat-calendar {
28
+ .mat-calendar-body-cell-content {
29
+ border-radius: var(--lux-theme-datepicker-panel-date-border-radius);
30
+
31
+ &:not(.mat-calendar-body-selected) {
32
+ background-color: var(--lux-theme-datepicker-panel-date-background-color);
33
+ }
34
+ }
35
+
36
+ .mat-calendar-body-label {
37
+ visibility: hidden;
38
+ }
39
+ }
40
+
41
+ // Formcontrol
42
+ lux-datepicker-ac {
43
+ @include mat.datepicker-overrides(());
44
+
45
+ button:not(:disabled) .lux-datepicker-toggle-icon {
46
+ color: var(--lux-theme-datepicker-icon-color);
47
+ }
48
+ }
49
+
50
+ .lux-datepicker-custom-header-component {
51
+ display: grid;
52
+ grid-template-columns: 70px auto 70px;
53
+ justify-items: anchor-center;
54
+ padding: 4px 0 4px 0;
55
+ color: var(--lux-theme-datepicker-panel-text-color);
56
+
57
+ lux-button.lux-datepicker-button {
58
+ @include mat.button-overrides(
59
+ (
60
+ text-label-text-color: var(--lux-theme-datepicker-panel-text-color),
61
+ text-label-text-size: var(--lux-theme-datepicker-panel-font-size)
62
+ )
63
+ );
64
+ }
65
+ }
@@ -0,0 +1,17 @@
1
+ @use "@angular/material" as mat;
2
+
3
+ .lux-datetimepicker-overlay lux-card {
4
+ @include mat.card-overrides(
5
+ (
6
+ outlined-container-color: var(--lux-theme-panel-bg-color)
7
+ )
8
+ );
9
+ }
10
+
11
+ lux-datetimepicker-ac {
12
+ @include mat.datepicker-overrides(());
13
+
14
+ button:not(:disabled) .lux-datetimepicker-toggle-icon {
15
+ color: var(--lux-theme-datepicker-icon-color);
16
+ }
17
+ }
@@ -1,12 +1,20 @@
1
- @use "sass:map";
2
- @use "../luxcommon";
3
- @use "../luxpalette";
4
- @use "../luxfocus";
5
- @use "../luxelevations";
6
- @use "../luxbreakpoints";
1
+ @use "../common/luxfocus";
2
+ @use "../common/luxelevations";
3
+ @use "../common/luxbreakpoints";
4
+ @use "@angular/material" as mat;
7
5
 
8
6
  .cdk-overlay-pane.mat-mdc-dialog-panel .mat-mdc-dialog-container {
9
- border-radius: luxcommon.$app-border-radius;
7
+ border-radius: var(--lux-theme-app-border-radius);
8
+ }
9
+
10
+ .cdk-overlay-pane.mat-mdc-dialog-panel.lux-dialog {
11
+ @include mat.dialog-overrides(
12
+ (
13
+ container-max-width: 5000px,
14
+ container-small-max-width: 5000px,
15
+ container-min-width: 0
16
+ )
17
+ );
10
18
  }
11
19
 
12
20
  lux-dialog-preset {
@@ -21,7 +29,13 @@ lux-dialog-action {
21
29
  }
22
30
 
23
31
  lux-dialog-structure {
32
+
33
+ @include mat.dialog-overrides((
34
+ supporting-text-size: 1rem
35
+ ));
36
+
24
37
  display: flex;
38
+ flex: 1 1 auto;
25
39
  min-height: 100%;
26
40
 
27
41
  .lux-dialog {
@@ -33,13 +47,13 @@ lux-dialog-structure {
33
47
  display: flex;
34
48
  padding-left: 0;
35
49
  padding-right: 0;
36
- color: luxcommon.$dark-primary-text;
37
- font-family: luxcommon.$app-headline-font, luxcommon.$app-font-family;
50
+ color: var(--lux-theme-dark-primary-text);
51
+ font-family: var(--lux-theme-app-headline-font), var(--lux-theme-app-font-family);
38
52
  }
39
53
 
40
54
  .mat-mdc-dialog-container {
41
55
  @include luxelevations.lux-elevation-z24;
42
- border: 1px solid luxcommon.$dark-disabled-text;
56
+ border: 1px solid var(--lux-theme-dark-disabled-text);
43
57
  }
44
58
 
45
59
  // der Mat-Dialog-Content hat negativen Margin und einen passenden Padding (wieso auch immer)
@@ -48,9 +62,9 @@ lux-dialog-structure {
48
62
  margin: 0;
49
63
  padding: 0;
50
64
  max-height: 100%;
51
- font-family: luxcommon.$app-font-family;
65
+ font-family: var(--lux-theme-app-font-family);
52
66
  letter-spacing: normal;
53
- color: luxcommon.$dark-primary-text;
67
+ color: var(--lux-theme-dark-primary-text);
54
68
  }
55
69
 
56
70
  // Leichten Abstand zum Content setzen
@@ -61,8 +75,11 @@ lux-dialog-structure {
61
75
 
62
76
  .lux-icon-close {
63
77
  margin: -15px -15px 0 0;
64
- width: 24px;
65
- height: 24px;
78
+ display: flex;
79
+ align-items: center;
80
+ justify-content: center;
81
+ min-width: 24px;
82
+ min-height: 24px;
66
83
  font-size: 1rem;
67
84
  }
68
85
  }
@@ -93,10 +110,10 @@ lux-dialog-structure {
93
110
  // x-Button oben rechts im Dialog-Fenster
94
111
  .lux-icon-close {
95
112
  &:hover {
96
- background-color: #fff !important;
113
+ background-color: var(--lux-theme-dialog-close-button-hover-background-color);
97
114
 
98
115
  mat-icon.mat-icon-no-color {
99
- color: luxcommon.$lux-hover-color;
116
+ color: var(--lux-theme-dialog-close-button-hover-color);
100
117
  }
101
118
 
102
119
  cursor: pointer;
@@ -0,0 +1,10 @@
1
+ @use "@angular/material" as mat;
2
+
3
+ lux-divider {
4
+ @include mat.divider-overrides(
5
+ (
6
+ color: var(--lux-theme-dark-dividers),
7
+ width: 1px
8
+ )
9
+ );
10
+ }
@@ -1,7 +1,3 @@
1
- @use "../luxbreakpoints";
2
- @use "../luxpalette";
3
- @use "sass:map";
4
-
5
1
  lux-error-page {
6
2
  display: flex;
7
3
  min-height: 100%;