igniteui-angular 20.0.0 → 20.0.2

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 (95) hide show
  1. package/fesm2022/igniteui-angular.mjs +9 -11
  2. package/fesm2022/igniteui-angular.mjs.map +1 -1
  3. package/index.d.ts +2 -2
  4. package/lib/core/styles/components/_common/_igx-vhelper.scss +1 -0
  5. package/lib/core/styles/components/action-strip/_action-strip-theme.scss +2 -7
  6. package/lib/core/styles/components/avatar/_avatar-theme.scss +7 -8
  7. package/lib/core/styles/components/badge/_badge-theme.scss +3 -8
  8. package/lib/core/styles/components/banner/_banner-theme.scss +6 -7
  9. package/lib/core/styles/components/bottom-nav/_bottom-nav-theme.scss +17 -28
  10. package/lib/core/styles/components/button/_button-theme.scss +219 -158
  11. package/lib/core/styles/components/button/_contained-button-theme.scss +302 -0
  12. package/lib/core/styles/components/button/_fab-button-theme.scss +296 -0
  13. package/lib/core/styles/components/button/_flat-button-theme.scss +356 -0
  14. package/lib/core/styles/components/button/_outlined-button-theme.scss +419 -0
  15. package/lib/core/styles/components/button-group/_button-group-theme.scss +113 -29
  16. package/lib/core/styles/components/calendar/_calendar-theme.scss +502 -112
  17. package/lib/core/styles/components/card/_card-theme.scss +5 -16
  18. package/lib/core/styles/components/carousel/_carousel-theme.scss +103 -23
  19. package/lib/core/styles/components/checkbox/_checkbox-component.scss +1 -1
  20. package/lib/core/styles/components/checkbox/_checkbox-theme.scss +63 -11
  21. package/lib/core/styles/components/chip/_chip-theme.scss +64 -47
  22. package/lib/core/styles/components/column-actions/_column-actions-theme.scss +2 -7
  23. package/lib/core/styles/components/combo/_combo-theme.scss +54 -12
  24. package/lib/core/styles/components/dialog/_dialog-theme.scss +9 -12
  25. package/lib/core/styles/components/divider/_divider-theme.scss +1 -6
  26. package/lib/core/styles/components/drop-down/_drop-down-theme.scss +52 -32
  27. package/lib/core/styles/components/expansion-panel/_expansion-panel-theme.scss +18 -13
  28. package/lib/core/styles/components/grid/_grid-theme.scss +115 -94
  29. package/lib/core/styles/components/grid/_pivot-data-selector-theme.scss +1 -6
  30. package/lib/core/styles/components/grid-summary/_grid-summary-theme.scss +12 -13
  31. package/lib/core/styles/components/grid-toolbar/_grid-toolbar-theme.scss +7 -12
  32. package/lib/core/styles/components/highlight/highlight-theme.scss +2 -3
  33. package/lib/core/styles/components/icon/_icon-theme.scss +0 -1
  34. package/lib/core/styles/components/icon-button/_contained-icon-button-theme.scss +196 -0
  35. package/lib/core/styles/components/icon-button/_flat-icon-button-theme.scss +188 -0
  36. package/lib/core/styles/components/icon-button/_icon-button-theme.scss +45 -32
  37. package/lib/core/styles/components/icon-button/_outlined-icon-button-theme.scss +232 -0
  38. package/lib/core/styles/components/input/_input-group-theme.scss +272 -21
  39. package/lib/core/styles/components/label/_label-theme.scss +2 -4
  40. package/lib/core/styles/components/list/_list-theme.scss +42 -66
  41. package/lib/core/styles/components/navbar/_navbar-theme.scss +25 -15
  42. package/lib/core/styles/components/navdrawer/_navdrawer-theme.scss +24 -22
  43. package/lib/core/styles/components/overlay/_overlay-theme.scss +0 -1
  44. package/lib/core/styles/components/paginator/_paginator-theme.scss +2 -7
  45. package/lib/core/styles/components/progress/circular/_circular-theme.scss +3 -8
  46. package/lib/core/styles/components/progress/linear/_linear-theme.scss +1 -6
  47. package/lib/core/styles/components/query-builder/_query-builder-theme.scss +28 -11
  48. package/lib/core/styles/components/radio/_radio-theme.scss +54 -10
  49. package/lib/core/styles/components/ripple/_ripple-theme.scss +0 -1
  50. package/lib/core/styles/components/scrollbar/scrollbar-theme.scss +0 -1
  51. package/lib/core/styles/components/select/_select-theme.scss +35 -7
  52. package/lib/core/styles/components/slider/_slider-theme.scss +92 -7
  53. package/lib/core/styles/components/snackbar/_snackbar-theme.scss +3 -8
  54. package/lib/core/styles/components/splitter/_splitter-theme.scss +15 -8
  55. package/lib/core/styles/components/stepper/_stepper-theme.scss +190 -22
  56. package/lib/core/styles/components/switch/_switch-theme.scss +112 -8
  57. package/lib/core/styles/components/tabs/_tabs-theme.scss +124 -56
  58. package/lib/core/styles/components/time-picker/_time-picker-theme.scss +35 -18
  59. package/lib/core/styles/components/toast/_toast-theme.scss +9 -10
  60. package/lib/core/styles/components/tooltip/_tooltip-theme.scss +2 -7
  61. package/lib/core/styles/components/tree/_tree-theme.scss +33 -10
  62. package/lib/core/styles/components/watermark/_watermark-theme.scss +0 -1
  63. package/lib/core/styles/themes/_core.scss +6 -0
  64. package/lib/core/styles/themes/generators/_base.scss +146 -58
  65. package/migrations/migration-collection.json +5 -0
  66. package/migrations/update-20_0_2/changes/theme-changes.json +11 -0
  67. package/migrations/update-20_0_2/index.d.ts +3 -0
  68. package/migrations/update-20_0_2/index.js +18 -0
  69. package/package.json +1 -1
  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
@@ -60,7 +60,49 @@
60
60
  }
61
61
 
62
62
  $theme: digest-schema($combo-schema);
63
- $meta: map.get($theme, '_meta');
63
+ $variant: map.get($theme, '_meta', 'theme');
64
+
65
+ @if not($empty-list-placeholder-color) and $empty-list-background {
66
+ $empty-list-placeholder-color: adaptive-contrast(var(--empty-list-background));
67
+ }
68
+
69
+ @if not($toggle-button-foreground) and $toggle-button-background {
70
+ $toggle-button-foreground: adaptive-contrast(var(--toggle-button-background));
71
+ }
72
+
73
+ @if $variant == 'material' {
74
+ @if not($toggle-button-background-focus) and $toggle-button-background {
75
+ $toggle-button-background-focus: hsl(from var(--toggle-button-background) h s calc(l * 0.9));
76
+ }
77
+ } @else {
78
+ @if not($toggle-button-background-focus) and $toggle-button-background {
79
+ $toggle-button-background-focus: var(--toggle-button-background);
80
+ }
81
+ }
82
+
83
+ @if not($toggle-button-foreground-focus) and $toggle-button-background-focus {
84
+ $toggle-button-foreground-focus: adaptive-contrast(var(--toggle-button-background-focus));
85
+ }
86
+
87
+ @if not($toggle-button-background-focus--border) and $toggle-button-background {
88
+ $toggle-button-background-focus--border: var(--toggle-button-background);
89
+ }
90
+
91
+ @if not($toggle-button-foreground-filled) and $toggle-button-background {
92
+ $toggle-button-foreground-filled: adaptive-contrast(var(--toggle-button-background));
93
+ }
94
+
95
+ @if not($toggle-button-background-disabled) and $toggle-button-background {
96
+ $toggle-button-background-disabled: hsla(from var(--toggle-button-background) h s l / 0.3);
97
+ }
98
+
99
+ @if not($toggle-button-foreground-disabled) and $toggle-button-background {
100
+ $toggle-button-foreground-disabled: hsla(from adaptive-contrast(var(--toggle-button-background)) h s l / 0.7);
101
+ }
102
+
103
+ @if not($clear-button-foreground-focus) and $clear-button-background-focus {
104
+ $clear-button-foreground-focus: adaptive-contrast(var(--clear-button-background-focus));
105
+ }
64
106
 
65
107
  @return extend($theme, (
66
108
  name: $name,
@@ -80,10 +122,6 @@
80
122
  clear-button-background-focus: $clear-button-background-focus,
81
123
  clear-button-foreground: $clear-button-foreground,
82
124
  clear-button-foreground-focus: $clear-button-foreground-focus,
83
- theme: map.get($schema, '_meta', 'theme'),
84
- _meta: map.merge(if($meta, $meta, ()), (
85
- variant: map.get($schema, '_meta', 'theme')
86
- )),
87
125
  ));
88
126
  }
89
127
 
@@ -93,7 +131,7 @@
93
131
  @mixin combo($theme) {
94
132
  @include css-vars($theme);
95
133
 
96
- $variant: map.get($theme, '_meta', 'variant');
134
+ $variant: map.get($theme, '_meta', 'theme');
97
135
 
98
136
  $search-input-inline-padding: map.get((
99
137
  'material': pad-inline(rem(4px), rem(8px), rem(16px)),
@@ -165,18 +203,15 @@
165
203
  %igx-combo__case-icon,
166
204
  %igx-combo__case-icon--active {
167
205
  line-height: 0;
168
-
169
- igx-icon {
170
- --size: rem(18px);
171
- }
172
206
  }
173
207
 
174
208
  // The wrapping element here is needed
175
209
  // in order to override the !important rule of .igx-icon--inactive.
176
210
  %igx-combo__case-icon {
177
211
  igx-icon {
178
- // Important is needed since the .igx-icon--inactive has !important
179
- color: color($color: 'gray', $variant: 600) !important;
212
+ --igx-icon-disabled-color: var(--ig-gray-600);
213
+
214
+ opacity: 1;
180
215
  }
181
216
  }
182
217
 
@@ -244,6 +279,13 @@
244
279
  }
245
280
  }
246
281
 
282
+ @if $variant == 'fluent' or $variant == 'bootstrap' {
283
+ %igx-combo__search {
284
+ --igx-input-group-input-suffix-background: transparent;
285
+ --igx-input-group-input-suffix-background--focused: transparent;
286
+ }
287
+ }
288
+
247
289
  .igx-input-group {
248
290
  %igx-combo__toggle-button {
249
291
  background: var-get($theme, 'toggle-button-background');
@@ -46,16 +46,17 @@
46
46
  }
47
47
 
48
48
  $theme: digest-schema($dialog-schema);
49
- $meta: map.get($theme, '_meta');
50
49
 
51
50
  @if not($title-color) and $background{
52
- $title-color: text-contrast($background);
51
+ $title-color: adaptive-contrast(var(--background));
53
52
  }
54
53
 
55
54
  @if not($message-color) and $background{
56
- @if meta.type-of($background) == 'color' {
57
- $message-color: rgba(text-contrast($background), .8);
58
- }
55
+ $message-color: hsla(from adaptive-contrast(var(--background)) h s l / .8);
56
+ }
57
+
58
+ @if not($border-color) and $background{
59
+ $border-color: hsla(from adaptive-contrast(var(--background)) h s l / .3);
59
60
  }
60
61
 
61
62
  @if not($shadow) {
@@ -71,11 +72,7 @@
71
72
  title-color: $title-color,
72
73
  message-color: $message-color,
73
74
  shadow: $shadow,
74
- border-color: $border-color,
75
- theme: map.get($schema, '_meta', 'theme'),
76
- _meta: map.merge(if($meta, $meta, ()), (
77
- variant: map.get($schema, '_meta', 'theme')
78
- )),
75
+ border-color: $border-color
79
76
  ));
80
77
  }
81
78
 
@@ -85,8 +82,8 @@
85
82
  @mixin dialog($theme) {
86
83
  @include css-vars($theme);
87
84
 
88
- $variant: map.get($theme, '_meta', 'variant');
89
- $bootstrap-theme: map.get($theme, '_meta', 'variant') == 'bootstrap';
85
+ $variant: map.get($theme, '_meta', 'theme');
86
+ $bootstrap-theme: map.get($theme, '_meta', 'theme') == 'bootstrap';
90
87
 
91
88
  $dialog-min-width: map.get((
92
89
  'material': rem(280px),
@@ -32,16 +32,11 @@
32
32
  }
33
33
 
34
34
  $theme: digest-schema($divider-schema);
35
- $meta: map.get($theme, '_meta');
36
35
 
37
36
  @return extend($theme, (
38
37
  name: $name,
39
38
  color: $color,
40
39
  inset: $inset,
41
- theme: map.get($schema, '_meta', 'theme'),
42
- _meta: map.merge(if($meta, $meta, ()), (
43
- variant: map.get($schema, '_meta', 'theme'),
44
- )),
45
40
  ));
46
41
  }
47
42
 
@@ -51,7 +46,7 @@
51
46
  @mixin divider($theme) {
52
47
  @include css-vars($theme);
53
48
 
54
- $variant: map.get($theme, '_meta', 'variant');
49
+ $variant: map.get($theme, '_meta', 'theme');
55
50
 
56
51
  %igx-divider-display {
57
52
  position: relative;
@@ -91,68 +91,88 @@
91
91
  }
92
92
 
93
93
  $theme: digest-schema($drop-down-schema);
94
- $meta: map.get($theme, '_meta');
94
+ $variant: map.get($theme, '_meta', 'theme');
95
95
 
96
96
  @if not($item-text-color) and $background-color {
97
- $item-text-color: text-contrast($background-color);
97
+ $item-text-color: adaptive-contrast(var(--background-color));
98
+ }
99
+
100
+ @if not($item-icon-color) and $item-text-color {
101
+ $item-icon-color: hsla(from var(--item-text-color) h s l / 0.8);
98
102
  }
99
103
 
100
104
  @if not($hover-item-background) and $background-color {
101
- $hover-item-text-color: text-contrast($background-color);
105
+ $hover-item-background: hsla(from adaptive-contrast(var(--background-color)) h s l / .12);
106
+ }
102
107
 
103
- @if meta.type-of($background-color) == 'color' {
104
- $hover-item-background: rgba(text-contrast($background-color), .12);
105
- }
108
+ @if not($hover-item-text-color) and $item-text-color {
109
+ $hover-item-text-color: var(--item-text-color);
106
110
  }
107
111
 
108
- @if not($hover-item-text-color) and $background-color {
109
- $hover-item-text-color: text-contrast($background-color);
112
+ @if not($hover-item-icon-color) and $hover-item-text-color {
113
+ $hover-item-icon-color: hsla(from var(--hover-item-text-color) h s l / 0.8);
110
114
  }
111
115
 
112
116
  @if not($focused-item-background) and $background-color {
113
- $focused-item-text-color: text-contrast($background-color);
114
-
115
- @if meta.type-of($background-color) == 'color' {
116
- $focused-item-background: rgba(text-contrast($background-color), .12);
117
- }
117
+ $focused-item-background: hsl(from var(--background-color) h s calc(l * 0.8));
118
118
  }
119
119
 
120
120
  @if not($focused-item-text-color) and $focused-item-background {
121
- $focused-item-text-color: text-contrast($focused-item-background);
121
+ $focused-item-text-color: adaptive-contrast(var(--focused-item-background));
122
+ }
123
+
124
+ @if not($selected-item-background) and $background-color {
125
+ $selected-item-background: hsl(from var(--background-color) h s calc(l * 1.2));
122
126
  }
123
127
 
124
128
  @if not($selected-item-text-color) and $selected-item-background {
125
- $selected-item-text-color: text-contrast($selected-item-background);
129
+ $selected-item-text-color: adaptive-contrast(var(--selected-item-background));
130
+ }
131
+
132
+ @if not($selected-item-icon-color) and $selected-item-text-color {
133
+ $selected-item-icon-color: hsla(from var(--selected-item-text-color) h s l / 0.8);
134
+ }
135
+
136
+ @if not($selected-hover-item-background) and $selected-item-background {
137
+ $selected-hover-item-background: hsl(from var(--selected-item-background) h s calc(l * 0.7));
126
138
  }
127
139
 
128
140
  @if not($selected-hover-item-text-color) and $selected-hover-item-background {
129
- $selected-hover-item-text-color: text-contrast($selected-hover-item-background);
141
+ $selected-hover-item-text-color: adaptive-contrast(var(--selected-hover-item-background));
142
+ }
143
+
144
+ @if not($selected-hover-item-icon-color) and $selected-hover-item-text-color {
145
+ $selected-hover-item-icon-color: hsla(from var(--selected-hover-item-text-color) h s l / 0.8);
146
+ }
147
+
148
+ @if not($selected-focus-item-background) and $selected-item-background {
149
+ $selected-focus-item-background: hsl(from var(--selected-item-background) h s calc(l * 0.7));
130
150
  }
131
151
 
132
152
  @if not($selected-focus-item-text-color) and $selected-focus-item-background {
133
- $selected-focus-item-text-color: text-contrast($selected-focus-item-background);
153
+ $selected-focus-item-text-color: adaptive-contrast(var(--selected-focus-item-background));
134
154
  }
135
155
 
136
156
  @if not($selected-focus-item-text-color) and $selected-focus-item-background {
137
- $selected-focus-item-text-color: text-contrast($selected-focus-item-background);
157
+ $selected-focus-item-text-color: adaptive-contrast(var(--selected-focus-item-background));
138
158
  }
139
159
 
140
- @if not($disabled-item-text-color) and $background-color {
141
- @if meta.type-of($background-color) == 'color' {
142
- $disabled-item-text-color: rgba(text-contrast($background-color), .36);
160
+ @if $variant == 'indigo' {
161
+ @if not($focused-item-border-color) and $selected-item-background {
162
+ $focused-item-border-color: var(--selected-item-background);
143
163
  }
144
164
  }
145
165
 
166
+ @if not($disabled-item-text-color) and $background-color {
167
+ $disabled-item-text-color: hsla(from adaptive-contrast(var(--background-color)) h s l / .36);
168
+ }
169
+
146
170
  @if not($disabled-item-text-color) and $disabled-item-background {
147
- @if meta.type-of($disabled-item-background) == 'color' {
148
- $disabled-item-text-color: rgba(text-contrast($disabled-item-background), .36);
149
- }
171
+ $disabled-item-text-color: hsla(from adaptive-contrast(var(--disabled-item-background)) h s l / .36);
150
172
  }
151
173
 
152
174
  @if not($header-text-color) and $background-color {
153
- @if meta.type-of($background-color) == 'color' {
154
- $header-text-color: rgba(text-contrast($background-color), .7);
155
- }
175
+ $header-text-color: hsla(from adaptive-contrast(var(--background-color)) h s l / .7);
156
176
  }
157
177
 
158
178
  @if not($shadow) {
@@ -189,10 +209,6 @@
189
209
  border-color: $border-color,
190
210
  border-width: $border-width,
191
211
  size: $size,
192
- theme: map.get($schema, '_meta', 'theme'),
193
- _meta: map.merge(if($meta, $meta, ()), (
194
- variant: map.get($schema, '_meta', 'theme')
195
- )),
196
212
  ));
197
213
  }
198
214
 
@@ -201,7 +217,7 @@
201
217
  /// @param {Map} $theme - The theme used to style the component.
202
218
  @mixin drop-down($theme) {
203
219
  @include css-vars($theme);
204
- $variant: map.get($theme, '_meta', 'variant');
220
+ $variant: map.get($theme, '_meta', 'theme');
205
221
 
206
222
  %igx-drop-down {
207
223
  position: absolute;
@@ -242,6 +258,10 @@
242
258
  overflow-x: hidden;
243
259
  -webkit-overflow-scrolling: touch;
244
260
  position: relative;
261
+
262
+ igx-display-container {
263
+ padding-inline-end: var(--vhelper-scrollbar-size);
264
+ }
245
265
  }
246
266
 
247
267
  %igx-drop-down__content {
@@ -53,24 +53,33 @@
53
53
  }
54
54
 
55
55
  $theme: digest-schema($expansion-panel-schema);
56
- $meta: map.get($theme, '_meta');
57
56
 
58
57
  @if not($header-title-color) and $header-background {
59
- $header-title-color: text-contrast($header-background);
58
+ $header-title-color: adaptive-contrast(var(--header-background));
59
+ }
60
+
61
+ @if not($header-icon-color) and $header-background {
62
+ $header-icon-color: adaptive-contrast(var(--header-background));
60
63
  }
61
64
 
62
65
  @if not($header-description-color) and $header-background {
63
- @if meta.type-of($header-background) == 'color' {
64
- $header-description-color: rgba(text-contrast($header-background), .8);
65
- }
66
+ $header-description-color: hsla(from adaptive-contrast(var(--header-background)) h s l / .8);
66
67
  }
67
68
 
68
- @if not($header-icon-color) and $header-background {
69
- $header-icon-color: text-contrast($header-background);
69
+ @if not($header-focus-background) and $header-background {
70
+ $header-focus-background: hsl(from var(--header-background) h s calc(l * 1.1));
70
71
  }
71
72
 
72
73
  @if not($body-color) and $body-background {
73
- $body-color: text-contrast($body-background);
74
+ $body-color: adaptive-contrast(var(--body-background));
75
+ }
76
+
77
+ @if not($disabled-text-color) and $header-background {
78
+ $disabled-text-color: hsla(from adaptive-contrast(var(--header-background)) h s l / .5);
79
+ }
80
+
81
+ @if not($disabled-description-color) and $header-background {
82
+ $disabled-description-color: hsla(from adaptive-contrast(var(--header-background)) h s l / .5);
74
83
  }
75
84
 
76
85
  @return extend($theme, (
@@ -86,10 +95,6 @@
86
95
  disabled-text-color: $disabled-text-color,
87
96
  disabled-description-color: $disabled-description-color,
88
97
  expanded-margin: $expanded-margin,
89
- theme: map.get($schema, '_meta', 'theme'),
90
- _meta: map.merge(if($meta, $meta, ()), (
91
- variant: map.get($schema, '_meta', 'theme')
92
- )),
93
98
  ));
94
99
  }
95
100
 
@@ -98,7 +103,7 @@
98
103
  /// @param {Map} $theme - The theme used to style the component.
99
104
  @mixin expansion-panel($theme) {
100
105
  @include css-vars($theme);
101
- $variant: map.get($theme, '_meta', 'variant');
106
+ $variant: map.get($theme, '_meta', 'theme');
102
107
 
103
108
  $panel-padding: rem(16px) rem(24px);
104
109
  $panel-padding-header-indigo: rem(10px) rem(16px);