@ihk-gfi/lux-components-theme 19.2.0 → 21.0.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 (122) hide show
  1. package/README.md +123 -174
  2. package/package.json +17 -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 +9469 -11429
  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 +9411 -11645
  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 → base-templates}/components/_luxBreadcrumb.scss +5 -8
  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 +123 -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 +22 -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 -429
  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/_luxButton.scss +0 -283
  104. package/src/base/components/_luxCard.scss +0 -179
  105. package/src/base/components/_luxFormControlWrapper.scss +0 -205
  106. package/src/base/components/_luxFormControlsAuthentic.scss +0 -709
  107. package/src/base/components/_luxIcon.scss +0 -41
  108. package/src/base/components/_luxMenu.scss +0 -314
  109. package/src/base/components/_luxMessagebox.scss +0 -156
  110. package/src/base/components/_luxProgressBar.scss +0 -5
  111. package/src/base/components/_luxProgressSpinner.scss +0 -13
  112. package/src/base/components/_luxSnackbar.scss +0 -77
  113. package/src/base/components/_luxTextbox.scss +0 -91
  114. package/src/base/components/_luxTileAc.scss +0 -87
  115. package/src/base/components/_luxToolTip.scss +0 -5
  116. package/src/green/_custom.scss +0 -1125
  117. package/src/green/_luxcommon.scss +0 -117
  118. package/src/green/_luxpalette.scss +0 -231
  119. package/src/green/luxtheme.scss +0 -117
  120. package/src/public/global.scss +0 -113
  121. /package/src/{base → base-templates/common}/_luxSvgIcons.scss +0 -0
  122. /package/src/{base → base-templates/common}/_luxfonts.scss +0 -0
@@ -0,0 +1,96 @@
1
+ @use "sass:map";
2
+
3
+ $breakpoints: (
4
+ "xs": 599px,
5
+ "sm": 959px,
6
+ "md": 1279px,
7
+ "lg": 1919px,
8
+ "xl": 4999px
9
+ );
10
+
11
+ @mixin xs {
12
+ @media screen and (max-width: map.get($breakpoints, "xs")) {
13
+ @content;
14
+ }
15
+ }
16
+
17
+ @mixin sm {
18
+ @media screen and (min-width: calc(#{map.get($breakpoints, "xs")} + 1px)) and (max-width: map.get($breakpoints, "sm")) {
19
+ @content;
20
+ }
21
+ }
22
+
23
+ @mixin md {
24
+ @media screen and (min-width: calc(#{map.get($breakpoints, "sm")} + 1px)) and (max-width: map.get($breakpoints, "md")) {
25
+ @content;
26
+ }
27
+ }
28
+
29
+ @mixin lg {
30
+ @media screen and (min-width: calc(#{map.get($breakpoints, "md")} + 1px)) and (max-width: map.get($breakpoints, "lg")) {
31
+ @content;
32
+ }
33
+ }
34
+
35
+ @mixin xl {
36
+ @media screen and (min-width: calc(#{map.get($breakpoints, "lg")} + 1px)) and (max-width: map.get($breakpoints, "xl")) {
37
+ @content;
38
+ }
39
+ }
40
+ @mixin xxl {
41
+ @media screen and (min-width: calc(#{map.get($breakpoints, "xl")} + 1px)) {
42
+ @content;
43
+ }
44
+ }
45
+
46
+ @mixin breakpoint($bp: 0) {
47
+ @media (max-width: $bp) {
48
+ @content;
49
+ }
50
+ }
51
+
52
+ @mixin lt-sm {
53
+ @media screen and (max-width: map.get($breakpoints, "xs")) {
54
+ @content;
55
+ }
56
+ }
57
+ @mixin lt-md {
58
+ @media screen and (max-width: map.get($breakpoints, "sm")) {
59
+ @content;
60
+ }
61
+ }
62
+ @mixin lt-lg {
63
+ @media screen and (max-width: map.get($breakpoints, "md")) {
64
+ @content;
65
+ }
66
+ }
67
+ @mixin lt-xl {
68
+ @media screen and (max-width: map.get($breakpoints, "lg")) {
69
+ @content;
70
+ }
71
+ }
72
+ @mixin gt-xs {
73
+ @media screen and (min-width: calc(#{map.get($breakpoints, "xs")} + 1px)) {
74
+ @content;
75
+ }
76
+ }
77
+ @mixin gt-sm {
78
+ @media screen and (min-width: calc(#{map.get($breakpoints, "sm")} + 1px)) {
79
+ @content;
80
+ }
81
+ }
82
+ @mixin gt-md {
83
+ @media screen and (min-width: calc(#{map.get($breakpoints, "md")} + 1px)) {
84
+ @content;
85
+ }
86
+ }
87
+ @mixin gt-lg {
88
+ @media screen and (min-width: calc(#{map.get($breakpoints, "lg")} + 1px)) {
89
+ @content;
90
+ }
91
+ }
92
+ @mixin gt-xl {
93
+ @media screen and (min-width: calc(#{map.get($breakpoints, "xl")} + 1px)) {
94
+ @content;
95
+ }
96
+ }
@@ -39,7 +39,7 @@
39
39
  @include mat.elevation(4);
40
40
  }
41
41
  @mixin lux-elevation-z6 {
42
- @include mat.elevation(6);
42
+ @include mat.elevation(6);
43
43
  }
44
44
  @mixin lux-elevation-z16 {
45
45
  @include mat.elevation(16);
@@ -0,0 +1,84 @@
1
+ @mixin focus-dark-mixin {
2
+ outline: var(--lux-theme-outline-dark);
3
+ }
4
+
5
+ @mixin focus-dark-mixin-inline {
6
+ // der Focus um Elemente in Panels wird mit negativen Margin nach in das Element verlegt
7
+ // damit wird er nicht mehr am Rand abgeschnitten oder verdeckt
8
+ outline: var(--lux-theme-outline-dark);
9
+ outline-offset: calc(var(--lux-theme-outline-width) * -1);
10
+ }
11
+
12
+ @mixin focus-bright-mixin {
13
+ outline: var(--lux-theme-outline-bright);
14
+ }
15
+
16
+ @mixin lux-button-focus {
17
+ $width: calc(var(--lux-theme-outline-width) - 1px);
18
+ outline: $width var(--lux-theme-outline-style) var(--lux-theme-outline-color-dark) !important;
19
+ outline-offset: 1px;
20
+ }
21
+
22
+ @mixin lux-selectable-mixin {
23
+ -webkit-box-sizing: border-box;
24
+ -moz-box-sizing: border-box;
25
+ box-sizing: border-box;
26
+ }
27
+
28
+ @mixin lux-selected-mixin {
29
+ background-color: var(--lux-theme-selected-bg-color) !important;
30
+ position: relative;
31
+ border-radius: 4px;
32
+
33
+ &:after {
34
+ content: "";
35
+ left: 0;
36
+ width: 6px;
37
+ top: 0;
38
+ bottom: 0;
39
+ position: absolute;
40
+ border-left: 4px solid var(--lux-theme-selected-border-color);
41
+ border-radius: 4px 0 0 4px;
42
+ }
43
+ }
44
+
45
+ @mixin lux-selected-mixin-ac {
46
+ background: var(--lux-theme-app-gradient);
47
+ background-color: #fff;
48
+ border: 1px solid var(--lux-theme-primary-20);
49
+ box-shadow: 0 0 0 1px var(--lux-theme-primary-500) inset;
50
+ position: relative;
51
+ border-radius: 4px;
52
+ }
53
+ @mixin lux-selected-mixin-reverse-ac {
54
+ background: var(--lux-theme-app-gradient-reverse);
55
+ background-color: #fff;
56
+ border: 1px solid var(--lux-theme-primary-20);
57
+ box-shadow: 0 0 0 1px var(--lux-theme-primary-500) inset;
58
+ position: relative;
59
+ border-radius: 4px;
60
+ }
61
+
62
+ @mixin lux-selected-bottom-mixin {
63
+ position: relative;
64
+
65
+ &:after {
66
+ content: "";
67
+ left: 0;
68
+ top: 0;
69
+ bottom: 0;
70
+ right: 0;
71
+ position: absolute;
72
+ border-bottom: 4px solid var(--lux-theme-selected-border-color);
73
+ }
74
+ }
75
+
76
+ @mixin lux-hovered-mixin {
77
+ background-color: var(--lux-theme-hover-color) !important;
78
+ border-radius: 4px;
79
+ }
80
+
81
+ @mixin lux-hovered-mixin-inverted {
82
+ color: #fff;
83
+ background-color: var(--lux-theme-hover-color);
84
+ }
@@ -1,4 +1,3 @@
1
- @use "sass:math";
2
1
  @use "sass:list";
3
2
  @use "luxbreakpoints" as luxbp;
4
3
 
@@ -0,0 +1,510 @@
1
+ @use "sass:list";
2
+ @use "sass:map";
3
+ @use "sass:string";
4
+ @use "luxbreakpoints";
5
+
6
+ body {
7
+ color: var(--lux-theme-dark-primary-text);
8
+ font-family: var(--lux-theme-app-font-family);
9
+ }
10
+
11
+ h1 {
12
+ font-family: var(--lux-theme-app-headline-font);
13
+ font-size: 2rem;
14
+ font-weight: 500;
15
+ margin-block-start: 1.2em;
16
+ margin-block-end: 0.8rem;
17
+ }
18
+
19
+ h2 {
20
+ font-family: var(--lux-theme-app-headline-font);
21
+ font-size: 1.5rem;
22
+ font-weight: 500;
23
+ margin-block-start: 1.2em;
24
+ margin-block-end: 0.8rem;
25
+ }
26
+
27
+ h3 {
28
+ font-family: var(--lux-theme-app-headline-font);
29
+ font-size: 1.25rem;
30
+ font-weight: 500;
31
+ margin-block-start: 1.2em;
32
+ margin-block-end: 0.8rem;
33
+ }
34
+
35
+ h4 {
36
+ font-family: var(--lux-theme-app-headline-font);
37
+ font-size: 1rem;
38
+ font-weight: 500;
39
+ margin-block-start: 1.2em;
40
+ margin-block-end: 0.8rem;
41
+ }
42
+
43
+ h5 {
44
+ font-family: var(--lux-theme-app-headline-font);
45
+ font-size: 0.875rem;
46
+ font-weight: 700;
47
+ margin-block-start: 2em;
48
+ margin-block-end: 0.8rem;
49
+ }
50
+
51
+ h6 {
52
+ font-family: var(--lux-theme-app-headline-font);
53
+ font-size: 0.75rem;
54
+ font-weight: 700;
55
+ margin-block-start: 2em;
56
+ margin-block-end: 0.8rem;
57
+ }
58
+
59
+ a:not(.lux-link) {
60
+ background-color: var(--lux-theme-link-plain-background-color);
61
+ color: var(--lux-theme-link-plain-color);
62
+ text-decoration: underline;
63
+
64
+ &:hover:not(:disabled):not(.lux-disabled) {
65
+ background-color: var(--lux-theme-link-plain-hover-background-color);
66
+ color: var(--lux-theme-link-plain-hover-color);
67
+ cursor: pointer;
68
+ }
69
+
70
+ &:disabled,
71
+ &.lux-disabled {
72
+ color: var(--lux-theme-dark-disabled-text);
73
+ cursor: text;
74
+ text-decoration: none;
75
+ }
76
+ }
77
+
78
+ .lux-app-header-bg {
79
+ background-color: var(--lux-theme-app-header-bg);
80
+ }
81
+
82
+ .lux-app-content-bg {
83
+ background-color: var(--lux-theme-app-content-bg);
84
+ }
85
+
86
+ .lux-app-footer-bg {
87
+ background-color: var(--lux-theme-app-footer-bg);
88
+ }
89
+
90
+ .lux-app-data-bg {
91
+ background-color: var(--lux-theme-app-data-bg);
92
+ }
93
+
94
+ .lux-selected-bg {
95
+ background-color: var(--lux-theme-selected-bg-color);
96
+ }
97
+
98
+ .lux-hover-bg {
99
+ background-color: var(--lux-theme-hover-color);
100
+ }
101
+
102
+ .lux-hover-dark-bg {
103
+ background-color: var(--lux-theme-hover-color)-for-dark-background;
104
+ }
105
+
106
+ .lux-gradient-bg {
107
+ background-color: #fff; //Fallback
108
+ background-image: var(--lux-theme-app-gradient);
109
+ }
110
+
111
+ .lux-color-dark-divider {
112
+ color: var(--lux-theme-dark-dividers);
113
+ }
114
+
115
+ .lux-color-light-divider {
116
+ color: var(--lux-theme-light-dividers);
117
+ }
118
+
119
+ .lux-outline-color-light {
120
+ color: var(--lux-theme-outline-color-bright);
121
+ }
122
+
123
+ .lux-outline-color-dark {
124
+ color: var(--lux-theme-outline-color-dark);
125
+ }
126
+
127
+ .lux-outline-width {
128
+ outline-width: var(--lux-theme-outline-width);
129
+ }
130
+
131
+ .lux-outline-style {
132
+ outline-style: var(--lux-theme-outline-style);
133
+ }
134
+
135
+ .lux-outline-light {
136
+ color: var(--lux-theme-outline-color-bright);
137
+ outline-width: var(--lux-theme-outline-width);
138
+ outline-style: var(--lux-theme-outline-style);
139
+ }
140
+
141
+ .lux-outline-dark {
142
+ color: var(--lux-theme-outline-color-dark);
143
+ outline-width: var(--lux-theme-outline-width);
144
+ outline-style: var(--lux-theme-outline-style);
145
+ }
146
+
147
+ .lux-highlight-section {
148
+ -webkit-border-radius: 4px;
149
+ -moz-border-radius: 4px;
150
+ border-radius: 4px;
151
+ margin: 16px 0;
152
+ padding: 16px 16px;
153
+ border: 1px solid var(--lux-theme-dark-dividers);
154
+ display: flex;
155
+ word-break: break-word;
156
+
157
+ &.column {
158
+ flex-direction: column;
159
+ gap: 16px;
160
+ }
161
+
162
+ &.row {
163
+ flex-direction: row;
164
+ gap: 16px;
165
+ }
166
+ }
167
+
168
+ .lux-highlight-section-label {
169
+ margin-top: 0;
170
+ margin-left: 0;
171
+ }
172
+
173
+ .lux-simple-form {
174
+ margin: 4px 0;
175
+ display: flex;
176
+
177
+ &.column {
178
+ flex-direction: column;
179
+ gap: 16px;
180
+ }
181
+
182
+ &.row {
183
+ flex-direction: row;
184
+ gap: 16px;
185
+ }
186
+ }
187
+
188
+ html,
189
+ body,
190
+ .lux-app-container {
191
+ height: 100%;
192
+ }
193
+
194
+ .lux-app-container {
195
+ flex-direction: column;
196
+ box-sizing: border-box;
197
+ display: flex;
198
+ flex: 1 1 100%;
199
+ }
200
+
201
+ body {
202
+ -webkit-overflow-scrolling: touch;
203
+ }
204
+
205
+ .mat-mdc-dialog-container {
206
+ background-color: var(--lux-theme-app-content-bg) !important;
207
+ }
208
+
209
+ // für Demo
210
+ lux-card.lux-card-grow {
211
+ display: flex;
212
+ flex: 1 1 auto;
213
+ width: 400px;
214
+ min-width: 0;
215
+
216
+ mat-card {
217
+ display: flex;
218
+ flex: 1 1 auto;
219
+ min-width: 0;
220
+ }
221
+
222
+ mat-card-content {
223
+ display: flex;
224
+ flex: 1 1 auto;
225
+ min-width: 0;
226
+ }
227
+ }
228
+
229
+ .lux-crop {
230
+ overflow: hidden;
231
+ white-space: nowrap;
232
+ text-overflow: ellipsis;
233
+ }
234
+
235
+ .lux-crop-2-lines {
236
+ overflow: hidden;
237
+ white-space: normal;
238
+ word-wrap: break-word;
239
+ overflow-wrap: break-word;
240
+ display: -webkit-box;
241
+ -webkit-box-orient: vertical;
242
+ -webkit-line-clamp: 2;
243
+ line-clamp: 2;
244
+ text-overflow: ellipsis;
245
+ }
246
+
247
+ .lux-label {
248
+ color: var(--lux-theme-dark-secondary-text);
249
+ font-size: 0.75rem;
250
+ }
251
+
252
+ .lux-hint {
253
+ color: var(--lux-theme-dark-secondary-text);
254
+ font-size: 0.75rem;
255
+ }
256
+
257
+ .lux-sr-only {
258
+ // sr=screen-reader vgl. https://webaim.org/techniques/css/invisiblecontent/
259
+ position: absolute;
260
+ left: -10000px;
261
+ top: auto;
262
+ width: 1px;
263
+ height: 1px;
264
+ overflow: hidden;
265
+ }
266
+
267
+ .lux-border-box {
268
+ box-sizing: border-box;
269
+ }
270
+
271
+ .lux-content-box {
272
+ box-sizing: content-box;
273
+ }
274
+
275
+ .lux-nowrap {
276
+ white-space: nowrap;
277
+ }
278
+
279
+ .lux-cursor {
280
+ cursor: pointer;
281
+ }
282
+
283
+ .lux-block-pointer-events {
284
+ pointer-events: none;
285
+ }
286
+
287
+ .lux-vertical-align-baseline {
288
+ vertical-align: baseline !important;
289
+ }
290
+
291
+ .lux-black-semi-transparent {
292
+ color: var(--lux-theme-dark-primary-text);
293
+ }
294
+
295
+ .lux-semi-transparent {
296
+ opacity: 0.6;
297
+ }
298
+
299
+ .lux-overflow-y-hidden {
300
+ overflow-y: hidden;
301
+ }
302
+
303
+ .lux-overflow-y-auto {
304
+ overflow-y: auto;
305
+ }
306
+
307
+ .lux-overflow-wrap-break-word {
308
+ overflow-wrap: break-word;
309
+ }
310
+
311
+ .lux-bold {
312
+ font-weight: bold !important;
313
+ }
314
+
315
+ .lux-uppercase {
316
+ text-transform: uppercase !important;
317
+ }
318
+
319
+ .lux-lowercase {
320
+ text-transform: lowercase !important;
321
+ }
322
+
323
+ .lux-hyphenate {
324
+ overflow-wrap: break-word;
325
+ word-wrap: break-word;
326
+ word-break: normal;
327
+ -webkit-hyphens: auto;
328
+ -ms-hyphens: auto;
329
+ -moz-hyphens: auto;
330
+ hyphens: auto;
331
+ overflow-x: auto;
332
+ }
333
+
334
+ .lux-reset-icon {
335
+ display: inline-block;
336
+
337
+ .lux-icon:hover {
338
+ border-radius: 50%;
339
+ color: var(--lux-theme-on-hover-color);
340
+ background-color: var(--lux-theme-hover-color);
341
+ cursor: pointer;
342
+ }
343
+ }
344
+
345
+ /* <MARGINS / PADDINGS> */
346
+
347
+ /*
348
+ Erstellt die Layout-Gaps (Margin-Abstände für Children von fxLayouts).
349
+ Um weitere Steps hinzufuegen die Variable gapSteps um die entsprechenden Werte ergaenzen.
350
+ */
351
+ $gapSteps: 10, 20, 30;
352
+
353
+ @each $gapStep in $gapSteps {
354
+ .lux-flex-layout-gap-#{$gapStep}[style*="row"] > *:not(:last-child) {
355
+ margin-right: #{$gapStep}px;
356
+ }
357
+ .lux-flex-layout-gap-#{$gapStep}[style*="column"] > *:not(:last-child) {
358
+ margin-bottom: #{$gapStep}px;
359
+ }
360
+ }
361
+
362
+ /*
363
+ Erstellt die Z-Indizes.
364
+ Um weitere Z-Indizes anzulegen, die Variable zindexSteps um die entsprechenden Werte ergaenzen.
365
+ */
366
+ $zindexSteps: 100, 500, 1000;
367
+
368
+ @each $zindexStep in $zindexSteps {
369
+ .lux-z-index-#{$zindexStep} {
370
+ z-index: #{$zindexStep};
371
+ }
372
+ }
373
+
374
+ /*
375
+ Für die Darstellung von uppercase-Labels wenn die Configuration das erlaubt.
376
+ */
377
+ .lux-uppercase > lux-button,
378
+ lux-button.lux-uppercase {
379
+ .lux-button-label {
380
+ text-transform: uppercase;
381
+ }
382
+ }
383
+
384
+ $componentColorNames: ("red", "green", "purple", "blue", "gray", "orange", "black", "white", "yellow", "pink", "lightblue");
385
+
386
+ @each $colorName in $componentColorNames {
387
+ .lux-color-#{"" + $colorName + ""} {
388
+ color: var(--lux-theme-custom-#{$colorName});
389
+ }
390
+ }
391
+
392
+ @each $colorName in $componentColorNames {
393
+ .lux-bg-color-#{"" + $colorName + ""} {
394
+ background-color: var(--lux-theme-custom-#{$colorName});
395
+ }
396
+ }
397
+
398
+ @each $colorName in $componentColorNames {
399
+ .lux-font-color-#{"" + $colorName + ""} {
400
+ color: var(--lux-theme-custom-on-#{$colorName});
401
+ }
402
+ }
403
+
404
+ .lux-color-dark-primary-text {
405
+ color: var(--lux-theme-dark-primary-text);
406
+ }
407
+
408
+ .lux-color-dark-secondary-text {
409
+ color: var(--lux-theme-dark-secondary-text);
410
+ }
411
+
412
+ .lux-color-dark-disabled-text {
413
+ color: var(--lux-theme-dark-disabled-text);
414
+ }
415
+
416
+ .lux-color-dark-focused {
417
+ color: var(--lux-theme-dark-focused);
418
+ }
419
+
420
+ .lux-color-light-primary-text {
421
+ color: var(--lux-theme-light-primary-text);
422
+ }
423
+
424
+ .lux-color-light-secondary-text {
425
+ color: var(--lux-theme-light-secondary-text);
426
+ }
427
+
428
+ .lux-color-light-disabled-text {
429
+ color: var(--lux-theme-light-disabled-text);
430
+ }
431
+
432
+ .lux-color-light-focused {
433
+ color: var(--lux-theme-light-focused);
434
+ }
435
+
436
+ .lux-text-highlight-primary,
437
+ lux-table .lux-table .lux-table-content .mat-mdc-row:nth-child(even).lux-text-highlight-primary,
438
+ lux-table .lux-table .lux-table-content .mat-mdc-row:nth-child(odd).lux-text-highlight-primary {
439
+ color: var(--mat-sys-on-primary-container);
440
+ background-color: var(--mat-sys-primary-container);
441
+
442
+ @media (prefers-contrast: more) {
443
+ color: var(--lux-theme-dark-primary-text);
444
+ background-color: var(--lux-theme-primary-70);
445
+ }
446
+ }
447
+
448
+ .lux-text-highlight-primary-strong,
449
+ lux-table .lux-table .lux-table-content .mat-mdc-row:nth-child(even).lux-text-highlight-primary-strong,
450
+ lux-table .lux-table .lux-table-content .mat-mdc-row:nth-child(odd).lux-text-highlight-primary-strong {
451
+ color: var(--lux-theme-dark-primary-text);
452
+ background-color: var(--lux-theme-primary-70);
453
+ }
454
+
455
+ .lux-text-highlight-success,
456
+ lux-table .lux-table .lux-table-content .mat-mdc-row:nth-child(even).lux-text-highlight-success,
457
+ lux-table .lux-table .lux-table-content .mat-mdc-row:nth-child(odd).lux-text-highlight-success {
458
+ color: var(--mat-sys-on-tertiary-container);
459
+ background-color: var(--mat-sys-tertiary-container);
460
+
461
+ @media (prefers-contrast: more) {
462
+ color: var(--mat-sys-on-tertiary);
463
+ background-color: var(--mat-sys-tertiary);
464
+ }
465
+ }
466
+
467
+ .lux-text-highlight-success-strong,
468
+ lux-table .lux-table .lux-table-content .mat-mdc-row:nth-child(even).lux-text-highlight-success-strong,
469
+ lux-table .lux-table .lux-table-content .mat-mdc-row:nth-child(odd).lux-text-highlight-success-strong {
470
+ color: #1c1b1b;
471
+ background-color: #56bd66;
472
+ }
473
+
474
+ .lux-text-highlight-alert,
475
+ lux-table .lux-table .lux-table-content .mat-mdc-row:nth-child(even).lux-text-highlight-alert,
476
+ lux-table .lux-table .lux-table-content .mat-mdc-row:nth-child(odd).lux-text-highlight-alert {
477
+ color: #1c1b1b;
478
+ background-color: #fdedab;
479
+
480
+ @media (prefers-contrast: more) {
481
+ color: var(--lux-theme-custom-on-yellow);
482
+ background-color: var(--lux-theme-custom-yellow);
483
+ }
484
+ }
485
+
486
+ .lux-text-highlight-alert-strong,
487
+ lux-table .lux-table .lux-table-content .mat-mdc-row:nth-child(even).lux-text-highlight-alert-strong,
488
+ lux-table .lux-table .lux-table-content .mat-mdc-row:nth-child(odd).lux-text-highlight-alert-strong {
489
+ color: var(--lux-theme-custom-on-yellow);
490
+ background-color: var(--lux-theme-custom-yellow);
491
+ }
492
+
493
+ .lux-text-highlight-error,
494
+ lux-table .lux-table .lux-table-content .mat-mdc-row:nth-child(even).lux-text-highlight-error,
495
+ lux-table .lux-table .lux-table-content .mat-mdc-row:nth-child(odd).lux-text-highlight-error {
496
+ color: #93000c;
497
+ background-color: #ffdad6;
498
+
499
+ @media (prefers-contrast: more) {
500
+ color: var(--lux-theme-dark-primary-text);
501
+ background-color: var(--lux-theme-warn-70);
502
+ }
503
+ }
504
+
505
+ .lux-text-highlight-error-strong,
506
+ lux-table .lux-table .lux-table-content .mat-mdc-row:nth-child(even).lux-text-highlight-error-strong,
507
+ lux-table .lux-table .lux-table-content .mat-mdc-row:nth-child(odd).lux-text-highlight-error-strong {
508
+ color: var(--lux-theme-dark-primary-text);
509
+ background-color: var(--lux-theme-warn-70);
510
+ }