@progress/kendo-theme-core 14.7.0 → 14.7.1-dev.1

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",
4
+ "version": "14.7.1-dev.1",
5
5
  "author": "Progress",
6
6
  "license": "Apache-2.0",
7
7
  "keywords": [
@@ -0,0 +1,10 @@
1
+ @use "./variables.scss" as *;
2
+ @use "./_layout.scss" as *;
3
+ @use "./_theme.scss" as *;
4
+
5
+ @mixin kendo-datainsights-composer--styles() {
6
+ @include import-once("datainsights-composer") {
7
+ @include kendo-datainsights-composer--layout-base();
8
+ @include kendo-datainsights-composer--theme-base();
9
+ }
10
+ }
@@ -0,0 +1,273 @@
1
+ @use "../../spacing/index.scss" as *;
2
+ @use "../../border-radii/index.scss" as *;
3
+ @use "./variables.scss" as *;
4
+
5
+ @mixin kendo-datainsights-composer--layout-base() {
6
+
7
+ .k-datainsights-composer-title,
8
+ .k-datainsights-composer-report-title {
9
+ font-size: var(--kendo-font-size-xl);
10
+ font-weight: var(--kendo-font-weight-normal);
11
+ margin: 0;
12
+ }
13
+
14
+ .k-datainsights-composer .k-prompt-box {
15
+ z-index: 1;
16
+ }
17
+
18
+ .k-datainsights-composer-actions {
19
+ display: flex;
20
+ align-items: center;
21
+ gap: k-spacing(2);
22
+ flex-shrink: 0;
23
+ }
24
+
25
+ // Composer card: the bordered, filled panel that groups a state's content.
26
+ .k-datainsights-composer-card {
27
+ display: flex;
28
+ flex-direction: column;
29
+ gap: k-spacing(6);
30
+ box-sizing: border-box;
31
+ border-radius: $kendo-datainsights-composer-border-radius;
32
+ border: $kendo-datainsights-composer-border-width solid;
33
+ padding: k-spacing(6);
34
+ height: 100%;
35
+ }
36
+
37
+ // MessageBox ships with its own bottom margin (--kendo-spacing-4, 16px), which
38
+ // Stacked on top of this card's 24px gap. The gap alone should control spacing.
39
+ .k-datainsights-composer-card .k-messagebox {
40
+ margin-bottom: 0;
41
+ }
42
+
43
+ // ── Field chips (data-source columns footer, attached under the PromptBox) ──
44
+ .k-datainsights-composer-fields {
45
+ display: flex;
46
+ flex-wrap: wrap;
47
+ align-items: center;
48
+ gap: k-spacing(1.5);
49
+ border-radius: 0 0 $kendo-datainsights-composer-fields-border-radius $kendo-datainsights-composer-fields-border-radius;
50
+ padding: k-spacing(7) k-spacing(4) k-spacing(3);
51
+ margin-top: calc(-1 * k-spacing(4));
52
+ border: 1px solid;
53
+ }
54
+
55
+ .k-datainsights-composer-fields-scrollable {
56
+ position: relative;
57
+ flex-wrap: nowrap;
58
+ overflow: hidden;
59
+ }
60
+
61
+ .k-datainsights-composer-fields-scroll {
62
+ display: flex;
63
+ flex-wrap: nowrap;
64
+ gap: k-spacing(1.5);
65
+ min-width: 0;
66
+ padding: k-spacing(1);
67
+ margin: calc(-1 * k-spacing(1));
68
+ overflow-x: auto;
69
+ scrollbar-width: none;
70
+ }
71
+
72
+ .k-datainsights-composer-fields-scroll::-webkit-scrollbar {
73
+ display: none;
74
+ }
75
+
76
+ .k-datainsights-composer-fields-scroll .k-chip {
77
+ flex: 0 0 auto;
78
+ }
79
+
80
+ .k-datainsights-composer-fields-scrollable-end::before,
81
+ .k-datainsights-composer-fields-scrollable-start::after {
82
+ content: "";
83
+ position: absolute;
84
+ inset-block-start: k-spacing(6);
85
+ inset-block-end: k-spacing(2);
86
+ z-index: 1;
87
+ width: calc(k-spacing(8) + k-spacing(1));
88
+ pointer-events: none;
89
+ }
90
+
91
+ .k-datainsights-composer-fields-scrollable-end::before {
92
+ inset-inline-start: k-spacing(3);
93
+ }
94
+
95
+ .k-datainsights-composer-fields-scrollable-start::after {
96
+ inset-inline-end: k-spacing(3);
97
+ }
98
+
99
+ .k-datainsights-composer-report-header {
100
+ display: flex;
101
+ justify-content: space-between;
102
+ align-items: center;
103
+ gap: k-spacing(4);
104
+ }
105
+
106
+ .k-datainsights-composer-report-content {
107
+ box-sizing: border-box;
108
+ padding: k-spacing(6);
109
+ border-radius: $kendo-datainsights-composer-border-radius;
110
+ border: $kendo-datainsights-composer-border-width solid;
111
+ }
112
+
113
+ .k-datainsights-composer-preview {
114
+ background: $kendo-datainsights-composer-preview-background;
115
+ border-radius: $kendo-datainsights-composer-border-radius;
116
+ }
117
+
118
+ .k-datainsights-composer-report-content .k-datainsights-composer-report-output {
119
+ margin-top: k-spacing(4);
120
+ display: flex;
121
+ justify-content: center;
122
+ }
123
+
124
+ .k-datainsights-composer-report-output > .k-chart {
125
+ width: 100%;
126
+ }
127
+
128
+ // ── Loading state ──────────────────────────────────────
129
+ .k-datainsights-composer-loading {
130
+ display: flex;
131
+ align-items: center;
132
+ justify-content: center;
133
+ gap: k-spacing(3);
134
+ height: $kendo-datainsights-composer-loading-height;
135
+ padding: k-spacing(6);
136
+ }
137
+
138
+ .k-datainsights-composer-loading-message {
139
+ font-size: var(--kendo-font-size-sm);
140
+ }
141
+
142
+ .k-datainsights-composer-report-content-loading {
143
+ display: flex;
144
+ align-items: center;
145
+ justify-content: center;
146
+ border-style: dashed;
147
+ }
148
+
149
+ // ── Data source popup (browse-all / single-source field list) ──
150
+ .k-datainsights-composer-popup {
151
+ box-sizing: border-box;
152
+ min-width: $kendo-datainsights-composer-popup-min-width;
153
+ max-width: $kendo-datainsights-composer-popup-max-width;
154
+ max-height: $kendo-datainsights-composer-popup-max-height;
155
+ }
156
+
157
+ .k-datainsights-composer-popup {
158
+ gap: k-spacing(2);
159
+ padding: k-spacing(3);
160
+ }
161
+
162
+ .k-datainsights-composer-popup:has(> .k-searchbox) > .k-searchbox {
163
+ flex: 0 0 auto;
164
+ width: 100%;
165
+ }
166
+
167
+ .k-datainsights-composer-popup:has(> .k-datainsights-composer-popup-tree) > .k-datainsights-composer-popup-tree {
168
+ flex: 1 1 auto;
169
+ min-height: 0;
170
+ overflow-y: auto;
171
+ }
172
+
173
+ .k-datainsights-composer-popup-field-list {
174
+ min-height: 0;
175
+ overflow-y: auto;
176
+ padding: k-spacing(1);
177
+ margin: calc( k-spacing(1) * -1);
178
+
179
+ .k-chip {
180
+ flex: 0 0 auto;
181
+ }
182
+ }
183
+
184
+ .k-datainsights-composer-popup-title {
185
+ box-sizing: border-box;
186
+ display: flex;
187
+ align-items: center;
188
+ padding: k-spacing(1.5) k-spacing(2);
189
+ }
190
+
191
+ .k-datainsights-composer-popup-title,
192
+ .k-datainsights-composer-popup-tree > .k-treeview-group > .k-treeview-item > .k-treeview-item-content {
193
+ font-size: var(--kendo-font-size-sm);
194
+ font-weight: var(--kendo-font-weight-semibold);
195
+ line-height: var(--kendo-line-height-sm);
196
+ }
197
+
198
+ .k-datainsights-composer-popup .k-chip {
199
+ width: 100%;
200
+ box-sizing: border-box;
201
+ cursor: default;
202
+
203
+ // Field chips are static labels, not interactive controls — pointer
204
+ // events pass through to whatever sits underneath them (the field
205
+ // list container, or the TreeView row the chip is nested in), so
206
+ // clicking a chip does not focus or activate it directly.
207
+ pointer-events: none;
208
+ }
209
+
210
+ .k-datainsights-composer-popup-tree {
211
+ min-width: 0;
212
+ max-width: 100%;
213
+ padding: k-spacing(1);
214
+ margin: calc( k-spacing(1) * -1);
215
+
216
+ .k-treeview-item-content:has(.k-chip) {
217
+ border-radius: var(--kendo-border-radius-full);
218
+ padding: k-spacing(0.5);
219
+ margin: calc( k-spacing(0.5) * -1);
220
+
221
+ .k-treeview-leaf {
222
+ width: 100%;
223
+ padding: 0;
224
+ }
225
+ }
226
+
227
+ .k-chip {
228
+ justify-content: flex-start;
229
+ max-width: 100%;
230
+ overflow: hidden;
231
+ cursor: default;
232
+ }
233
+
234
+ .k-chip-label {
235
+ min-width: 0;
236
+ overflow: hidden;
237
+ text-overflow: ellipsis;
238
+ white-space: nowrap;
239
+ }
240
+
241
+ // Disable treeview level for chips
242
+ .k-treeview-item:has(> .k-treeview-item-content .k-chip) > .k-treeview-item-content {
243
+ --kendo-treeview-level: 0;
244
+ }
245
+
246
+ .k-treeview-group,
247
+ .k-treeview-item:has(.k-chip) > .k-treeview-item-content {
248
+ min-width: 0;
249
+ max-width: 100%;
250
+ }
251
+ }
252
+
253
+ .k-datainsights-composer-popup-field-list,
254
+ .k-datainsights-composer-popup-tree .k-treeview-group {
255
+ display: flex;
256
+ flex-flow: column nowrap;
257
+ gap: k-spacing(1.5);
258
+ }
259
+
260
+ // ── History dialog ─────────────────────────────────────
261
+ .k-datainsights-composer-popup:has(> .k-datainsights-composer-popup-title) {
262
+ width: max-content;
263
+ overflow-y: auto;
264
+ }
265
+
266
+ .k-datainsights-composer-history-checkpoint .k-list-item-text {
267
+ min-width: 0;
268
+ overflow: hidden;
269
+ text-overflow: ellipsis;
270
+ white-space: nowrap;
271
+ }
272
+
273
+ }
@@ -0,0 +1,90 @@
1
+ @use "./variables.scss" as *;
2
+ @use "../../color-system/index.scss" as *;
3
+
4
+ @mixin kendo-datainsights-composer--theme-base() {
5
+
6
+ .k-datainsights-composer-card {
7
+ background: $kendo-datainsights-composer-background;
8
+ border-color: $kendo-datainsights-composer-border-color;
9
+ }
10
+
11
+ .k-datainsights-composer-fields {
12
+ background: $kendo-datainsights-composer-preview-background;
13
+ border-color: $kendo-datainsights-composer-border-color;
14
+ }
15
+
16
+ .k-datainsights-composer-fields-scrollable-end::before {
17
+ background: linear-gradient(90deg, $kendo-datainsights-composer-preview-background, transparent);
18
+ }
19
+
20
+ .k-datainsights-composer-fields-scrollable-start::after {
21
+ background: linear-gradient(270deg, $kendo-datainsights-composer-preview-background, transparent);
22
+ }
23
+
24
+ .k-datainsights-composer-report-content {
25
+ background: $kendo-datainsights-composer-preview-background;
26
+ border-color: $kendo-datainsights-composer-border-color;
27
+ }
28
+
29
+ .k-datainsights-composer-loading-message {
30
+ color: k-color(subtle);
31
+ }
32
+
33
+ .k-datainsights-composer-report-content-loading {
34
+ animation: k-datainsights-composer-shimmer 1.8s infinite var(--kendo-easing-standard);
35
+ }
36
+
37
+ @keyframes k-datainsights-composer-shimmer {
38
+ 0%,
39
+ 100% {
40
+ border-color: color-mix(in srgb, #e682ff 60%, transparent);
41
+ }
42
+ 50% {
43
+ border-color: #2c44fe;
44
+ }
45
+ }
46
+
47
+ .k-datainsights-composer-popup {
48
+
49
+ .k-chip:hover,
50
+ .k-chip:focus,
51
+ .k-chip.k-hover,
52
+ .k-chip.k-focus {
53
+ background-color: transparent;
54
+ color: inherit;
55
+ outline: none;
56
+ }
57
+
58
+ .k-chip.k-chip-outline.k-chip-base:hover,
59
+ .k-chip.k-chip-outline.k-chip-base.k-hover {
60
+ color: k-color(on-app-surface);
61
+ background-color: transparent;
62
+ background-image: none;
63
+ border-color: k-color(base-emphasis);
64
+ }
65
+ }
66
+
67
+ .k-datainsights-composer-popup-title,
68
+ .k-datainsights-composer-popup-tree > .k-treeview-group > .k-treeview-item > .k-treeview-item-content {
69
+ color: k-color(subtle);
70
+ }
71
+
72
+ .k-datainsights-composer-popup-tree .k-treeview-item-content:hover,
73
+ .k-datainsights-composer-popup-tree .k-treeview-item-content.k-hover {
74
+ color: inherit;
75
+ background-color: transparent;
76
+ background-image: none;
77
+ border-color: transparent;
78
+ }
79
+
80
+ .k-rtl,
81
+ [dir="rtl"] {
82
+ .k-datainsights-composer-fields-scrollable-end::before {
83
+ background: linear-gradient(270deg, $kendo-datainsights-composer-preview-background, transparent);
84
+ }
85
+
86
+ .k-datainsights-composer-fields-scrollable-start::after {
87
+ background: linear-gradient(90deg, $kendo-datainsights-composer-preview-background, transparent);
88
+ }
89
+ }
90
+ }
@@ -0,0 +1,11 @@
1
+ // Data Insights Composer
2
+ $kendo-datainsights-composer-border-width: null !default;
3
+ $kendo-datainsights-composer-border-color: null !default;
4
+ $kendo-datainsights-composer-border-radius: null !default;
5
+ $kendo-datainsights-composer-background: null !default;
6
+ $kendo-datainsights-composer-preview-background: null !default;
7
+ $kendo-datainsights-composer-fields-border-radius: null !default;
8
+ $kendo-datainsights-composer-loading-height: null !default;
9
+ $kendo-datainsights-composer-popup-min-width: null !default;
10
+ $kendo-datainsights-composer-popup-max-width: null !default;
11
+ $kendo-datainsights-composer-popup-max-height: null !default;