@progress/kendo-theme-core 14.7.0-dev.9 → 14.7.1-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.
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": "14.7.0-dev.9",
4
+ "version": "14.7.1-dev.0",
5
5
  "author": "Progress",
6
6
  "license": "Apache-2.0",
7
7
  "keywords": [
@@ -2,6 +2,7 @@
2
2
  @use "../../functions/index.scss" as *;
3
3
  @use "../../spacing/index.scss" as *;
4
4
  @use "../../border-radii/index.scss" as *;
5
+ @use "../icons/_variables.scss" as *;
5
6
  @use "_variables.scss" as *;
6
7
 
7
8
  @mixin kendo-column-menu--layout-base() {
@@ -57,6 +58,20 @@
57
58
  font-size: $_font-size;
58
59
  line-height: $_line-height;
59
60
  }
61
+
62
+ // Items without start actions are pushed by the actions width so their text lines up with items that have them.
63
+ // Action width = icon + k-spacing(1) padding on both sides; the gap to the text is k-spacing(1).
64
+ &:where(:has(.k-group-menu-item > .k-group-menu-item-actions:first-child)) .k-group-menu-item {
65
+ padding-inline-start: calc( #{$_padding-x} + ( #{$ki-icon-size} + #{k-spacing(1)} * 2 ) + #{k-spacing(1)} );
66
+ }
67
+
68
+ &:where(:has(.k-group-menu-item > .k-group-menu-item-actions:first-child > .k-group-menu-item-action + .k-group-menu-item-action)) .k-group-menu-item {
69
+ padding-inline-start: calc( #{$_padding-x} + ( #{$ki-icon-size} + #{k-spacing(1)} * 2 ) * 2 + #{k-spacing(1)} );
70
+ }
71
+
72
+ .k-group-menu-item:has(> .k-group-menu-item-actions:first-child) {
73
+ padding-inline-start: $_padding-x;
74
+ }
60
75
  }
61
76
  }
62
77
  }
@@ -245,6 +245,8 @@
245
245
  flex-flow: row nowrap;
246
246
  border-bottom-left-radius: inherit;
247
247
  border-bottom-right-radius: inherit;
248
+ // Clips the canvas scrollbars/corner, which otherwise paint square over the rounded corner
249
+ overflow: hidden;
248
250
  }
249
251
 
250
252
 
@@ -253,6 +255,8 @@
253
255
  flex: 1 1 100%;
254
256
  display: flex;
255
257
  flex-flow: row nowrap;
258
+ min-height: 0;
259
+ min-width: 0;
256
260
  overflow: auto;
257
261
  padding: k-spacing(6);
258
262
  box-sizing: border-box;
@@ -296,6 +300,19 @@
296
300
  font-size: var(--kendo-font-size-xl);
297
301
  font-weight: var(--kendo-font-weight-medium);
298
302
  }
303
+
304
+ // Upload renders as a bare button: no frame, background or drop hint
305
+ .k-imageeditor-placeholder-upload {
306
+ margin-block-start: k-spacing(6);
307
+ border-width: 0;
308
+ background-color: transparent;
309
+ overflow: visible;
310
+
311
+ .k-upload-dropzone {
312
+ padding: 0;
313
+ justify-content: center;
314
+ }
315
+ }
299
316
  }
300
317
 
301
318
 
@@ -359,6 +376,11 @@
359
376
  gap: $kendo-image-editor-pane-content-gap;
360
377
  flex: 1 1 auto;
361
378
  overflow-y: auto;
379
+
380
+ // Keeps a mode switch above the form from shrinking when the content overflows
381
+ > .k-segmented-control {
382
+ flex-shrink: 0;
383
+ }
362
384
  }
363
385
 
364
386
  .k-imageeditor-pane-footer {
@@ -468,6 +490,23 @@
468
490
  inset-inline-start: 0;
469
491
  }
470
492
 
493
+ // Dims the image around the crop frame. The frame's position and size are passed through
494
+ // --crop-x, --crop-y, --crop-w and --crop-h (set on the overlay) and cut out of the layer.
495
+ .k-imageeditor-crop-dim {
496
+ position: absolute;
497
+ inset: 0;
498
+ pointer-events: none;
499
+ clip-path: polygon(
500
+ evenodd,
501
+ 0 0, 100% 0, 100% 100%, 0 100%, 0 0,
502
+ var(--crop-x, 0px) var(--crop-y, 0px),
503
+ var(--crop-x, 0px) calc(var(--crop-y, 0px) + var(--crop-h, 0px)),
504
+ calc(var(--crop-x, 0px) + var(--crop-w, 0px)) calc(var(--crop-y, 0px) + var(--crop-h, 0px)),
505
+ calc(var(--crop-x, 0px) + var(--crop-w, 0px)) var(--crop-y, 0px),
506
+ var(--crop-x, 0px) var(--crop-y, 0px)
507
+ );
508
+ }
509
+
471
510
  .k-imageeditor-crop {
472
511
  @include kendo-image-editor-frame-base();
473
512
 
@@ -146,8 +146,8 @@
146
146
  }
147
147
  }
148
148
 
149
- // Crop Overlay: accent-tinted layer (matches the frame/handle color) stacked over a neutral dark scrim
150
- .k-imageeditor-crop-overlay {
149
+ // Crop Dim: accent-tinted layer (matches the frame/handle color) stacked over a neutral dark scrim
150
+ .k-imageeditor-crop-dim {
151
151
  background-image:
152
152
  linear-gradient($kendo-image-editor-crop-overlay-accent-bg, $kendo-image-editor-crop-overlay-accent-bg),
153
153
  linear-gradient($kendo-image-editor-crop-overlay-bg, $kendo-image-editor-crop-overlay-bg);
@@ -63,6 +63,10 @@
63
63
  $kendo-list-item-hover-text,
64
64
  $kendo-list-item-hover-bg
65
65
  );
66
+
67
+ .k-list-item-description {
68
+ color: $kendo-list-item-hover-description-text;
69
+ }
66
70
  }
67
71
 
68
72
  // Focus
@@ -81,6 +85,10 @@
81
85
  $kendo-list-item-selected-text,
82
86
  $kendo-list-item-selected-bg
83
87
  );
88
+
89
+ .k-list-item-description {
90
+ color: $kendo-list-item-selected-description-text;
91
+ }
84
92
  }
85
93
  &.k-selected:hover,
86
94
  &.k-selected.k-hover {
@@ -224,4 +224,6 @@ $kendo-list-option-label-text: null !default;
224
224
  $kendo-list-item-description-font-size: null !default;
225
225
  $kendo-list-item-description-line-height: null !default;
226
226
  $kendo-list-item-description-text: null !default;
227
+ $kendo-list-item-hover-description-text: null !default;
228
+ $kendo-list-item-selected-description-text: null !default;
227
229
 
@@ -1,15 +1,24 @@
1
+ @use "../../color-system/_functions.scss" as *;
1
2
  @use "./_variables.scss" as *;
2
3
 
3
4
  @mixin kendo-marquee--theme-base() {
4
5
  // Marquee
6
+ .k-marquee {
7
+ --kendo-marquee-bg: var(--kendo-marquee-color);
8
+ // Contrast is computed against the bg as it renders: translucent over the surface
9
+ --kendo-marquee-on-color: oklch(from color-mix(in srgb, var(--kendo-marquee-bg) 60%, #{k-color(surface)}) clamp(0.10, (0.6 - l) * 99999, 1) 0 h);
10
+ }
5
11
  .k-marquee-color {
6
- color: $kendo-marquee-text;
7
- background-color: $kendo-marquee-bg;
8
- border-color: $kendo-marquee-border;
9
- opacity: .6;
12
+ color: var(--kendo-marquee-on-color, #{$kendo-marquee-text});
13
+ background-color: oklch(from var(--kendo-marquee-bg, #{$kendo-marquee-bg}) l c h / calc(alpha * .6));
14
+ border-color: oklch(from #{$kendo-marquee-border} l c h / calc(alpha * .6));
15
+ }
16
+ .k-scheduler-marquee::before,
17
+ .k-scheduler-marquee::after {
18
+ border-color: var(--kendo-marquee-bg, #{$kendo-marquee-bg});
10
19
  }
11
20
  .k-marquee-text {
12
- color: $kendo-marquee-text;
21
+ color: var(--kendo-marquee-on-color, #{$kendo-marquee-text});
13
22
  }
14
23
 
15
24
  // Text selection
@@ -92,6 +92,10 @@
92
92
  $kendo-menu-popup-item-hover-border,
93
93
  $kendo-menu-popup-item-hover-gradient
94
94
  );
95
+
96
+ .k-menu-link-description {
97
+ color: $kendo-menu-popup-item-hover-description-text;
98
+ }
95
99
  }
96
100
 
97
101
  &:active,
@@ -103,6 +107,10 @@
103
107
  $kendo-menu-popup-item-active-border,
104
108
  $kendo-menu-popup-item-active-gradient
105
109
  );
110
+
111
+ .k-menu-link-description {
112
+ color: $kendo-menu-popup-item-active-description-text;
113
+ }
106
114
  }
107
115
  }
108
116
 
@@ -233,10 +233,12 @@ $kendo-menu-popup-item-hover-bg: null !default;
233
233
  $kendo-menu-popup-item-hover-text: null !default;
234
234
  $kendo-menu-popup-item-hover-border: null !default;
235
235
  $kendo-menu-popup-item-hover-gradient: null !default;
236
+ $kendo-menu-popup-item-hover-description-text: null !default;
236
237
 
237
238
  $kendo-menu-popup-item-active-bg: null !default;
238
239
  $kendo-menu-popup-item-active-text: null !default;
239
240
  $kendo-menu-popup-item-active-border: null !default;
240
241
  $kendo-menu-popup-item-active-gradient: null !default;
242
+ $kendo-menu-popup-item-active-description-text: null !default;
241
243
 
242
244
  $kendo-menu-popup-item-focus-shadow: null !default;
@@ -112,7 +112,7 @@
112
112
  // Events
113
113
  .k-event {
114
114
  @include fill(
115
- var(--kendo-scheduler-on-event, $kendo-scheduler-event-text),
115
+ var(--kendo-scheduler-event-on-color, $kendo-scheduler-event-text),
116
116
  var(--kendo-scheduler-event-bg, $kendo-scheduler-event-bg),
117
117
  $kendo-scheduler-event-border,
118
118
  $kendo-scheduler-event-gradient
@@ -120,13 +120,13 @@
120
120
  @include box-shadow( $kendo-scheduler-event-shadow );
121
121
 
122
122
  --kendo-scheduler-event-bg: var(--kendo-scheduler-event-color);
123
- --kendo-scheduler-on-event: oklch(from var(--kendo-scheduler-event-bg) clamp(0.10, (0.75 - l) * 99999, 1) 0 h);
123
+ --kendo-scheduler-event-on-color: oklch(from var(--kendo-scheduler-event-bg) clamp(0.10, (0.75 - l) * 99999, 1) 0 h);
124
124
 
125
125
 
126
126
  &:hover,
127
127
  &.k-hover {
128
128
  @include fill(
129
- var(--kendo-scheduler-on-event, $kendo-scheduler-event-hover-text),
129
+ var(--kendo-scheduler-event-on-color, $kendo-scheduler-event-hover-text),
130
130
  var(--kendo-scheduler-event-bg, $kendo-scheduler-event-hover-bg),
131
131
  $kendo-scheduler-event-hover-border,
132
132
  $kendo-scheduler-event-hover-gradient
@@ -136,7 +136,7 @@
136
136
 
137
137
  &.k-selected {
138
138
  @include fill(
139
- var(--kendo-scheduler-on-event, $kendo-scheduler-event-selected-text),
139
+ var(--kendo-scheduler-event-on-color, $kendo-scheduler-event-selected-text),
140
140
  var(--kendo-scheduler-event-bg, $kendo-scheduler-event-selected-bg),
141
141
  $kendo-scheduler-event-selected-border,
142
142
  $kendo-scheduler-event-selected-gradient
@@ -172,10 +172,6 @@
172
172
 
173
173
  // Resizing
174
174
  .k-scheduler-marquee {}
175
- .k-scheduler-marquee::before,
176
- .k-scheduler-marquee::after {
177
- border-color: k-color(primary);
178
- }
179
175
 
180
176
  // Day view
181
177
  .k-scheduler-dayview {}