diff --git a/CHANGELOG.md b/CHANGELOG.md
index b02a0d3762f..160c32e5e7b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -102,6 +102,28 @@ All notable changes for each version of this project will be documented in this
## 8.1.0
### New Features
+
+##### New theme
+Ignite UI for angular now have a new theme that mimics the Microsoft Fluent design as much as possible.
+In order to use the theme you have to use one of the following mixins:
+ `igx-fluent-theme` and `igx-fluent-dark-theme`
+
+We also added two new pallets that go with the new theme, `$fluent-word-palette` and `$fluent-excel-palette`.
+
+This is an example of how you can use the new theme.
+
+```scss
+// Light version
+.fluent-word-theme {
+ @include igx-fluent-theme($fluent-word-palette);
+}
+
+// Dark version
+.fluent-excel-dark-theme {
+ @include igx-fluent-dark-theme($fluent-excel-palette);
+}
+```
+
- `IgxBottomNav` now supports an `igx-tab` declaration mode. When in this mode, panels declarations are not accepted and tab items' content is not rendered.
- You can use this mode to apply directives on the tab items - for example to achieve routing navigation.
- You are allowed to customize tab items with labels, icons and even templates.
diff --git a/projects/igniteui-angular/src/lib/combo/combo-item.component.html b/projects/igniteui-angular/src/lib/combo/combo-item.component.html
index 79aee982b2a..36e93548540 100644
--- a/projects/igniteui-angular/src/lib/combo/combo-item.component.html
+++ b/projects/igniteui-angular/src/lib/combo/combo-item.component.html
@@ -1,4 +1,4 @@
-
\ No newline at end of file
+
diff --git a/projects/igniteui-angular/src/lib/core/styles/base/utilities/_functions.scss b/projects/igniteui-angular/src/lib/core/styles/base/utilities/_functions.scss
index 4f68d40680d..c1f8638b997 100644
--- a/projects/igniteui-angular/src/lib/core/styles/base/utilities/_functions.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/base/utilities/_functions.scss
@@ -111,22 +111,24 @@
@return #fff;
}
-/// Retrieves a contrast text color for a given color from a color palette.
+/// Converts a rgba color to a hexidecimal color.
/// @access public
-/// @group Palettes
-/// @param {Map} $palette - The source palette map.
-/// @param {string} $color - The target color from the color palette.
-/// @param {number|variant} $variant - The target color shade from the color palette.
-/// @requires igx-color
-/// @requires text-contrast
-/// @requires hexrgba
-/// @returns {Color} [#fff] - Returns white if now palette, color and/or variant matches found.
-@function igx-contrast-color($palette, $color, $variant: 500) {
- $_color: igx-color($palette, $color, $variant);
- @if $_color {
- @return text-contrast(hexrgba($_color));
+/// @requires {function} to-string
+/// @param {Color} $rgba - The rgba color to convert.
+/// @param {Color} $background - The background color to convert against.
+/// @return {Color} - The hexidecimal representation of the rgba value.
+@function hexrgba($rgba, $background: #fff) {
+ @if type-of($rgba) == color {
+ $red: red($rgba);
+ $green: green($rgba);
+ $blue: blue($rgba);
+ $a: alpha($rgba);
+ $r: floor($a * $red + (1 - $a) * red($background));
+ $g: floor($a * $green + (1 - $a) * green($background));
+ $b: floor($a * $blue + (1 - $a) * blue($background));
+ @return rgb($r, $g, $b);
}
- @return #fff;
+ @return $rgba;
}
/// Returns a contrast color for a passed color.
@@ -138,7 +140,7 @@
@if type-of($color) == 'color' {
$lightContrast: contrast($color, white);
$darkContrast: contrast($color, black);
-
+
@if ($lightContrast > $darkContrast) {
@return white;
} @else {
@@ -148,6 +150,24 @@
@return $color;
}
+/// Retrieves a contrast text color for a given color from a color palette.
+/// @access public
+/// @group Palettes
+/// @param {Map} $palette - The source palette map.
+/// @param {string} $color - The target color from the color palette.
+/// @param {number|variant} $variant - The target color shade from the color palette.
+/// @requires igx-color
+/// @requires text-contrast
+/// @requires hexrgba
+/// @returns {Color} [#fff] - Returns white if now palette, color and/or variant matches found.
+@function igx-contrast-color($palette, $color, $variant: 500) {
+ $_color: igx-color($palette, $color, $variant);
+ @if $_color {
+ @return text-contrast(hexrgba($_color));
+ }
+ @return #fff;
+}
+
/// Test if `$value` is a valid direction.
/// @access private
/// @param {*} $value - The value to test.
@@ -198,47 +218,13 @@
@return $sign + $result;
}
-/// Converts a rgba color to a hexidecimal color.
-/// @access public
-/// @requires {function} to-string
-/// @param {Color} $rgba - The rgba color to convert.
-/// @param {Color} $background - The background color to convert against.
-/// @return {Color} - The hexidecimal representation of the rgba value.
-@function hexrgba($rgba, $background: #fff) {
- @if type-of($rgba) == color {
- $red: red($rgba);
- $green: green($rgba);
- $blue: blue($rgba);
- $a: alpha($rgba);
- $r: floor($a * $red + (1 - $a) * red($background));
- $g: floor($a * $green + (1 - $a) * green($background));
- $b: floor($a * $blue + (1 - $a) * blue($background));
- @return rgb($r, $g, $b);
- }
- @return $rgba;
-}
-
-/// Extends a Map object with the properties of another Map object.
-/// @access private
-/// @param {Map...} $maps - The source map to get extended.
-/// @returns {Map} - Returns the merged maps.
-@function extend($maps...) {
- $result: ();
-
- @each $map in $maps {
- $result: map-merge($result, map-clean($map));
- }
-
- @return $result;
-}
-
/// Removes all null key-value pairs from the map
/// @access private
/// @param {Map} $map - The target map to be cleaned.
/// @returns {Map} - Returns a clean map.
@function map-clean($map) {
$result: ();
-
+
@each $key, $value in $map {
@if($value) != null {
$result: map-merge($result, (
@@ -246,6 +232,20 @@
));
}
}
+
+ @return $result;
+}
+
+/// Extends a Map object with the properties of another Map object.
+/// @access private
+/// @param {Map...} $maps - The source map to get extended.
+/// @returns {Map} - Returns the merged maps.
+@function extend($maps...) {
+ $result: ();
+
+ @each $map in $maps {
+ $result: map-merge($result, map-clean($map));
+ }
@return $result;
}
@@ -309,7 +309,7 @@
$warn: #fbb13c,
$error: #ff134a,
$grays: #000,
- $surface: #fff,
+ $surface: #fff
) {
$saturations: (50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 'A100', 'A200', 'A400', 'A700');
$shades: (50: .02, 100: .04, 200: .08, 300: .12, 400: .26, 500: .38, 600: .54, 700: .62, 800: .74, 900: .87);
diff --git a/projects/igniteui-angular/src/lib/core/styles/base/utilities/_mixins.scss b/projects/igniteui-angular/src/lib/core/styles/base/utilities/_mixins.scss
index 43c1a9bb12d..f29c6389215 100644
--- a/projects/igniteui-angular/src/lib/core/styles/base/utilities/_mixins.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/base/utilities/_mixins.scss
@@ -3,6 +3,29 @@
/// @author Simeon Simeonoff
////
+/// Help debug sass maps.
+/// @access privet
+/// @example scss - Sample usage
+/// input[type="checkbox"] {
+/// @include hide-default();
+/// }
+
+//@mixin debug-map($map) {
+// @at-root {
+// @debug-map {
+// __toString__: inspect($map);
+// __length__: length($map);
+// __keys__: map-keys($map);
+//
+// __properties__ {
+// @each $key, $value in $map {
+// #{$key}: inspect($value);
+// }
+// }
+// }
+// }
+//}
+
/// Hides the element from the DOM.
/// @access public
/// @example scss - Sample usage
diff --git a/projects/igniteui-angular/src/lib/core/styles/components/banner/_banner-theme.scss b/projects/igniteui-angular/src/lib/core/styles/components/banner/_banner-theme.scss
index a814055738e..93fb6254889 100644
--- a/projects/igniteui-angular/src/lib/core/styles/components/banner/_banner-theme.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/components/banner/_banner-theme.scss
@@ -142,12 +142,10 @@
) {
$message: map-get($categories, 'message');
- @include igx-scope('.igx-typography') {
- %igx-banner__text {
- @include igx-type-style($type-scale, $message) {
- margin-top: 0;
- margin-bottom: 0;
- }
+ %igx-banner__text {
+ @include igx-type-style($type-scale, $message) {
+ margin-top: 0;
+ margin-bottom: 0;
}
}
}
diff --git a/projects/igniteui-angular/src/lib/core/styles/components/bottom-nav/_bottom-nav-theme.scss b/projects/igniteui-angular/src/lib/core/styles/components/bottom-nav/_bottom-nav-theme.scss
index 4fab9c6d9a0..cb51a67c628 100644
--- a/projects/igniteui-angular/src/lib/core/styles/components/bottom-nav/_bottom-nav-theme.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/components/bottom-nav/_bottom-nav-theme.scss
@@ -35,7 +35,7 @@
$background: null,
$idle-item-color: null,
$active-item-color: null,
- $shadow: null,
+ $shadow: null
) {
$name: 'igx-bottom-nav';
$bottom-nav-schema: map-get($schema, $name);
@@ -75,8 +75,6 @@
@mixin igx-bottom-nav($theme) {
@include igx-root-css-vars($theme);
- // @debug $theme;
-
$menu-height: 56px;
$item-min-width: 80px;
$item-max-width: 168px;
@@ -193,11 +191,9 @@
@mixin igx-bottom-nav-typography($type-scale, $categories: (label: 'caption')) {
$label: map-get($categories, 'label');
- @include igx-scope('.igx-typography') {
- %igx-tab-label {
- @include igx-type-style($type-scale, $label) {
- margin: 0
- }
+ %igx-tab-label {
+ @include igx-type-style($type-scale, $label) {
+ margin: 0
}
}
}
diff --git a/projects/igniteui-angular/src/lib/core/styles/components/button-group/_button-group-theme.scss b/projects/igniteui-angular/src/lib/core/styles/components/button-group/_button-group-theme.scss
index 0891bf6addc..25429cfc4bd 100644
--- a/projects/igniteui-angular/src/lib/core/styles/components/button-group/_button-group-theme.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/components/button-group/_button-group-theme.scss
@@ -67,7 +67,7 @@
$item-selected-text-color: null,
$item-selected-background: null,
$item-selected-border-color: null,
- $item-selected-hover-background: null,
+ $item-selected-hover-background: null
) {
$name: 'igx-button-group';
$button-group-schema: map-get($schema, $name);
@@ -149,19 +149,17 @@
$group-item-min-width: 24px;
$group-item-border-thickness: 1px;
$group-items-margin: rem(10px, 16px);
+ $transition: all 140ms $ease-in-out-quad;
%igx-group-display {
display: flex;
box-shadow: --var($theme, 'shadow');
- transition: all 140ms $ease-in-out-quad;
+ transition: $transition;
border-radius: --var($theme, 'border-radius')
}
%igx-group-item {
- &%igx-button--flat {
- border-radius: 0;
- }
-
+ @include ellipsis();
border: $group-item-border-thickness solid --var($theme, 'item-border-color');
color: --var($theme, 'item-text-color');
background: --var($theme, 'item-background');
@@ -175,13 +173,19 @@
user-select: none;
position: relative;
z-index: 0;
- @include ellipsis();
+ transition: $transition;
- &:not(:nth-child(0)) {
- margin-left: -1px;
+ &%igx-button--flat {
+ border-radius: 0;
}
+ %igx-icon-display {
+ color: currentColor;
+ }
+ &:not(:nth-child(0)) {
+ margin-left: -1px;
+ }
&:first-of-type {
border-radius: --var($theme, 'border-radius') 0 0 --var($theme, 'border-radius');
@@ -199,6 +203,10 @@
&:hover,
&:focus {
+ %igx-icon-display {
+ color: currentColor;
+ }
+
color: --var($theme, 'item-hover-text-color');
background: --var($theme, 'item-hover-background');
z-index: 1;
diff --git a/projects/igniteui-angular/src/lib/core/styles/components/button/_button-theme.scss b/projects/igniteui-angular/src/lib/core/styles/components/button/_button-theme.scss
index ebd12003c15..d13c2b46abb 100644
--- a/projects/igniteui-angular/src/lib/core/styles/components/button/_button-theme.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/components/button/_button-theme.scss
@@ -22,6 +22,9 @@
/// @param {Color} $flat-hover-text-color [null] - The hover text color of a flat button.
/// @param {Color} $flat-focus-background [null] - The focus background color of a flat button.
/// @param {Color} $flat-focus-text-color [null] - The focus text color of a flat button.
+/// @param {Color} $flat-icon-color [null] - The color of a flat button icon.
+/// @param {Color} $flat-hover-icon-color [null] - The hover color of a flat button icon.
+/// @param {Color} $flat-focus-icon-color [null] - The focus color of a flat button icon.
///
/// @param {Color} $outlined-background [null] - The background color of an outlined button.
/// @param {Color} $outlined-text-color [null] - The idle text color of an outlined button.
@@ -31,6 +34,9 @@
/// @param {Color} $outlined-hover-text-color [null] - The hover text color of an outlined button.
/// @param {Color} $outlined-focus-background [null] - The focus background color of an outlined button.
/// @param {Color} $outlined-focus-text-color [null] - The focus text color of an outlined button.
+/// @param {Color} $outlined-icon-color [null] - The color of a outlined button icon.
+/// @param {Color} $outlined-hover-icon-color [null] - The hover color of a outlined button icon.
+/// @param {Color} $outlined-focus-icon-color [null] - The focus color of a outlined button icon.
///
/// @param {Color} $raised-background [null] - The background color of a raised button.
/// @param {Color} $raised-text-color [null] - The idle text color of a raised button.
@@ -38,6 +44,9 @@
/// @param {Color} $raised-hover-text-color [null] - The hover text color of a raised button.
/// @param {Color} $raised-focus-background [null] - The focus background color of a raised button.
/// @param {Color} $raised-focus-text-color [null] - The focus text color of a raised button.
+/// @param {Color} $raised-icon-color [null] - The color of a raised button icon.
+/// @param {Color} $raised-hover-icon-color [null] - The hover color of a raised button icon.
+/// @param {Color} $raised-focus-icon-color [null] - The focus color of a raised button icon.
///
/// @param {box-shadow} $raised-resting-shadow [null] - The shadow color of the raised button in its resting state.
/// @param {box-shadow} $raised-hover-shadow [null] - The shadow color of the raised button in its hover state.
@@ -97,6 +106,9 @@
$flat-hover-text-color: null,
$flat-focus-background: null,
$flat-focus-text-color: null,
+ $flat-icon-color: null,
+ $flat-hover-icon-color: null,
+ $flat-focus-icon-color: null,
$outlined-text-color: null,
$outlined-outline-color: null,
@@ -106,6 +118,9 @@
$outlined-hover-text-color: null,
$outlined-focus-background: null,
$outlined-focus-text-color: null,
+ $outlined-icon-color: null,
+ $outlined-hover-icon-color: null,
+ $outlined-focus-icon-color: null,
$raised-text-color: null,
$raised-background: null,
@@ -113,6 +128,9 @@
$raised-hover-text-color: null,
$raised-focus-background: null,
$raised-focus-text-color: null,
+ $raised-icon-color: null,
+ $raised-hover-icon-color: null,
+ $raised-focus-icon-color: null,
$raised-resting-shadow: null,
$raised-hover-shadow: null,
@@ -309,6 +327,9 @@
flat-hover-text-color: $flat-hover-text-color,
flat-focus-background: $flat-focus-background,
flat-focus-text-color: $flat-focus-text-color,
+ flat-icon-color: $flat-icon-color,
+ flat-hover-icon-color: $flat-hover-icon-color,
+ flat-focus-icon-color: $flat-focus-icon-color,
outlined-text-color: $outlined-text-color,
outlined-outline-color: $outlined-outline-color,
@@ -318,6 +339,9 @@
outlined-hover-text-color: $outlined-hover-text-color,
outlined-focus-background: $outlined-focus-background,
outlined-focus-text-color: $outlined-focus-text-color,
+ outlined-icon-color: $outlined-icon-color,
+ outlined-hover-icon-color: $outlined-hover-icon-color,
+ outlined-focus-icon-color: $outlined-focus-icon-color,
raised-text-color: $raised-text-color,
raised-background: $raised-background,
@@ -325,6 +349,9 @@
raised-hover-text-color: $raised-hover-text-color,
raised-focus-background: $raised-focus-background,
raised-focus-text-color: $raised-focus-text-color,
+ raised-icon-color: $raised-icon-color,
+ raised-hover-icon-color: $raised-hover-icon-color,
+ raised-focus-icon-color: $raised-focus-icon-color,
fab-text-color: $fab-text-color,
fab-background: $fab-background,
@@ -377,16 +404,41 @@
$button-icon-font-size: rem(24px, 24px);
$button-icon-padding: 0;
- $button-padding: (
+ $button-padding-material: (
comfortable: rem(9px, 16px) rem(16px, 16px),
cosy: rem(6px, 16px) rem(16px, 16px),
compact: rem(3px, 16px) rem(16px, 16px)
);
- $button-size: (
+
+ $button-padding-fluent: (
+ comfortable: 0 rem(16px, 16px),
+ cosy: 0 rem(16px, 16px),
+ compact: 0 rem(16px, 16px)
+ );
+
+ $button-padding: map-get((
+ material: $button-padding-material,
+ fluent: $button-padding-fluent
+ ), map-get($theme, variant));
+
+ $button--size-material: (
comfortable: rem(36px),
cosy: rem(30px),
compact: rem(24px)
);
+
+ $button--size-fluent: (
+ comfortable: rem(32px),
+ cosy: rem(28px),
+ compact: rem(24px)
+ );
+
+ $button-size: map-get((
+ material: $button--size-material,
+ fluent: $button--size-fluent
+ ), map-get($theme, variant));
+
+
$button-floating-padding: (
comfortable: rem(15px),
cosy: rem(11px),
@@ -442,15 +494,27 @@
color: --var($theme, 'flat-text-color');
border-radius: --var($theme, 'flat-border-radius');
+ %igx-icon-display {
+ color: --var($theme, 'flat-icon-color')
+ }
+
&:hover {
background: --var($theme, 'flat-hover-background');
color: --var($theme, 'flat-hover-text-color');
+
+ %igx-icon-display {
+ color: --var($theme, 'flat-hover-icon-color')
+ }
}
&:focus,
&:active {
background: --var($theme, 'flat-focus-background');
color: --var($theme, 'flat-focus-text-color');
+
+ %igx-icon-display {
+ color: --var($theme, 'flat-focus-icon-color')
+ }
}
}
@@ -461,15 +525,27 @@
color: --var($theme, 'outlined-text-color');
border-radius: --var($theme, 'outlined-border-radius');
+ %igx-icon-display {
+ color: --var($theme, 'outlined-icon-color')
+ }
+
&:hover {
background: --var($theme, 'outlined-hover-background');
color: --var($theme, 'outlined-hover-text-color');
+
+ %igx-icon-display {
+ color: --var($theme, 'outlined-hover-icon-color')
+ }
}
&:focus,
&:active {
background: --var($theme, 'outlined-focus-background');
color: --var($theme, 'outlined-focus-text-color');
+
+ %igx-icon-display {
+ color: --var($theme, 'outlined-focus-icon-color')
+ }
}
}
@@ -479,17 +555,30 @@
box-shadow: --var($theme, 'raised-resting-shadow');
border-radius: --var($theme, 'raised-border-radius');
+ %igx-icon-display {
+ color: --var($theme, 'raised-icon-color')
+ }
+
&:focus,
&:hover {
color: --var($theme, 'raised-hover-text-color');
background: --var($theme, 'raised-hover-background');
box-shadow: --var($theme, 'raised-hover-shadow');
+
+
+ %igx-icon-display {
+ color: --var($theme, 'raised-hover-icon-color')
+ }
}
-
+
&:active {
color: --var($theme, 'raised-focus-text-color');
background: --var($theme, 'raised-focus-background');
box-shadow: --var($theme, 'raised-focus-shadow');
+
+ %igx-icon-display {
+ color: --var($theme, 'raised-focus-icon-color')
+ }
}
}
@@ -611,11 +700,9 @@
@mixin igx-button-typography($type-scale, $categories: (text: 'button')) {
$text: map-get($categories, 'text');
- @include igx-scope('.igx-typography') {
- %igx-button-display {
- @include igx-type-style($type-scale, $text) {
- text-align: center;
- }
+ %igx-button-display {
+ @include igx-type-style($type-scale, $text) {
+ text-align: center;
}
}
}
diff --git a/projects/igniteui-angular/src/lib/core/styles/components/calendar/_calendar-theme.scss b/projects/igniteui-angular/src/lib/core/styles/components/calendar/_calendar-theme.scss
index bf7264cd589..39e35d6abbb 100644
--- a/projects/igniteui-angular/src/lib/core/styles/components/calendar/_calendar-theme.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/components/calendar/_calendar-theme.scss
@@ -41,6 +41,7 @@
/// @param {Color} $date-selected-text-color [null] - The text color for the selected date.
///
/// @param {Color} $date-current-text-color [null] - The text color for the current date.
+/// @param {Color} $date-current-bg-color [null] - The background color for the current date.
/// @param {Color} $date-hover-background [null] - The hover date background color.
///
/// @param {Color} $date-special-background [null] - The background color used for special dates.
@@ -101,6 +102,7 @@
$date-selected-text-color: null,
$date-current-text-color: null,
+ $date-current-bg-color: null,
$date-hover-background: null,
$date-special-background: null,
@@ -179,8 +181,12 @@
}
}
- @if not($date-current-text-color) and $header-background {
- $date-current-text-color: $header-background;
+ @if not($date-current-bg-color) and $header-background {
+ $date-current-bg-color: $header-background;
+ }
+
+ @if not($date-current-text-color) and $date-current-bg-color {
+ $date-current-text-color: $date-current-bg-color;
}
@if not($date-special-background) and $content-background {
@@ -250,6 +256,7 @@
date-selected-text-color: $date-selected-text-color,
date-current-text-color: $date-current-text-color,
+ date-current-bg-color: $date-current-bg-color,
date-hover-background: $date-hover-background,
date-special-text-color: $date-special-text-color,
@@ -515,7 +522,16 @@
%cal-value--current {
color: --var($theme, 'date-current-text-color');
- font-weight: $cal-value-fw;
+ background: --var($theme, 'date-current-bg-color')!important;
+ font-weight: $cal-value-fw !important;
+
+ &:hover {
+ background: --var($theme, 'date-current-bg-color')!important;
+ }
+
+ &:focus {
+ background: --var($theme, 'date-current-bg-color')!important;
+ }
}
%cal-value--special {
diff --git a/projects/igniteui-angular/src/lib/core/styles/components/card/_card-theme.scss b/projects/igniteui-angular/src/lib/core/styles/components/card/_card-theme.scss
index 871214d49db..381e1249110 100644
--- a/projects/igniteui-angular/src/lib/core/styles/components/card/_card-theme.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/components/card/_card-theme.scss
@@ -11,6 +11,7 @@
/// @param {Map} $elevations [$elevations] - The elevations (shadows) map to be used.
/// @param {Color} $background [null] - The card background color.
/// @param {Color} $outline-color [null] - The color of the outline for outlined type cards.
+/// @param {Color} $card-border-color [null] - The color of the card border.
/// @param {Color} $header-text-color [null] - The text color of the card title.
/// @param {Color} $subtitle-text-color [null] - The text color of the card subtitle.
/// @param {Color} $content-text-color [null] - The text color of the card content.
@@ -49,7 +50,8 @@
$content-text-color: null,
$actions-text-color: null,
$resting-shadow: null,
- $hover-shadow: null
+ $hover-shadow: null,
+ $card-border-color: null
) {
$name: 'igx-card';
$card-schema: map-get($schema, $name);
@@ -102,7 +104,8 @@
content-text-color: $content-text-color,
actions-text-color: $actions-text-color,
resting-shadow: $resting-shadow,
- hover-shadow: $hover-shadow
+ hover-shadow: $hover-shadow,
+ card-border-color: $card-border-color
));
}
@@ -139,6 +142,7 @@
background: --var($theme, 'background');
transition: $card-transitions;
backface-visibility: hidden;
+ border: 1px solid --var($theme, 'card-border-color');
&:hover {
box-shadow: --var($theme, 'hover-shadow');
@@ -147,7 +151,7 @@
%igx-card--outlined {
box-shadow: none;
- border: 1px solid --var($theme, 'outline-color');
+ border-color: --var($theme, 'outline-color');
&:hover {
box-shadow: none;
@@ -384,30 +388,28 @@
$subtitle: map-get($categories, 'subtitle');
$content: map-get($categories, 'content');
- @include igx-scope('.igx-typography') {
- %igx-card-header-title {
- @include igx-type-style($type-scale, $title) {
- margin: 0;
- }
+ %igx-card-header-title {
+ @include igx-type-style($type-scale, $title) {
+ margin: 0;
}
+ }
- %igx-card-header-title--small {
- @include igx-type-style($type-scale, $title-small) {
- margin: 0;
- }
+ %igx-card-header-title--small {
+ @include igx-type-style($type-scale, $title-small) {
+ margin: 0;
}
+ }
- %igx-card-header-subtitle {
- @include igx-type-style($type-scale, $subtitle) {
- margin: 0;
- }
+ %igx-card-header-subtitle {
+ @include igx-type-style($type-scale, $subtitle) {
+ margin: 0;
}
+ }
- %igx-card-content,
- %igx-card-content > p {
- @include igx-type-style($type-scale, $content) {
- margin: 0;
- }
+ %igx-card-content,
+ %igx-card-content > p {
+ @include igx-type-style($type-scale, $content) {
+ margin: 0;
}
}
}
diff --git a/projects/igniteui-angular/src/lib/core/styles/components/checkbox/_checkbox-component.scss b/projects/igniteui-angular/src/lib/core/styles/components/checkbox/_checkbox-component.scss
index c9022b6bc42..9380f3e6992 100644
--- a/projects/igniteui-angular/src/lib/core/styles/components/checkbox/_checkbox-component.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/components/checkbox/_checkbox-component.scss
@@ -63,6 +63,8 @@
}
@include m(indeterminate) {
+ @extend %igx-checkbox--indeterminate !optional;
+
@include e(composite) {
@extend %cbx-composite--x !optional;
}
diff --git a/projects/igniteui-angular/src/lib/core/styles/components/checkbox/_checkbox-theme.scss b/projects/igniteui-angular/src/lib/core/styles/components/checkbox/_checkbox-theme.scss
index 0be4bd8ba53..aa68d7adb66 100644
--- a/projects/igniteui-angular/src/lib/core/styles/components/checkbox/_checkbox-theme.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/components/checkbox/_checkbox-theme.scss
@@ -39,18 +39,19 @@
$fill-color: null,
$tick-color: null,
$disabled-color: null,
- $border-radius-ripple:null
+ $disabled-color-label: null,
+ $border-radius-ripple: null
) {
$name: 'igx-checkbox';
$checkbox-schema: map-get($schema, $name);
$theme: apply-palette($checkbox-schema, $palette);
$border-radius: round-borders(
- if($border-radius, $border-radius, map-get($checkbox-schema, 'border-radius')),0 ,10px
+ if($border-radius, $border-radius, map-get($checkbox-schema, 'border-radius')), 0, 10px
);
$border-radius-ripple: round-borders(
- if($border-radius-ripple, $border-radius-ripple, map-get($checkbox-schema, 'border-radius-ripple')),0 ,24px
+ if($border-radius-ripple, $border-radius-ripple, map-get($checkbox-schema, 'border-radius-ripple')), 0, 24px
);
@@ -62,6 +63,7 @@
fill-color: $fill-color,
tick-color: $tick-color,
disabled-color: $disabled-color,
+ disabled-color-label: $disabled-color-label,
border-radius: $border-radius,
border-radius-ripple: $border-radius-ripple
));
@@ -85,11 +87,30 @@
$size: em(20px);
$checkbox-radius: $size / 2;
- $border-width: 2px;
+
+ $border-width: map-get((
+ material: 2px,
+ fluent: 1px
+ ), map-get($theme, variant));
+
+ $ripple-display: map-get((
+ material: block,
+ fluent: none
+ ), map-get($theme, variant));
+
$label-margin: em(8px);
$radius: 2px;
- $mark-stroke: 3;
+ $mark-stroke: map-get((
+ material: 3,
+ fluent: 1
+ ), map-get($theme, variant));
+
+ $mark-offset: map-get((
+ material: 0,
+ fluent: -1px
+ ), map-get($theme, variant));
+
$mark-length: 24;
$mark-x-factor: $mark-stroke / $mark-length;
@@ -133,7 +154,7 @@
width: $size;
height: $size;
min-width: $size;
- border-width: $border-width;
+ border-width: rem($border-width);
border-style: solid;
border-color: --var($theme, 'empty-color');
border-radius: --var($theme, 'border-radius');
@@ -191,6 +212,13 @@
transition: opacity .1s $ease-out-quad;
}
+ %igx-checkbox--indeterminate {
+ %cbx-composite-mark {
+ top: $mark-offset;
+ left: $mark-offset;
+ }
+ }
+
%cbx-composite-mark--x {
stroke-dashoffset: 0;
opacity: 1;
@@ -243,12 +271,13 @@
}
%cbx-label--disabled {
- color: --var($theme, 'disabled-color');
+ color: --var($theme, 'disabled-color-label');
}
%cbx-ripple {
@include igx-ripple($ripple-theme);
@include igx-css-vars($ripple-theme);
+ display: $ripple-display;
position: absolute;
top: calc(50% - #{$ripple-radius});
right: calc(100% - #{$ripple-radius} - #{$checkbox-radius});
@@ -323,12 +352,10 @@
) {
$label: map-get($categories, 'label');
- @include igx-scope('.igx-typography') {
- %cbx-label {
- @include igx-type-style($type-scale, $label) {
- margin-top: 0;
- margin-bottom: 0;
- }
+ %cbx-label {
+ @include igx-type-style($type-scale, $label) {
+ margin-top: 0;
+ margin-bottom: 0;
}
}
}
diff --git a/projects/igniteui-angular/src/lib/core/styles/components/chip/_chip-theme.scss b/projects/igniteui-angular/src/lib/core/styles/components/chip/_chip-theme.scss
index 6510b88ce0c..d0f8aa6abbd 100644
--- a/projects/igniteui-angular/src/lib/core/styles/components/chip/_chip-theme.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/components/chip/_chip-theme.scss
@@ -217,18 +217,37 @@
$transition: all 120ms $ease-in-out-quad;
$chip-max-width: 24ch;
- $chip-height: (
+ $chip-height-material: (
comfortable: rem(32px),
cosy: rem(24px),
compact: rem(18px)
);
+ $chip-height-fluent: (
+ comfortable: rem(26px),
+ cosy: rem(24px),
+ compact: rem(18px)
+ );
+
+ $chip-height: map-get((
+ material: $chip-height-material,
+ fluent: $chip-height-fluent
+ ), map-get($theme, variant));
+
$chip-padding: (
comfortable: 0 rem(8px),
cosy: 0 rem(4px),
compact: 0 rem(2px)
);
+ $item-padding: 4px;
+ $chip-item-padding: 0 rem($item-padding);
+
+ $chip-avatar-inset: map-get((
+ material: 0,
+ fluent: -$item-padding
+ ), map-get($theme, variant));
+
$chip-icon-size: (
comfortable: rem(18px),
cosy: rem(18px),
@@ -342,6 +361,12 @@
+ [igxPrefix] {
margin-left: rem(4px);
+ &%igx-avatar-display {
+ max-height: 100%;
+ max-width: 100%;
+ margin-left: $chip-avatar-inset!important;
+ }
+
[dir='rtl'] & {
margin-left: 0;
margin-right: rem(4px);
@@ -434,7 +459,7 @@
justify-content: center;
flex: 1 1 auto;
height: map-get($chip-height, 'comfortable');
- padding: 0 rem(4px);
+ padding: $chip-item-padding;
color: --var($theme, 'text-color');
background: --var($theme, 'background');
border-width: 1px;
@@ -531,23 +556,24 @@
/// @param {Map} $type-scale - A typographic scale as produced by igx-type-scale.
/// @param {Map} $categories [(text: 'body-2')] - The categories from the typographic scale used for type styles.
/// @requires {mixin} igx-type-style
-@mixin igx-chip-typography($type-scale, $categories: (text: 'body-2')) {
+@mixin igx-chip-typography(
+ $type-scale,
+ $categories: (text: 'body-2'))
+{
$text: map-get($categories, 'text');
- @include igx-scope('.igx-typography') {
- %igx-chip {
- @include igx-type-style($type-scale, $text) {
- font-weight: 600;
- }
+ %igx-chip {
+ @include igx-type-style($type-scale, $text) {
+ font-weight: 600;
}
+ }
- %igx-chip--compact,
- %igx-chip__ghost--compact {
- %igx-chip__content {
- @include igx-type-style($type-scale, $text) {
- font-size: rem(12px);
- font-weight: 600;
- }
+ %igx-chip--compact,
+ %igx-chip__ghost--compact {
+ %igx-chip__content {
+ @include igx-type-style($type-scale, $text) {
+ font-size: 12px;
+ font-weight: 600;
}
}
}
diff --git a/projects/igniteui-angular/src/lib/core/styles/components/column-hiding/_column-hiding-theme.scss b/projects/igniteui-angular/src/lib/core/styles/components/column-hiding/_column-hiding-theme.scss
index ad2f7ce587f..688651d1716 100644
--- a/projects/igniteui-angular/src/lib/core/styles/components/column-hiding/_column-hiding-theme.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/components/column-hiding/_column-hiding-theme.scss
@@ -99,11 +99,9 @@
@mixin igx-column-hiding-typography($type-scale, $categories: (title: 'subtitle-1')) {
$title: map-get($categories, 'title');
- @include igx-scope('.igx-typography') {
- %column-hiding-title {
- @include igx-type-style($type-scale, $title) {
- margin: 0;
- }
+ %column-hiding-title {
+ @include igx-type-style($type-scale, $title) {
+ margin: 0;
}
}
}
diff --git a/projects/igniteui-angular/src/lib/core/styles/components/dialog/_dialog-theme.scss b/projects/igniteui-angular/src/lib/core/styles/components/dialog/_dialog-theme.scss
index 968e2546964..c9af05546b2 100644
--- a/projects/igniteui-angular/src/lib/core/styles/components/dialog/_dialog-theme.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/components/dialog/_dialog-theme.scss
@@ -80,12 +80,26 @@
/// @requires --var
@mixin igx-dialog($theme) {
@include igx-root-css-vars($theme);
-
- $dialog-min-width: rem(280px);
- $dialog-title-padding: rem(24px) rem(24px) rem(12px) rem(24px);
- $dialog-message-padding: rem(12px) rem(24px);
- $dialog-actions-padding: rem(8px);
-
+ $dialog-min-width: map-get((
+ material: rem(280px),
+ fluent: rem(288px)
+ ), map-get($theme, variant));
+
+ $dialog-title-padding: map-get((
+ material: rem(24px) rem(24px) rem(12px) rem(24px),
+ fluent: rem(16px) rem(46px) rem(24px) rem(24px)
+ ), map-get($theme, variant));
+
+ $dialog-message-padding: map-get((
+ material: rem(12px) rem(24px),
+ fluent: 0 rem(24px) rem(20px) rem(24px)
+ ), map-get($theme, variant));
+
+ $dialog-actions-padding: map-get((
+ material: rem(8px),
+ fluent: 0 rem(24px) rem(24px) rem(24px)
+ ), map-get($theme, variant));
+
%igx-dialog-display {
outline-style: none;
}
@@ -147,17 +161,15 @@
$title: map-get($categories, 'title');
$content: map-get($categories, 'content');
- @include igx-scope('.igx-typography') {
- %igx-dialog-title {
- @include igx-type-style($type-scale, $title) {
- margin: 0;
- }
+ %igx-dialog-title {
+ @include igx-type-style($type-scale, $title) {
+ margin: 0;
}
+ }
- %igx-dialog-content {
- @include igx-type-style($type-scale, $content) {
- margin: 0;
- }
+ %igx-dialog-content {
+ @include igx-type-style($type-scale, $content) {
+ margin: 0;
}
}
}
diff --git a/projects/igniteui-angular/src/lib/core/styles/components/drop-down/_drop-down-theme.scss b/projects/igniteui-angular/src/lib/core/styles/components/drop-down/_drop-down-theme.scss
index e4d835049cf..e1f7e3bdbe6 100644
--- a/projects/igniteui-angular/src/lib/core/styles/components/drop-down/_drop-down-theme.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/components/drop-down/_drop-down-theme.scss
@@ -366,25 +366,23 @@
$item: map-get($categories, 'item');
$select-item: map-get($categories, 'select-item');
- @include igx-scope('.igx-typography') {
- %igx-drop-down__header,
- %igx-drop-down__group > label {
- @include igx-type-style($type-scale, $header) {
- margin: 0;
- }
+ %igx-drop-down__header,
+ %igx-drop-down__group > label {
+ @include igx-type-style($type-scale, $header) {
+ margin: 0;
}
+ }
- %igx-drop-down__item {
- @include igx-type-style($type-scale, $item) {
- margin: 0;
- }
+ %igx-drop-down__item {
+ @include igx-type-style($type-scale, $item) {
+ margin: 0;
}
+ }
- %igx-drop-down__list--select {
- %igx-drop-down__item {
- @include igx-type-style($type-scale, $select-item);
- @include ellipsis()
- }
+ %igx-drop-down__list--select {
+ %igx-drop-down__item {
+ @include igx-type-style($type-scale, $select-item);
+ @include ellipsis()
}
}
}
diff --git a/projects/igniteui-angular/src/lib/core/styles/components/expansion-panel/_expansion-panel-theme.scss b/projects/igniteui-angular/src/lib/core/styles/components/expansion-panel/_expansion-panel-theme.scss
index f9c14fc974c..ddc23c89326 100644
--- a/projects/igniteui-angular/src/lib/core/styles/components/expansion-panel/_expansion-panel-theme.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/components/expansion-panel/_expansion-panel-theme.scss
@@ -208,23 +208,21 @@
$description: map-get($categories, 'description');
$body: map-get($categories, '$body');
- @include igx-scope('.igx-typography') {
- %igx-expansion-panel__header-title {
- @include igx-type-style($type-scale, $title) {
- margin: 0;
- }
+ %igx-expansion-panel__header-title {
+ @include igx-type-style($type-scale, $title) {
+ margin: 0;
}
+ }
- %igx-expansion-panel__header-description {
- @include igx-type-style($type-scale, $description) {
- margin: 0;
- }
+ %igx-expansion-panel__header-description {
+ @include igx-type-style($type-scale, $description) {
+ margin: 0;
}
+ }
- %igx-expansion-panel__body {
- @include igx-type-style($type-scale, $body) {
- margin: 0;
- }
+ %igx-expansion-panel__body {
+ @include igx-type-style($type-scale, $body) {
+ margin: 0;
}
}
}
diff --git a/projects/igniteui-angular/src/lib/core/styles/components/grid-paginator/_grid-paginator-theme.scss b/projects/igniteui-angular/src/lib/core/styles/components/grid-paginator/_grid-paginator-theme.scss
index de2918f7cf9..8e2eb8606a7 100644
--- a/projects/igniteui-angular/src/lib/core/styles/components/grid-paginator/_grid-paginator-theme.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/components/grid-paginator/_grid-paginator-theme.scss
@@ -120,4 +120,3 @@
min-width: 80px;
}
}
-
diff --git a/projects/igniteui-angular/src/lib/core/styles/components/grid/_excel-filtering-theme.scss b/projects/igniteui-angular/src/lib/core/styles/components/grid/_excel-filtering-theme.scss
index 8ea653bb143..b0b183fa650 100644
--- a/projects/igniteui-angular/src/lib/core/styles/components/grid/_excel-filtering-theme.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/components/grid/_excel-filtering-theme.scss
@@ -372,73 +372,62 @@
%grid-excel-menu {
%grid-excel-menu__header > h4 {
- font-size: rem(18px);
- margin: 0;
- line-height: 1;
- font-weight: 700;
+ @include igx-type-style($type-scale, 'h6')
}
}
- @include igx-scope('.igx-typography') {
- %grid-excel-menu {
- %grid-excel-menu__header > h4 {
- @include igx-type-style($type-scale, 'h6')
- }
+ %grid-excel-menu__secondary {
+ %grid-excel-menu__header > h4 {
+ @include igx-type-style($type-scale, 'h6');
}
+ }
- %grid-excel-menu__secondary {
- %grid-excel-menu__header > h4 {
- @include igx-type-style($type-scale, 'h6');
- }
+ %grid-excel-sort,
+ %grid-excel-move {
+ header {
+ @include igx-type-style($type-scale, 'overline');
+ }
+ }
+
+ %grid-excel-menu--cosy {
+ %grid-excel-menu__header > h4 {
+ @include igx-type-style($type-scale, 'h6')
+ }
+ }
+
+ %grid-excel-menu--compact {
+ %grid-excel-menu__header > h4 {
+ @include igx-type-style($type-scale, 'subtitle-1')
}
%grid-excel-sort,
%grid-excel-move {
header {
- @include igx-type-style($type-scale, 'overline');
+ @include igx-type-style($type-scale, 'body-2');
+ text-transform: capitalize;
}
}
- %grid-excel-menu--cosy {
- %grid-excel-menu__header > h4 {
- @include igx-type-style($type-scale, 'h6')
+ %grid-excel-actions__action {
+ span {
+ @include igx-type-style($type-scale, 'body-2');
}
}
- %grid-excel-menu--compact {
- %grid-excel-menu__header > h4 {
- @include igx-type-style($type-scale, 'subtitle-1')
- }
-
- %grid-excel-sort,
- %grid-excel-move {
- header {
- @include igx-type-style($type-scale, 'body-2');
- text-transform: capitalize;
- }
- }
-
- %grid-excel-actions__action {
- span {
- @include igx-type-style($type-scale, 'body-2');
- }
- }
-
- %cbx-label {
- @include igx-type-style($type-scale, 'body-2');
- }
+ %cbx-label {
+ @include igx-type-style($type-scale, 'body-2');
}
+ }
- %grid-excel-menu__secondary--cosy {
- %grid-excel-menu__header > h4 {
- @include igx-type-style($type-scale, 'h6');
- }
+ %grid-excel-menu__secondary--cosy {
+ %grid-excel-menu__header > h4 {
+ @include igx-type-style($type-scale, 'h6');
}
+ }
- %grid-excel-menu__secondary--compact {
- %grid-excel-menu__header > h4 {
- @include igx-type-style($type-scale, 'subtitle-1');
- }
+ %grid-excel-menu__secondary--compact {
+ %grid-excel-menu__header > h4 {
+ @include igx-type-style($type-scale, 'subtitle-1');
}
}
}
diff --git a/projects/igniteui-angular/src/lib/core/styles/components/grid/_grid-theme.scss b/projects/igniteui-angular/src/lib/core/styles/components/grid/_grid-theme.scss
index df73013e0fd..b2d8cdd49fc 100644
--- a/projects/igniteui-angular/src/lib/core/styles/components/grid/_grid-theme.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/components/grid/_grid-theme.scss
@@ -32,6 +32,7 @@
/// @param {Color} $row-odd-text-color [null] - The text color of odd rows.
/// @param {Color} $row-even-text-color [null] - The text color of even rows.
/// @param {Color} $row-selected-background [null] - The selected row background color.
+/// @param {Color} $row-selected-hover-background [null] - The selected row hover background color.
/// @param {Color} $row-selected-text-color [null] - The selected row text color.
/// @param {Color} $row-hover-background [null] - The hover row background color.
/// @param {Color} $row-hover-text-color [null] - The hover row text color.
@@ -130,6 +131,7 @@
$row-odd-text-color: null,
$row-even-text-color: null,
$row-selected-background: null,
+ $row-selected-hover-background: null,
$row-selected-text-color: null,
$row-hover-background: null,
$row-hover-text-color: null,
@@ -193,6 +195,7 @@
$row-ghost-background: null,
$row-drag-color: null,
$drop-area-border-radius: null,
+ $grid-border-color: null,
$sortable-header-icon-hover-color: null
) {
$name: 'igx-grid';
@@ -270,6 +273,10 @@
$row-selected-text-color: $row-selected-background;
}
+ @if not($row-selected-text-color) and $row-selected-hover-background {
+ $row-selected-text-color: $row-selected-hover-background;
+ }
+
@if not($row-border-color) and $content-background {
@if type-of($content-background) == 'color' {
$row-border-color: rgba(text-contrast($content-background), .08)
@@ -410,6 +417,7 @@
row-odd-text-color: $row-odd-text-color,
row-even-text-color: $row-even-text-color,
row-selected-background: $row-selected-background,
+ row-selected-hover-background: $row-selected-hover-background,
row-selected-text-color: $row-selected-text-color,
row-hover-background: $row-hover-background,
row-hover-text-color: $row-hover-text-color,
@@ -477,7 +485,8 @@
row-ghost-background: $row-ghost-background,
row-drag-color: $row-drag-color,
drop-area-border-radius: $drop-area-border-radius,
- sortable-header-icon-hover-color: $sortable-header-icon-hover-color
+ sortable-header-icon-hover-color: $sortable-header-icon-hover-color,
+ grid-border-color: $grid-border-color,
));
}
@@ -493,7 +502,6 @@
@include igx-root-css-vars($theme);
$palette: map-get($theme, 'palette');
- // @debug $theme;
$grid-shadow: --var($theme, 'grid-shadow');
@@ -577,6 +585,16 @@
$drag-icon-size: rem(24px);
$grouping-padding-right: rem(12px);
+ $grid-border-width: map-get((
+ material: 0,
+ fluent: 1px
+ ), map-get($theme, variant));
+
+ $grid-header-weight: map-get((
+ material: 600,
+ fluent: 800
+ ), map-get($theme, variant));
+
%grid-display {
position: relative;
display: grid;
@@ -586,6 +604,7 @@
box-shadow: $grid-shadow;
outline-style: none;
z-index: 0;
+ border: $grid-border-width solid --var($theme, 'grid-border-color');
%cbx-display {
min-width: rem(20px);
@@ -940,7 +959,7 @@
}
&:hover {
- background: --var($theme, 'row-selected-background');
+ background: --var($theme, 'row-selected-hover-background');
color: --var($theme, 'row-selected-text-color');
}
@@ -1233,6 +1252,7 @@
%grid-cell-header-title {
@include ellipsis();
+ font-weight: $grid-header-weight;
min-width: 3ch;
user-select: none;
cursor: initial;
diff --git a/projects/igniteui-angular/src/lib/core/styles/components/input/_input-group-component.scss b/projects/igniteui-angular/src/lib/core/styles/components/input/_input-group-component.scss
index 934d7707734..2b83b0d66df 100644
--- a/projects/igniteui-angular/src/lib/core/styles/components/input/_input-group-component.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/components/input/_input-group-component.scss
@@ -381,6 +381,132 @@
}
}
+ // FLUENT THEME //
+ @include m(fluent) {
+ @extend %igx-input-group-fluent !optional;
+
+ @include e(bundle) {
+ @extend %form-group-bundle--fluent !optional;
+
+ &:hover {
+ @extend %form-group-bundle--fluent--hover !optional;
+ }
+ }
+
+ @include e(bundle-main) {
+ @extend %form-group-bundle-main--fluent !optional;
+ }
+
+ @include e(input) {
+ @extend %fluent-input !optional;
+ }
+
+ @include e(label) {
+ @extend %fluent-label !optional;
+ }
+
+ @include e(textarea) {
+ @extend %fluent-textarea !optional;
+ }
+ }
+
+ @include mx(placeholder, fluent) {
+ @include e(label) {
+ @extend %fluent-placeholder-label !optional;
+ }
+ }
+
+ @include mx(cosy, fluent) {
+ @extend %igx-input-group-fluent--cosy !optional;
+ }
+
+ @include mx(compact, fluent) {
+ @extend %igx-input-group-fluent--compact !optional;
+ }
+
+ @include mx(disabled, fluent) {
+ @include e(bundle) {
+ @extend %form-group-bundle--fluent-disabled !optional;
+
+ &:hover {
+ @extend %form-group-bundle--fluent--hover-disabled !optional;
+ }
+ }
+
+ @include e(input) {
+ %fluent-input-disabled {
+ @extend %fluent-input-disabled !optional
+ }
+
+ &:hover {
+ @extend %fluent-input-disabled !optional
+ }
+
+ &:focus {
+ @extend %fluent-input-disabled !optional
+ }
+ }
+
+ @include e(label) {
+ @extend %fluent-label-disabled !optional;
+ }
+ }
+
+ @include mx(filled, fluent) {
+ @include e(label) {
+ @extend %fluent-label-filled !optional;
+ }
+ }
+
+ @include mx(focused, fluent) {
+ @include e(bundle) {
+ @extend %form-group-bundle--focus !optional;
+
+ &:hover {
+ @extend %form-group-bundle--fluent--focus !optional;
+ }
+ }
+
+ @include e(label) {
+ @extend %fluent-label-focused !optional;
+ }
+ }
+
+ @include mx(required, fluent) {
+ @include e(bundle) {
+ @extend %form-group-bundle-required--fluent !optional;
+ }
+ }
+
+ @include mx(valid, fluent) {
+ @include e(bundle) {
+ @extend %form-group-bundle-success--fluent !optional;
+
+ &:hover {
+ @extend %form-group-bundle-success--fluent--hover !optional;
+ }
+ }
+
+ @include e(label) {
+ @extend %fluent-label-success !optional;
+ }
+ }
+
+ @include mx(invalid, fluent) {
+ @include e(bundle) {
+ @extend %form-group-bundle-error--fluent !optional;
+
+ &:hover {
+ @extend %form-group-bundle-error--fluent--hover !optional;
+ }
+ }
+
+ @include e(label) {
+ @extend %fluent-label-error !optional;
+ }
+ }
+ // FLUENT THEME END //
+
@include m(search) {
@extend %form-group-display--no-margin !optional;
@@ -460,4 +586,50 @@
@extend %form-group-bundle-search--disabled !optional;
}
}
+
+ @include m(fluent-search) {
+ @extend %igx-input-group-fluent-search !optional;
+
+ @include e(bundle) {
+ @extend %form-group-bundle--fluent !optional;
+
+ &:hover {
+ @extend %form-group-bundle--fluent--hover !optional;
+ }
+ }
+
+ @include e(bundle-main) {
+ @extend %form-group-bundle-main--fluent !optional;
+ }
+
+ @include e(input) {
+ @extend %fluent-input !optional;
+ }
+
+ @include e(label) {
+ @extend %fluent-label !optional;
+ }
+
+ @include e(hint) {
+ @extend %form-group-helper--box !optional;
+ }
+ }
+
+ @include mx(fluent-search, cosy) {
+ @extend %igx-input-group-fluent-search--cosy !optional;
+ }
+
+ @include mx(fluent-search, compact) {
+ @extend %igx-input-group-fluent-search--compact !optional;
+ }
+
+ @include mx(focused, fluent-search) {
+ @extend %igx-input-group-fluent-search--focused !optional;
+ }
+
+ @include mx(disabled, fluent-search) {
+ @include e(bundle) {
+ @extend %form-group-bundle-search--disabled !optional;
+ }
+ }
}
diff --git a/projects/igniteui-angular/src/lib/core/styles/components/input/_input-group-theme.scss b/projects/igniteui-angular/src/lib/core/styles/components/input/_input-group-theme.scss
index 256af83d227..327a8a6a190 100644
--- a/projects/igniteui-angular/src/lib/core/styles/components/input/_input-group-theme.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/components/input/_input-group-theme.scss
@@ -13,6 +13,9 @@
/// @param {Color} $focused-text-color [null] - The input text color in the focused state.
/// @param {Color} $disabled-text-color [null] - The input text color in the disabled state.
///
+/// @param {Color} $input-prefix-color [null] - The input prefix color in the idle state.
+/// @param {Color} $input-suffix-color [null] - The input suffix color in the idle state.
+///
/// @param {Color} $idle-secondary-color [null] - The label color in the idle state.
/// @param {Color} $filled-secondary-color [null] - The label color in the filled state.
/// @param {Color} $focused-secondary-color [null] - The label color in the focused state.
@@ -22,7 +25,11 @@
/// @param {Color} $focused-bottom-line-color [null] - The bottom line and border colors in the focused state.
/// @param {Color} $interim-bottom-line-color [null] - The bottom line and border colors during the to-focused transition.
/// @param {Color} $disabled-bottom-line-color [null] - The bottom line and border colors in the disabled state.
-/// @param {Color} $disabled-border-color [null] - The disabled border color for input groups of type border.
+///
+/// @param {Color} $border-color [null] - The border color for input groups of type border and fluent.
+/// @param {Color} $hover-border-color [null] - The hover input border for input groups of type border and fluent.
+/// @param {Color} $focused-border-color [null] - The focused input border color for input groups of type border and fluent.
+/// @param {Color} $disabled-border-color [null] - The disabled border color for input groups of type border and fluent.
///
/// @param {Color} $box-background [null] - The background color of an input group of type box.
/// @param {Color} $box-disabled-background [null] - The background color of an input group of type box in the disabled state.
@@ -81,6 +88,10 @@
$focused-bottom-line-color: null,
$interim-bottom-line-color: null,
$disabled-bottom-line-color: null,
+
+ $border-color: null,
+ $hover-border-color: null,
+ $focused-border-color: null,
$disabled-border-color: null,
$box-background: null,
@@ -100,7 +111,12 @@
$error-secondary-color: null,
$placeholder-color: null,
- $disabled-placeholder-color: null
+ $disabled-placeholder-color: null,
+
+ $input-prefix-color: null,
+ $input-prefix-background: null,
+ $input-suffix-color: null,
+ $input-suffix-background: null
) {
$name: 'igx-input-group';
$input-group-schema: map-get($schema, $name);
@@ -162,6 +178,10 @@
focused-bottom-line-color: $focused-bottom-line-color,
interim-bottom-line-color: $interim-bottom-line-color,
disabled-bottom-line-color: $disabled-bottom-line-color,
+
+ border-color: $border-color,
+ hover-border-color: $hover-border-color,
+ focused-border-color: $focused-border-color,
disabled-border-color: $disabled-border-color,
box-background: $box-background,
@@ -182,6 +202,11 @@
error-secondary-color: $error-secondary-color,
placeholder-color: $placeholder-color,
disabled-placeholder-color: $disabled-placeholder-color,
+
+ input-prefix-color: $input-prefix-color,
+ input-prefix-background: $input-prefix-background,
+ input-suffix-color: $input-suffix-color,
+ input-suffix-background: $input-suffix-background
));
}
@@ -213,6 +238,31 @@
'compact': 22px
);
+ $search-border-width: map-get((
+ material: 0,
+ fluent: 1px,
+ ), map-get($theme, variant));
+
+ $prefix-margin: map-get((
+ material: 0,
+ fluent: 8px,
+ ), map-get($theme, variant));
+
+ $prefix-height-cosy: map-get((
+ material: rem(32px, map-get($base-scale-size, 'cosy')),
+ fluent: auto,
+ ), map-get($theme, variant));
+
+ $prefix-height-compact: map-get((
+ material: rem(32px, map-get($base-scale-size, 'compact')),
+ fluent: auto,
+ ), map-get($theme, variant));
+
+ $prefix-height-comfortable: map-get((
+ material: rem(32px, map-get($base-scale-size, 'comfortable')),
+ fluent: auto,
+ ), map-get($theme, variant));
+
$hint-padding-top: rem(6px, map-get($base-scale-size, 'comfortable'));
$hint--box-margin: rem(12px, map-get($base-scale-size, 'comfortable'));
@@ -404,7 +454,7 @@
%form-group-bundle--border {
padding: 0 rem(16px, map-get($base-scale-size, 'comfortable'));
- box-shadow: inset 0 0 0 1px --var($theme, 'idle-bottom-line-color');
+ box-shadow: inset 0 0 0 1px --var($theme, 'border-color');
border-radius: --var($theme, 'border-border-radius');
background: --var($theme, 'border-background');
@@ -422,11 +472,11 @@
}
%form-group-bundle-border--hover {
- box-shadow: inset 0 0 0 2px --var($theme, 'idle-text-color');
+ box-shadow: inset 0 0 0 2px --var($theme, 'hover-border-color');
}
%form-group-bundle-border--focus {
- box-shadow: inset 0 0 0 2px --var($theme, 'focused-bottom-line-color');
+ box-shadow: inset 0 0 0 2px --var($theme, 'focused-border-color');
}
%form-group-bundle-border--error {
@@ -442,12 +492,241 @@
box-shadow: inset 0 0 0 1px --var($theme, 'disabled-border-color');
}
+
+ //// FLUENT /////
+ %igx-input-group-fluent {
+ display: flex;
+ flex-direction: column;
+
+ igx-prefix,
+ [igxPrefix] {
+ @extend %form-group-prefix-fluent;
+ outline-style: none;
+ }
+
+ igx-suffix,
+ [igxSuffix] {
+ @extend %form-group-suffix-fluent;
+ outline-style: none;
+ }
+
+ select {
+ width: calc(100% + #{rem(8px)});
+ margin-left: rem(-8px) !important;
+ cursor: pointer !important;
+ }
+ }
+
+ %igx-input-group-fluent-search {
+ display: flex;
+ flex-direction: column;
+
+ igx-prefix,
+ [igxPrefix] {
+ @extend %form-group-prefix-fluent-search;
+ outline-style: none;
+ overflow: hidden;
+ }
+
+ igx-suffix,
+ [igxSuffix] {
+ @extend %form-group-suffix-fluent-search;
+ outline-style: none;
+ }
+ }
+
+ %igx-input-group-fluent-search--focused {
+ igx-prefix,
+ [igxPrefix] {
+ width: 0;
+ padding-right: 0 !important;
+ }
+ }
+
+ %igx-input-group-fluent--cosy {
+ igx-prefix,
+ [igxPrefix] {
+ @extend %form-group-prefix-fluent--cosy;
+ outline-style: none;
+ }
+
+ igx-suffix,
+ [igxSuffix] {
+ @extend %form-group-suffix-fluent--cosy;
+ outline-style: none;
+ }
+ }
+
+ %igx-input-group-fluent-search--cosy {
+ display: flex;
+ flex-direction: column;
+
+ igx-prefix,
+ [igxPrefix] {
+ @extend %form-group-prefix-fluent-search--cosy;
+ outline-style: none;
+ }
+
+ igx-suffix,
+ [igxSuffix] {
+ @extend %form-group-suffix-fluent-search--cosy;
+ outline-style: none;
+ }
+ }
+
+ %igx-input-group-fluent--compact {
+ igx-prefix,
+ [igxPrefix] {
+ @extend %form-group-prefix-fluent--compact;
+ outline-style: none;
+ }
+
+ igx-suffix,
+ [igxSuffix] {
+ @extend %form-group-suffix-fluent--compact;
+ outline-style: none;
+ }
+ }
+
+ %igx-input-group-fluent-search--compact {
+ display: flex;
+ flex-direction: column;
+
+ igx-prefix,
+ [igxPrefix] {
+ @extend %form-group-prefix-fluent-search--compact;
+ outline-style: none;
+ }
+
+ igx-suffix,
+ [igxSuffix] {
+ @extend %form-group-suffix-fluent-search--compact;
+ outline-style: none;
+ }
+ }
+
+ %form-group-bundle-required--fluent {
+ &::after {
+ content: '*';
+ position: absolute;
+ top: rem(-8px);
+ left: calc(100% + #{rem(4px)});
+ color: --var($theme, 'error-secondary-color');
+ }
+ }
+
+ %fluent-label + %form-group-bundle-required--fluent {
+ &::after {
+ display: none;
+ }
+ }
+
+ // Bundle
+ %form-group-bundle--fluent {
+ padding: 0;
+ min-height: 32px;
+ border: 1px solid --var($theme, 'border-color');
+ box-shadow: none;
+ border-radius: --var($theme, 'border-border-radius');
+ background: --var($theme, 'border-background');
+ position: relative;
+ }
+
+ %form-group-bundle--fluent--hover {
+ border-color: --var($theme, 'hover-border-color');
+ box-shadow: none;
+ }
+
+ %form-group-bundle--fluent--focus {
+ border-color: --var($theme, 'focused-border-color');
+ box-shadow: none;
+ }
+
+ %form-group-bundle--fluent--hover-disabled,
+ %form-group-bundle--fluent-disabled {
+ border-color: --var($theme, 'disabled-border-color');
+ background: --var($theme, 'border-disabled-background');
+ }
+
+ %form-group-bundle-error--fluent--hover,
+ %form-group-bundle-error--fluent {
+ border-color: --var($theme, 'error-secondary-color');
+ }
+
+ %form-group-bundle-success--fluent--hover,
+ %form-group-bundle-success--fluent {
+ border-color: --var($theme, 'success-secondary-color');
+ }
+
+ %fluent-input {
+ padding: 0;
+ margin: 0;
+ border: none;
+ }
+
+ %fluent-input-disabled {
+ color: --var($theme, 'disabled-text-color');
+ }
+
+ %form-group-bundle-main--fluent {
+ padding-left: rem(8px);
+ }
+
+ igx-prefix + %form-group-bundle-main--fluent,
+ [igx-prefix] + %form-group-bundle-main--fluent {
+ padding-left: 0;
+ }
+
+ %fluent-placeholder-label {
+ transform: translateY(0) scale(1);
+ }
+
+ %fluent-label {
+ padding: rem(5px) 0;
+ line-height: normal !important;
+ position: static;
+ transform: translateY(0);
+ transform-origin: top left;
+ margin-top: 0 !important;
+ height: auto;
+ color: igx-color(map-get($theme, 'palette'), 'grays', 800);
+
+ [dir='rtl'] & {
+ transform-origin: top right;
+ }
+ }
+
+ %fluent-label-success {
+ color: --var($theme, 'idle-text-color');
+ }
+
+ %fluent-label-error {
+ color: --var($theme, 'idle-text-color');
+ }
+
+ %fluent-label-disabled {
+ color: igx-color(map-get($theme, 'palette'), 'grays', 500);
+ }
+
+ %fluent-label-filled {
+ transform: translateY(0);
+ }
+
+ %fluent-label-focused {
+ color: igx-color(map-get($theme, 'palette'), 'grays', 800);
+ transform: translateY(0) scale(1);
+ }
+
+ %fluent-textarea {
+ padding: 0;
+ }
+
%form-group-bundle--search {
padding: 0 rem(16px, map-get($base-scale-size, 'comfortable'));
border-radius: --var($theme, 'search-border-radius');
- border-bottom: none;
background: --var($theme, 'search-background');
box-shadow: --var($theme, 'search-resting-shadow');
+ border: $search-border-width solid --var($theme, 'border-color');
%form-group-label--box + %form-group-input--box {
transform: translateY(0);
@@ -464,23 +743,28 @@
%form-group-bundle-search--hover {
box-shadow: --var($theme, 'search-hover-shadow');
+ border-color: --var($theme, 'hover-border-color');
}
%form-group-bundle-search--focus {
box-shadow: --var($theme, 'search-hover-shadow');
+ border-color: --var($theme, 'hover-border-color');
}
%form-group-bundle-search--error {
box-shadow: --var($theme, 'search-hover-shadow');
+ border-color: --var($theme, 'search-hover-shadow');
}
%form-group-bundle-search--success {
box-shadow: --var($theme, 'search-hover-shadow');
+ border-color: --var($theme, 'search-hover-shadow');
}
%form-group-bundle-search--disabled {
background: --var($theme, 'search-disabled-background');
box-shadow: --var($theme, 'search-disabled-shadow');
+ border-color: --var($theme, 'disabled-border-color');
}
%form-group-bundle-main {
@@ -687,7 +971,7 @@
position: relative;
display: inline-flex;
align-items: center;
- height: rem(32px, map-get($base-scale-size, 'comfortable'));
+ height: $prefix-height-comfortable;
transition: color $transition-timing;
}
@@ -711,7 +995,7 @@
%form-group-prefix--cosy,
%form-group-suffix--cosy {
- height: rem(32px, map-get($base-scale-size, 'cosy'));
+ height: $prefix-height-cosy;
}
%form-group-prefix--compact,
@@ -756,6 +1040,120 @@
padding: rem(8px, map-get($base-scale-size, 'compact')) 0;
}
+ %form-group-prefix-fluent {
+ color: --var($theme, 'input-prefix-color');
+ background: --var($theme, 'input-prefix-background');
+
+ %igx-icon-display {
+ width: rem(18px);
+ height: rem(18px);
+ font-size: rem(18px);
+ }
+
+ &:last-of-type {
+ margin-right: $prefix-margin;
+ }
+
+ padding: rem(8px, map-get($base-scale-size, 'comfortable'));
+
+ [dir='rtl'] & {
+ padding: rem(8px, map-get($base-scale-size, 'comfortable'))
+ }
+ }
+
+ %form-group-prefix-fluent-search {
+ %igx-icon-display {
+ width: rem(18px);
+ height: rem(18px);
+ font-size: rem(18px);
+ }
+
+ padding: rem(8px, map-get($base-scale-size, 'comfortable'));
+
+ [dir='rtl'] & {
+ padding: rem(8px, map-get($base-scale-size, 'comfortable'))
+ }
+
+ &:last-of-type {
+ margin-right: 0;
+ }
+ }
+
+ %form-group-suffix-fluent {
+ color: --var($theme, 'input-suffix-color');
+ background: --var($theme, 'input-suffix-background');
+
+ %igx-icon-display {
+ width: rem(18px);
+ height: rem(18px);
+ font-size: rem(18px);
+ }
+
+ &:first-of-type {
+ margin-left: $prefix-margin;
+ }
+
+ padding: rem(8px, map-get($base-scale-size, 'comfortable'));
+ }
+
+ %form-group-suffix-fluent-search {
+ %igx-icon-display {
+ width: rem(18px);
+ height: rem(18px);
+ font-size: rem(18px);
+ }
+ padding: rem(8px, map-get($base-scale-size, 'comfortable'));
+
+ &:first-of-type {
+ margin-left: 0;
+ }
+ }
+
+ %form-group-prefix-fluent-search--cosy,
+ %form-group-suffix-fluent-search--cosy,
+ %form-group-prefix-fluent--cosy,
+ %form-group-suffix-fluent--cosy {
+ height: $prefix-height-cosy;
+ }
+
+ %form-group-prefix-fluent-search--compact,
+ %form-group-suffix-fluent-search--compact,
+ %form-group-prefix-fluent--compact,
+ %form-group-suffix-fluent--compact {
+ font-size: rem(map-get($base-scale-size, 'compact') - 1px, map-get($base-scale-size, 'compact'));
+ height: $prefix-height-compact;
+ }
+
+ %form-group-prefix-fluent-search--cosy,
+ %form-group-prefix-fluent--cosy {
+ padding: rem(8px, map-get($base-scale-size, 'cosy'));
+
+ [dir='rtl'] & {
+ padding: rem(8px, map-get($base-scale-size, 'cosy'));
+ }
+ }
+
+ %form-group-prefix-fluent-search--compact,
+ %form-group-prefix-fluent--compact {
+ padding: rem(8px, map-get($base-scale-size, 'compact'));
+
+ [dir='rtl'] & {
+ padding: rem(8px, map-get($base-scale-size, 'compact'));
+ }
+ }
+
+ %form-group-suffix-fluent-search--cosy,
+ %form-group-suffix-fluent--cosy {
+ padding: rem(8px, map-get($base-scale-size, 'cosy'));
+ }
+
+ %form-group-suffix-fluent-search--compact,
+ %form-group-suffix-fluent--compact {
+ padding: rem(8px, map-get($base-scale-size, 'compact'));
+ }
+
+ /// FLUENT END ///
+
%form-group-prefix--box,
%form-group-suffix--box {
height: 100%;
@@ -886,24 +1284,22 @@
$input-text: map-get($categories, 'input-text');
$input-text-props: igx-type-scale-category($type-scale, $input-text);
- @include igx-scope('.igx-typography') {
- %form-group-input {
- @include igx-type-style($type-scale, $input-text) {
- margin: 0;
- }
+ %form-group-input {
+ @include igx-type-style($type-scale, $input-text) {
+ margin: 0;
}
+ }
- %form-group-helper {
- @include igx-type-style($type-scale, $helper-text) {
- margin: 0;
- }
+ %form-group-helper {
+ @include igx-type-style($type-scale, $helper-text) {
+ margin: 0;
}
+ }
- %form-group-prefix,
- %form-group-suffix {
- @include igx-type-style($type-scale, $input-text) {
- margin: 0;
- }
+ %form-group-prefix,
+ %form-group-suffix {
+ @include igx-type-style($type-scale, $input-text) {
+ margin: 0;
}
}
}
diff --git a/projects/igniteui-angular/src/lib/core/styles/components/list/_list-theme.scss b/projects/igniteui-angular/src/lib/core/styles/components/list/_list-theme.scss
index 6dd3c55a2ad..58fda431857 100644
--- a/projects/igniteui-angular/src/lib/core/styles/components/list/_list-theme.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/components/list/_list-theme.scss
@@ -592,30 +592,28 @@
$title: map-get($categories, 'title');
$subtitle: map-get($categories, 'subtitle');
- @include igx-scope('.igx-typography') {
- %igx-list-header {
- @include igx-type-style($type-scale, $header) {
- margin: 0;
- }
+ %igx-list-header {
+ @include igx-type-style($type-scale, $header) {
+ margin: 0;
}
+ }
- %igx-list-item {
- @include igx-type-style($type-scale, $item) {
- margin: 0;
- }
+ %igx-list-item {
+ @include igx-type-style($type-scale, $item) {
+ margin: 0;
}
+ }
- %igx-list__item-lines,
- %igx-list__item-line-title {
- @include igx-type-style($type-scale, $title) {
- margin: 0;
- }
+ %igx-list__item-lines,
+ %igx-list__item-line-title {
+ @include igx-type-style($type-scale, $title) {
+ margin: 0;
}
+ }
- %igx-list__item-line-subtitle {
- @include igx-type-style($type-scale, $subtitle) {
- margin: 0;
- }
+ %igx-list__item-line-subtitle {
+ @include igx-type-style($type-scale, $subtitle) {
+ margin: 0;
}
}
}
diff --git a/projects/igniteui-angular/src/lib/core/styles/components/navbar/_navbar-theme.scss b/projects/igniteui-angular/src/lib/core/styles/components/navbar/_navbar-theme.scss
index 535ab66dbfc..2d4cf48dfd1 100644
--- a/projects/igniteui-angular/src/lib/core/styles/components/navbar/_navbar-theme.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/components/navbar/_navbar-theme.scss
@@ -145,9 +145,7 @@
@mixin igx-navbar-typography($type-scale, $categories: (title: 'h6')) {
$title: map-get($categories, 'title');
- @include igx-scope('.igx-typography') {
- %igx-navbar-title {
- @include igx-type-style($type-scale, $title);
- }
+ %igx-navbar-title {
+ @include igx-type-style($type-scale, $title);
}
}
diff --git a/projects/igniteui-angular/src/lib/core/styles/components/radio/_radio-component.scss b/projects/igniteui-angular/src/lib/core/styles/components/radio/_radio-component.scss
index 3dc6e7e95ca..62e04529c0a 100644
--- a/projects/igniteui-angular/src/lib/core/styles/components/radio/_radio-component.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/components/radio/_radio-component.scss
@@ -12,6 +12,10 @@
@extend %radio-display !optional;
&:hover {
+ @include e(composite) {
+ @extend %igx-radio-hover__composite !optional;
+ }
+
@include e(ripple) {
@extend %radio-ripple--hover !optional;
@extend %radio-ripple--hover-unchecked !optional;
@@ -19,6 +23,10 @@
}
&:active {
+ @include e(composite) {
+ @extend %igx-radio-hover__composite !optional;
+ }
+
@include e(ripple) {
@extend %radio-ripple--hover !optional;
@extend %radio-ripple--hover-unchecked !optional;
@@ -60,6 +68,10 @@
}
&:hover {
+ @include e(composite) {
+ @extend %igx-radio--checked-active__composite !optional;
+ }
+
@include e(ripple) {
@extend %radio-ripple--hover !optional;
@extend %radio-ripple--hover-checked !optional;
@@ -67,6 +79,10 @@
}
&:active {
+ @include e(composite) {
+ @extend %igx-radio--checked-active__composite !optional;
+ }
+
@include e(ripple) {
@extend %radio-ripple--hover !optional;
@extend %radio-ripple--hover-checked !optional;
diff --git a/projects/igniteui-angular/src/lib/core/styles/components/radio/_radio-theme.scss b/projects/igniteui-angular/src/lib/core/styles/components/radio/_radio-theme.scss
index c074970c8f4..bdde99206d3 100644
--- a/projects/igniteui-angular/src/lib/core/styles/components/radio/_radio-theme.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/components/radio/_radio-theme.scss
@@ -33,7 +33,9 @@
$label-color: null,
$empty-color: null,
$fill-color: null,
- $disabled-color: null
+ $fill-hover-border-color:null,
+ $disabled-color: null,
+ $hover-color: null
) {
$name: 'igx-radio';
@@ -45,7 +47,9 @@
label-color: $label-color,
empty-color: $empty-color,
fill-color: $fill-color,
+ fill-hover-border-color: $fill-hover-border-color,
disabled-color: $disabled-color,
+ hover-color: $hover-color,
));
}
@@ -67,7 +71,22 @@
$size: em(20px);
- $border-style: 2px solid;
+ $border-width: map-get((
+ material: 2px,
+ fluent: 1px
+ ), map-get($theme, variant));
+
+ $radio-hover-scale: map-get((
+ material: null,
+ fluent: scale3d(.5, .5, .5)
+ ), map-get($theme, variant));
+
+ $ripple-display: map-get((
+ material: block,
+ fluent: none
+ ), map-get($theme, variant));
+
+ $border-style: rem($border-width) solid;
$border-radius: 50% 50%;
$transition: all .2s ease-in;
@@ -142,6 +161,24 @@
}
}
+ %igx-radio-hover__composite {
+ &::before {
+ background: --var($theme, 'hover-color');
+ transform: $radio-hover-scale;
+ }
+ }
+
+ %igx-radio--checked-active__composite {
+ &::before {
+ border-color: --var($theme, 'fill-hover-border-color');
+ background: --var($theme, 'fill-hover-border-color');
+ }
+
+ &::after {
+ border-color: --var($theme, 'fill-hover-border-color');
+ }
+ }
+
%radio-composite--disabled {
&::after {
border: $border-style --var($theme, 'disabled-color');
@@ -200,6 +237,7 @@
%radio-ripple {
@include igx-ripple($ripple-theme);
@include igx-css-vars($ripple-theme);
+ display: $ripple-display;
position: absolute;
top: calc(50% - #{$ripple-radius});
left: calc(50% - #{$ripple-radius});
@@ -265,12 +303,10 @@
) {
$label: map-get($categories, 'label');
- @include igx-scope('.igx-typography') {
- %radio-label {
- @include igx-type-style($type-scale, $label) {
- margin-top: 0;
- margin-bottom: 0;
- }
+ %radio-label {
+ @include igx-type-style($type-scale, $label) {
+ margin-top: 0;
+ margin-bottom: 0;
}
}
}
diff --git a/projects/igniteui-angular/src/lib/core/styles/components/slider/_slider-theme.scss b/projects/igniteui-angular/src/lib/core/styles/components/slider/_slider-theme.scss
index c4c7fb0550c..721459b5bc5 100644
--- a/projects/igniteui-angular/src/lib/core/styles/components/slider/_slider-theme.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/components/slider/_slider-theme.scss
@@ -39,8 +39,12 @@
$disabled-thumb-color: null,
$base-track-color: null,
- $disabled-base-track-color: null
-
+ $disabled-base-track-color: null,
+ $thumb-border-color: null,
+ $thumb-disabled-border-color: null,
+ $track-hover-color: null,
+ $thumb-hover-color: null,
+ $base-track-hover-color: null
) {
$name: 'igx-slider';
$theme: apply-palette(map-get($schema, $name), $palette);
@@ -53,12 +57,17 @@
name: $name,
palette: $palette,
track-color: $track-color,
+ track-hover-color: $track-hover-color,
thumb-color: $thumb-color,
+ thumb-hover-color: $thumb-hover-color,
label-background-color: $label-background-color,
label-text-color: $label-text-color,
disabled-thumb-color: $disabled-thumb-color,
base-track-color: $base-track-color,
- disabled-base-track-color: $disabled-base-track-color
+ disabled-base-track-color: $disabled-base-track-color,
+ thumb-border-color: $thumb-border-color,
+ thumb-disabled-border-color: $thumb-disabled-border-color,
+ base-track-hover-color: $base-track-hover-color
));
}
@@ -69,10 +78,17 @@
@mixin igx-slider($theme) {
@include igx-root-css-vars($theme);
- // @debug $theme;
-
$slider-height: 48px;
- $slider-track-height: 2px;
+
+ $slider-track-height: map-get((
+ material: 2px,
+ fluent: 4px
+ ), map-get($theme, variant));
+
+ $thumb-border-width: map-get((
+ material: 0,
+ fluent: 2px
+ ), map-get($theme, variant));
// Slider Thumb
$slider-thumb-width: 40px;
@@ -87,11 +103,48 @@
$slider-label-font-weight: 600;
$slider-label-padding: 0 rem(2px);
+ $switch-display: map-get((
+ material: block,
+ fluent: none
+ ), map-get($theme, variant));
+
+ $dot-size: map-get((
+ material: 12px,
+ fluent: 16px
+ ), map-get($theme, variant));
+
%igx-slider-display {
display: flex;
position: relative;
height: rem($slider-height);
align-items: center;
+ transition: all .2s $ease-out-quad;
+
+ &:hover {
+ %igx-slider-track-fill {
+ background: --var($theme, 'track-hover-color');
+ }
+
+ %igx-slider-track {
+ background: --var($theme, 'base-track-hover-color');
+ }
+
+ %igx-slider-track--disabled {
+ background: --var($theme, 'disabled-base-track-color');
+ }
+
+ %igx-thumb-dot {
+ &::before {
+ border-color: --var($theme, 'track-hover-color');
+ }
+ }
+
+ %igx-thumb-dot--disabled {
+ &::before {
+ border-color: --var($theme, 'thumb-disabled-border-color');
+ }
+ }
+ }
}
%igx-slider-thumbs-container {
@@ -230,17 +283,19 @@
&::before {
position: absolute;
content: '';
- width: rem(12px);
- height: rem(12px);
- left: #{rem($slider-thumb-radius) - rem(6px)};
- top: #{rem($slider-thumb-radius) - rem(6px)};
+ width: rem($dot-size);
+ height: rem($dot-size);
+ left: #{rem($slider-thumb-radius) - (rem($dot-size) / 2)};
+ top: #{rem($slider-thumb-radius) - (rem($dot-size) / 2)};
background: --var($theme, 'thumb-color');
+ border: rem($thumb-border-width) solid --var($theme, 'thumb-border-color');
transform: rotate(45deg);
transition: transform .1s $ease-out-quad, border-radius .1s $ease-out-quad;
border-radius: rem($slider-thumb-radius);
}
&::after {
+ display: $switch-display;
position: absolute;
content: '';
width: rem($slider-thumb-width);
@@ -261,6 +316,7 @@
&::before {
background: --var($theme, 'disabled-thumb-color');
+ border-color: --var($theme, 'thumb-disabled-border-color');
border-radius: rem($slider-thumb-radius);
}
diff --git a/projects/igniteui-angular/src/lib/core/styles/components/snackbar/_snackbar-theme.scss b/projects/igniteui-angular/src/lib/core/styles/components/snackbar/_snackbar-theme.scss
index 09f02813333..c7bad9bc717 100644
--- a/projects/igniteui-angular/src/lib/core/styles/components/snackbar/_snackbar-theme.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/components/snackbar/_snackbar-theme.scss
@@ -138,9 +138,7 @@
@mixin igx-snackbar-typography($type-scale, $categories: (text: 'body-2')) {
$text: map-get($categories, 'text');
- @include igx-scope('.igx-typography') {
- %igx-snackbar-message {
- @include igx-type-style($type-scale, $text);
- }
+ %igx-snackbar-message {
+ @include igx-type-style($type-scale, $text);
}
}
diff --git a/projects/igniteui-angular/src/lib/core/styles/components/switch/_switch-theme.scss b/projects/igniteui-angular/src/lib/core/styles/components/switch/_switch-theme.scss
index eaa96cc100b..44f29292e19 100644
--- a/projects/igniteui-angular/src/lib/core/styles/components/switch/_switch-theme.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/components/switch/_switch-theme.scss
@@ -61,7 +61,12 @@
$border-radius-track: null,
$border-radius-thumb: null,
- $border-radius-ripple: null
+ $border-radius-ripple: null,
+ $border-color: null,
+ $border-hover-color: null,
+ $border-disabled-color: null,
+ $border-on-color: null,
+ $border-on-hover-color: null
) {
$name: 'igx-switch';
$switch-schema: map-get($schema, $name);
@@ -116,7 +121,12 @@
border-radius-track: $border-radius-track,
border-radius-thumb: $border-radius-thumb,
- border-radius-ripple: $border-radius-ripple
+ border-radius-ripple: $border-radius-ripple,
+ border-color: $border-color,
+ border-hover-color: $border-hover-color,
+ border-disabled-color: $border-disabled-color,
+ border-on-color: $border-on-color,
+ border-on-hover-color: $border-on-hover-color,
));
}
@@ -135,10 +145,51 @@
@include igx-root-css-vars($theme);
@include scale-in-out($start-scale: .9);
- $switch-width: 36px ;
- $switch-height: 14px ;
+ $switch-width: map-get((
+ material: 36px,
+ fluent: 40px,
+ ), map-get($theme, variant));
+
+ $switch-height: map-get((
+ material: 14px,
+ fluent: 20px
+ ), map-get($theme, variant));
+
+ $switch-thumb-width: map-get((
+ material: 20px,
+ fluent: 12px
+ ), map-get($theme, variant));
+
+ $switch-on-offset: map-get((
+ material: 1px,
+ fluent: $switch-thumb-width / 2
+ ), map-get($theme, variant));
+
+ $switch-off-offset: map-get((
+ material: -1px,
+ fluent: $switch-thumb-width / 3
+ ), map-get($theme, variant));
+
+ $ripple-display: map-get((
+ material: block,
+ fluent: none
+ ), map-get($theme, variant));
+
+ $thumb-resting-shadow: map-get((
+ material: --var($theme, 'resting-shadow'),
+ fluent: none
+ ), map-get($theme, variant));
+
+ $thumb-hover-shadow: map-get((
+ material: --var($theme, 'hover-shadow'),
+ fluent: none
+ ), map-get($theme, variant));
+
+ $thumb-disabled-shadow: map-get((
+ material: --var($theme, 'disabled-shadow'),
+ fluent: none
+ ), map-get($theme, variant));
- $switch-thumb-width: 20px ;
$switch-thumb-height: $switch-thumb-width ;
$ripple-size: em(48px);
@@ -172,56 +223,71 @@
%switch-composite {
display: flex;
align-items: center;
- width: $switch-width;
- height: $switch-height;
+ width: rem($switch-width);
+ height: rem($switch-height);
+ border: 1px solid --var($theme, 'border-color');
border-radius: --var($theme, 'border-radius-track');
background: --var($theme, 'track-off-color');
cursor: pointer;
user-select: none;
transition: $input-transition;
+
+ &:hover,
+ &:focus {
+ border-color: --var($theme, 'border-hover-color');
+ }
}
%switch-composite--x {
background: --var($theme, 'track-on-color');
+ border-color: --var($theme, 'border-on-color');
+
+ &:hover,
+ &:focus {
+ border-color: --var($theme, 'border-on-hover-color');
+ }
}
%switch-composite--disabled {
background: --var($theme, 'track-disabled-color');
+ border-color: --var($theme, 'border-disabled-color');
}
%switch-composite-thumb {
position: relative;
display: block;
- width: $switch-thumb-width;
+ width: rem($switch-thumb-width);
height: $switch-thumb-height;
- min-width: $switch-thumb-width;
+ min-width: rem($switch-thumb-width);
border-radius: --var($theme, 'border-radius-thumb');
background: --var($theme, 'thumb-off-color');
- box-shadow: --var($theme, 'resting-shadow');
+ box-shadow: $thumb-resting-shadow;
transition: $input-transition;
+ transform: translateX(rem($switch-off-offset));
&:hover {
- box-shadow: --var($theme, 'hover-shadow');
+ box-shadow: $thumb-hover-shadow;
}
}
%switch-composite-thumb--x {
- transform: translateX(#{$switch-width - $switch-thumb-width});
+ transform: translateX(#{rem($switch-width) - rem($switch-thumb-width) - rem($switch-on-offset)});
background: --var($theme, 'thumb-on-color');
[dir='rtl'] & {
- transform: translateX(-#{$switch-width - $switch-thumb-width});
+ transform: translateX(-#{rem($switch-width) - rem($switch-thumb-width) - rem($switch-on-offset)});
}
}
%switch-composite-thumb--disabled {
background: --var($theme, 'thumb-disabled-color');
- box-shadow: --var($theme, 'disabled-shadow');
+ box-shadow: $thumb-disabled-shadow;
}
%switch-ripple {
@include igx-ripple($ripple-theme);
@include igx-css-vars($ripple-theme);
+ display: $ripple-display;
position: absolute;
top: calc(50% - #{$ripple-radius});
left: calc(50% - #{$ripple-radius});
@@ -330,12 +396,10 @@
) {
$label: map-get($categories, 'label');
- @include igx-scope('.igx-typography') {
- %switch-label {
- @include igx-type-style($type-scale, $label) {
- margin-top: 0;
- margin-bottom: 0;
- }
+ %switch-label {
+ @include igx-type-style($type-scale, $label) {
+ margin-top: 0;
+ margin-bottom: 0;
}
}
}
diff --git a/projects/igniteui-angular/src/lib/core/styles/components/tabs/_tabs-theme.scss b/projects/igniteui-angular/src/lib/core/styles/components/tabs/_tabs-theme.scss
index d34549e4fd2..219cb3ca00f 100644
--- a/projects/igniteui-angular/src/lib/core/styles/components/tabs/_tabs-theme.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/components/tabs/_tabs-theme.scss
@@ -421,12 +421,10 @@
@mixin igx-tabs-typography($type-scale, $categories: (label: 'button')) {
$label: map-get($categories, 'label');
- @include igx-scope('.igx-typography') {
- %igx-tabs__item-label {
- @include igx-type-style($type-scale, $label) {
- margin-top: 0;
- margin-bottom: 0;
- }
+ %igx-tabs__item-label {
+ @include igx-type-style($type-scale, $label) {
+ margin-top: 0;
+ margin-bottom: 0;
}
}
}
diff --git a/projects/igniteui-angular/src/lib/core/styles/components/time-picker/_time-picker-theme.scss b/projects/igniteui-angular/src/lib/core/styles/components/time-picker/_time-picker-theme.scss
index 3e62b027482..685649fd772 100644
--- a/projects/igniteui-angular/src/lib/core/styles/components/time-picker/_time-picker-theme.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/components/time-picker/_time-picker-theme.scss
@@ -290,20 +290,18 @@
$header-hour: map-get($categories, 'header-hour');
$content: map-get($categories, 'content');
- @include igx-scope('.igx-typography') {
- %time-picker__header-ampm {
- @include igx-type-style($type-scale, $time-period);
- }
+ %time-picker__header-ampm {
+ @include igx-type-style($type-scale, $time-period);
+ }
- %time-picker__header-hour {
- @include igx-type-style($type-scale, $header-hour);
- }
+ %time-picker__header-hour {
+ @include igx-type-style($type-scale, $header-hour);
+ }
- %time-picker__column {
- @include igx-type-style($type-scale, $content) {
- margin-top: 0;
- margin-bottom: 0;
- }
+ %time-picker__column {
+ @include igx-type-style($type-scale, $content) {
+ margin-top: 0;
+ margin-bottom: 0;
}
}
}
diff --git a/projects/igniteui-angular/src/lib/core/styles/components/toast/_toast-theme.scss b/projects/igniteui-angular/src/lib/core/styles/components/toast/_toast-theme.scss
index 9f2cfe82280..19cb713e3ed 100644
--- a/projects/igniteui-angular/src/lib/core/styles/components/toast/_toast-theme.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/components/toast/_toast-theme.scss
@@ -69,8 +69,6 @@
$toast-padding: rem(16px) rem(24px);
$toast-margin: rem(42px) auto;
- // @debug $theme;
-
%igx-toast-display {
position: fixed;
display: flex;
@@ -112,11 +110,9 @@
@mixin igx-toast-typography($type-scale, $categories: (text: 'body-2')) {
$text: map-get($categories, 'text');
- @include igx-scope('.igx-typography') {
- %igx-toast-display {
- @include igx-type-style($type-scale, $text) {
- margin: 0;
- }
+ %igx-toast-display {
+ @include igx-type-style($type-scale, $text) {
+ margin: 0;
}
}
}
diff --git a/projects/igniteui-angular/src/lib/core/styles/components/tooltip/_tooltip-theme.scss b/projects/igniteui-angular/src/lib/core/styles/components/tooltip/_tooltip-theme.scss
index 068c3397765..7944912f5b2 100644
--- a/projects/igniteui-angular/src/lib/core/styles/components/tooltip/_tooltip-theme.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/components/tooltip/_tooltip-theme.scss
@@ -99,21 +99,18 @@
$text-desktop: map-get($categories, 'text-desktop');
$text-mobile: map-get($categories, 'text-mobile');
+ %tooltip--mobile {
+ @include igx-type-style($type-scale, $text-mobile);
+ }
- @include igx-scope('.igx-typography') {
- %tooltip--mobile {
- @include igx-type-style($type-scale, $text-mobile);
+ @if $text-desktop != null {
+ %tooltip--desktop {
+ @include igx-type-style($type-scale, $text-desktop);
}
-
- @if $text-desktop != null {
- %tooltip--desktop {
- @include igx-type-style($type-scale, $text-desktop);
- }
- } @else {
- %tooltip--desktop {
- font-size: rem(10px);
- font-weight: 600;
- }
+ } @else {
+ %tooltip--desktop {
+ font-size: rem(10px);
+ font-weight: 600;
}
}
}
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/_index.scss b/projects/igniteui-angular/src/lib/core/styles/themes/_index.scss
index 4a387012884..c38ac6926fc 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/_index.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/_index.scss
@@ -108,9 +108,6 @@
@warn unquote('You have excluded the following components from the theme: "#{$excluded}". You can now add your own themes for the excluded components.');
}
- // @debug 'All registered: #{$components}';
- // @debug 'All excluded: #{$excluded}';
-
@if not(index($exclude, 'igx-ripple')) {
@include igx-ripple(igx-ripple-theme($palette, $schema));
}
@@ -476,3 +473,67 @@
$elevation: $elevation,
);
}
+
+/// Creates a global fluent theme that can be used with light backgrounds.
+/// @param {Map} $palette - An igx-palette to be used by the global theme.
+/// @param {List} $exclude [( )] - A list of igx components to be excluded from the global theme styles.
+/// @param {Boolean} $legacy-support - Turn off support for IE11, allowing you to use css variables to style components.
+@mixin igx-fluent-theme(
+ $palette,
+ $exclude: (),
+ $legacy-support: true
+) {
+ $primary: igx-color($palette, 'primary');
+ $secondary: igx-color($palette, 'secondary');
+ $surface: igx-color($palette, 'surface');
+
+ @include igx-typography(
+ $font-family: "'Open Sans', Helvetica, Arial, sans-serif",
+ $type-scale: $fluent-type-scale,
+ $base-color: #323130
+ );
+
+ @include igx-theme(
+ $palette: igx-palette(
+ $primary,
+ $secondary,
+ $surface: if($surface != #fff, $surface, #fff),
+ $grays: #000
+ ),
+ $schema: $light-fluent-schema,
+ $legacy-support: $legacy-support,
+ $exclude: $exclude
+ );
+}
+
+/// Creates a global fluent theme that can be used with dark backgrounds.
+/// @param {Map} $palette - An igx-palette to be used by the global theme.
+/// @param {List} $exclude [( )] - A list of igx components to be excluded from the global theme styles.
+/// @param {Boolean} $legacy-support - Turn off support for IE11, allowing you to use css variables to style components.
+@mixin igx-fluent-dark-theme(
+ $palette,
+ $exclude: (),
+ $legacy-support: true
+) {
+ $primary: igx-color($palette, 'primary');
+ $secondary: igx-color($palette, 'secondary');
+ $surface: igx-color($palette, 'surface');
+
+ @include igx-typography(
+ $font-family: "'Open Sans', Helvetica, Arial, sans-serif",
+ $type-scale: $fluent-type-scale,
+ $base-color: #fff
+ );
+
+ @include igx-theme(
+ $palette: igx-palette(
+ $primary,
+ $secondary,
+ $surface: if($surface != #fff, $surface, #222),
+ $grays: #fff
+ ),
+ $schema: $dark-fluent-schema,
+ $legacy-support: $legacy-support,
+ $exclude: $exclude
+ );
+}
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/_palettes.scss b/projects/igniteui-angular/src/lib/core/styles/themes/_palettes.scss
index 0eee139add2..aa91b9910b6 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/_palettes.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/_palettes.scss
@@ -72,9 +72,38 @@ $elevations: igx-elevations(
/// Green palette
/// @type {Map}
/// @group palettes
-$green-palette: igx-palette($primary: #09f, $secondary: #72da67) !default;
+$green-palette: igx-palette(
+ $primary: #09f,
+ $secondary: #72da67
+) !default;
/// Red palette
/// @type {Map}
/// @group palettes
-$purple-palette: igx-palette($primary: #00b4d6, $secondary: #514590) !default;
+$purple-palette: igx-palette(
+ $primary: #00b4d6,
+ $secondary: #514590
+) !default;
+
+
+/// Fluent Excel palette
+/// @type {Map}
+/// @group palettes
+$fluent-excel-palette: igx-palette(
+ $primary: #217346,
+ $secondary: #217346,
+ $success: #107c10,
+ $warn: #797673,
+ $error: #a80000
+) !default;
+
+/// Fluent Word palette
+/// @type {Map}
+/// @group palettes
+$fluent-word-palette: igx-palette(
+ $primary: #2b579a,
+ $secondary: #2b579a,
+ $success: #107c10,
+ $warn: #797673,
+ $error: #a80000
+) !default;
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/presets/igniteui-fluent-dark-excel.scss b/projects/igniteui-angular/src/lib/core/styles/themes/presets/igniteui-fluent-dark-excel.scss
new file mode 100644
index 00000000000..f801e9f3b52
--- /dev/null
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/presets/igniteui-fluent-dark-excel.scss
@@ -0,0 +1,4 @@
+@import '../index';
+
+@include igx-core();
+@include igx-fluent-dark-theme($fluent-excel-palette);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/presets/igniteui-fluent-dark-word.scss b/projects/igniteui-angular/src/lib/core/styles/themes/presets/igniteui-fluent-dark-word.scss
new file mode 100644
index 00000000000..8b472db773b
--- /dev/null
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/presets/igniteui-fluent-dark-word.scss
@@ -0,0 +1,4 @@
+@import '../index';
+
+@include igx-core();
+@include igx-fluent-dark-theme($fluent-word-palette);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/presets/igniteui-fluent-light-excel.scss b/projects/igniteui-angular/src/lib/core/styles/themes/presets/igniteui-fluent-light-excel.scss
new file mode 100644
index 00000000000..99b32b40ae6
--- /dev/null
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/presets/igniteui-fluent-light-excel.scss
@@ -0,0 +1,4 @@
+@import '../index';
+
+@include igx-core();
+@include igx-fluent-theme($fluent-excel-palette);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/presets/igniteui-fluent-light-word.scss b/projects/igniteui-angular/src/lib/core/styles/themes/presets/igniteui-fluent-light-word.scss
new file mode 100644
index 00000000000..f0e9b98d026
--- /dev/null
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/presets/igniteui-fluent-light-word.scss
@@ -0,0 +1,4 @@
+@import '../index';
+
+@include igx-core();
+@include igx-fluent-theme($fluent-word-palette);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_avatar.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_avatar.scss
index 06846dc04c8..bda7a59c6e2 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_avatar.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_avatar.scss
@@ -10,4 +10,10 @@
/// @requires {function} extend
/// @requires $_light-avatar
/// @see $default-palette
-$_dark-avatar: extend($_light-avatar, ());
+$_dark-avatar: extend($_light-avatar);
+
+/// Generates a dark fluent avatar schema.
+/// @type {Map}
+/// @requires {function} extend
+/// @requires $_fluent-avatar
+$_dark-fluent-avatar: extend($_fluent-avatar);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_badge.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_badge.scss
index 3c1b4b552de..d890a09f780 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_badge.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_badge.scss
@@ -11,4 +11,10 @@
/// @requires extend
/// @requires $_light-badge
/// @see $default-palette
-$_dark-badge: extend($_light-badge, ());
+$_dark-badge: extend($_light-badge);
+
+/// Generates a dark fluent badge schema.
+/// @type {Map}
+/// @requires extend
+/// @requires $_fluent-badge
+$_dark-fluent-badge: extend($_fluent-badge);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_banner.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_banner.scss
index 05e4b4bbad1..0ff1d13f098 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_banner.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_banner.scss
@@ -10,5 +10,10 @@
/// @requires extend
/// @requires $_light-banner
/// @see $default-palette
+$_dark-banner: extend($_light-banner);
-$_dark-banner: extend($_light-banner, ());
+/// Generates a dark fluent banner schema.
+/// @type {Map}
+/// @requires extend
+/// @requires $_fluent-banner
+$_dark-fluent-banner: extend($_fluent-banner);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_bottom-nav.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_bottom-nav.scss
index 6188ec0eec6..33790a48900 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_bottom-nav.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_bottom-nav.scss
@@ -5,13 +5,24 @@
/// @author Simeon Simeonoff
////
-/// Generates a dark bottom navigation schema.
+/// Generates the base dark bottom-nav schema.
/// @type {Map}
/// @prop {Color} background [#222] - The background color used for the toast.
+$_base-dark-bottom-nav: (
+ background: #222
+);
+
+/// Generates a dark bottom-nav schema based on a mix of $_light-bottom-nav and $_base-dark-bottom-nav
+/// @type {Map}
/// @requires {function} extend
/// @requires $_light-bottom-nav
+/// @requires $_base-dark-bottom-nav
/// @see $default-palette
+$_dark-bottom-nav: extend($_light-bottom-nav, $_base-dark-bottom-nav);
-$_dark-bottom-nav: extend($_light-bottom-nav, (
- background: #222
-));
+/// Generates a dark fluent bottom-nav schema based on a mix of $_fluent-bottom-nav and $_base-dark-bottom-nav
+/// @type {Map}
+/// @requires {function} extend
+/// @requires $_fluent-bottom-nav
+/// @requires $_base-dark-bottom-na
+$_dark-fluent-bottom-nav: extend($_fluent-bottom-nav, $_base-dark-bottom-nav);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_button-group.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_button-group.scss
index b74288ee246..4e6d0320488 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_button-group.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_button-group.scss
@@ -5,13 +5,80 @@
/// @author Simeon Simeonoff
////
-/// Generates a dark button group schema.
+
+/// Generates the base dark button-group schema.
/// @type {Map}
/// @prop {Color} item-background [#222] - The background color for button group items .
+$_base-dark-button-group: (
+ item-background: #222
+);
+
+/// Generates a dark button-group schema based on a mix of $_light-button-group and $_base-dark-button-group
+/// @type {Map}
/// @requires {function} extend
/// @requires $_light-button-group
+/// @requires $_base-dark-button-group
/// @see $default-palette
+$_dark-button-group: extend($_light-button-group, $_base-dark-button-group);
-$_dark-button-group: extend($_light-button-group, (
- item-background: #222
-));
+/// Generates a dark fluent button-group schema based on a mix of $_fluent-button-group and $_base-dark-button-group
+/// @type {Map}
+///
+/// @prop {map} item-border-color [igx-color: ('grays', 100), hexrgba: #000] - The border color for button group items.
+/// @prop {map} item-selected-border-color [igx-color: ('grays', 100), hexrgba: #000] - The border color for button group selected items.
+/// @prop {map} item-disabled-border: [igx-color: ('grays', 100), hexrgba: #000] - The border color for button group disabled items.
+/// @prop {map} item-text-color [igx-color: ('grays', 900)] - The text color for button group items.
+/// @prop {map} item-hover-text-color [igx-color: ('primary', 200)] - The text color for button group items on hover.
+/// @prop {Color} item-hover-background [#222] - The background color for button group items on hover.
+/// @prop {map} item-selected-background [igx-color: ('grays', 100)] - The background color for button group selected items.
+/// @prop {map} item-selected-hover-background [igx-color: ('grays', 100)] - The background color for button group selected items on hover.
+/// @prop {map} item-selected-hover-background [igx-color: ('primary', 200)] - The text color for button group selected items.
+/// @prop {Color} item-hover-background [#222] - The background color for button group disabled items.
+///
+/// @requires {function} extend
+/// @requires $_fluent-button-group
+/// @requires $_base-dark-button-group
+$_dark-fluent-button-group: extend(
+ $_fluent-button-group,
+ $_base-dark-button-group,
+ (
+ item-border-color: (
+ igx-color: ('grays', 100),
+ hexrgba: #000
+ ),
+
+ item-selected-border-color: (
+ igx-color: ('grays', 100),
+ hexrgba: #000
+ ),
+
+ item-disabled-border: (
+ igx-color: ('grays', 100),
+ hexrgba: #000
+ ),
+
+ item-text-color: (
+ igx-color: ('grays', 900)
+ ),
+
+ item-hover-text-color: (
+ igx-color: ('primary', 200)
+ ),
+
+ item-hover-background: #222,
+
+ item-selected-background: (
+ igx-color: ('grays', 100)
+ ),
+
+ item-selected-hover-background: (
+ igx-color: ('grays', 100)
+ ),
+
+ item-selected-text-color: (
+ igx-color: ('primary', 200)
+ ),
+
+ disabled-background-color: #222,
+ )
+);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_button.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_button.scss
index 34b1465d939..36355f64634 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_button.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_button.scss
@@ -5,6 +5,7 @@
/// @author Simeon Simeonoff
////
+
/// Generates a dark button schema.
/// @type {Map}
/// @prop {Map} flat-hover-background [igx-color: ('secondary', 500), rgba: .12 ] - The hover background color of a flat button.
@@ -14,7 +15,6 @@
/// @requires extend
/// @requires $_light-button
/// @see $default-palette
-
$_dark-button: extend($_light-button, (
flat-hover-background: (
igx-color: ('secondary', 500),
@@ -34,3 +34,29 @@ $_dark-button: extend($_light-button, (
igx-color: ('grays', 200)
)
));
+
+/// Generates a dark fluent button schema.
+/// @type {Map}
+/// @prop {Map} flat-icon-color [igx-color: ('primary', 200)] - The icon color of a flat button.
+/// @prop {Map} flat-hover-icon-color [igx-color: ('primary', 200)] - The icon color of a flat button on hover.
+/// @prop {Map} flat-focus-icon-color [igx-color: ('primary', 200)] - The icon color of a flat button on focus.
+/// @prop {Map} flat-hover-text-color [igx-color: ('primary', 200)] - The text color of a flat button on hover.
+/// @requires extend
+/// @requires $_fluent-button
+$_dark-fluent-button: extend($_fluent-button, (
+ flat-icon-color: (
+ igx-color: ('primary', 200)
+ ),
+
+ flat-hover-icon-color: (
+ igx-color: ('primary', 200)
+ ),
+
+ flat-focus-icon-color: (
+ igx-color: ('primary', 200)
+ ),
+
+ flat-hover-text-color: (
+ igx-color: ('primary', 200)
+ ),
+));
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_calendar.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_calendar.scss
index 0bc958ac817..5fc94be6d4f 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_calendar.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_calendar.scss
@@ -18,3 +18,9 @@ $_dark-calendar: extend($_light-calendar, (
rgba: .38
),
));
+
+/// Generates a dark fluent calendar schema.
+/// @type {Map}
+/// @requires extend
+/// @requires $_fluent-calendar
+$_dark-fluent-calendar: extend($_fluent-calendar);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_card.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_card.scss
index 19e00a2d9cd..c3a98277d9f 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_card.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_card.scss
@@ -10,4 +10,10 @@
/// @requires extend
/// @requires $_light-card
/// @see $default-palette
-$_dark-card: extend($_light-card, ());
+$_dark-card: extend($_light-card);
+
+/// Generates a dark fluent card schema.
+/// @type {Map}
+/// @requires extend
+/// @requires $_fluent-card
+$_dark-fluent-card: extend($_fluent-card);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_carousel.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_carousel.scss
index d70835f06bd..345ca2d9860 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_carousel.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_carousel.scss
@@ -5,14 +5,27 @@
/// @author Simeon Simeonoff
////
-/// Generates a dark carousel schema.
+/// Generates the base dark carousel schema.
/// @type {Map}
/// @prop {Color} button-background [#222] - The previous/next buttons idle background color.
/// @prop {Color} button-hover-background [#222] - The previous/next buttons hover background color.
+$_base-dark-carousel: (
+ button-background: #222,
+ button-hover-background: #222,
+);
+
+/// Generates a dark carousel schema based on a mix of $_light-carousel and $_base-dark-carousel
+/// @type {Map}
/// @requires extend
/// @requires $_light-carousel
+/// @requires $_base-dark-carousel
/// @see $default-palette
-$_dark-carousel: extend($_light-carousel, (
- button-background: #222,
- button-hover-background: #222,
-));
+$_dark-carousel: extend($_light-carousel, $_base-dark-carousel);
+
+/// Generates a dark fluent carousel schema based on a mix of $_fluent-carousel and $_base-dark-carousel
+/// @type {Map}
+/// @requires extend
+/// @requires $_fluent-carousel
+/// @requires $_base-dark-carousel
+$_dark-fluent-carousel: extend($_fluent-carousel, $_base-dark-carousel);
+
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_checkbox.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_checkbox.scss
index b6bbd8e965d..513162a2fbe 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_checkbox.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_checkbox.scss
@@ -14,3 +14,12 @@
$_dark-checkbox: extend($_light-checkbox, (
tick-color: #222
));
+
+/// Generates a dark fluent checkbox schema.
+/// @type {Map}
+/// @prop {Color} tick-color [#fff] - The checked mark color.
+/// @requires extend
+/// @requires $_fluent-checkbox
+$_dark-fluent-checkbox: extend($_fluent-checkbox, (
+ tick-color: #fff
+));
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_chip.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_chip.scss
index 3ef07efb460..989d9f6bc65 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_chip.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_chip.scss
@@ -5,15 +5,27 @@
/// @author Simeon Simeonoff
////
-/// Generates a dark chip schema.
+/// Generates the base dark chip schema.
/// @type {Map}
/// @prop {Map} ghost-background [igx-color: ('grays', 400), hexrgba: #000] - The chip ghost background color.
-/// @requires extend
-/// @requires $_light-chip
-/// @see $default-palette
-$_dark-chip: extend($_light-chip, (
+$_base-dark-chip: (
ghost-background: (
igx-color: ('grays', 400),
hexrgba: #000
)
-));
+);
+
+/// Generates a dark chip schema based on a mix of $_light-chip and $_base-dark-chip.
+/// @type {Map}
+/// @requires extend
+/// @requires $_light-chip
+/// @requires $_base-dark-chip
+/// @see $default-palette
+$_dark-chip: extend($_light-chip, $_base-dark-chip);
+
+/// Generates a dark fluent chip schema based on a mix of $_fluent-chip and $_base-dark-chip.
+/// @type {Map}
+/// @requires extend
+/// @requires $_fluent-chip
+/// @requires $_base-dark-chip
+$_dark-fluent-chip: extend($_fluent-chip, $_base-dark-chip);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_column-hiding.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_column-hiding.scss
index c4a6c358830..4a1f32ec9bf 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_column-hiding.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_column-hiding.scss
@@ -10,4 +10,10 @@
/// @requires extend
/// @requires $_light-column-hiding
/// @see $default-palette
-$_dark-column-hiding: extend($_light-column-hiding, ());
+$_dark-column-hiding: extend($_light-column-hiding);
+
+/// Generates a dark column hiding schema.
+/// @type {Map}
+/// @requires extend
+/// @requires $_fluent-column-hiding
+$_dark-fluent-column-hiding: extend($_fluent-column-hiding);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_combo.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_combo.scss
index 4fc02516221..83814208d2e 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_combo.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_combo.scss
@@ -11,4 +11,10 @@
/// @requires extend
/// @requires $_light-combo
/// @see $default-palette
-$_dark-combo: extend($_light-combo, ());
+$_dark-combo: extend($_light-combo);
+
+/// Generates a dark fluent combo schema.
+/// @type {Map}
+/// @requires extend
+/// @requires $_fluent-combo
+$_dark-fluent-combo: extend($_fluent-combo);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_dialog.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_dialog.scss
index a83f0b7d7ef..807a13c565f 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_dialog.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_dialog.scss
@@ -10,4 +10,10 @@
/// @requires extend
/// @requires $_light-dialog
/// @see $default-palette
-$_dark-dialog: extend($_light-dialog, ());
+$_dark-dialog: extend($_light-dialog);
+
+/// Generates a dark fluent dialog schema.
+/// @type {Map}
+/// @requires extend
+/// @requires $_fluent-dialog
+$_dark-fluent-dialog: extend($_fluent-dialog);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_divider.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_divider.scss
index b08b9854dfc..fbf1a62a982 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_divider.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_divider.scss
@@ -6,8 +6,13 @@
/// Generates a dark divider schema.
/// @type {Map}
-///
/// @requires {function} extend
/// @requires $_light-divider
/// @see $default-palette
-$_dark-divider: extend($_light-divider, ());
+$_dark-divider: extend($_light-divider);
+
+/// Generates a dark fluent divider schema.
+/// @type {Map}
+/// @requires {function} extend
+/// @requires$_fluent-divider
+$_dark-fluent-divider: extend($_fluent-divider);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_drop-down.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_drop-down.scss
index 7b2d80d8f32..14bf90e094c 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_drop-down.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_drop-down.scss
@@ -11,4 +11,23 @@
/// @requires $_light-drop-down
/// @requires extend
/// @see $default-palette
-$_dark-drop-down: extend($_light-drop-down, ());
+$_dark-drop-down: extend($_light-drop-down);
+
+/// Generates a dark fluent drop-down schema.
+/// @type {Map}
+/// @prop {color} selected-item-text-color [#fff)] - The drop-down selected item text color.
+/// @prop {color} selected-hover-item-text-color [#fff] - The drop-down selected item hover text color.
+/// @prop {color} selected-focus-item-text-color [#fff] - The drop-down selected item focus text color.
+/// @requires extend
+/// @requires $_fluent-drop-down
+/// @requires extend
+$_dark-fluent-drop-down: extend(
+ $_fluent-drop-down,
+ (
+ selected-item-text-color: #fff,
+
+ selected-hover-item-text-color: #fff,
+
+ selected-focus-item-text-color: #fff,
+ )
+);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_expansion-panel.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_expansion-panel.scss
index 89edfe30549..c8307325ef8 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_expansion-panel.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_expansion-panel.scss
@@ -9,10 +9,22 @@
/// @type {Map}
/// @prop {Color} header-background [#222] - The panel header background color.
/// @prop {Color} body-background [#222] - The panel body background color.
+$_base-dark-expansion-panel: (
+ header-background: #222,
+ body-background: #222,
+);
+
+/// Generates a dark expansion panel schema based on a mix of $_light-expansion-panel and $_base-dark-expansion-panel.
+/// @type {Map}
/// @requires extend
/// @requires $_light-expansion-panel
+/// @requires $_base-dark-expansion-panel
/// @see $default-palette
-$_dark-expansion-panel: extend($_light-expansion-panel, (
- header-background: #222,
- body-background: #222,
-));
+$_dark-expansion-panel: extend($_light-expansion-panel, $_base-dark-expansion-panel);
+
+/// Generates a dark fluent expansion panel schema based on a mix of $_fluent-expansion-panel and $_base-dark-expansion-panel.
+/// @type {Map}
+/// @requires extend
+/// @requires $_fluent-expansion-panel
+/// @requires $_base-dark-expansion-panel
+$_dark-fluent-expansion-panel: extend($_fluent-expansion-panel, $_base-dark-expansion-panel);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_grid-filtering.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_grid-filtering.scss
index 46d0ed80db4..c0e65cd721f 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_grid-filtering.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_grid-filtering.scss
@@ -10,4 +10,10 @@
/// @requires extend
/// @requires $_light-grid-filtering
/// @see $default-palette
-$_dark-grid-filtering: extend($_light-grid-filtering, ());
+$_dark-grid-filtering: extend($_light-grid-filtering);
+
+/// Generates a dark fluent grid-filtering schema.
+/// @type {Map}
+/// @requires extend
+/// @requires $_fluent-grid-filtering
+$_dark-fluent-grid-filtering: extend($_fluent-grid-filtering);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_grid-pagination.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_grid-pagination.scss
index b2d92bcc773..38a5a6fafac 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_grid-pagination.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_grid-pagination.scss
@@ -5,12 +5,27 @@
/// @author Simeon Simeonoff
////
-/// Generates a dark grid pagination schema.
+/// Generates a base dark grid pagination schema.
/// @type {Map}
/// @requires extend
/// @prop {Map} background-color [#222] - The background color of the paging panel.
/// @requires $_light-grid-pagination
/// @see $default-palette
-$_dark-grid-pagination: extend($_light-grid-pagination, (
+$_base-dark-grid-pagination: (
background-color: #222
-));
+);
+
+/// Generates a dark grid pagination schema based on a mix of $_light-grid-pagination and $_base-dark-grid-pagination.
+/// @type {Map}
+/// @requires extend
+/// @requires $_light-grid-pagination
+/// @requires $_base-dark-grid-pagination
+/// @see $default-palette
+$_dark-grid-pagination: extend($_light-grid-pagination, $_base-dark-grid-pagination);
+
+/// Generates a dark fluent grid pagination schema based on a mix of $_fluent-grid-pagination and $_base-dark-grid-pagination.
+/// @type {Map}
+/// @requires extend
+/// @requires $_fluent-grid-pagination
+/// @requires $_base-dark-grid-pagination
+$_dark-fluent-grid-pagination: extend($_fluent-grid-pagination, $_base-dark-grid-pagination);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_grid-summary.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_grid-summary.scss
index a0af439b4f4..5706ceab727 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_grid-summary.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_grid-summary.scss
@@ -11,5 +11,10 @@
/// @requires {function} extend
/// @requires $_light-grid-summary
/// @see $default-palette
+$_dark-grid-summary: extend($_light-grid-summary);
-$_dark-grid-summary: extend($_light-grid-summary, ());
+/// Generates a dark fluent grid-summary schema.
+/// @type {Map}
+/// @requires {function} extend
+/// @requires $_fluent-grid-summary
+$_dark-fluent-grid-summary: extend($_fluent-grid-summary);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_grid-toolbar.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_grid-toolbar.scss
index 652d0a3b8c7..dc0cd89ab48 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_grid-toolbar.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_grid-toolbar.scss
@@ -5,14 +5,26 @@
/// @author Marin Popov
////
-/// Generates a dark grid-toolbar schema.
+/// Generates a base dark grid-toolbar schema.
/// @type {Map}
/// @prop {map} background-color [#222] - The toolbar background color.
/// @prop {map} dropdown-background [#222] - The toolbar drop-down background color.
+$_base-dark-grid-toolbar: (
+ background-color: #222,
+ dropdown-background: #222
+);
+
+/// Generates a dark grid-toolbar schema based on a mix of $_light-grid-toolbar and $_base-dark-grid-toolbar.
+/// @type {Map}
/// @requires {function} extend
/// @requires $_light-grid-toolbar
+/// @requires $_base-dark-grid-toolbar
/// @see $default-palette
-$_dark-grid-toolbar: extend($_light-grid-toolbar, (
- background-color: #222,
- dropdown-background: #222
-));
+$_dark-grid-toolbar: extend($_light-grid-toolbar, $_base-dark-grid-toolbar);
+
+/// Generates a dark fluent grid-toolbar schema based on a mix of $_fluent-grid-toolbar and $_base-dark-grid-toolbar..
+/// @type {Map}
+/// @requires {function} extend
+/// @requires $_fluent-grid-toolbar
+/// @requires $_base-dark-grid-toolbar
+$_dark-fluent-grid-toolbar: extend($_fluent-grid-toolbar, $_base-dark-grid-toolbar);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_grid.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_grid.scss
index ba8d8d0e676..baef7724404 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_grid.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_grid.scss
@@ -5,7 +5,7 @@
/// @author Simeon Simeonoff
////
-/// Generates a dark grid schema.
+/// Generates the base dark grid schema.
/// @type {Map}
/// @prop {Map} header-background [igx-color: ('grays', 100), hexrgba: #222] - The table header background color.
/// @prop {Color} content-background [#222] - The table body background color.
@@ -27,10 +27,7 @@
/// @prop {Map} body-summaries-text-color [igx-color: ('grays', 300), hexrgba: #222, text-contrast: ()] - The text color of the summary groups located the body.
/// @prop {Map} root-summaries-background [igx-color: ('grays', 100), hexrgba: #222] - The background color of the summary groups located the footer.
/// @prop {Map} root-summaries-text-color [igx-color: ('grays', 100), hexrgba: #222, text-contrast: ()] - The text color of the summary groups located the footer.
-/// @requires extend
-/// @requires $_light-grid
-/// @see $default-palette
-$_dark-grid: extend($_light-grid, (
+$_base-dark-grid: (
header-background: (
igx-color: ('grays', 100),
hexrgba: #222
@@ -88,7 +85,7 @@ $_dark-grid: extend($_light-grid, (
cell-selected-text-color: #fff,
body-summaries-background: (
- igx-color: ('grays', 100),
+ igx-color: ('grays', 300),
hexrgba: #222
),
@@ -116,4 +113,37 @@ $_dark-grid: extend($_light-grid, (
row-ghost-background: (
igx-color: ('primary', 900)
)
-));
+);
+
+/// Generates a dark grid schema based on a mix of $_light-grid and $_base-dark-grid.
+/// @requires extend
+/// @requires $_light-grid
+/// @requires $_base-dark-grid
+/// @see $default-palette
+$_dark-grid: extend($_light-grid, $_base-dark-grid);
+
+
+/// Generates a dark fluent grid schema based on a mix of $_fluent-grid and $_base-dark-grid.
+/// @requires extend
+/// @requires $_fluent-grid
+/// @requires $_base-dark-grid
+$_dark-fluent-grid: extend(
+ $_fluent-grid,
+ $_base-dark-grid,
+ (
+ row-hover-background: (
+ igx-color: ('grays', 100),
+ hexrgba: #222
+ ),
+
+ row-selected-background: (
+ igx-color: ('grays', 200),
+ hexrgba: #222
+ ),
+
+ row-selected-hover-background: (
+ igx-color: ('grays', 300),
+ hexrgba: #222
+ ),
+ )
+);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_icon.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_icon.scss
index b17768c9639..d3b9a3054c5 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_icon.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_icon.scss
@@ -11,6 +11,21 @@
/// @requires {function} extend
/// @requires $_light-icon
/// @see $default-palette
+$_dark-icon: extend($_light-icon);
+/// Generates a dark icon schema.
+/// @type {Map}
+/// @property {Color} color [#fff] - The icon color.
+/// @property {map} disabled-color [igx-color: ('grays' 500)] - The icon color.
+/// @requires {function} extend
+/// @requires $_light-icon
+$_dark-fluent-icon: extend(
+ $_fluent-icon,
+ (
+ color: #fff,
-$_dark-icon: extend($_light-icon, ());
+ disabled-color: (
+ igx-color: ('grays' 500)
+ )
+ )
+);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_index.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_index.scss
index 08a5ea72800..c1838937e46 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_index.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_index.scss
@@ -83,7 +83,6 @@
/// @property {Map} igx-time-picker [$_dark-time-picker]
/// @property {Map} igx-toast [$_dark-toast]
/// @property {Map} igx-tooltip [$_dark-tooltip]
-
$dark-schema: (
igx-avatar: $_dark-avatar,
igx-badge: $_dark-badge,
@@ -125,3 +124,86 @@ $dark-schema: (
igx-toast: $_dark-toast,
igx-tooltip: $_dark-tooltip
);
+
+/// The default dark fluent schema for all components.
+/// @type {Map}
+/// @property {map} igx-avatar: [$_dark-fluent-avatar],
+/// @property {map} igx-badge: [$_dark-fluent-badge],
+/// @property {map} igx-banner: [$_dark-fluent-banner],
+/// @property {map} igx-bottom-nav: [$_dark-fluent-bottom-nav],
+/// @property {map} igx-button: [$_dark-fluent-button],
+/// @property {map} igx-button-group: [$_dark-fluent-button-group],
+/// @property {map} igx-calendar: [$_dark-fluent-calendar],
+/// @property {map} igx-card: [$_dark-fluent-card],
+/// @property {map} igx-carousel: [$_dark-fluent-carousel],
+/// @property {map} igx-checkbox: [$_dark-fluent-checkbox],
+/// @property {map} igx-chip: [$_dark-fluent-chip],
+/// @property {map} igx-column-hiding: [$_dark-fluent-column-hiding],
+/// @property {map} igx-combo: [$_dark-fluent-combo],
+/// @property {map} igx-dialog: [$_dark-fluent-dialog],
+/// @property {map} igx-divider: [$_dark-fluent-divider],
+/// @property {map} igx-drop-down: [$_dark-fluent-drop-down],
+/// @property {map} igx-expansion-panel: [$_dark-fluent-expansion-panel],
+/// @property {map} igx-grid: [$_dark-fluent-grid],
+/// @property {map} igx-grid-filtering: [$_dark-fluent-grid-filtering],
+/// @property {map} igx-grid-paginator: [$_dark-fluent-grid-pagination],
+/// @property {map} igx-grid-summary: [$_dark-fluent-grid-summary],
+/// @property {map} igx-grid-toolbar: [$_dark-fluent-grid-toolbar],
+/// @property {map} igx-icon: [$_dark-fluent-icon],
+/// @property {map} igx-input-group: [$_dark-fluent-input-group],
+/// @property {map} igx-list: [$_dark-fluent-list],
+/// @property {map} igx-navbar: [$_dark-fluent-navbar],
+/// @property {map} igx-navdrawer: [$_dark-fluent-navdrawer],
+/// @property {map} igx-overlay: [$_dark-fluent-overlay],
+/// @property {map} igx-linear-bar: [$_dark-fluent-progress-linear],
+/// @property {map} igx-circular-bar: [$_dark-fluent-progress-circular],
+/// @property {map} igx-radio: [$_dark-fluent-radio],
+/// @property {map} igx-ripple: [$_dark-fluent-ripple],
+/// @property {map} igx-slider: [$_dark-fluent-slider],
+/// @property {map} igx-snackbar: [$_dark-fluent-snackbar],
+/// @property {map} igx-switch: [$_dark-fluent-switch],
+/// @property {map} igx-tabs: [$_dark-fluent-tabs],
+/// @property {map} igx-time-picker: [$_dark-fluent-time-picker],
+/// @property {map} igx-toast: [$_dark-fluent-toast],
+/// @property {map} igx-tooltip: [$_dark-fluent-tooltip]
+$dark-fluent-schema: (
+ igx-avatar: $_dark-fluent-avatar,
+ igx-badge: $_dark-fluent-badge,
+ igx-banner: $_dark-fluent-banner,
+ igx-bottom-nav: $_dark-fluent-bottom-nav,
+ igx-button: $_dark-fluent-button,
+ igx-button-group: $_dark-fluent-button-group,
+ igx-calendar: $_dark-fluent-calendar,
+ igx-card: $_dark-fluent-card,
+ igx-carousel: $_dark-fluent-carousel,
+ igx-checkbox: $_dark-fluent-checkbox,
+ igx-chip: $_dark-fluent-chip,
+ igx-column-hiding: $_dark-fluent-column-hiding,
+ igx-combo: $_dark-fluent-combo,
+ igx-dialog: $_dark-fluent-dialog,
+ igx-divider: $_dark-fluent-divider,
+ igx-drop-down: $_dark-fluent-drop-down,
+ igx-expansion-panel: $_dark-fluent-expansion-panel,
+ igx-grid: $_dark-fluent-grid,
+ igx-grid-filtering: $_dark-fluent-grid-filtering,
+ igx-grid-paginator: $_dark-fluent-grid-pagination,
+ igx-grid-summary: $_dark-fluent-grid-summary,
+ igx-grid-toolbar: $_dark-fluent-grid-toolbar,
+ igx-icon: $_dark-fluent-icon,
+ igx-input-group: $_dark-fluent-input-group,
+ igx-list: $_dark-fluent-list,
+ igx-navbar: $_dark-fluent-navbar,
+ igx-navdrawer: $_dark-fluent-navdrawer,
+ igx-overlay: $_dark-fluent-overlay,
+ igx-linear-bar: $_dark-fluent-progress-linear,
+ igx-circular-bar: $_dark-fluent-progress-circular,
+ igx-radio: $_dark-fluent-radio,
+ igx-ripple: $_dark-fluent-ripple,
+ igx-slider: $_dark-fluent-slider,
+ igx-snackbar: $_dark-fluent-snackbar,
+ igx-switch: $_dark-fluent-switch,
+ igx-tabs: $_dark-fluent-tabs,
+ igx-time-picker: $_dark-fluent-time-picker,
+ igx-toast: $_dark-fluent-toast,
+ igx-tooltip: $_dark-fluent-tooltip
+);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_input-group.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_input-group.scss
index 344a6522e23..43cf2e804a2 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_input-group.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_input-group.scss
@@ -6,13 +6,38 @@
/// @author Marin Popov
////
-/// Generates a light input-group schema.
+/// Generates a base dark input-group schema.
/// @type {Map}
/// @prop {Color} search-background [#222] - The background color of an input group of type search.
+$_base-dark-input-group: (
+ search-background: #222
+);
+
+/// Generates a dark input-group schema based on a mix of $_light-input-group and $_base-dark-input-group..
+/// @type {Map}
/// @requires {function} extend
/// @requires $_light-input-group
+/// @requires $_base-dark-input-group
/// @see $default-palette
+$_dark-input-group: extend($_light-input-group, $_base-dark-input-group);
-$_dark-input-group: extend($_light-input-group, (
- search-background: #222
-));
+/// Generates a dark fluent input-group schema based on a mix of $_fluent-input-group and $_base-dark-input-group.
+/// @type {Map}
+/// @requires {function} extend
+/// @requires $_fluent-input-group
+/// @requires $_base-dark-input-group
+$_dark-fluent-input-group: extend(
+ $_fluent-input-group,
+ $_base-dark-input-group,
+ (
+ input-prefix-background: (
+ igx-color: ('grays', 100),
+ hexrgba: #222
+ ),
+
+ input-suffix-background: (
+ igx-color: ('grays', 100),
+ hexrgba: #222
+ ),
+ )
+);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_list.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_list.scss
index 6efaf45a28a..42e70e3f1d3 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_list.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_list.scss
@@ -6,14 +6,11 @@
/// @author Marin Popov
////
-/// Generates a dark list schema.
+/// Generates a base dark list schema.
/// @type {Map}
/// @property {Map} item-background-hover [igx-color: ('grays', 400), hexrgba: (#000)] - The list item hover background.
/// @property {Map} item-background-active [igx-color: ('grays', 400), hexrgba: (#000)] - The active list item background color.
-/// @requires {function} extend
-/// @requires $_light-list
-/// @see $default-palette
-$_dark-list: extend($_light-list, (
+$_base-dark-list: (
item-background-hover: (
igx-color: ('grays', 400),
hexrgba: (#000)
@@ -23,4 +20,20 @@ $_dark-list: extend($_light-list, (
igx-color: ('grays', 400),
hexrgba: (#000)
),
-));
+);
+
+/// Generates a base dark list schema based on a mix of $_light-list and $_base-dark-list.
+/// @type {Map}
+/// @requires {function} extend
+/// @requires $_light-list
+/// @requires $_base-dark-list
+/// @see $default-palette
+$_dark-list: extend($_light-list, $_base-dark-list);
+
+/// Generates a base dark fluent list schema based on a mix of $_fluent-list and $_base-dark-list..
+/// @type {Map}
+/// @requires {function} extend
+/// @requires $_fluent-list
+/// @requires $_base-dark-list
+$_dark-fluent-list: extend($_fluent-list, $_base-dark-list);
+
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_navbar.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_navbar.scss
index 51586576014..dda3ff4fc6d 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_navbar.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_navbar.scss
@@ -11,5 +11,11 @@
/// @requires {function} extend
/// @requires $_light-navbar
/// @see $default-palette
+$_dark-navbar: extend($_light-navbar);
+
+/// Generates a dark fluent navbar schema.
+/// @type {Map}
+/// @requires {function} extend
+/// @requires $_fluent-navbar
+$_dark-fluent-navbar: extend($_fluent-navbar);
-$_dark-navbar: extend($_light-navbar, ());
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_navdrawer.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_navdrawer.scss
index c37c91dea79..5316da4d54b 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_navdrawer.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_navdrawer.scss
@@ -11,5 +11,29 @@
/// @requires {function} extend
/// @requires $_light-navdrawer
/// @see $default-palette
+$_dark-navdrawer: extend($_light-navdrawer);
-$_dark-navdrawer: extend($_light-navdrawer, ());
+/// Generates a dark fluent navdrawer schema.
+/// @type {Map}
+/// @prop {map} item-active-text-color [igx-color: ('primary', 200)] - The item's active text color.
+/// @prop {map} item-active-icon-color [igx-color: ('primary', 100)] - The item's icon active color.
+/// @prop {map} item-active-background [igx-color: ('primary', 400), rgba: .12] - The item's active background color.
+/// @requires {function} extend
+/// @requires $_fluent-navdrawer
+$_dark-fluent-navdrawer: extend(
+ $_fluent-navdrawer,
+ (
+ item-active-text-color: (
+ igx-color: ('primary', 200)
+ ),
+
+ item-active-icon-color: (
+ igx-color: ('primary', 100)
+ ),
+
+ item-active-background: (
+ igx-color: ('primary', 400),
+ rgba: .12
+ ),
+ )
+);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_overlay.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_overlay.scss
index 57266926130..ef6908b7c50 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_overlay.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_overlay.scss
@@ -11,5 +11,16 @@
/// @requires {function} extend
/// @requires $_light-overlay
/// @see $default-palette
+$_dark-overlay: extend($_light-overlay);
-$_dark-overlay: extend($_light-overlay, ());
+/// Generates a dark fluent overlay schema.
+/// @type {Map}
+/// @property {color} background-color [rgba(0, 0, 0, .4)] - The background color used for modal overlays.
+/// @requires {function} extend
+/// @requires $_fluent-overlay
+$_dark-fluent-overlay: extend(
+ $_fluent-overlay,
+ (
+ background-color: rgba(0, 0, 0, .4)
+ )
+);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_progress.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_progress.scss
index 6613f0e8aa0..b17b62b55db 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_progress.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_progress.scss
@@ -11,13 +11,23 @@
/// @requires {function} extend
/// @requires $_light-progress-linear
/// @see $default-palette
+$_dark-progress-linear: extend($_light-progress-linear);
-$_dark-progress-linear: extend($_light-progress-linear, ());
+/// Generates a dark fluent progress-linear schema.
+/// @type {Map}
+/// @requires {function} extend
+/// @requires $_fluent-progress-linear
+/// @see $default-palette
+$_dark-fluent-progress-linear: extend($_fluent-progress-linear);
/// Generates a dark progress-circular schema.
/// @type {Map}
/// @requires {function} extend
/// @requires $_light-progress-circular
-/// @see $default-palette
+$_dark-progress-circular: extend($_light-progress-circular);
-$_dark-progress-circular: extend($_light-progress-circular, ());
+/// Generates a dark fluent progress-circular schema.
+/// @type {Map}
+/// @requires {function} extend
+/// @requires $_fluent-progress-circular
+$_dark-fluent-progress-circular: extend($_fluent-progress-circular);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_radio.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_radio.scss
index 7c2486480eb..cae0b01a81c 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_radio.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_radio.scss
@@ -11,5 +11,10 @@
/// @requires {function} extend
/// @requires $_light-ripple
/// @see $default-palette
+$_dark-radio: extend($_light-radio);
-$_dark-radio: extend($_light-radio, ());
+/// Generates a dark fluent radio schema.
+/// @type {Map}
+/// @requires {function} extend
+/// @requires $_fluent-radio
+$_dark-fluent-radio: extend($_fluent-radio);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_ripple.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_ripple.scss
index d2dc5de9d1b..6de7e704481 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_ripple.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_ripple.scss
@@ -11,6 +11,10 @@
/// @requires {function} extend
/// @requires $_light-ripple
/// @see $default-palette
+$_dark-ripple: extend($_light-ripple);
-
-$_dark-ripple: extend($_light-ripple, ());
+/// Generates a dark fluent ripple schema.
+/// @type {Map}
+/// @requires {function} extend
+/// @requires $_fluent-ripple
+$_dark-fluent-ripple: extend($_fluent-ripple);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_slider.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_slider.scss
index f8bc1804bb3..f62d0e52890 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_slider.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_slider.scss
@@ -11,5 +11,25 @@
/// @requires {function} extend
/// @requires $_light-slider
/// @see $default-palette
+$_dark-slider: extend($_light-slider);
-$_dark-slider: extend($_light-slider, ());
+/// Generates a dark fluent slider schema.
+/// @type {Map}
+/// @property {map} track-color [igx-color: ('secondary', 700), hexrgba: #222] - The thumb border color.
+/// @property {map} thumb-disabled-border-color [igx-color: ('grays', 400), hexrgba: #222] - The thumb border color when its disabled
+/// @requires {function} extend
+/// @requires $_fluent-slider
+$_dark-fluent-slider: extend(
+ $_fluent-slider,
+ (
+ track-color: (
+ igx-color: ('grays', 700),
+ hexrgba: #222
+ ),
+
+ thumb-disabled-border-color: (
+ igx-color: ('grays', 400),
+ hexrgba: #222
+ ),
+ )
+);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_snackbar.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_snackbar.scss
index 0a69ca92015..72fe0ff1cf1 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_snackbar.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_snackbar.scss
@@ -11,4 +11,10 @@
/// @requires {function} extend
/// @requires $_light-snackbar
/// @see $default-palette
-$_dark-snackbar: extend($_light-snackbar, ());
+$_dark-snackbar: extend($_light-snackbar);
+
+/// Generates a dark fluent snackbar schema.
+/// @type {Map}
+/// @requires {function} extend
+/// @requires $_fluent-snackbar
+$_dark-fluent-snackbar: extend($_fluent-snackbar);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_switch.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_switch.scss
index 44b7c384575..58c531e6e81 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_switch.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_switch.scss
@@ -6,16 +6,48 @@
/// @author Marin Popov
////
-/// Generates a light switch schema.
+/// Generates a base dark switch schema.
/// @type {Map}
/// @prop {map} thumb-disabled-color [igx-color: ('grays', 400), hexrgba: #000] - The color of the thumb when the switch is disabled.
-/// @requires {function} extend
-/// @requires $_light-switch
/// @see $default-palette
-
-$_dark-switch: extend($_light-switch, (
+$_base-dark-switch: (
thumb-disabled-color: (
igx-color: ('grays', 400),
hexrgba: #000
)
+);
+
+/// Generates a dark switch schema based on a mix of $_light-switch and $_base-dark-switch.
+/// @type {Map}
+/// @requires {function} extend
+/// @requires $_light-switch
+/// @requires $_base-dark-switch
+/// @see $default-palette
+$_dark-switch: extend($_light-switch, $_base-dark-switch);
+
+/// Generates a dark fluent switch schema based on a mix of $_fluent-switch and $_base-dark-switch.
+/// @type {Map}
+/// @property {map} border-color [igx-color: ('grays', 500)] - The border color of the switch.
+/// @property {map} border-hover-color [igx-color: ('grays', 800)] - The border color of the switch on hover.
+/// @property {map} border-disabled-color [igx-color: ('grays', 200)] - The border color of the disabled switch.
+/// @property {map} track-disabled-color [igx-color: ('grays', 200)] - The color of the track when the switch is disabled.
+/// @requires {function} extend
+/// @requires $_fluent-switch
+/// @requires $_base-dark-switch
+$_dark-fluent-switch: extend($_fluent-switch, $_base-dark-switch, (
+ border-color: (
+ igx-color: ('grays', 500)
+ ),
+
+ border-hover-color:(
+ igx-color: ('grays', 800)
+ ),
+
+ border-disabled-color:(
+ igx-color: ('grays', 200)
+ ),
+
+ track-disabled-color: (
+ igx-color: ('grays', 200)
+ )
));
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_tabs.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_tabs.scss
index 1f111f5c30e..3783410a071 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_tabs.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_tabs.scss
@@ -6,15 +6,25 @@
/// @author Marin Popov
////
-/// Generates a dark tabs schema.
+/// Generates a base dark tabs schema.
/// @type {Map}
/// @prop {Color} item-background [#222] - The background color used for the tabs header.
/// @prop {Color} button-background [#222] - The color used for the button background.
+$_base-dark-tabs: (
+ item-background: #222,
+ button-background: #222
+);
+
+/// Generates a dark tabs schema based on a mix of $_light-tabs and $_base-dark-tabs.
+/// @type {Map}
/// @requires {function} extend
/// @requires $_light-tabs
/// @see $default-palette
+$_dark-tabs: extend($_light-tabs, $_base-dark-tabs);
+
+/// Generates a dark fluent tabs schema based on a mix of $_fluent-tabs and $_base-dark-tabs.
+/// @type {Map}
+/// @requires {function} extend
+/// @requires $_fluent-tabs
+$_dark-fluent-tabs: extend($_fluent-tabs, $_base-dark-tabs);
-$_dark-tabs: extend($_light-tabs, (
- item-background: #222,
- button-background: #222
-));
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_time-picker.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_time-picker.scss
index 9caed7955c8..4356dada714 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_time-picker.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_time-picker.scss
@@ -11,6 +11,11 @@
/// @requires {function} extend
/// @requires $_light-time-picker
/// @see $default-palette
+$_dark-time-picker: extend($_light-time-picker);
+/// Generates a dark fluent time-picker schema.
+/// @type {Map}
+/// @requires {function} extend
+/// @requires $_fluent-time-picker
+$_dark-fluent-time-picker: extend($_fluent-time-picker);
-$_dark-time-picker: extend($_light-time-picker, ());
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_toast.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_toast.scss
index ff1da5a1ba9..f9e89fb1890 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_toast.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_toast.scss
@@ -11,5 +11,11 @@
/// @requires {function} extend
/// @requires $_light-toast
/// @see $default-palette
+$_dark-toast: extend($_light-toast);
+
+/// Generates a dark fluent toast schema.
+/// @type {Map}
+/// @requires {function} extend
+/// @requires $_fluent-toast
+$_dark-fluent-toast: extend($_fluent-toast);
-$_dark-toast: extend($_light-toast, ());
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_tooltip.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_tooltip.scss
index b7c66c27bc4..92a2bf65db2 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_tooltip.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_tooltip.scss
@@ -10,5 +10,10 @@
/// @requires {function} extend
/// @requires $_light-tooltip
/// @see $default-palette
+$_dark-tooltip: extend($_light-tooltip);
-$_dark-tooltip: extend($_light-tooltip, ());
+/// Generates a dark fluent tooltip schema.
+/// @type {Map}
+/// @requires {function} extend
+/// @requires $_fluent-tooltip
+$_dark-fluent-tooltip: extend($_fluent-tooltip);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/elevation/_bottom-nav.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/elevation/_bottom-nav.scss
index 37e9ac9779b..01374d9a5ab 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/elevation/_bottom-nav.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/elevation/_bottom-nav.scss
@@ -6,3 +6,8 @@
$_default-elevation-bottom-nav: (
elevation: 8
);
+
+$_fluent-elevation-bottom-nav: (
+ elevation: 1
+);
+
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/elevation/_button-group.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/elevation/_button-group.scss
index cb60ce51191..4edac969a48 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/elevation/_button-group.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/elevation/_button-group.scss
@@ -6,3 +6,8 @@
$_default-elevation-button-group: (
elevation: 2
);
+
+$_fluent-elevation-button-group: (
+ elevation: 0
+);
+
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/elevation/_button.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/elevation/_button.scss
index 96c1d506dd1..76bc0b51dd9 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/elevation/_button.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/elevation/_button.scss
@@ -12,3 +12,14 @@ $_default-elevation-button: (
fab-hover-elevation: 12,
fab-focus-elevation: 12
);
+
+$_fluent-elevation-button: (
+ raised-resting-elevation: 0,
+ raised-hover-elevation: 0,
+ raised-focus-elevation: 0,
+
+ fab-resting-elevation: 0,
+ fab-hover-elevation: 0,
+ fab-focus-elevation: 0
+);
+
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/elevation/_card.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/elevation/_card.scss
index 73505458851..577c69b432c 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/elevation/_card.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/elevation/_card.scss
@@ -7,3 +7,9 @@ $_default-elevation-card: (
resting-elevation: 2,
hover-elevation: 8
);
+
+$_fluent-elevation-card: (
+ resting-elevation: 0,
+ hover-elevation: 0
+);
+
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/elevation/_chip.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/elevation/_chip.scss
index f4ad3d87445..95ffa05c7c0 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/elevation/_chip.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/elevation/_chip.scss
@@ -1,8 +1,12 @@
////
/// @group schemas
/// @access private
-/// @author Simeon Simeonoff
+/// @author Marin Popov
////
$_default-elevation-chip: (
- ghost-elevation: 8,
+ ghost-elevation: 8
+);
+
+$_fluent-elevation-chip: (
+ ghost-elevation: 2
);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/elevation/_drop-down.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/elevation/_drop-down.scss
index 883fc1de469..b7a999a3e35 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/elevation/_drop-down.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/elevation/_drop-down.scss
@@ -6,3 +6,8 @@
$_default-elevation-drop-down: (
elevation: 8
);
+
+$_fluent-elevation-drop-down: (
+ elevation: 4
+);
+
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/elevation/_grid.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/elevation/_grid.scss
index b7e9b43ea68..052894f5664 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/elevation/_grid.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/elevation/_grid.scss
@@ -7,3 +7,8 @@ $_default-elevation-grid: (
grid-elevation: 2,
drag-elevation: 5,
);
+
+$_fluent-elevation-grid: (
+ grid-elevation: 0,
+ drag-elevation: 1,
+);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/elevation/_input-group.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/elevation/_input-group.scss
index 398bd4efa01..2aec15fec55 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/elevation/_input-group.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/elevation/_input-group.scss
@@ -8,3 +8,10 @@ $_default-elevation-input-group: (
search-hover-elevation: 2,
search-disabled-elevation: 0,
);
+
+$_fluent-elevation-input-group: (
+ search-resting-elevation: 0,
+ search-hover-elevation: 0,
+ search-disabled-elevation: 0,
+);
+
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_avatar.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_avatar.scss
index b75bc13fb96..a27aadc7247 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_avatar.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_avatar.scss
@@ -36,3 +36,9 @@ $_light-avatar: extend(
image-background: transparent
)
);
+
+/// Generates a fluent avatar schema.
+/// @type {Map}
+/// @requires {function} extend
+/// @requires $_light-avatar
+$_fluent-avatar: extend($_light-avatar);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_badge.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_badge.scss
index 6ca63ef53d9..b4bace03d70 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_badge.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_badge.scss
@@ -35,3 +35,9 @@ $_light-badge: extend(
)
)
);
+
+/// Generates a fluent badge schema.
+/// @type {Map}
+/// @requires {function} extend
+/// @requires $_light-badge
+$_fluent-badge: extend($_light-badge);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_banner.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_banner.scss
index 3b631d6610c..c841ae5fd03 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_banner.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_banner.scss
@@ -13,7 +13,6 @@
/// @property {Map} banner-illustration-background [igx-color: ('grays', 100)] - The background color used for banner illustration.
/// @property {Map} banner-illustration-color [igx-color: 'surface', text-contrast: (), rgba: .87] - The color used banner illustration.
/// @see $default-palette
-
$_light-banner: extend(
$_default-shape-banner,
(
@@ -38,3 +37,9 @@ $_light-banner: extend(
)
)
);
+
+/// Generates a fluent banner schema.
+/// @type {Map}
+/// @requires {function} extend
+/// @requires $_light-banner
+$_fluent-banner: extend($_light-banner);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_bottom-nav.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_bottom-nav.scss
index 823bfc47ede..98d233356b6 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_bottom-nav.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_bottom-nav.scss
@@ -13,8 +13,10 @@
/// @prop {Color} idle-item-color [igx-color: ('grays', 700)] - The text-color used for the idle color.
/// @prop {Color} active-item-color [igx-color: ('primary', 500)] - The text-color used for the active color.
/// @prop {number} elevation [8] - The elevation level of the bar.
+/// @requires {function} extend
+/// @requires {map} $_default-shape-bottom-nav
+/// @requires {map} $_default-elevation-bottom-nav
/// @see $default-palette
-
$_light-bottom-nav: extend(
$_default-shape-bottom-nav,
$_default-elevation-bottom-nav,
@@ -30,3 +32,10 @@ $_light-bottom-nav: extend(
),
)
);
+
+/// Generates a fluent bottom navigation schema.
+/// @type {Map}
+/// @requires {function} extend
+/// @requires {map} $_light-bottom-nav
+/// @requires {map} $_fluent-elevation-bottom-nav
+$_fluent-bottom-nav: extend($_light-bottom-nav, $_fluent-elevation-bottom-nav);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_button-group.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_button-group.scss
index d63386eafab..0eb5d004dc2 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_button-group.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_button-group.scss
@@ -9,22 +9,25 @@
/// Generates a light button group schema.
/// @type {Map}
-/// @prop {Color} item-text-color [igx-color: ('grays', 700)]- The text color for button group items.
+/// @prop {map} item-text-color [igx-color: ('grays', 700)]- The text color for button group items.
/// @prop {Color} item-background [#fff] - The background color for button group items .
/// @prop {Color} item-border-color [transparent] - The border color between button group items.
///
-/// @prop {Color} item-hover-text-color [igx-color: ('grays', 800)] - The hover text color for button group items.
-/// @prop {Color} item-hover-background [igx-color: ('grays', 400)] - The hover background color for button group items.
+/// @prop {map} item-hover-text-color [igx-color: ('grays', 800)] - The hover text color for button group items.
+/// @prop {map} item-hover-background [igx-color: ('grays', 400)] - The hover background color for button group items.
///
-/// @prop {Color} disabled-text-color [igx-color: ('grays', 400)]- The text/icon color for a disabled item in the button group.
-/// @prop {Color} disabled-background-color [igx-color: ('grays', 100)] - The background color for a disabled item in the button group.
+/// @prop {map} disabled-text-color [igx-color: ('grays', 400)]- The text/icon color for a disabled item in the button group.
+/// @prop {map} disabled-background-color [igx-color: ('grays', 100)] - The background color for a disabled item in the button group.
///
-/// @prop {Color} item-selected-text-color [igx-color: ('grays', 800)]- The text color for a selected item in the button group.
-/// @prop {Color} item-selected-background [igx-color: ('grays', 400)] - The background color for a selected item in the button group.
-/// @prop {Color} item-selected-border-color [igx-color: ('grays', 600), rgba: .12] - The border color for a selected item from the button group.
-/// @prop {Color} item-selected-hover-background [igx-color: ('grays', 500)] - The background color for a selected item in hover or focus state in the button group.
+/// @prop {map} item-selected-text-color [igx-color: ('grays', 800)]- The text color for a selected item in the button group.
+/// @prop {map} item-selected-background [igx-color: ('grays', 400)] - The background color for a selected item in the button group.
+/// @prop {map} item-selected-border-color [igx-color: ('grays', 600), rgba: .12] - The border color for a selected item from the button group.
+/// @prop {map} item-selected-hover-background [igx-color: ('grays', 500)] - The background color for a selected item in hover or focus state in the button group.
/// @prop {Number} elevation [2] - The elevation level, between 0-24, to be used for the badge shadow.
/// @prop {Number} border-radius [.2] - The border radius fraction, between 0-1 to be used for button-group component.
+/// @requires {function} extend
+/// @requires {map} $_default-shape-button-group
+/// @requires {map} $_default-elevation-button-group
/// @see $default-palette
$_light-button-group: extend(
$_default-shape-button-group,
@@ -33,11 +36,8 @@ $_light-button-group: extend(
item-background: #fff,
item-border-color: (
- igx-color: ('grays', 300)
- ),
-
- item-disabled-border: (
- igx-color: ('grays', 300)
+ igx-color: ('grays', 300),
+ hexrgba: #fff
),
item-text-color: (
@@ -65,7 +65,8 @@ $_light-button-group: extend(
),
item-selected-border-color: (
- igx-color: ('grays', 300)
+ igx-color: ('grays', 300),
+ hexrgba: #fff
),
disabled-text-color: (
@@ -75,5 +76,59 @@ $_light-button-group: extend(
disabled-background-color: (
igx-color: ('grays', 50)
),
+
+ item-disabled-border: (
+ igx-color: ('grays', 300),
+ hexrgba: #fff
+ ),
+ )
+);
+
+/// Generates a fluent button group schema.
+/// @type {Map}
+/// @prop {map} item-text-color [igx-color: ('grays', 900)]- The text color for button group items.
+///
+/// @prop {map} item-hover-text-color [igx-color: ('primary', 200)] - The hover text color for button group items.
+/// @prop {map} item-hover-background [transparent] - The hover background color for button group items.
+/// @prop {map} item-selected-background [igx-color: ('grays', 100)] - The background color for a selected item in the button group.
+/// @prop {map} item-selected-hover-background [igx-color: ('grays', 100)] - The background color for a selected item in hover or focus state in the button group.
+/// @prop {map} item-selected-text-color [igx-color: ('primary', 200)]- The text color for a selected item in the button group.
+/// @prop {Color} disabled-background-color [transparent] - The background color for a disabled item in the button group.
+///
+/// @prop {Number} elevation [0] - The elevation level, between 0-24, to be used for the badge shadow.
+/// @prop {Number} border-radius [2px] - The border radius fraction, between 0-1 to be used for button-group component.
+///
+/// @requires {function} extend
+/// @requires {map} $_light-button-group
+/// @requires {map} $_fluent-shape-button-group
+/// @requires {map} $_fluent-elevation-button-group
+$_fluent-button-group: extend(
+ $_light-button-group,
+ $_fluent-shape-button-group,
+ $_fluent-elevation-button-group,
+ (
+ item-text-color: (
+ igx-color: ('grays', 900)
+ ),
+
+ item-hover-text-color: (
+ igx-color: ('primary', 200)
+ ),
+
+ item-hover-background: transparent,
+
+ item-selected-background: (
+ igx-color: ('grays', 100)
+ ),
+
+ item-selected-hover-background: (
+ igx-color: ('grays', 100)
+ ),
+
+ item-selected-text-color: (
+ igx-color: ('primary', 200)
+ ),
+
+ disabled-background-color: transparent,
)
);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_button.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_button.scss
index 6e131806494..f08107bff49 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_button.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_button.scss
@@ -16,25 +16,38 @@
/// @prop {Map} flat-hover-text-color [igx-color: ('secondary', 500)] - The hover text color of a flat button.
/// @prop {Map} flat-focus-background [igx-color: ('secondary', 400), rgba: .12] - The focus background color of a flat button.
/// @prop {Map} flat-focus-text-color [igx-color: ('secondary', 500)] - The focus text color of a flat button.
+/// @prop {Color} flat-icon-color [currentColor] - The color of a flat button icon.
+/// @prop {Color} flat-hover-icon-color [currentColor] - The hover color of a flat button icon.
+/// @prop {Color} flat-focus-icon-color [currentColor] - The focus color of a flat button icon.
+///
/// @prop {Map} outlined-text-color [igx-color: ('secondary', 500)] - The idle text color of an outlined button.
/// @prop {Map} outlined-outline-color [igx-color: ('grays', 300)] - The border color of an outlined button.
/// @prop {Map} outlined-disabled-outline-color [igx-color: ('grays', 300)] - The border color of an outlined button.
-/// @prop {Color} outlined-hover-background [transparent] - The hover background color of an outlined button.
+/// @prop {Color} outlined-hover-background [igx-color: ('secondary', 500), rgba: .05] - The hover background color of an outlined button.
/// @prop {Map} outlined-hover-text-color [igx-color: ('secondary', 500)] - The hover text color of an outlined button.
/// @prop {Map} outlined-focus-background [igx-color: ('secondary', 400), rgba: .12] - The focus background color of an outlined button.
/// @prop {Map} outlined-focus-text-color [igx-color: ('secondary', 500)] - The focus text color of an outlined button.
+/// @prop {Color} outlined-icon-color [currentColor] - The color of a outlined button icon.
+/// @prop {Color} outlined-hover-icon-color [currentColor] - The hover color of a outlined button icon.
+/// @prop {Color} outlined-focus-icon-color [currentColor] - The focus color of a outlined button icon.
+///
/// @prop {Map} raised-background [igx-color: ('secondary', 500)] - The background color of an raised button.
/// @prop {Map} raised-text-color [igx-contrast-color: ('secondary', 500)] - The idle text color of a raised button.
/// @prop {Map} raised-hover-background [igx-color: ('secondary', 300)] - The hover background of a raised button.
/// @prop {Map} raised-hover-text-color [igx-contrast-color: ('secondary', 300)] - The hover text color of a raised button.
/// @prop {Map} raised-focus-background [igx-color: ('secondary', 300)] - The focus background color of a raised button.
/// @prop {Map} raised-focus-text-color [igx-contrast-color: ('secondary', 300)] - The focus text color of a raised button.
+/// @prop {Color} raised-icon-color [currentColor] - The color of a raised button icon.
+/// @prop {Color} raised-hover-icon-color [currentColor] - The hover color of a raised button icon.
+/// @prop {Color} raised-focus-icon-color [currentColor] - The focus color of a raised button icon.
+///
/// @prop {Map} fab-background [igx-color: ('secondary', 500)] - The background color of a floating action button.
/// @prop {Map} fab-text-color [igx-contrast-color: ('secondary', 500)] - The text color of a floating action button.
/// @prop {Map} fab-hover-background [igx-color: ('secondary', 300)] - The hover background color of a floating action button.
/// @prop {Map} fab-hover-text-color [igx-contrast-color: ('secondary', 300)] - The hover text color of a floating action button.
/// @prop {Map} fab-focus-background [igx-color: ('secondary', 300)] - The focus background color of floating action button.
/// @prop {Map} fab-focus-text-color [igx-contrast-color: ('secondary', 300)] - The focus text color of a floating action button.
+///
/// @prop {Map} icon-color [igx-color: ('grays', 800)] - The icon color of an icon button.
/// @prop {Map} icon-hover-color [igx-color: ('grays', 800)] - The hover icon color of an icon button.
/// @prop {Color} icon-background [transparent] - The background color of the an icon button.
@@ -43,6 +56,7 @@
/// @prop {Map} icon-focus-background [igx-color: ('grays', 400] - The focus background color an icon button.
/// @prop {Color} disabled-color [igx-color: ('grays', 400)] - The disabled text/icon color of a button.
/// @prop {Color} disabled-background [igx-color: ('grays', 100)] - The disabled background color of raised, fab, or icon buttons.
+///
/// @prop {Number} raised-resting-elevation [2] - The elevation level, between 0-24, to be used for the resting state.
/// @prop {Number} raised-hover-elevation [4] - The elevation level, between 0-24, to be used for the hover state.
/// @prop {Number} raised-focus-elevation [8] - The elevation level, between 0-24, to be used for the focus state.
@@ -55,17 +69,34 @@
/// @prop {Number} outlined-border-radius [1] - The border radius fraction used for outlined button.
/// @prop {Number} fab-border-radius [1] - The border radius fraction used for fab button.
/// @prop {Number} icon-border-radius [1] - The border radius fraction used for icon button.
+/// @requires {function} extend
+/// @requires {map} $_default-shape-button
+/// @requires {map} $_default-elevation-button
/// @see $default-palette
$_light-button: extend(
$_default-shape-button,
$_default-elevation-button,
(
+ variant: 'material',
+
flat-background: transparent,
flat-text-color: (
igx-color: ('secondary', 500)
),
+ flat-icon-color: currentColor,
+ flat-hover-icon-color: currentColor,
+ flat-focus-icon-color: currentColor,
+
+ raised-icon-color: currentColor,
+ raised-hover-icon-color: currentColor,
+ raised-focus-icon-color: currentColor,
+
+ outlined-icon-color: currentColor,
+ outlined-hover-icon-color: currentColor,
+ outlined-focus-icon-color: currentColor,
+
flat-hover-background: (
igx-color: ('secondary', 500),
rgba: .05
@@ -90,10 +121,6 @@ $_light-button: extend(
igx-color: ('grays', 300)
),
- outlined-disabled-outline-color: (
- igx-color: ('grays', 300)
- ),
-
outlined-text-color: (
igx-color: ('secondary', 500)
),
@@ -116,6 +143,10 @@ $_light-button: extend(
igx-color: ('secondary', 500)
),
+ outlined-disabled-outline-color: (
+ igx-color: ('grays', 300)
+ ),
+
raised-background: (
igx-color: ('secondary', 500)
),
@@ -196,3 +227,162 @@ $_light-button: extend(
)
)
);
+
+/// Generates a fluent bottom navigation schema.
+/// @type {Map}
+/// @prop {Map} flat-text-color [igx-color: ('grays', 900)] - The idle text color of a flat button.
+/// @prop {Map} flat-icon-color [igx-color: ('primary', 500)] - The color of a flat button icon.
+/// @prop {Map} flat-hover-icon-color [igx-color: ('primary', 500)] - The hover color of a flat button icon.
+/// @prop {Map} flat-focus-icon-color [igx-color: ('primary', 500)] - The focus color of a flat button icon.
+///
+/// @prop {Color} flat-hover-background [transparent] - The hover background color of a flat button.
+/// @prop {Map} flat-hover-text-color [igx-color: ('primary', 500)] - The hover text color of a flat button.
+/// @prop {Map} flat-focus-background [igx-color:('grays', 100)] - The focus background color of a flat button.
+/// @prop {Map} flat-focus-text-color [igx-color: ('primary', 500)] - The focus text color of a flat button.
+///
+/// @prop {Map} outlined-outline-color [igx-color: ('grays', 800)] - The border color of an outlined button.
+/// @prop {Map} outlined-text-color [igx-color: ('grays', 000)] - The idle text color of an outlined button.
+/// @prop {Color} outlined-hover-background [igx-color: ('grays', 100)] - The hover background color of an outlined button.
+/// @prop {Map} outlined-hover-text-color [igx-color: ('grays', 900)] - The hover text color of an outlined button.
+/// @prop {Map} outlined-focus-background [igx-color: ('grays', 100)] - The focus background color of an outlined button.
+/// @prop {Map} outlined-focus-text-color [igx-color: ('grays', 900)] - The focus text color of an outlined button.
+///
+/// @prop {Map} raised-background [igx-color: ('primary', 500)] - The background color of an raised button.
+/// @prop {Color} raised-text-color [#fff] - The idle text color of a raised button.
+/// @prop {Map} raised-hover-background [igx-color: ('primary', 600)] - The hover background of a raised button.
+/// @prop {Color} raised-hover-text-color [#fff] - The hover text color of a raised button.
+/// @prop {Map} raised-focus-background [igx-color: ('primary', 600)] - The focus background color of a raised button.
+/// @prop {Color} raised-focus-text-color [#fff] - The focus text color of a raised button.
+
+/// @prop {Map} fab-background [igx-color: ('primary', 500)] - The background color of a floating action button.
+/// @prop {Color} fab-text-color [#fff] - The text color of a floating action button.
+/// @prop {Map} fab-hover-background [igx-color: ('primary', 600)] - The hover background color of a floating action button.
+/// @prop {Color} fab-hover-text-color [#fff] - The hover text color of a floating action button.
+/// @prop {Map} fab-focus-background [igx-color: ('primary', 600))] - The focus background color of floating action button.
+/// @prop {Color} fab-focus-text-color [#fff] - The focus text color of a floating action button.
+///
+/// @prop {Map} icon-hover-background [igx-color: ('grays', 50)] - The hover background color of an icon button.
+/// @prop {Map} icon-focus-background [igx-color: ('grays', 100)] - The focus icon color of an icon button.
+///
+/// @prop {Number} raised-resting-elevation [0] - The elevation level, between 0-24, to be used for the resting state.
+/// @prop {Number} raised-hover-elevation [0] - The elevation level, between 0-24, to be used for the hover state.
+/// @prop {Number} raised-focus-elevation [0] - The elevation level, between 0-24, to be used for the focus state.
+/// @prop {Number} fab-resting-elevation [0] - The elevation level, between 0-24, to be used for the resting state.
+/// @prop {Number} fab-hover-elevation [0] - The elevation level, between 0-24, to be used for the hover state.
+/// @prop {Number} fab-focus-elevation [0] - The elevation level, between 0-24, to be used for the focus state.
+///
+/// @prop {Number} flat-border-radius [0] - The border radius fraction used for flat button.
+/// @prop {Number} raised-border-radius [2px] - The border radius fraction used for raised button.
+/// @prop {Number} outlined-border-radius [2px] - The border radius fraction used for outlined button.
+/// @prop {Number} icon-border-radius [2px] - The border radius fraction used for icon button.
+///
+/// @requires {function} extend
+/// @requires {map} $_light-button
+/// @requires {map} $_fluent-shape-button
+/// @requires {map} $_fluent-elevation-button
+$_fluent-button: extend(
+ $_light-button,
+ $_fluent-shape-button,
+ $_fluent-elevation-button,
+ (
+ variant: 'fluent',
+
+ flat-text-color: (
+ igx-color: ('grays', 900)
+ ),
+
+ flat-icon-color: (
+ igx-color: ('primary', 500)
+ ),
+
+ flat-hover-icon-color: (
+ igx-color: ('primary', 500)
+ ),
+
+ flat-focus-icon-color: (
+ igx-color: ('primary', 500)
+ ),
+
+ flat-hover-background: transparent,
+
+ flat-hover-text-color: (
+ igx-color: ('primary', 500)
+ ),
+
+ flat-focus-background:(
+ igx-color:('grays', 100)
+ ),
+
+ flat-focus-text-color: (
+ igx-color: ('primary', 500)
+ ),
+
+ outlined-outline-color: (
+ igx-color: ('grays', 800)
+ ),
+
+ outlined-text-color: (
+ igx-color: ('grays', 900)
+ ),
+
+ outlined-hover-background: (
+ igx-color: ('grays', 100)
+ ),
+
+ outlined-hover-text-color: (
+ igx-color: ('grays', 900)
+ ),
+
+ outlined-focus-background: (
+ igx-color: ('grays', 100)
+ ),
+
+ outlined-focus-text-color: (
+ igx-color: ('grays', 900)
+ ),
+
+ raised-background: (
+ igx-color: ('primary', 500)
+ ),
+
+ raised-text-color: #fff,
+
+ raised-hover-background: (
+ igx-color: ('primary', 600)
+ ),
+
+ raised-hover-text-color: #fff,
+
+ raised-focus-background: (
+ igx-color: ('primary', 600)
+ ),
+
+ raised-focus-text-color: #fff,
+
+ fab-background: (
+ igx-color: ('primary', 500)
+ ),
+
+ fab-text-color: #fff,
+
+ fab-hover-background: (
+ igx-color: ('primary', 600)
+ ),
+
+ fab-hover-text-color: #fff,
+
+ fab-focus-background: (
+ igx-color: ('primary', 600)
+ ),
+
+ fab-focus-text-color: #fff,
+
+ icon-hover-background: (
+ igx-color: ('grays', 50)
+ ),
+
+ icon-focus-background: (
+ igx-color: ('grays', 100)
+ ),
+ )
+);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_calendar.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_calendar.scss
index f06e4d68b03..e96a953689e 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_calendar.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_calendar.scss
@@ -26,14 +26,17 @@
/// @prop {Map} date-selected-background [igx-color: ('secondary', 500)] - The background color for the selected date.
/// @prop {Map} date-selected-text-color [igx-contrast-color: ('secondary', 500)] - The text color for the selected date.
/// @prop {Map} date-current-text-color [igx-color: ('secondary', 500)] - The text color for the current date.
+/// @prop {Map} date-current-bg-color [igx-color: (transparent] - The background color for the current date.
/// @prop {Map} date-hover-background [igx-color: ('grays', 200)] - The hover date background color.
/// @prop {Map} date-special-background [igx-color: ('grays', 100)] - The background color used for special dates.
/// @prop {Map} date-special-text-color [igx-color: ('grays', 900)] - The text color used for special dates.
/// @prop {Map} date-disabled-text-color [igx-color: ('grays', 500), hexrgba: (), rgba: .6] - The text color for disabled dates.
/// @prop {Map} date-disabled-background [igx-color: ('grays', 100), hexrgba: ()] - The background color for disabled dates.
-/// @prop {Number} border-radius [1] - The border radius fraction, between 0-1 to be used for calendar.
+/// @prop {Number} border-radius [.2] - The border radius fraction, between 0-1 to be used for calendar.
/// @prop {Number} date-border-radius [1] - The border radius fraction, between 0-1 to be used for calendar.
/// @prop {Number} month-border-radius [1] - The border radius fraction, between 0-1 to be used for calendar.
+/// @requires {function} extend
+/// @requires {map} $_default-shape-calendar
/// @see $default-palette
$_light-calendar: extend(
$_default-shape-calendar,
@@ -121,6 +124,10 @@ $_light-calendar: extend(
igx-color: ('secondary', 500)
),
+ date-current-bg-color: transparent,
+ date-current-bg-hover-color: transparent,
+ date-current-bg-focus-color: transparent,
+
date-hover-background: (
igx-color: ('grays', 200)
),
@@ -141,6 +148,42 @@ $_light-calendar: extend(
date-disabled-background: (
igx-color: ('grays', 100),
- )
+ ),
+ )
+);
+
+/// Generates a fluent calendar schema.
+/// @type {Map}
+/// @prop {Color} date-current-text-color [#fff] - The text color for the current date.
+/// @prop {Map} date-current-bg-color [igx-color: ('primary', 500)] - The background color for the current date.
+/// @prop {map} date-selected-background [igx-color: ('primary', 100), rgba: .5, hexrgba: #fff] - The background color for the selected date.
+/// @prop {Map} date-selected-text-color [igx-color: ('primary', 100)] - The text color for the selected date.
+///
+/// @prop {Number} border-radius [0%] - The border radius fraction, between 0-1 to be used for calendar.
+/// @prop {Number} date-border-radius [0%] - The border radius fraction, between 0-1 to be used for calendar.
+/// @prop {Number} month-border-radius [0%] - The border radius fraction, between 0-1 to be used for calendar.
+///
+/// @requires {function} extend
+/// @requires {map} $_light-calendar
+/// @requires {map} $_fluent-shape-calendar
+$_fluent-calendar: extend(
+ $_light-calendar,
+ $_fluent-shape-calendar,
+ (
+ date-current-text-color: #fff,
+
+ date-current-bg-color: (
+ igx-color: ('primary', 500)
+ ),
+
+ date-selected-background: (
+ igx-color: ('primary', 100),
+ rgba: .5,
+ hexrgba: #fff
+ ),
+
+ date-selected-text-color: (
+ igx-contrast-color: ('primary', 100)
+ ),
)
);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_card.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_card.scss
index 96d02b0710c..97f718658d8 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_card.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_card.scss
@@ -18,6 +18,11 @@
/// @prop {Number} hover-elevation [8] - The elevation level, between 0-24, to be used for the hover state.
/// @prop {Number} border-radius [.17] - The border radius fraction, between 0-1 to be used for card date.
/// @prop {Map} outline-color [igx-color: ('grays', 400)] - The outline color of an outlined type card.
+/// @prop {color} card-border-color [transparent] - The border color of an card.
+///
+/// @requires {function} extend
+/// @requires {map} $_default-shape-card
+/// @requires {map} $_default-elevation-card
/// @see $default-palette
$_light-card: extend(
$_default-shape-card,
@@ -51,8 +56,37 @@ $_light-card: extend(
rgba: .6
),
+ card-border-color: transparent,
+
outline-color: (
igx-color: ('grays', 400)
)
)
);
+
+/// Generates a fluent card schema.
+/// @type {Map}
+/// @prop {Map} outline-color [igx-color: ('grays', 200)] - The outline color of an outlined type card.
+/// @prop {map} card-border-color [ igx-color: ('grays', 200)] - The border color of an card.
+///
+/// @prop {Number} resting-elevation [0] - The elevation level, between 0-24, to be used for the resting state.
+/// @prop {Number} hover-elevation [0] - The elevation level, between 0-24, to be used for the hover state.
+/// @prop {Number} border-radius [2px] - The border radius fraction, between 0-1 to be used for card date.
+///
+/// @requires {function} extend
+/// @requires {map} $_fluent-shape-card
+/// @requires {map} $_fluent-elevation-card
+$_fluent-card: extend(
+ $_light-card,
+ $_fluent-shape-card,
+ $_fluent-elevation-card,
+ (
+ outline-color: (
+ igx-color: ('grays', 200)
+ ),
+
+ card-border-color: (
+ igx-color: ('grays', 200)
+ ),
+ )
+);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_carousel.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_carousel.scss
index 8ef3162090d..18e9b6e0ff0 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_carousel.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_carousel.scss
@@ -16,7 +16,9 @@
/// @prop {Color} indicator-border-color [#fff] - The idle indicator border color.
/// @prop {Color} indicator-active-border-color [#fff] - The active indicator border color.
/// @prop {Number} border-radius [0] - The border radius fraction, between 0-1 to be used for carousel.
-/// @see $default-palette
+///
+/// @requires {function} extend
+/// @requires {map} $_default-shape-carousel
$_light-carousel: extend(
$_default-shape-carousel,
(
@@ -36,3 +38,10 @@ $_light-carousel: extend(
indicator-active-border-color: #fff
)
);
+
+/// Generates a fluent carousel schema.
+/// @type {Map}
+/// @requires {function} extend
+/// @requires {map} $_light-carousel
+/// @see $default-palette
+$_fluent-carousel: extend($_light-carousel, $_fluent-shape-carousel);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_checkbox.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_checkbox.scss
index be1d8196397..08b4ed5e568 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_checkbox.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_checkbox.scss
@@ -13,12 +13,17 @@
/// @prop {Map} empty-color [igx-color: ('grays', 600)] - The unchecked border color.
/// @prop {Map} fill-color [igx-color: ('secondary', 500)] - The checked border and fill colors.
/// @prop {Map} disabled-color [igx-color: ('grays', 400)] - The disabled border and fill colors.
+/// @prop {Map} disabled-color-label [igx-color: ('grays', 400)] - The disabled color of the label.
/// @prop {Number} border-radius [.2] - The border radius fraction, between 0-10 to be used for checkbox.
-/// @prop {Number} border-radius [1] - The border radius fraction, between 0-24 to be used for checkbox ripple.
+/// @prop {Number} border-radius-ripple [1] - The border radius fraction, between 0-24 to be used for checkbox ripple.
+///
+/// @requires {function} extend
+/// @requires {map} $_default-shape-checkbox
/// @see $default-palette
$_light-checkbox: extend(
$_default-shape-checkbox,
(
+ variant: 'material',
tick-color: #fff,
label-color: (
@@ -35,6 +40,41 @@ $_light-checkbox: extend(
disabled-color: (
igx-color: ('grays', 400)
+ ),
+
+ disabled-color-label: (
+ igx-color: ('grays', 400)
)
)
);
+
+/// Generates a fluent checkbox schema.
+/// @type {Map}
+/// @prop {Map} empty-color [igx-color: ('grays', 900)] - The unchecked border color.
+/// @prop {Map} fill-color [igx-color: ('primary', 500)] - The checked border and fill colors.
+/// @prop {Map} disabled-color [igx-color: ('grays', 300)] - The disabled border and fill colors.
+/// @prop {Number} border-radius [2px] - The border radius fraction, between 0-10 to be used for checkbox.
+/// @prop {Number} border-radius-ripple [2px] - The border radius fraction, between 0-24 to be used for checkbox ripple.
+///
+/// @requires {function} extend
+/// @requires {map} $_light-checkbox
+/// @requires {map} $_fluent-shape-checkbox
+$_fluent-checkbox: extend(
+ $_light-checkbox,
+ $_fluent-shape-checkbox,
+ (
+ variant: 'fluent',
+
+ empty-color: (
+ igx-color: ('grays', 900)
+ ),
+
+ fill-color: (
+ igx-color: ('primary', 500)
+ ),
+
+ disabled-color: (
+ igx-color: ('grays', 300)
+ ),
+ )
+);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_chip.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_chip.scss
index f43109616fd..34c570fa84f 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_chip.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_chip.scss
@@ -20,17 +20,26 @@
/// @prop {Map} selected-text-color [igx-color: ('grays', 700)] - The selected chip text color.
/// @prop {Map} selected-background [igx-color: ('grays', 300)] - The selected chip background color.
/// @prop {Color} selected-border-color [transparent] The selected chip border color.
+/// @prop {Map} focus-background [igx-color: ('grays', 400)] The focused chip background color.
+/// @prop {Map} focus-text-color [igx-color: ('grays', 700)] The focused chip text color.
/// @prop {Map} hover-selected-text-color [igx-color: ('grays', 700)] - The selected chip hover text color.
/// @prop {Map} hover-selected-background [igx-color: ('grays', 400)] - The selected chip hover background color.
/// @prop {Map} hover-selected-border-color [transparent] - The selected chip hover border color.
/// @prop {Map} focus-selected-text-color [igx-color: ('grays', 700)] - The selected chip text focus color.
/// @prop {Map} focus-selected-background [igx-color: ('grays', 400)] - The selected chip focus background color.
/// @prop {Map} focus-selected-border-color [transparent] - The selected chip focus border color.
+/// @prop {Number} ghost-elevation [8] - The elevation level for the chip's ghost (dragging mode). Between 0-24.
+///
+/// @requires {function} extend
+/// @requires {map} $_default-shape-chip
+/// @requires {map} $_default-elevation-chip
/// @see $default-palette
$_light-chip: extend(
$_default-shape-chip,
$_default-elevation-chip,
(
+ variant:'material',
+
text-color: (
igx-color: ('grays', 700)
),
@@ -97,3 +106,73 @@ $_light-chip: extend(
focus-selected-border-color: transparent
)
);
+
+/// Generates a fluent chip schema.
+/// @type {Map}
+/// @prop {Map} background [igx-color: ('grays', 100)] - The chip background color.
+/// @prop {Color} ghost-background [#fff] - The chip ghost background color.
+/// @prop {Map} hover-background [igx-color: ('grays', 200)] - The chip hover background color.
+/// @prop {Map} selected-text-color [igx-contrast-color: ('primary', 500))] - The selected chip text color.
+/// @prop {Map} selected-background [igx-color: ('primary', 500)] - The selected chip background color.
+/// @prop {Map} focus-background [igx-color: ('primary', 500)] The focused chip background color.
+/// @prop {Map} focus-text-color [igx-contrast-color: ('primary', 500)] The focused chip text color.
+/// @prop {Map} hover-selected-text-color [igx-contrast-color: ('primary', 500)] - The selected chip hover text color.
+/// @prop {Map} hover-selected-background [igx-color: ('primary', 500)] - The selected chip hover background color.
+/// @prop {Map} focus-selected-text-color [igx-contrast-color: ('primary', 500)] - The selected chip text focus color.
+/// @prop {Map} focus-selected-background [igx-color: ('primary', 500)] - The selected chip focus background color.
+/// @prop {Number} ghost-elevation [2] - The elevation level for the chip's ghost (dragging mode). Between 0-24.
+///
+/// @requires {function} extend
+/// @requires {map} $_light-chip
+/// @requires {map} $_fluent-shape-chip
+/// @requires {map} $_fluent-elevation-chip
+$_fluent-chip: extend(
+ $_light-chip,
+ $_fluent-shape-chip,
+ $_fluent-elevation-chip,
+ (
+ variant:'fluent',
+
+ background: (
+ igx-color: ('grays', 100),
+ ),
+
+ ghost-background: #fff,
+
+ hover-background: (
+ igx-color: ('grays', 200),
+ ),
+
+ selected-text-color: (
+ igx-contrast-color: ('primary', 500),
+ ),
+
+ selected-background: (
+ igx-color: ('primary', 500),
+ ),
+
+ focus-background: (
+ igx-color: ('primary', 500),
+ ),
+
+ focus-text-color: (
+ igx-contrast-color: ('primary', 500)
+ ),
+
+ hover-selected-text-color: (
+ igx-contrast-color: ('primary', 500)
+ ),
+
+ hover-selected-background: (
+ igx-color: ('primary', 500),
+ ),
+
+ focus-selected-text-color: (
+ igx-contrast-color: ('primary', 500)
+ ),
+
+ focus-selected-background:(
+ igx-color: ('primary', 500),
+ ),
+ )
+);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_column-hiding.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_column-hiding.scss
index 260a8efd101..8bfa76a2d99 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_column-hiding.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_column-hiding.scss
@@ -11,12 +11,15 @@
/// @prop {Map} title-color [igx-color: ('primary', 500)]- The text color used for the title of the list.
/// @prop {Color} background-color [transparent] - The background color of the panel.
/// @see $default-palette
-$_light-column-hiding: extend(
- $_default-shape-column-hiding,
- (
- background-color: transparent,
- title-color: (
- igx-color: ('primary', 500)
- )
+$_light-column-hiding: (
+ background-color: transparent,
+ title-color: (
+ igx-color: ('primary', 500)
)
);
+
+/// Generates a fluent column hiding schema.
+/// @type {Map}
+/// @requires {function} extend
+/// @requires {map} $_light-column-hiding
+$_fluent-column-hiding: extend($_light-column-hiding);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_combo.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_combo.scss
index d435b7c9231..52385143630 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_combo.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_combo.scss
@@ -11,26 +11,30 @@
/// @prop {Map} empty-list-background [igx-color: 'surface'] - The combo list background color.
/// @prop {Map} search-separator-border-color [igx-color: 'surface', hexrgba: (), text-contrast: (), rgba: .12] - The combo search box separator color.
/// @prop {Map} empty-list-placeholder-color [igx-color: 'surface', hexrgba: (), text-contrast: (), rgba: .26] - The combo placeholder text color.
-/// @see $default-palette
-$_light-combo: extend(
- $_default-shape-combo,
- (
- empty-list-background: (
- igx-color: 'surface'
- ),
+$_light-combo: (
+ empty-list-background: (
+ igx-color: 'surface'
+ ),
- search-separator-border-color: (
- igx-color: 'surface',
- hexrgba: (),
- text-contrast: (),
- rgba: .12
- ),
+ search-separator-border-color: (
+ igx-color: 'surface',
+ hexrgba: (),
+ text-contrast: (),
+ rgba: .12
+ ),
- empty-list-placeholder-color: (
- igx-color: 'surface',
- hexrgba: (),
- text-contrast: (),
- rgba: .26
- )
+ empty-list-placeholder-color: (
+ igx-color: 'surface',
+ hexrgba: (),
+ text-contrast: (),
+ rgba: .26
)
);
+
+/// Generates a fluent combo schema.
+/// @type {Map}
+/// @requires {function} extend
+/// @requires {map} $_light-combo
+/// @see $default-palette
+$_fluent-combo: extend($_light-combo);
+
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_dialog.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_dialog.scss
index 8c744885708..ef2887ac2ae 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_dialog.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_dialog.scss
@@ -14,11 +14,15 @@
/// @prop {Map} message-color [igx-color: 'surface', text-contrast: (), rgba: .6] - The dialog message text color.
/// @prop {number} elevation [24] - The elevation level for the dialog.
/// @prop {Number} border-radius [.1] - The border radius fraction, between 0-1 to be used for dialog component.
-/// @see $default-palette
+///
+/// @requires {function} extend
+/// @requires {map} $_default-shape-dialog
+/// @requires {map} $_default-elevation-dialog
$_light-dialog: extend(
$_default-shape-dialog,
$_default-elevation-dialog,
(
+ variant: 'material',
background: (
igx-color: 'surface'
),
@@ -36,3 +40,18 @@ $_light-dialog: extend(
),
)
);
+
+/// Generates a fluent dialog schema.
+/// @type {Map}
+/// @prop {Number} border-radius [2px] - The border radius fraction, between 0-1 to be used for dialog component.
+///
+/// @requires {function} extend
+/// @requires {map} $_light-dialog
+/// @requires {map} $_fluent-shape-dialog
+$_fluent-dialog: extend(
+ $_light-dialog,
+ $_fluent-shape-dialog,
+ (
+ variant: 'fluent',
+ )
+);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_divider.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_divider.scss
index 6c954c65852..443eca01302 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_divider.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_divider.scss
@@ -8,15 +8,16 @@
/// Generates a light divider schema.
/// @type {Map}
-///
/// @property {Map} color [igx-color: ('grays', 300)] - The color used for the divider.
-///
/// @see $default-palette
-$_light-divider: extend(
- $_default-shape-divider,
- (
- color: (
- igx-color: ('grays', 300)
- )
+$_light-divider: (
+ color: (
+ igx-color: ('grays', 300)
)
);
+
+/// Generates a light divider schema.
+/// @type {Map}
+/// @requires {function} extend
+/// @requires {map} $_light-divider
+$_fluent-divider: extend($_light-divider);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_drop-down.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_drop-down.scss
index ccda9d3100c..c66f3baf13e 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_drop-down.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_drop-down.scss
@@ -26,6 +26,10 @@
/// @prop {Map} disabled-item-text-color [igx-color: 'surface', text-contrast: (), rgba: .38] - The drop-down disabled item text color.
/// @prop {Number} elevation [8] - The elevation level, between 0-24, to be used for the badge shadow.
/// @prop {Number} border-radius [.2] - The border radius fraction, between 0-1 to be used for drop-down component.
+///
+/// @requires {function} extend
+/// @requires {map} $_default-shape-drop-down
+/// @requires {map} $_default-elevation-drop-down
/// @see $default-palette
$_light-drop-down: extend(
$_default-shape-drop-down,
@@ -102,3 +106,49 @@ $_light-drop-down: extend(
),
)
);
+
+/// Generates a fluent drop-down schema.
+/// @type {Map}
+/// @prop {Map} selected-item-background [igx-color: ('grays', 100)] - The drop-down selected item background color.
+/// @prop {Map} selected-item-text-color [igx-contrast-color: ('grays', 100)] - The drop-down selected item text color.
+/// @prop {Map} selected-hover-item-background [igx-color: ('grays', 200)] - The drop-down selected item hover background color.
+/// @prop {Map} selected-hover-item-text-color [igx-contrast-color: ('grays', 200)] - The drop-down selected item hover text color.
+/// @prop {Map} selected-focus-item-background [igx-color: ('grays', 200)] - The drop-down selected item focus background color.
+/// @prop {Map} selected-focus-item-text-color [igx-contrast-color: ('grays', 200)] - The drop-down selected item focus text color.
+/// @prop {Number} elevation [4] - The elevation level, between 0-24, to be used for the badge shadow.
+/// @prop {Number} border-radius [2px] - The border radius fraction, between 0-1 to be used for drop-down component.
+///
+/// @requires {function} extend
+/// @requires {map} $_light-drop-down
+/// @requires {map} $_fluent-shape-drop-down
+/// @requires {map} $_fluent-elevation-drop-down
+$_fluent-drop-down: extend(
+ $_light-drop-down,
+ $_fluent-shape-drop-down,
+ $_fluent-elevation-drop-down,
+ (
+ selected-item-background: (
+ igx-color: ('grays', 100)
+ ),
+
+ selected-item-text-color: (
+ igx-contrast-color: ('grays', 100)
+ ),
+
+ selected-hover-item-background: (
+ igx-color: ('grays', 200)
+ ),
+
+ selected-hover-item-text-color: (
+ igx-contrast-color: ('grays', 200)
+ ),
+
+ selected-focus-item-background: (
+ igx-color: ('grays', 200)
+ ),
+
+ selected-focus-item-text-color: (
+ igx-contrast-color: ('grays', 200)
+ ),
+ )
+);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_expansion-panel.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_expansion-panel.scss
index e0c21aea9c3..5d5b0e43dd2 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_expansion-panel.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_expansion-panel.scss
@@ -17,6 +17,9 @@
/// @prop {Map} body-color [igx-color: ('grays', 800)] - The panel body text color.
/// @prop {Map} disabled-color [igx-color: ('grays', 500)] - The panel disabled text color.
/// @prop {Number} border-radius [0] - The border radius fraction, between 0-1 to be used for expansion-panel.
+///
+/// @requires {function} extend
+/// @requires {Map} $_default-shape-expansion-panel
/// @see $default-palette
$_light-expansion-panel: extend(
$_default-shape-expansion-panel,
@@ -49,3 +52,9 @@ $_light-expansion-panel: extend(
)
)
);
+
+/// Generates a fluent expansion panel schema.
+/// @type {Map}
+/// @requires {function} extend
+/// @requires {Map} $_light-expansion-panel
+$_fluent-expansion-panel: extend($_light-expansion-panel);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_grid-filtering.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_grid-filtering.scss
index e285d056789..b6849b54744 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_grid-filtering.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_grid-filtering.scss
@@ -20,6 +20,8 @@
/// @prop {Color} toggle-active-background [igx-color: ('secondary', 500)] - The active toggle background color.
/// @prop {Color} menu-text-color [igx-color: ('grays', 900)] - The idle menu text color.
/// @prop {Color} menu-button-text-color [igx-color: ('secondary', 500)] - The menu button text color.
+/// @requires {function} extend
+/// @requires {map} $_default-shape-grid-filtering
/// @see $default-palette
$_light-grid-filtering: extend(
$_default-shape-grid-filtering,
@@ -56,3 +58,17 @@ $_light-grid-filtering: extend(
)
)
);
+
+/// Generates a fluent grid-filtering schema.
+/// @type {Map}
+/// @prop {Map} menu-background [igx-color: 'surface'] - The idle menu background color.
+/// @requires {function} extend
+/// @requires {map} $_default-shape-grid-filtering
+$_fluent-grid-filtering: extend(
+ $_light-grid-filtering,
+ (
+ menu-background: (
+ igx-color: 'surface'
+ ),
+ )
+);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_grid-pagination.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_grid-pagination.scss
index c495b23fbf0..e0d0d1c9685 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_grid-pagination.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_grid-pagination.scss
@@ -12,18 +12,35 @@
/// @prop {Map} background-color [igx-color: ('grays', 100), hexrgba: #fff] - The background color of the paging panel.
/// @prop {Map} border-color [igx-color: ('grays', 400)] - The border color of the paging panel.
/// @see $default-palette
-$_light-grid-pagination: extend(
- $_default-shape-grid-pagination,
- (
- text-color: currentColor,
+$_light-grid-pagination: (
+ text-color: currentColor,
+
+ background-color: (
+ igx-color: ('grays', 100),
+ hexrgba: #fff
+ ),
+
+ border-color: (
+ igx-color: ('grays', 400)
+ )
+);
+/// Generates a light avatar schema.
+/// @type {Map}
+/// @prop {Map} background-color [igx-color: 'surface'] - The background color of the paging panel.
+/// @prop {Map} border-color [igx-color: ('grays', 100), hexrgba: #fff] - The border color of the paging panel.
+/// @requires {function} extend
+/// @requires {map} $_light-grid-pagination
+$_fluent-grid-pagination: extend(
+ $_light-grid-pagination,
+ (
background-color: (
- igx-color: ('grays', 100),
- hexrgba: #fff
+ igx-color: 'surface'
),
border-color: (
- igx-color: ('grays', 400)
+ igx-color: ('grays', 100),
+ hexrgba: #fff
)
)
);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_grid-summary.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_grid-summary.scss
index 07189784f4b..b771d181f28 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_grid-summary.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_grid-summary.scss
@@ -12,12 +12,12 @@
/// @property {Color} background-color [inherit] - The summaries background color is inherited form igx-grid__tfoot.
/// @property {Color} focus-background-color [igx-color] - The background color when a summary item is on focus.
/// @property {map} label-color [igx-color: ('primary', 500)] - The summaries label color.
+/// @property {map} label-hover-color [igx-color: ('primary', 700)] - The summaries hover label color.
/// @property {Color} result-color [currentColor] - The summaries value/result color.
/// @property {map} border-color [igx-color: ('grays', 400)] - The summaries border color.
/// @property {String} pinned-border-width [2px] - The border width of the summary panel.
/// @property {String} pinned-border-style [solid] - The border style of the summary panel.
/// @property {map} pinned-border-color [igx-color: ('grays', 400)] - The border color of the summary panel.
-/// @property {map} label-hover-color [igx-color: ('primary', 700)] - The summaries hover label color.
///
/// @see $default-palette
@@ -34,7 +34,12 @@ $_light-grid-summary: extend(
igx-color: ('primary', 500)
),
+ label-hover-color: (
+ igx-color: ('primary', 700)
+ ),
+
result-color: currentColor,
+
border-color: (
igx-color: ('grays', 400)
),
@@ -44,9 +49,32 @@ $_light-grid-summary: extend(
pinned-border-color: (
igx-color: ('grays', 400)
),
+ )
+);
- label-hover-color: (
- igx-color: ('primary', 700)
- )
+/// Generates a fluent grid-summary schema.
+/// @type {Map}
+///
+/// @property {Color} background-color [ igx-color: ('surface')] - The summaries background color is inherited form igx-grid__tfoot
+/// @property {map} border-color [ igx-color: ('grays', 100)] - The summaries border color.
+/// @property {map} pinned-border-color [igx-color: ('grays', 300), hexrgba: #fff] - The border color of the summary panel.
+///
+/// @requires {function} extend
+/// @requires {map} $_light-grid-summary
+$_fluent-grid-summary: extend(
+ $_light-grid-summary,
+ (
+ background-color: (
+ igx-color: ('surface')
+ ),
+
+ border-color: (
+ igx-color: ('grays', 100)
+ ),
+
+ pinned-border-color: (
+ igx-color: ('grays', 300),
+ hexrgba: #fff
+ ),
)
);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_grid-toolbar.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_grid-toolbar.scss
index 69e4c67a18b..ea3b8632e5f 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_grid-toolbar.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_grid-toolbar.scss
@@ -26,61 +26,79 @@
///
/// @see $default-palette
-$_light-grid-toolbar: extend(
- $_default-shape-grid-toolbar,
- (
- background-color: (
- igx-color: ('grays', 50)
- ),
+$_light-grid-toolbar: (
+ background-color: (
+ igx-color: ('grays', 50)
+ ),
- title-text-color : (
- igx-color: ('grays', 600)
- ),
+ title-text-color : (
+ igx-color: ('grays', 600)
+ ),
- button-background: (
- igx-color: ('grays', 100)
- ),
+ button-background: (
+ igx-color: ('grays', 100)
+ ),
- button-text-color: (
- igx-color: ('grays', 600)
- ),
+ button-text-color: (
+ igx-color: ('grays', 600)
+ ),
- button-hover-background: (
- igx-color: ('grays', 100)
- ),
+ button-hover-background: (
+ igx-color: ('grays', 100)
+ ),
- button-hover-text-color: (
- igx-color: ('grays', 600)
- ),
+ button-hover-text-color: (
+ igx-color: ('grays', 600)
+ ),
- button-focus-background: (
- igx-color: ('grays', 100)
- ),
+ button-focus-background: (
+ igx-color: ('grays', 100)
+ ),
- button-focus-text-color: (
- igx-color: ('grays', 600)
- ),
+ button-focus-text-color: (
+ igx-color: ('grays', 600)
+ ),
- dropdown-background: #fff,
+ dropdown-background: #fff,
- item-text-color: (
- igx-color: ('grays', 600)
- ),
+ item-text-color: (
+ igx-color: ('grays', 600)
+ ),
- item-hover-background: (
- igx-color: ('grays', 100)
- ),
+ item-hover-background: (
+ igx-color: ('grays', 100)
+ ),
- item-hover-text-color: (
- igx-color: ('grays', 600)
- ),
+ item-hover-text-color: (
+ igx-color: ('grays', 600)
+ ),
+
+ item-focus-background: (
+ igx-color: ('grays', 100)
+ ),
+
+ item-focus-text-color: (
+ igx-color: ('grays', 600)
+ )
+);
- item-focus-background: (
- igx-color: ('grays', 100)
+/// Generates a fluent grid-toolbar schema.
+/// @type {Map}
+///
+/// @property {map} background-color [igx-color: 'surface'] - The toolbar background color.
+/// @property {map} button-hover-text-color [igx-color: ('primary', 500)] - The toolbar button hover text color.
+///
+/// @requires {function} extend
+/// @requires {map} $_light-grid-toolbar
+$_fluent-grid-toolbar: extend(
+ $_light-grid-toolbar,
+ (
+ background-color: (
+ igx-color: 'surface'
),
- item-focus-text-color: (
- igx-color: ('grays', 600)
- )
+ button-hover-text-color: (
+ igx-color: ('primary', 500)
+ ),
)
);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_grid.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_grid.scss
index 54e08e93fb8..039642195c5 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_grid.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_grid.scss
@@ -29,6 +29,7 @@
/// @prop {Color} row-even-text-color [inherit] - The text color of even rows.
/// @prop {Map} row-selected-background [igx-color: ('secondary', 50), hexrgba: #fff] - The selected row background color.
/// @prop {Map} row-selected-text-color [igx-contrast-color: ('secondary', 50)] - The selected row text color.
+/// @prop {Map} row-selected-hover-background [igx-color: ('secondary', 50), hexrgba: #fff] - The selected row hover background.
/// @prop {Map} row-hover-background [igx-color: ('grays', 100), hexrgba: #fff] - The hover row background color.
/// @prop {Map} row-hover-text-color [igx-contrast-color: ('grays', 200)] - The hover row text color.
/// @prop {Map} row-border-color [igx-color: ('grays', 300)] - The row bottom border color.
@@ -71,12 +72,20 @@
/// @prop {Map} row-ghost-background [igx-color: ('primary', 50))] - The background color of the dragged row.
/// @prop {number} grid-elevation [2] - The elevation used for the grid.
/// @prop {number} drag-elevation [5] - The elevation used for movable elements (ex. column header).
-/// @prop {Number} border-radius [1] - The border radius fraction, between 0-1 to be used for card date.
+/// @prop {Number} drop-area-border-radius [1] - The border radius fraction, between 0-1 to be used for card date.
+///
+/// @requires {function} extend
+/// @requires {map} $_default-shape-grid
+/// @requires {map} $_default-elevation-grid
/// @see $default-palette
$_light-grid: extend(
$_default-shape-grid,
$_default-elevation-grid,
(
+ variant: 'material',
+
+ grid-border-color: transparent,
+
header-background: (
igx-color: ('grays', 100),
hexrgba: #fff
@@ -126,6 +135,11 @@ $_light-grid: extend(
hexrgba: #fff
),
+ row-selected-hover-background: (
+ igx-color: ('secondary', 50),
+ hexrgba: #fff
+ ),
+
row-selected-text-color: (
igx-contrast-color: ('secondary', 50)
),
@@ -311,3 +325,121 @@ $_light-grid: extend(
)
)
);
+
+/// Generates a fluent grid schema.
+/// @type {Map}
+/// @prop {Map} grid-border-color [igx-color: ('grays', 100)] - The grid border color only.
+/// @prop {Map} header-background [igx-color: 'surface'] - The table header background color.
+/// @prop {Map} header-border-color [igx-color: ('grays', 100)] - The color used for header borders.
+/// @prop {Map} row-selected-hover-background [igx-color: ('grays', 200), hexrgba: #fff] - The selected row hover background.
+/// @prop {Map} row-border-color [igx-color: ('grays', 100)] - The row bottom border color.
+/// @prop {Map} pinned-border-color [igx-color: ('grays', 200)] - The color of the pinned border.
+/// @prop {Map} cell-active-border-color [igx-color: ('primary', 100), hexrgba: #fff] - The active(focused) cell border color.
+/// @prop {Map} cell-selected-background [igx-color: ('grays', 300), hexrgba: #fff] - The selected cell background color.
+/// @prop {Map} grouparea-background [igx-color: 'surface'] - The grid group area background color.
+/// @prop {Map} group-row-background [igx-color: ('grays', 50), hexrgba: #fff] - The grid group row background color.
+/// @prop {Map} group-row-selected-background [igx-color: ('grays', 100), hexrgba: #fff] - The drop area background on drop color.
+/// @prop {Map} filtering-header-background [igx-color: ('grays', 100), hexrgba: #fff] - The background color of the filtered column header.
+/// @prop {Map} filtering-header-text-color [igx-color: ('grays', 900), hexrgba: #fff] - The text color color of the filtered column header.
+/// @prop {Map} filtering-row-background [igx-color: ('grays', 100), hexrgba: #fff] - The background color of the filtering row.
+/// @prop {Map} root-summaries-background [igx-color: 'surface'] - The background color of the summary groups located the footer.
+/// @prop {Map} row-ghost-background [igx-color: 'surface'] - The background color of the dragged row.
+/// @prop {number} grid-elevation [0] - The elevation used for the grid.
+/// @prop {number} drag-elevation [1] - The elevation used for movable elements (ex. column header).
+/// @prop {Number} drop-area-border-radius [2px] - The border radius fraction, between 0-1 to be used drop-area.
+///
+/// @requires {function} extend
+/// @requires {map} $_light-grid
+/// @requires {map} $_fluent-elevation-grid
+$_fluent-grid: extend(
+ $_light-grid,
+ $_fluent-shape-grid,
+ $_fluent-elevation-grid,
+ (
+ variant: 'fluent',
+
+ grid-border-color: (
+ igx-color: ('grays', 100)
+ ),
+
+ header-background: (
+ igx-color: 'surface'
+ ),
+
+ header-border-color: (
+ igx-color: ('grays', 100)
+ ),
+
+ row-selected-hover-background: (
+ igx-color: ('grays', 200),
+ hexrgba: #fff
+ ),
+
+ row-border-color: (
+ igx-color: ('grays', 100)
+ ),
+
+ pinned-border-color: (
+ igx-color: ('grays', 200)
+ ),
+
+ cell-active-border-color: (
+ igx-color: ('primary', 100),
+ hexrgba: #fff
+ ),
+
+ cell-selected-background: (
+ igx-color: ('grays', 300),
+ hexrgba: #fff
+ ),
+
+ grouparea-background: (
+ igx-color: 'surface'
+ ),
+
+ group-row-background: (
+ igx-color: ('grays', 50),
+ hexrgba: #fff
+ ),
+
+ group-row-selected-background: (
+ igx-color: ('grays', 100),
+ hexrgba: #fff
+ ),
+
+ filtering-header-background: (
+ igx-color: ('grays', 100),
+ hexrgba: #fff
+ ),
+
+ filtering-header-text-color: (
+ igx-color: ('grays', 900),
+ hexrgba: #fff
+ ),
+
+ filtering-row-background: (
+ igx-color: ('grays', 100),
+ hexrgba: #fff
+ ),
+
+ header-text-color: (
+ igx-color: ('grays', 900),
+ hexrgba: #fff
+ ),
+
+ row-selected-background: (
+ igx-color: ('grays', 100),
+ hexrgba: #fff
+ ),
+
+ root-summaries-background: (
+ igx-color: 'surface'
+ ),
+
+ row-ghost-background: (
+ igx-color: 'surface'
+ ),
+ )
+);
+
+
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_icon.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_icon.scss
index 19e556b45bf..939bded8a84 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_icon.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_icon.scss
@@ -15,13 +15,15 @@
///
/// @see $default-palette
-$_light-icon: extend(
- $_default-shape-icon,
- (
- color: currentColor,
-
- size: rem(24px),
-
- disabled-color: currentColor
- )
+$_light-icon: (
+ color: currentColor,
+ size: rem(24px),
+ disabled-color: currentColor
);
+
+/// Generates a fluent icon schema.
+/// @type {Map}
+///
+/// @requires {function} extend
+/// @requires {map} $_light-icon
+$_fluent-icon: extend($_light-icon);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_index.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_index.scss
index 4bd61355520..c6dee81a4d2 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_index.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_index.scss
@@ -85,6 +85,8 @@
/// @property {Map} igx-toast [$_light-toast]
/// @property {Map} igx-tooltip [$_light-tooltip]
+
+/// The default light schema for all components.
$light-schema: (
igx-avatar: $_light-avatar,
igx-badge: $_light-badge,
@@ -126,3 +128,46 @@ $light-schema: (
igx-toast: $_light-toast,
igx-tooltip: $_light-tooltip
);
+
+
+$light-fluent-schema: (
+ igx-avatar: $_fluent-avatar,
+ igx-badge: $_fluent-badge,
+ igx-banner: $_fluent-banner,
+ igx-bottom-nav: $_fluent-bottom-nav,
+ igx-button: $_fluent-button,
+ igx-button-group: $_fluent-button-group,
+ igx-calendar: $_fluent-calendar,
+ igx-card: $_fluent-card,
+ igx-carousel: $_fluent-carousel,
+ igx-checkbox: $_fluent-checkbox,
+ igx-chip: $_fluent-chip,
+ igx-column-hiding: $_fluent-column-hiding,
+ igx-combo: $_fluent-combo,
+ igx-dialog: $_fluent-dialog,
+ igx-divider: $_fluent-divider,
+ igx-drop-down: $_fluent-drop-down,
+ igx-expansion-panel: $_fluent-expansion-panel,
+ igx-grid: $_fluent-grid,
+ igx-grid-filtering: $_fluent-grid-filtering,
+ igx-grid-paginator: $_fluent-grid-pagination,
+ igx-grid-summary: $_fluent-grid-summary,
+ igx-grid-toolbar: $_fluent-grid-toolbar,
+ igx-icon: $_fluent-icon,
+ igx-input-group: $_fluent-input-group,
+ igx-list: $_fluent-list,
+ igx-navbar: $_fluent-navbar,
+ igx-navdrawer: $_fluent-navdrawer,
+ igx-overlay: $_fluent-overlay,
+ igx-linear-bar: $_fluent-progress-linear,
+ igx-circular-bar: $_fluent-progress-circular,
+ igx-radio: $_fluent-radio,
+ igx-ripple: $_fluent-ripple,
+ igx-slider: $_fluent-slider,
+ igx-snackbar: $_fluent-snackbar,
+ igx-switch: $_fluent-switch,
+ igx-tabs: $_fluent-tabs,
+ igx-time-picker: $_fluent-time-picker,
+ igx-toast: $_fluent-toast,
+ igx-tooltip: $_fluent-tooltip
+);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_input-group.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_input-group.scss
index 16587e41aed..c7b0e53b858 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_input-group.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_input-group.scss
@@ -19,12 +19,18 @@
/// @prop {map} filled-secondary-color [igx-color: ('grays', 600)] - The label color in the filled state.
/// @prop {map} focused-secondary-color [ igx-color: ('primary', 500)] - The label color in the focused state.
///
+/// @prop {map} border-color [igx-color: ('grays', 600)] - The border color for inputs with border.
+
/// @prop {map} idle-bottom-line-color [igx-color: ('grays', 600)] - The bottom line and border colors in the idle state.
/// @prop {map} hover-bottom-line-color [igx-color: ('grays', 900)] - The bottom line and border colors in the hover state.
/// @prop {map} focused-bottom-line-color [igx-color: ('primary', 500)] - The bottom line and border colors in the focused state.
/// @prop {map} interim-bottom-line-color [igx-color: ('primary', 500), rgba: .12] - The bottom line and border colors during the to-focused transition.
/// @prop {map} disabled-bottom-line-color [igx-color: ('grays', 500)] - The bottom line and border colors in the disabled state.
-/// @prop {map} disabled-border-color [igx-color: ('grays', 500), rgba: .06] - The disabled border color for input groups of type border.
+///
+/// @prop {map} border-color [igx-color: ('grays', 600)] - The border color for input groups of type border and fluent.
+/// @prop {map} hover-border-color [igx-color: ('grays', 600)] - The hover input border for input groups of type border and fluent.
+/// @prop {map} focused-border-color [igx-color: ('primary', 500)] - The focused input border color for input groups of type border and fluent.
+/// @prop {map} disabled-border-color [igx-color: ('grays', 500), rgba: .06] - The disabled border color for input groups of type border and fluent.
///
/// @prop {map} box-background [igx-color: ('grays', 200)] - The background color of an input group of type box.
/// @prop {map} box-disabled-background [igx-color: ('grays', 100)] - The background color of an input group of type box in the disabled state.
@@ -47,17 +53,44 @@
/// @prop {Number} border-border-radius [.2] - The border radius fraction, between 0-1 to be used for border input .
/// @prop {Number} search-border-radius [.2] - The border radius fraction, between 0-1 to be used for search input .
///
+/// @requires {function} extend
+/// @requires {map} $_default-shape-input-group
+/// @requires {map} $_default-elevation-input-group
/// @see $default-palette
-
-
$_light-input-group: extend(
$_default-shape-input-group,
$_default-elevation-input-group,
(
+ variant: 'material',
+
+ input-prefix-color: (
+ igx-color: ('grays', 600)
+ ),
+
+ input-prefix-background: transparent,
+
+ input-suffix-color: (
+ igx-color: ('grays', 600)
+ ),
+
+ input-suffix-background: transparent,
+
idle-text-color: (
igx-color: ('grays', 600)
),
+ border-color: (
+ igx-color: ('grays', 600)
+ ),
+
+ hover-border-color: (
+ igx-color: ('grays', 900)
+ ),
+
+ focused-border-color: (
+ igx-color: ('primary', 500)
+ ),
+
filled-text-color: (
igx-color: ('grays', 900)
),
@@ -146,6 +179,76 @@ $_light-input-group: extend(
disabled-placeholder-color: (
igx-color: ('grays', 400)
- )
+ ),
+ )
+);
+
+/// Generates a fluent input-group schema.
+/// @type {Map}
+///
+/// @prop {map} border-color [igx-color: ('grays', 500)] - The border color for input groups of type border and fluent.
+/// @prop {map} hover-border-color [igx-color: ('grays', 800)] - The hover input border for input groups of type border and fluent.
+/// @prop {map} focused-border-color [igx-color: ('grays', 500)] - The focused input border color for input groups of type border and fluent.
+/// @prop {map} disabled-border-color [igx-color: ('grays', 500)] - The disabled border color for input groups of type border and fluent.
+///
+/// @prop {map} border-disabled-background [igx-color: ('grays', 100)] - The background color of an input group of type border in the disabled state.
+///
+/// @prop {Color} search-disabled-background [igx-color: ('grays', 100)] - The background color of an input group of type search in the disabled state.
+///
+/// @prop {Color} input-prefix-background [igx-color: ('grays', 100), hexrgba: #fff] - The background color of an input prefix of type line, box, border and fluent.
+/// @prop {Color} input-suffix-background [ igx-color: ('grays', 100), hexrgba: #fff] - The background color of an input suffix of type line, box, border and fluent.
+///
+/// @prop {Number} search-resting-elevation [0] - The elevation level, between 0-24, to be used for the resting state of the search input.
+/// @prop {Number} search-hover-elevation [0] - The elevation level, between 0-24, to be used for the hover state of the search input.
+/// @prop {Number} search-disabled-elevation [0] - The elevation level, between 0-24, to be used for the disabled state of the search input.
+///
+/// @prop {Number} box-border-radius [2px] - The border radius fraction, between 0-1 to be used for box input .
+/// @prop {Number} border-border-radius [2px] - The border radius fraction, between 0-1 to be used for border input .
+/// @prop {Number} search-border-radius [2px] - The border radius fraction, between 0-1 to be used for search input .
+///
+/// @requires {function} extend
+/// @requires {map} $_light-input-group
+/// @requires {map} $_fluent-shape-input-group
+/// @requires {map} $_fluent-elevation-input-group
+$_fluent-input-group: extend(
+ $_light-input-group,
+ $_fluent-shape-input-group,
+ $_fluent-elevation-input-group,
+ (
+ variant: 'fluent',
+
+ border-color: (
+ igx-color: ('grays', 500)
+ ),
+
+ hover-border-color: (
+ igx-color: ('grays', 800)
+ ),
+
+ focused-border-color: (
+ igx-color: ('grays', 500)
+ ),
+
+ disabled-border-color: (
+ igx-color: ('grays', 500)
+ ),
+
+ border-disabled-background: (
+ igx-color: ('grays', 100),
+ ),
+
+ search-disabled-background: (
+ igx-color: ('grays', 100)
+ ),
+
+ input-prefix-background: (
+ igx-color: ('grays', 100),
+ hexrgba: #fff
+ ),
+
+ input-suffix-background: (
+ igx-color: ('grays', 100),
+ hexrgba: #fff
+ ),
)
);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_list.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_list.scss
index 1235bfb4fc8..5c38483fb6c 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_list.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_list.scss
@@ -41,7 +41,6 @@
/// @prop {Number} item-border-radius [0] - The border radius fraction, between 0-1 to be used for list item.
///
/// @see $default-palette
-
$_light-list: extend(
$_default-shape-list,
(
@@ -114,3 +113,9 @@ $_light-list: extend(
item-thumbnail-color-active: currentColor
)
);
+
+/// Generates a fluent schema.
+/// @type {Map}
+/// @requires {function} extend
+/// @requires $_light-list
+$_fluent-list: extend($_light-list);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_navbar.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_navbar.scss
index 56d36616f1d..803a7eaacf3 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_navbar.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_navbar.scss
@@ -17,7 +17,6 @@
/// @prop {Number} $elevation [4] - The navbar elevation shadow level.
///
/// @see $default-palette
-
$_light-navbar: extend(
$_default-shape-navbar,
$_default-elevation-navbar,
@@ -37,5 +36,11 @@ $_light-navbar: extend(
hover-icon-color: (
igx-contrast-color: ('primary', 500)
),
- ),
+ )
);
+
+/// Generates a fluent navbar schema.
+/// @type {Map}
+/// @requires {function} extend
+/// @requires $_light-navbar
+$_fluent-navbar: extend($_light-navbar);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_navdrawer.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_navdrawer.scss
index 9799301d2d8..4dad5d69008 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_navdrawer.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_navdrawer.scss
@@ -26,7 +26,6 @@
/// @prop {Number} item-border-radius [.16667] - The border radius fraction, between 0 - 24 to be used for the navdrawer item.
///
/// @see $default-palette
-
$_light-navdrawer: extend(
$_default-shape-navdrawer,
$_default-elevation-navdrawer,
@@ -87,3 +86,9 @@ $_light-navdrawer: extend(
),
)
);
+
+/// Generates a fluent navdrawer schema.
+/// @type {Map}
+/// @requires {function} extend
+/// @requires $_light-navdrawer
+$_fluent-navdrawer: extend($_light-navdrawer);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_overlay.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_overlay.scss
index 19521b4a763..74d72720111 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_overlay.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_overlay.scss
@@ -8,9 +8,9 @@
/// Generates a light overlay schema.
/// @type {Map}
-///
/// @property {map} background-color [igx-color: ('grays', 500)] - The background color used for modal overlays.
-///
+/// @requires {function} extend
+/// @requires $_fluent-overlay
/// @see $default-palette
$_light-overlay: extend(
$_default-shape-overlay,
@@ -20,3 +20,15 @@ $_light-overlay: extend(
)
)
);
+
+/// Generates a fluent overlay schema.
+/// @type {Map}
+/// @property {Color} background-color [rgba(255, 255, 255, .4)] - The background color used for modal overlays.
+/// @requires {function} extend
+/// @requires $_light-overlay
+$_fluent-overlay: extend(
+ $_light-overlay,
+ (
+ background-color: rgba(255, 255, 255, .4)
+ )
+);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_progress.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_progress.scss
index d89953d1fb5..0bba2148ec7 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_progress.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_progress.scss
@@ -19,7 +19,6 @@
/// @property {map} text-color [igx-color: ('grays', 700)] - The track value text color.
///
/// @see $default-palette
-
$_light-progress-linear: extend(
$_default-shape-progress,
(
@@ -55,15 +54,18 @@ $_light-progress-linear: extend(
)
);
+/// Generates a fluent progress-linear schema.
+/// @type {Map}
+/// @requires {function} extend
+/// @requires $_light-progress-linear
+$_fluent-progress-linear: extend($_light-progress-linear);
+
/// Generates a light progress-circular schema.
/// @type {Map}
///
/// @property {map} base-circle-color [igx-color: ('grays', 300)] - The base circle fill color.
/// @property {map} progress-circle-color [igx-color: ('primary', 500)] - The progress circle fill color.
/// @property {map} text-color [igx-color: ('grays', 700)] - The value text color.
-///
-/// @see $default-palette
-
$_light-progress-circular: extend(
$_default-shape-progress,
(
@@ -80,3 +82,9 @@ $_light-progress-circular: extend(
)
)
);
+
+/// Generates a fluent progress-circular schema.
+/// @type {Map}
+/// @requires {function} extend
+/// @requires $_light-progress-circular
+$_fluent-progress-circular: extend($_light-progress-circular);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_radio.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_radio.scss
index 24305a0af63..e23f094e021 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_radio.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_radio.scss
@@ -9,18 +9,25 @@
/// Generates a light radio schema.
/// @type {Map}
///
+/// @property {map} hover-color [igx-color: ('grays', 900)] - The text color used for the label text.
+/// @property {map} fill-hover-border-color [igx-color: ('grays', 900)] - The text color used for the label text.
/// @property {map} label-color [igx-color: ('grays', 900)] - The text color used for the label text.
/// @property {map} empty-color [igx-color: ('grays', 600)] - The unchecked border color.
/// @property {map} fill-color [igx-color: ('secondary', 500)] - The checked border and dot colors.
/// @property {map} disabled-color [igx-color: ('grays', 400)] - The disabled border and dot colors.
-///
/// @see $default-palette
-
$_light-radio: extend(
$_default-shape-radio,
(
+ variant: 'material',
name: 'igx-radio',
+ hover-color: transparent,
+
+ fill-hover-border-color:(
+ igx-color: ('secondary', 500)
+ ),
+
label-color: (
igx-color: ('grays', 900)
),
@@ -38,3 +45,31 @@ $_light-radio: extend(
)
)
);
+
+/// Generates a fluent radio radio schema.
+/// @type {Map}
+///
+/// @property {map} hover-color [igx-color: ('grays', 800)] - The text color used for the label text.
+/// @property {map} fill-hover-border-color [igx-color: ('secondary', 600)] - The text color used for the label text.
+/// @property {map} empty-color [igx-color: ('grays', 800)] - The unchecked border color.
+/// @property {map} fill-color [igx-color: ('secondary', 300)] - The checked border and dot colors.
+$_fluent-radio: extend($_light-radio,(
+ variant: 'fluent',
+
+ hover-color: (
+ igx-color: ('grays', 800)
+ ),
+
+ fill-hover-border-color: (
+ igx-color: ('secondary', 600)
+ ),
+
+ empty-color: (
+ igx-color: ('grays', 800)
+ ),
+
+ fill-color: (
+ igx-color: ('secondary', 300)
+ ),
+));
+
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_ripple.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_ripple.scss
index d965838a59b..32ab5ae2733 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_ripple.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_ripple.scss
@@ -12,7 +12,6 @@
/// @property {map} color [igx-color: ('grays', 800)] - The color of the ripple.
///
/// @see $default-palette
-
$_light-ripple: extend(
$_default-shape-ripple,
(
@@ -21,3 +20,9 @@ $_light-ripple: extend(
)
)
);
+
+/// Generates a fluent ripple schema.
+/// @type {Map}
+/// @requires {function} extend
+/// @requires $_light-ripple
+$_fluent-ripple: extend($_light-ripple);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_slider.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_slider.scss
index 47e9b05a81e..98d6ff3a683 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_slider.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_slider.scss
@@ -10,18 +10,23 @@
/// @type {Map}
///
/// @property {map} track-color [igx-color: ('secondary', 500)] - The color of the track.
+/// @property {map} track-hover-color [igx-color: ('secondary', 500)] - The color of the track on hover.
/// @property {map} thumb-color [igx-color: ('secondary', 500)] - The color of the thumb.
+/// @property {map} thumb-border-color [igx-color: ('secondary', 500)] - The thumb border color.
+/// @property {map} thumb-disabled-border-color [igx-color: ('grays', 400)] - The thumb border color when its disabled
+/// @property {map} disabled-thumb-color [igx-color: ('grays', 400), hexrgba: ()] - The thumb color when its disabled.
/// @property {map} label-background-color [igx-color: ('secondary', 500)] - The background color of the bubble label.
/// @property {map} label-text-color [igx-contrast-color: ('secondary', 500)] - The text color of the bubble label.
-/// @property {map} disabled-thumb-color [igx-color: ('grays', 400), hexrgba: ()] - The thumb color when its disabled.
/// @property {map} base-track-color [igx-color: ('grays', 500)] - The base background color of the track.
+/// @property {map} base-track-hover-color [igx-color: ('secondary', 500), rgba: .24] - The base background color of the track on hover.
/// @property {map} disabled-base-track-color [igx-color: ('grays', 400)] - The base background color of the track when is disabled.
///
/// @see $default-palette
-
$_light-slider: extend(
$_default-shape-slider,
(
+ variant: 'material',
+
track-color: (
igx-color: ('secondary', 500)
),
@@ -30,6 +35,9 @@ $_light-slider: extend(
igx-color: ('secondary', 500)
),
+ thumb-border-color: (
+ igx-color: ('secondary', 500)
+ ),
label-background-color: (
igx-color: ('secondary', 500),
@@ -45,13 +53,77 @@ $_light-slider: extend(
hexrgba: ()
),
+ disabled-base-track-color: (
+ igx-color: ('grays', 400)
+ ),
+
+ thumb-disabled-border-color: (
+ igx-color: ('grays', 400)
+ ),
+
base-track-color: (
igx-color: ('secondary', 500),
rgba: .24
),
- disabled-base-track-color: (
- igx-color: ('grays', 400)
+ base-track-hover-color: (
+ igx-color: ('secondary', 500),
+ rgba: .24
+ ),
+
+ track-hover-color: (
+ igx-color: ('secondary', 500)
)
)
);
+
+/// Generates a fluent slider schema.
+/// @type {Map}
+///
+/// @property {map} track-color [igx-color: ('grays', 700), hexrgba: #fff] - The color of the track.
+/// @property {map} track-hover-color [igx-color: ('primary', 500)] - The color of the track on hover.
+/// @property {map} thumb-color [igx-color: 'surface'] - The color of the thumb.
+/// @property {map} thumb-border-color [igx-color: ('grays', 700)] - The thumb border color.
+/// @property {map} thumb-disabled-border-color [igx-color: ('grays', 400), hexrgba: #fff] - The thumb border color when its disabled
+/// @property {map} disabled-thumb-color [igx-color: 'surface'] - The thumb color when its disabled.
+/// @property {map} base-track-color [igx-color: ('grays', 400)] - The base background color of the track.
+/// @property {map} base-track-hover-color [igx-color: ('primary', 500), rgba: .32] - The base background color of the track on hover.
+$_fluent-slider: extend($_light-slider, (
+ variant: 'fluent',
+
+ track-color: (
+ igx-color: ('grays', 700),
+ hexrgba: #fff
+ ),
+
+ track-hover-color: (
+ igx-color: ('primary', 500)
+ ),
+
+ thumb-color: (
+ igx-color: 'surface'
+ ),
+
+ thumb-border-color: (
+ igx-color: ('grays', 700)
+ ),
+
+ thumb-disabled-border-color: (
+ igx-color: ('grays', 400),
+ hexrgba: #fff
+ ),
+
+ disabled-thumb-color: (
+ igx-color: 'surface'
+ ),
+
+ base-track-color: (
+ igx-color: ('grays', 400)
+ ),
+
+ base-track-hover-color: (
+ igx-color: ('primary', 500),
+ rgba: .32
+ ),
+));
+
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_snackbar.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_snackbar.scss
index e319e8f3c12..44791e6e4a8 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_snackbar.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_snackbar.scss
@@ -34,3 +34,11 @@ $_light-snackbar: extend(
),
)
);
+
+/// Generates a fluent snackbar schema.
+/// @type {Map}
+/// @prop {Number} border-radius [2px] - The border radius fraction, between 0-1 to be used for the snackbar component.
+/// @requires {function} extend
+/// @requires $_light-snackbar
+/// @requires $_fluent-shape-snackbar
+$_fluent-snackbar: extend($_light-snackbar, $_fluent-shape-snackbar);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_switch.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_switch.scss
index fdbee000b02..72b4e565a4d 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_switch.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_switch.scss
@@ -18,20 +18,33 @@
/// @property {map} track-disabled-color [igx-color: ('grays', 300)] - The color of the track when the switch is disabled.
/// @property {map} label-color [gx-color: ('grays', 900)] - The color of the switch label
/// @property {map} label-disabled-color [gx-color: ('grays', 400)] - The color of the switch label when the switch is disabled
-/// @prop {Number} resting-elevation [2] - The elevation level, between 0-24, to be used for the resting state.
-/// @prop {Number} hover-elevation [3] - The elevation level, between 0-24, to be used for the hover state.
-/// @prop {Number} disabled-elevation [1] - The elevation level, between 0-24, to be used for the disabled state.
+/// @property {Number} resting-elevation [2] - The elevation level, between 0-24, to be used for the resting state.
+/// @property {Number} hover-elevation [3] - The elevation level, between 0-24, to be used for the hover state.
+/// @property {Number} disabled-elevation [1] - The elevation level, between 0-24, to be used for the disabled state.
///
-/// @prop {Number} border-radius-track [1] - The border radius fraction, between 0-7 to be used for switch track.
-/// @prop {Number} border-radius-thumb [1] - The border radius fraction, between 0-10 to be used for switch thumb.
-/// @prop {Number} border-radius-ripple [1] - The border radius fraction, between 0-24 to be used for switch ripple.
+/// @property {Number} border-radius-track [1] - The border radius fraction, between 0-7 to be used for switch track.
+/// @property {Number} border-radius-thumb [1] - The border radius fraction, between 0-10 to be used for switch thumb.
+/// @property {Number} border-radius-ripple [1] - The border radius fraction, between 0-24 to be used for switch ripple.
+///
+/// @property {color} border-color [transparent] - The border color of the switch.
+/// @property {color} border-hover-color [transparent] - The border color of the switch on hover.
+/// @property {color} border-disabled-color [transparent] - The border color of the disabled switch.
+/// @property {color} border-on-color [transparent] - The border color of the on-switch.
+/// @property {color} border-on-hover-color [transparent] - The border color of the on-switch.
///
/// @see $default-palette
-
$_light-switch: extend(
$_default-shape-switch,
$_default-elevation-switch,
(
+ variant: 'material',
+
+ border-color: transparent,
+ border-hover-color: transparent,
+ border-disabled-color: transparent,
+ border-on-color: transparent,
+ border-on-hover-color: transparent,
+
thumb-on-color: (
igx-color: ('secondary', 500)
),
@@ -68,3 +81,66 @@ $_light-switch: extend(
),
)
);
+
+/// Generates a fluent switch schema.
+/// @type {Map}
+///
+/// @property {map} border-color [igx-color('grays', 500), hexrgba: #fff] - The border color of the switch.
+/// @property {map} border-hover-color [igx-color('grays', 800), hexrgba: #fff] - The border color of the switch on hover.
+/// @property {map} border-disabled-color [igx-color('grays', 300), hexrgba: #fff] - The border color of the disabled switch.
+/// @property {map} border-on-color [igx-color('primary', 500)] - The border color of the on-switch.
+/// @property {map} border-on-hover-color [igx-color('primary', 500)] - The border color of the on-switch.
+///
+/// @property {color} thumb-on-color [#fff] - The color of the thumb when the switch is on.
+/// @property {map} thumb-off-color [igx-color: ('grays', 900), hexrgba: #fff] - The color of the thumb when the switch is off.
+/// @property {map} track-on-color [igx-color: ('secondary', 500)] - The color of the track when the switch is on.
+/// @property {color} track-off-color [transparent] - The color of the track when the switch is off.
+///
+/// @property {Number} border-radius-track [10px] - The border radius fraction, between 0-7 to be used for switch track.
+///
+/// @requires {function} extend
+/// @requires $_light-switch
+/// @requires $_fluent-shape-switch
+$_fluent-switch: extend(
+ $_light-switch,
+ $_fluent-shape-switch,
+ (
+ variant: 'fluent',
+
+ border-color: (
+ igx-color: ('grays', 500),
+ hexrgba: #fff
+ ),
+
+ border-hover-color:(
+ igx-color: ('grays', 800),
+ hexrgba: #fff
+ ),
+
+ border-disabled-color:(
+ igx-color: ('grays', 300),
+ hexrgba: #fff
+ ),
+
+ border-on-color:(
+ igx-color: ('primary', 500)
+ ),
+
+ border-on-hover-color:(
+ igx-color: ('primary', 500)
+ ),
+
+ thumb-on-color: #fff,
+
+ thumb-off-color: (
+ igx-color: ('grays', 900),
+ hexrgba: #fff
+ ),
+
+ track-on-color: (
+ igx-color: ('secondary', 500),
+ ),
+
+ track-off-color: transparent,
+ )
+);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_tabs.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_tabs.scss
index 0ca0fbb1d6d..9441d609c7e 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_tabs.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_tabs.scss
@@ -28,8 +28,6 @@
/// @property {map} button-ripple-color [igx-color: ('grays', 100)] - The color used for the button background on hover.
///
/// @see $default-palette
-
-
$_light-tabs: extend(
$_default-shape-tabs,
(
@@ -86,3 +84,9 @@ $_light-tabs: extend(
)
)
);
+
+/// Generates a fluent tabs schema.
+/// @type {Map}
+/// @requires {function} extend
+/// @requires $_light-tabs
+$_fluent-tabs: extend($_light-tabs);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_time-picker.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_time-picker.scss
index c7b1e1d9500..5d56d28956b 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_time-picker.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_time-picker.scss
@@ -20,9 +20,10 @@
/// @prop {Map} background-color [igx-color: 'surface'] - The time-picker panel background color.
/// @prop {Number} modal-elevation [24] - The elevation level used for the time picker in modal mode.
/// @prop {Number} dropdown-elevation [8] - The elevation level used for the time picker in dropdown mode.
+/// @prop {Number} border-radius [.2] - The border radius fraction used for the overall shape of the time-picker.
+/// @prop {Number} active-item-border-radius [.75] - The border-radius used for the highlight of the active item in the time-picker.
///
/// @see $default-palette
-
$_light-time-picker: extend(
$_default-shape-time-picker,
$_default-elevation-time-picker,
@@ -64,3 +65,12 @@ $_light-time-picker: extend(
),
)
);
+
+/// Generates a fluent time-picker schema.
+/// @type {Map}
+/// @prop {Number} border-radius [2px] - The border radius fraction used for the overall shape of the time-picker.
+/// @prop {Number} active-item-border-radius [2px] - The border-radius used for the highlight of the active item in the time-picker.
+/// @requires {function} extend
+/// @requires $_light-time-picker
+/// @requires $_fluent-shape-time-picker
+$_fluent-time-picker: extend($_light-time-picker, $_fluent-shape-time-picker);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_toast.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_toast.scss
index 8f7c06879c6..1b397b23681 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_toast.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_toast.scss
@@ -14,7 +14,6 @@
/// @prop {Number} border-radius [.15] - The border radius fraction, between 0-1 to be used for the toast component.
///
/// @see $default-palette
-
$_light-toast: extend(
$_default-shape-toast,
(
@@ -27,3 +26,11 @@ $_light-toast: extend(
)
)
);
+
+/// Generates a fluent toast schema.
+/// @type {Map}
+/// @prop {Number} border-radius [2px] - The border radius fraction, between 0-1 to be used for the toast component.
+/// @requires {function} extend
+/// @requires $_light-toast
+/// @requires $_fluent-shape-toast
+$_fluent-toast: extend($_light-toast, $_fluent-shape-toast);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_tooltip.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_tooltip.scss
index 969a7619e08..a4e1451874b 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_tooltip.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_tooltip.scss
@@ -14,7 +14,6 @@
/// @prop {Number} border-radius [.1] - The border radius fraction, between 0-1 to be used for the tooltip component.
///
/// @see $default-palette
-
$_light-tooltip: extend(
$_default-shape-tooltip,
(
@@ -34,3 +33,20 @@ $_light-tooltip: extend(
roundness: rem(4px)
)
);
+
+/// Generates a light fluent tooltip schema.
+/// @type {Map}
+/// @property {map} background [igx-color: 'surface'] - The background color of the tooltip.
+/// @prop {Number} border-radius [2px] - The border radius fraction, between 0-1 to be used for the tooltip component.
+/// @requires {function} extend
+/// @requires $_light-tooltip
+/// @requires $_fluent-shape-tooltip
+$_fluent-tooltip: extend(
+ $_light-tooltip,
+ $_fluent-shape-tooltip,
+ (
+ background: (
+ igx-color: 'surface'
+ )
+ )
+);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_button-group.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_button-group.scss
index 633a9aaca07..573931b8345 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_button-group.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_button-group.scss
@@ -14,3 +14,8 @@ $_round-shape-button-group: (
$_square-shape-button-group: (
border-radius: 0%,
);
+
+$_fluent-shape-button-group: (
+ border-radius: 2px,
+);
+
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_button.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_button.scss
index ce2c82e4734..65eeb8a4693 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_button.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_button.scss
@@ -26,3 +26,11 @@ $_square-shape-button: (
fab-border-radius: 0%,
icon-border-radius: 0%,
);
+
+$_fluent-shape-button: (
+ flat-border-radius: 0,
+ raised-border-radius: 2px,
+ outlined-border-radius: 2px,
+ fab-border-radius: 1,
+ icon-border-radius: 0,
+);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_calendar.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_calendar.scss
index 53a35da8e06..5e3821b2381 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_calendar.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_calendar.scss
@@ -20,3 +20,9 @@ $_square-shape-calendar: (
date-border-radius: 0%,
month-border-radius: 0%,
);
+
+$_fluent-shape-calendar: (
+ border-radius: 0%,
+ date-border-radius: 0%,
+ month-border-radius: 0%,
+);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_card.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_card.scss
index 4f7df1ead54..cf435b46a15 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_card.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_card.scss
@@ -14,3 +14,7 @@ $_round-shape-card: (
$_square-shape-card: (
border-radius: 0%,
);
+
+$_fluent-shape-card: (
+ border-radius: 2px,
+);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_carousel.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_carousel.scss
index 14e30b83fa5..1df6bb84f03 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_carousel.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_carousel.scss
@@ -14,3 +14,7 @@ $_round-shape-carousel: (
$_square-shape-carousel: (
border-radius: 0%,
);
+
+$_fluent-shape-carousel: (
+ border-radius: 0%
+);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_checkbox.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_checkbox.scss
index e6ce6dfb184..88eb58895d6 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_checkbox.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_checkbox.scss
@@ -17,3 +17,9 @@ $_square-shape-checkbox: (
border-radius: 0%,
border-radius-ripple: 0%
);
+
+$_fluent-shape-checkbox: (
+ border-radius: 2px,
+ border-radius-ripple: 2px
+);
+
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_chip.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_chip.scss
index 72cdccaff40..1dd2d4c737b 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_chip.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_chip.scss
@@ -14,3 +14,7 @@ $_round-shape-chip: (
$_square-shape-chip: (
border-radius: 0%,
);
+
+$_fluent-shape-chip: (
+ border-radius: 1,
+)
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_dialog.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_dialog.scss
index 2faab13ed54..32598ff4d1e 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_dialog.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_dialog.scss
@@ -14,3 +14,7 @@ $_round-shape-dialog: (
$_square-shape-dialog: (
border-radius: 0%,
);
+
+$_fluent-shape-dialog: (
+ border-radius: 2px,
+);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_drop-down.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_drop-down.scss
index c33f3f413fc..e3516daefb4 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_drop-down.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_drop-down.scss
@@ -14,3 +14,7 @@ $_round-shape-drop-down: (
$_square-shape-drop-down: (
border-radius: 0%,
);
+
+$_fluent-shape-drop-down: (
+ border-radius: 2px,
+);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_grid.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_grid.scss
index 1fe00046bd6..e1a044078dd 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_grid.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_grid.scss
@@ -12,3 +12,7 @@ $_round-shape-grid: ();
$_square-shape-grid: (
drop-area-border-radius: 0%
);
+
+$_fluent-shape-grid: (
+ drop-area-border-radius: 2px
+);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_input-group.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_input-group.scss
index b1bc3b11f72..26e8d45ec3f 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_input-group.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_input-group.scss
@@ -20,3 +20,9 @@ $_square-shape-input-group: (
border-border-radius: 0%,
search-border-radius: 0%,
);
+
+$_fluent-shape-input-group: (
+ box-border-radius: 2px,
+ border-border-radius: 2px,
+ search-border-radius: 2px,
+);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_snackbar.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_snackbar.scss
index d8d48023503..bbe9c84f595 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_snackbar.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_snackbar.scss
@@ -14,3 +14,8 @@ $_round-shape-snackbar: (
$_square-shape-snackbar: (
border-radius: 0%,
);
+
+
+$_fluent-shape-snackbar: (
+ border-radius: 2px,
+);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_switch.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_switch.scss
index ebf1add007d..35e2a56d7f4 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_switch.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_switch.scss
@@ -20,3 +20,8 @@ $_square-shape-switch: (
border-radius-thumb: 0%,
border-radius-ripple: 0%
);
+
+$_fluent-shape-switch: (
+ border-radius-track: 10px,
+);
+
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_time-picker.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_time-picker.scss
index d50a42573fa..3081a37b83d 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_time-picker.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_time-picker.scss
@@ -17,3 +17,10 @@ $_square-shape-time-picker: (
border-radius: 0%,
active-item-border-radius: 0%,
);
+
+
+$_fluent-shape-time-picker: (
+ border-radius: 2px,
+ active-item-border-radius: 2px,
+);
+
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_toast.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_toast.scss
index 425be773b8e..33d3e8423c7 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_toast.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_toast.scss
@@ -14,3 +14,7 @@ $_round-shape-toast: (
$_square-shape-toast: (
border-radius: 0%,
);
+
+$_fluent-shape-toast: (
+ border-radius: 2px
+);
diff --git a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_tooltip.scss b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_tooltip.scss
index 11369eb5bc2..4d925bd3304 100644
--- a/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_tooltip.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/themes/schemas/shape/_tooltip.scss
@@ -14,3 +14,7 @@ $_round-shape-tooltip: (
$_square-shape-tooltip: (
border-radius: 0%,
);
+
+$_fluent-shape-tooltip: (
+ border-radius: 2px,
+);
diff --git a/projects/igniteui-angular/src/lib/core/styles/typography/_base.scss b/projects/igniteui-angular/src/lib/core/styles/typography/_base.scss
index 05d4258501a..0f8b14e3270 100644
--- a/projects/igniteui-angular/src/lib/core/styles/typography/_base.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/typography/_base.scss
@@ -21,7 +21,7 @@
$letter-spacing: null,
$text-transform: null,
$margin-top: null,
- $margin-bottom: null,
+ $margin-bottom: null
) {
@return (
font-family: $font-family,
@@ -88,7 +88,7 @@
$line-height: rem(112px),
$text-transform: none,
$margin-top: rem(28px),
- $margin-bottom: rem(56px),
+ $margin-bottom: rem(56px)
),
h2: igx-type-style(
$font-size: rem(60px),
@@ -97,7 +97,7 @@
$line-height: rem(71px),
$text-transform: none,
$margin-top: rem(28px),
- $margin-bottom: rem(28px),
+ $margin-bottom: rem(28px)
),
h3: igx-type-style(
$font-size: rem(48px),
@@ -106,7 +106,7 @@
$line-height: rem(57px),
$text-transform: none,
$margin-top: rem(28px),
- $margin-bottom: 0,
+ $margin-bottom: 0
),
h4: igx-type-style(
$font-size: rem(34px),
@@ -115,7 +115,7 @@
$line-height: rem(40px),
$text-transform: none,
$margin-top: rem(28px),
- $margin-bottom: 0,
+ $margin-bottom: 0
),
h5: igx-type-style(
$font-size: rem(24px),
@@ -124,7 +124,7 @@
$line-height: rem(28px),
$text-transform: none,
$margin-top: rem(28px),
- $margin-bottom: 0,
+ $margin-bottom: 0
),
h6: igx-type-style(
$font-size: rem(20px),
@@ -133,7 +133,7 @@
$line-height: rem(24px),
$text-transform: none,
$margin-top: 0,
- $margin-bottom: 0,
+ $margin-bottom: 0
),
subtitle-1: igx-type-style(
$font-size: rem(16px),
@@ -156,35 +156,35 @@
$line-height: rem(28px),
$text-transform: none,
$margin-top: rem(28px),
- $margin-bottom: rem(16),
+ $margin-bottom: rem(16)
),
body-2: igx-type-style(
$font-size: rem(14px),
$font-weight: 400,
$letter-spacing: rem(.25px),
$line-height: rem(20px),
- $text-transform: none,
+ $text-transform: none
),
button: igx-type-style(
$font-size: rem(14px),
$font-weight: 600,
$letter-spacing: rem(.75px),
$line-height: rem(16px),
- $text-transform: uppercase,
+ $text-transform: uppercase
),
caption: igx-type-style(
$font-size: rem(12px),
$font-weight: 400,
$letter-spacing: rem(.4px),
$line-height: rem(16px),
- $text-transform: none,
+ $text-transform: none
),
overline: igx-type-style(
$font-size: rem(10px),
$font-weight: 400,
$letter-spacing: rem(1.5px),
$line-height: rem(16px),
- $text-transform: uppercase,
+ $text-transform: uppercase
)
);
diff --git a/projects/igniteui-angular/src/lib/core/styles/typography/_index.scss b/projects/igniteui-angular/src/lib/core/styles/typography/_index.scss
index 30801933ab9..24808744372 100644
--- a/projects/igniteui-angular/src/lib/core/styles/typography/_index.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/typography/_index.scss
@@ -1,3 +1,4 @@
@import './base';
@import './variables';
@import './typography';
+@import './scale-presets/index';
diff --git a/projects/igniteui-angular/src/lib/core/styles/typography/_typography.scss b/projects/igniteui-angular/src/lib/core/styles/typography/_typography.scss
index 3050c7165e0..18ccc029746 100644
--- a/projects/igniteui-angular/src/lib/core/styles/typography/_typography.scss
+++ b/projects/igniteui-angular/src/lib/core/styles/typography/_typography.scss
@@ -53,10 +53,13 @@
body-1: 'p'
);
+ $this: bem--selector-to-string(&);
+ $scope: if(is-root(), 'igx-typography', #{str-slice($this, 2, -1)});
+
// Use the BEM notation to create a link
// between the igx-typography class selector
// and all typographic elements.
- @include b(igx-typography) {
+ @include b($scope) {
font-family: unquote($font-family);
font-size: $browser-context;
line-height: $browser-line-height;
@@ -91,30 +94,30 @@
@extend %#{$category};
}
}
- }
- // Call the individual component styles with the type scale
- @include igx-bottom-nav-typography($type-scale);
- @include igx-button-typography($type-scale);
- @include igx-banner-typography($type-scale);
- @include igx-calendar-typography($type-scale);
- @include igx-card-typography($type-scale);
- @include igx-checkbox-typography($type-scale);
- @include igx-chip-typography($type-scale);
- @include igx-column-hiding-typography($type-scale);
- @include igx-dialog-typography($type-scale);
- @include igx-drop-down-typography($type-scale);
- @include igx-expansion-panel-typography($type-scale);
- @include _excel-filtering-typography($type-scale);
- @include igx-input-group-typography($type-scale);
- @include igx-navbar-typography($type-scale);
- @include igx-navdrawer-typography($type-scale);
- @include igx-list-typography($type-scale);
- @include igx-radio-typography($type-scale);
- @include igx-snackbar-typography($type-scale);
- @include igx-switch-typography($type-scale);
- @include igx-tabs-typography($type-scale);
- @include igx-time-picker-typography($type-scale);
- @include igx-toast-typography($type-scale);
- @include igx-tooltip-typography($type-scale);
+ // Call the individual component styles with the type scale
+ @include igx-button-typography($type-scale);
+ @include igx-bottom-nav-typography($type-scale);
+ @include igx-banner-typography($type-scale);
+ @include igx-calendar-typography($type-scale);
+ @include igx-card-typography($type-scale);
+ @include igx-checkbox-typography($type-scale);
+ @include igx-chip-typography($type-scale);
+ @include igx-column-hiding-typography($type-scale);
+ @include igx-dialog-typography($type-scale);
+ @include igx-drop-down-typography($type-scale);
+ @include igx-expansion-panel-typography($type-scale);
+ @include _excel-filtering-typography($type-scale);
+ @include igx-input-group-typography($type-scale);
+ @include igx-navbar-typography($type-scale);
+ @include igx-navdrawer-typography($type-scale);
+ @include igx-list-typography($type-scale);
+ @include igx-radio-typography($type-scale);
+ @include igx-snackbar-typography($type-scale);
+ @include igx-switch-typography($type-scale);
+ @include igx-tabs-typography($type-scale);
+ @include igx-time-picker-typography($type-scale);
+ @include igx-toast-typography($type-scale);
+ @include igx-tooltip-typography($type-scale);
+ }
}
diff --git a/projects/igniteui-angular/src/lib/core/styles/typography/scale-presets/_fluent.scss b/projects/igniteui-angular/src/lib/core/styles/typography/scale-presets/_fluent.scss
new file mode 100644
index 00000000000..256148091a4
--- /dev/null
+++ b/projects/igniteui-angular/src/lib/core/styles/typography/scale-presets/_fluent.scss
@@ -0,0 +1,112 @@
+$fluent_h1: igx-type-style(
+ $font-size: rem(68px),
+ $font-weight: 700,
+ $line-height: rem(76px),
+ $text-transform: none,
+ $margin-top: 0,
+ $margin-bottom: 0
+);
+
+$fluent_h2: igx-type-style(
+ $font-size: rem(42px),
+ $font-weight: 700,
+ $line-height: rem(52px),
+ $text-transform: none,
+ $margin-top: 0,
+ $margin-bottom: 0
+);
+
+$fluent_h3: igx-type-style(
+ $font-size: rem(32px),
+ $font-weight: 600,
+ $line-height: rem(40px),
+ $text-transform: none,
+ $margin-top: 0,
+ $margin-bottom: 0
+);
+
+$fluent_h4: igx-type-style(
+ $font-size: rem(28px),
+ $font-weight: 400,
+ $line-height: rem(36px),
+ $text-transform: none,
+ $margin-top: 0,
+ $margin-bottom: 0
+);
+
+$fluent_h5: igx-type-style(
+ $font-size: rem(20px),
+ $font-weight: 400,
+ $line-height: rem(28px),
+ $text-transform: none,
+ $margin-top: 0,
+ $margin-bottom: 0
+);
+
+$fluent_h6: igx-type-style(
+ $font-size: rem(18px),
+ $font-weight: 400,
+ $line-height: rem(22px),
+ $text-transform: none,
+ $margin-top: 0,
+ $margin-bottom: 0
+);
+
+$fluent_body-1: igx-type-style(
+ $font-size: rem(16px),
+ $font-weight: 400,
+ $line-height: rem(22px),
+ $text-transform: none,
+ $margin-top: 0,
+ $margin-bottom: 0
+);
+
+$fluent_body-2: igx-type-style(
+ $font-size: rem(14px),
+ $font-weight: 400,
+ $line-height: rem(20px),
+ $text-transform: none,
+ $margin-top: 0,
+ $margin-bottom: 0
+);
+
+$fluent_subtitle-1: igx-type-style(
+ $font-size: rem(12px),
+ $font-weight: 400,
+ $line-height: rem(16px),
+ $text-transform: none,
+ $margin-top: 0,
+ $margin-bottom: 0
+);
+
+$fluent_subtitle-2: igx-type-style(
+ $font-size: rem(10px),
+ $font-weight: 400,
+ $line-height: rem(14px),
+ $text-transform: none,
+ $margin-top: 0,
+ $margin-bottom: 0
+);
+
+$fluent_button: igx-type-style(
+ $font-size: rem(14px),
+ $font-weight: 600,
+ $line-height: rem(14px),
+ $text-transform: capitalize,
+ $margin-top: 0,
+ $margin-bottom: 0
+);
+
+$fluent-type-scale: igx-type-scale(
+ $h1: $fluent_h1,
+ $h2: $fluent_h2,
+ $h3: $fluent_h3,
+ $h4: $fluent_h4,
+ $h5: $fluent_h5,
+ $h6: $fluent_h6,
+ $subtitle-1: $fluent_subtitle-1,
+ $subtitle-2: $fluent_subtitle-2,
+ $body-1: $fluent_body-1,
+ $body-2: $fluent_body-2,
+ $button: $fluent_button
+);
diff --git a/projects/igniteui-angular/src/lib/core/styles/typography/scale-presets/_index.scss b/projects/igniteui-angular/src/lib/core/styles/typography/scale-presets/_index.scss
new file mode 100644
index 00000000000..9e98ea819c5
--- /dev/null
+++ b/projects/igniteui-angular/src/lib/core/styles/typography/scale-presets/_index.scss
@@ -0,0 +1 @@
+@import './fluent';
diff --git a/projects/igniteui-angular/src/lib/input-group/input-group.component.html b/projects/igniteui-angular/src/lib/input-group/input-group.component.html
index aa2b750b67b..ed69e014baa 100644
--- a/projects/igniteui-angular/src/lib/input-group/input-group.component.html
+++ b/projects/igniteui-angular/src/lib/input-group/input-group.component.html
@@ -1,14 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
-
\ No newline at end of file
+
diff --git a/src/index.html b/src/index.html
index 91a926bdd06..f9d6b4e7678 100644
--- a/src/index.html
+++ b/src/index.html
@@ -8,7 +8,7 @@
-
+
diff --git a/src/styles/igniteui-theme.scss b/src/styles/igniteui-theme.scss
index dc6a2ea678d..eb1227b4153 100644
--- a/src/styles/igniteui-theme.scss
+++ b/src/styles/igniteui-theme.scss
@@ -1,7 +1,6 @@
@import url('https://fonts.googleapis.com/icon?family=Material+Icons');
@import url('https://fonts.googleapis.com/css?family=Titillium+Web:300,400,600,700');
@import '../../projects/igniteui-angular/src/lib/core/styles/themes/index';
-
@import 'mixins';
@import 'app-palettes';
@import 'app-layout';
@@ -24,22 +23,37 @@
}
}
-.light-square-theme {
- $igx-background-color: #fff;
+.dark-theme {
+ $igx-background-color: #333;
$igx-foreground-color: text-contrast($igx-background-color);
+
+ background: $igx-background-color;
+ color: $igx-foreground-color;
+
+ @include scrollbar-love(lighten($igx-background-color, 15%));
+ @include igx-dark-theme($green-palette);
+
+ .nav-header {
+ @include nav-logo('../assets/images/rsrcs/igniteui-logo-dark-bg', $igx-background-color);
+ }
+}
+.fluent-excel-theme {
+ $igx-background-color: #fff;
+ $igx-foreground-color: text-contrast($igx-background-color);
+
background: $igx-background-color;
color: $igx-foreground-color;
@include scrollbar-love();
- @include igx-light-square-theme($purple-palette);
+ @include igx-fluent-theme($fluent-excel-palette);
.nav-header {
- @include nav-logo('../assets/images/rsrcs/igniteui-logo-light-bg', $igx-background-color);
+ @include nav-logo('../assets/images/rsrcs/igniteui-logo-light-bg', $igx-foreground-color);
}
}
-.light-round-theme {
+.fluent-word-theme {
$igx-background-color: #fff;
$igx-foreground-color: text-contrast($igx-background-color);
@@ -47,25 +61,53 @@
color: $igx-foreground-color;
@include scrollbar-love();
- @include igx-theme($palette: $purple-palette, $schema: $light-round-schema);
+ @include igx-fluent-theme($fluent-word-palette);
+
+ .nav-header {
+ @include nav-logo('../assets/images/rsrcs/igniteui-logo-light-bg', $igx-foreground-color);
+ }
}
-.dark-theme {
+.fluent-excel-dark-theme {
$igx-background-color: #333;
$igx-foreground-color: text-contrast($igx-background-color);
-
+
background: $igx-background-color;
color: $igx-foreground-color;
-
+
@include scrollbar-love(lighten($igx-background-color, 15%));
- @include igx-dark-theme($green-palette);
-
+ @include igx-fluent-dark-theme($fluent-excel-palette);
+
.nav-header {
- @include nav-logo('../assets/images/rsrcs/igniteui-logo-dark-bg', $igx-background-color);
+ @include nav-logo('../assets/images/rsrcs/igniteui-logo-light-bg', $igx-foreground-color);
}
}
+.light-square-theme {
+ $igx-background-color: #fff;
+ $igx-foreground-color: text-contrast($igx-background-color);
+
+ background: $igx-background-color;
+ color: $igx-foreground-color;
+
+ @include scrollbar-love();
+ @include igx-light-square-theme($purple-palette);
+
+ .nav-header {
+ @include nav-logo('../assets/images/rsrcs/igniteui-logo-light-bg', $igx-background-color);
+ }
+}
+.light-round-theme {
+ $igx-background-color: #fff;
+ $igx-foreground-color: text-contrast($igx-background-color);
+
+ background: $igx-background-color;
+ color: $igx-foreground-color;
+
+ @include scrollbar-love();
+ @include igx-theme($palette: $purple-palette, $schema: $light-round-schema);
+}
@media print {
html,