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.
- package/fesm2022/igniteui-angular.mjs +143 -52
- package/fesm2022/igniteui-angular.mjs.map +1 -1
- package/index.d.ts +41 -5
- package/lib/core/styles/base/_index.scss +1 -0
- package/lib/core/styles/components/_index.scss +1 -0
- package/lib/core/styles/components/avatar/_avatar-theme.scss +0 -58
- package/lib/core/styles/components/badge/_badge-theme.scss +0 -72
- package/lib/core/styles/components/banner/_banner-theme.scss +0 -62
- package/lib/core/styles/components/bottom-nav/_bottom-nav-theme.scss +0 -100
- package/lib/core/styles/components/button/_button-theme.scss +0 -234
- package/lib/core/styles/components/button-group/_button-group-theme.scss +0 -293
- package/lib/core/styles/components/calendar/_calendar-theme.scss +0 -1075
- package/lib/core/styles/components/card/_card-theme.scss +0 -92
- package/lib/core/styles/components/carousel/_carousel-theme.scss +0 -218
- package/lib/core/styles/components/checkbox/_checkbox-theme.scss +0 -150
- package/lib/core/styles/components/chip/_chip-theme.scss +1 -265
- package/lib/core/styles/components/column-actions/_column-actions-theme.scss +0 -48
- package/lib/core/styles/components/combo/_combo-theme.scss +9 -125
- package/lib/core/styles/components/date-picker/_date-picker-theme.scss +4 -0
- package/lib/core/styles/components/date-range-picker/_date-range-picker-theme.scss +0 -30
- package/lib/core/styles/components/dialog/_dialog-theme.scss +0 -75
- package/lib/core/styles/components/divider/_divider-theme.scss +0 -39
- package/lib/core/styles/components/dock-manager/_dock-manager-theme.scss +0 -68
- package/lib/core/styles/components/drop-down/_drop-down-theme.scss +0 -211
- package/lib/core/styles/components/expansion-panel/_expansion-panel-theme.scss +0 -96
- package/lib/core/styles/components/grid/_excel-filtering-theme.scss +0 -1
- package/lib/core/styles/components/grid/_grid-theme.scss +44 -600
- package/lib/core/styles/components/grid-summary/_grid-summary-theme.scss +0 -84
- package/lib/core/styles/components/grid-toolbar/_grid-toolbar-theme.scss +0 -92
- package/lib/core/styles/components/highlight/highlight-theme.scss +0 -55
- package/lib/core/styles/components/icon/_icon-theme.scss +0 -43
- package/lib/core/styles/components/icon-button/_icon-button-theme.scss +0 -112
- package/lib/core/styles/components/input/_file-input-component.scss +72 -0
- package/lib/core/styles/components/input/_file-input-theme.scss +203 -0
- package/lib/core/styles/components/input/_input-group-component.scss +110 -126
- package/lib/core/styles/components/input/_input-group-theme.scss +409 -648
- package/lib/core/styles/components/label/_label-theme.scss +2 -35
- package/lib/core/styles/components/list/_list-theme.scss +0 -264
- package/lib/core/styles/components/navbar/_navbar-theme.scss +0 -89
- package/lib/core/styles/components/navdrawer/_navdrawer-theme.scss +0 -141
- package/lib/core/styles/components/overlay/_overlay-theme.scss +0 -38
- package/lib/core/styles/components/paginator/_paginator-theme.scss +0 -50
- package/lib/core/styles/components/progress/circular/_circular-theme.scss +0 -73
- package/lib/core/styles/components/progress/linear/_linear-theme.scss +0 -68
- package/lib/core/styles/components/query-builder/_query-builder-theme.scss +0 -101
- package/lib/core/styles/components/radio/_radio-theme.scss +0 -136
- package/lib/core/styles/components/rating/_rating-theme.scss +0 -43
- package/lib/core/styles/components/ripple/_ripple-theme.scss +0 -39
- package/lib/core/styles/components/scrollbar/scrollbar-theme.scss +0 -82
- package/lib/core/styles/components/select/_select-theme.scss +0 -93
- package/lib/core/styles/components/slider/_slider-theme.scss +0 -187
- package/lib/core/styles/components/snackbar/_snackbar-theme.scss +0 -64
- package/lib/core/styles/components/splitter/_splitter-theme.scss +0 -71
- package/lib/core/styles/components/stepper/_stepper-theme.scss +0 -492
- package/lib/core/styles/components/switch/_switch-theme.scss +0 -264
- package/lib/core/styles/components/tabs/_tabs-theme.scss +2 -261
- package/lib/core/styles/components/time-picker/_time-picker-theme.scss +0 -156
- package/lib/core/styles/components/toast/_toast-theme.scss +0 -69
- package/lib/core/styles/components/tooltip/_tooltip-theme.scss +0 -62
- package/lib/core/styles/components/tree/_tree-theme.scss +0 -128
- package/lib/core/styles/components/watermark/_watermark-theme.scss +0 -60
- package/lib/core/styles/themes/_core.scss +2 -0
- package/lib/core/styles/themes/_index.scss +1 -0
- package/lib/core/styles/themes/generators/_base.scss +11 -0
- package/lib/core/styles/typography/_bootstrap.scss +4 -0
- package/lib/core/styles/typography/_fluent.scss +5 -0
- package/lib/core/styles/typography/_indigo.scss +6 -0
- package/lib/core/styles/typography/_material.scss +2 -0
- package/package.json +2 -2
- package/styles/igniteui-angular-dark.css +1 -1
- package/styles/igniteui-angular.css +1 -1
- package/styles/igniteui-bootstrap-dark.css +1 -1
- package/styles/igniteui-bootstrap-light.css +1 -1
- package/styles/igniteui-dark-green.css +1 -1
- package/styles/igniteui-fluent-dark-excel.css +1 -1
- package/styles/igniteui-fluent-dark-word.css +1 -1
- package/styles/igniteui-fluent-dark.css +1 -1
- package/styles/igniteui-fluent-light-excel.css +1 -1
- package/styles/igniteui-fluent-light-word.css +1 -1
- package/styles/igniteui-fluent-light.css +1 -1
- package/styles/igniteui-indigo-dark.css +1 -1
- package/styles/igniteui-indigo-light.css +1 -1
- package/styles/maps/igniteui-angular-dark.css.map +1 -1
- package/styles/maps/igniteui-angular.css.map +1 -1
- package/styles/maps/igniteui-bootstrap-dark.css.map +1 -1
- package/styles/maps/igniteui-bootstrap-light.css.map +1 -1
- package/styles/maps/igniteui-dark-green.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark-excel.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark-word.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark.css.map +1 -1
- package/styles/maps/igniteui-fluent-light-excel.css.map +1 -1
- package/styles/maps/igniteui-fluent-light-word.css.map +1 -1
- package/styles/maps/igniteui-fluent-light.css.map +1 -1
- package/styles/maps/igniteui-indigo-dark.css.map +1 -1
- package/styles/maps/igniteui-indigo-light.css.map +1 -1
- package/lib/core/styles/components/button/_contained-button-theme.scss +0 -302
- package/lib/core/styles/components/button/_fab-button-theme.scss +0 -296
- package/lib/core/styles/components/button/_flat-button-theme.scss +0 -356
- package/lib/core/styles/components/button/_outlined-button-theme.scss +0 -419
- package/lib/core/styles/components/icon-button/_contained-icon-button-theme.scss +0 -196
- package/lib/core/styles/components/icon-button/_flat-icon-button-theme.scss +0 -188
- package/lib/core/styles/components/icon-button/_outlined-icon-button-theme.scss +0 -232
|
@@ -1,89 +1,5 @@
|
|
|
1
1
|
@use 'sass:map';
|
|
2
|
-
@use 'sass:meta';
|
|
3
2
|
@use '../../base' as *;
|
|
4
|
-
@use '../../themes/schemas' as *;
|
|
5
|
-
|
|
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
|
-
/// @param {Map} $schema [$light-material-schema] - The schema used as basis for styling the component.
|
|
14
|
-
/// @param {Color} $background-color [null] - The summaries background color is inherited form igx-grid__tfoot
|
|
15
|
-
/// @param {Color} $label-color [null] - The summaries label color.
|
|
16
|
-
/// @param {Color} $result-color [null] - The summaries value/result color.
|
|
17
|
-
/// @param {Color} $border-color [null] - The summaries border color.
|
|
18
|
-
/// @param {Color} $pinned-border-width [null] - The border width of the summary panel.
|
|
19
|
-
/// @param {Color} $pinned-border-style [null] - The border style of the summary panel.
|
|
20
|
-
/// @param {Color} $pinned-border-color [null] - The border color of the summary panel.
|
|
21
|
-
/// @param {Color} $label-hover-color [null] - The summaries hover label color.
|
|
22
|
-
/// @requires $light-material-schema
|
|
23
|
-
/// @example scss Change the summaries background and labels color
|
|
24
|
-
/// $my-summary-theme: grid-summary-theme(
|
|
25
|
-
/// $background-color: black,
|
|
26
|
-
/// $label-color: white
|
|
27
|
-
/// );
|
|
28
|
-
/// // Pass the theme to the css-vars mixin
|
|
29
|
-
/// @include css-vars($my-summary-theme);
|
|
30
|
-
@function grid-summary-theme(
|
|
31
|
-
$schema: $light-material-schema,
|
|
32
|
-
|
|
33
|
-
$background-color: null,
|
|
34
|
-
$label-color: null,
|
|
35
|
-
$result-color: null,
|
|
36
|
-
$border-color: null,
|
|
37
|
-
$pinned-border-width: null,
|
|
38
|
-
$pinned-border-style: null,
|
|
39
|
-
$pinned-border-color: null,
|
|
40
|
-
$label-hover-color: null
|
|
41
|
-
) {
|
|
42
|
-
$name: 'igx-grid-summary';
|
|
43
|
-
$selector: '.igx-grid-summary';
|
|
44
|
-
$grid-summary-schema: ();
|
|
45
|
-
|
|
46
|
-
@if map.has-key($schema, 'grid-summary') {
|
|
47
|
-
$grid-summary-schema: map.get($schema, 'grid-summary');
|
|
48
|
-
} @else {
|
|
49
|
-
$grid-summary-schema: $schema;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
$theme: digest-schema($grid-summary-schema);
|
|
53
|
-
|
|
54
|
-
@if not($label-color) and $background-color {
|
|
55
|
-
$label-color: adaptive-contrast(var(--background-color));
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
@if not($label-hover-color) and $label-color {
|
|
59
|
-
$label-hover-color: var(--label-color);
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
@if not($result-color) and $background-color {
|
|
63
|
-
$result-color: adaptive-contrast(var(--background-color));
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
@if not($border-color) and $background-color {
|
|
67
|
-
$border-color: hsla(from adaptive-contrast(var(--background-color)) h s l / .26);
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
@if not($pinned-border-color) and $background-color {
|
|
71
|
-
$pinned-border-color: hsla(from adaptive-contrast(var(--background-color)) h s l / .26);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
@return extend($theme, (
|
|
75
|
-
name: $name,
|
|
76
|
-
selector: $selector,
|
|
77
|
-
background-color: $background-color,
|
|
78
|
-
label-color: $label-color,
|
|
79
|
-
result-color: $result-color,
|
|
80
|
-
border-color: $border-color,
|
|
81
|
-
pinned-border-width: $pinned-border-width,
|
|
82
|
-
pinned-border-style: $pinned-border-style,
|
|
83
|
-
pinned-border-color: $pinned-border-color,
|
|
84
|
-
label-hover-color: $label-hover-color,
|
|
85
|
-
));
|
|
86
|
-
}
|
|
87
3
|
|
|
88
4
|
/// @deprecated Use the `css-vars` mixin instead.
|
|
89
5
|
/// @see {mixin} css-vars
|
|
@@ -1,97 +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
|
-
/// @author <a href="https://github.com/simeonoff" target="_blank">Simeon Simeonoff</a>
|
|
10
|
-
////
|
|
11
|
-
|
|
12
|
-
/// @param {Map} $schema [$light-material-schema] - The schema used as basis for styling the component.
|
|
13
|
-
/// @param {Color} $background-color [null] - The toolbar background color.
|
|
14
|
-
/// @param {Color} $title-text-color [null] - The toolbar title text color.
|
|
15
|
-
/// @param {Color} $dropdown-background [null] - The toolbar drop-down background color.
|
|
16
|
-
/// @param {Color} $item-text-color [null] - The toolbar drop-down item text color.
|
|
17
|
-
/// @param {Color} $item-hover-background [null] - The toolbar drop-down item hover background color.
|
|
18
|
-
/// @param {Color} $item-hover-text-color [null] - The toolbar drop-down item hover text color.
|
|
19
|
-
/// @param {Color} $item-focus-background [null] - The toolbar drop-down item focus background color.
|
|
20
|
-
/// @param {Color} $item-focus-text-color [null] - The toolbar drop-down item focus text color.
|
|
21
|
-
/// @param {Color} $border-color [null] - The toolbar border-bottom color.
|
|
22
|
-
/// @requires $light-material-schema
|
|
23
|
-
/// @example scss Change the toolbar background color
|
|
24
|
-
/// $my-toolbar-theme: grid-toolbar-theme(
|
|
25
|
-
/// $background-color: black
|
|
26
|
-
/// );
|
|
27
|
-
/// // Pass the theme to the css-vars mixin
|
|
28
|
-
/// @include css-vars($my-toolbar-theme);
|
|
29
|
-
@function grid-toolbar-theme(
|
|
30
|
-
$schema: $light-material-schema,
|
|
31
|
-
|
|
32
|
-
$background-color: null,
|
|
33
|
-
$title-text-color: null,
|
|
34
|
-
|
|
35
|
-
$dropdown-background: null,
|
|
36
|
-
$item-text-color: null,
|
|
37
|
-
$item-hover-background: null,
|
|
38
|
-
$item-hover-text-color: null,
|
|
39
|
-
$item-focus-background: null,
|
|
40
|
-
$item-focus-text-color: null,
|
|
41
|
-
$size: null,
|
|
42
|
-
$border-color: null,
|
|
43
|
-
) {
|
|
44
|
-
$name: 'igx-grid-toolbar';
|
|
45
|
-
$selector: 'igx-grid-toolbar, .igx-grid-toolbar__dd-list';
|
|
46
|
-
$grid-toolbar-schema: ();
|
|
47
|
-
|
|
48
|
-
@if map.has-key($schema, 'grid-toolbar') {
|
|
49
|
-
$grid-toolbar-schema: map.get($schema, 'grid-toolbar');
|
|
50
|
-
} @else {
|
|
51
|
-
$grid-toolbar-schema: $schema;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
$theme: digest-schema($grid-toolbar-schema);
|
|
55
|
-
|
|
56
|
-
@if not($title-text-color) and $background-color {
|
|
57
|
-
$title-text-color: adaptive-contrast(var(--background-color));
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
@if not($item-text-color) and $dropdown-background {
|
|
61
|
-
$item-text-color: adaptive-contrast(var(--dropdown-background));
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
@if not($item-hover-text-color) and $dropdown-background {
|
|
65
|
-
$item-hover-text-color: adaptive-contrast(var(--dropdown-background));
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
@if not($item-focus-text-color) and $dropdown-background {
|
|
69
|
-
$item-focus-text-color: adaptive-contrast(var(--dropdown-background));
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
@if not($item-hover-text-color) and $item-hover-background {
|
|
73
|
-
$item-hover-text-color: adaptive-contrast(var(--item-hover-background));
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
@if not($item-focus-text-color) and $item-focus-background {
|
|
77
|
-
$item-focus-text-color: adaptive-contrast(var(--item-focus-background));
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
@return extend($theme, (
|
|
81
|
-
name: $name,
|
|
82
|
-
selector: $selector,
|
|
83
|
-
background-color: $background-color,
|
|
84
|
-
title-text-color: $title-text-color,
|
|
85
|
-
item-text-color: $item-text-color,
|
|
86
|
-
dropdown-background: $dropdown-background,
|
|
87
|
-
item-hover-background: $item-hover-background,
|
|
88
|
-
item-hover-text-color: $item-hover-text-color,
|
|
89
|
-
item-focus-background: $item-focus-background,
|
|
90
|
-
item-focus-text-color: $item-focus-text-color,
|
|
91
|
-
size: $size,
|
|
92
|
-
border-color: $border-color
|
|
93
|
-
));
|
|
94
|
-
}
|
|
95
3
|
|
|
96
4
|
/// @deprecated Use the `css-vars` mixin instead.
|
|
97
5
|
/// @see {mixin} css-vars
|
|
@@ -1,60 +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/simeonoff" target="_blank">Simeon Simeonoff</a>
|
|
9
|
-
////
|
|
10
|
-
|
|
11
|
-
/// If only background color(s) specified, text color(s) will be assigned automatically to a contrasting color.
|
|
12
|
-
/// @param {Map} $schema [$light-material-schema] - The schema used as basis for styling the component.
|
|
13
|
-
/// @param {Color} $resting-background [null]- The background color used for the highlight in its resting state.
|
|
14
|
-
/// @param {Color} $resting-color [null] - The text color used for the highlight in its resting state.
|
|
15
|
-
/// @param {Color} $active-background [null] - The background color used for the highlight in its active state.
|
|
16
|
-
/// @param {Color} $active-color [null] - The text color used for the highlight in its active state.
|
|
17
|
-
/// @requires $light-material-schema
|
|
18
|
-
/// @example scss Change the background and icon colors in icon highlight
|
|
19
|
-
/// $my-highlight-theme: highlight-theme($resting-background: black, $active-color: white);
|
|
20
|
-
/// // Pass the theme to the css-vars() mixin
|
|
21
|
-
/// @include css-vars($my-highlight-theme);
|
|
22
|
-
@function highlight-theme(
|
|
23
|
-
$schema: $light-material-schema,
|
|
24
|
-
$resting-background: null,
|
|
25
|
-
$resting-color: null,
|
|
26
|
-
$active-background: null,
|
|
27
|
-
$active-color: null,
|
|
28
|
-
) {
|
|
29
|
-
$name: 'igx-highlight';
|
|
30
|
-
$selector: '.igx-highlight';
|
|
31
|
-
$highlight-schema: ();
|
|
32
|
-
|
|
33
|
-
@if map.has-key($schema, 'highlight') {
|
|
34
|
-
$highlight-schema: map.get($schema, 'highlight');
|
|
35
|
-
} @else {
|
|
36
|
-
$highlight-schema: $schema;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
$theme: digest-schema($highlight-schema);
|
|
40
|
-
|
|
41
|
-
@if not($resting-color) and $resting-background {
|
|
42
|
-
$resting-color: adaptive-contrast(var(--resting-background));
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
@if not($active-color) and $active-background {
|
|
46
|
-
$active-color: adaptive-contrast(var(--active-background));
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
@return extend($theme, (
|
|
50
|
-
name: $name,
|
|
51
|
-
selector: $selector,
|
|
52
|
-
resting-background: $resting-background,
|
|
53
|
-
resting-color: $resting-color,
|
|
54
|
-
active-background: $active-background,
|
|
55
|
-
active-color: $active-color,
|
|
56
|
-
));
|
|
57
|
-
}
|
|
58
3
|
|
|
59
4
|
/// @deprecated Use the `css-vars` mixin instead.
|
|
60
5
|
/// @see {mixin} css-vars
|
|
@@ -1,48 +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/simeonoff" target="_blank">Simeon Simeonoff</a>
|
|
9
|
-
/// @author <a href="https://github.com/desig9stein" target="_blank">Marin Popov</a>
|
|
10
|
-
////
|
|
11
|
-
|
|
12
|
-
/// @param {Map} $schema [$light-material-schema] - The schema used as basis for styling the component.
|
|
13
|
-
/// @param {Color} $color [null] - The icon color.
|
|
14
|
-
/// @param {String} $size [null] - The icon size.
|
|
15
|
-
/// @param {Color} $disabled-color [null] - The disabled icon color.
|
|
16
|
-
/// @requires $light-material-schema
|
|
17
|
-
/// @example scss Change the icon color
|
|
18
|
-
/// $my-icon-theme: icon-theme($color: orange);
|
|
19
|
-
/// // Pass the theme to the css-vars() mixin
|
|
20
|
-
/// @include css-vars($my-icon-theme);
|
|
21
|
-
@function icon-theme(
|
|
22
|
-
$schema: $light-material-schema,
|
|
23
|
-
|
|
24
|
-
$color: null,
|
|
25
|
-
$size: null,
|
|
26
|
-
$disabled-color: null
|
|
27
|
-
) {
|
|
28
|
-
$name: 'igx-icon';
|
|
29
|
-
$icon-schema: ();
|
|
30
|
-
|
|
31
|
-
@if map.has-key($schema, 'icon') {
|
|
32
|
-
$icon-schema: map.get($schema, 'icon');
|
|
33
|
-
} @else {
|
|
34
|
-
$icon-schema: $schema;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
$theme: digest-schema($icon-schema);
|
|
38
|
-
|
|
39
|
-
@return extend($theme, (
|
|
40
|
-
name: $name,
|
|
41
|
-
color: $color,
|
|
42
|
-
size: $size,
|
|
43
|
-
disabled-color: $disabled-color,
|
|
44
|
-
));
|
|
45
|
-
}
|
|
46
3
|
|
|
47
4
|
// stylelint-disable font-family-no-missing-generic-family-keyword
|
|
48
5
|
/// @deprecated Use the `css-vars` mixin instead.
|
|
@@ -1,119 +1,7 @@
|
|
|
1
1
|
@use 'sass:map';
|
|
2
2
|
@use 'sass:meta';
|
|
3
3
|
@use 'sass:list';
|
|
4
|
-
@use 'sass:color';
|
|
5
4
|
@use '../../base' as *;
|
|
6
|
-
@use '../../themes/schemas' as *;
|
|
7
|
-
|
|
8
|
-
@forward './flat-icon-button-theme';
|
|
9
|
-
@forward './contained-icon-button-theme';
|
|
10
|
-
@forward './outlined-icon-button-theme';
|
|
11
|
-
|
|
12
|
-
////
|
|
13
|
-
/// @group themes
|
|
14
|
-
/// @access public
|
|
15
|
-
/// @author <a href="https://github.com/SisIvanova" target="_blank">Silvia Ivanova</a>
|
|
16
|
-
////
|
|
17
|
-
|
|
18
|
-
@function icon-button-theme(
|
|
19
|
-
$schema: $light-material-schema,
|
|
20
|
-
|
|
21
|
-
$background: null,
|
|
22
|
-
$foreground: null,
|
|
23
|
-
$shadow-color: null,
|
|
24
|
-
|
|
25
|
-
$hover-background: null,
|
|
26
|
-
$hover-foreground: null,
|
|
27
|
-
|
|
28
|
-
$focus-background: null,
|
|
29
|
-
$focus-foreground: null,
|
|
30
|
-
|
|
31
|
-
$focus-hover-background: null,
|
|
32
|
-
$focus-hover-foreground: null,
|
|
33
|
-
|
|
34
|
-
$active-background: null,
|
|
35
|
-
$active-foreground: null,
|
|
36
|
-
|
|
37
|
-
$border-radius: null,
|
|
38
|
-
$border-color: null,
|
|
39
|
-
$focus-border-color: null,
|
|
40
|
-
|
|
41
|
-
$disabled-background: null,
|
|
42
|
-
$disabled-foreground: null,
|
|
43
|
-
$disabled-border-color: null,
|
|
44
|
-
|
|
45
|
-
$size: null,
|
|
46
|
-
) {
|
|
47
|
-
$name: 'igx-icon-button';
|
|
48
|
-
$icon-button-schema: ();
|
|
49
|
-
|
|
50
|
-
@if map.has-key($schema, 'icon-button') {
|
|
51
|
-
$icon-button-schema: map.get($schema, 'icon-button');
|
|
52
|
-
} @else {
|
|
53
|
-
$icon-button-schema: $schema;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
$themes: ();
|
|
57
|
-
$variant: null;
|
|
58
|
-
|
|
59
|
-
@each $_name, $_schema in $icon-button-schema {
|
|
60
|
-
@if not($variant) {
|
|
61
|
-
$variant: map.get($schema, '_meta', 'theme');
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
@if not($foreground) and $background {
|
|
65
|
-
$foreground: adaptive-contrast(var(--background));
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
@if not($hover-foreground) and $hover-background {
|
|
69
|
-
$hover-foreground: adaptive-contrast(var(--hover-background));
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
@if not($focus-foreground) and $focus-background {
|
|
73
|
-
$focus-foreground: adaptive-contrast(var(--focus-background));
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
@if not($focus-hover-foreground) and $focus-hover-background {
|
|
77
|
-
$focus-hover-foreground: adaptive-contrast(var(--focus-hover-background));
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
$themes: map.merge($themes, (
|
|
81
|
-
$_name: extend( digest-schema($_schema), (
|
|
82
|
-
name: $name,
|
|
83
|
-
background: $background,
|
|
84
|
-
foreground: $foreground,
|
|
85
|
-
shadow-color: $shadow-color,
|
|
86
|
-
|
|
87
|
-
hover-background: $hover-background,
|
|
88
|
-
hover-foreground: $hover-foreground,
|
|
89
|
-
|
|
90
|
-
focus-background: $focus-background,
|
|
91
|
-
focus-foreground: $focus-foreground,
|
|
92
|
-
|
|
93
|
-
focus-hover-background: $focus-hover-background,
|
|
94
|
-
focus-hover-foreground: $focus-hover-foreground,
|
|
95
|
-
|
|
96
|
-
active-background: $active-background,
|
|
97
|
-
active-foreground: $active-foreground,
|
|
98
|
-
|
|
99
|
-
border-radius: $border-radius,
|
|
100
|
-
border-color: $border-color,
|
|
101
|
-
focus-border-color: $focus-border-color,
|
|
102
|
-
|
|
103
|
-
disabled-background: $disabled-background,
|
|
104
|
-
disabled-foreground: $disabled-foreground,
|
|
105
|
-
disabled-border-color: $disabled-border-color,
|
|
106
|
-
size: $size,
|
|
107
|
-
))
|
|
108
|
-
));
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
@return (
|
|
112
|
-
name: $name,
|
|
113
|
-
variant: $variant,
|
|
114
|
-
themes: $themes,
|
|
115
|
-
);
|
|
116
|
-
}
|
|
117
5
|
|
|
118
6
|
/// @deprecated Use the `css-vars` mixin instead.
|
|
119
7
|
/// @see {mixin} css-vars
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
@use '../../base' as *;
|
|
2
|
+
@use 'sass:string';
|
|
3
|
+
|
|
4
|
+
/// @access private
|
|
5
|
+
@mixin component {
|
|
6
|
+
@include b(igx-file-input) {
|
|
7
|
+
$this: bem--selector-to-string(&);
|
|
8
|
+
|
|
9
|
+
@include register-component(
|
|
10
|
+
$name: string.slice($this, 2, -1),
|
|
11
|
+
$deps: (igx-input-group)
|
|
12
|
+
);
|
|
13
|
+
|
|
14
|
+
@include e(file-names) {
|
|
15
|
+
@extend %file-names !optional;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
@include e(upload-button-wrapper) {
|
|
19
|
+
@extend %upload-button-wrapper !optional;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
@include e(upload-button) {
|
|
23
|
+
@extend %upload-button !optional;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
@include e(clear-icon) {
|
|
27
|
+
@extend %clear-icon !optional;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
@include m(filled) {
|
|
31
|
+
@include e(file-names) {
|
|
32
|
+
@extend %file-names--filled !optional;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
@include e(upload-button-wrapper) {
|
|
36
|
+
@extend %upload-button-wrapper--filled !optional;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
@include e(upload-button) {
|
|
40
|
+
@extend %upload-button--filled !optional;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
@include m(focused) {
|
|
45
|
+
@include e(file-names) {
|
|
46
|
+
@extend %file-names--focused !optional;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
@include e(upload-button-wrapper) {
|
|
50
|
+
@extend %upload-button-wrapper--focused !optional;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
@include e(upload-button) {
|
|
54
|
+
@extend %upload-button--focused !optional;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
@include m(disabled) {
|
|
59
|
+
@include e(file-names) {
|
|
60
|
+
@extend %file-names--disabled !optional;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
@include e(upload-button-wrapper) {
|
|
64
|
+
@extend %upload-button-wrapper--disabled !optional;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
@include e(upload-button) {
|
|
68
|
+
@extend %upload-button--disabled !optional;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
@use 'sass:map';
|
|
2
|
+
@use 'sass:meta';
|
|
3
|
+
@use '../../base' as *;
|
|
4
|
+
@use '../../themes/schemas' as *;
|
|
5
|
+
@use 'igniteui-theming/sass/animations/easings' as *;
|
|
6
|
+
|
|
7
|
+
////
|
|
8
|
+
/// @group themes
|
|
9
|
+
/// @access public
|
|
10
|
+
////
|
|
11
|
+
|
|
12
|
+
/// @param {Map} $schema [$light-material-schema] - The schema used as basis for styling the component.
|
|
13
|
+
/// @param {Color} $file-names-background [null] - The file names container background color.
|
|
14
|
+
/// @param {Color} $file-names-background--focused [null] - The file names container background color when the file input is focused.
|
|
15
|
+
/// @param {Color} $file-names-background--filled [null] - The file names container background color when the file input is filled.
|
|
16
|
+
/// @param {Color} $file-names-background--disabled [null] - The file names container background color when the file input is disabled.
|
|
17
|
+
/// @param {Color} $file-names-foreground [null] - The file names color.
|
|
18
|
+
/// @param {Color} $file-names-foreground--focused [null] - The file names color when the file input is focused.
|
|
19
|
+
/// @param {Color} $file-names-foreground--filled [null] - The file names color when the file input is filled.
|
|
20
|
+
/// @param {Color} $file-names-foreground--disabled [null] - The file names color when the file input is disabled.
|
|
21
|
+
/// @param {Color} $file-selector-button-background [null] - The file input selector button background color.
|
|
22
|
+
/// @param {Color} $file-selector-button-background--focused [null] - The selector button background color when the file input is focused.
|
|
23
|
+
/// @param {Color} $file-selector-button-background--filled [null] - The selector button background color when the file input is filled.
|
|
24
|
+
/// @param {Color} $file-selector-button-background--disabled [null] - The selector button background color when the file input is disabled.
|
|
25
|
+
/// @param {Color} $file-selector-button-foreground [null] - The file input selector button foreground color.
|
|
26
|
+
/// @param {Color} $file-selector-button-foreground--focused [null] - The selector button foreground color when the file input is focused.
|
|
27
|
+
/// @param {Color} $file-selector-button-foreground--filled [null] - The selector button foreground color when the file input is filled.
|
|
28
|
+
/// @param {Color} $file-selector-button-foreground--disabled [null] - The selector button foreground color when the file input is disabled.
|
|
29
|
+
/// @example scss Change the focused border and label colors
|
|
30
|
+
/// $my-file-input-theme: file-input-theme($file-names-foreground: #09f);
|
|
31
|
+
/// // Pass the theme to the css-vars() mixin
|
|
32
|
+
/// @include css-vars($my-file-input-theme);
|
|
33
|
+
@function file-input-theme(
|
|
34
|
+
$schema: $light-material-schema,
|
|
35
|
+
$file-names-background: null,
|
|
36
|
+
$file-names-background--focused: null,
|
|
37
|
+
$file-names-background--filled: null,
|
|
38
|
+
$file-names-background--disabled: null,
|
|
39
|
+
$file-names-foreground: null,
|
|
40
|
+
$file-names-foreground--focused: null,
|
|
41
|
+
$file-names-foreground--filled: null,
|
|
42
|
+
$file-names-foreground--disabled: null,
|
|
43
|
+
|
|
44
|
+
$file-selector-button-background: null,
|
|
45
|
+
$file-selector-button-background--focused: null,
|
|
46
|
+
$file-selector-button-background--filled: null,
|
|
47
|
+
$file-selector-button-background--disabled: null,
|
|
48
|
+
$file-selector-button-foreground: null,
|
|
49
|
+
$file-selector-button-foreground--focused: null,
|
|
50
|
+
$file-selector-button-foreground--filled: null,
|
|
51
|
+
$file-selector-button-foreground--disabled: null,
|
|
52
|
+
) {
|
|
53
|
+
$name: 'igx-file-input';
|
|
54
|
+
|
|
55
|
+
// the variable are scoped to the selector so no other input except the file type will have them.
|
|
56
|
+
$selector: '.igx-file-input';
|
|
57
|
+
|
|
58
|
+
$file-input-schema: ();
|
|
59
|
+
@if map.has-key($schema, 'file-input') {
|
|
60
|
+
$file-input-schema: map.get($schema, 'file-input');
|
|
61
|
+
} @else {
|
|
62
|
+
$file-input-schema: $schema;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
$theme: digest-schema($file-input-schema);
|
|
66
|
+
|
|
67
|
+
@return extend(
|
|
68
|
+
$theme,
|
|
69
|
+
(
|
|
70
|
+
name: $name,
|
|
71
|
+
selector: $selector,
|
|
72
|
+
file-names-background: $file-names-background,
|
|
73
|
+
file-names-background--focused: $file-names-background--focused,
|
|
74
|
+
file-names-background--filled: $file-names-background--filled,
|
|
75
|
+
file-names-background--disabled: $file-names-background--disabled,
|
|
76
|
+
file-names-foreground: $file-names-foreground,
|
|
77
|
+
file-names-foreground--focused: $file-names-foreground--focused,
|
|
78
|
+
file-names-foreground--filled: $file-names-foreground--filled,
|
|
79
|
+
file-names-foreground--disabled: $file-names-foreground--disabled,
|
|
80
|
+
|
|
81
|
+
file-selector-button-background: $file-selector-button-background,
|
|
82
|
+
file-selector-button-background--focused: $file-selector-button-background--focused,
|
|
83
|
+
file-selector-button-background--filled: $file-selector-button-background--filled,
|
|
84
|
+
file-selector-button-background--disabled: $file-selector-button-background--disabled,
|
|
85
|
+
file-selector-button-foreground: $file-selector-button-foreground,
|
|
86
|
+
file-selector-button-foreground--focused: $file-selector-button-foreground--focused,
|
|
87
|
+
file-selector-button-foreground--filled: $file-selector-button-foreground--filled,
|
|
88
|
+
file-selector-button-foreground--disabled: $file-selector-button-foreground--disabled,
|
|
89
|
+
),
|
|
90
|
+
);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/// @deprecated Use the `css-vars` mixin instead.
|
|
94
|
+
/// @see {mixin} css-vars
|
|
95
|
+
/// @param {Map} $theme - The theme used to style the component.
|
|
96
|
+
@mixin file-input($theme) {
|
|
97
|
+
@include css-vars($theme);
|
|
98
|
+
$variant: map.get($theme, '_meta', 'theme');
|
|
99
|
+
|
|
100
|
+
%file-names {
|
|
101
|
+
color: var-get($theme, 'file-names-foreground');
|
|
102
|
+
background-color: var-get($theme, 'file-names-background');
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
%file-names--filled {
|
|
106
|
+
color: var-get($theme, 'file-names-foreground--filled');
|
|
107
|
+
background-color: var-get($theme, 'file-names-background--filled');
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
%file-names--focused {
|
|
111
|
+
color: var-get($theme, 'file-names-foreground--focused');
|
|
112
|
+
background-color: var-get($theme, 'file-names-background--focused');
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
%file-names--disabled {
|
|
116
|
+
color: var-get($theme, 'file-names-foreground--disabled');
|
|
117
|
+
background-color: var-get($theme, 'file-names-background--disabled');
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
%upload-button-wrapper {
|
|
121
|
+
background: #{var-get($theme, 'file-selector-button-background')}
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
%upload-button {
|
|
125
|
+
border-inline: 0;
|
|
126
|
+
|
|
127
|
+
// That button can't have :focus, :active, :hover states, that's why we dont need to override them here.
|
|
128
|
+
--foreground: #{var-get($theme, 'file-selector-button-foreground')};
|
|
129
|
+
--background: transparent;
|
|
130
|
+
--resting-elevation: none;
|
|
131
|
+
--shadow-color: none;
|
|
132
|
+
--border-radius: 0;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
%upload-button-wrapper--filled {
|
|
137
|
+
color: #{var-get($theme, 'file-selector-button-foreground--filled')};
|
|
138
|
+
background: #{var-get($theme, 'file-selector-button-background--filled')};
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
%upload-button--filled {
|
|
142
|
+
--foreground: #{var-get($theme, 'file-selector-button-foreground--filled')};
|
|
143
|
+
--background: transparent;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
%upload-button-wrapper--focused {
|
|
147
|
+
color: #{var-get($theme, 'file-selector-button-foreground--focused')};
|
|
148
|
+
background: #{var-get($theme, 'file-selector-button-background--focused')};
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
%upload-button--focused {
|
|
152
|
+
--foreground: #{var-get($theme, 'file-selector-button-foreground--focused')};
|
|
153
|
+
--background: transparent;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
%upload-button-wrapper--disabled {
|
|
157
|
+
color: #{var-get($theme, 'file-selector-button-foreground--disabled')};
|
|
158
|
+
background: #{var-get($theme, 'file-selector-button-background--disabled')};
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
%upload-button--disabled {
|
|
162
|
+
--disabled-foreground: #{var-get($theme, 'file-selector-button-foreground--disabled')};
|
|
163
|
+
--disabled-background: transparent;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
%clear-icon {
|
|
167
|
+
&:focus {
|
|
168
|
+
@if $variant == 'indigo' or $variant == 'fluent' {
|
|
169
|
+
background-color: color($color: 'primary', $variant: 500);
|
|
170
|
+
color: contrast-color($color: 'primary', $variant: 600);
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
@if $variant == 'material' {
|
|
174
|
+
background-color: transparent;
|
|
175
|
+
color: color($color: 'secondary', $variant: 500);
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
@if $variant == 'bootstrap' {
|
|
179
|
+
color: contrast-color($color: 'primary', $variant: 600);
|
|
180
|
+
background-color: color($color: 'primary', $variant: 500);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
/// Adds typography styles for the .igx-file-input.
|
|
187
|
+
/// Uses the 'subtitle-1', 'caption'
|
|
188
|
+
/// category from the typographic scale.
|
|
189
|
+
/// @group typography
|
|
190
|
+
/// @param {Map} $categories [(file-text: 'subtitle-1')] - The categories from the typographic scale used for type styles.
|
|
191
|
+
@mixin file-input-typography(
|
|
192
|
+
$categories: (
|
|
193
|
+
file-text: 'subtitle-1'
|
|
194
|
+
)
|
|
195
|
+
) {
|
|
196
|
+
$file-text: map.get($categories, 'file-text');
|
|
197
|
+
|
|
198
|
+
%file-names {
|
|
199
|
+
@include type-style($file-text) {
|
|
200
|
+
margin: 0;
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
}
|