@progress/kendo-theme-core 12.3.1-dev.8 → 13.0.0-dev.0

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 (99) hide show
  1. package/dist/all.css +1 -1
  2. package/dist/meta/sassdoc-data.json +2911 -446
  3. package/dist/meta/sassdoc-raw-data.json +1143 -2
  4. package/package.json +2 -2
  5. package/scss/border-radii/index.scss +0 -8
  6. package/scss/components/action-sheet/_layout.scss +1 -1
  7. package/scss/components/appbar/_theme.scss +20 -18
  8. package/scss/components/appbar/_variables.scss +4 -1
  9. package/scss/components/avatar/_layout.scss +22 -9
  10. package/scss/components/avatar/_theme.scss +36 -14
  11. package/scss/components/avatar/_variables.scss +23 -2
  12. package/scss/components/badge/_layout.scss +33 -22
  13. package/scss/components/badge/_theme.scss +36 -16
  14. package/scss/components/badge/_variables.scss +36 -3
  15. package/scss/components/bottom-navigation/_theme.scss +45 -40
  16. package/scss/components/bottom-navigation/_variables.scss +6 -1
  17. package/scss/components/breadcrumb/_layout.scss +29 -27
  18. package/scss/components/breadcrumb/_variables.scss +30 -1
  19. package/scss/components/button/_layout.scss +110 -123
  20. package/scss/components/button/_theme.scss +298 -242
  21. package/scss/components/button/_variables.scss +34 -4
  22. package/scss/components/calendar/_layout.scss +44 -46
  23. package/scss/components/calendar/_variables.scss +27 -1
  24. package/scss/components/card/_theme.scss +16 -15
  25. package/scss/components/card/_variables.scss +5 -1
  26. package/scss/components/checkbox/_layout.scss +35 -20
  27. package/scss/components/checkbox/_variables.scss +23 -2
  28. package/scss/components/chip/_layout.scss +42 -34
  29. package/scss/components/chip/_theme.scss +125 -113
  30. package/scss/components/chip/_variables.scss +46 -2
  31. package/scss/components/coloreditor/_layout.scss +37 -36
  32. package/scss/components/coloreditor/_variables.scss +37 -1
  33. package/scss/components/colorgradient/_layout.scss +47 -46
  34. package/scss/components/colorgradient/_variables.scss +36 -1
  35. package/scss/components/colorpalette/_layout.scss +15 -13
  36. package/scss/components/colorpalette/_variables.scss +18 -1
  37. package/scss/components/column-menu/_layout.scss +31 -20
  38. package/scss/components/column-menu/_variables.scss +7 -3
  39. package/scss/components/datetimepicker/_layout.scss +11 -7
  40. package/scss/components/datetimepicker/_variables.scss +16 -1
  41. package/scss/components/dialog/_theme.scss +12 -9
  42. package/scss/components/dialog/_variables.scss +5 -1
  43. package/scss/components/fab/_layout.scss +22 -12
  44. package/scss/components/fab/_theme.scss +79 -73
  45. package/scss/components/fab/_variables.scss +29 -4
  46. package/scss/components/forms/_layout.scss +8 -4
  47. package/scss/components/forms/_variables.scss +15 -1
  48. package/scss/components/gantt/_layout.scss +1 -1
  49. package/scss/components/grid/_layout.scss +112 -105
  50. package/scss/components/grid/_variables.scss +43 -4
  51. package/scss/components/icons/_layout.scss +2 -1
  52. package/scss/components/icons/_variables.scss +1 -0
  53. package/scss/components/input/_layout.scss +162 -94
  54. package/scss/components/input/_theme.scss +431 -418
  55. package/scss/components/input/_variables.scss +40 -1
  56. package/scss/components/list/_layout.scss +68 -66
  57. package/scss/components/list/_variables.scss +72 -1
  58. package/scss/components/loader/_layout.scss +75 -61
  59. package/scss/components/loader/_theme.scss +10 -10
  60. package/scss/components/loader/_variables.scss +7 -1
  61. package/scss/components/menu/_layout.scss +36 -70
  62. package/scss/components/menu/_variables.scss +34 -0
  63. package/scss/components/messagebox/_theme.scss +17 -14
  64. package/scss/components/messagebox/_variables.scss +6 -1
  65. package/scss/components/notification/_theme.scss +10 -8
  66. package/scss/components/notification/_variables.scss +3 -16
  67. package/scss/components/otp/_layout.scss +16 -13
  68. package/scss/components/otp/_variables.scss +19 -1
  69. package/scss/components/overlay/_theme.scss +12 -4
  70. package/scss/components/overlay/_variables.scss +5 -1
  71. package/scss/components/pager/_layout.scss +32 -26
  72. package/scss/components/pager/_variables.scss +24 -1
  73. package/scss/components/radio/_layout.scss +27 -18
  74. package/scss/components/radio/_variables.scss +21 -1
  75. package/scss/components/scheduler/_layout.scss +0 -1
  76. package/scss/components/signature/_layout.scss +26 -21
  77. package/scss/components/signature/_variables.scss +19 -1
  78. package/scss/components/split-button/_layout.scss +8 -2
  79. package/scss/components/suggestion/_theme.scss +34 -60
  80. package/scss/components/suggestion/_variables.scss +5 -12
  81. package/scss/components/switch/_layout.scss +60 -41
  82. package/scss/components/switch/_variables.scss +38 -1
  83. package/scss/components/table/_layout.scss +31 -26
  84. package/scss/components/table/_variables.scss +24 -1
  85. package/scss/components/tabstrip/_layout.scss +27 -23
  86. package/scss/components/tabstrip/_variables.scss +23 -1
  87. package/scss/components/timeselector/_layout.scss +34 -34
  88. package/scss/components/timeselector/_variables.scss +24 -1
  89. package/scss/components/toolbar/_layout.scss +63 -65
  90. package/scss/components/toolbar/_theme.scss +80 -70
  91. package/scss/components/toolbar/_variables.scss +25 -1
  92. package/scss/components/tooltip/_variables.scss +0 -14
  93. package/scss/components/treeview/_layout.scss +29 -26
  94. package/scss/components/treeview/_variables.scss +30 -1
  95. package/scss/components/window/_layout.scss +8 -12
  96. package/scss/components/window/_theme.scss +12 -8
  97. package/scss/components/window/_variables.scss +15 -3
  98. package/scss/functions/_default.scss +16 -0
  99. package/scss/functions/index.scss +1 -0
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@progress/kendo-theme-core",
3
3
  "description": "A collection of functions and mixins used for building themes for Kendo UI",
4
- "version": "12.3.1-dev.8",
4
+ "version": "13.0.0-dev.0",
5
5
  "author": "Progress",
6
6
  "license": "Apache-2.0",
7
7
  "keywords": [
@@ -46,5 +46,5 @@
46
46
  "directories": {
47
47
  "doc": "docs"
48
48
  },
49
- "gitHead": "66a4b42fcb672f119d011fd733654db9710025d8"
49
+ "gitHead": "38e27eadee8553fb04c4e46f57812022ff2e149b"
50
50
  }
@@ -60,12 +60,4 @@ $kendo-border-radii: map.merge($default-border-radii, $kendo-border-radii);
60
60
  --kendo-border-radius-#{$key}: #{$value};
61
61
  }
62
62
  }
63
-
64
- // Generate k-rounded-* classes
65
- // which are part of the components rendering.
66
- @each $key, $val in $kendo-border-radii {
67
- .k-rounded-#{$key} {
68
- border-radius: k-border-radius($key);
69
- }
70
- }
71
63
  }
@@ -375,7 +375,7 @@
375
375
  }
376
376
  }
377
377
 
378
- .k-colorgradient-canvas {
378
+ .k-colorgradient .k-colorgradient-canvas {
379
379
  .k-hsv-gradient {
380
380
  aspect-ratio: 1;
381
381
  height: 100%;
@@ -8,26 +8,28 @@
8
8
 
9
9
  .k-appbar {
10
10
  @include box-shadow( $kendo-appbar-box-shadow );
11
- }
12
- .k-appbar-bottom {
13
- @include box-shadow( $kendo-appbar-bottom-box-shadow );
14
- }
15
-
16
11
 
17
- // AppBar theme colors
18
- @each $name, $color in $kendo-appbar-theme-colors {
19
- .k-appbar-#{$name} {
20
- @if $name == "light" {
21
- color: $kendo-appbar-light-text;
22
- background-color: $kendo-appbar-light-bg;
23
- } @else if $name == "dark" {
24
- color: $kendo-appbar-dark-text;
25
- background-color: $kendo-appbar-dark-bg;
26
- } @else {
27
- color: k-color(on-#{$name});
28
- background-color: $color;
12
+ // AppBar theme colors
13
+ @each $name in $kendo-appbar-theme-colors {
14
+ #{k-when-default($kendo-appbar-default-theme-color, $name)}
15
+ &.k-appbar-#{$name} {
16
+ @if $name == "inherit" {
17
+ color: inherit;
18
+ background-color: inherit;
19
+ } @else if $name == "dark" {
20
+ color: $kendo-appbar-dark-text;
21
+ background-color: $kendo-appbar-dark-bg;
22
+ } @else if $name == "light" {
23
+ color: $kendo-appbar-light-text;
24
+ background-color: $kendo-appbar-light-bg;
25
+ } @else {
26
+ color: k-color(on-#{$name});
27
+ background-color: k-color(#{$name});
28
+ }
29
29
  }
30
30
  }
31
31
  }
32
-
32
+ .k-appbar-bottom {
33
+ @include box-shadow( $kendo-appbar-bottom-box-shadow );
34
+ }
33
35
  }
@@ -1,6 +1,7 @@
1
1
  @use "../../color-system/_swatch.scss" as *;
2
2
 
3
3
  // AppBar
4
+ $kendo-appbar-default-theme-color: null !default;
4
5
 
5
6
  $kendo-appbar-margin-x: null !default;
6
7
  $kendo-appbar-margin-y: null !default;
@@ -23,4 +24,6 @@ $kendo-appbar-dark-text: null !default;
23
24
  $kendo-appbar-box-shadow: null !default;
24
25
  $kendo-appbar-bottom-box-shadow: null !default;
25
26
 
26
- $kendo-appbar-theme-colors: null !default;
27
+ /// The theme colors map of the AppBar.
28
+ /// @group appbar
29
+ $kendo-appbar-theme-colors: ("inherit", "base", "primary", "secondary", "tertiary", "info", "success", "warning", "error", "dark", "light", "inverse") !default;
@@ -1,4 +1,6 @@
1
1
  @use "./_variables.scss" as *;
2
+ @use "../../functions/index.scss" as *;
3
+ @use "../../border-radii/index.scss" as *;
2
4
 
3
5
  @mixin kendo-avatar--layout-base() {
4
6
 
@@ -20,6 +22,26 @@
20
22
  *::after {
21
23
  box-sizing: border-box;
22
24
  }
25
+
26
+ // Roundness
27
+ @each $roundness in $kendo-avatar-roundness {
28
+ #{k-when-default($kendo-avatar-default-roundness, $roundness)}
29
+ &.k-rounded-#{$roundness} {
30
+ border-radius: k-border-radius($roundness);
31
+ }
32
+ }
33
+ // Null by default, overrides default border-radius
34
+ border-radius: $kendo-avatar-border-radius;
35
+
36
+ // Sizes
37
+ @each $name, $size in $kendo-avatar-sizes {
38
+ #{k-when-default($kendo-avatar-default-size, $name)}
39
+ &.k-avatar-#{$name} {
40
+ width: $size;
41
+ height: $size;
42
+ flex-basis: $size;
43
+ }
44
+ }
23
45
  }
24
46
 
25
47
 
@@ -57,15 +79,6 @@
57
79
  }
58
80
 
59
81
 
60
- // Sizes
61
- @each $name, $size in $kendo-avatar-sizes {
62
- .k-avatar-#{$name} {
63
- width: $size;
64
- height: $size;
65
- flex-basis: $size;
66
- }
67
- }
68
-
69
82
  // Shapes
70
83
  .k-avatar-square {}
71
84
 
@@ -1,3 +1,4 @@
1
+ @use "sass:map";
1
2
  @use "../../color-system/_functions.scss" as *;
2
3
  @use "../../functions/index.scss" as *;
3
4
  @use "../../_variables.scss" as *;
@@ -5,23 +6,44 @@
5
6
 
6
7
  @mixin kendo-avatar--theme-base() {
7
8
 
8
- // Solid Avatars
9
- @each $name, $color in $kendo-avatar-theme-colors {
10
- .k-avatar-solid-#{$name} {
11
- border-color: $color;
12
- color: k-color(on-#{$name});
13
- background-color: $color;
9
+ .k-avatar {
10
+ // Solid Avatars
11
+ #{k-when-default($kendo-avatar-default-fill-mode, "solid")}
12
+ &.k-avatar-solid {
13
+
14
+ @each $name in $kendo-avatar-theme-colors {
15
+ #{k-when-default($kendo-avatar-default-theme-color, $name)}
16
+ &.k-avatar-#{$name} {
17
+ @if ($name == "base") {
18
+ border-color: k-color(on-app-surface);
19
+ background: none;
20
+ color: k-color(on-app-surface);
21
+ } @else {
22
+ border-color: k-color(#{$name});
23
+ color: k-color(on-#{$name});
24
+ background-color: k-color(#{$name});
25
+ }
26
+ }
27
+ }
14
28
  }
15
- }
16
29
 
17
- // Outline avatars
18
- .k-avatar-outline {
19
- border-color: currentColor;
20
- }
30
+ // Outline avatars
31
+ #{k-when-default($kendo-avatar-default-fill-mode, "outline")}
32
+ &.k-avatar-outline {
33
+ border-color: currentColor;
34
+
35
+ @each $name in $kendo-avatar-theme-colors {
36
+ #{k-when-default($kendo-avatar-default-theme-color, $name)}
37
+ &.k-avatar-#{$name} {
38
+ background: none;
21
39
 
22
- @each $name, $color in $kendo-avatar-theme-colors {
23
- .k-avatar-outline-#{$name} {
24
- color: k-color(#{$name}-on-surface);
40
+ @if ($name == "base") {
41
+ color: k-color(on-app-surface);
42
+ } @else {
43
+ color: k-color(#{$name}-on-surface);
44
+ }
45
+ }
46
+ }
25
47
  }
26
48
  }
27
49
 
@@ -2,12 +2,33 @@
2
2
 
3
3
  // Avatar
4
4
 
5
+ $kendo-avatar-default-theme-color: null !default;
6
+ $kendo-avatar-default-fill-mode: null !default;
7
+ $kendo-avatar-default-roundness: null !default;
8
+ $kendo-avatar-default-size: null !default;
9
+
10
+ $kendo-avatar-roundness: ( "none", "sm", "md", "lg", "full" ) !default;
11
+
5
12
  $kendo-avatar-border-width: null !default;
13
+ $kendo-avatar-border-radius: null !default;
6
14
 
7
15
  $kendo-avatar-font-family: null !default;
8
16
  $kendo-avatar-font-size: null !default;
9
17
  $kendo-avatar-line-height: null !default;
10
18
 
11
- $kendo-avatar-sizes: null !default;
12
19
 
13
- $kendo-avatar-theme-colors: null !default;
20
+ $kendo-avatar-sm-size: null !default;
21
+ $kendo-avatar-md-size: null !default;
22
+ $kendo-avatar-lg-size: null !default;
23
+
24
+ /// The sizes map of the Avatar.
25
+ /// @group avatar
26
+ $kendo-avatar-sizes: (
27
+ sm: $kendo-avatar-sm-size,
28
+ md: $kendo-avatar-md-size,
29
+ lg: $kendo-avatar-lg-size
30
+ ) !default;
31
+
32
+ /// The theme colors map of the Avatar.
33
+ /// @group avatar
34
+ $kendo-avatar-theme-colors: ("base", "primary", "secondary", "tertiary", "info", "success", "warning", "error", "dark", "light", "inverse") !default;
@@ -1,4 +1,6 @@
1
1
  @use "sass:map";
2
+ @use "../../functions/index.scss" as *;
3
+ @use "../../border-radii/index.scss" as *;
2
4
  @use "../../color-system/_functions.scss" as *;
3
5
  @use "./_variables.scss" as *;
4
6
  @use "../../z-index/index.scss" as *;
@@ -28,6 +30,37 @@
28
30
  *::after {
29
31
  box-sizing: border-box;
30
32
  }
33
+
34
+ // Roundness
35
+ @each $roundness in $kendo-badge-roundness {
36
+ #{k-when-default($kendo-badge-default-roundness, $roundness)}
37
+ &.k-rounded-#{$roundness} {
38
+ border-radius: k-border-radius($roundness);
39
+ }
40
+ }
41
+
42
+ // Badge sizes
43
+ @each $size, $size-props in $kendo-badge-sizes {
44
+ $_padding-x: map.get( $size-props, padding-x );
45
+ $_padding-y: map.get( $size-props, padding-y );
46
+ $_font-size: map.get( $size-props, font-size );
47
+ $_line-height: map.get( $size-props, line-height );
48
+ $_min-width: map.get( $size-props, min-width );
49
+
50
+ #{k-when-default($kendo-badge-default-size, $size)}
51
+ &.k-badge-#{$size} {
52
+ padding-block: $_padding-y;
53
+ padding-inline: $_padding-x;
54
+ font-size: $_font-size;
55
+ line-height: $_line-height;
56
+ min-width: $_min-width;
57
+
58
+ &:empty {
59
+ padding: $_padding-y;
60
+ min-width: auto;
61
+ }
62
+ }
63
+ }
31
64
  }
32
65
  .k-badge > * {
33
66
  color: inherit;
@@ -56,28 +89,6 @@
56
89
  }
57
90
 
58
91
 
59
- // Badge sizes
60
- @each $size, $size-props in $kendo-badge-sizes {
61
- $_padding-x: map.get( $size-props, padding-x );
62
- $_padding-y: map.get( $size-props, padding-y );
63
- $_font-size: map.get( $size-props, font-size );
64
- $_line-height: map.get( $size-props, line-height );
65
- $_min-width: map.get( $size-props, min-width );
66
-
67
- .k-badge-#{$size} {
68
- padding-block: $_padding-y;
69
- padding-inline: $_padding-x;
70
- font-size: $_font-size;
71
- line-height: $_line-height;
72
- min-width: $_min-width;
73
-
74
- &:empty {
75
- padding: $_padding-y;
76
- min-width: auto;
77
- }
78
- }
79
- }
80
-
81
92
  kendo-badge-container {
82
93
  display: inline-block;
83
94
  }
@@ -1,29 +1,49 @@
1
+ @use "sass:map";
1
2
  @use "../../functions/index.scss" as *;
2
3
  @use "../../color-system/_functions.scss" as *;
3
4
  @use "_variables.scss" as *;
4
5
 
5
6
  @mixin kendo-badge--theme-base() {
6
7
 
7
- // Solid badges
8
- @each $name, $color in $kendo-badge-theme-colors {
9
- .k-badge-solid-#{$name} {
10
- border-color: $color;
11
- color: k-color(on-#{$name});
12
- background-color: $color;
8
+ .k-badge {
9
+ // Solid badges
10
+ #{k-when-default($kendo-badge-default-fill-mode, "solid")}
11
+ &.k-badge-solid {
12
+ @each $name in $kendo-badge-theme-colors {
13
+ #{k-when-default($kendo-badge-default-theme-color, $name)}
14
+ &.k-badge-#{$name} {
15
+ @if ($name == "base") {
16
+ background: none;
17
+ color: k-color(on-app-surface);
18
+ border-color: transparent;
19
+ } @else {
20
+ border-color: k-color(#{$name});
21
+ color: k-color(on-#{$name});
22
+ background-color: k-color(#{$name});
23
+ }
24
+ }
25
+ }
13
26
  }
14
- }
15
27
 
16
- // Outline badges
17
- .k-badge-outline {
18
- color: k-color(base-on-surface);
19
- border-color: currentColor;
20
- background-color: transparent;
21
- }
28
+ // Outline badges
29
+ #{k-when-default($kendo-badge-default-fill-mode, "outline")}
30
+ &.k-badge-outline {
31
+ color: k-color(base-on-surface);
32
+ border-color: currentColor;
33
+ background-color: transparent;
22
34
 
23
- @each $name, $color in $kendo-badge-theme-colors {
24
- .k-badge-outline-#{$name} {
25
- color: k-color(#{$name}-on-surface);
35
+ @each $name in $kendo-badge-theme-colors {
36
+ #{k-when-default($kendo-badge-default-theme-color, $name)}
37
+ &.k-badge-#{$name} {
38
+ @if ($name == "base") {
39
+ color: k-color(on-app-surface);
40
+ } @else {
41
+ color: k-color(#{$name}-on-surface);
42
+ }
43
+ }
44
+ }
26
45
  }
27
46
  }
28
47
 
48
+
29
49
  }
@@ -1,5 +1,10 @@
1
1
  // Badge
2
2
 
3
+ $kendo-badge-default-theme-color: null !default;
4
+ $kendo-badge-default-fill-mode: null !default;
5
+ $kendo-badge-default-size: null !default;
6
+ $kendo-badge-default-roundness: null !default;
7
+
3
8
  $kendo-badge-border-width: null !default;
4
9
 
5
10
  $kendo-badge-sm-padding-x: null !default;
@@ -25,6 +30,34 @@ $kendo-badge-sm-min-width: null !default;
25
30
  $kendo-badge-md-min-width: null !default;
26
31
  $kendo-badge-lg-min-width: null !default;
27
32
 
28
- $kendo-badge-sizes: null !default;
29
-
30
- $kendo-badge-theme-colors: null !default;
33
+ /// The sizes map of the Badge.
34
+ /// @group badge
35
+ $kendo-badge-sizes: (
36
+ sm: (
37
+ padding-x: $kendo-badge-sm-padding-x,
38
+ padding-y: $kendo-badge-sm-padding-y,
39
+ font-size: $kendo-badge-sm-font-size,
40
+ line-height: $kendo-badge-sm-line-height,
41
+ min-width: $kendo-badge-sm-min-width
42
+ ),
43
+ md: (
44
+ padding-x: $kendo-badge-md-padding-x,
45
+ padding-y: $kendo-badge-md-padding-y,
46
+ font-size: $kendo-badge-md-font-size,
47
+ line-height: $kendo-badge-md-line-height,
48
+ min-width: $kendo-badge-md-min-width
49
+ ),
50
+ lg: (
51
+ padding-x: $kendo-badge-lg-padding-x,
52
+ padding-y: $kendo-badge-lg-padding-y,
53
+ font-size: $kendo-badge-lg-font-size,
54
+ line-height: $kendo-badge-lg-line-height,
55
+ min-width: $kendo-badge-lg-min-width
56
+ )
57
+ ) !default;
58
+
59
+ $kendo-badge-roundness: ( "none", "sm", "md", "lg", "full" ) !default;
60
+
61
+ /// The theme colors map of the Badge.
62
+ /// @group badge
63
+ $kendo-badge-theme-colors: ("base", "primary", "secondary", "tertiary", "info", "success", "warning", "error", "dark", "light", "inverse") !default;
@@ -6,54 +6,59 @@
6
6
 
7
7
  @mixin kendo-bottom-navigation--theme-base() {
8
8
 
9
- // Solid
10
- @each $name, $color in $kendo-bottom-navigation-theme-colors {
11
- .k-bottom-nav-solid-#{$name} {
12
- @include fill(
13
- $color: color-mix(in srgb, k-color(on-#{$name}) 65%, transparent),
14
- $bg: $color
15
- );
16
-
17
- .k-bottom-nav-item.k-focus,
18
- .k-bottom-nav-item:focus {
19
- @include fill( $bg: color-mix(in srgb, k-color(on-#{$name}) 12.5%, transparent));
20
- }
9
+ .k-bottom-nav {
10
+ // Fillmode: solid
11
+ #{k-when-default($kendo-bottom-nav-default-fill-mode, "solid")}
12
+ &.k-bottom-nav-solid {
13
+ // Theme colors
14
+ @each $name in $kendo-bottom-navigation-theme-colors {
15
+ #{k-when-default($kendo-bottom-nav-default-theme-color, $name)}
16
+ &.k-bottom-nav-#{$name} {
17
+ @include fill(
18
+ $color: color-mix(in srgb, k-color(on-#{$name}) 65%, transparent),
19
+ $bg: k-color(#{$name})
20
+ );
21
+
22
+ .k-bottom-nav-item.k-focus,
23
+ .k-bottom-nav-item:focus {
24
+ @include fill( $bg: color-mix(in srgb, k-color(on-#{$name}) 12.5%, transparent));
25
+ }
21
26
 
22
- .k-bottom-nav-item.k-selected {
23
- @include fill( $color: k-color(on-#{$name}));
27
+ .k-bottom-nav-item.k-selected {
28
+ @include fill( $color: k-color(on-#{$name}));
29
+ }
30
+ }
24
31
  }
25
32
  }
26
- // TODO: remove when suites update class names
27
- .k-bottom-nav-solid.k-bottom-nav-#{$name} {
28
- @extend .k-bottom-nav-solid-#{$name} !optional;
29
- }
30
- }
31
33
 
32
- // Flat
33
- @each $name, $color in $kendo-bottom-navigation-theme-colors {
34
- .k-bottom-nav-flat-#{$name} {
35
- @include fill(
36
- $kendo-bottom-nav-flat-text,
37
- $kendo-bottom-nav-flat-bg,
38
- $kendo-bottom-nav-flat-border
39
- );
40
-
41
- .k-bottom-nav-item.k-focus,
42
- .k-bottom-nav-item:focus {
43
- @include fill( $bg: color-mix(in srgb, k-color(on-app-surface) 5%, transparent));
44
- }
34
+ // Fillmode: flat
35
+ #{k-when-default($kendo-bottom-nav-default-fill-mode, "flat")}
36
+ &.k-bottom-nav-flat {
37
+ // Theme colors
38
+ @each $name in $kendo-bottom-navigation-theme-colors {
39
+ #{k-when-default($kendo-bottom-nav-default-theme-color, $name)}
40
+ &.k-bottom-nav-#{$name} {
41
+ @include fill(
42
+ $kendo-bottom-nav-flat-text,
43
+ $kendo-bottom-nav-flat-bg,
44
+ $kendo-bottom-nav-flat-border
45
+ );
45
46
 
46
- .k-bottom-nav-item.k-selected {
47
- @if $name == "secondary" or $name == "light" {
48
- @include fill( $color: k-color(#{$name}));
49
- } @else {
50
- @include fill( $color: $color );
47
+ .k-bottom-nav-item.k-focus,
48
+ .k-bottom-nav-item:focus {
49
+ @include fill( $bg: color-mix(in srgb, k-color(on-app-surface) 5%, transparent));
50
+ }
51
+
52
+ .k-bottom-nav-item.k-selected {
53
+ @if $name == "secondary" or $name == "light" {
54
+ @include fill( $color: k-color(#{$name}));
55
+ } @else {
56
+ @include fill( $color: k-color(#{$name}) );
57
+ }
58
+ }
51
59
  }
52
60
  }
53
61
  }
54
- .k-bottom-nav-flat.k-bottom-nav-#{$name} {
55
- @extend .k-bottom-nav-flat-#{$name} !optional;
56
- }
57
62
  }
58
63
 
59
64
  }
@@ -2,6 +2,9 @@
2
2
 
3
3
  // BottomNavigation
4
4
 
5
+ $kendo-bottom-nav-default-theme-color: null !default;
6
+ $kendo-bottom-nav-default-fill-mode: null !default;
7
+
5
8
  $kendo-bottom-nav-padding-x: null !default;
6
9
  $kendo-bottom-nav-padding-y: null !default;
7
10
  $kendo-bottom-nav-gap: null !default;
@@ -25,4 +28,6 @@ $kendo-bottom-nav-flat-text: null !default;
25
28
  $kendo-bottom-nav-flat-bg: null !default;
26
29
  $kendo-bottom-nav-flat-border: null !default;
27
30
 
28
- $kendo-bottom-navigation-theme-colors: null !default;
31
+ /// The theme colors map of the BottomNavigation.
32
+ /// @group bottom-navigation
33
+ $kendo-bottom-navigation-theme-colors: ("primary", "secondary", "tertiary", "info", "success", "warning", "error", "dark", "light", "inverse") !default;
@@ -1,5 +1,6 @@
1
1
  @use "sass:map";
2
2
  @use "../../mixins/index.scss" as *;
3
+ @use "../../functions/index.scss" as *;
3
4
  @use "../../color-system/_constants.scss" as *;
4
5
  @use "../../motion/index.scss" as *;
5
6
  @use "../../_variables.scss" as *;
@@ -28,6 +29,34 @@
28
29
  *::after {
29
30
  box-sizing: border-box;
30
31
  }
32
+
33
+ // Sizes
34
+ @each $size, $size-props in $kendo-breadcrumb-sizes {
35
+ $_link-padding-x: map.get( $size-props, link-padding-x );
36
+ $_link-padding-y: map.get( $size-props, link-padding-y );
37
+ $_icon-link-padding-x: map.get( $size-props, icon-link-padding-x );
38
+ $_icon-link-padding-y: map.get( $size-props, icon-link-padding-y );
39
+ $_font-size: map.get( $size-props, font-size );
40
+ $_line-height: map.get( $size-props, line-height );
41
+
42
+ #{k-when-default($kendo-breadcrumb-default-size, $size)}
43
+ &.k-breadcrumb-#{$size} {
44
+ font-size: $_font-size;
45
+ line-height: $_line-height;
46
+
47
+
48
+ .k-breadcrumb-link,
49
+ .k-breadcrumb-root-link {
50
+ padding-block: $_link-padding-y;
51
+ padding-inline: $_link-padding-x;
52
+ }
53
+
54
+ .k-breadcrumb-icon-link {
55
+ padding-block: $_icon-link-padding-y;
56
+ padding-inline: $_icon-link-padding-x;
57
+ }
58
+ }
59
+ }
31
60
  }
32
61
 
33
62
 
@@ -106,31 +135,4 @@
106
135
  }
107
136
 
108
137
 
109
- // Sizes
110
- @each $size, $size-props in $kendo-breadcrumb-sizes {
111
- $_link-padding-x: map.get( $size-props, link-padding-x );
112
- $_link-padding-y: map.get( $size-props, link-padding-y );
113
- $_icon-link-padding-x: map.get( $size-props, icon-link-padding-x );
114
- $_icon-link-padding-y: map.get( $size-props, icon-link-padding-y );
115
- $_font-size: map.get( $size-props, font-size );
116
- $_line-height: map.get( $size-props, line-height );
117
-
118
- .k-breadcrumb-#{$size} {
119
- font-size: $_font-size;
120
- line-height: $_line-height;
121
-
122
-
123
- .k-breadcrumb-link,
124
- .k-breadcrumb-root-link {
125
- padding-block: $_link-padding-y;
126
- padding-inline: $_link-padding-x;
127
- }
128
-
129
- .k-breadcrumb-icon-link {
130
- padding-block: $_icon-link-padding-y;
131
- padding-inline: $_icon-link-padding-x;
132
- }
133
- }
134
- }
135
-
136
138
  }