@festo-ui/web-essentials 8.2.0-dev.630 → 8.2.0-dev.637

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 (78) hide show
  1. package/README.md +83 -83
  2. package/dist/css/festo-web-essentials.css +9 -12
  3. package/dist/css/festo-web-essentials.css.map +1 -1
  4. package/dist/css/festo-web-essentials.min.css +12 -12
  5. package/dist/css/festo-web-essentials.min.css.map +1 -1
  6. package/dist/css/light/festo-web-essentials-light.css +0 -3
  7. package/dist/css/light/festo-web-essentials-light.css.map +1 -1
  8. package/dist/css/themes/flatpickr/festo.css +1 -1
  9. package/dist/css/themes/flatpickr/festo.min.css +1 -1
  10. package/dist/scss/_badge.scss +49 -49
  11. package/dist/scss/_border.scss +86 -86
  12. package/dist/scss/_bottom-navigation.scss +47 -47
  13. package/dist/scss/_bottom-sheet.scss +116 -116
  14. package/dist/scss/_colors.scss +11 -11
  15. package/dist/scss/_display.scss +63 -63
  16. package/dist/scss/_flex.scss +269 -269
  17. package/dist/scss/_grid.scss +44 -44
  18. package/dist/scss/_layout.scss +64 -64
  19. package/dist/scss/_list.scss +211 -211
  20. package/dist/scss/_misc.scss +51 -51
  21. package/dist/scss/_mixins.scss +51 -51
  22. package/dist/scss/_modal.scss +233 -233
  23. package/dist/scss/_normalize.scss +369 -369
  24. package/dist/scss/_pagination.scss +124 -124
  25. package/dist/scss/_rfs.scss +177 -177
  26. package/dist/scss/_segment.scss +146 -146
  27. package/dist/scss/_sidebar-overlay.scss +51 -51
  28. package/dist/scss/_slider.scss +150 -150
  29. package/dist/scss/_snackbar.scss +159 -159
  30. package/dist/scss/_spacing.scss +51 -51
  31. package/dist/scss/_switch.scss +145 -145
  32. package/dist/scss/_text-input.scss +191 -191
  33. package/dist/scss/_text-link.scss +52 -52
  34. package/dist/scss/_toolbar.scss +83 -83
  35. package/dist/scss/_type.scss +50 -50
  36. package/dist/scss/_utils.scss +9 -9
  37. package/dist/scss/festo-web-essentials.scss +1 -1
  38. package/dist/scss/light/_border-light.scss +75 -75
  39. package/dist/scss/light/_flex-light.scss +258 -258
  40. package/dist/scss/light/_spacing-light.scss +52 -52
  41. package/dist/scss/light/festo-web-essentials-light.scss +59 -59
  42. package/dist/scss/organisms/_header-modul.scss +111 -111
  43. package/dist/scss/organisms/_teaser.scss +96 -96
  44. package/dist/scss/themes/flatpickr/festo.scss +1 -1
  45. package/package.json +10 -16
  46. package/scss/_badge.scss +49 -49
  47. package/scss/_border.scss +86 -86
  48. package/scss/_bottom-navigation.scss +47 -47
  49. package/scss/_bottom-sheet.scss +116 -116
  50. package/scss/_colors.scss +11 -11
  51. package/scss/_display.scss +63 -63
  52. package/scss/_flex.scss +269 -269
  53. package/scss/_grid.scss +44 -44
  54. package/scss/_layout.scss +64 -64
  55. package/scss/_list.scss +211 -211
  56. package/scss/_misc.scss +51 -51
  57. package/scss/_mixins.scss +51 -51
  58. package/scss/_modal.scss +233 -233
  59. package/scss/_normalize.scss +369 -369
  60. package/scss/_pagination.scss +124 -124
  61. package/scss/_rfs.scss +177 -177
  62. package/scss/_segment.scss +146 -146
  63. package/scss/_sidebar-overlay.scss +51 -51
  64. package/scss/_slider.scss +150 -150
  65. package/scss/_snackbar.scss +159 -159
  66. package/scss/_spacing.scss +51 -51
  67. package/scss/_switch.scss +145 -145
  68. package/scss/_text-input.scss +191 -191
  69. package/scss/_text-link.scss +52 -52
  70. package/scss/_toolbar.scss +83 -83
  71. package/scss/_type.scss +50 -50
  72. package/scss/_utils.scss +9 -9
  73. package/scss/light/_border-light.scss +75 -75
  74. package/scss/light/_flex-light.scss +258 -258
  75. package/scss/light/_spacing-light.scss +52 -52
  76. package/scss/light/festo-web-essentials-light.scss +59 -59
  77. package/scss/organisms/_header-modul.scss +111 -111
  78. package/scss/organisms/_teaser.scss +96 -96
package/scss/_misc.scss CHANGED
@@ -1,51 +1,51 @@
1
- .fwe-object-fit-contain {
2
- object-fit: contain !important;
3
- }
4
-
5
- .fwe-object-fit-cover {
6
- object-fit: cover !important;
7
- }
8
-
9
- .fwe-object-fit-fill {
10
- object-fit: fill !important;
11
- }
12
-
13
- .fwe-object-fit-scale-down {
14
- object-fit: scale-down !important;
15
- }
16
-
17
- .fwe-w-100 {
18
- width: 100% !important;
19
- }
20
-
21
- .fwe-h-100 {
22
- height: 100% !important;
23
- }
24
-
25
- .fwe-text-align-center {
26
- text-align: center;
27
- }
28
-
29
- .fwe-text-align-right {
30
- text-align: right;
31
- }
32
-
33
- .fwe-text-align-left {
34
- text-align: left;
35
- }
36
-
37
- .fwe-text-align-justify {
38
- text-align: justify;
39
- }
40
-
41
- .fwe-text-align-end {
42
- text-align: end;
43
- }
44
-
45
- .fwe-text-align-start {
46
- text-align: start;
47
- }
48
-
49
- .fwe-cursor-pointer {
50
- cursor: pointer;
51
- }
1
+ .fwe-object-fit-contain {
2
+ object-fit: contain !important;
3
+ }
4
+
5
+ .fwe-object-fit-cover {
6
+ object-fit: cover !important;
7
+ }
8
+
9
+ .fwe-object-fit-fill {
10
+ object-fit: fill !important;
11
+ }
12
+
13
+ .fwe-object-fit-scale-down {
14
+ object-fit: scale-down !important;
15
+ }
16
+
17
+ .fwe-w-100 {
18
+ width: 100% !important;
19
+ }
20
+
21
+ .fwe-h-100 {
22
+ height: 100% !important;
23
+ }
24
+
25
+ .fwe-text-align-center {
26
+ text-align: center;
27
+ }
28
+
29
+ .fwe-text-align-right {
30
+ text-align: right;
31
+ }
32
+
33
+ .fwe-text-align-left {
34
+ text-align: left;
35
+ }
36
+
37
+ .fwe-text-align-justify {
38
+ text-align: justify;
39
+ }
40
+
41
+ .fwe-text-align-end {
42
+ text-align: end;
43
+ }
44
+
45
+ .fwe-text-align-start {
46
+ text-align: start;
47
+ }
48
+
49
+ .fwe-cursor-pointer {
50
+ cursor: pointer;
51
+ }
package/scss/_mixins.scss CHANGED
@@ -1,51 +1,51 @@
1
- @use "variables";
2
-
3
- @mixin firefox-only {
4
- @at-root {
5
- @-moz-document url-prefix() {
6
- & {
7
- @content;
8
- }
9
- }
10
- }
11
- }
12
-
13
- /* a screen reader friendly approach */
14
- @mixin visual-hidden {
15
- position: absolute;
16
- width: 1px;
17
- height: 1px;
18
- padding: 0;
19
- overflow: hidden;
20
- clip: rect(0, 0, 0, 0);
21
- white-space: nowrap;
22
- clip-path: inset(50%);
23
- border: 0;
24
- }
25
-
26
- @mixin custom-scrollbar {
27
- @-moz-document url-prefix() {
28
- scrollbar-width: thin;
29
- scrollbar-color: variables.$control-scrollbar transparent;
30
- }
31
- @media (pointer: fine) {
32
- &::-webkit-scrollbar {
33
- width: 14px;
34
- }
35
-
36
- &::-webkit-scrollbar-track {
37
- background: transparent;
38
- }
39
-
40
- &::-webkit-scrollbar-thumb {
41
- overflow: visible;
42
- background-color: variables.$control-scrollbar;
43
- // use $gray-100 with opacity 0 for effect of margins of scrollbar
44
- border: 3px solid rgba(242, 243, 245, 0);
45
- // hide the background with background clip
46
- -webkit-background-clip: padding-box;
47
- background-clip: padding-box;
48
- border-radius: 8px;
49
- }
50
- }
51
- }
1
+ @use "variables";
2
+
3
+ @mixin firefox-only {
4
+ @at-root {
5
+ @-moz-document url-prefix() {
6
+ & {
7
+ @content;
8
+ }
9
+ }
10
+ }
11
+ }
12
+
13
+ /* a screen reader friendly approach */
14
+ @mixin visual-hidden {
15
+ position: absolute;
16
+ width: 1px;
17
+ height: 1px;
18
+ padding: 0;
19
+ overflow: hidden;
20
+ clip: rect(0, 0, 0, 0);
21
+ white-space: nowrap;
22
+ clip-path: inset(50%);
23
+ border: 0;
24
+ }
25
+
26
+ @mixin custom-scrollbar {
27
+ @-moz-document url-prefix() {
28
+ scrollbar-width: thin;
29
+ scrollbar-color: variables.$control-scrollbar transparent;
30
+ }
31
+ @media (pointer: fine) {
32
+ &::-webkit-scrollbar {
33
+ width: 14px;
34
+ }
35
+
36
+ &::-webkit-scrollbar-track {
37
+ background: transparent;
38
+ }
39
+
40
+ &::-webkit-scrollbar-thumb {
41
+ overflow: visible;
42
+ background-color: variables.$control-scrollbar;
43
+ // use $gray-100 with opacity 0 for effect of margins of scrollbar
44
+ border: 3px solid rgba(242, 243, 245, 0);
45
+ // hide the background with background clip
46
+ -webkit-background-clip: padding-box;
47
+ background-clip: padding-box;
48
+ border-radius: 8px;
49
+ }
50
+ }
51
+ }
package/scss/_modal.scss CHANGED
@@ -1,233 +1,233 @@
1
- @use "mixins";
2
- @use "variables";
3
-
4
- .fwe-modal {
5
- padding: variables.$spacer-xl;
6
- z-index: variables.$zindex-modal;
7
- background-color: variables.$white;
8
- box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
9
- position: relative;
10
- width: 92vw;
11
- max-width: 550px;
12
- max-height: 92vh;
13
- outline: 0;
14
- display: flex;
15
- flex-direction: column;
16
- overflow: hidden;
17
-
18
- .fwe-modal-body {
19
- overflow-x: hidden;
20
- overflow-y: auto;
21
- @include mixins.custom-scrollbar;
22
- }
23
-
24
- &-h1 {
25
- margin-top: 0;
26
- margin-bottom: variables.$spacer-l;
27
- margin-right: variables.$spacer-l;
28
- overflow: hidden;
29
- text-overflow: ellipsis;
30
- }
31
-
32
- &-h2 {
33
- margin-top: 0;
34
- margin-bottom: variables.$spacer-xs;
35
- margin-right: variables.$spacer-l;
36
- font-size: variables.$font-size-md;
37
- line-height: 18px;
38
- font-weight: variables.$font-weight-bold;
39
- white-space: nowrap;
40
- overflow: hidden;
41
- text-overflow: ellipsis;
42
- position: relative;
43
- }
44
-
45
- &-close-btn {
46
- position: absolute;
47
- top: variables.$spacer-l;
48
- right: variables.$spacer-l;
49
- width: 32px;
50
- height: 32px;
51
- padding: 0;
52
- border: none;
53
- min-width: 32px;
54
- cursor: pointer;
55
- background: variables.$text;
56
- mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMiAzMiI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTTAgMGgzMnYzMkgweiIgZGF0YS1uYW1lPSJ3aGl0ZSBiYWNrZ3JvdW5kIi8+PHBhdGggZmlsbD0iIzMzMyIgZD0iTTIxLjQ4IDkuMSAxNiAxNC41OSAxMC41MSA5LjEgOS4xIDEwLjUyIDE0LjU4IDE2IDkuMSAyMS40OWwxLjQxIDEuNDFMMTYgMTcuNDJsNS40OCA1LjQ4IDEuNDItMS40MUwxNy40MSAxNmw1LjQ5LTUuNDgtMS40Mi0xLjQyeiIgZGF0YS1uYW1lPSJjb250ZW50Ii8+PC9zdmc+");
57
- &:hover {
58
- background: variables.$hero;
59
- }
60
- }
61
-
62
- &-header {
63
- flex-shrink: 0;
64
- }
65
-
66
- &-body {
67
- flex-shrink: 1;
68
- flex-grow: 1;
69
- width: 100%;
70
- height: 100%;
71
- overflow: auto;
72
- margin-bottom: variables.$spacer-l;
73
- p:first-child {
74
- margin-top: 0;
75
- }
76
- p:last-child {
77
- margin-bottom: 0;
78
- }
79
- }
80
-
81
- &-buttons {
82
- flex-shrink: 0;
83
- display: grid;
84
- grid-column-gap: variables.$spacer-xs;
85
- grid-auto-flow: column;
86
- grid-auto-columns: minmax(0, 1fr);
87
- }
88
-
89
- &--with-indicator-bar {
90
- border-left: 8px solid variables.$hero;
91
-
92
- &.fwe-modal--warning,
93
- &.fwe-modal--error {
94
- button.fwe-btn.fwe-btn-link {
95
- color: variables.$text;
96
- }
97
- }
98
- }
99
-
100
- &--info,
101
- &--warning,
102
- &--error {
103
- .fwe-modal-h2 {
104
- padding-left: 24px;
105
- &::before {
106
- content: "";
107
- position: absolute;
108
- left: 0px;
109
- top: 1px;
110
- height: 16px;
111
- width: 16px;
112
- }
113
- }
114
-
115
- @media (max-width: variables.$grid-breakpoint-xs), (max-height: variables.$grid-breakpoint-xs) {
116
- .fwe-modal-h1 {
117
- padding-left: 32px;
118
- position: relative;
119
- &::before {
120
- content: "";
121
- position: absolute;
122
- left: 0px;
123
- top: 4px;
124
- height: 24px;
125
- width: 24px;
126
- }
127
- }
128
- }
129
- }
130
-
131
- &--info {
132
- .fwe-modal-h2::before {
133
- background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTTAgMGgxNnYxNkgweiIgZGF0YS1uYW1lPSJ3aGl0ZSBiYWNrZ3JvdW5kIi8+PHBhdGggZmlsbD0iIzAwOTFkYyIgZD0iTTggMWE3IDcgMCAxIDAgNyA3IDcgNyAwIDAgMC03LTdabTEgMTJIN1Y3aDJabTAtOEg3VjNoMloiIGRhdGEtbmFtZT0iY29udGVudCIvPjwvc3ZnPg==");
134
- }
135
-
136
- .fwe-modal-h1::before {
137
- background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTTAgMGgyNHYyNEgweiIgZGF0YS1uYW1lPSJ3aGl0ZSBiYWNrZ3JvdW5kIi8+PHBhdGggZmlsbD0iIzAwOTFkYyIgZD0iTTEyIDFhMTEgMTEgMCAxIDAgMTEgMTFBMTEuMDMyIDExLjAzMiAwIDAgMCAxMiAxWm0xIDE4aC0ydi05aDJabTAtMTJoLTJWNWgyWiIgZGF0YS1uYW1lPSJjb250ZW50Ii8+PC9zdmc+");
138
- }
139
- }
140
-
141
- &--warning {
142
- border-color: variables.$orange;
143
- .fwe-modal-h2::before {
144
- background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTTAgMGgxNnYxNkgweiIgZGF0YS1uYW1lPSJ3aGl0ZSBiYWNrZ3JvdW5kIi8+PHBhdGggZmlsbD0iI2ZmOTYwMCIgZD0iTTE1LjIxNiAxMy41MyA4Ljg4MiAxLjY1M2ExIDEgMCAwIDAtMS43NjQgMEwuNzg0IDEzLjUzQTEgMSAwIDAgMCAxLjY2NyAxNWgxMi42NjZhMSAxIDAgMCAwIC44ODMtMS40N1pNOSAxM0g3di0yaDJabTAtM0g3VjVoMloiIGRhdGEtbmFtZT0iY29udGVudCIvPjwvc3ZnPg==");
145
- }
146
-
147
- .fwe-modal-h1::before {
148
- background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTTAgMGgyNHYyNEgweiIgZGF0YS1uYW1lPSJ3aGl0ZSBiYWNrZ3JvdW5kIi8+PHBhdGggZmlsbD0iI2ZmOTYwMCIgZD0iTTIyLjQgMTkuODYgMTMuMjczIDIuNzQzYTEuNDQxIDEuNDQxIDAgMCAwLTIuNTQ0IDBMMS42IDE5Ljg2YTEuNDQxIDEuNDQxIDAgMCAwIDEuMjcyIDIuMTJIMjEuMTNhMS40NDEgMS40NDEgMCAwIDAgMS4yNzItMi4xMlpNMTEgN2gydjhoLTJabTIuMDA1IDExLjk2NWgtMi4wMXYtMi4wMWgyLjAxWiIgZGF0YS1uYW1lPSJjb250ZW50Ii8+PC9zdmc+");
149
- }
150
- }
151
-
152
- &--error {
153
- border-color: variables.$red;
154
- .fwe-modal-h2::before {
155
- background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTTAgMGgxNnYxNkgweiIgZGF0YS1uYW1lPSJ3aGl0ZSBiYWNrZ3JvdW5kIi8+PHBhdGggZmlsbD0iI2Q1MDAwMCIgZD0iTTggMS4wODFhNi45NiA2Ljk2IDAgMSAwIDYuOTYgNi45NkE2Ljk2IDYuOTYgMCAwIDAgOCAxLjA4Wm0yLjM5NyA5Ljk3MUw3Ljk1OCA4LjYxM2wtMi4zNTUgMi4zNTYtLjYzNy0uNjM3IDIuMzU2LTIuMzU1LTIuMjI4LTIuMjI4LjYzNi0uNjM3TDcuOTU4IDcuMzRsMi4zMTEtMi4zMTEuNjM3LjYzNy0yLjMxMSAyLjMxMSAyLjQzOSAyLjQzOFoiIGRhdGEtbmFtZT0iY29udGVudCIvPjwvc3ZnPg==");
156
- }
157
-
158
- .fwe-modal-h1::before {
159
- background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTTAgMGgyNHYyNEgweiIgZGF0YS1uYW1lPSJ3aGl0ZSBiYWNrZ3JvdW5kIi8+PHBhdGggZmlsbD0iI2Q1MDAwMCIgZD0iTTEyIDFhMTEgMTEgMCAxIDAgMTEgMTFBMTEgMTEgMCAwIDAgMTIgMVptNS43IDE1LjItMS41IDEuNS00LjItNC4zLTQuMiA0LjMtMS41LTEuNSA0LjMtNC4yLTQuMy00LjIgMS41LTEuNSA0LjIgNC4zIDQuMi00LjMgMS41IDEuNS00LjMgNC4yWiIgZGF0YS1uYW1lPSJjb250ZW50Ii8+PC9zdmc+");
160
- }
161
- }
162
-
163
- &--large {
164
- max-width: 912px;
165
- min-width: 375px;
166
- .fwe-modal-buttons {
167
- justify-content: end;
168
- grid-auto-columns: minmax(200px, auto);
169
- }
170
- }
171
- }
172
-
173
- @keyframes fwe-modal-backdrop-fade-in {
174
- from {
175
- opacity: 0;
176
- }
177
- to {
178
- opacity: 1;
179
- }
180
- }
181
-
182
- .fwe-modal-backdrop {
183
- position: fixed;
184
- background-color: variables.$background-modal;
185
- top: 0;
186
- left: 0;
187
- width: 100vw;
188
- height: 100vh;
189
- z-index: variables.$zindex-modal-backdrop;
190
- display: flex;
191
- align-items: center;
192
- justify-content: center;
193
- animation: fwe-modal-backdrop-fade-in 0.3s ease-out;
194
- }
195
-
196
- @media (max-width: variables.$grid-breakpoint-xs), (max-height: variables.$grid-breakpoint-xs) {
197
- .fwe-modal {
198
- // always use block buttons on this width
199
- padding: variables.$spacer-m;
200
- &-buttons {
201
- justify-content: unset !important;
202
- grid-auto-columns: minmax(0, 1fr) !important;
203
- }
204
-
205
- &-close-btn {
206
- top: variables.$spacer-xs;
207
- right: variables.$spacer-xs;
208
- }
209
-
210
- &-h1 {
211
- font-size: variables.$font-size-xl;
212
- line-height: variables.$spacer-l;
213
- margin-top: 0;
214
- margin-bottom: variables.$spacer-m;
215
- margin-right: variables.$spacer-s;
216
- }
217
-
218
- &-h2 {
219
- @include mixins.visual-hidden();
220
- }
221
-
222
- &-body {
223
- margin-bottom: variables.$spacer-m;
224
- }
225
- }
226
- }
227
-
228
- @media (max-width: 375px) {
229
- .fwe-modal--large {
230
- width: unset;
231
- min-width: unset;
232
- }
233
- }
1
+ @use "mixins";
2
+ @use "variables";
3
+
4
+ .fwe-modal {
5
+ padding: variables.$spacer-xl;
6
+ z-index: variables.$zindex-modal;
7
+ background-color: variables.$white;
8
+ box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
9
+ position: relative;
10
+ width: 92vw;
11
+ max-width: 550px;
12
+ max-height: 92vh;
13
+ outline: 0;
14
+ display: flex;
15
+ flex-direction: column;
16
+ overflow: hidden;
17
+
18
+ .fwe-modal-body {
19
+ overflow-x: hidden;
20
+ overflow-y: auto;
21
+ @include mixins.custom-scrollbar;
22
+ }
23
+
24
+ &-h1 {
25
+ margin-top: 0;
26
+ margin-bottom: variables.$spacer-l;
27
+ margin-right: variables.$spacer-l;
28
+ overflow: hidden;
29
+ text-overflow: ellipsis;
30
+ }
31
+
32
+ &-h2 {
33
+ margin-top: 0;
34
+ margin-bottom: variables.$spacer-xs;
35
+ margin-right: variables.$spacer-l;
36
+ font-size: variables.$font-size-md;
37
+ line-height: 18px;
38
+ font-weight: variables.$font-weight-bold;
39
+ white-space: nowrap;
40
+ overflow: hidden;
41
+ text-overflow: ellipsis;
42
+ position: relative;
43
+ }
44
+
45
+ &-close-btn {
46
+ position: absolute;
47
+ top: variables.$spacer-l;
48
+ right: variables.$spacer-l;
49
+ width: 32px;
50
+ height: 32px;
51
+ padding: 0;
52
+ border: none;
53
+ min-width: 32px;
54
+ cursor: pointer;
55
+ background: variables.$text;
56
+ mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMiAzMiI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTTAgMGgzMnYzMkgweiIgZGF0YS1uYW1lPSJ3aGl0ZSBiYWNrZ3JvdW5kIi8+PHBhdGggZmlsbD0iIzMzMyIgZD0iTTIxLjQ4IDkuMSAxNiAxNC41OSAxMC41MSA5LjEgOS4xIDEwLjUyIDE0LjU4IDE2IDkuMSAyMS40OWwxLjQxIDEuNDFMMTYgMTcuNDJsNS40OCA1LjQ4IDEuNDItMS40MUwxNy40MSAxNmw1LjQ5LTUuNDgtMS40Mi0xLjQyeiIgZGF0YS1uYW1lPSJjb250ZW50Ii8+PC9zdmc+");
57
+ &:hover {
58
+ background: variables.$hero;
59
+ }
60
+ }
61
+
62
+ &-header {
63
+ flex-shrink: 0;
64
+ }
65
+
66
+ &-body {
67
+ flex-shrink: 1;
68
+ flex-grow: 1;
69
+ width: 100%;
70
+ height: 100%;
71
+ overflow: auto;
72
+ margin-bottom: variables.$spacer-l;
73
+ p:first-child {
74
+ margin-top: 0;
75
+ }
76
+ p:last-child {
77
+ margin-bottom: 0;
78
+ }
79
+ }
80
+
81
+ &-buttons {
82
+ flex-shrink: 0;
83
+ display: grid;
84
+ grid-column-gap: variables.$spacer-xs;
85
+ grid-auto-flow: column;
86
+ grid-auto-columns: minmax(0, 1fr);
87
+ }
88
+
89
+ &--with-indicator-bar {
90
+ border-left: 8px solid variables.$hero;
91
+
92
+ &.fwe-modal--warning,
93
+ &.fwe-modal--error {
94
+ button.fwe-btn.fwe-btn-link {
95
+ color: variables.$text;
96
+ }
97
+ }
98
+ }
99
+
100
+ &--info,
101
+ &--warning,
102
+ &--error {
103
+ .fwe-modal-h2 {
104
+ padding-left: 24px;
105
+ &::before {
106
+ content: "";
107
+ position: absolute;
108
+ left: 0px;
109
+ top: 1px;
110
+ height: 16px;
111
+ width: 16px;
112
+ }
113
+ }
114
+
115
+ @media (max-width: variables.$grid-breakpoint-xs), (max-height: variables.$grid-breakpoint-xs) {
116
+ .fwe-modal-h1 {
117
+ padding-left: 32px;
118
+ position: relative;
119
+ &::before {
120
+ content: "";
121
+ position: absolute;
122
+ left: 0px;
123
+ top: 4px;
124
+ height: 24px;
125
+ width: 24px;
126
+ }
127
+ }
128
+ }
129
+ }
130
+
131
+ &--info {
132
+ .fwe-modal-h2::before {
133
+ background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTTAgMGgxNnYxNkgweiIgZGF0YS1uYW1lPSJ3aGl0ZSBiYWNrZ3JvdW5kIi8+PHBhdGggZmlsbD0iIzAwOTFkYyIgZD0iTTggMWE3IDcgMCAxIDAgNyA3IDcgNyAwIDAgMC03LTdabTEgMTJIN1Y3aDJabTAtOEg3VjNoMloiIGRhdGEtbmFtZT0iY29udGVudCIvPjwvc3ZnPg==");
134
+ }
135
+
136
+ .fwe-modal-h1::before {
137
+ background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTTAgMGgyNHYyNEgweiIgZGF0YS1uYW1lPSJ3aGl0ZSBiYWNrZ3JvdW5kIi8+PHBhdGggZmlsbD0iIzAwOTFkYyIgZD0iTTEyIDFhMTEgMTEgMCAxIDAgMTEgMTFBMTEuMDMyIDExLjAzMiAwIDAgMCAxMiAxWm0xIDE4aC0ydi05aDJabTAtMTJoLTJWNWgyWiIgZGF0YS1uYW1lPSJjb250ZW50Ii8+PC9zdmc+");
138
+ }
139
+ }
140
+
141
+ &--warning {
142
+ border-color: variables.$orange;
143
+ .fwe-modal-h2::before {
144
+ background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTTAgMGgxNnYxNkgweiIgZGF0YS1uYW1lPSJ3aGl0ZSBiYWNrZ3JvdW5kIi8+PHBhdGggZmlsbD0iI2ZmOTYwMCIgZD0iTTE1LjIxNiAxMy41MyA4Ljg4MiAxLjY1M2ExIDEgMCAwIDAtMS43NjQgMEwuNzg0IDEzLjUzQTEgMSAwIDAgMCAxLjY2NyAxNWgxMi42NjZhMSAxIDAgMCAwIC44ODMtMS40N1pNOSAxM0g3di0yaDJabTAtM0g3VjVoMloiIGRhdGEtbmFtZT0iY29udGVudCIvPjwvc3ZnPg==");
145
+ }
146
+
147
+ .fwe-modal-h1::before {
148
+ background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTTAgMGgyNHYyNEgweiIgZGF0YS1uYW1lPSJ3aGl0ZSBiYWNrZ3JvdW5kIi8+PHBhdGggZmlsbD0iI2ZmOTYwMCIgZD0iTTIyLjQgMTkuODYgMTMuMjczIDIuNzQzYTEuNDQxIDEuNDQxIDAgMCAwLTIuNTQ0IDBMMS42IDE5Ljg2YTEuNDQxIDEuNDQxIDAgMCAwIDEuMjcyIDIuMTJIMjEuMTNhMS40NDEgMS40NDEgMCAwIDAgMS4yNzItMi4xMlpNMTEgN2gydjhoLTJabTIuMDA1IDExLjk2NWgtMi4wMXYtMi4wMWgyLjAxWiIgZGF0YS1uYW1lPSJjb250ZW50Ii8+PC9zdmc+");
149
+ }
150
+ }
151
+
152
+ &--error {
153
+ border-color: variables.$red;
154
+ .fwe-modal-h2::before {
155
+ background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTTAgMGgxNnYxNkgweiIgZGF0YS1uYW1lPSJ3aGl0ZSBiYWNrZ3JvdW5kIi8+PHBhdGggZmlsbD0iI2Q1MDAwMCIgZD0iTTggMS4wODFhNi45NiA2Ljk2IDAgMSAwIDYuOTYgNi45NkE2Ljk2IDYuOTYgMCAwIDAgOCAxLjA4Wm0yLjM5NyA5Ljk3MUw3Ljk1OCA4LjYxM2wtMi4zNTUgMi4zNTYtLjYzNy0uNjM3IDIuMzU2LTIuMzU1LTIuMjI4LTIuMjI4LjYzNi0uNjM3TDcuOTU4IDcuMzRsMi4zMTEtMi4zMTEuNjM3LjYzNy0yLjMxMSAyLjMxMSAyLjQzOSAyLjQzOFoiIGRhdGEtbmFtZT0iY29udGVudCIvPjwvc3ZnPg==");
156
+ }
157
+
158
+ .fwe-modal-h1::before {
159
+ background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTTAgMGgyNHYyNEgweiIgZGF0YS1uYW1lPSJ3aGl0ZSBiYWNrZ3JvdW5kIi8+PHBhdGggZmlsbD0iI2Q1MDAwMCIgZD0iTTEyIDFhMTEgMTEgMCAxIDAgMTEgMTFBMTEgMTEgMCAwIDAgMTIgMVptNS43IDE1LjItMS41IDEuNS00LjItNC4zLTQuMiA0LjMtMS41LTEuNSA0LjMtNC4yLTQuMy00LjIgMS41LTEuNSA0LjIgNC4zIDQuMi00LjMgMS41IDEuNS00LjMgNC4yWiIgZGF0YS1uYW1lPSJjb250ZW50Ii8+PC9zdmc+");
160
+ }
161
+ }
162
+
163
+ &--large {
164
+ max-width: 912px;
165
+ min-width: 375px;
166
+ .fwe-modal-buttons {
167
+ justify-content: end;
168
+ grid-auto-columns: minmax(200px, auto);
169
+ }
170
+ }
171
+ }
172
+
173
+ @keyframes fwe-modal-backdrop-fade-in {
174
+ from {
175
+ opacity: 0;
176
+ }
177
+ to {
178
+ opacity: 1;
179
+ }
180
+ }
181
+
182
+ .fwe-modal-backdrop {
183
+ position: fixed;
184
+ background-color: variables.$background-modal;
185
+ top: 0;
186
+ left: 0;
187
+ width: 100vw;
188
+ height: 100vh;
189
+ z-index: variables.$zindex-modal-backdrop;
190
+ display: flex;
191
+ align-items: center;
192
+ justify-content: center;
193
+ animation: fwe-modal-backdrop-fade-in 0.3s ease-out;
194
+ }
195
+
196
+ @media (max-width: variables.$grid-breakpoint-xs), (max-height: variables.$grid-breakpoint-xs) {
197
+ .fwe-modal {
198
+ // always use block buttons on this width
199
+ padding: variables.$spacer-m;
200
+ &-buttons {
201
+ justify-content: unset !important;
202
+ grid-auto-columns: minmax(0, 1fr) !important;
203
+ }
204
+
205
+ &-close-btn {
206
+ top: variables.$spacer-xs;
207
+ right: variables.$spacer-xs;
208
+ }
209
+
210
+ &-h1 {
211
+ font-size: variables.$font-size-xl;
212
+ line-height: variables.$spacer-l;
213
+ margin-top: 0;
214
+ margin-bottom: variables.$spacer-m;
215
+ margin-right: variables.$spacer-s;
216
+ }
217
+
218
+ &-h2 {
219
+ @include mixins.visual-hidden();
220
+ }
221
+
222
+ &-body {
223
+ margin-bottom: variables.$spacer-m;
224
+ }
225
+ }
226
+ }
227
+
228
+ @media (max-width: 375px) {
229
+ .fwe-modal--large {
230
+ width: unset;
231
+ min-width: unset;
232
+ }
233
+ }