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
@@ -1,302 +0,0 @@
1
- @use 'sass:map';
2
- @use 'sass:meta';
3
- @use 'sass:color';
4
- @use 'sass:list';
5
- @use 'sass:string';
6
- @use '../../base' as *;
7
- @use '../../themes/schemas' as *;
8
-
9
- ////
10
- /// @group themes
11
- /// @access public
12
- /// @author <a href="https://github.com/desig9stein" target="_blank">Marin Popov</a>
13
- /// @author <a href="https://github.com/simeonoff" target="_blank">Simeon Simeonoff</a>
14
- ////
15
-
16
- /// If only background color is specified, text/icon color
17
- /// will be assigned automatically to a contrasting color.
18
- /// Does ___not___ apply for disabled state colors.
19
- /// @param {Map} $schema [$light-material-schema] - The schema used as basis for styling the component.
20
- /// @param {Color} $background [null] - The background color of the button.
21
- /// @param {Color} $foreground [null] - The text color of the button.
22
- /// @param {Color} $icon-color [null] - The icon color in the button.
23
- /// @param {Color} $icon-color-hover [null] - The icon color in the button on hover.
24
- /// @param {Color} $hover-background [null] - The hover background color of the button.
25
- /// @param {Color} $hover-foreground [null] - The hover text color of the button.
26
- /// @param {Color} $focus-background [null] - The focus background color of the button.
27
- /// @param {Color} $focus-foreground [null] - The focus text color of the button.
28
- /// @param {Color} $focus-hover-background [null] - The background color on focus hovered state of the button.
29
- /// @param {Color} $focus-hover-foreground [null] - The text color on focus hovered state of the button.
30
- /// @param {Color} $focus-visible-background [null] - The focus-visible background color of the button.
31
- /// @param {Color} $focus-visible-foreground [null] - The focus-visible text color of the button.
32
- /// @param {Color} $active-background [null] - The active background of the button.
33
- /// @param {Color} $active-foreground [null] - The active text color of the button.
34
- /// @param {List} $border-radius [null] - The border radius of the button.
35
- /// @param {Color} $border-color [null] - The border color of the button.
36
- /// @param {Color} $hover-border-color [null] - The hover border color of the button.
37
- /// @param {Color} $focus-border-color [null] - The focus border color of the button.
38
- /// @param {Color} $focus-visible-border-color [null] - The focus-visible border color of the button.
39
- /// @param {Color} $active-border-color [null] - The active border color of the button.
40
- /// @param {Color} $shadow-color [null] - The shadow color of the button.
41
- /// @param {Color} $resting-shadow [null] - The shadow of the button in its idle state.
42
- /// @param {Color} $hover-shadow [null] - The shadow of the button in its hover state.
43
- /// @param {Color} $focus-shadow [null] - The shadow of the button in its focus state.
44
- /// @param {Color} $active-shadow [null] - The shadow of the button in its focus state.
45
- /// @param {Color} $disabled-background [null] - The disabled background color of the button.
46
- /// @param {Color} $disabled-foreground [null] - The disabled text color of the button.
47
- /// @param {Color} $disabled-icon-color [null] - The disabled icon color of the button.
48
- /// @param {Color} $disabled-border-color [null] - The disabled border color of the button.
49
- ///
50
- /// @requires $light-material-schema
51
- ///
52
- /// @example scss Change the background and text colors in contained buttons
53
- /// $my-button-theme: contained-button-theme(
54
- /// $foreground: white,
55
- /// $background: black
56
- /// );
57
- /// // Pass the theme to the css-vars() mixin
58
- /// @include css-vars($my-button-theme);
59
- @function contained-button-theme(
60
- $schema: $light-material-schema,
61
-
62
- $background: null,
63
- $foreground: null,
64
-
65
- $hover-background: null,
66
- $hover-foreground: null,
67
-
68
- $icon-color: $foreground,
69
- $icon-color-hover: $hover-foreground,
70
-
71
- $focus-background: null,
72
- $focus-foreground: null,
73
-
74
- $focus-hover-background: null,
75
- $focus-hover-foreground: null,
76
-
77
- $focus-visible-background: null,
78
- $focus-visible-foreground: null,
79
-
80
- $active-background: null,
81
- $active-foreground: null,
82
-
83
- $border-radius: null,
84
- $border-color: null,
85
- $hover-border-color: null,
86
- $focus-border-color: null,
87
- $focus-visible-border-color: null,
88
- $active-border-color: null,
89
-
90
- $shadow-color: null,
91
-
92
- $resting-shadow: null,
93
- $hover-shadow: null,
94
- $focus-shadow: null,
95
- $active-shadow: null,
96
-
97
- $disabled-background: null,
98
- $disabled-foreground: null,
99
- $disabled-icon-color: $disabled-foreground,
100
- $disabled-border-color: null,
101
- $size: null
102
- ) {
103
- $name: 'igx-contained-button';
104
- $button-schema: ();
105
-
106
- @if map.has-key($schema, 'button') {
107
- $button-schema: map.get($schema, 'button');
108
- @if map.has-key($button-schema, 'contained') {
109
- $button-schema: map.get($button-schema, 'contained');
110
- } @else {
111
- $button-schema: $schema;
112
- }
113
- }
114
-
115
- $theme: digest-schema($button-schema);
116
- $variant: map.get($schema, '_meta', 'theme');
117
-
118
- @if not($hover-foreground) and $foreground {
119
- $hover-foreground: var(--foreground);
120
- }
121
-
122
- @if not($focus-foreground) and $foreground {
123
- $focus-foreground: var(--foreground);
124
- }
125
-
126
- @if not($focus-hover-foreground) and $foreground {
127
- $focus-hover-foreground: var(--foreground);
128
- }
129
-
130
- @if not($focus-visible-foreground) and $foreground {
131
- $focus-visible-foreground: var(--foreground);
132
- }
133
-
134
- @if not($active-foreground) and $foreground {
135
- $active-foreground: var(--foreground);
136
- }
137
-
138
- @if not($icon-color-hover) and $icon-color {
139
- $icon-color-hover: var(--icon-color);
140
- }
141
-
142
- @if not($foreground) and $background {
143
- $foreground: adaptive-contrast(var(--background));
144
- }
145
-
146
- @if not($icon-color) and $background {
147
- $icon-color: adaptive-contrast(var(--background));
148
- }
149
-
150
- @if $variant == 'indigo' {
151
- @if not($hover-background) and $background {
152
- $hover-background: hsl(from var(--background) h s calc(l * 1.08));
153
- }
154
- } @else {
155
- @if not($hover-background) and $background {
156
- $hover-background: hsl(from var(--background) h s calc(l * 1.05));
157
- }
158
- }
159
-
160
- @if $variant == 'indigo' {
161
- @if not($focus-background) and $background {
162
- $focus-background: var(--background);
163
- }
164
- } @else {
165
- @if not($focus-background) and $background {
166
- $focus-background: hsl(from var(--background) h s calc(l * 1.1));
167
- }
168
- }
169
-
170
- @if not($hover-foreground) and $hover-background {
171
- $hover-foreground: adaptive-contrast(var(--hover-background));
172
- }
173
-
174
- @if not($icon-color-hover) and $hover-background {
175
- $icon-color-hover: adaptive-contrast(var(--hover-background));
176
- }
177
-
178
- @if not($focus-foreground) and $focus-background {
179
- $focus-foreground: adaptive-contrast(var(--focus-background));
180
- }
181
-
182
- @if not($focus-hover-background) and $hover-background {
183
- $focus-hover-background: var(--hover-background);
184
- }
185
-
186
- @if not($focus-hover-foreground) and $focus-hover-background {
187
- $focus-hover-foreground: adaptive-contrast(var(--focus-hover-background));
188
- }
189
-
190
- @if not($focus-visible-background) and $focus-background {
191
- $focus-visible-background: var(--focus-background);
192
- }
193
-
194
- @if not($focus-visible-foreground) and $focus-visible-background {
195
- $focus-visible-foreground: adaptive-contrast(var(--focus-visible-background));
196
- }
197
-
198
- @if $variant == 'fluent' {
199
- @if not($focus-visible-border-color) and $focus-visible-foreground {
200
- $focus-visible-border-color: var(--focus-visible-foreground);
201
- }
202
- }
203
-
204
- @if $variant == 'fluent' or $variant == 'bootstrap' {
205
- @if not($active-background) and $background {
206
- $active-background: hsl(from var(--background) h s calc(l * 0.9));
207
- }
208
- } @else if $variant == 'material' {
209
- @if not($active-background) and $focus-background {
210
- $active-background: var(--focus-background);
211
- }
212
- } @else {
213
- @if not($active-background) and $hover-background {
214
- $active-background: var(--hover-background);
215
- }
216
- }
217
-
218
- @if not($active-foreground) and $active-background {
219
- $active-foreground: adaptive-contrast(var(--active-background));
220
- }
221
-
222
- @if $variant == 'bootstrap' or $variant == 'indigo' {
223
- @if not($shadow-color) and $focus-visible-background {
224
- $shadow-color: hsla(
225
- from var(--focus-visible-background) h s l / 0.5
226
- );
227
- }
228
-
229
- @if not($disabled-background) and $background {
230
- $disabled-background: hsla(from var(--background) h s l / 0.5);
231
- }
232
-
233
- @if not($disabled-icon-color) and $disabled-foreground {
234
- $disabled-icon-color: var(--disabled-foreground);
235
- }
236
-
237
- @if not($disabled-foreground) and $disabled-background {
238
- $disabled-foreground: hsla(from adaptive-contrast(var(--disabled-background)) h s l / 0.5);
239
- }
240
-
241
- @if not($disabled-icon-color) and $disabled-background {
242
- $disabled-icon-color: hsla(from adaptive-contrast(var(--disabled-background)) h s l / 0.5);
243
- }
244
- }
245
-
246
- @if not($resting-shadow) {
247
- $resting-elevation: map.get($button-schema, 'resting-elevation');
248
- $resting-shadow: elevation($resting-elevation);
249
- }
250
-
251
- @if not($hover-shadow) {
252
- $hover-elevation: map.get($button-schema, 'hover-elevation');
253
- $hover-shadow: elevation($hover-elevation);
254
- }
255
-
256
- @if not($focus-shadow) {
257
- $focus-elevation: map.get($button-schema, 'focus-elevation');
258
- $focus-shadow: elevation($focus-elevation);
259
- }
260
-
261
- @if not($active-shadow) {
262
- $active-elevation: map.get($button-schema, 'active-elevation');
263
- $active-shadow: elevation($active-elevation);
264
- }
265
-
266
- @return extend(
267
- $theme,
268
- (
269
- name: $name,
270
- background: $background,
271
- foreground: $foreground,
272
- icon-color: $icon-color,
273
- icon-color-hover: $icon-color-hover,
274
- hover-background: $hover-background,
275
- hover-foreground: $hover-foreground,
276
- focus-background: $focus-background,
277
- focus-foreground: $focus-foreground,
278
- focus-hover-background: $focus-hover-background,
279
- focus-hover-foreground: $focus-hover-foreground,
280
- focus-visible-background: $focus-visible-background,
281
- focus-visible-foreground: $focus-visible-foreground,
282
- active-background: $active-background,
283
- active-foreground: $active-foreground,
284
- border-radius: $border-radius,
285
- border-color: $border-color,
286
- hover-border-color: $hover-border-color,
287
- focus-border-color: $focus-border-color,
288
- focus-visible-border-color: $focus-visible-border-color,
289
- active-border-color: $active-border-color,
290
- shadow-color: $shadow-color,
291
- resting-shadow: $resting-shadow,
292
- hover-shadow: $hover-shadow,
293
- focus-shadow: $focus-shadow,
294
- active-shadow: $active-shadow,
295
- disabled-background: $disabled-background,
296
- disabled-foreground: $disabled-foreground,
297
- disabled-icon-color: $disabled-icon-color,
298
- disabled-border-color: $disabled-border-color,
299
- size: $size,
300
- )
301
- );
302
- }
@@ -1,296 +0,0 @@
1
- @use 'sass:map';
2
- @use 'sass:meta';
3
- @use 'sass:color';
4
- @use 'sass:list';
5
- @use 'sass:string';
6
- @use '../../base' as *;
7
- @use '../../themes/schemas' as *;
8
-
9
- ////
10
- /// @group themes
11
- /// @access public
12
- /// @author <a href="https://github.com/desig9stein" target="_blank">Marin Popov</a>
13
- /// @author <a href="https://github.com/simeonoff" target="_blank">Simeon Simeonoff</a>
14
- ////
15
-
16
- /// If only background color is specified, text/icon color
17
- /// will be assigned automatically to a contrasting color.
18
- /// Does ___not___ apply for disabled state colors.
19
- /// @param {Map} $schema [$light-material-schema] - The schema used as basis for styling the component.
20
- /// @param {Color} $background [null] - The background color of the button.
21
- /// @param {Color} $foreground [null] - The text color of the button.
22
- /// @param {Color} $icon-color [null] - The icon color in the button.
23
- /// @param {Color} $icon-color-hover [null] - The icon color in the button on hover.
24
- /// @param {Color} $hover-background [null] - The hover background color of the button.
25
- /// @param {Color} $hover-foreground [null] - The hover text color of the button.
26
- /// @param {Color} $focus-background [null] - The focus background color of the button.
27
- /// @param {Color} $focus-foreground [null] - The focus text color of the button.
28
- /// @param {Color} $focus-hover-background [null] - The background color on focus hovered state of the button.
29
- /// @param {Color} $focus-hover-foreground [null] - The text color on focus hovered state of the button.
30
- /// @param {Color} $focus-visible-background [null] - The focus-visible background color of the button.
31
- /// @param {Color} $focus-visible-foreground [null] - The focus-visible text color of the button.
32
- /// @param {Color} $active-background [null] - The active background of the button.
33
- /// @param {Color} $active-foreground [null] - The active text color of the button.
34
- /// @param {List} $border-radius [null] - The border radius of the button.
35
- /// @param {Color} $border-color [null] - The border color of the button.
36
- /// @param {Color} $hover-border-color [null] - The hover border color of the button.
37
- /// @param {Color} $focus-border-color [null] - The focus border color of the button.
38
- /// @param {Color} $focus-visible-border-color [null] - The focus-visible border color of the button.
39
- /// @param {Color} $active-border-color [null] - The active border color of the button.
40
- /// @param {Color} $shadow-color [null] - The shadow color of the button.
41
- /// @param {Color} $resting-shadow [null] - The shadow of the button in its idle state.
42
- /// @param {Color} $hover-shadow [null] - The shadow of the button in its hover state.
43
- /// @param {Color} $focus-shadow [null] - The shadow of the button in its focus state.
44
- /// @param {Color} $active-shadow [null] - The shadow of the button in its focus state.
45
- /// @param {Color} $disabled-background [null] - The disabled background color of the button.
46
- /// @param {Color} $disabled-foreground [null] - The disabled text color of the button.
47
- /// @param {Color} $disabled-icon-color [null] - The disabled icon color of the button.
48
- /// @param {Color} $disabled-border-color [null] - The disabled border color of the button.
49
- ///
50
- /// @requires $light-material-schema
51
- ///
52
- /// @example scss Change the background and text colors in fab buttons
53
- /// $my-button-theme: fab-button-theme(
54
- /// $foreground: white,
55
- /// $background: black
56
- /// );
57
- /// // Pass the theme to the css-vars() mixin
58
- /// @include css-vars($my-button-theme);
59
- @function fab-button-theme(
60
- $schema: $light-material-schema,
61
-
62
- $background: null,
63
- $foreground: null,
64
-
65
- $hover-background: null,
66
- $hover-foreground: null,
67
-
68
- $icon-color: $foreground,
69
- $icon-color-hover: $hover-foreground,
70
-
71
- $focus-background: null,
72
- $focus-foreground: null,
73
-
74
- $focus-hover-background: null,
75
- $focus-hover-foreground: null,
76
-
77
- $focus-visible-background: null,
78
- $focus-visible-foreground: null,
79
-
80
- $active-background: null,
81
- $active-foreground: null,
82
-
83
- $border-radius: null,
84
- $border-color: null,
85
- $hover-border-color: null,
86
- $focus-border-color: null,
87
- $focus-visible-border-color: null,
88
- $active-border-color: null,
89
-
90
- $shadow-color: null,
91
-
92
- $resting-shadow: null,
93
- $hover-shadow: null,
94
- $focus-shadow: null,
95
- $active-shadow: null,
96
-
97
- $disabled-background: null,
98
- $disabled-foreground: null,
99
- $disabled-icon-color: $disabled-foreground,
100
- $disabled-border-color: null,
101
- $size: null
102
- ) {
103
- $name: 'igx-fab-button';
104
- $button-schema: ();
105
-
106
- @if map.has-key($schema, 'button') {
107
- $button-schema: map.get($schema, 'button');
108
- @if map.has-key($button-schema, 'fab') {
109
- $button-schema: map.get($button-schema, 'fab');
110
- } @else {
111
- $button-schema: $schema;
112
- }
113
- }
114
-
115
- $theme: digest-schema($button-schema);
116
- $variant: map.get($schema, '_meta', 'theme');
117
-
118
- @if not($foreground) and $background {
119
- $foreground: adaptive-contrast(var(--background));
120
- }
121
-
122
- @if not($icon-color) and $background {
123
- $icon-color: adaptive-contrast(var(--background));
124
- }
125
-
126
- @if $variant == 'indigo' {
127
- @if not($hover-background) and $background {
128
- $hover-background: hsl(from var(--background) h s calc(l * 1.08));
129
- }
130
- } @else {
131
- @if not($hover-background) and $background {
132
- $hover-background: hsl(from var(--background) h s calc(l * 1.05));
133
- }
134
- }
135
-
136
- @if $variant == 'indigo' {
137
- @if not($focus-background) and $background {
138
- $focus-background: var(--background);
139
- }
140
- } @else {
141
- @if not($focus-background) and $background {
142
- $focus-background: hsl(from var(--background) h s calc(l * 1.1));
143
- }
144
- }
145
-
146
- @if not($hover-foreground) and $hover-background {
147
- $hover-foreground: if(
148
- $foreground,
149
- var(--foreground),
150
- adaptive-contrast(var(--hover-background))
151
- );
152
- }
153
-
154
- @if not($icon-color-hover) and $hover-background {
155
- $icon-color-hover: if(
156
- $icon-color,
157
- var(--icon-color),
158
- adaptive-contrast(var(--hover-background))
159
- );
160
- }
161
-
162
- @if not($focus-foreground) and $focus-background {
163
- $focus-foreground: if(
164
- $foreground,
165
- var(--foreground),
166
- adaptive-contrast(var(--focus-background))
167
- );
168
- }
169
-
170
- @if not($focus-hover-background) and $hover-background {
171
- $focus-hover-background: var(--hover-background);
172
- }
173
-
174
- @if not($focus-hover-foreground) and $focus-hover-background {
175
- $focus-hover-foreground: if(
176
- $foreground,
177
- var(--foreground),
178
- adaptive-contrast(var(--focus-hover-background))
179
- );
180
- }
181
-
182
- @if not($focus-visible-background) and $focus-background {
183
- $focus-visible-background: var(--focus-background);
184
- }
185
-
186
- @if not($focus-visible-foreground) and $focus-visible-background {
187
- $focus-visible-foreground: adaptive-contrast(
188
- var(--focus-visible-background)
189
- );
190
- }
191
-
192
- @if $variant == 'fluent' {
193
- @if not($focus-visible-border-color) and $focus-visible-foreground {
194
- $focus-visible-border-color: var(--focus-visible-foreground);
195
- }
196
- }
197
-
198
- @if $variant == 'fluent' or $variant == 'bootstrap' {
199
- @if not($active-background) and $background {
200
- $active-background: hsl(from var(--background) h s calc(l * 0.9));
201
- }
202
- } @else if $variant == 'material' {
203
- @if not($active-background) and $focus-background {
204
- $active-background: var(--focus-background);
205
- }
206
- } @else {
207
- @if not($active-background) and $hover-background {
208
- $active-background: var(--hover-background);
209
- }
210
- }
211
-
212
- @if not($active-foreground) and $active-background {
213
- $active-foreground: adaptive-contrast(var(--active-background));
214
- }
215
-
216
- @if $variant == 'bootstrap' or $variant == 'indigo' {
217
- @if not($shadow-color) and $focus-visible-background {
218
- $shadow-color: hsla(
219
- from var(--focus-visible-background) h s l / 0.5
220
- );
221
- }
222
-
223
- @if not($disabled-background) and $background {
224
- $disabled-background: hsla(from var(--background) h s l / 0.5);
225
- }
226
-
227
- @if not($disabled-icon-color) and $disabled-foreground {
228
- $disabled-icon-color: var(--disabled-foreground);
229
- }
230
-
231
- @if not($disabled-foreground) and $disabled-background {
232
- $disabled-foreground: hsla(from adaptive-contrast(var(--disabled-background)) h s l / 0.5);
233
- }
234
-
235
- @if not($disabled-icon-color) and $disabled-background {
236
- $disabled-icon-color: hsla(from adaptive-contrast(var(--disabled-background)) h s l / 0.5);
237
- }
238
- }
239
-
240
- @if not($resting-shadow) {
241
- $resting-elevation: map.get($button-schema, 'resting-elevation');
242
- $resting-shadow: elevation($resting-elevation);
243
- }
244
-
245
- @if not($hover-shadow) {
246
- $hover-elevation: map.get($button-schema, 'hover-elevation');
247
- $hover-shadow: elevation($hover-elevation);
248
- }
249
-
250
- @if not($focus-shadow) {
251
- $focus-elevation: map.get($button-schema, 'focus-elevation');
252
- $focus-shadow: elevation($focus-elevation);
253
- }
254
-
255
- @if not($active-shadow) {
256
- $active-elevation: map.get($button-schema, 'active-elevation');
257
- $active-shadow: elevation($active-elevation);
258
- }
259
-
260
- @return extend(
261
- $theme,
262
- (
263
- name: $name,
264
- background: $background,
265
- foreground: $foreground,
266
- icon-color: $icon-color,
267
- icon-color-hover: $icon-color-hover,
268
- hover-background: $hover-background,
269
- hover-foreground: $hover-foreground,
270
- focus-background: $focus-background,
271
- focus-foreground: $focus-foreground,
272
- focus-hover-background: $focus-hover-background,
273
- focus-hover-foreground: $focus-hover-foreground,
274
- focus-visible-background: $focus-visible-background,
275
- focus-visible-foreground: $focus-visible-foreground,
276
- active-background: $active-background,
277
- active-foreground: $active-foreground,
278
- border-radius: $border-radius,
279
- border-color: $border-color,
280
- hover-border-color: $hover-border-color,
281
- focus-border-color: $focus-border-color,
282
- focus-visible-border-color: $focus-visible-border-color,
283
- active-border-color: $active-border-color,
284
- shadow-color: $shadow-color,
285
- resting-shadow: $resting-shadow,
286
- hover-shadow: $hover-shadow,
287
- focus-shadow: $focus-shadow,
288
- active-shadow: $active-shadow,
289
- disabled-background: $disabled-background,
290
- disabled-foreground: $disabled-foreground,
291
- disabled-icon-color: $disabled-icon-color,
292
- disabled-border-color: $disabled-border-color,
293
- size: $size,
294
- )
295
- );
296
- }