@progress/kendo-theme-core 13.0.0-dev.1 → 13.0.0-dev.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 (40) hide show
  1. package/dist/all.css +1 -1
  2. package/dist/meta/sassdoc-data.json +186 -72
  3. package/dist/meta/sassdoc-raw-data.json +82 -32
  4. package/dist/meta/variables.json +10 -8
  5. package/package.json +2 -2
  6. package/scss/components/bubble/_layout.scss +1 -2
  7. package/scss/components/chat/_layout.scss +87 -131
  8. package/scss/components/chat/_theme.scss +25 -16
  9. package/scss/components/chat/_variables.scss +12 -18
  10. package/scss/components/dropdowntree/_layout.scss +7 -7
  11. package/scss/components/dropdowntree/_variables.scss +3 -0
  12. package/scss/components/file-box/_layout.scss +122 -0
  13. package/scss/components/file-box/_theme.scss +22 -0
  14. package/scss/components/file-box/_variables.scss +19 -0
  15. package/scss/components/icons/_theme.scss +7 -1
  16. package/scss/components/icons/_variables.scss +2 -0
  17. package/scss/components/list/_layout.scss +63 -3
  18. package/scss/components/list/_theme.scss +8 -0
  19. package/scss/components/list/_variables.scss +11 -0
  20. package/scss/components/prompt-box/_layout.scss +63 -0
  21. package/scss/components/prompt-box/_theme.scss +7 -0
  22. package/scss/components/prompt-box/_variables.scss +11 -0
  23. package/scss/components/segmented-control/_layout.scss +85 -0
  24. package/scss/components/segmented-control/_theme.scss +38 -0
  25. package/scss/components/segmented-control/_variables.scss +73 -0
  26. package/scss/components/smart-box/_layout.scss +85 -0
  27. package/scss/components/smart-box/_theme.scss +5 -0
  28. package/scss/components/smart-box/_variables.scss +40 -0
  29. package/scss/components/suggestion/_layout.scss +33 -11
  30. package/scss/components/suggestion/_theme.scss +23 -0
  31. package/scss/components/suggestion/_variables.scss +3 -0
  32. package/scss/components/tabstrip/_layout.scss +30 -0
  33. package/scss/components/tabstrip/_theme.scss +8 -0
  34. package/scss/components/toolbar/_layout.scss +3 -0
  35. package/scss/components/toolbar/_variables.scss +1 -0
  36. package/scss/components/treeview/_layout.scss +14 -10
  37. package/scss/components/treeview/_theme.scss +7 -6
  38. package/scss/components/treeview/_variables.scss +4 -0
  39. package/scss/elevation/index.scss +1 -2
  40. package/scss/motion/index.scss +1 -0
@@ -15,13 +15,18 @@
15
15
  > .k-list {
16
16
  flex: 1;
17
17
  height: 100%;
18
+ border-radius: 0;
19
+ }
20
+
21
+ &.k-popup {
22
+ padding-inline: $kendo-list-container-padding-inline;
23
+ padding-block: $kendo-list-container-padding-block;
18
24
  }
19
25
  }
20
26
 
21
27
  // List
22
28
  .k-list {
23
29
  margin: 0;
24
- padding: 0;
25
30
  box-sizing: border-box;
26
31
  border-radius: inherit;
27
32
  font-family: $kendo-list-font-family;
@@ -90,6 +95,20 @@
90
95
  line-height: $_item-line-height;
91
96
  }
92
97
 
98
+ &:has(.k-list-item-icon) .k-list-item,
99
+ &:has(.k-list-item-icon) .k-list-group-item {
100
+ padding-inline-start: calc( #{$kendo-icon-size} + $_item-padding-x + #{$kendo-list-item-gap} );
101
+ }
102
+
103
+ .k-list-item:has(.k-list-item-icon) .k-list-item-description {
104
+ padding-inline-start: calc( #{$kendo-icon-size} + #{$kendo-list-item-gap});
105
+ }
106
+
107
+ .k-list-item:has(.k-list-item-icon),
108
+ .k-list-group-item:has(.k-list-item-icon) {
109
+ padding-inline: $_item-padding-x;
110
+ }
111
+
93
112
  .k-list-group-item {
94
113
  padding-block: $_group-item-padding-y;
95
114
  padding-inline: $_group-item-padding-x;
@@ -155,6 +174,13 @@
155
174
  border-color: inherit;
156
175
  height: auto;
157
176
  list-style: none;
177
+ display: flex;
178
+ flex-direction: column;
179
+ gap: $kendo-list-item-spacing;
180
+ }
181
+
182
+ .k-list-ul + .k-list-ul {
183
+ margin-block-start: $kendo-list-item-spacing;
158
184
  }
159
185
 
160
186
 
@@ -172,7 +198,7 @@
172
198
  flex-flow: row nowrap;
173
199
  align-items: center;
174
200
  align-content: center;
175
- gap: $kendo-icon-spacing;
201
+ column-gap: $kendo-list-item-gap;
176
202
  position: relative;
177
203
 
178
204
  transition: color k-transition(snappy), background-color k-transition(snappy), outline-color k-transition(snappy), box-shadow k-transition(snappy);
@@ -206,6 +232,41 @@
206
232
  position: sticky;
207
233
  }
208
234
 
235
+ .k-list-item {
236
+ flex-wrap: wrap;
237
+ align-items: center;
238
+ border-radius: $kendo-list-item-border-radius;
239
+ }
240
+
241
+ .k-list-item-text {
242
+ flex: 1;
243
+ text-overflow: ellipsis;
244
+ min-width: 0;
245
+ overflow: hidden;
246
+ }
247
+
248
+ .k-list-item-icon-wrapper,
249
+ .k-list-item-actions,
250
+ .k-list-item-text {
251
+ align-self: flex-start;
252
+ }
253
+
254
+ .k-list-item-actions {
255
+ display: flex;
256
+ align-items: center;
257
+ gap: $kendo-list-item-gap;
258
+ }
259
+
260
+ .k-list-item:has(.k-list-item-icon) .k-list-item-text::before,
261
+ .k-list-item:has(.k-list-item-actions) .k-list-item-text::before {
262
+ content: none;
263
+ }
264
+
265
+ .k-list .k-list-item-description {
266
+ flex-basis: 100%;
267
+ font-size: $kendo-list-item-description-font-size;
268
+ line-height: $kendo-list-item-description-line-height;
269
+ }
209
270
 
210
271
  // List group item
211
272
  .k-list-group-item {
@@ -268,5 +329,4 @@
268
329
  box-sizing: border-box;
269
330
  flex: none;
270
331
  }
271
-
272
332
  }
@@ -12,6 +12,10 @@
12
12
  $kendo-list-bg,
13
13
  $kendo-list-border
14
14
  );
15
+
16
+ .k-list-ul:first-of-type .k-list-group-item {
17
+ box-shadow: none;
18
+ }
15
19
  }
16
20
 
17
21
 
@@ -94,4 +98,8 @@
94
98
  );
95
99
  }
96
100
 
101
+ .k-list .k-list-item-description {
102
+ color: $kendo-list-item-description-text;
103
+ }
104
+
97
105
  }
@@ -1,4 +1,6 @@
1
1
  // List
2
+ $kendo-list-container-padding-block: null !default;
3
+ $kendo-list-container-padding-inline: null !default;
2
4
 
3
5
  $kendo-list-default-size: null !default;
4
6
 
@@ -72,6 +74,9 @@ $kendo-list-sm-item-font-size: null !default;
72
74
  $kendo-list-md-item-font-size: null !default;
73
75
  $kendo-list-lg-item-font-size: null !default;
74
76
 
77
+ $kendo-list-item-gap: null !default;
78
+ $kendo-list-item-spacing: null !default;
79
+
75
80
  $kendo-list-item-line-height: null !default;
76
81
  $kendo-list-sm-item-line-height: null !default;
77
82
  $kendo-list-md-item-line-height: null !default;
@@ -185,6 +190,7 @@ $kendo-list-header-shadow: null !default;
185
190
 
186
191
  $kendo-list-item-bg: null !default;
187
192
  $kendo-list-item-text: null !default;
193
+ $kendo-list-item-border-radius: null !default;
188
194
 
189
195
  $kendo-list-item-hover-bg: null !default;
190
196
  $kendo-list-item-hover-text: null !default;
@@ -205,3 +211,8 @@ $kendo-list-group-item-border: null !default;
205
211
  $kendo-list-group-item-shadow: null !default;
206
212
 
207
213
  $kendo-list-option-label-text: null !default;
214
+
215
+ $kendo-list-item-description-font-size: null !default;
216
+ $kendo-list-item-description-line-height: null !default;
217
+ $kendo-list-item-description-text: null !default;
218
+
@@ -0,0 +1,63 @@
1
+ @use "./variables.scss" as *;
2
+
3
+ @mixin kendo-prompt-box--layout-base() {
4
+
5
+ .k-prompt-box {
6
+ border-radius: $kendo-prompt-box-border-radius;
7
+ flex-flow: column nowrap;
8
+
9
+ .k-input-inner {
10
+ padding: $kendo-prompt-box-input-inner-padding;
11
+ }
12
+ }
13
+
14
+ .k-prompt-box-header {
15
+ padding: $kendo-prompt-box-header-padding;
16
+ }
17
+
18
+ .k-prompt-box-affix {
19
+ padding: $kendo-prompt-box-affix-padding;
20
+ border-color: inherit;
21
+ display: flex;
22
+ align-items: center;
23
+ flex: none;
24
+ gap: $kendo-prompt-box-affix-spacing;
25
+ }
26
+
27
+ .k-prompt-box-textarea {
28
+ resize: none;
29
+ white-space: nowrap;
30
+ flex: 1 1 auto;
31
+ }
32
+
33
+ .k-prompt-box-textarea + .k-prompt-box-affix {
34
+ justify-content: flex-end;
35
+ }
36
+
37
+ .k-prompt-box-content {
38
+ display: flex;
39
+ flex-flow: row nowrap;
40
+ }
41
+
42
+ .k-prompt-box-singleline {
43
+ .k-prompt-box-affix:has(+.k-input-inner) {
44
+ padding-inline-end: 0;
45
+ }
46
+
47
+ .k-input-inner + .k-prompt-box-affix {
48
+ padding-inline-start: 0;
49
+ }
50
+ }
51
+
52
+ .k-prompt-box-multiline {
53
+ .k-prompt-box-content {
54
+ flex-direction: column;
55
+ }
56
+
57
+ .k-prompt-box-textarea {
58
+ white-space: normal;
59
+ overflow: auto;
60
+ }
61
+ }
62
+
63
+ }
@@ -0,0 +1,7 @@
1
+ @use "./variables.scss" as *;
2
+
3
+ @mixin kendo-prompt-box--theme-base() {
4
+ .k-prompt-box {
5
+ box-shadow: $kendo-prompt-box-box-shadow;
6
+ }
7
+ }
@@ -0,0 +1,11 @@
1
+ // Prompt box
2
+
3
+ $kendo-prompt-box-border-radius: null !default;
4
+
5
+ $kendo-prompt-box-box-shadow: null !default;
6
+
7
+ $kendo-prompt-box-header-padding: null !default;
8
+ $kendo-prompt-box-input-inner-padding: null !default;
9
+ $kendo-prompt-box-affix-padding: null !default;
10
+
11
+ $kendo-prompt-box-affix-spacing: null !default;
@@ -0,0 +1,85 @@
1
+ @use "sass:map";
2
+ @use "./variables.scss" as *;
3
+ @use "../../functions/index.scss" as *;
4
+ @use "../../motion/index.scss" as *;
5
+
6
+ @mixin kendo-segmented-control--layout-base() {
7
+
8
+ .k-segmented-control {
9
+ position: relative;
10
+ display: inline-flex;
11
+ align-items: center;
12
+ flex-flow: row nowrap;
13
+ padding-inline: $kendo-segmented-control-padding-x;
14
+ padding-block: $kendo-segmented-control-padding-y;
15
+ border-radius: $kendo-segmented-control-border-radius;
16
+ font-family: $kendo-segmented-control-font-family;
17
+ overflow: auto;
18
+ scrollbar-width: none;
19
+ white-space: nowrap;
20
+ box-sizing: border-box;
21
+
22
+ // Sizes
23
+ @each $size, $size-props in $kendo-segmented-control-sizes {
24
+ $_font-size: map.get( $size-props, font-size );
25
+ $_line-height: map.get( $size-props, line-height );
26
+ $_button-padding-inline: map.get( $size-props, button-padding-x );
27
+ $_button-padding-block: map.get( $size-props, button-padding-y );
28
+ $_button-gap: map.get( $size-props, button-gap );
29
+
30
+ #{k-when-default($kendo-segmented-control-default-size, $size)}
31
+ &.k-segmented-control-#{$size} {
32
+ font-size: $_font-size;
33
+ line-height: $_line-height;
34
+
35
+ .k-segmented-control-button {
36
+ padding-inline: $_button-padding-inline;
37
+ padding-block: $_button-padding-block;
38
+ gap: $_button-gap;
39
+ }
40
+ }
41
+ }
42
+ }
43
+
44
+ .k-segmented-control-stretched {
45
+ width: 100%;
46
+
47
+ .k-segmented-control-button {
48
+ overflow: hidden;
49
+ }
50
+ }
51
+
52
+ .k-segmented-control-thumb {
53
+ position: absolute;
54
+ height: calc( 100% - ( #{$kendo-segmented-control-padding-y} * 2));
55
+ border-radius: $kendo-segmented-control-thumb-border-radius;
56
+ pointer-events: none;
57
+ transition: all k-transition(settle);
58
+ }
59
+
60
+ .k-segmented-control-button {
61
+ position: relative;
62
+ display: flex;
63
+ flex: 1;
64
+ align-items: center;
65
+ justify-content: center;
66
+ border-width: $kendo-segmented-control-button-border-width;
67
+ border-radius: $kendo-segmented-control-button-border-radius;
68
+ cursor: pointer;
69
+ font-size: inherit;
70
+ line-height: inherit;
71
+ }
72
+
73
+ .k-segmented-control-button-text {
74
+ white-space: nowrap;
75
+ text-overflow: ellipsis;
76
+ overflow: hidden;
77
+ min-width: 0
78
+ }
79
+
80
+
81
+ .k-segmented-control-button-icon {
82
+ flex-shrink: 0;
83
+ }
84
+
85
+ }
@@ -0,0 +1,38 @@
1
+ @use "../../mixins/index.scss" as *;
2
+ @use "./variables.scss" as *;
3
+
4
+ @mixin kendo-segmented-control--theme-base() {
5
+ .k-segmented-control {
6
+ background-color: $kendo-segmented-control-bg;
7
+ color: $kendo-segmented-control-text;
8
+ }
9
+
10
+ .k-segmented-control-thumb {
11
+ background-color: $kendo-segmented-control-thumb-bg;
12
+ box-shadow: $kendo-segmented-control-thumb-shadow;
13
+ }
14
+
15
+ .k-segmented-control-button {
16
+ color: inherit;
17
+ background-color: transparent;
18
+
19
+ &:hover,
20
+ &.k-hover {
21
+ background-color: $kendo-segmented-control-button-hover-bg;
22
+ }
23
+
24
+ &:focus,
25
+ &.k-focus {
26
+ @include focus-indicator( $kendo-segmented-control-button-focus-indicator, true, true );
27
+ }
28
+
29
+ &.k-selected {
30
+ color: $kendo-segmented-control-thumb-text;
31
+
32
+ &:hover,
33
+ &.k-hover {
34
+ background-color: transparent;
35
+ }
36
+ }
37
+ }
38
+ }
@@ -0,0 +1,73 @@
1
+ // Segmented control
2
+
3
+ $kendo-segmented-control-default-size: null !default;
4
+
5
+ $kendo-segmented-control-padding-x: null !default;
6
+ $kendo-segmented-control-padding-y: null !default;
7
+ $kendo-segmented-control-border-radius: null !default;
8
+
9
+ $kendo-segmented-control-bg: null !default;
10
+ $kendo-segmented-control-text: null !default;
11
+
12
+ $kendo-segmented-control-sm-font-size: null !default;
13
+ $kendo-segmented-control-md-font-size: null !default;
14
+ $kendo-segmented-control-lg-font-size: null !default;
15
+
16
+ $kendo-segmented-control-font-family: null !default;
17
+
18
+ $kendo-segmented-control-sm-line-height: null !default;
19
+ $kendo-segmented-control-md-line-height: null !default;
20
+ $kendo-segmented-control-lg-line-height: null !default;
21
+
22
+ $kendo-segmented-control-thumb-border-radius: null !default;
23
+ $kendo-segmented-control-thumb-shadow: null !default;
24
+ $kendo-segmented-control-thumb-bg: null !default;
25
+ $kendo-segmented-control-thumb-text: null !default;
26
+
27
+ $kendo-segmented-control-sm-button-padding-x: null !default;
28
+ $kendo-segmented-control-md-button-padding-x: null !default;
29
+ $kendo-segmented-control-lg-button-padding-x: null !default;
30
+
31
+ $kendo-segmented-control-sm-button-padding-y: null !default;
32
+ $kendo-segmented-control-md-button-padding-y: null !default;
33
+ $kendo-segmented-control-lg-button-padding-y: null !default;
34
+
35
+ $kendo-segmented-control-button-border-width: null !default;
36
+ $kendo-segmented-control-button-border-radius: null !default;
37
+
38
+ $kendo-segmented-control-sm-button-gap: null !default;
39
+ $kendo-segmented-control-md-button-gap: null !default;
40
+ $kendo-segmented-control-lg-button-gap: null !default;
41
+
42
+ $kendo-segmented-control-button-hover-bg: null !default;
43
+ $kendo-segmented-control-button-focus-indicator: null !default;
44
+
45
+ /// The map with the sizes of the Segmented Control.
46
+ /// @group segmented-control
47
+ $kendo-segmented-control-sizes: (
48
+ sm: (
49
+ font-size: $kendo-segmented-control-sm-font-size,
50
+ line-height: $kendo-segmented-control-sm-line-height,
51
+ button-padding-x: $kendo-segmented-control-sm-button-padding-x,
52
+ button-padding-y: $kendo-segmented-control-sm-button-padding-y,
53
+ button-gap: $kendo-segmented-control-sm-button-gap
54
+ ),
55
+ md: (
56
+ font-size: $kendo-segmented-control-md-font-size,
57
+ line-height: $kendo-segmented-control-md-line-height,
58
+ button-padding-x: $kendo-segmented-control-md-button-padding-x,
59
+ button-padding-y: $kendo-segmented-control-md-button-padding-y,
60
+ button-gap: $kendo-segmented-control-md-button-gap
61
+ ),
62
+ lg: (
63
+ font-size: $kendo-segmented-control-lg-font-size,
64
+ line-height: $kendo-segmented-control-lg-line-height,
65
+ button-padding-x: $kendo-segmented-control-lg-button-padding-x,
66
+ button-padding-y: $kendo-segmented-control-lg-button-padding-y,
67
+ button-gap: $kendo-segmented-control-lg-button-gap
68
+ )
69
+ ) !default;
70
+
71
+
72
+
73
+
@@ -0,0 +1,85 @@
1
+ @use "sass:map";
2
+ @use "./variables.scss" as *;
3
+ @use "../../color-system/_functions.scss" as *;
4
+ @use "../../functions/index.scss" as *;
5
+ @use "../../spacing/index.scss" as *;
6
+ @use "../../border-radii/index.scss" as *;
7
+
8
+ @mixin kendo-smart-box--layout-base() {
9
+
10
+ .k-smart-box {
11
+ .k-input-inner {
12
+ padding-inline: 0;
13
+ }
14
+
15
+ .k-input-prefix {
16
+ cursor: pointer;
17
+ }
18
+
19
+ // Roundness
20
+ @each $roundness in $kendo-smart-box-roundness {
21
+ #{k-when-default($kendo-smart-box-default-roundness, $roundness)}
22
+ &.k-rounded-#{$roundness} {
23
+ border-radius: k-border-radius($roundness);
24
+ }
25
+ }
26
+
27
+ // Sizing
28
+ @each $size, $size-props in $kendo-smart-box-sizes {
29
+ $_padding-x: map.get( $size-props, padding-x );
30
+ $_prefix-margin-x: map.get( $size-props, prefix-margin-x );
31
+
32
+ #{k-when-default($kendo-smart-box-default-size, $size)}
33
+ &.k-input-#{$size} {
34
+ padding-inline-end: $_padding-x;
35
+
36
+ .k-input-prefix {
37
+ margin-inline-start: $_prefix-margin-x;
38
+ }
39
+
40
+ .k-input-inner {
41
+ padding-inline: 0;
42
+ }
43
+ }
44
+ }
45
+
46
+ .k-input-suffix {
47
+ gap: $kendo-smart-box-suffix-spacing;
48
+ }
49
+ }
50
+
51
+ .k-smart-box-popup {
52
+ padding-inline: $kendo-smart-box-popup-padding-inline;
53
+ padding-block: $kendo-smart-box-popup-padding-block;
54
+ border-radius: $kendo-smart-box-popup-border-radius;
55
+ gap: $kendo-smart-box-popup-spacing;
56
+
57
+ > .k-list {
58
+ border-radius: 0;
59
+ }
60
+
61
+ > .k-segmented-control {
62
+ margin-block-start: $kendo-smart-box-popup-segmented-control-margin;
63
+ margin-inline: $kendo-smart-box-popup-segmented-control-margin;
64
+ width: calc(100% - #{$kendo-smart-box-popup-segmented-control-margin} * 2);
65
+ }
66
+
67
+ .k-list-item-text {
68
+ white-space: nowrap;
69
+ }
70
+
71
+ .k-smart-box-check-icon {
72
+ color: k-color(success);
73
+ }
74
+ }
75
+
76
+ .k-smart-box-no-data {
77
+ flex-direction: column;
78
+ padding-inline: k-spacing(2);
79
+ padding-block: k-spacing(4);
80
+ gap: $kendo-smart-box-popup-spacing;
81
+ font-size: var(--kendo-font-size-sm, inherit);
82
+ min-height: auto;
83
+ }
84
+
85
+ }
@@ -0,0 +1,5 @@
1
+ @mixin kendo-smart-box--theme-base() {
2
+ .k-smart-box-no-data .k-icon {
3
+ opacity: 0.3;
4
+ }
5
+ }
@@ -0,0 +1,40 @@
1
+ // Smart box
2
+ $kendo-smart-box-default-size: null !default;
3
+ $kendo-smart-box-default-roundness: null !default;
4
+
5
+ $kendo-smart-box-roundness: ( "none", "sm", "md", "lg", "full" ) !default;
6
+
7
+ $kendo-smart-box-suffix-spacing: null !default;
8
+
9
+ $kendo-smart-box-sm-padding-x: null !default;
10
+ $kendo-smart-box-md-padding-x: null !default;
11
+ $kendo-smart-box-lg-padding-x: null !default;
12
+
13
+ $kendo-smart-box-sm-prefix-margin-x: null !default;
14
+ $kendo-smart-box-md-prefix-margin-x: null !default;
15
+ $kendo-smart-box-lg-prefix-margin-x: null !default;
16
+
17
+ $kendo-smart-box-popup-padding-inline: null !default;
18
+ $kendo-smart-box-popup-padding-block: null !default;
19
+ $kendo-smart-box-popup-border-radius: null !default;
20
+ $kendo-smart-box-popup-spacing: null !default;
21
+
22
+ $kendo-smart-box-popup-segmented-control-margin: null !default;
23
+
24
+ /// The sizes map for the Smart box components.
25
+ /// @group smart-box
26
+ $kendo-smart-box-sizes: (
27
+ sm: (
28
+ padding-x: $kendo-smart-box-sm-padding-x,
29
+ prefix-margin-x: $kendo-smart-box-sm-prefix-margin-x,
30
+ ),
31
+ md: (
32
+ padding-x: $kendo-smart-box-md-padding-x,
33
+ prefix-margin-x: $kendo-smart-box-md-prefix-margin-x,
34
+ ),
35
+ lg: (
36
+ padding-x: $kendo-smart-box-lg-padding-x,
37
+ prefix-margin-x: $kendo-smart-box-lg-prefix-margin-x,
38
+
39
+ )
40
+ ) !default;
@@ -2,6 +2,7 @@
2
2
  @use "../../mixins/index.scss" as *;
3
3
  @use "../../motion/index.scss" as *;
4
4
  @use "../../spacing/index.scss" as *;
5
+ @use "../../z-index/index.scss" as *;
5
6
 
6
7
  @mixin kendo-suggestion--layout-base() {
7
8
  .k-suggestion-scrollwrap {
@@ -10,16 +11,7 @@
10
11
  display: flex;
11
12
  align-items: center;
12
13
  position: relative;
13
- gap: $kendo-suggestion-spacing;
14
-
15
- .k-suggestion-group {
16
- padding-block: calc( #{$kendo-suggestion-padding-y} / 2 );
17
- flex: 1 1 auto;
18
- flex-wrap: nowrap;
19
- overflow-x: auto;
20
- scrollbar-width: none;
21
- white-space: nowrap;
22
- }
14
+ gap: k-spacing(.5);
23
15
  }
24
16
 
25
17
  .k-suggestion-group {
@@ -27,12 +19,20 @@
27
19
  flex-wrap: wrap;
28
20
  gap: $kendo-suggestion-spacing;
29
21
  align-self: normal;
22
+ overflow: hidden;
30
23
 
31
24
  &.k-suggestion-group-scrollable {
32
25
  flex-wrap: nowrap;
26
+ }
27
+
28
+ .k-suggestions-scroll {
29
+ padding-block: calc( #{$kendo-suggestion-padding-y} / 2 );
30
+ display: flex;
33
31
  overflow-x: auto;
34
32
  scrollbar-width: none;
35
- padding-block: calc( #{$kendo-suggestion-padding-y} / 2 );
33
+ flex-wrap: nowrap;
34
+ white-space: nowrap;
35
+ gap: $kendo-suggestion-spacing;
36
36
  }
37
37
  }
38
38
 
@@ -44,6 +44,11 @@
44
44
  }
45
45
  }
46
46
 
47
+ .k-suggestion-group-scrollable,
48
+ .k-suggestion-scrollwrap .k-suggestion-group {
49
+ position: relative;
50
+ }
51
+
47
52
  .k-suggestion {
48
53
  @include border-radius( $kendo-suggestion-border-radius );
49
54
  max-width: 100%;
@@ -52,6 +57,7 @@
52
57
  box-sizing: border-box;
53
58
  border-width: $kendo-suggestion-border-width;
54
59
  border-style: $kendo-suggestion-border-style;
60
+ font-size: $kendo-suggestion-font-size;
55
61
  line-height: $kendo-suggestion-line-height;
56
62
  flex: 0 0 auto;
57
63
  transition: background-color k-transition(rapid), box-shadow k-transition(rapid);
@@ -60,6 +66,22 @@
60
66
  white-space: normal;
61
67
  }
62
68
 
69
+ .k-suggestion-group-scrollable-end::before,
70
+ .k-suggestion-group-scrollable-start::after,
71
+ .k-suggestion-scrollwrap .k-suggestion-group-scrollable-end::before,
72
+ .k-suggestion-scrollwrap .k-suggestion-group-scrollable-start::after {
73
+ content: '';
74
+ aspect-ratio: .3;
75
+ position: absolute;
76
+ top: 0;
77
+ z-index: k-z-index("base", 3);
78
+ height: calc( #{$kendo-suggestion-font-size} * #{$kendo-suggestion-line-height} + #{$kendo-suggestion-padding-y} * 2 + #{$kendo-suggestion-padding-y} + #{$kendo-suggestion-border-width} * 2);
79
+ }
80
+
81
+ .k-suggestion-group-scrollable-start::after,
82
+ .k-suggestion-scrollwrap .k-suggestion-group-scrollable-start::after {
83
+ inset-inline-end: 0;
84
+ }
63
85
 
64
86
  }
65
87
 
@@ -53,4 +53,27 @@
53
53
  }
54
54
  }
55
55
 
56
+ .k-suggestion-group-scrollable-end::before,
57
+ .k-suggestion-scrollwrap .k-suggestion-group-scrollable-end::before {
58
+ background: linear-gradient(270deg, $kendo-suggestion-scroll-gradient);
59
+ }
60
+
61
+ .k-suggestion-group-scrollable-start::after,
62
+ .k-suggestion-scrollwrap .k-suggestion-group-scrollable-start::after {
63
+ background: linear-gradient(90deg, $kendo-suggestion-scroll-gradient);
64
+ }
65
+
66
+ .k-rtl,
67
+ [dir="rtl"] {
68
+ .k-suggestion-group-scrollable-end::before,
69
+ .k-suggestion-scrollwrap .k-suggestion-group-scrollable-end::before {
70
+ background: linear-gradient(90deg, $kendo-suggestion-scroll-gradient);
71
+ }
72
+
73
+ .k-suggestion-group-scrollable-start::after,
74
+ .k-suggestion-scrollwrap .k-suggestion-group-scrollable-start::after {
75
+ background: linear-gradient(270deg, $kendo-suggestion-scroll-gradient);
76
+ }
77
+ }
78
+
56
79
  }