|
51 | 51 | /// @param {Map} $schema [$light-schema] - The schema used as basis for styling the components. |
52 | 52 | /// @param {List} $exclude [( )] - A list of igx components to be excluded from the global theme styles. |
53 | 53 | /// @param {Boolean} $legacy-support - Turn off support for IE11, allowing you to use css variables to style components. |
| 54 | +/// @param {Boolean} $elevation [true] - Turns on/off elevations for all components in the theme. |
| 55 | +/// @param {Number} $roundness [null] - Sets the global roundness factor (the value can be any decimal fraction between 0 and 1) for all components. |
54 | 56 | /// @requires {variable} $components |
55 | 57 | /// @requires {variable} $default-palette |
56 | 58 | /// @requires {function} is-component |
|
84 | 86 | /// @requires {mixin} igx-tabs |
85 | 87 | /// @requires {mixin} igx-bottom-nav |
86 | 88 | /// @requires {mixin} igx-toast |
87 | | - |
88 | 89 | @mixin igx-theme( |
89 | 90 | $palette, |
90 | 91 | $schema: $light-schema, |
91 | 92 | $exclude: (), |
92 | | - $legacy-support: true |
| 93 | + $legacy-support: true, |
| 94 | + $roundness: null, |
| 95 | + $elevation: true, |
93 | 96 | ) { |
94 | 97 | // Stores all excluded component styles |
95 | 98 | $excluded: (); |
|
117 | 120 | } |
118 | 121 |
|
119 | 122 | @if not(index($exclude, 'igx-badge')) { |
120 | | - @include igx-badge(igx-badge-theme($palette, $schema)); |
| 123 | + @include igx-badge(igx-badge-theme( |
| 124 | + $palette, |
| 125 | + $schema, |
| 126 | + $border-radius: $roundness, |
| 127 | + )); |
121 | 128 | } |
122 | 129 |
|
123 | 130 | @if not(index($exclude, 'igx-bottom-nav')) { |
124 | 131 | @include igx-bottom-nav(igx-bottom-nav-theme($palette, $schema)); |
125 | 132 | } |
126 | 133 |
|
127 | 134 | @if not(index($exclude, 'igx-button')) { |
128 | | - @include igx-button(igx-button-theme($palette, $schema)); |
| 135 | + @include igx-button(igx-button-theme( |
| 136 | + $palette, |
| 137 | + $schema, |
| 138 | + $flat-border-radius: $roundness, |
| 139 | + $raised-border-radius: $roundness, |
| 140 | + $outlined-border-radius: $roundness, |
| 141 | + $fab-border-radius: $roundness, |
| 142 | + $icon-border-radius: $roundness, |
| 143 | + )); |
129 | 144 | } |
130 | 145 |
|
131 | 146 | @if not(index($exclude, 'igx-button-group')) { |
132 | | - @include igx-button-group(igx-button-group-theme($palette, $schema)); |
| 147 | + @include igx-button-group(igx-button-group-theme( |
| 148 | + $palette, |
| 149 | + $schema, |
| 150 | + $border-radius: $roundness |
| 151 | + )); |
133 | 152 | } |
134 | 153 |
|
135 | 154 | @if not(index($exclude, 'igx-banner')) { |
136 | | - @include igx-banner(igx-banner-theme($palette, $schema)); |
| 155 | + @include igx-banner(igx-banner-theme( |
| 156 | + $palette, |
| 157 | + $schema, |
| 158 | + )); |
137 | 159 | } |
138 | 160 |
|
139 | 161 | @if not(index($exclude, 'igx-calendar')) { |
140 | | - @include igx-calendar(igx-calendar-theme($palette, $schema)); |
| 162 | + @include igx-calendar(igx-calendar-theme( |
| 163 | + $palette, |
| 164 | + $schema, |
| 165 | + $border-radius: $roundness, |
| 166 | + $date-border-radius: $roundness, |
| 167 | + $month-border-radius: $roundness, |
| 168 | + )); |
141 | 169 | } |
142 | 170 |
|
143 | 171 | @if not(index($exclude, 'igx-card')) { |
144 | | - @include igx-card(igx-card-theme($palette, $schema)); |
| 172 | + @include igx-card(igx-card-theme( |
| 173 | + $palette, |
| 174 | + $schema, |
| 175 | + $border-radius: $roundness, |
| 176 | + $resting-shadow: if($elevation == false, 0, null), |
| 177 | + $hover-shadow: if($elevation == false, 0, null), |
| 178 | + )); |
145 | 179 | } |
146 | 180 |
|
147 | 181 | @if not(index($exclude, 'igx-carousel')) { |
148 | | - @include igx-carousel(igx-carousel-theme($palette, $schema)); |
| 182 | + @include igx-carousel(igx-carousel-theme( |
| 183 | + $palette, |
| 184 | + $schema, |
| 185 | + $border-radius: $roundness, |
| 186 | + )); |
149 | 187 | } |
150 | 188 |
|
151 | 189 | @if not(index($exclude, 'igx-checkbox')) { |
152 | | - @include igx-checkbox(igx-checkbox-theme($palette, $schema)); |
| 190 | + @include igx-checkbox(igx-checkbox-theme( |
| 191 | + $palette, |
| 192 | + $schema, |
| 193 | + $border-radius: $roundness, |
| 194 | + $border-radius-ripple: $roundness, |
| 195 | + )); |
153 | 196 | } |
154 | 197 |
|
155 | 198 | @if not(index($exclude, 'igx-chip')) { |
156 | | - @include igx-chip(igx-chip-theme($palette, $schema)); |
| 199 | + @include igx-chip(igx-chip-theme( |
| 200 | + $palette, |
| 201 | + $schema, |
| 202 | + $border-radius: $roundness, |
| 203 | + )); |
157 | 204 | } |
158 | 205 |
|
159 | 206 | @if not(index($exclude, 'igx-column-hiding')) { |
|
165 | 212 | } |
166 | 213 |
|
167 | 214 | @if not(index($exclude, 'igx-date-picker')) { |
168 | | - @include igx-date-picker(igx-calendar-theme($palette, $schema)); |
| 215 | + @include igx-date-picker(igx-calendar-theme( |
| 216 | + $palette, |
| 217 | + $schema, |
| 218 | + $border-radius: $roundness, |
| 219 | + )); |
169 | 220 | } |
170 | 221 |
|
171 | 222 | @if not(index($exclude, 'igx-dialog')) { |
172 | | - @include igx-dialog(igx-dialog-theme($palette, $schema)); |
| 223 | + @include igx-dialog(igx-dialog-theme( |
| 224 | + $palette, |
| 225 | + $schema, |
| 226 | + $border-radius: $roundness, |
| 227 | + )); |
173 | 228 | } |
174 | 229 |
|
175 | 230 | @if not(index($exclude, 'igx-divider')) { |
176 | 231 | @include igx-divider(igx-divider-theme($palette, $schema)); |
177 | 232 | } |
178 | 233 |
|
179 | 234 | @if not(index($exclude, 'igx-drop-down')) { |
180 | | - @include igx-drop-down(igx-drop-down-theme($palette, $schema)); |
| 235 | + @include igx-drop-down(igx-drop-down-theme( |
| 236 | + $palette, |
| 237 | + $schema, |
| 238 | + $border-radius: $roundness, |
| 239 | + )); |
181 | 240 | } |
182 | 241 |
|
183 | 242 | @if not(index($exclude, 'igx-expansion-panel')) { |
184 | | - @include igx-expansion-panel(igx-expansion-panel-theme($palette, $schema)); |
| 243 | + @include igx-expansion-panel(igx-expansion-panel-theme( |
| 244 | + $palette, |
| 245 | + $schema, |
| 246 | + $border-radius: $roundness, |
| 247 | + )); |
185 | 248 | } |
186 | 249 |
|
187 | 250 | @if not(index($exclude, 'igx-grid')) { |
188 | | - @include igx-grid(igx-grid-theme($palette, $schema)); |
| 251 | + @include igx-grid(igx-grid-theme( |
| 252 | + $palette, |
| 253 | + $schema, |
| 254 | + $drop-area-border-radius: $roundness, |
| 255 | + )); |
189 | 256 | } |
190 | 257 |
|
191 | 258 | @if not(index($exclude, 'igx-grid-summary')) { |
|
201 | 268 | } |
202 | 269 |
|
203 | 270 | @if not(index($exclude, 'igx-input-group')) { |
204 | | - @include igx-input-group(igx-input-group-theme($palette, $schema)); |
| 271 | + @include igx-input-group(igx-input-group-theme( |
| 272 | + $palette, |
| 273 | + $schema, |
| 274 | + $box-border-radius: $roundness, |
| 275 | + $border-border-radius: $roundness, |
| 276 | + $search-border-radius: $roundness, |
| 277 | + )); |
205 | 278 | } |
206 | 279 |
|
207 | 280 | @if not(index($exclude, 'igx-list')) { |
208 | | - @include igx-list(igx-list-theme($palette, $schema)); |
| 281 | + @include igx-list(igx-list-theme( |
| 282 | + $palette, |
| 283 | + $schema, |
| 284 | + $border-radius: $roundness, |
| 285 | + $item-border-radius: $roundness, |
| 286 | + )); |
209 | 287 | } |
210 | 288 |
|
211 | 289 | @if not(index($exclude, 'igx-navbar')) { |
212 | 290 | @include igx-navbar(igx-navbar-theme($palette, $schema)); |
213 | 291 | } |
214 | 292 |
|
215 | 293 | @if not(index($exclude, 'igx-nav-drawer')) { |
216 | | - @include igx-navdrawer(igx-navdrawer-theme($palette, $schema)); |
| 294 | + @include igx-navdrawer(igx-navdrawer-theme( |
| 295 | + $palette, |
| 296 | + $schema, |
| 297 | + $border-radius: $roundness, |
| 298 | + $item-border-radius: $roundness, |
| 299 | + )); |
217 | 300 | } |
218 | 301 |
|
219 | 302 | @if not(index($exclude, 'igx-overlay')) { |
|
241 | 324 | } |
242 | 325 |
|
243 | 326 | @if not(index($exclude, 'igx-snackbar')) { |
244 | | - @include igx-snackbar(igx-snackbar-theme($palette, $schema)); |
| 327 | + @include igx-snackbar(igx-snackbar-theme( |
| 328 | + $palette, |
| 329 | + $schema, |
| 330 | + $border-radius: $roundness, |
| 331 | + )); |
245 | 332 | } |
246 | 333 |
|
247 | 334 | @if not(index($exclude, 'igx-switch')) { |
248 | | - @include igx-switch(igx-switch-theme($palette, $schema)); |
| 335 | + @include igx-switch(igx-switch-theme( |
| 336 | + $palette, |
| 337 | + $schema, |
| 338 | + $border-radius-track: $roundness, |
| 339 | + $border-radius-thumb: $roundness, |
| 340 | + $border-radius-ripple: $roundness, |
| 341 | + )); |
249 | 342 | } |
250 | 343 |
|
251 | 344 | @if not(index($exclude, 'igx-tabs')) { |
252 | 345 | @include igx-tabs(igx-tabs-theme($palette, $schema)); |
253 | 346 | } |
254 | 347 |
|
255 | 348 | @if not(index($exclude, 'igx-toast')) { |
256 | | - @include igx-toast(igx-toast-theme($palette, $schema)); |
| 349 | + @include igx-toast(igx-toast-theme( |
| 350 | + $palette, |
| 351 | + $schema, |
| 352 | + $border-radius: $roundness, |
| 353 | + )); |
257 | 354 | } |
258 | 355 |
|
259 | 356 | @if not(index($exclude, 'igx-tooltip')) { |
260 | | - @include igx-tooltip(igx-tooltip-theme($palette, $schema)); |
| 357 | + @include igx-tooltip(igx-tooltip-theme( |
| 358 | + $palette, |
| 359 | + $schema, |
| 360 | + $border-radius: $roundness, |
| 361 | + )); |
261 | 362 | } |
262 | 363 |
|
263 | 364 | @if not(index($exclude, 'igx-time-picker')) { |
264 | | - @include igx-time-picker(igx-time-picker-theme($palette, $schema)); |
| 365 | + @include igx-time-picker(igx-time-picker-theme( |
| 366 | + $palette, |
| 367 | + $schema, |
| 368 | + $border-radius: $roundness, |
| 369 | + $active-item-border-radius: $roundness, |
| 370 | + )); |
265 | 371 | } |
266 | 372 | } |
267 | 373 |
|
|
272 | 378 | @mixin igx-light-theme( |
273 | 379 | $palette, |
274 | 380 | $exclude: (), |
275 | | - $legacy-support: true |
| 381 | + $legacy-support: true, |
| 382 | + $roundness: null, |
| 383 | + $elevation: true, |
276 | 384 | ) { |
277 | 385 | $grays: igx-color($palette, 'grays'); |
278 | 386 | $surface: igx-color($palette, 'surface'); |
|
292 | 400 | $palette: $light-palette, |
293 | 401 | $schema: $light-schema, |
294 | 402 | $legacy-support: $legacy-support, |
295 | | - $exclude: $exclude |
| 403 | + $exclude: $exclude, |
| 404 | + $roundness: $roundness, |
| 405 | + $elevation: $elevation, |
296 | 406 | ); |
297 | 407 | } |
298 | 408 |
|
|
303 | 413 | @mixin igx-dark-theme( |
304 | 414 | $palette, |
305 | 415 | $exclude: (), |
306 | | - $legacy-support: true |
| 416 | + $legacy-support: true, |
| 417 | + $roundness: null, |
| 418 | + $elevation: true, |
307 | 419 | ) { |
308 | 420 | $grays: igx-color($palette, 'grays'); |
309 | 421 | $surface: igx-color($palette, 'surface'); |
|
323 | 435 | $palette: $dark-palette, |
324 | 436 | $schema: $dark-schema, |
325 | 437 | $legacy-support: $legacy-support, |
326 | | - $exclude: $exclude |
| 438 | + $exclude: $exclude, |
| 439 | + $roundness: $roundness, |
| 440 | + $elevation: $elevation, |
327 | 441 | ); |
328 | 442 | } |
0 commit comments