|
23 | 23 | $title-color: null,
|
24 | 24 | $subtitle-color: null,
|
25 | 25 | $incomplete-color: null,
|
26 |
| - //$complete-color: null, |
27 |
| - //$error-color: null, |
28 |
| - //$optional-color: null, |
29 |
| - //$current-color: null, |
30 |
| - //$disabled-color: null, |
| 26 | + $current-color: null, |
| 27 | + $step-line: null, |
| 28 | + $complete-step-line: null, |
31 | 29 | ) {
|
32 |
| - $name: 'igx-switch'; |
| 30 | + $name: 'igx-stepper'; |
33 | 31 | $switch-schema: ();
|
34 | 32 |
|
35 | 33 | @if map-has-key($schema, $name) {
|
|
43 | 41 | @return extend($theme, (
|
44 | 42 | name: $name,
|
45 | 43 | palette: $palette,
|
| 44 | + |
46 | 45 | step-hover-background: $step-hover-background,
|
47 | 46 | title-color: $title-color,
|
48 | 47 | subtitle-color: $subtitle-color,
|
49 | 48 | incomplete-color: $incomplete-color,
|
| 49 | + current-color: $current-color, |
| 50 | + step-line: $step-line, |
| 51 | + complete-step-line: $complete-step-line, |
50 | 52 | ));
|
51 | 53 | }
|
52 | 54 |
|
|
59 | 61 |
|
60 | 62 | $variant: map-get($theme, variant);
|
61 | 63 |
|
| 64 | + $dashed-border: #fff; |
| 65 | + $dashed-border-size: rem(20px) rem(1px); |
| 66 | + |
62 | 67 | $left: if-ltr(left, right);
|
63 | 68 | $right: if-ltr(right, left);
|
64 | 69 |
|
|
72 | 77 | %stepper-display {
|
73 | 78 | flex-direction: column;
|
74 | 79 | width: 100%;
|
75 |
| - overflow: hidden; |
76 | 80 | }
|
77 | 81 |
|
78 | 82 | %igx-stepper__header {
|
|
81 | 85 | }
|
82 | 86 |
|
83 | 87 | %igx-stepper__body {
|
84 |
| - overflow: hidden; |
85 | 88 | position: relative
|
86 | 89 | }
|
87 | 90 |
|
| 91 | + %stepper-display, |
| 92 | + %igx-stepper__body, |
| 93 | + %igx-stepper__step-header, |
| 94 | + %igx-stepper__title-wrapper { |
| 95 | + overflow: hidden; |
| 96 | + } |
| 97 | + |
88 | 98 | %igx-stepper__step {
|
89 | 99 | position: relative;
|
90 | 100 | flex-direction: column;
|
91 | 101 | align-content: center;
|
92 | 102 | justify-content: center;
|
| 103 | + align-self: flex-start; |
93 | 104 |
|
94 | 105 | &:last-of-type {
|
95 |
| - &::before { |
96 |
| - display: none; |
| 106 | + %igx-stepper__step-content-wrapper { |
| 107 | + &::before { |
| 108 | + display: none; |
| 109 | + } |
97 | 110 | }
|
98 | 111 | }
|
99 | 112 | }
|
100 | 113 |
|
101 | 114 | %igx-stepper__step-header {
|
102 |
| - padding: rem(24px); |
103 | 115 | display: flex;
|
104 |
| - align-content: center; |
| 116 | + align-items: center; |
| 117 | + padding: rem(24px); |
| 118 | + position: relative; |
| 119 | + |
| 120 | + igx-icon, |
| 121 | + igx-avatar, |
| 122 | + igx-badge, |
| 123 | + igx-circular-bar, |
| 124 | + [igxbutton] { |
| 125 | + max-height: rem(24px); |
| 126 | + max-width: rem(24px); |
| 127 | + } |
105 | 128 |
|
106 | 129 | &:hover {
|
107 |
| - //background: --var($theme, 'title-color'); |
108 |
| - background: rgba(255, 255, 255, .1); |
| 130 | + background: --var($theme, 'step-hover-background'); |
109 | 131 | }
|
110 | 132 | }
|
111 | 133 |
|
112 |
| - %igx-stepper__step--active { |
| 134 | + %igx-stepper__step--current { |
113 | 135 | %igx-stepper__step-icon {
|
114 |
| - color: #4dff12; |
| 136 | + color: --var($theme, 'current-color'); |
115 | 137 | }
|
116 | 138 | }
|
117 | 139 |
|
|
131 | 153 | cursor: default;
|
132 | 154 | }
|
133 | 155 |
|
134 |
| - %igx-stepper__step-content { |
135 |
| - margin-#{$left}: rem(36px); |
136 |
| - position: relative; |
137 |
| - |
138 |
| - &::before { |
139 |
| - content: ''; |
140 |
| - position: absolute; |
141 |
| - top: rem(-16px); |
142 |
| - bottom: rem(-16px); |
143 |
| - #{$left}: rem(0); |
144 |
| - width: rem(1px); |
145 |
| - background: #999; |
146 |
| - } |
147 |
| - } |
148 |
| - |
149 | 156 | %igx-stepper__body-content {
|
150 | 157 | display: block;
|
151 | 158 | position: absolute;
|
|
160 | 167 | z-index: -1;
|
161 | 168 | }
|
162 | 169 |
|
163 |
| - %igx-stepper__step-content, |
| 170 | + %igx-stepper__step-content-wrapper, |
164 | 171 | %igx-stepper__body-content {
|
165 | 172 | padding: 0 rem(24px) rem(24px) rem(24px);
|
166 | 173 | }
|
|
170 | 177 | position: relative;
|
171 | 178 | }
|
172 | 179 |
|
| 180 | + %igx-stepper__step-content-wrapper { |
| 181 | + margin-#{$left}: rem(36px); |
| 182 | + position: relative; |
| 183 | + |
| 184 | + &::before { |
| 185 | + content: ''; |
| 186 | + position: absolute; |
| 187 | + top: rem(-16px); |
| 188 | + bottom: rem(-16px); |
| 189 | + #{$left}: rem(0); |
| 190 | + width: rem(1px); |
| 191 | + background: #999; |
| 192 | + } |
| 193 | + } |
| 194 | + |
173 | 195 | %igx-stepper__step-icon {
|
174 |
| - color: #09f; |
| 196 | + color: --var($theme, 'incomplete-color'); |
175 | 197 | margin-#{$right}: rem(12px);
|
176 | 198 | }
|
177 | 199 |
|
|
185 | 207 |
|
186 | 208 | %igx-stepper__title-wrapper {
|
187 | 209 | width: 100%;
|
188 |
| - overflow: hidden; |
189 | 210 | white-space: nowrap;
|
190 | 211 | text-overflow: ellipsis;
|
191 | 212 | min-width: rem(50px);
|
192 | 213 | }
|
193 | 214 |
|
194 | 215 | %igx-stepper__title {
|
195 |
| - color: #fff; |
| 216 | + color: --var($theme, 'title-color'); |
196 | 217 | text-overflow: ellipsis;
|
197 |
| - overflow: hidden; |
198 | 218 | }
|
199 | 219 |
|
200 | 220 | %igx-stepper__title--top {
|
|
211 | 231 | }
|
212 | 232 |
|
213 | 233 | %igx-stepper__step {
|
| 234 | + position: relative; |
| 235 | + overflow: hidden; |
214 | 236 | flex-direction: row;
|
215 | 237 | flex-grow: 1;
|
216 | 238 |
|
217 |
| - &::after { |
| 239 | + &::after, |
| 240 | + &::before { |
218 | 241 | content: '';
|
219 | 242 | width: auto;
|
220 |
| - height: 1px; |
221 | 243 | flex: 1;
|
222 |
| - top: rem(-13px); |
| 244 | + top: rem(36px); |
223 | 245 | position: relative;
|
224 |
| - align-self: center; |
225 |
| - background: #999; |
| 246 | + border-top: rem(1px) solid --var($theme, 'step-line'); |
226 | 247 | }
|
227 | 248 |
|
228 | 249 | &:last-of-type {
|
229 |
| - flex-basis: 0; |
230 |
| - |
231 | 250 | %igx-stepper__step-header::after,
|
232 | 251 | &::after {
|
233 | 252 | display: none;
|
234 | 253 | }
|
235 | 254 | }
|
236 | 255 |
|
237 | 256 | &:first-of-type {
|
238 |
| - %igx-stepper__step-header::before { |
| 257 | + %igx-stepper__step-header::before, |
| 258 | + &::before { |
239 | 259 | display: none;
|
240 | 260 | }
|
241 | 261 | }
|
|
244 | 264 | %igx-stepper__step-header {
|
245 | 265 | display: flex;
|
246 | 266 | flex-direction: column;
|
247 |
| - justify-content: center; |
| 267 | + justify-content: flex-start; |
248 | 268 | align-items: center;
|
249 |
| - position: relative; |
250 | 269 | padding: rem(24px) rem(32px);
|
251 |
| - margin: 0 rem(8px); |
252 | 270 | cursor: pointer;
|
253 | 271 |
|
254 | 272 | &::before,
|
255 | 273 | &::after {
|
256 | 274 | top: rem(36px);
|
257 | 275 | content: '';
|
258 | 276 | position: absolute;
|
259 |
| - height: rem(1px); |
260 |
| - background: #999; |
| 277 | + border-top: rem(1px) solid --var($theme, 'step-line'); |
261 | 278 | width: calc(50% - 16px);
|
262 | 279 | }
|
263 | 280 |
|
|
279 | 296 | %igx-stepper__step-icon {
|
280 | 297 | margin: 0;
|
281 | 298 | }
|
| 299 | + |
| 300 | + %igx-stepper__step-content-wrapper { |
| 301 | + text-align: center; |
| 302 | + } |
282 | 303 | }
|
283 | 304 | }
|
284 | 305 |
|
|
0 commit comments