@festo-ui/web-essentials 3.1.0 → 3.2.1

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 (87) hide show
  1. package/README.md +14 -13
  2. package/dist/css/festo-web-essentials.css +4679 -2406
  3. package/dist/css/festo-web-essentials.css.map +1 -1
  4. package/dist/css/festo-web-essentials.min.css +5 -1
  5. package/dist/css/festo-web-essentials.min.css.map +1 -1
  6. package/dist/css/fonts/festo_icons-16.woff2 +0 -0
  7. package/dist/css/fonts/festo_icons-24.woff2 +0 -0
  8. package/dist/css/fonts/festo_icons-32.woff2 +0 -0
  9. package/dist/css/organisms/festo-web-essentials-organisms.css +309 -5
  10. package/dist/css/organisms/festo-web-essentials-organisms.css.map +1 -1
  11. package/dist/css/organisms/festo-web-essentials-organisms.min.css +5 -1
  12. package/dist/css/organisms/festo-web-essentials-organisms.min.css.map +1 -1
  13. package/dist/css/themes/flatpickr/festo.css +28 -23
  14. package/dist/css/themes/flatpickr/festo.css.map +1 -1
  15. package/dist/css/themes/flatpickr/festo.min.css +5 -1
  16. package/dist/css/themes/flatpickr/festo.min.css.map +1 -1
  17. package/dist/fonts/festo_icons-16.woff2 +0 -0
  18. package/dist/fonts/festo_icons-24.woff2 +0 -0
  19. package/dist/fonts/festo_icons-32.woff2 +0 -0
  20. package/dist/scss/_accordion.scss +107 -0
  21. package/dist/scss/_badge.scss +1 -1
  22. package/dist/scss/_bottom-navigation.scss +44 -0
  23. package/dist/scss/_breadcrumb.scss +3 -2
  24. package/dist/scss/_button.scss +15 -15
  25. package/dist/scss/_cards.scss +1 -1
  26. package/dist/scss/_checkbox.scss +1 -1
  27. package/dist/scss/_chips.scss +5 -5
  28. package/dist/scss/_fonts.scss +3 -3
  29. package/dist/scss/_icons.scss +144 -9
  30. package/dist/scss/_layout.scss +43 -0
  31. package/dist/scss/_mobile-flyout.scss +108 -0
  32. package/dist/scss/_modal.scss +47 -123
  33. package/dist/scss/_navbar-menu.scss +5 -4
  34. package/dist/scss/_navbar.scss +8 -4
  35. package/dist/scss/_normalize.scss +4 -4
  36. package/dist/scss/_pagination.scss +15 -2
  37. package/dist/scss/_popover.scss +1 -0
  38. package/dist/scss/_root.scss +38 -5
  39. package/dist/scss/_segment.scss +0 -4
  40. package/dist/scss/_stepper-horizontal.scss +126 -0
  41. package/dist/scss/_stepper-vertical.scss +120 -0
  42. package/dist/scss/_text-input.scss +13 -8
  43. package/dist/scss/_timepicker.scss +2 -2
  44. package/dist/scss/_variables.scss +37 -14
  45. package/dist/scss/festo-web-essentials.scss +11 -0
  46. package/dist/scss/fonts/festo_icons-16.woff2 +0 -0
  47. package/dist/scss/fonts/festo_icons-24.woff2 +0 -0
  48. package/dist/scss/fonts/festo_icons-32.woff2 +0 -0
  49. package/dist/scss/organisms/_footer.scss +5 -5
  50. package/dist/scss/organisms/_header-modul.scss +109 -0
  51. package/dist/scss/organisms/_image-gallery.scss +196 -0
  52. package/dist/scss/organisms/_teaser.scss +42 -0
  53. package/dist/scss/organisms/festo-web-essentials-organisms.scss +8 -0
  54. package/dist/scss/themes/flatpickr/festo.scss +28 -14
  55. package/package.json +1 -1
  56. package/scss/_accordion.scss +107 -0
  57. package/scss/_badge.scss +1 -1
  58. package/scss/_bottom-navigation.scss +44 -0
  59. package/scss/_breadcrumb.scss +3 -2
  60. package/scss/_button.scss +15 -15
  61. package/scss/_cards.scss +1 -1
  62. package/scss/_checkbox.scss +1 -1
  63. package/scss/_chips.scss +5 -5
  64. package/scss/_fonts.scss +3 -3
  65. package/scss/_icons.scss +144 -9
  66. package/scss/_layout.scss +43 -0
  67. package/scss/_mobile-flyout.scss +108 -0
  68. package/scss/_modal.scss +47 -123
  69. package/scss/_navbar-menu.scss +5 -4
  70. package/scss/_navbar.scss +8 -4
  71. package/scss/_normalize.scss +4 -4
  72. package/scss/_pagination.scss +15 -2
  73. package/scss/_popover.scss +1 -0
  74. package/scss/_root.scss +38 -5
  75. package/scss/_segment.scss +0 -4
  76. package/scss/_stepper-horizontal.scss +126 -0
  77. package/scss/_stepper-vertical.scss +120 -0
  78. package/scss/_text-input.scss +13 -8
  79. package/scss/_timepicker.scss +2 -2
  80. package/scss/_variables.scss +37 -14
  81. package/scss/festo-web-essentials.scss +11 -0
  82. package/scss/organisms/_footer.scss +5 -5
  83. package/scss/organisms/_header-modul.scss +109 -0
  84. package/scss/organisms/_image-gallery.scss +196 -0
  85. package/scss/organisms/_teaser.scss +42 -0
  86. package/scss/organisms/festo-web-essentials-organisms.scss +8 -0
  87. package/scss/themes/flatpickr/festo.scss +28 -14
@@ -16,17 +16,22 @@
16
16
  top: 50%;
17
17
  left: 50%;
18
18
  transform: translate(-50%, -50%);
19
- width: 50%;
20
- min-width: 375px;
19
+ width: 92%;
21
20
  max-width: 550px;
22
21
  max-height: 90vh;
23
22
  outline: 0;
24
- overflow-x: hidden;
25
- overflow-y: auto;
23
+ display: flex;
24
+ flex-direction: column;
25
+ overflow: hidden;
26
+ .fwe-modal-body {
27
+ @include custom-scrollbar;
28
+ overflow-x: hidden;
29
+ overflow-y: auto;
30
+ }
26
31
 
27
32
  &-h1 {
28
- max-width: 438px;
29
33
  margin-top: 0px;
34
+ margin-right: 32px;
30
35
  margin-bottom: $spacer-l;
31
36
  line-height: $line-height-base;
32
37
 
@@ -50,10 +55,12 @@
50
55
  }
51
56
 
52
57
  &-h2 {
53
- max-width: 380px;
58
+ margin-top: 0;
59
+ margin-right: 32px;
54
60
  font-size: $font-size-md;
55
61
  font-weight: $font-weight-bold;
56
62
  line-height: $line-height-base;
63
+ margin-top: 0px;
57
64
  margin-bottom: $spacer-xxs;
58
65
  white-space: nowrap;
59
66
  overflow: hidden;
@@ -99,13 +106,12 @@
99
106
  }
100
107
 
101
108
  &-header {
102
- :nth-child(1) {
103
- margin-top: 0;
104
- padding-top: 0;
105
- }
109
+ flex-shrink: 0;
106
110
  }
107
111
 
108
112
  &-body {
113
+ flex-shrink: 1;
114
+ flex-grow: 1;
109
115
  width: 100%;
110
116
  height: 100%;
111
117
  overflow: auto;
@@ -121,54 +127,18 @@
121
127
  }
122
128
 
123
129
  &-buttons {
124
- display: flex;
125
- flex-wrap: wrap;
126
- justify-content: flex-end;
127
- margin-left: ($spacer-xs * -1);
128
- margin-bottom: ($spacer-xs * -1);
129
-
130
- &--full-width {
131
- .fwe-btn {
132
- flex: 1 1 0;
133
- display: inline-block;
134
- }
135
- }
136
-
137
- .fwe-btn {
138
- margin-left: $spacer-xs;
139
- margin-bottom: $spacer-xs;
140
- }
130
+ flex-shrink: 0;
131
+ display: grid;
132
+ grid-column-gap: $spacer-xs;
133
+ grid-auto-flow: column;
134
+ grid-auto-columns: minmax(0, 1fr);
141
135
  }
142
136
 
143
137
  &--with-indicator-bar {
144
- padding-left: 56px;
145
- &::before {
146
- display: block;
147
- position: absolute;
148
- top: 0;
149
- left: 0;
150
- content: "";
151
- height: 100%;
152
- width: $spacer-xxs;
153
- }
154
-
155
- &.fwe-modal--warning {
156
- button.fwe-btn.fwe-btn-hero {
157
- background-color: $control;
158
- color: $text;
159
- }
160
-
161
- button.fwe-btn.fwe-btn-link {
162
- color: $text;
163
- }
164
- }
138
+ border-left: 8px solid $hero;
165
139
 
140
+ &.fwe-modal--warning,
166
141
  &.fwe-modal--error {
167
- button.fwe-btn.fwe-btn-hero {
168
- background-color: $control;
169
- color: $text;
170
- }
171
-
172
142
  button.fwe-btn.fwe-btn-link {
173
143
  color: $text;
174
144
  }
@@ -176,50 +146,25 @@
176
146
  }
177
147
 
178
148
  &--info {
179
- &::before {
180
- background-color: $caerul;
181
- }
182
-
183
149
  button.fwe-btn.fwe-btn-link {
184
150
  color: $text;
185
151
  }
186
152
  }
187
153
 
188
154
  &--warning {
189
- &::before {
190
- background-color: $orange;
191
- }
155
+ border-color: $orange;
192
156
  }
193
157
 
194
158
  &--error {
195
- &::before {
196
- background-color: $red;
197
- }
159
+ border-color: $red;
198
160
  }
199
161
 
200
- &--with-scrollable-content {
201
- width: 75%;
202
- max-width: 765px;
203
- overflow: hidden;
204
- .fwe-modal-body {
205
- @include custom-scrollbar;
206
- overflow-x: hidden;
207
- overflow-y: auto;
208
- max-height: calc(85vh - 300px);
209
- padding-bottom: $spacer-xl; // give extra space to scrollable content, to be scrolled out completely of transparent fade out area
210
- padding-right: $spacer-xs;
211
- &::after {
212
- margin-left: $spacer-xl;
213
- margin-right: 60px; // $spacer-xl + 12px scrollbar width
214
- content: "";
215
- position: absolute;
216
- bottom: 108px;
217
- left: 0;
218
- right: 0;
219
- height: 144px;
220
- background-image: linear-gradient(rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 1) 100%);
221
- pointer-events: none;
222
- }
162
+ &--large {
163
+ max-width: 912px;
164
+ min-width: 375px;
165
+ .fwe-modal-buttons {
166
+ justify-content: end;
167
+ grid-auto-columns: minmax(200px, auto);
223
168
  }
224
169
  }
225
170
  }
@@ -234,10 +179,13 @@
234
179
  z-index: $zindex-modal-backdrop;
235
180
  }
236
181
 
237
- @media (max-width: 375px) {
182
+ @media (max-width: $grid-breakpoint-xs) {
238
183
  .fwe-modal {
239
- width: 100%;
240
- min-width: 100%;
184
+ // always use block buttons on this width
185
+ &-buttons {
186
+ justify-content: unset !important;
187
+ grid-auto-columns: minmax(0, 1fr) !important;
188
+ }
241
189
  padding: $spacer-m;
242
190
 
243
191
  &-close {
@@ -246,7 +194,7 @@
246
194
  }
247
195
 
248
196
  &-h1 {
249
- margin-top: $spacer-m;
197
+ margin-top: $spacer-xxs;
250
198
  font-size: $font-size-xl;
251
199
  line-height: $spacer-l;
252
200
 
@@ -279,41 +227,17 @@
279
227
  &-body {
280
228
  margin-bottom: $spacer-m;
281
229
  }
282
-
283
- &--with-scrollable-content {
284
- .fwe-modal-body {
285
- &::after {
286
- display: none;
287
- }
288
- }
289
- }
290
230
  }
291
231
  }
292
232
 
293
- @media (max-width: 735px) {
294
- // always use block buttons on this width
295
- .fwe-modal {
296
- &-buttons {
297
- .fwe-btn {
298
- flex: 1 1 0;
299
- display: inline-block;
300
- }
301
- }
302
- .fwe-btn {
303
- margin-left: $spacer-xs;
304
- margin-bottom: $spacer-xs;
305
- }
306
- }
307
- }
308
-
309
- @media (max-height: 600px) {
310
- .fwe-modal {
311
- &--with-scrollable-content {
312
- .fwe-modal-body {
313
- &::after {
314
- display: none;
315
- }
316
- }
317
- }
233
+ @media (max-width: 375px) {
234
+ .fwe-modal--large {
235
+ width: unset;
236
+ min-width: unset;
237
+ transform: none;
238
+ top: $navbar-height;
239
+ bottom: 0px;
240
+ left: 0px;
241
+ right: 0px;
318
242
  }
319
243
  }
@@ -124,6 +124,7 @@
124
124
  padding: $spacer-xs $spacer-m !important;
125
125
  min-height: auto;
126
126
  text-align: left;
127
+ justify-content: unset;
127
128
  i {
128
129
  padding-right: $spacer-xs !important;
129
130
  }
@@ -195,9 +196,9 @@
195
196
  position: absolute;
196
197
  border-radius: 50%;
197
198
  height: 22px;
198
- line-height: 16px;
199
+ line-height: calc(#{$font-size-small} + 4px);
199
200
  width: 22px;
200
- font-size: 12px;
201
+ font-size: $font-size-small;
201
202
  color: $white !important;
202
203
  background: $caerul;
203
204
  border: 2px solid $white;
@@ -251,7 +252,7 @@
251
252
  .fwe-notification-title {
252
253
  display: flex;
253
254
  align-items: center;
254
- font-weight: bold;
255
+ font-weight: $font-weight-bold;
255
256
  height: 48px;
256
257
  padding-left: $spacer-m;
257
258
  padding-right: $spacer-xxs;
@@ -307,7 +308,7 @@
307
308
  padding-bottom: $spacer-s;
308
309
 
309
310
  .fwe-item-header {
310
- font-weight: bold;
311
+ font-weight: $font-weight-bold;
311
312
  margin-bottom: 4px;
312
313
  }
313
314
  .fwe-item-footer {
@@ -71,6 +71,8 @@ header.fwe-fixed-header {
71
71
  }
72
72
  }
73
73
 
74
+ // this exists for reasons of compatibility
75
+ // it was replaced with a newer style (see _mobile.menu.scss)
74
76
  .fwe-navbar-burger-menu {
75
77
  @extend .fwe-icon;
76
78
  @extend .fwe-icon-lg;
@@ -243,9 +245,11 @@ header.fwe-fixed-header {
243
245
  }
244
246
 
245
247
  .fwe-navbar-bottom-box {
246
- @extend .fwe-container;
247
- display: flex;
248
- align-items: center;
249
- height: $navbar-bottom-box-height;
250
248
  background-color: $control;
249
+ .fwe-container {
250
+ overflow: hidden;
251
+ height: $navbar-bottom-box-height;
252
+ display: flex;
253
+ align-items: center;
254
+ }
251
255
  }
@@ -30,8 +30,8 @@ html {
30
30
  body {
31
31
  margin: 0;
32
32
  font-family: $font-family-base;
33
- font-feature-settings: "tnum", "lnum";
34
- font-size: 16px;
33
+ font-feature-settings: $font-feature-settings;
34
+ font-size: $font-size-base;
35
35
  font-weight: $font-weight-base;
36
36
  color: $text;
37
37
  background: $background;
@@ -77,7 +77,7 @@ hr {
77
77
  */
78
78
 
79
79
  pre {
80
- font-family: monospace, monospace; /* 1 */
80
+ font-family: $font-family-monospace; /* 1 */
81
81
  font-size: 1em; /* 2 */
82
82
  }
83
83
 
@@ -109,7 +109,7 @@ abbr[title] {
109
109
 
110
110
  b,
111
111
  strong {
112
- font-weight: bolder;
112
+ font-weight: $font-weight-bold;
113
113
  }
114
114
 
115
115
  /**
@@ -64,7 +64,7 @@
64
64
  .fwe-page-current {
65
65
  font-feature-settings: normal;
66
66
  font-size: $font-size-base;
67
- font-weight: bold;
67
+ font-weight: $font-weight-bold;
68
68
  border-right: 1px solid $text;
69
69
  padding: 0px 12px 0px 4px;
70
70
  }
@@ -73,6 +73,19 @@
73
73
  font-size: $font-size-small;
74
74
  line-height: 24px;
75
75
  padding: 0px 4px 0px 12px;
76
- font-weight: normal;
76
+ font-weight: $font-weight-normal;
77
+ }
78
+ }
79
+
80
+ .fwe-pagination.fwe-pagination--on-dark-bg {
81
+ .fwe-navigate-btn {
82
+ color: $white;
83
+ }
84
+ .fwe-page-current {
85
+ color: $white;
86
+ border-right: 1px solid $white;
87
+ }
88
+ .fwe-page-max {
89
+ color: $white;
77
90
  }
78
91
  }
@@ -116,6 +116,7 @@
116
116
  height: $spacer * 2;
117
117
  max-height: $spacer * 2;
118
118
  display: inline-flex;
119
+ justify-content: unset;
119
120
  &:hover {
120
121
  color: $black;
121
122
  }
@@ -26,6 +26,23 @@
26
26
  --fwe-orange-dark: #e68700;
27
27
  --fwe-red-dark: #c00000;
28
28
 
29
+ // button vars
30
+ --fwe-btn: #d8dce1;
31
+ --fwe-btn-hover: #c7cbcf;
32
+ --fwe-btn-active: #b7babe;
33
+ --fwe-btn-disabled: #e6e9ec;
34
+ --fwe-btn-text: #333333;
35
+ --fwe-btn-text-hover: #333333;
36
+ --fwe-btn-text-disabled: #b9babb;
37
+
38
+ --fwe-btn-hero: #0091dc;
39
+ --fwe-btn-hero-hover: #0587cb;
40
+ --fwe-btn-hero-active: #0a7eba;
41
+ --fwe-btn-hero-disabled: #e6e9ec;
42
+ --fwe-btn-hero-text: #ffffff;
43
+ --fwe-btn-hero-text-hover: #ffffff;
44
+ --fwe-btn-hero-text-disabled: #b9babb;
45
+
29
46
  // control colors
30
47
  --fwe-text: #333333;
31
48
  --fwe-text-light: #b6bec6;
@@ -46,6 +63,7 @@
46
63
  --fwe-control-scrollbar: #d2d5d9; // 80% * --fwe-control-dark + 20% * #FFFFFF
47
64
 
48
65
  --fwe-background: #f2f3f5;
66
+ --fwe-background-image-gallery: #707070;
49
67
 
50
68
  --fwe-border: #d8dce1;
51
69
  --fwe-border-disabled: #e6e9ec; // 64% * --fwe-gray-300 + 36% * #FFFFFF
@@ -62,11 +80,24 @@
62
80
  --fwe-spacer-#{$spacing}: #{$space};
63
81
  }
64
82
 
65
- --fwe-font-family-sans-serif: #{inspect($font-family-sans-serif)};
66
- --fwe-font-family-monospace: #{inspect($font-family-monospace)};
67
- --fwe-font-family-icons-16: #{inspect($font-family-icons-16)};
68
- --fwe-font-family-icons-24: #{inspect($font-family-icons-24)};
69
- --fwe-font-family-icons-32: #{inspect($font-family-icons-32)};
83
+ --fwe-font-family-sans-serif: "MetaPro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans",
84
+ sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
85
+ --fwe-font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
86
+ --fwe-font-family-icons-16: "festo_icons-16";
87
+ --fwe-font-family-icons-24: "festo_icons-24";
88
+ --fwe-font-family-icons-32: "festo_icons-32";
89
+
90
+ --fwe-font-weight-normal: 400;
91
+ --fwe-font-weight-bold: 700;
92
+ --fwe-line-height-base: 1.5;
93
+ --fwe-font-feature-settings: "tnum", "lnum";
94
+ --fwe-font-variant-numeric: lining-nums tabular-nums diagonal-fractions ordinal;
95
+
96
+ --fwe-font-size-small: 12px;
97
+ --fwe-font-size-md: 14px;
98
+ --fwe-font-size-base: 16px;
99
+ --fwe-font-size-xl: 24px;
100
+ --fwe-font-size-xxl: 32px;
70
101
 
71
102
  --fwe-z-index-dropdown: 1000;
72
103
  --fwe-z-index-sticky: 1020;
@@ -75,4 +106,6 @@
75
106
  --fwe-z-index-modal: 1050;
76
107
  --fwe-z-index-popover: 1060;
77
108
  --fwe-z-index-tooltip: 1070;
109
+
110
+ --fwe-textarea-row-const: 33px; // rowheight + margin-top + margin-bottom + 1px-line
78
111
  }
@@ -10,10 +10,6 @@
10
10
  padding: 0;
11
11
  border: 0;
12
12
 
13
- legend {
14
- @include visual-hidden();
15
- }
16
-
17
13
  &-group {
18
14
  display: grid;
19
15
  grid-auto-columns: 1fr;
@@ -0,0 +1,126 @@
1
+ .fwe-stepper-horizontal {
2
+ width: 100%;
3
+ height: 54px;
4
+ display: flex;
5
+ justify-content: center;
6
+
7
+ .fwe-step-container {
8
+ display: flex;
9
+ justify-content: flex-end;
10
+ text-align: right;
11
+ flex-direction: row;
12
+ flex-grow: 1;
13
+ position: relative;
14
+ &::after {
15
+ // this is the connector
16
+ position: absolute;
17
+ content: "";
18
+ height: 2px;
19
+ left: 4px;
20
+ right: 28px;
21
+ top: 11px;
22
+ background: $text-disabled;
23
+ transition: background-color 0.3s, color 0.3s;
24
+ }
25
+ .fwe-step {
26
+ padding-top: -1px;
27
+ padding-bottom: 1px;
28
+ position: relative;
29
+ border-radius: 50%;
30
+ border: 2px solid $text-disabled;
31
+ width: 24px;
32
+ height: 24px;
33
+ display: flex;
34
+ align-items: center;
35
+ justify-content: center;
36
+ font-feature-settings: $font-feature-settings;
37
+ font-variant-numeric: $font-variant-numeric;
38
+ transition: border-color 0.3s, background-color 0.3s, color 0.3s;
39
+
40
+ .fwe-step-no {
41
+ color: $text-disabled;
42
+ font-size: $font-size-md;
43
+ font-weight: $font-weight-bold;
44
+ }
45
+
46
+ .fwe-step-name {
47
+ @media (max-width: 900px) {
48
+ display: none;
49
+ }
50
+ font-size: $font-size-md;
51
+ position: absolute;
52
+ top: 30px;
53
+ left: 50%;
54
+ transform: translateX(-50%);
55
+ color: $text-disabled;
56
+ white-space: pre;
57
+ transition: color 0.3s;
58
+ }
59
+ }
60
+
61
+ &.fwe-step-active,
62
+ &.fwe-step-done {
63
+ &::after {
64
+ background: $hero;
65
+ }
66
+ .fwe-step {
67
+ background: $hero;
68
+ border-color: $hero;
69
+ .fwe-step-no {
70
+ color: #ffffff;
71
+ }
72
+ .fwe-step-name {
73
+ color: $hero;
74
+ }
75
+ }
76
+ }
77
+
78
+ &.fwe-step-active {
79
+ .fwe-step {
80
+ .fwe-step-name {
81
+ font-weight: $font-weight-bold;
82
+ }
83
+ }
84
+ }
85
+
86
+ &.fwe-step-done {
87
+ .fwe-step {
88
+ cursor: pointer;
89
+ &:hover {
90
+ background: $hero-darker;
91
+ border-color: $hero-darker;
92
+ }
93
+ .fwe-step-no {
94
+ display: none;
95
+ }
96
+ @extend .fwe-icon;
97
+ @extend .fwe-icon-menu-check;
98
+ &:before {
99
+ position: absolute;
100
+ left: 2px;
101
+ top: 2px;
102
+ color: $white;
103
+ }
104
+ }
105
+ }
106
+ }
107
+
108
+ .fwe-step-container:last-child {
109
+ .fwe-step {
110
+ .fwe-step-name {
111
+ right: 0px;
112
+ left: unset;
113
+ transform: unset;
114
+ }
115
+ }
116
+ }
117
+ .fwe-step-container:first-child {
118
+ flex-grow: 0;
119
+ .fwe-step {
120
+ .fwe-step-name {
121
+ left: 0px;
122
+ transform: unset;
123
+ }
124
+ }
125
+ }
126
+ }
@@ -0,0 +1,120 @@
1
+ $vertical-step-height: 300px;
2
+
3
+ .fwe-stepper-vertical {
4
+ display: flex;
5
+ flex-direction: column;
6
+ justify-content: center;
7
+
8
+ .fwe-step-container {
9
+ display: flex;
10
+ flex-direction: column;
11
+ justify-content: flex-end;
12
+ text-align: right;
13
+ position: relative;
14
+ .fwe-step {
15
+ padding-top: -1px;
16
+ padding-bottom: 1px;
17
+ position: relative;
18
+ border-radius: 50%;
19
+ border: 2px solid $text-disabled;
20
+ width: 24px;
21
+ height: 24px;
22
+ display: flex;
23
+ align-items: center;
24
+ justify-content: center;
25
+ transition: border-color 0.3s, background-color 0.3s, color 0.3s;
26
+
27
+ .fwe-step-no {
28
+ color: $text-disabled;
29
+ font-size: $font-size-md;
30
+ font-weight: $font-weight-bold;
31
+ }
32
+
33
+ .fwe-step-name {
34
+ font-size: $font-size-md;
35
+ position: absolute;
36
+ left: 36px;
37
+ color: $text-disabled;
38
+ white-space: pre;
39
+ transition: color 0.3s;
40
+ }
41
+ }
42
+
43
+ .fwe-step-content-container {
44
+ .fwe-step-content {
45
+ padding-top: 12px;
46
+ padding-bottom: 32px;
47
+ opacity: 0;
48
+ transition: opacity 0.3s ease;
49
+ }
50
+ height: 20px;
51
+ transition: height 0.3s;
52
+ margin-top: 4px;
53
+ margin-bottom: 4px;
54
+ border-left: 2px solid $text-disabled;
55
+ padding-left: 26px;
56
+ margin-left: 11px;
57
+ text-align: left;
58
+ position: relative;
59
+ overflow: hidden;
60
+ }
61
+
62
+ &.fwe-step-active,
63
+ &.fwe-step-done {
64
+ .fwe-step-content-container {
65
+ border-color: $hero;
66
+ }
67
+ .fwe-step {
68
+ background: $hero;
69
+ border-color: $hero;
70
+ .fwe-step-no {
71
+ color: $white;
72
+ }
73
+ .fwe-step-name {
74
+ color: $hero;
75
+ }
76
+ }
77
+ }
78
+
79
+ &.fwe-step-active {
80
+ .fwe-step-content-container {
81
+ height: $vertical-step-height;
82
+ .fwe-step-content {
83
+ opacity: 1;
84
+ }
85
+ }
86
+ .fwe-step {
87
+ .fwe-step-name {
88
+ font-weight: $font-weight-bold;
89
+ }
90
+ }
91
+ }
92
+
93
+ &.fwe-step-done {
94
+ .fwe-step {
95
+ cursor: pointer;
96
+ &:hover {
97
+ background: $hero-darker;
98
+ border-color: $hero-darker;
99
+ }
100
+ .fwe-step-no {
101
+ display: none;
102
+ }
103
+ @extend .fwe-icon;
104
+ @extend .fwe-icon-menu-check;
105
+ &:before {
106
+ position: absolute;
107
+ left: 2px;
108
+ top: 2px;
109
+ color: $white;
110
+ }
111
+ }
112
+ }
113
+ }
114
+
115
+ .fwe-step-container.fwe-last-element {
116
+ .fwe-step-content-container {
117
+ border-color: transparent;
118
+ }
119
+ }
120
+ }