igniteui-angular 20.0.7 → 20.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. package/fesm2022/igniteui-angular.mjs +143 -52
  2. package/fesm2022/igniteui-angular.mjs.map +1 -1
  3. package/index.d.ts +41 -5
  4. package/lib/core/styles/base/_index.scss +1 -0
  5. package/lib/core/styles/components/_index.scss +1 -0
  6. package/lib/core/styles/components/avatar/_avatar-theme.scss +0 -58
  7. package/lib/core/styles/components/badge/_badge-theme.scss +0 -72
  8. package/lib/core/styles/components/banner/_banner-theme.scss +0 -62
  9. package/lib/core/styles/components/bottom-nav/_bottom-nav-theme.scss +0 -100
  10. package/lib/core/styles/components/button/_button-theme.scss +0 -234
  11. package/lib/core/styles/components/button-group/_button-group-theme.scss +0 -293
  12. package/lib/core/styles/components/calendar/_calendar-theme.scss +0 -1075
  13. package/lib/core/styles/components/card/_card-theme.scss +0 -92
  14. package/lib/core/styles/components/carousel/_carousel-theme.scss +0 -218
  15. package/lib/core/styles/components/checkbox/_checkbox-theme.scss +0 -150
  16. package/lib/core/styles/components/chip/_chip-theme.scss +1 -265
  17. package/lib/core/styles/components/column-actions/_column-actions-theme.scss +0 -48
  18. package/lib/core/styles/components/combo/_combo-theme.scss +9 -125
  19. package/lib/core/styles/components/date-picker/_date-picker-theme.scss +4 -0
  20. package/lib/core/styles/components/date-range-picker/_date-range-picker-theme.scss +0 -30
  21. package/lib/core/styles/components/dialog/_dialog-theme.scss +0 -75
  22. package/lib/core/styles/components/divider/_divider-theme.scss +0 -39
  23. package/lib/core/styles/components/dock-manager/_dock-manager-theme.scss +0 -68
  24. package/lib/core/styles/components/drop-down/_drop-down-theme.scss +0 -211
  25. package/lib/core/styles/components/expansion-panel/_expansion-panel-theme.scss +0 -96
  26. package/lib/core/styles/components/grid/_excel-filtering-theme.scss +0 -1
  27. package/lib/core/styles/components/grid/_grid-theme.scss +44 -600
  28. package/lib/core/styles/components/grid-summary/_grid-summary-theme.scss +0 -84
  29. package/lib/core/styles/components/grid-toolbar/_grid-toolbar-theme.scss +0 -92
  30. package/lib/core/styles/components/highlight/highlight-theme.scss +0 -55
  31. package/lib/core/styles/components/icon/_icon-theme.scss +0 -43
  32. package/lib/core/styles/components/icon-button/_icon-button-theme.scss +0 -112
  33. package/lib/core/styles/components/input/_file-input-component.scss +72 -0
  34. package/lib/core/styles/components/input/_file-input-theme.scss +203 -0
  35. package/lib/core/styles/components/input/_input-group-component.scss +110 -126
  36. package/lib/core/styles/components/input/_input-group-theme.scss +409 -648
  37. package/lib/core/styles/components/label/_label-theme.scss +2 -35
  38. package/lib/core/styles/components/list/_list-theme.scss +0 -264
  39. package/lib/core/styles/components/navbar/_navbar-theme.scss +0 -89
  40. package/lib/core/styles/components/navdrawer/_navdrawer-theme.scss +0 -141
  41. package/lib/core/styles/components/overlay/_overlay-theme.scss +0 -38
  42. package/lib/core/styles/components/paginator/_paginator-theme.scss +0 -50
  43. package/lib/core/styles/components/progress/circular/_circular-theme.scss +0 -73
  44. package/lib/core/styles/components/progress/linear/_linear-theme.scss +0 -68
  45. package/lib/core/styles/components/query-builder/_query-builder-theme.scss +0 -101
  46. package/lib/core/styles/components/radio/_radio-theme.scss +0 -136
  47. package/lib/core/styles/components/rating/_rating-theme.scss +0 -43
  48. package/lib/core/styles/components/ripple/_ripple-theme.scss +0 -39
  49. package/lib/core/styles/components/scrollbar/scrollbar-theme.scss +0 -82
  50. package/lib/core/styles/components/select/_select-theme.scss +0 -93
  51. package/lib/core/styles/components/slider/_slider-theme.scss +0 -187
  52. package/lib/core/styles/components/snackbar/_snackbar-theme.scss +0 -64
  53. package/lib/core/styles/components/splitter/_splitter-theme.scss +0 -71
  54. package/lib/core/styles/components/stepper/_stepper-theme.scss +0 -492
  55. package/lib/core/styles/components/switch/_switch-theme.scss +0 -264
  56. package/lib/core/styles/components/tabs/_tabs-theme.scss +2 -261
  57. package/lib/core/styles/components/time-picker/_time-picker-theme.scss +0 -156
  58. package/lib/core/styles/components/toast/_toast-theme.scss +0 -69
  59. package/lib/core/styles/components/tooltip/_tooltip-theme.scss +0 -62
  60. package/lib/core/styles/components/tree/_tree-theme.scss +0 -128
  61. package/lib/core/styles/components/watermark/_watermark-theme.scss +0 -60
  62. package/lib/core/styles/themes/_core.scss +2 -0
  63. package/lib/core/styles/themes/_index.scss +1 -0
  64. package/lib/core/styles/themes/generators/_base.scss +11 -0
  65. package/lib/core/styles/typography/_bootstrap.scss +4 -0
  66. package/lib/core/styles/typography/_fluent.scss +5 -0
  67. package/lib/core/styles/typography/_indigo.scss +6 -0
  68. package/lib/core/styles/typography/_material.scss +2 -0
  69. package/package.json +2 -2
  70. package/styles/igniteui-angular-dark.css +1 -1
  71. package/styles/igniteui-angular.css +1 -1
  72. package/styles/igniteui-bootstrap-dark.css +1 -1
  73. package/styles/igniteui-bootstrap-light.css +1 -1
  74. package/styles/igniteui-dark-green.css +1 -1
  75. package/styles/igniteui-fluent-dark-excel.css +1 -1
  76. package/styles/igniteui-fluent-dark-word.css +1 -1
  77. package/styles/igniteui-fluent-dark.css +1 -1
  78. package/styles/igniteui-fluent-light-excel.css +1 -1
  79. package/styles/igniteui-fluent-light-word.css +1 -1
  80. package/styles/igniteui-fluent-light.css +1 -1
  81. package/styles/igniteui-indigo-dark.css +1 -1
  82. package/styles/igniteui-indigo-light.css +1 -1
  83. package/styles/maps/igniteui-angular-dark.css.map +1 -1
  84. package/styles/maps/igniteui-angular.css.map +1 -1
  85. package/styles/maps/igniteui-bootstrap-dark.css.map +1 -1
  86. package/styles/maps/igniteui-bootstrap-light.css.map +1 -1
  87. package/styles/maps/igniteui-dark-green.css.map +1 -1
  88. package/styles/maps/igniteui-fluent-dark-excel.css.map +1 -1
  89. package/styles/maps/igniteui-fluent-dark-word.css.map +1 -1
  90. package/styles/maps/igniteui-fluent-dark.css.map +1 -1
  91. package/styles/maps/igniteui-fluent-light-excel.css.map +1 -1
  92. package/styles/maps/igniteui-fluent-light-word.css.map +1 -1
  93. package/styles/maps/igniteui-fluent-light.css.map +1 -1
  94. package/styles/maps/igniteui-indigo-dark.css.map +1 -1
  95. package/styles/maps/igniteui-indigo-light.css.map +1 -1
  96. package/lib/core/styles/components/button/_contained-button-theme.scss +0 -302
  97. package/lib/core/styles/components/button/_fab-button-theme.scss +0 -296
  98. package/lib/core/styles/components/button/_flat-button-theme.scss +0 -356
  99. package/lib/core/styles/components/button/_outlined-button-theme.scss +0 -419
  100. package/lib/core/styles/components/icon-button/_contained-icon-button-theme.scss +0 -196
  101. package/lib/core/styles/components/icon-button/_flat-icon-button-theme.scss +0 -188
  102. package/lib/core/styles/components/icon-button/_outlined-icon-button-theme.scss +0 -232
package/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, AfterViewInit, AfterViewChecked, OnDestroy, OnChanges, ElementRef, Renderer2, SimpleChanges, EventEmitter, TemplateRef, ApplicationRef, NgZone, Type, ViewContainerRef, OnInit, ChangeDetectorRef, ComponentRef, Injector, DoCheck, IterableDiffers, EmbeddedViewRef, IterableDiffer, TrackByFunction, IterableChanges, QueryList, AfterContentInit, PipeTransform, DestroyRef, AfterContentChecked, EnvironmentInjector, SimpleChange } from '@angular/core';
2
+ import { InjectionToken, AfterViewInit, AfterViewChecked, OnDestroy, OnChanges, ElementRef, Renderer2, SimpleChanges, EventEmitter, TemplateRef, ApplicationRef, NgZone, Type, ViewContainerRef, OnInit, ChangeDetectorRef, ComponentRef, Injector, DoCheck, IterableDiffers, EmbeddedViewRef, IterableDiffer, TrackByFunction, IterableChanges, QueryList, AfterContentChecked, AfterContentInit, PipeTransform, DestroyRef, EnvironmentInjector, SimpleChange } from '@angular/core';
3
3
  import * as _angular_forms from '@angular/forms';
4
4
  import { FormGroup, ValidationErrors, FormControl, NgModel, NgControl, FormControlName, ControlValueAccessor, Validator, AbstractControl, FormGroupDirective, RequiredValidator, MinValidator, MaxValidator, EmailValidator, MinLengthValidator, MaxLengthValidator, PatternValidator } from '@angular/forms';
5
5
  import * as _angular_animations from '@angular/animations';
@@ -4881,8 +4881,11 @@ declare class IgxGridValidationService {
4881
4881
  /**
4882
4882
  * @hidden
4883
4883
  * @internal
4884
+ Wraps the provided path into an array. This way FormGroup.get will return proper result.
4885
+ Otherwise, if the path is a string (e.g. 'address.street'), FormGroup.get will treat it as there is a nested structure
4886
+ and will look for control with a name of 'address' which returns undefined.
4884
4887
  */
4885
- private getFieldKey;
4888
+ private getFormControlPath;
4886
4889
  /**
4887
4890
  * @hidden
4888
4891
  * @internal
@@ -4898,6 +4901,14 @@ declare class IgxGridValidationService {
4898
4901
  * @internal
4899
4902
  */
4900
4903
  add(rowId: any, form: FormGroup): void;
4904
+ /**
4905
+ * Checks the validity of the native ngControl
4906
+ */
4907
+ isFieldInvalid(formGroup: FormGroup, fieldName: string): boolean;
4908
+ /**
4909
+ * Checks the validity of the native ngControl after edit
4910
+ */
4911
+ isFieldValidAfterEdit(formGroup: FormGroup, fieldName: string): boolean;
4901
4912
  /**
4902
4913
  * @hidden
4903
4914
  * @internal
@@ -7799,6 +7810,7 @@ declare const DropDownActionKey: {
7799
7810
  readonly ESCAPE: "escape";
7800
7811
  readonly ENTER: "enter";
7801
7812
  readonly SPACE: "space";
7813
+ readonly TAB: "tab";
7802
7814
  };
7803
7815
  type DropDownActionKey = (typeof DropDownActionKey)[keyof typeof DropDownActionKey];
7804
7816
  /**
@@ -8718,7 +8730,7 @@ declare const IGX_INPUT_GROUP_TYPE: InjectionToken<IgxInputGroupType>;
8718
8730
  */
8719
8731
  type IgxInputGroupType = (typeof IgxInputGroupEnum)[keyof typeof IgxInputGroupEnum];
8720
8732
 
8721
- declare class IgxInputGroupComponent implements IgxInputGroupBase {
8733
+ declare class IgxInputGroupComponent implements IgxInputGroupBase, AfterContentChecked {
8722
8734
  element: ElementRef<HTMLElement>;
8723
8735
  private _inputGroupType;
8724
8736
  private document;
@@ -8895,12 +8907,18 @@ declare class IgxInputGroupComponent implements IgxInputGroupBase {
8895
8907
  */
8896
8908
  get isTypeBox(): boolean;
8897
8909
  /** @hidden @internal */
8898
- uploadButtonHandler(): void;
8899
- /** @hidden @internal */
8900
8910
  clearValueHandler(): void;
8901
8911
  /** @hidden @internal */
8902
8912
  get isFileType(): boolean;
8903
8913
  /** @hidden @internal */
8914
+ get isFileInput(): boolean;
8915
+ /** @hidden @internal */
8916
+ get isFileInputFilled(): any;
8917
+ /** @hidden @internal */
8918
+ get isFileInputFocused(): boolean;
8919
+ /** @hidden @internal */
8920
+ get isFileInputDisabled(): boolean;
8921
+ /** @hidden @internal */
8904
8922
  get fileNames(): string;
8905
8923
  /**
8906
8924
  * Returns whether the `IgxInputGroupComponent` type is border.
@@ -19075,6 +19093,8 @@ interface IComboResourceStrings {
19075
19093
  igx_combo_filter_search_placeholder?: string;
19076
19094
  igx_combo_addCustomValues_placeholder?: string;
19077
19095
  igx_combo_clearItems_placeholder?: string;
19096
+ igx_combo_aria_label_options?: string;
19097
+ igx_combo_aria_label_no_options?: string;
19078
19098
  }
19079
19099
  declare const ComboResourceStringsEN: IComboResourceStrings;
19080
19100
 
@@ -19836,6 +19856,10 @@ declare abstract class IgxComboBaseDirective implements IgxComboBase, AfterViewC
19836
19856
  /** @hidden @internal */
19837
19857
  handleKeyDown(event: KeyboardEvent): void;
19838
19858
  /** @hidden @internal */
19859
+ handleToggleKeyDown(eventArgs: KeyboardEvent): void;
19860
+ /** @hidden @internal */
19861
+ getAriaLabel(): string;
19862
+ /** @hidden @internal */
19839
19863
  registerOnChange(fn: any): void;
19840
19864
  /** @hidden @internal */
19841
19865
  registerOnTouched(fn: any): void;
@@ -20178,10 +20202,18 @@ declare class IgxComboComponent extends IgxComboBaseDirective implements AfterVi
20178
20202
  * @hidden @internal
20179
20203
  */
20180
20204
  get context(): any;
20205
+ /**
20206
+ * @hidden @internal
20207
+ */
20208
+ clearInput(event: Event): void;
20181
20209
  /**
20182
20210
  * @hidden @internal
20183
20211
  */
20184
20212
  handleClearItems(event: Event): void;
20213
+ /**
20214
+ * @hidden @internal
20215
+ */
20216
+ handleClearKeyDown(eventArgs: KeyboardEvent): void;
20185
20217
  /**
20186
20218
  * Select defined items
20187
20219
  *
@@ -20557,8 +20589,12 @@ declare class IgxSimpleComboComponent extends IgxComboBaseDirective implements C
20557
20589
  /** @hidden @internal */
20558
20590
  getEditElement(): HTMLElement;
20559
20591
  /** @hidden @internal */
20592
+ clearInput(event: Event): void;
20593
+ /** @hidden @internal */
20560
20594
  handleClear(event: Event): void;
20561
20595
  /** @hidden @internal */
20596
+ handleClearKeyDown(event: KeyboardEvent): void;
20597
+ /** @hidden @internal */
20562
20598
  handleOpened(): void;
20563
20599
  /** @hidden @internal */
20564
20600
  handleClosing(e: IBaseCancelableBrowserEventArgs): void;
@@ -5,5 +5,6 @@
5
5
  @forward 'igniteui-theming/sass/color';
6
6
  @forward 'igniteui-theming/sass/elevations';
7
7
  @forward 'igniteui-theming/sass/themes';
8
+ @forward 'igniteui-theming/sass/themes/components';
8
9
  @forward 'igniteui-theming/sass/typography' hide typography;
9
10
  @forward 'igniteui-theming/sass/utils';
@@ -52,3 +52,4 @@
52
52
  @forward 'tooltip/tooltip-theme';
53
53
  @forward 'tree/tree-theme';
54
54
  @forward 'watermark/watermark-theme';
55
+ @forward 'input/file-input-theme';
@@ -1,65 +1,7 @@
1
1
  @use 'sass:map';
2
2
  @use '../../base' as *;
3
- @use '../../themes/schemas' as *;
4
3
  @use 'igniteui-theming/sass/animations/easings' as *;
5
4
 
6
- ////
7
- /// @group themes
8
- /// @access public
9
- /// @author <a href="https://github.com/simeonoff" target="_blank">Simeon Simeonoff</a>
10
- /// @author <a href="https://github.com/desig9stein" target="_blank">Marin Popov</a>
11
- ////
12
-
13
- /// If only background color is specified, text/icon color will be assigned automatically to a contrasting color.
14
- /// @param {Map} $schema [$light-material-schema] - The schema used as basis for styling the component.
15
- /// @param {Color} $color [null] - The text color used of the avatar.
16
- /// @param {Color} $icon-color [null] - The icon color used of the avatar.
17
- /// @param {Color} $background [null] - The background color used of the avatar.
18
- /// @param {Number} $border-radius [null] - The border-radius used of the avatar.
19
- /// @param {Number} $size [null] - The size of the avatar.
20
- /// @requires $light-material-schema
21
- ///
22
- /// @example scss Change the background and icon colors in icon avatars
23
- /// $my-avatar-theme: avatar-theme($icon-background: black, $icon-color: white);
24
- /// // Pass the theme to the css-vars() mixin
25
- /// @include css-vars($my-avatar-theme);
26
- @function avatar-theme(
27
- $schema: $light-material-schema,
28
- $background: null,
29
- $color: null,
30
- $icon-color: null,
31
- $border-radius: null,
32
- $size: null,
33
- ) {
34
- $name: 'igx-avatar';
35
- $avatar-schema: ();
36
-
37
- @if map.has-key($schema, 'avatar') {
38
- $avatar-schema: map.get($schema, 'avatar');
39
- } @else {
40
- $avatar-schema: $schema;
41
- }
42
-
43
- $theme: digest-schema($avatar-schema);
44
-
45
- @if not($color) and $background {
46
- $color: adaptive-contrast(var(--background));
47
- }
48
-
49
- @if not($icon-color) and $background {
50
- $icon-color: adaptive-contrast(var(--background));
51
- }
52
-
53
- @return extend($theme, (
54
- name: $name,
55
- background: $background,
56
- color: $color,
57
- icon-color: $icon-color,
58
- border-radius: $border-radius,
59
- size: $size,
60
- ));
61
- }
62
-
63
5
  /// @deprecated Use the `css-vars` mixin instead.
64
6
  /// @see {mixin} css-vars
65
7
  /// @param {Map} $theme - The theme used to style the component.
@@ -1,78 +1,6 @@
1
1
  @use '../../base' as *;
2
- @use '../../themes/schemas' as *;
3
2
  @use 'sass:map';
4
3
 
5
- ////
6
- /// @group themes
7
- /// @access public
8
- /// @author <a href="https://github.com/simeonoff" target="_blank">Simeon Simeonoff</a>
9
- /// @author <a href="https://github.com/desig9stein" target="_blank">Marin Popov</a>
10
- ////
11
-
12
- /// If only background color is specified, text/icon color
13
- /// will be assigned automatically to a contrasting color.
14
- ///
15
- /// @param {Map} $schema [$light-material-schema] - The schema used as basis for styling the component.
16
- /// @param {Color} $icon-color [null] - The icon color used.
17
- /// @param {Color} $text-color [null] - The text color used.
18
- /// @param {Color} $border-color [null] - The border color used.
19
- /// @param {Color} $background-color [null] - The background color used.
20
- /// @param {box-shadow} $shadow [null] - Sets a shadow to be used for the badge.
21
- /// @param {Number} $border-radius [null] - The border radius used for badge component.
22
- ///
23
- /// @requires $light-material-schema
24
- ///
25
- /// @example scss Change the text and icon colors in a badge
26
- /// $my-badge-theme: badge-theme($icon-color: black, $background-color: white);
27
- /// // Pass the theme to the css-vars() mixin
28
- /// @include css-vars($my-badge-theme);
29
- @function badge-theme(
30
- $schema: $light-material-schema,
31
-
32
- $icon-color: null,
33
- $text-color: null,
34
-
35
- $border-color: null,
36
- $border-radius: null,
37
-
38
- $background-color: null,
39
- $shadow: null,
40
- ) {
41
- $name: 'igx-badge';
42
- $badge-schema: ();
43
-
44
- @if map.has-key($schema, 'badge') {
45
- $badge-schema: map.get($schema, 'badge');
46
- } @else {
47
- $badge-schema: $schema;
48
- }
49
-
50
- $theme: digest-schema($badge-schema);
51
-
52
- @if not($icon-color) and $background-color {
53
- $icon-color: adaptive-contrast(var(--background-color));
54
- }
55
-
56
- @if not($text-color) and $background-color {
57
- $text-color: adaptive-contrast(var(--background-color));
58
- }
59
-
60
- @if not($shadow) {
61
- $elevation: map.get($badge-schema, 'elevation');
62
- $shadow: elevation($elevation);
63
- }
64
-
65
- @return extend($theme, (
66
- name: $name,
67
- icon-color: $icon-color,
68
- text-color: $text-color,
69
- border-color: $border-color,
70
- border-radius: $border-radius,
71
- background-color: $background-color,
72
- shadow: $shadow,
73
- ));
74
- }
75
-
76
4
  /// @deprecated Use the `css-vars` mixin instead.
77
5
  /// @see {mixin} css-vars
78
6
  /// @param {Map} $theme - The theme used to style the component.
@@ -1,67 +1,5 @@
1
1
  @use 'sass:map';
2
2
  @use '../../base' as *;
3
- @use '../../themes/schemas' as *;
4
-
5
- ////
6
- /// @group themes
7
- /// @access public
8
- /// @author <a href="https://github.com/desig9stein" target="_blank">Marin Popov</a>
9
- ////
10
-
11
- /// If only background color is specified, text/icon color
12
- /// will be assigned automatically to a contrasting color.
13
- /// @param {Map} $schema [$light-material-schema] - The schema used as basis for styling the component.
14
- ///
15
- /// @param {Color} $banner-background [null] - The color used for the banner background.
16
- /// @param {Color} $banner-message-color [null] - The color used for the banner label.
17
- /// @param {Color} $banner-border-color [null] - The color used for the banner border.
18
- /// @param {Color} $banner-illustration-color [null] - The color used for the banner illustration.
19
- /// @param {Number} $border-radius [null] - The border-radius for the banner.
20
- ///
21
- /// @requires $light-material-schema
22
- ///
23
- /// @example scss Change the background in banner
24
- /// $my-banner-theme: banner-theme($banner-background: #000);
25
- /// // Pass the theme to the css-vars() mixin
26
- /// @include css-vars($my-banner-theme);
27
- @function banner-theme(
28
- $schema: $light-material-schema,
29
- $banner-background: null,
30
- $banner-message-color: null,
31
- $banner-border-color: null,
32
- $banner-illustration-color: null,
33
- $border-radius: null,
34
- ) {
35
- $name: 'igx-banner';
36
- $selector: 'igx-banner, .igx-banner';
37
- $banner-schema: ();
38
-
39
- @if map.has-key($schema, 'banner') {
40
- $banner-schema: map.get($schema, 'banner');
41
- } @else {
42
- $banner-schema: $schema;
43
- }
44
-
45
- $theme: digest-schema($banner-schema);
46
-
47
- @if not($banner-message-color) and $banner-background {
48
- $banner-message-color: adaptive-contrast(var(--banner-background));
49
- }
50
-
51
- @if not($banner-illustration-color) and $banner-background {
52
- $banner-illustration-color: adaptive-contrast(var(--banner-background));
53
- }
54
-
55
- @return extend($theme, (
56
- name: $name,
57
- selector: $selector,
58
- banner-background: $banner-background,
59
- banner-message-color: $banner-message-color,
60
- banner-border-color: $banner-border-color,
61
- banner-illustration-color: $banner-illustration-color,
62
- border-radius: $border-radius,
63
- ));
64
- }
65
3
 
66
4
  /// @deprecated Use the `css-vars` mixin instead.
67
5
  /// @see {mixin} css-vars
@@ -1,107 +1,7 @@
1
1
  @use 'sass:map';
2
- @use 'sass:meta';
3
2
  @use '../../base' as *;
4
- @use '../../themes/schemas' as *;
5
3
  @use 'igniteui-theming/sass/animations/easings' as *;
6
4
 
7
- ////
8
- /// @group themes
9
- /// @access public
10
- /// @author <a href="https://github.com/simeonoff" target="_blank">Simeon Simeonoff</a>
11
- /// @author <a href="https://github.com/desig9stein" target="_blank">Marin Popov</a>
12
- ////
13
-
14
- /// If only background color is specified,
15
- /// the label and icon colors will be assigned automatically to a contrasting color.
16
- /// @param {Map} $schema [$light-material-schema] - The schema used as basis for styling the component.
17
- /// @param {Color} $background [null] - The background color used for the toast.
18
- /// @param {Color} $label-color [null] - The label color used in idle state.
19
- /// @param {Color} $icon-color [null] - The icon color used in idle state.
20
- /// @param {Color} $label-selected-color [null] - The label color used in selected state.
21
- /// @param {Color} $icon-selected-color [null] - The icon color used in selected state.
22
- /// @param {Color} $icon-disabled-color [null] - The disabled color of the icon.
23
- /// @param {Color} $label-disabled-color [null] - The disabled color of the label.
24
- /// @param {Color} $border-color [null] - The border color of the bottom navigation.
25
- /// @param {box-shadow} $shadow [null] - Sets a shadow to be used for the bar.
26
- /// @requires $light-material-schema
27
- /// @example scss Set a custom background color
28
- /// $my-bottom-nav-theme: bottom-nav-theme($background: black);
29
- /// // Pass the theme to the css-vars() mixin
30
- /// @include css-vars($my-bottom-nav-theme);
31
- @function bottom-nav-theme(
32
- $schema: $light-material-schema,
33
- $background: null,
34
- $icon-color: null,
35
- $icon-selected-color: null,
36
- $label-color: null,
37
- $label-selected-color: null,
38
- $icon-disabled-color: null,
39
- $label-disabled-color: null,
40
- $border-color: null,
41
- $shadow: null,
42
- ) {
43
- $name: 'igx-bottom-nav';
44
- $bottom-nav-schema: ();
45
-
46
- @if map.has-key($schema, 'bottom-nav') {
47
- $bottom-nav-schema: map.get($schema, 'bottom-nav');
48
- } @else {
49
- $bottom-nav-schema: $schema;
50
- }
51
-
52
- $theme: digest-schema($bottom-nav-schema);
53
-
54
- @if not($label-color) and not($icon-color) and $background {
55
- $label-color: adaptive-contrast(var(--background));
56
- }
57
-
58
- @if not($icon-color) and $label-color {
59
- $icon-color: $label-color;
60
- }
61
-
62
- @if not($label-color) and $icon-color {
63
- $label-color: $icon-color;
64
- }
65
-
66
- @if not($icon-disabled-color) and not($label-disabled-color) and $label-color {
67
- $label-disabled-color: adaptive-contrast(var(--background));
68
- }
69
-
70
- @if not($icon-disabled-color) and $label-disabled-color {
71
- $icon-disabled-color: $label-disabled-color;
72
- }
73
-
74
- @if not($label-disabled-color) and $icon-disabled-color {
75
- $label-disabled-color: $icon-disabled-color;
76
- }
77
-
78
- @if not($icon-selected-color) and $label-selected-color {
79
- $icon-selected-color: $label-selected-color;
80
- }
81
-
82
- @if not($label-selected-color) and $icon-selected-color {
83
- $label-selected-color: $icon-selected-color;
84
- }
85
-
86
- @if not($shadow) {
87
- $elevation: map.get($bottom-nav-schema, 'elevation');
88
- $shadow: elevation($elevation);
89
- }
90
-
91
- @return extend($theme, (
92
- name: $name,
93
- background: $background,
94
- icon-color: $icon-color,
95
- icon-selected-color: $icon-selected-color,
96
- label-color: $label-color,
97
- label-selected-color: $label-selected-color,
98
- icon-disabled-color: $icon-disabled-color,
99
- label-disabled-color: $label-disabled-color,
100
- border-color: $border-color,
101
- shadow: $shadow,
102
- ));
103
- }
104
-
105
5
  /// @deprecated Use the `css-vars` mixin instead.
106
6
  /// @see {mixin} css-vars
107
7
  /// @param {Map} $theme - The theme used to style the component.