@progress/kendo-angular-chart-wizard 16.6.0-develop.10

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 (54) hide show
  1. package/LICENSE.md +11 -0
  2. package/NOTICE.txt +200 -0
  3. package/README.md +32 -0
  4. package/chart-wizard-state.d.ts +149 -0
  5. package/chart-wizard.component.d.ts +80 -0
  6. package/chart-wizard.module.d.ts +19 -0
  7. package/common/get-wizard-data-from-data-rows.d.ts +41 -0
  8. package/common/index.d.ts +5 -0
  9. package/common/models.d.ts +19 -0
  10. package/directives.d.ts +10 -0
  11. package/esm2020/chart-wizard-state.mjs +502 -0
  12. package/esm2020/chart-wizard.component.mjs +552 -0
  13. package/esm2020/chart-wizard.module.mjs +53 -0
  14. package/esm2020/common/get-wizard-data-from-data-rows.mjs +27 -0
  15. package/esm2020/common/index.mjs +5 -0
  16. package/esm2020/common/models.mjs +5 -0
  17. package/esm2020/directives.mjs +13 -0
  18. package/esm2020/events/export-event.mjs +18 -0
  19. package/esm2020/events/index.mjs +5 -0
  20. package/esm2020/events/preventable-event.mjs +30 -0
  21. package/esm2020/grid-integration/get-grid-selected-rows.mjs +48 -0
  22. package/esm2020/grid-integration/get-wizard-data-from-grid-selection.mjs +13 -0
  23. package/esm2020/grid-integration/grid-chart-wizard.directive.mjs +74 -0
  24. package/esm2020/grid-integration/index.mjs +7 -0
  25. package/esm2020/index.mjs +11 -0
  26. package/esm2020/package-metadata.mjs +15 -0
  27. package/esm2020/progress-kendo-angular-chart-wizard.mjs +8 -0
  28. package/esm2020/property-pane/chart-tab.component.mjs +257 -0
  29. package/esm2020/property-pane/data-tab.component.mjs +229 -0
  30. package/esm2020/property-pane/form-field.component.mjs +245 -0
  31. package/esm2020/property-pane/format-tab.component.mjs +945 -0
  32. package/esm2020/series-type-button.component.mjs +67 -0
  33. package/esm2020/state.service.mjs +32 -0
  34. package/events/export-event.d.ts +24 -0
  35. package/events/index.d.ts +5 -0
  36. package/events/preventable-event.d.ts +24 -0
  37. package/fesm2015/progress-kendo-angular-chart-wizard.mjs +2999 -0
  38. package/fesm2020/progress-kendo-angular-chart-wizard.mjs +2993 -0
  39. package/grid-integration/get-grid-selected-rows.d.ts +20 -0
  40. package/grid-integration/get-wizard-data-from-grid-selection.d.ts +19 -0
  41. package/grid-integration/grid-chart-wizard.directive.d.ts +42 -0
  42. package/grid-integration/index.d.ts +7 -0
  43. package/index.d.ts +12 -0
  44. package/package-metadata.d.ts +9 -0
  45. package/package.json +65 -0
  46. package/property-pane/chart-tab.component.d.ts +35 -0
  47. package/property-pane/data-tab.component.d.ts +33 -0
  48. package/property-pane/form-field.component.d.ts +45 -0
  49. package/property-pane/format-tab.component.d.ts +102 -0
  50. package/schematics/collection.json +12 -0
  51. package/schematics/ngAdd/index.js +8 -0
  52. package/schematics/ngAdd/schema.json +24 -0
  53. package/series-type-button.component.d.ts +24 -0
  54. package/state.service.d.ts +23 -0
@@ -0,0 +1,2999 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import * as i0 from '@angular/core';
6
+ import { Injectable, EventEmitter, Component, ChangeDetectionStrategy, Input, Output, HostBinding, ViewChild, Directive, Inject, HostListener, NgModule } from '@angular/core';
7
+ import { shouldShowValidationUI, WatermarkOverlayComponent, isPresent, ResizeBatchService } from '@progress/kendo-angular-common';
8
+ import * as i2 from '@progress/kendo-angular-l10n';
9
+ import { LocalizationService, L10N_PREFIX } from '@progress/kendo-angular-l10n';
10
+ import { validatePackage } from '@progress/kendo-licensing';
11
+ import { Subscription } from 'rxjs';
12
+ import { trashIcon, plusIcon, exportIcon, chartBarClusteredIcon, chartBarStackedIcon, chartBarStacked100Icon, chartPieIcon, chartColumnClusteredIcon, chartColumnStackedIcon, chartColumnStacked100Icon, chartLineIcon, chartLineStackedIcon, chartLineStacked100Icon, chartScatterIcon, filePdfIcon, fileIcon, fileImageIcon } from '@progress/kendo-svg-icons';
13
+ import { ChartComponent, TitleComponent, SubtitleComponent, ChartAreaComponent, CategoryAxisComponent, CategoryAxisItemComponent, ValueAxisComponent, ValueAxisItemComponent, SeriesComponent, SeriesItemComponent, XAxisComponent, XAxisItemComponent, YAxisComponent, YAxisItemComponent, LegendComponent, ThemeService } from '@progress/kendo-angular-charts';
14
+ import { saveAs } from '@progress/kendo-file-saver';
15
+ import { exportPDF } from '@progress/kendo-drawing';
16
+ import { DropDownListComponent, ComboBoxComponent, ValueTemplateDirective } from '@progress/kendo-angular-dropdowns';
17
+ import { NumericTextBoxComponent, ColorPickerComponent, TextBoxComponent, CheckBoxComponent, SwitchComponent } from '@progress/kendo-angular-inputs';
18
+ import { LabelComponent } from '@progress/kendo-angular-label';
19
+ import { NgIf, NgFor } from '@angular/common';
20
+ import { ExpansionPanelComponent, SplitterComponent, SplitterPaneComponent, TabStripComponent, TabStripTabComponent, TabContentDirective } from '@progress/kendo-angular-layout';
21
+ import * as i1 from '@progress/kendo-angular-grid';
22
+ import { GridComponent, ReactiveEditingDirective, DataBindingDirective, ToolbarTemplateDirective, RowReorderColumnComponent, ColumnComponent, CommandColumnComponent, CellTemplateDirective, GridToolbarFocusableDirective, RemoveCommandDirective } from '@progress/kendo-angular-grid';
23
+ import { ButtonComponent, FocusableDirective, DropDownButtonComponent } from '@progress/kendo-angular-buttons';
24
+ import * as i2$1 from '@angular/forms';
25
+ import { SVGIconComponent, IconsService } from '@progress/kendo-angular-icons';
26
+ import { WindowComponent, DialogContainerService, DialogService, WindowService, WindowContainerService } from '@progress/kendo-angular-dialog';
27
+ import { PopupService } from '@progress/kendo-angular-popup';
28
+ import { getter } from '@progress/kendo-common';
29
+
30
+ /**
31
+ * @hidden
32
+ */
33
+ const packageMetadata = {
34
+ name: '@progress/kendo-angular-chart-wizard',
35
+ productName: 'Kendo UI for Angular',
36
+ productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
37
+ publishDate: 1722607228,
38
+ version: '16.6.0-develop.10',
39
+ licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning',
40
+ };
41
+
42
+ /**
43
+ * @hidden
44
+ */
45
+ const fontSizes = [
46
+ { text: '16', value: '16px' },
47
+ { text: '20', value: '20px' },
48
+ { text: '24', value: '24px' },
49
+ { text: '48', value: '48px' },
50
+ { text: '60', value: '60px' },
51
+ { text: '96', value: '96px' },
52
+ ];
53
+ /**
54
+ * @hidden
55
+ */
56
+ const fontNames = [
57
+ { text: 'Arial', value: 'Arial, Helvetica, sans-serif',
58
+ style: { fontFamily: 'Arial, Helvetica, sans-serif' } },
59
+ { text: 'Courier New', value: '\'Courier New\', Courier, monospace',
60
+ style: { fontFamily: '\'Courier New\', Courier, monospace' } },
61
+ { text: 'Georgia', value: 'Georgia, serif',
62
+ style: { fontFamily: 'Georgia, serif' } },
63
+ { text: 'Impact', value: 'Impact, Charcoal, sans-serif',
64
+ style: { fontFamily: 'Impact, Charcoal, sans-serif' } },
65
+ { text: 'Lucida Console', value: '\'Lucida Console\', Monaco, monospace',
66
+ style: { fontFamily: '\'Lucida Console\', Monaco, monospace' } },
67
+ { text: 'Tahoma', value: 'Tahoma, Geneva, sans-serif',
68
+ style: { fontFamily: 'Tahoma, Geneva, sans-serif' } },
69
+ { text: 'Times New Roman', value: '\'Times New Roman\', Times,serif',
70
+ style: { fontFamily: '\'Times New Roman\', Times,serif' } },
71
+ { text: 'Trebuchet MS', value: '\'Trebuchet MS\', Helvetica, sans-serif',
72
+ style: { fontFamily: '\'Trebuchet MS\', Helvetica, sans-serif' } },
73
+ { text: 'Verdana', value: 'Verdana, Geneva, sans-serif',
74
+ style: { fontFamily: 'Verdana, Geneva, sans-serif' } }
75
+ ];
76
+ /**
77
+ * @hidden
78
+ */
79
+ const rotations = [
80
+ { text: '0°', value: 0 },
81
+ { text: '45°', value: 45 },
82
+ { text: '90°', value: 90 },
83
+ { text: '135°', value: 135 },
84
+ { text: '180°', value: 180 }
85
+ ];
86
+ /**
87
+ * @hidden
88
+ */
89
+ const positions = [
90
+ { text: 'Top', value: 'top' },
91
+ { text: 'Bottom', value: 'bottom' },
92
+ { text: 'Left', value: 'left' },
93
+ { text: 'Right', value: 'right' }
94
+ ];
95
+ const columnType = 'column';
96
+ const barType = 'bar';
97
+ const lineType = 'line';
98
+ const pieType = 'pie';
99
+ const scatterType = 'scatter';
100
+ const categoricalTypes = [columnType, barType, lineType, scatterType];
101
+ const scatterSeries = {
102
+ type: lineType,
103
+ width: 0
104
+ };
105
+ /**
106
+ * @hidden
107
+ */
108
+ const isCategorical = (type) => type && categoricalTypes.includes(type);
109
+ const categoryTypes = ['string', 'date', 'number'];
110
+ const valueTypes = ['number'];
111
+ const axesDefinitions = {
112
+ bar: [
113
+ { axisType: 'category', types: categoryTypes },
114
+ { axisType: 'value', types: valueTypes },
115
+ ],
116
+ column: [
117
+ { axisType: 'category', types: categoryTypes },
118
+ { axisType: 'value', types: valueTypes },
119
+ ],
120
+ line: [
121
+ { axisType: 'category', types: categoryTypes },
122
+ { axisType: 'value', types: valueTypes },
123
+ ],
124
+ pie: [
125
+ { axisType: 'category', types: categoryTypes },
126
+ { axisType: 'value', types: valueTypes },
127
+ ],
128
+ scatter: [
129
+ { axisType: 'value', types: valueTypes, count: 2 }
130
+ ]
131
+ };
132
+ const getFont = (font, size) => `${size || ''} ${font || ''}`.trim();
133
+ /**
134
+ * @hidden
135
+ */
136
+ const parseFont = (font) => {
137
+ const spaceIndex = (font || '').indexOf(' ');
138
+ const size = font === null || font === void 0 ? void 0 : font.substring(0, spaceIndex);
139
+ const name = font === null || font === void 0 ? void 0 : font.substring(spaceIndex + 1);
140
+ return { size, name };
141
+ };
142
+ const updateFontName = (fontName, defaultSize, currentFont) => {
143
+ const { size } = parseFont(currentFont);
144
+ return fontName ? getFont(fontName, size || defaultSize) : '';
145
+ };
146
+ const updateFontSize = (fontSize, defaultFontName, currentFont) => {
147
+ const { name } = parseFont(currentFont);
148
+ return fontSize ? getFont(name || defaultFontName, fontSize) : '';
149
+ };
150
+ const getCategoryColumnIndex = (data, categoryDef) => {
151
+ const candidates = [];
152
+ const firstRecord = data[0].slice();
153
+ categoryDef.types.forEach((type) => {
154
+ firstRecord.forEach((item, i) => {
155
+ if (typeof item.value === type) {
156
+ candidates.push(i);
157
+ }
158
+ });
159
+ });
160
+ const result = candidates.findIndex((index) => {
161
+ const values = data.map((record) => record[index].value);
162
+ return new Set(values).size === values.length;
163
+ });
164
+ return Math.max(result, 0);
165
+ };
166
+ const getValueColumnIndexes = (data, valuesDef) => {
167
+ const candidates = [];
168
+ const firstRecord = data[0].slice();
169
+ valuesDef.forEach((def) => {
170
+ def.types.forEach((type) => {
171
+ firstRecord.forEach((item, i) => {
172
+ if (typeof item.value === type) {
173
+ candidates.push(i);
174
+ }
175
+ });
176
+ });
177
+ });
178
+ return candidates;
179
+ };
180
+ const emptyState = () => structuredClone({
181
+ columns: [],
182
+ data: [],
183
+ series: [],
184
+ initialSeries: [],
185
+ categoryAxis: [],
186
+ valueAxis: [{ labels: { visible: true } }],
187
+ area: {
188
+ margin: { left: undefined, right: undefined, top: undefined, bottom: undefined }
189
+ },
190
+ });
191
+ const categoryValueChartState = (data, seriesType, options) => {
192
+ const state = emptyState();
193
+ state.seriesType = seriesType;
194
+ state.data = data;
195
+ const chartDef = axesDefinitions[seriesType];
196
+ if (!chartDef) {
197
+ return state;
198
+ }
199
+ const firstRecord = data[0].slice();
200
+ state.columns = data[0].map(i => String(i.field));
201
+ const categoryDef = chartDef.find(def => def.axisType === 'category');
202
+ let catIndex = -1;
203
+ if (categoryDef) {
204
+ catIndex = (options === null || options === void 0 ? void 0 : options.categoryAxis) ? state.columns.indexOf(options === null || options === void 0 ? void 0 : options.categoryAxis) : getCategoryColumnIndex(data, categoryDef);
205
+ }
206
+ const valuesDef = chartDef.filter(def => def.axisType === 'value');
207
+ let valuesIndexes = getValueColumnIndexes(data, valuesDef);
208
+ if (valuesIndexes.includes(catIndex)) {
209
+ valuesIndexes = valuesIndexes.filter(index => index !== catIndex);
210
+ }
211
+ const series = [];
212
+ valuesIndexes.forEach(index => {
213
+ const valuesColumn = firstRecord[index];
214
+ const valuesResult = [];
215
+ data.forEach(record => {
216
+ valuesResult.push(record[index].value);
217
+ });
218
+ series.push(Object.assign({ name: valuesColumn.field, type: seriesType, data: valuesResult, stack: false, labels: { visible: true } }, (seriesType === scatterType ? scatterSeries : {})));
219
+ });
220
+ const categories = catIndex > -1 ? data.map(item => String(item[catIndex].value)) : [];
221
+ if (series.length) {
222
+ state.series = series.map((s, i) => (Object.assign(Object.assign({}, s), { id: i })));
223
+ state.initialSeries = structuredClone(state.series);
224
+ }
225
+ if (categories.length) {
226
+ state.categoryAxis = [{ categories, labels: { visible: true } }];
227
+ state.categoryField = state.columns[catIndex];
228
+ }
229
+ state.legend = { visible: true };
230
+ state.title = { text: null };
231
+ state.subtitle = { text: null };
232
+ return state;
233
+ };
234
+ const pieChartState = (data, seriesType, options) => {
235
+ const state = emptyState();
236
+ state.seriesType = seriesType;
237
+ state.data = data;
238
+ const chartDef = axesDefinitions[seriesType];
239
+ if (!chartDef) {
240
+ return state;
241
+ }
242
+ const categoriesAxis = data[0].map(i => i.field);
243
+ const categoryDef = chartDef.find(def => def.axisType === 'category');
244
+ let catIndex = -1;
245
+ if (categoryDef) {
246
+ catIndex = (options === null || options === void 0 ? void 0 : options.categoryAxis) ? categoriesAxis.indexOf(options === null || options === void 0 ? void 0 : options.categoryAxis) : getCategoryColumnIndex(data, categoryDef);
247
+ }
248
+ const valuesDef = chartDef.filter(def => def.axisType === 'value');
249
+ let valuesIndexes = [];
250
+ if (options === null || options === void 0 ? void 0 : options.valueAxis) {
251
+ valuesIndexes = [categoriesAxis.indexOf(options.valueAxis)];
252
+ }
253
+ else {
254
+ valuesIndexes = getValueColumnIndexes(data, valuesDef);
255
+ }
256
+ if (valuesIndexes.includes(catIndex) && valuesIndexes.length > 1) {
257
+ valuesIndexes = valuesIndexes.filter(index => index !== catIndex);
258
+ }
259
+ if (typeof valuesDef[0].count === 'number') {
260
+ valuesIndexes = valuesIndexes.slice(0, valuesDef[0].count);
261
+ }
262
+ const categories = catIndex > -1 ? data.map(item => String(item[catIndex].value)) : [];
263
+ const flatData = [];
264
+ data.forEach(item => {
265
+ const record = {};
266
+ valuesIndexes.forEach((index) => {
267
+ const col = item[index];
268
+ record[col.field] = col.value;
269
+ record[item[catIndex].field] = item[catIndex].value;
270
+ });
271
+ flatData.push(record);
272
+ });
273
+ state.columns = categoriesAxis;
274
+ state.categoryAxis = [{ categories, title: { text: '' } }];
275
+ state.series = [{
276
+ id: 0,
277
+ data: flatData,
278
+ type: seriesType,
279
+ name: categoriesAxis[catIndex],
280
+ labels: { visible: true },
281
+ categoryField: categoriesAxis[catIndex],
282
+ field: categoriesAxis[valuesIndexes[0]]
283
+ }];
284
+ state.categoryField = categoriesAxis[catIndex];
285
+ state.valueField = categoriesAxis[valuesIndexes[0]];
286
+ state.initialSeries = structuredClone(state.series);
287
+ return state;
288
+ };
289
+ /**
290
+ * @hidden
291
+ */
292
+ const createState = (data, seriesType) => {
293
+ return (isCategorical(seriesType) ? categoryValueChartState : pieChartState)(data, seriesType);
294
+ };
295
+ /**
296
+ * @hidden
297
+ */
298
+ var ActionTypes;
299
+ (function (ActionTypes) {
300
+ ActionTypes[ActionTypes["seriesType"] = 0] = "seriesType";
301
+ ActionTypes[ActionTypes["stacked"] = 1] = "stacked";
302
+ ActionTypes[ActionTypes["categoryAxisX"] = 2] = "categoryAxisX";
303
+ ActionTypes[ActionTypes["valueAxisY"] = 3] = "valueAxisY";
304
+ ActionTypes[ActionTypes["seriesChange"] = 4] = "seriesChange";
305
+ ActionTypes[ActionTypes["areaMarginLeft"] = 5] = "areaMarginLeft";
306
+ ActionTypes[ActionTypes["areaMarginRight"] = 6] = "areaMarginRight";
307
+ ActionTypes[ActionTypes["areaMarginTop"] = 7] = "areaMarginTop";
308
+ ActionTypes[ActionTypes["areaMarginBottom"] = 8] = "areaMarginBottom";
309
+ ActionTypes[ActionTypes["areaBackground"] = 9] = "areaBackground";
310
+ ActionTypes[ActionTypes["titleText"] = 10] = "titleText";
311
+ ActionTypes[ActionTypes["titleFontName"] = 11] = "titleFontName";
312
+ ActionTypes[ActionTypes["titleFontSize"] = 12] = "titleFontSize";
313
+ ActionTypes[ActionTypes["titleColor"] = 13] = "titleColor";
314
+ ActionTypes[ActionTypes["subtitleText"] = 14] = "subtitleText";
315
+ ActionTypes[ActionTypes["subtitleFontName"] = 15] = "subtitleFontName";
316
+ ActionTypes[ActionTypes["subtitleFontSize"] = 16] = "subtitleFontSize";
317
+ ActionTypes[ActionTypes["subtitleColor"] = 17] = "subtitleColor";
318
+ ActionTypes[ActionTypes["seriesColor"] = 18] = "seriesColor";
319
+ ActionTypes[ActionTypes["seriesLabel"] = 19] = "seriesLabel";
320
+ ActionTypes[ActionTypes["legendVisible"] = 20] = "legendVisible";
321
+ ActionTypes[ActionTypes["legendFontName"] = 21] = "legendFontName";
322
+ ActionTypes[ActionTypes["legendFontSize"] = 22] = "legendFontSize";
323
+ ActionTypes[ActionTypes["legendColor"] = 23] = "legendColor";
324
+ ActionTypes[ActionTypes["legendPosition"] = 24] = "legendPosition";
325
+ ActionTypes[ActionTypes["categoryAxisTitleText"] = 25] = "categoryAxisTitleText";
326
+ ActionTypes[ActionTypes["categoryAxisTitleFontName"] = 26] = "categoryAxisTitleFontName";
327
+ ActionTypes[ActionTypes["categoryAxisTitleFontSize"] = 27] = "categoryAxisTitleFontSize";
328
+ ActionTypes[ActionTypes["categoryAxisTitleColor"] = 28] = "categoryAxisTitleColor";
329
+ ActionTypes[ActionTypes["categoryAxisLabelsFontName"] = 29] = "categoryAxisLabelsFontName";
330
+ ActionTypes[ActionTypes["categoryAxisLabelsFontSize"] = 30] = "categoryAxisLabelsFontSize";
331
+ ActionTypes[ActionTypes["categoryAxisLabelsColor"] = 31] = "categoryAxisLabelsColor";
332
+ ActionTypes[ActionTypes["categoryAxisLabelsRotation"] = 32] = "categoryAxisLabelsRotation";
333
+ ActionTypes[ActionTypes["categoryAxisReverseOrder"] = 33] = "categoryAxisReverseOrder";
334
+ ActionTypes[ActionTypes["valueAxisTitleText"] = 34] = "valueAxisTitleText";
335
+ ActionTypes[ActionTypes["valueAxisTitleFontName"] = 35] = "valueAxisTitleFontName";
336
+ ActionTypes[ActionTypes["valueAxisTitleFontSize"] = 36] = "valueAxisTitleFontSize";
337
+ ActionTypes[ActionTypes["valueAxisTitleColor"] = 37] = "valueAxisTitleColor";
338
+ ActionTypes[ActionTypes["valueAxisLabelsFormat"] = 38] = "valueAxisLabelsFormat";
339
+ ActionTypes[ActionTypes["valueAxisLabelsFontName"] = 39] = "valueAxisLabelsFontName";
340
+ ActionTypes[ActionTypes["valueAxisLabelsFontSize"] = 40] = "valueAxisLabelsFontSize";
341
+ ActionTypes[ActionTypes["valueAxisLabelsColor"] = 41] = "valueAxisLabelsColor";
342
+ ActionTypes[ActionTypes["valueAxisLabelsRotation"] = 42] = "valueAxisLabelsRotation";
343
+ })(ActionTypes || (ActionTypes = {}));
344
+ /**
345
+ * @hidden
346
+ */
347
+ const mergeStates = (state, newState) => {
348
+ newState.legend = state.legend;
349
+ newState.area = state.area;
350
+ newState.title = state.title;
351
+ newState.subtitle = state.subtitle;
352
+ if (newState.series.length === state.series.length) {
353
+ for (let i = 0; i < newState.series.length; i++) {
354
+ newState.series[i].color = state.series[i].color;
355
+ newState.series[i].labels = state.series[i].labels;
356
+ }
357
+ }
358
+ if (state.series.every(s => { var _a; return (_a = s.labels) === null || _a === void 0 ? void 0 : _a.visible; })) {
359
+ newState.series.forEach(s => {
360
+ s.labels = s.labels || {};
361
+ s.labels.visible = true;
362
+ });
363
+ }
364
+ return newState;
365
+ };
366
+ /**
367
+ * @hidden
368
+ */
369
+ const updateState = (currentState, action, value) => {
370
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8;
371
+ const state = Object.assign({}, currentState);
372
+ switch (action) {
373
+ case ActionTypes.seriesType:
374
+ return createState(state.data, value);
375
+ case ActionTypes.stacked:
376
+ state.series = state.series.map(s => (Object.assign(Object.assign({}, s), { stack: value })));
377
+ return state;
378
+ case ActionTypes.categoryAxisX: {
379
+ if (state.seriesType && isCategorical(state.seriesType)) {
380
+ const newState = categoryValueChartState(state.data, state.seriesType, { categoryAxis: value });
381
+ return mergeStates(state, newState);
382
+ }
383
+ else if (state.seriesType === pieType) {
384
+ const newState = pieChartState(state.data, state.seriesType, { categoryAxis: value });
385
+ return mergeStates(state, newState);
386
+ }
387
+ return state;
388
+ }
389
+ case ActionTypes.valueAxisY: {
390
+ if (state.seriesType === pieType) {
391
+ const newState = pieChartState(state.data, state.seriesType, { categoryAxis: state.categoryField, valueAxis: value });
392
+ return mergeStates(state, newState);
393
+ }
394
+ return state;
395
+ }
396
+ case ActionTypes.seriesChange:
397
+ state.series = value;
398
+ return state;
399
+ case ActionTypes.areaMarginLeft:
400
+ state.area = Object.assign(Object.assign({}, state.area), { margin: Object.assign(Object.assign({}, (((_a = state.area) === null || _a === void 0 ? void 0 : _a.margin) || {})), { left: value }) });
401
+ return state;
402
+ case ActionTypes.areaMarginRight:
403
+ state.area = Object.assign(Object.assign({}, state.area), { margin: Object.assign(Object.assign({}, (((_b = state.area) === null || _b === void 0 ? void 0 : _b.margin) || {})), { right: value }) });
404
+ return state;
405
+ case ActionTypes.areaMarginTop:
406
+ state.area = Object.assign(Object.assign({}, state.area), { margin: Object.assign(Object.assign({}, (((_c = state.area) === null || _c === void 0 ? void 0 : _c.margin) || {})), { top: value }) });
407
+ return state;
408
+ case ActionTypes.areaMarginBottom:
409
+ state.area = Object.assign(Object.assign({}, state.area), { margin: Object.assign(Object.assign({}, (((_d = state.area) === null || _d === void 0 ? void 0 : _d.margin) || {})), { bottom: value }) });
410
+ return state;
411
+ case ActionTypes.areaBackground:
412
+ state.area = Object.assign(Object.assign({}, state.area), { background: value });
413
+ return state;
414
+ case ActionTypes.titleText:
415
+ state.title = Object.assign(Object.assign({}, state.title), { text: value });
416
+ return state;
417
+ case ActionTypes.titleFontName: {
418
+ state.title = Object.assign(Object.assign({}, state.title), { font: updateFontName(value, fontSizes[0].value, (_e = state.title) === null || _e === void 0 ? void 0 : _e.font) });
419
+ return state;
420
+ }
421
+ case ActionTypes.titleFontSize:
422
+ state.title = Object.assign(Object.assign({}, state.title), { font: updateFontSize(value, fontNames[0].value, (_f = state.title) === null || _f === void 0 ? void 0 : _f.font) });
423
+ return state;
424
+ case ActionTypes.titleColor:
425
+ state.title = Object.assign(Object.assign({}, state.title), { color: value });
426
+ return state;
427
+ case ActionTypes.subtitleText:
428
+ state.subtitle = Object.assign(Object.assign({}, state.subtitle), { text: value });
429
+ return state;
430
+ case ActionTypes.subtitleFontName:
431
+ state.subtitle = Object.assign(Object.assign({}, state.subtitle), { font: updateFontName(value, fontSizes[0].value, (_g = state.subtitle) === null || _g === void 0 ? void 0 : _g.font) });
432
+ return state;
433
+ case ActionTypes.subtitleFontSize:
434
+ state.subtitle = Object.assign(Object.assign({}, state.subtitle), { font: updateFontSize(value, fontNames[0].value, (_h = state.subtitle) === null || _h === void 0 ? void 0 : _h.font) });
435
+ return state;
436
+ case ActionTypes.subtitleColor:
437
+ state.subtitle = Object.assign(Object.assign({}, state.subtitle), { color: value });
438
+ return state;
439
+ case ActionTypes.seriesColor:
440
+ state.series = state.series.map(s => (Object.assign(Object.assign({}, s), { color: value.seriesName === s.name ? value.color : s.color })));
441
+ return state;
442
+ case ActionTypes.seriesLabel:
443
+ state.series = state.series.map(s => {
444
+ if (value.all || value.seriesName === s.name) {
445
+ return Object.assign(Object.assign({}, s), { labels: { visible: value.visible } });
446
+ }
447
+ return s;
448
+ });
449
+ return state;
450
+ case ActionTypes.legendVisible:
451
+ state.legend = Object.assign(Object.assign({}, state.legend), { visible: value });
452
+ return state;
453
+ case ActionTypes.legendFontName: {
454
+ state.legend = Object.assign(Object.assign({}, state.legend), { labels: Object.assign(Object.assign({}, (_j = state.legend) === null || _j === void 0 ? void 0 : _j.labels), { font: updateFontName(value, fontSizes[0].value, (_l = (_k = state.legend) === null || _k === void 0 ? void 0 : _k.labels) === null || _l === void 0 ? void 0 : _l.font) }) });
455
+ return state;
456
+ }
457
+ case ActionTypes.legendFontSize:
458
+ state.legend = Object.assign(Object.assign({}, state.legend), { labels: Object.assign(Object.assign({}, (_m = state.legend) === null || _m === void 0 ? void 0 : _m.labels), { font: updateFontSize(value, fontNames[0].value, (_p = (_o = state.legend) === null || _o === void 0 ? void 0 : _o.labels) === null || _p === void 0 ? void 0 : _p.font) }) });
459
+ return state;
460
+ case ActionTypes.legendColor:
461
+ state.legend = Object.assign(Object.assign({}, state.legend), { labels: Object.assign(Object.assign({}, (_q = state.legend) === null || _q === void 0 ? void 0 : _q.labels), { color: value }) });
462
+ return state;
463
+ case ActionTypes.legendPosition:
464
+ state.legend = Object.assign(Object.assign({}, state.legend), { position: value });
465
+ return state;
466
+ case ActionTypes.categoryAxisTitleText:
467
+ state.categoryAxis = (_r = state.categoryAxis) === null || _r === void 0 ? void 0 : _r.map(axis => (Object.assign(Object.assign({}, axis), { title: Object.assign(Object.assign({}, axis.title), { text: value }) })));
468
+ return state;
469
+ case ActionTypes.categoryAxisTitleFontName: {
470
+ state.categoryAxis = (_s = state.categoryAxis) === null || _s === void 0 ? void 0 : _s.map(axis => { var _a; return (Object.assign(Object.assign({}, axis), { title: Object.assign(Object.assign({}, axis.title), { font: updateFontName(value, fontSizes[0].value, (_a = axis.title) === null || _a === void 0 ? void 0 : _a.font) }) })); });
471
+ return state;
472
+ }
473
+ case ActionTypes.categoryAxisTitleFontSize:
474
+ state.categoryAxis = (_t = state.categoryAxis) === null || _t === void 0 ? void 0 : _t.map(axis => { var _a; return (Object.assign(Object.assign({}, axis), { title: Object.assign(Object.assign({}, axis.title), { font: updateFontSize(value, fontNames[0].value, (_a = axis.title) === null || _a === void 0 ? void 0 : _a.font) }) })); });
475
+ return state;
476
+ case ActionTypes.categoryAxisTitleColor:
477
+ state.categoryAxis = (_u = state.categoryAxis) === null || _u === void 0 ? void 0 : _u.map(axis => (Object.assign(Object.assign({}, axis), { title: Object.assign(Object.assign({}, axis.title), { color: value }) })));
478
+ return state;
479
+ case ActionTypes.categoryAxisLabelsFontName: {
480
+ state.categoryAxis = (_v = state.categoryAxis) === null || _v === void 0 ? void 0 : _v.map(axis => { var _a; return (Object.assign(Object.assign({}, axis), { labels: Object.assign(Object.assign({}, axis.labels), { font: updateFontName(value, fontSizes[0].value, (_a = axis.labels) === null || _a === void 0 ? void 0 : _a.font) }) })); });
481
+ return state;
482
+ }
483
+ case ActionTypes.categoryAxisLabelsFontSize:
484
+ state.categoryAxis = (_w = state.categoryAxis) === null || _w === void 0 ? void 0 : _w.map(axis => { var _a; return (Object.assign(Object.assign({}, axis), { labels: Object.assign(Object.assign({}, axis.labels), { font: updateFontSize(value, fontNames[0].value, (_a = axis.labels) === null || _a === void 0 ? void 0 : _a.font) }) })); });
485
+ return state;
486
+ case ActionTypes.categoryAxisLabelsColor:
487
+ state.categoryAxis = (_x = state.categoryAxis) === null || _x === void 0 ? void 0 : _x.map(axis => (Object.assign(Object.assign({}, axis), { labels: Object.assign(Object.assign({}, axis.labels), { color: value }) })));
488
+ return state;
489
+ case ActionTypes.categoryAxisLabelsRotation:
490
+ state.categoryAxis = (_y = state.categoryAxis) === null || _y === void 0 ? void 0 : _y.map(axis => (Object.assign(Object.assign({}, axis), { labels: Object.assign(Object.assign({}, axis.labels), { rotation: value }) })));
491
+ return state;
492
+ case ActionTypes.categoryAxisReverseOrder:
493
+ state.categoryAxis = (_z = state.categoryAxis) === null || _z === void 0 ? void 0 : _z.map(axis => (Object.assign(Object.assign({}, axis), { reverse: value })));
494
+ return state;
495
+ case ActionTypes.valueAxisTitleText: {
496
+ if (!state.valueAxis || state.valueAxis.length === 0) {
497
+ state.valueAxis = [{ title: { text: value } }];
498
+ }
499
+ else {
500
+ state.valueAxis = (_0 = state.valueAxis) === null || _0 === void 0 ? void 0 : _0.map(axis => (Object.assign(Object.assign({}, axis), { title: Object.assign(Object.assign({}, axis.title), { text: value }) })));
501
+ }
502
+ return state;
503
+ }
504
+ case ActionTypes.valueAxisTitleFontName: {
505
+ state.valueAxis = (_1 = state.valueAxis) === null || _1 === void 0 ? void 0 : _1.map(axis => { var _a; return (Object.assign(Object.assign({}, axis), { title: Object.assign(Object.assign({}, axis.title), { font: updateFontName(value, fontSizes[0].value, (_a = axis.title) === null || _a === void 0 ? void 0 : _a.font) }) })); });
506
+ return state;
507
+ }
508
+ case ActionTypes.valueAxisTitleFontSize:
509
+ state.valueAxis = (_2 = state.valueAxis) === null || _2 === void 0 ? void 0 : _2.map(axis => { var _a; return (Object.assign(Object.assign({}, axis), { title: Object.assign(Object.assign({}, axis.title), { font: updateFontSize(value, fontNames[0].value, (_a = axis.title) === null || _a === void 0 ? void 0 : _a.font) }) })); });
510
+ return state;
511
+ case ActionTypes.valueAxisTitleColor:
512
+ state.valueAxis = (_3 = state.valueAxis) === null || _3 === void 0 ? void 0 : _3.map(axis => (Object.assign(Object.assign({}, axis), { title: Object.assign(Object.assign({}, axis.title), { color: value }) })));
513
+ return state;
514
+ case ActionTypes.valueAxisLabelsFormat:
515
+ state.valueAxis = (_4 = state.valueAxis) === null || _4 === void 0 ? void 0 : _4.map(axis => (Object.assign(Object.assign({}, axis), { labels: Object.assign(Object.assign({}, axis.labels), { format: value }) })));
516
+ return state;
517
+ case ActionTypes.valueAxisLabelsFontName: {
518
+ state.valueAxis = (_5 = state.valueAxis) === null || _5 === void 0 ? void 0 : _5.map(axis => { var _a; return (Object.assign(Object.assign({}, axis), { labels: Object.assign(Object.assign({}, axis.labels), { font: updateFontName(value, fontSizes[0].value, (_a = axis.labels) === null || _a === void 0 ? void 0 : _a.font) }) })); });
519
+ return state;
520
+ }
521
+ case ActionTypes.valueAxisLabelsFontSize:
522
+ state.valueAxis = (_6 = state.valueAxis) === null || _6 === void 0 ? void 0 : _6.map(axis => { var _a; return (Object.assign(Object.assign({}, axis), { labels: Object.assign(Object.assign({}, axis.labels), { font: updateFontSize(value, fontNames[0].value, (_a = axis.labels) === null || _a === void 0 ? void 0 : _a.font) }) })); });
523
+ return state;
524
+ case ActionTypes.valueAxisLabelsColor:
525
+ state.valueAxis = (_7 = state.valueAxis) === null || _7 === void 0 ? void 0 : _7.map(axis => (Object.assign(Object.assign({}, axis), { labels: Object.assign(Object.assign({}, axis.labels), { color: value }) })));
526
+ return state;
527
+ case ActionTypes.valueAxisLabelsRotation:
528
+ state.valueAxis = (_8 = state.valueAxis) === null || _8 === void 0 ? void 0 : _8.map(axis => (Object.assign(Object.assign({}, axis), { labels: Object.assign(Object.assign({}, axis.labels), { rotation: value }) })));
529
+ return state;
530
+ default:
531
+ return state;
532
+ }
533
+ };
534
+
535
+ /**
536
+ * @hidden
537
+ */
538
+ class StateService {
539
+ constructor() {
540
+ this.state = {
541
+ categoryAxis: [],
542
+ valueAxis: [],
543
+ series: [],
544
+ initialSeries: [],
545
+ columns: [],
546
+ data: []
547
+ };
548
+ this.seriesType = 'bar';
549
+ this.currentTitle = 'Chart Title';
550
+ this.currentSeries = {};
551
+ this.data = [];
552
+ this.deletedSeries = [];
553
+ this.direction = 'ltr';
554
+ }
555
+ }
556
+ StateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: StateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
557
+ StateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: StateService });
558
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: StateService, decorators: [{
559
+ type: Injectable
560
+ }] });
561
+
562
+ /**
563
+ * @hidden
564
+ */
565
+ class ChartWizardPropertyPaneFormFieldComponent {
566
+ constructor(localization, cdr) {
567
+ this.localization = localization;
568
+ this.cdr = cdr;
569
+ this.colSpan = 1;
570
+ this.hasLabel = true;
571
+ this.isLabelInsideFormFieldWrap = false;
572
+ this.valueChange = new EventEmitter();
573
+ this.formField = true;
574
+ }
575
+ get isColSpan2() {
576
+ return this.colSpan === 2;
577
+ }
578
+ ngAfterViewChecked() {
579
+ this.localization.changes.subscribe(() => {
580
+ this.cdr.detectChanges();
581
+ });
582
+ }
583
+ ngOnDestroy() {
584
+ this.localization.changes.unsubscribe();
585
+ }
586
+ ngAfterViewInit() {
587
+ if (this.hasLabel) {
588
+ this.label.for =
589
+ this.numericTextBox ||
590
+ this.colorPicker ||
591
+ this.dropDownList ||
592
+ this.textBox ||
593
+ this.comboBox ||
594
+ this.checkBox;
595
+ }
596
+ }
597
+ }
598
+ ChartWizardPropertyPaneFormFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChartWizardPropertyPaneFormFieldComponent, deps: [{ token: i2.LocalizationService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
599
+ ChartWizardPropertyPaneFormFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ChartWizardPropertyPaneFormFieldComponent, isStandalone: true, selector: "kendo-chart-wizard-property-pane-form-field", inputs: { currentState: "currentState", action: "action", class: "class", inputType: "inputType", text: "text", data: "data", placeholder: "placeholder", colSpan: "colSpan", hasLabel: "hasLabel", isLabelInsideFormFieldWrap: "isLabelInsideFormFieldWrap", value: "value" }, outputs: { valueChange: "valueChange" }, host: { properties: { "class.k-form-field": "this.formField", "class.k-col-span-2": "this.isColSpan2" } }, viewQueries: [{ propertyName: "label", first: true, predicate: LabelComponent, descendants: true }, { propertyName: "numericTextBox", first: true, predicate: NumericTextBoxComponent, descendants: true }, { propertyName: "colorPicker", first: true, predicate: ColorPickerComponent, descendants: true }, { propertyName: "dropDownList", first: true, predicate: DropDownListComponent, descendants: true }, { propertyName: "textBox", first: true, predicate: TextBoxComponent, descendants: true }, { propertyName: "comboBox", first: true, predicate: ComboBoxComponent, descendants: true }, { propertyName: "checkBox", first: true, predicate: CheckBoxComponent, descendants: true }], ngImport: i0, template: `
600
+ <kendo-label *ngIf="hasLabel && !isLabelInsideFormFieldWrap" class="k-form-label" [text]="text"></kendo-label>
601
+ <div class="k-form-field-wrap">
602
+ <kendo-label
603
+ *ngIf="hasLabel && isLabelInsideFormFieldWrap"
604
+ class="k-form-label"
605
+ [text]="text"
606
+ ></kendo-label>
607
+ <kendo-numerictextbox
608
+ *ngIf="inputType === 'numeric'"
609
+ fillMode="outline"
610
+ rounded="medium"
611
+ [value]="value"
612
+ (valueChange)="valueChange.emit($event)"
613
+ ></kendo-numerictextbox>
614
+ <kendo-colorpicker
615
+ *ngIf="inputType === 'colorPicker'"
616
+ fillMode="outline"
617
+ rounded="medium"
618
+ [value]="value"
619
+ (valueChange)="valueChange.emit($event)"
620
+ ></kendo-colorpicker>
621
+ <kendo-dropdownlist
622
+ *ngIf="inputType === 'dropDownList'"
623
+ [data]="data"
624
+ textField="text"
625
+ valueField="value"
626
+ [valuePrimitive]="true"
627
+ fillMode="outline"
628
+ rounded="medium"
629
+ size="medium"
630
+ [value]="value"
631
+ (valueChange)="valueChange.emit($event)"
632
+ ></kendo-dropdownlist>
633
+ <kendo-combobox
634
+ *ngIf="inputType === 'comboBox'"
635
+ [data]="data"
636
+ [value]="value"
637
+ textField="text"
638
+ valueField="value"
639
+ [valuePrimitive]="true"
640
+ fillMode="outline"
641
+ rounded="medium"
642
+ size="medium"
643
+ [placeholder]="placeholder"
644
+ (valueChange)="valueChange.emit($event)"
645
+ ></kendo-combobox>
646
+ <kendo-textbox
647
+ *ngIf="inputType === 'text'"
648
+ fillMode="outline"
649
+ rounded="medium"
650
+ [placeholder]="placeholder"
651
+ [value]="value"
652
+ (valueChange)="valueChange.emit($event)"
653
+ ></kendo-textbox>
654
+ <kendo-checkbox
655
+ *ngIf="inputType === 'checkbox'"
656
+ class="k-checkbox-md k-rounded-md"
657
+ [checkedState]="value"
658
+ (checkedStateChange)="valueChange.emit($event)"
659
+ ></kendo-checkbox>
660
+ </div>
661
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }, { kind: "component", type: NumericTextBoxComponent, selector: "kendo-numerictextbox", inputs: ["focusableId", "disabled", "readonly", "title", "autoCorrect", "format", "max", "min", "decimals", "placeholder", "step", "spinners", "rangeValidation", "tabindex", "tabIndex", "changeValueOnScroll", "selectOnFocus", "value", "maxlength", "size", "rounded", "fillMode", "inputAttributes"], outputs: ["valueChange", "focus", "blur", "inputFocus", "inputBlur"], exportAs: ["kendoNumericTextBox"] }, { kind: "component", type: ColorPickerComponent, selector: "kendo-colorpicker", inputs: ["views", "view", "activeView", "readonly", "disabled", "format", "value", "popupSettings", "paletteSettings", "gradientSettings", "icon", "iconClass", "svgIcon", "clearButton", "tabindex", "preview", "actionsLayout", "size", "rounded", "fillMode"], outputs: ["valueChange", "open", "close", "focus", "blur", "cancel", "activeColorClick", "clearButtonClick", "activeViewChange"], exportAs: ["kendoColorPicker"] }, { kind: "component", type: DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["customIconClass", "showStickyHeader", "icon", "svgIcon", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "leftRightArrowsNavigation", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { kind: "component", type: ComboBoxComponent, selector: "kendo-combobox", inputs: ["icon", "svgIcon", "inputAttributes", "showStickyHeader", "focusableId", "allowCustom", "data", "value", "textField", "valueField", "valuePrimitive", "valueNormalizer", "placeholder", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "loading", "suggest", "clearButton", "disabled", "itemDisabled", "readonly", "tabindex", "tabIndex", "filterable", "virtual", "size", "rounded", "fillMode"], outputs: ["valueChange", "selectionChange", "filterChange", "open", "opened", "close", "closed", "focus", "blur", "inputFocus", "inputBlur", "escape"], exportAs: ["kendoComboBox"] }, { kind: "component", type: TextBoxComponent, selector: "kendo-textbox", inputs: ["focusableId", "title", "type", "disabled", "readonly", "tabindex", "value", "selectOnFocus", "showSuccessIcon", "showErrorIcon", "clearButton", "successIcon", "successSvgIcon", "errorIcon", "errorSvgIcon", "clearButtonIcon", "clearButtonSvgIcon", "size", "rounded", "fillMode", "tabIndex", "placeholder", "maxlength", "inputAttributes"], outputs: ["valueChange", "inputFocus", "inputBlur", "focus", "blur"], exportAs: ["kendoTextBox"] }, { kind: "component", type: CheckBoxComponent, selector: "kendo-checkbox", inputs: ["checkedState", "rounded"], outputs: ["checkedStateChange"], exportAs: ["kendoCheckBox"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
662
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChartWizardPropertyPaneFormFieldComponent, decorators: [{
663
+ type: Component,
664
+ args: [{
665
+ selector: 'kendo-chart-wizard-property-pane-form-field',
666
+ changeDetection: ChangeDetectionStrategy.OnPush,
667
+ template: `
668
+ <kendo-label *ngIf="hasLabel && !isLabelInsideFormFieldWrap" class="k-form-label" [text]="text"></kendo-label>
669
+ <div class="k-form-field-wrap">
670
+ <kendo-label
671
+ *ngIf="hasLabel && isLabelInsideFormFieldWrap"
672
+ class="k-form-label"
673
+ [text]="text"
674
+ ></kendo-label>
675
+ <kendo-numerictextbox
676
+ *ngIf="inputType === 'numeric'"
677
+ fillMode="outline"
678
+ rounded="medium"
679
+ [value]="value"
680
+ (valueChange)="valueChange.emit($event)"
681
+ ></kendo-numerictextbox>
682
+ <kendo-colorpicker
683
+ *ngIf="inputType === 'colorPicker'"
684
+ fillMode="outline"
685
+ rounded="medium"
686
+ [value]="value"
687
+ (valueChange)="valueChange.emit($event)"
688
+ ></kendo-colorpicker>
689
+ <kendo-dropdownlist
690
+ *ngIf="inputType === 'dropDownList'"
691
+ [data]="data"
692
+ textField="text"
693
+ valueField="value"
694
+ [valuePrimitive]="true"
695
+ fillMode="outline"
696
+ rounded="medium"
697
+ size="medium"
698
+ [value]="value"
699
+ (valueChange)="valueChange.emit($event)"
700
+ ></kendo-dropdownlist>
701
+ <kendo-combobox
702
+ *ngIf="inputType === 'comboBox'"
703
+ [data]="data"
704
+ [value]="value"
705
+ textField="text"
706
+ valueField="value"
707
+ [valuePrimitive]="true"
708
+ fillMode="outline"
709
+ rounded="medium"
710
+ size="medium"
711
+ [placeholder]="placeholder"
712
+ (valueChange)="valueChange.emit($event)"
713
+ ></kendo-combobox>
714
+ <kendo-textbox
715
+ *ngIf="inputType === 'text'"
716
+ fillMode="outline"
717
+ rounded="medium"
718
+ [placeholder]="placeholder"
719
+ [value]="value"
720
+ (valueChange)="valueChange.emit($event)"
721
+ ></kendo-textbox>
722
+ <kendo-checkbox
723
+ *ngIf="inputType === 'checkbox'"
724
+ class="k-checkbox-md k-rounded-md"
725
+ [checkedState]="value"
726
+ (checkedStateChange)="valueChange.emit($event)"
727
+ ></kendo-checkbox>
728
+ </div>
729
+ `,
730
+ standalone: true,
731
+ imports: [
732
+ NgIf,
733
+ LabelComponent,
734
+ NumericTextBoxComponent,
735
+ ColorPickerComponent,
736
+ DropDownListComponent,
737
+ ComboBoxComponent,
738
+ TextBoxComponent,
739
+ CheckBoxComponent
740
+ ]
741
+ }]
742
+ }], ctorParameters: function () { return [{ type: i2.LocalizationService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { currentState: [{
743
+ type: Input
744
+ }], action: [{
745
+ type: Input
746
+ }], class: [{
747
+ type: Input
748
+ }], inputType: [{
749
+ type: Input
750
+ }], text: [{
751
+ type: Input
752
+ }], data: [{
753
+ type: Input
754
+ }], placeholder: [{
755
+ type: Input
756
+ }], colSpan: [{
757
+ type: Input
758
+ }], hasLabel: [{
759
+ type: Input
760
+ }], isLabelInsideFormFieldWrap: [{
761
+ type: Input
762
+ }], value: [{
763
+ type: Input
764
+ }], valueChange: [{
765
+ type: Output
766
+ }], formField: [{
767
+ type: HostBinding,
768
+ args: ['class.k-form-field']
769
+ }], isColSpan2: [{
770
+ type: HostBinding,
771
+ args: ['class.k-col-span-2']
772
+ }], label: [{
773
+ type: ViewChild,
774
+ args: [LabelComponent]
775
+ }], numericTextBox: [{
776
+ type: ViewChild,
777
+ args: [NumericTextBoxComponent]
778
+ }], colorPicker: [{
779
+ type: ViewChild,
780
+ args: [ColorPickerComponent]
781
+ }], dropDownList: [{
782
+ type: ViewChild,
783
+ args: [DropDownListComponent]
784
+ }], textBox: [{
785
+ type: ViewChild,
786
+ args: [TextBoxComponent]
787
+ }], comboBox: [{
788
+ type: ViewChild,
789
+ args: [ComboBoxComponent]
790
+ }], checkBox: [{
791
+ type: ViewChild,
792
+ args: [CheckBoxComponent]
793
+ }] } });
794
+
795
+ /**
796
+ * @hidden
797
+ */
798
+ class ChartWizardPropertyPaneDataTabComponent {
799
+ constructor(stateService, localization, cdr) {
800
+ this.stateService = stateService;
801
+ this.localization = localization;
802
+ this.cdr = cdr;
803
+ this.chartTitles = [
804
+ { text: 'Chart Title', value: 'Chart Title' },
805
+ { text: 'Chart Subtitle', value: 'Chart Subtitle' },
806
+ ];
807
+ this.titleText = ActionTypes.titleText;
808
+ this.titleFontName = ActionTypes.titleFontName;
809
+ this.titleFontSize = ActionTypes.titleFontSize;
810
+ this.titleColor = ActionTypes.titleColor;
811
+ this.subtitleText = ActionTypes.subtitleText;
812
+ this.subtitleFontName = ActionTypes.subtitleFontName;
813
+ this.subtitleFontSize = ActionTypes.subtitleFontSize;
814
+ this.subtitleColor = ActionTypes.subtitleColor;
815
+ this.areaMarginLeft = ActionTypes.areaMarginLeft;
816
+ this.areaMarginRight = ActionTypes.areaMarginRight;
817
+ this.areaMarginTop = ActionTypes.areaMarginTop;
818
+ this.areaMarginBottom = ActionTypes.areaMarginBottom;
819
+ this.areaBackground = ActionTypes.areaBackground;
820
+ this.legendVisible = ActionTypes.legendVisible;
821
+ this.legendFontName = ActionTypes.legendFontName;
822
+ this.legendFontSize = ActionTypes.legendFontSize;
823
+ this.legendColor = ActionTypes.legendColor;
824
+ this.legendPosition = ActionTypes.legendPosition;
825
+ this.seriesColor = ActionTypes.seriesColor;
826
+ this.seriesLabel = ActionTypes.seriesLabel;
827
+ this.categoryAxisTitleText = ActionTypes.categoryAxisTitleText;
828
+ this.categoryAxisTitleFontName = ActionTypes.categoryAxisTitleFontName;
829
+ this.categoryAxisTitleFontSize = ActionTypes.categoryAxisTitleFontSize;
830
+ this.categoryAxisTitleColor = ActionTypes.categoryAxisTitleColor;
831
+ this.categoryAxisLabelsFontName = ActionTypes.categoryAxisLabelsFontName;
832
+ this.categoryAxisLabelsFontSize = ActionTypes.categoryAxisLabelsFontSize;
833
+ this.categoryAxisLabelsColor = ActionTypes.categoryAxisLabelsColor;
834
+ this.categoryAxisLabelsRotation = ActionTypes.categoryAxisLabelsRotation;
835
+ this.categoryAxisReverseOrder = ActionTypes.categoryAxisReverseOrder;
836
+ this.valueAxisTitleText = ActionTypes.valueAxisTitleText;
837
+ this.valueAxisTitleFontName = ActionTypes.valueAxisTitleFontName;
838
+ this.valueAxisTitleFontSize = ActionTypes.valueAxisTitleFontSize;
839
+ this.valueAxisTitleColor = ActionTypes.valueAxisTitleColor;
840
+ this.valueAxisLabelsFontName = ActionTypes.valueAxisLabelsFontName;
841
+ this.valueAxisLabelsFontSize = ActionTypes.valueAxisLabelsFontSize;
842
+ this.valueAxisLabelsColor = ActionTypes.valueAxisLabelsColor;
843
+ this.valueAxisLabelsRotation = ActionTypes.valueAxisLabelsRotation;
844
+ this.parseFont = parseFont;
845
+ this.fontNames = fontNames;
846
+ this.fontSizes = fontSizes;
847
+ this.legendPositions = positions;
848
+ this.labelsRotation = rotations;
849
+ }
850
+ get chartTitleTypeText() {
851
+ var _a, _b;
852
+ return this.stateService.currentTitle === 'Chart Title'
853
+ ? (_a = this.stateService.state.title) === null || _a === void 0 ? void 0 : _a.text
854
+ : (_b = this.stateService.state.subtitle) === null || _b === void 0 ? void 0 : _b.text;
855
+ }
856
+ get chartTitleTypeFont() {
857
+ var _a, _b;
858
+ return this.stateService.currentTitle === 'Chart Title'
859
+ ? parseFont((_a = this.stateService.state.title) === null || _a === void 0 ? void 0 : _a.font).name
860
+ : parseFont((_b = this.stateService.state.subtitle) === null || _b === void 0 ? void 0 : _b.font).name;
861
+ }
862
+ get chartTitleTypeFontSize() {
863
+ var _a, _b;
864
+ return this.stateService.currentTitle === 'Chart Title'
865
+ ? parseFont((_a = this.stateService.state.title) === null || _a === void 0 ? void 0 : _a.font).size
866
+ : parseFont((_b = this.stateService.state.subtitle) === null || _b === void 0 ? void 0 : _b.font).size;
867
+ }
868
+ get chartTitleTypeColor() {
869
+ var _a, _b;
870
+ return this.stateService.currentTitle === 'Chart Title'
871
+ ? (_a = this.stateService.state.title) === null || _a === void 0 ? void 0 : _a.color
872
+ : (_b = this.stateService.state.subtitle) === null || _b === void 0 ? void 0 : _b.color;
873
+ }
874
+ get chartTitleTypeAction() {
875
+ return this.stateService.currentTitle === 'Chart Title' ? this.titleText : this.subtitleText;
876
+ }
877
+ get chartTitleTypeFontAction() {
878
+ return this.stateService.currentTitle === 'Chart Title' ? this.titleFontName : this.subtitleFontName;
879
+ }
880
+ get chartTitleTypeColorAction() {
881
+ return this.stateService.currentTitle === 'Chart Title' ? this.titleColor : this.subtitleColor;
882
+ }
883
+ get chartTitleTypeFontSizeAction() {
884
+ return this.stateService.currentTitle === 'Chart Title' ? this.titleFontSize : this.subtitleFontSize;
885
+ }
886
+ ngAfterViewChecked() {
887
+ this.localization.changes.subscribe(() => {
888
+ this.cdr.detectChanges();
889
+ });
890
+ }
891
+ ngOnDestroy() {
892
+ this.localization.changes.unsubscribe();
893
+ }
894
+ updateState(action, value) {
895
+ this.stateService.state = updateState(this.stateService.state, action, value);
896
+ }
897
+ changeCurrentTitle(value) {
898
+ this.stateService.currentTitle = value;
899
+ }
900
+ toggleSeriesLabels(value) {
901
+ this.updateCurrentSeries(this.stateService.currentSeries);
902
+ this.stateService.currentSeries.labels = { visible: value };
903
+ this.updateState(this.seriesLabel, this.stateService.currentSeries);
904
+ }
905
+ updateCurrentSeries(value) {
906
+ this.stateService.currentSeries = this.stateService.state.series.find((series) => series.name === value.name);
907
+ }
908
+ updateSeriesColor(value) {
909
+ this.updateCurrentSeries(this.stateService.currentSeries);
910
+ this.stateService.currentSeries.color = value;
911
+ this.updateState(this.seriesColor, this.stateService.currentSeries);
912
+ }
913
+ onExpandedChange(panel, expanded) {
914
+ expanded
915
+ ? (this.stateService.currentFormatExpansionPanel = panel)
916
+ : (this.stateService.currentFormatExpansionPanel = null);
917
+ }
918
+ isExpanded(panel) {
919
+ return this.stateService.currentFormatExpansionPanel === panel;
920
+ }
921
+ }
922
+ ChartWizardPropertyPaneDataTabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChartWizardPropertyPaneDataTabComponent, deps: [{ token: StateService }, { token: i2.LocalizationService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
923
+ ChartWizardPropertyPaneDataTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ChartWizardPropertyPaneDataTabComponent, isStandalone: true, selector: "kendo-chart-wizard-property-pane-format-tab", ngImport: i0, template: `
924
+ <section>
925
+ <kendo-expansionpanel
926
+ title="Chart Area"
927
+ [expanded]="isExpanded('Chart Area')"
928
+ (expandedChange)="onExpandedChange('Chart Area', $event)"
929
+ [attr.dir]="stateService.direction"
930
+ >
931
+ <form class="k-form k-form-md">
932
+ <fieldset class="k-form-fieldset">
933
+ <legend class="k-form-legend">Margins</legend>
934
+ <div class="k-form-layout k-d-grid k-grid-cols-2 k-gap-x-4">
935
+ <kendo-chart-wizard-property-pane-form-field
936
+ text="Left"
937
+ inputType="numeric"
938
+ [value]="$any(stateService.state.area?.margin).left"
939
+ (valueChange)="updateState(areaMarginLeft, $event)"
940
+ >
941
+ </kendo-chart-wizard-property-pane-form-field>
942
+ <kendo-chart-wizard-property-pane-form-field
943
+ text="Right"
944
+ inputType="numeric"
945
+ [value]="$any(stateService.state.area?.margin).right"
946
+ (valueChange)="updateState(areaMarginRight, $event)"
947
+ >
948
+ </kendo-chart-wizard-property-pane-form-field>
949
+ <kendo-chart-wizard-property-pane-form-field
950
+ text="Top"
951
+ inputType="numeric"
952
+ [value]="$any(stateService.state.area?.margin).top"
953
+ (valueChange)="updateState(areaMarginTop, $event)"
954
+ >
955
+ </kendo-chart-wizard-property-pane-form-field>
956
+ <kendo-chart-wizard-property-pane-form-field
957
+ text="Bottom"
958
+ inputType="numeric"
959
+ [value]="$any(stateService.state.area?.margin).bottom"
960
+ (valueChange)="updateState(areaMarginBottom, $event)"
961
+ >
962
+ </kendo-chart-wizard-property-pane-form-field>
963
+ </div>
964
+ </fieldset>
965
+ <fieldset class="k-form-fieldset">
966
+ <legend class="k-form-legend">Background</legend>
967
+ <kendo-chart-wizard-property-pane-form-field
968
+ text="Color"
969
+ inputType="colorPicker"
970
+ [value]="stateService.state.area?.background"
971
+ (valueChange)="updateState(areaBackground, $event)"
972
+ >
973
+ </kendo-chart-wizard-property-pane-form-field>
974
+ </fieldset>
975
+ </form>
976
+ </kendo-expansionpanel>
977
+ </section>
978
+ <section>
979
+ <kendo-expansionpanel
980
+ title="Title"
981
+ [expanded]="isExpanded('Title')"
982
+ (expandedChange)="onExpandedChange('Title', $event)"
983
+ >
984
+ <form class="k-form k-form-md">
985
+ <div class="k-form-layout k-d-grid k-grid-cols-2 k-gap-x-4">
986
+ <kendo-chart-wizard-property-pane-form-field
987
+ text="Apply to"
988
+ inputType="dropDownList"
989
+ [data]="chartTitles"
990
+ [colSpan]="2"
991
+ [value]="stateService.currentTitle"
992
+ (valueChange)="changeCurrentTitle($event)"
993
+ >
994
+ </kendo-chart-wizard-property-pane-form-field>
995
+ <kendo-chart-wizard-property-pane-form-field
996
+ text="Title"
997
+ inputType="text"
998
+ [colSpan]="2"
999
+ [value]="chartTitleTypeText"
1000
+ (valueChange)="updateState(chartTitleTypeAction, $event)"
1001
+ >
1002
+ </kendo-chart-wizard-property-pane-form-field>
1003
+ <kendo-chart-wizard-property-pane-form-field
1004
+ text="Font"
1005
+ inputType="comboBox"
1006
+ [data]="fontNames"
1007
+ [colSpan]="2"
1008
+ [value]="chartTitleTypeFont"
1009
+ placeholder="(Inherited font)"
1010
+ (valueChange)="updateState(chartTitleTypeFontAction, $event)"
1011
+ >
1012
+ </kendo-chart-wizard-property-pane-form-field>
1013
+ <kendo-chart-wizard-property-pane-form-field
1014
+ text="Size"
1015
+ inputType="comboBox"
1016
+ [data]="fontSizes"
1017
+ [value]="chartTitleTypeFontSize"
1018
+ (valueChange)="updateState(chartTitleTypeFontSizeAction, $event)"
1019
+ >
1020
+ </kendo-chart-wizard-property-pane-form-field>
1021
+ <kendo-chart-wizard-property-pane-form-field
1022
+ text="Color"
1023
+ inputType="colorPicker"
1024
+ [value]="chartTitleTypeColor"
1025
+ (valueChange)="updateState(chartTitleTypeColorAction, $event)"
1026
+ >
1027
+ </kendo-chart-wizard-property-pane-form-field>
1028
+ </div>
1029
+ </form>
1030
+ </kendo-expansionpanel>
1031
+ </section>
1032
+ <section>
1033
+ <kendo-expansionpanel
1034
+ title="Legend"
1035
+ [expanded]="isExpanded('Legend')"
1036
+ (expandedChange)="onExpandedChange('Legend', $event)"
1037
+ >
1038
+ <form class="k-form k-form-md">
1039
+ <div class="k-form-layout k-d-grid k-grid-cols-2 k-gap-x-4">
1040
+ <kendo-label [for]="toggleLegend" text="Show Legend"></kendo-label>
1041
+ <kendo-switch
1042
+ #toggleLegend
1043
+ onLabel="On"
1044
+ offLabel="Off"
1045
+ thumbRounded="full"
1046
+ size="medium"
1047
+ [checked]="stateService.state.legend?.visible"
1048
+ (valueChange)="updateState(legendVisible, $event)"
1049
+ ></kendo-switch>
1050
+ <kendo-chart-wizard-property-pane-form-field
1051
+ text="Font"
1052
+ inputType="comboBox"
1053
+ [data]="fontNames"
1054
+ [colSpan]="2"
1055
+ placeholder="(Inherited font)"
1056
+ [value]="parseFont(stateService.state.legend?.labels?.font).name"
1057
+ (valueChange)="updateState(legendFontName, $event)"
1058
+ >
1059
+ </kendo-chart-wizard-property-pane-form-field>
1060
+ <kendo-chart-wizard-property-pane-form-field
1061
+ text="Size"
1062
+ inputType="comboBox"
1063
+ [data]="fontSizes"
1064
+ placeholder="px"
1065
+ [value]="parseFont(stateService.state.legend?.labels?.font).size"
1066
+ (valueChange)="updateState(legendFontSize, $event)"
1067
+ >
1068
+ </kendo-chart-wizard-property-pane-form-field>
1069
+ <kendo-chart-wizard-property-pane-form-field
1070
+ text="Color"
1071
+ inputType="colorPicker"
1072
+ [value]="stateService.state.legend?.labels?.color"
1073
+ (valueChange)="updateState(legendColor, $event)"
1074
+ >
1075
+ </kendo-chart-wizard-property-pane-form-field>
1076
+ <kendo-chart-wizard-property-pane-form-field
1077
+ text="Position"
1078
+ inputType="dropDownList"
1079
+ [colSpan]="2"
1080
+ [data]="legendPositions"
1081
+ [value]="stateService.state.legend?.position"
1082
+ (valueChange)="updateState(legendPosition, $event)"
1083
+ >
1084
+ </kendo-chart-wizard-property-pane-form-field>
1085
+ </div>
1086
+ </form>
1087
+ </kendo-expansionpanel>
1088
+ </section>
1089
+ <section>
1090
+ <kendo-expansionpanel
1091
+ title="Series"
1092
+ [expanded]="isExpanded('Series')"
1093
+ (expandedChange)="onExpandedChange('Series', $event)"
1094
+ >
1095
+ <form class="k-form k-form-md">
1096
+ <div class="k-form-field">
1097
+ <kendo-label [for]="seriesDropDown" class="k-form-label" text="Apply to"></kendo-label>
1098
+ <div class="k-form-field-wrap">
1099
+ <kendo-dropdownlist
1100
+ #seriesDropDown
1101
+ [data]="stateService.state.series"
1102
+ textField="name"
1103
+ valueField="name"
1104
+ fillMode="outline"
1105
+ rounded="medium"
1106
+ size="medium"
1107
+ [value]="stateService.currentSeries"
1108
+ (valueChange)="updateCurrentSeries($event)"
1109
+ ></kendo-dropdownlist>
1110
+ </div>
1111
+ </div>
1112
+
1113
+ <kendo-chart-wizard-property-pane-form-field
1114
+ text="Color"
1115
+ [value]="stateService.currentSeries?.color"
1116
+ inputType="colorPicker"
1117
+ (valueChange)="updateSeriesColor($event)"
1118
+ >
1119
+ </kendo-chart-wizard-property-pane-form-field>
1120
+ <kendo-chart-wizard-property-pane-form-field
1121
+ text="Show Labels"
1122
+ [value]="stateService.currentSeries.labels?.visible"
1123
+ [isLabelInsideFormFieldWrap]="true"
1124
+ inputType="checkbox"
1125
+ (valueChange)="toggleSeriesLabels($event)"
1126
+ >
1127
+ </kendo-chart-wizard-property-pane-form-field>
1128
+ </form>
1129
+ </kendo-expansionpanel>
1130
+ </section>
1131
+ <section class="k-row-start-1 k-row-end-3 k-col-start-3">
1132
+ <kendo-expansionpanel
1133
+ title="Category axis"
1134
+ [expanded]="isExpanded('Category Axis')"
1135
+ (expandedChange)="onExpandedChange('Category Axis', $event)"
1136
+ >
1137
+ <form class="k-form k-form-md">
1138
+ <fieldset class="k-form-fieldset">
1139
+ <legend class="k-form-legend">Title</legend>
1140
+ <div class="k-form-layout k-d-grid k-grid-cols-2 k-gap-x-4">
1141
+ <kendo-chart-wizard-property-pane-form-field
1142
+ inputType="text"
1143
+ [hasLabel]="false"
1144
+ [colSpan]="2"
1145
+ placeholder="Axis Title"
1146
+ [value]="stateService.state.categoryAxis[0]?.title?.text"
1147
+ (valueChange)="updateState(categoryAxisTitleText, $event)"
1148
+ >
1149
+ </kendo-chart-wizard-property-pane-form-field>
1150
+ <kendo-chart-wizard-property-pane-form-field
1151
+ text="Font"
1152
+ inputType="comboBox"
1153
+ [data]="fontNames"
1154
+ [colSpan]="2"
1155
+ placeholder="(Inherited font)"
1156
+ [value]="parseFont(stateService.state.categoryAxis[0]?.title?.font).name"
1157
+ (valueChange)="updateState(categoryAxisTitleFontName, $event)"
1158
+ >
1159
+ </kendo-chart-wizard-property-pane-form-field>
1160
+ <kendo-chart-wizard-property-pane-form-field
1161
+ text="Size"
1162
+ inputType="comboBox"
1163
+ placeholder="px"
1164
+ [data]="fontSizes"
1165
+ [value]="parseFont(stateService.state.categoryAxis[0]?.title?.font).size"
1166
+ (valueChange)="updateState(categoryAxisTitleFontSize, $event)"
1167
+ >
1168
+ </kendo-chart-wizard-property-pane-form-field>
1169
+ <kendo-chart-wizard-property-pane-form-field
1170
+ text="Color"
1171
+ inputType="colorPicker"
1172
+ [value]="stateService.state.categoryAxis[0]?.title?.color"
1173
+ (valueChange)="updateState(categoryAxisTitleColor, $event)"
1174
+ >
1175
+ </kendo-chart-wizard-property-pane-form-field>
1176
+ </div>
1177
+ </fieldset>
1178
+ <fieldset class="k-form-fieldset">
1179
+ <legend class="k-form-legend">Labels</legend>
1180
+ <div class="k-form-layout k-d-grid k-grid-cols-2 k-gap-x-4">
1181
+ <kendo-chart-wizard-property-pane-form-field
1182
+ text="Font"
1183
+ inputType="comboBox"
1184
+ [data]="fontNames"
1185
+ placeholder="(Inherited font)"
1186
+ [value]="parseFont(stateService.state.categoryAxis[0]?.labels?.font).name"
1187
+ (valueChange)="updateState(categoryAxisLabelsFontName, $event)"
1188
+ >
1189
+ </kendo-chart-wizard-property-pane-form-field>
1190
+ <kendo-chart-wizard-property-pane-form-field
1191
+ text="Size"
1192
+ inputType="comboBox"
1193
+ [data]="fontSizes"
1194
+ placeholder="px"
1195
+ [value]="parseFont(stateService.state.categoryAxis[0]?.labels?.font).size"
1196
+ (valueChange)="updateState(categoryAxisLabelsFontSize, $event)"
1197
+ >
1198
+ </kendo-chart-wizard-property-pane-form-field>
1199
+ <kendo-chart-wizard-property-pane-form-field
1200
+ text="Color"
1201
+ inputType="colorPicker"
1202
+ [value]="stateService.state.categoryAxis[0]?.labels?.color || ''"
1203
+ (valueChange)="updateState(categoryAxisLabelsColor, $event)"
1204
+ >
1205
+ </kendo-chart-wizard-property-pane-form-field>
1206
+ <kendo-chart-wizard-property-pane-form-field
1207
+ text="Rotation"
1208
+ inputType="dropDownList"
1209
+ [data]="labelsRotation"
1210
+ [value]="stateService.state.categoryAxis[0]?.labels?.rotation"
1211
+ (valueChange)="updateState(categoryAxisLabelsRotation, $event)"
1212
+ >
1213
+ </kendo-chart-wizard-property-pane-form-field>
1214
+ <span></span>
1215
+ <kendo-chart-wizard-property-pane-form-field
1216
+ text="Reverse Order"
1217
+ [isLabelInsideFormFieldWrap]="true"
1218
+ inputType="checkbox"
1219
+ [colSpan]="2"
1220
+ [value]="stateService.state.categoryAxis[0]?.reverse"
1221
+ (valueChange)="updateState(categoryAxisReverseOrder, $event)"
1222
+ >
1223
+ </kendo-chart-wizard-property-pane-form-field>
1224
+ </div>
1225
+ </fieldset>
1226
+ </form>
1227
+ </kendo-expansionpanel>
1228
+ </section>
1229
+ <section class="k-row-start-1 k-row-end-3 k-col-start-4">
1230
+ <kendo-expansionpanel
1231
+ title="Value axis"
1232
+ [expanded]="isExpanded('Value Axis')"
1233
+ (expandedChange)="onExpandedChange('Value Axis', $event)"
1234
+ >
1235
+ <form class="k-form k-form-md">
1236
+ <fieldset class="k-form-fieldset">
1237
+ <legend class="k-form-legend">Title</legend>
1238
+ <div class="k-form-layout k-d-grid k-grid-cols-2 k-gap-x-4">
1239
+ <kendo-chart-wizard-property-pane-form-field
1240
+ inputType="text"
1241
+ [hasLabel]="false"
1242
+ [colSpan]="2"
1243
+ placeholder="Axis Title"
1244
+ [value]="stateService.state.valueAxis[0]?.title?.text"
1245
+ (valueChange)="updateState(valueAxisTitleText, $event)"
1246
+ >
1247
+ </kendo-chart-wizard-property-pane-form-field>
1248
+ <kendo-chart-wizard-property-pane-form-field
1249
+ text="Font"
1250
+ inputType="comboBox"
1251
+ [colSpan]="2"
1252
+ [data]="fontNames"
1253
+ placeholder="(Inherited font)"
1254
+ [value]="parseFont(stateService.state.valueAxis[0]?.title?.font).name"
1255
+ (valueChange)="updateState(valueAxisTitleFontName, $event)"
1256
+ >
1257
+ </kendo-chart-wizard-property-pane-form-field>
1258
+ <kendo-chart-wizard-property-pane-form-field
1259
+ text="Size"
1260
+ inputType="comboBox"
1261
+ placeholder="px"
1262
+ [data]="fontSizes"
1263
+ [value]="parseFont(stateService.state.valueAxis[0]?.title?.font).size"
1264
+ (valueChange)="updateState(valueAxisTitleFontSize, $event)"
1265
+ >
1266
+ </kendo-chart-wizard-property-pane-form-field>
1267
+ <kendo-chart-wizard-property-pane-form-field
1268
+ text="Color"
1269
+ inputType="colorPicker"
1270
+ [value]="stateService.state.valueAxis[0]?.title?.color"
1271
+ (valueChange)="updateState(valueAxisTitleColor, $event)"
1272
+ >
1273
+ </kendo-chart-wizard-property-pane-form-field>
1274
+ </div>
1275
+ </fieldset>
1276
+ <fieldset class="k-form-fieldset">
1277
+ <legend class="k-form-legend">Labels</legend>
1278
+ <div class="k-form-layout k-d-grid k-grid-cols-2 k-gap-x-4">
1279
+ <kendo-chart-wizard-property-pane-form-field
1280
+ text="Font"
1281
+ inputType="comboBox"
1282
+ [data]="fontNames"
1283
+ placeholder="(Inherited font)"
1284
+ [value]="parseFont(stateService.state.valueAxis[0]?.labels?.font).name"
1285
+ (valueChange)="updateState(valueAxisLabelsFontName, $event)"
1286
+ >
1287
+ </kendo-chart-wizard-property-pane-form-field>
1288
+ <kendo-chart-wizard-property-pane-form-field
1289
+ text="Size"
1290
+ inputType="comboBox"
1291
+ [data]="fontSizes"
1292
+ placeholder="px"
1293
+ [value]="parseFont(stateService.state.valueAxis[0]?.labels?.font).size"
1294
+ (valueChange)="updateState(valueAxisLabelsFontSize, $event)"
1295
+ >
1296
+ </kendo-chart-wizard-property-pane-form-field>
1297
+ <kendo-chart-wizard-property-pane-form-field
1298
+ text="Color"
1299
+ inputType="colorPicker"
1300
+ [value]="stateService.state.valueAxis[0]?.labels?.color || ''"
1301
+ (valueChange)="updateState(valueAxisLabelsColor, $event)"
1302
+ >
1303
+ </kendo-chart-wizard-property-pane-form-field>
1304
+ <kendo-chart-wizard-property-pane-form-field
1305
+ text="Rotation"
1306
+ inputType="dropDownList"
1307
+ [data]="labelsRotation"
1308
+ [value]="stateService.state.valueAxis[0]?.labels?.rotation"
1309
+ (valueChange)="updateState(valueAxisLabelsRotation, $event)"
1310
+ >
1311
+ </kendo-chart-wizard-property-pane-form-field>
1312
+ </div>
1313
+ </fieldset>
1314
+ </form>
1315
+ </kendo-expansionpanel>
1316
+ </section>
1317
+ `, isInline: true, dependencies: [{ kind: "component", type: ExpansionPanelComponent, selector: "kendo-expansionpanel", inputs: ["title", "subtitle", "disabled", "expanded", "svgExpandIcon", "svgCollapseIcon", "expandIcon", "collapseIcon", "animation"], outputs: ["expandedChange", "action", "expand", "collapse"], exportAs: ["kendoExpansionPanel"] }, { kind: "component", type: ChartWizardPropertyPaneFormFieldComponent, selector: "kendo-chart-wizard-property-pane-form-field", inputs: ["currentState", "action", "class", "inputType", "text", "data", "placeholder", "colSpan", "hasLabel", "isLabelInsideFormFieldWrap", "value"], outputs: ["valueChange"] }, { kind: "component", type: LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }, { kind: "component", type: SwitchComponent, selector: "kendo-switch", inputs: ["focusableId", "onLabel", "offLabel", "checked", "disabled", "readonly", "tabindex", "size", "thumbRounded", "trackRounded", "tabIndex"], outputs: ["focus", "blur", "valueChange"], exportAs: ["kendoSwitch"] }, { kind: "component", type: DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["customIconClass", "showStickyHeader", "icon", "svgIcon", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "leftRightArrowsNavigation", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1318
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChartWizardPropertyPaneDataTabComponent, decorators: [{
1319
+ type: Component,
1320
+ args: [{
1321
+ selector: 'kendo-chart-wizard-property-pane-format-tab',
1322
+ changeDetection: ChangeDetectionStrategy.OnPush,
1323
+ template: `
1324
+ <section>
1325
+ <kendo-expansionpanel
1326
+ title="Chart Area"
1327
+ [expanded]="isExpanded('Chart Area')"
1328
+ (expandedChange)="onExpandedChange('Chart Area', $event)"
1329
+ [attr.dir]="stateService.direction"
1330
+ >
1331
+ <form class="k-form k-form-md">
1332
+ <fieldset class="k-form-fieldset">
1333
+ <legend class="k-form-legend">Margins</legend>
1334
+ <div class="k-form-layout k-d-grid k-grid-cols-2 k-gap-x-4">
1335
+ <kendo-chart-wizard-property-pane-form-field
1336
+ text="Left"
1337
+ inputType="numeric"
1338
+ [value]="$any(stateService.state.area?.margin).left"
1339
+ (valueChange)="updateState(areaMarginLeft, $event)"
1340
+ >
1341
+ </kendo-chart-wizard-property-pane-form-field>
1342
+ <kendo-chart-wizard-property-pane-form-field
1343
+ text="Right"
1344
+ inputType="numeric"
1345
+ [value]="$any(stateService.state.area?.margin).right"
1346
+ (valueChange)="updateState(areaMarginRight, $event)"
1347
+ >
1348
+ </kendo-chart-wizard-property-pane-form-field>
1349
+ <kendo-chart-wizard-property-pane-form-field
1350
+ text="Top"
1351
+ inputType="numeric"
1352
+ [value]="$any(stateService.state.area?.margin).top"
1353
+ (valueChange)="updateState(areaMarginTop, $event)"
1354
+ >
1355
+ </kendo-chart-wizard-property-pane-form-field>
1356
+ <kendo-chart-wizard-property-pane-form-field
1357
+ text="Bottom"
1358
+ inputType="numeric"
1359
+ [value]="$any(stateService.state.area?.margin).bottom"
1360
+ (valueChange)="updateState(areaMarginBottom, $event)"
1361
+ >
1362
+ </kendo-chart-wizard-property-pane-form-field>
1363
+ </div>
1364
+ </fieldset>
1365
+ <fieldset class="k-form-fieldset">
1366
+ <legend class="k-form-legend">Background</legend>
1367
+ <kendo-chart-wizard-property-pane-form-field
1368
+ text="Color"
1369
+ inputType="colorPicker"
1370
+ [value]="stateService.state.area?.background"
1371
+ (valueChange)="updateState(areaBackground, $event)"
1372
+ >
1373
+ </kendo-chart-wizard-property-pane-form-field>
1374
+ </fieldset>
1375
+ </form>
1376
+ </kendo-expansionpanel>
1377
+ </section>
1378
+ <section>
1379
+ <kendo-expansionpanel
1380
+ title="Title"
1381
+ [expanded]="isExpanded('Title')"
1382
+ (expandedChange)="onExpandedChange('Title', $event)"
1383
+ >
1384
+ <form class="k-form k-form-md">
1385
+ <div class="k-form-layout k-d-grid k-grid-cols-2 k-gap-x-4">
1386
+ <kendo-chart-wizard-property-pane-form-field
1387
+ text="Apply to"
1388
+ inputType="dropDownList"
1389
+ [data]="chartTitles"
1390
+ [colSpan]="2"
1391
+ [value]="stateService.currentTitle"
1392
+ (valueChange)="changeCurrentTitle($event)"
1393
+ >
1394
+ </kendo-chart-wizard-property-pane-form-field>
1395
+ <kendo-chart-wizard-property-pane-form-field
1396
+ text="Title"
1397
+ inputType="text"
1398
+ [colSpan]="2"
1399
+ [value]="chartTitleTypeText"
1400
+ (valueChange)="updateState(chartTitleTypeAction, $event)"
1401
+ >
1402
+ </kendo-chart-wizard-property-pane-form-field>
1403
+ <kendo-chart-wizard-property-pane-form-field
1404
+ text="Font"
1405
+ inputType="comboBox"
1406
+ [data]="fontNames"
1407
+ [colSpan]="2"
1408
+ [value]="chartTitleTypeFont"
1409
+ placeholder="(Inherited font)"
1410
+ (valueChange)="updateState(chartTitleTypeFontAction, $event)"
1411
+ >
1412
+ </kendo-chart-wizard-property-pane-form-field>
1413
+ <kendo-chart-wizard-property-pane-form-field
1414
+ text="Size"
1415
+ inputType="comboBox"
1416
+ [data]="fontSizes"
1417
+ [value]="chartTitleTypeFontSize"
1418
+ (valueChange)="updateState(chartTitleTypeFontSizeAction, $event)"
1419
+ >
1420
+ </kendo-chart-wizard-property-pane-form-field>
1421
+ <kendo-chart-wizard-property-pane-form-field
1422
+ text="Color"
1423
+ inputType="colorPicker"
1424
+ [value]="chartTitleTypeColor"
1425
+ (valueChange)="updateState(chartTitleTypeColorAction, $event)"
1426
+ >
1427
+ </kendo-chart-wizard-property-pane-form-field>
1428
+ </div>
1429
+ </form>
1430
+ </kendo-expansionpanel>
1431
+ </section>
1432
+ <section>
1433
+ <kendo-expansionpanel
1434
+ title="Legend"
1435
+ [expanded]="isExpanded('Legend')"
1436
+ (expandedChange)="onExpandedChange('Legend', $event)"
1437
+ >
1438
+ <form class="k-form k-form-md">
1439
+ <div class="k-form-layout k-d-grid k-grid-cols-2 k-gap-x-4">
1440
+ <kendo-label [for]="toggleLegend" text="Show Legend"></kendo-label>
1441
+ <kendo-switch
1442
+ #toggleLegend
1443
+ onLabel="On"
1444
+ offLabel="Off"
1445
+ thumbRounded="full"
1446
+ size="medium"
1447
+ [checked]="stateService.state.legend?.visible"
1448
+ (valueChange)="updateState(legendVisible, $event)"
1449
+ ></kendo-switch>
1450
+ <kendo-chart-wizard-property-pane-form-field
1451
+ text="Font"
1452
+ inputType="comboBox"
1453
+ [data]="fontNames"
1454
+ [colSpan]="2"
1455
+ placeholder="(Inherited font)"
1456
+ [value]="parseFont(stateService.state.legend?.labels?.font).name"
1457
+ (valueChange)="updateState(legendFontName, $event)"
1458
+ >
1459
+ </kendo-chart-wizard-property-pane-form-field>
1460
+ <kendo-chart-wizard-property-pane-form-field
1461
+ text="Size"
1462
+ inputType="comboBox"
1463
+ [data]="fontSizes"
1464
+ placeholder="px"
1465
+ [value]="parseFont(stateService.state.legend?.labels?.font).size"
1466
+ (valueChange)="updateState(legendFontSize, $event)"
1467
+ >
1468
+ </kendo-chart-wizard-property-pane-form-field>
1469
+ <kendo-chart-wizard-property-pane-form-field
1470
+ text="Color"
1471
+ inputType="colorPicker"
1472
+ [value]="stateService.state.legend?.labels?.color"
1473
+ (valueChange)="updateState(legendColor, $event)"
1474
+ >
1475
+ </kendo-chart-wizard-property-pane-form-field>
1476
+ <kendo-chart-wizard-property-pane-form-field
1477
+ text="Position"
1478
+ inputType="dropDownList"
1479
+ [colSpan]="2"
1480
+ [data]="legendPositions"
1481
+ [value]="stateService.state.legend?.position"
1482
+ (valueChange)="updateState(legendPosition, $event)"
1483
+ >
1484
+ </kendo-chart-wizard-property-pane-form-field>
1485
+ </div>
1486
+ </form>
1487
+ </kendo-expansionpanel>
1488
+ </section>
1489
+ <section>
1490
+ <kendo-expansionpanel
1491
+ title="Series"
1492
+ [expanded]="isExpanded('Series')"
1493
+ (expandedChange)="onExpandedChange('Series', $event)"
1494
+ >
1495
+ <form class="k-form k-form-md">
1496
+ <div class="k-form-field">
1497
+ <kendo-label [for]="seriesDropDown" class="k-form-label" text="Apply to"></kendo-label>
1498
+ <div class="k-form-field-wrap">
1499
+ <kendo-dropdownlist
1500
+ #seriesDropDown
1501
+ [data]="stateService.state.series"
1502
+ textField="name"
1503
+ valueField="name"
1504
+ fillMode="outline"
1505
+ rounded="medium"
1506
+ size="medium"
1507
+ [value]="stateService.currentSeries"
1508
+ (valueChange)="updateCurrentSeries($event)"
1509
+ ></kendo-dropdownlist>
1510
+ </div>
1511
+ </div>
1512
+
1513
+ <kendo-chart-wizard-property-pane-form-field
1514
+ text="Color"
1515
+ [value]="stateService.currentSeries?.color"
1516
+ inputType="colorPicker"
1517
+ (valueChange)="updateSeriesColor($event)"
1518
+ >
1519
+ </kendo-chart-wizard-property-pane-form-field>
1520
+ <kendo-chart-wizard-property-pane-form-field
1521
+ text="Show Labels"
1522
+ [value]="stateService.currentSeries.labels?.visible"
1523
+ [isLabelInsideFormFieldWrap]="true"
1524
+ inputType="checkbox"
1525
+ (valueChange)="toggleSeriesLabels($event)"
1526
+ >
1527
+ </kendo-chart-wizard-property-pane-form-field>
1528
+ </form>
1529
+ </kendo-expansionpanel>
1530
+ </section>
1531
+ <section class="k-row-start-1 k-row-end-3 k-col-start-3">
1532
+ <kendo-expansionpanel
1533
+ title="Category axis"
1534
+ [expanded]="isExpanded('Category Axis')"
1535
+ (expandedChange)="onExpandedChange('Category Axis', $event)"
1536
+ >
1537
+ <form class="k-form k-form-md">
1538
+ <fieldset class="k-form-fieldset">
1539
+ <legend class="k-form-legend">Title</legend>
1540
+ <div class="k-form-layout k-d-grid k-grid-cols-2 k-gap-x-4">
1541
+ <kendo-chart-wizard-property-pane-form-field
1542
+ inputType="text"
1543
+ [hasLabel]="false"
1544
+ [colSpan]="2"
1545
+ placeholder="Axis Title"
1546
+ [value]="stateService.state.categoryAxis[0]?.title?.text"
1547
+ (valueChange)="updateState(categoryAxisTitleText, $event)"
1548
+ >
1549
+ </kendo-chart-wizard-property-pane-form-field>
1550
+ <kendo-chart-wizard-property-pane-form-field
1551
+ text="Font"
1552
+ inputType="comboBox"
1553
+ [data]="fontNames"
1554
+ [colSpan]="2"
1555
+ placeholder="(Inherited font)"
1556
+ [value]="parseFont(stateService.state.categoryAxis[0]?.title?.font).name"
1557
+ (valueChange)="updateState(categoryAxisTitleFontName, $event)"
1558
+ >
1559
+ </kendo-chart-wizard-property-pane-form-field>
1560
+ <kendo-chart-wizard-property-pane-form-field
1561
+ text="Size"
1562
+ inputType="comboBox"
1563
+ placeholder="px"
1564
+ [data]="fontSizes"
1565
+ [value]="parseFont(stateService.state.categoryAxis[0]?.title?.font).size"
1566
+ (valueChange)="updateState(categoryAxisTitleFontSize, $event)"
1567
+ >
1568
+ </kendo-chart-wizard-property-pane-form-field>
1569
+ <kendo-chart-wizard-property-pane-form-field
1570
+ text="Color"
1571
+ inputType="colorPicker"
1572
+ [value]="stateService.state.categoryAxis[0]?.title?.color"
1573
+ (valueChange)="updateState(categoryAxisTitleColor, $event)"
1574
+ >
1575
+ </kendo-chart-wizard-property-pane-form-field>
1576
+ </div>
1577
+ </fieldset>
1578
+ <fieldset class="k-form-fieldset">
1579
+ <legend class="k-form-legend">Labels</legend>
1580
+ <div class="k-form-layout k-d-grid k-grid-cols-2 k-gap-x-4">
1581
+ <kendo-chart-wizard-property-pane-form-field
1582
+ text="Font"
1583
+ inputType="comboBox"
1584
+ [data]="fontNames"
1585
+ placeholder="(Inherited font)"
1586
+ [value]="parseFont(stateService.state.categoryAxis[0]?.labels?.font).name"
1587
+ (valueChange)="updateState(categoryAxisLabelsFontName, $event)"
1588
+ >
1589
+ </kendo-chart-wizard-property-pane-form-field>
1590
+ <kendo-chart-wizard-property-pane-form-field
1591
+ text="Size"
1592
+ inputType="comboBox"
1593
+ [data]="fontSizes"
1594
+ placeholder="px"
1595
+ [value]="parseFont(stateService.state.categoryAxis[0]?.labels?.font).size"
1596
+ (valueChange)="updateState(categoryAxisLabelsFontSize, $event)"
1597
+ >
1598
+ </kendo-chart-wizard-property-pane-form-field>
1599
+ <kendo-chart-wizard-property-pane-form-field
1600
+ text="Color"
1601
+ inputType="colorPicker"
1602
+ [value]="stateService.state.categoryAxis[0]?.labels?.color || ''"
1603
+ (valueChange)="updateState(categoryAxisLabelsColor, $event)"
1604
+ >
1605
+ </kendo-chart-wizard-property-pane-form-field>
1606
+ <kendo-chart-wizard-property-pane-form-field
1607
+ text="Rotation"
1608
+ inputType="dropDownList"
1609
+ [data]="labelsRotation"
1610
+ [value]="stateService.state.categoryAxis[0]?.labels?.rotation"
1611
+ (valueChange)="updateState(categoryAxisLabelsRotation, $event)"
1612
+ >
1613
+ </kendo-chart-wizard-property-pane-form-field>
1614
+ <span></span>
1615
+ <kendo-chart-wizard-property-pane-form-field
1616
+ text="Reverse Order"
1617
+ [isLabelInsideFormFieldWrap]="true"
1618
+ inputType="checkbox"
1619
+ [colSpan]="2"
1620
+ [value]="stateService.state.categoryAxis[0]?.reverse"
1621
+ (valueChange)="updateState(categoryAxisReverseOrder, $event)"
1622
+ >
1623
+ </kendo-chart-wizard-property-pane-form-field>
1624
+ </div>
1625
+ </fieldset>
1626
+ </form>
1627
+ </kendo-expansionpanel>
1628
+ </section>
1629
+ <section class="k-row-start-1 k-row-end-3 k-col-start-4">
1630
+ <kendo-expansionpanel
1631
+ title="Value axis"
1632
+ [expanded]="isExpanded('Value Axis')"
1633
+ (expandedChange)="onExpandedChange('Value Axis', $event)"
1634
+ >
1635
+ <form class="k-form k-form-md">
1636
+ <fieldset class="k-form-fieldset">
1637
+ <legend class="k-form-legend">Title</legend>
1638
+ <div class="k-form-layout k-d-grid k-grid-cols-2 k-gap-x-4">
1639
+ <kendo-chart-wizard-property-pane-form-field
1640
+ inputType="text"
1641
+ [hasLabel]="false"
1642
+ [colSpan]="2"
1643
+ placeholder="Axis Title"
1644
+ [value]="stateService.state.valueAxis[0]?.title?.text"
1645
+ (valueChange)="updateState(valueAxisTitleText, $event)"
1646
+ >
1647
+ </kendo-chart-wizard-property-pane-form-field>
1648
+ <kendo-chart-wizard-property-pane-form-field
1649
+ text="Font"
1650
+ inputType="comboBox"
1651
+ [colSpan]="2"
1652
+ [data]="fontNames"
1653
+ placeholder="(Inherited font)"
1654
+ [value]="parseFont(stateService.state.valueAxis[0]?.title?.font).name"
1655
+ (valueChange)="updateState(valueAxisTitleFontName, $event)"
1656
+ >
1657
+ </kendo-chart-wizard-property-pane-form-field>
1658
+ <kendo-chart-wizard-property-pane-form-field
1659
+ text="Size"
1660
+ inputType="comboBox"
1661
+ placeholder="px"
1662
+ [data]="fontSizes"
1663
+ [value]="parseFont(stateService.state.valueAxis[0]?.title?.font).size"
1664
+ (valueChange)="updateState(valueAxisTitleFontSize, $event)"
1665
+ >
1666
+ </kendo-chart-wizard-property-pane-form-field>
1667
+ <kendo-chart-wizard-property-pane-form-field
1668
+ text="Color"
1669
+ inputType="colorPicker"
1670
+ [value]="stateService.state.valueAxis[0]?.title?.color"
1671
+ (valueChange)="updateState(valueAxisTitleColor, $event)"
1672
+ >
1673
+ </kendo-chart-wizard-property-pane-form-field>
1674
+ </div>
1675
+ </fieldset>
1676
+ <fieldset class="k-form-fieldset">
1677
+ <legend class="k-form-legend">Labels</legend>
1678
+ <div class="k-form-layout k-d-grid k-grid-cols-2 k-gap-x-4">
1679
+ <kendo-chart-wizard-property-pane-form-field
1680
+ text="Font"
1681
+ inputType="comboBox"
1682
+ [data]="fontNames"
1683
+ placeholder="(Inherited font)"
1684
+ [value]="parseFont(stateService.state.valueAxis[0]?.labels?.font).name"
1685
+ (valueChange)="updateState(valueAxisLabelsFontName, $event)"
1686
+ >
1687
+ </kendo-chart-wizard-property-pane-form-field>
1688
+ <kendo-chart-wizard-property-pane-form-field
1689
+ text="Size"
1690
+ inputType="comboBox"
1691
+ [data]="fontSizes"
1692
+ placeholder="px"
1693
+ [value]="parseFont(stateService.state.valueAxis[0]?.labels?.font).size"
1694
+ (valueChange)="updateState(valueAxisLabelsFontSize, $event)"
1695
+ >
1696
+ </kendo-chart-wizard-property-pane-form-field>
1697
+ <kendo-chart-wizard-property-pane-form-field
1698
+ text="Color"
1699
+ inputType="colorPicker"
1700
+ [value]="stateService.state.valueAxis[0]?.labels?.color || ''"
1701
+ (valueChange)="updateState(valueAxisLabelsColor, $event)"
1702
+ >
1703
+ </kendo-chart-wizard-property-pane-form-field>
1704
+ <kendo-chart-wizard-property-pane-form-field
1705
+ text="Rotation"
1706
+ inputType="dropDownList"
1707
+ [data]="labelsRotation"
1708
+ [value]="stateService.state.valueAxis[0]?.labels?.rotation"
1709
+ (valueChange)="updateState(valueAxisLabelsRotation, $event)"
1710
+ >
1711
+ </kendo-chart-wizard-property-pane-form-field>
1712
+ </div>
1713
+ </fieldset>
1714
+ </form>
1715
+ </kendo-expansionpanel>
1716
+ </section>
1717
+ `,
1718
+ standalone: true,
1719
+ imports: [
1720
+ ExpansionPanelComponent,
1721
+ ChartWizardPropertyPaneFormFieldComponent,
1722
+ LabelComponent,
1723
+ SwitchComponent,
1724
+ DropDownListComponent
1725
+ ]
1726
+ }]
1727
+ }], ctorParameters: function () { return [{ type: StateService }, { type: i2.LocalizationService }, { type: i0.ChangeDetectorRef }]; } });
1728
+
1729
+ /**
1730
+ * @hidden
1731
+ */
1732
+ class ChartWizardPropertyPaneFormatTabComponent {
1733
+ constructor(stateService, formBuilder) {
1734
+ this.stateService = stateService;
1735
+ this.formBuilder = formBuilder;
1736
+ this.categoryAxisX = ActionTypes.categoryAxisX;
1737
+ this.valueAxisY = ActionTypes.valueAxisY;
1738
+ this.seriesChange = ActionTypes.seriesChange;
1739
+ this.trashIcon = trashIcon;
1740
+ this.plusIcon = plusIcon;
1741
+ this.isCategorical = isCategorical;
1742
+ this.formGroup = this.formBuilder.group({
1743
+ name: null,
1744
+ });
1745
+ }
1746
+ updateState(action, value) {
1747
+ this.stateService.state = updateState(this.stateService.state, action, value);
1748
+ }
1749
+ createFormGroup(args) {
1750
+ const item = args.isNew ? {} : args.dataItem;
1751
+ this.formGroup = this.formBuilder.group({
1752
+ name: item.name,
1753
+ });
1754
+ return this.formGroup;
1755
+ }
1756
+ addData() {
1757
+ this.stateService.state.series.push(this.stateService.deletedSeries[0]);
1758
+ this.stateService.deletedSeries.shift();
1759
+ this.updateState(this.seriesChange, this.stateService.state.series);
1760
+ }
1761
+ removeData(event) {
1762
+ this.stateService.deletedSeries.push(event.dataItem);
1763
+ this.updateState(this.seriesChange, event.sender.data.data);
1764
+ }
1765
+ onRowReorder(grid) {
1766
+ this.updateState(this.seriesChange, grid.data.data);
1767
+ }
1768
+ isDisabled(grid) {
1769
+ return grid.data.data.length === this.stateService.state.initialSeries.length;
1770
+ }
1771
+ }
1772
+ ChartWizardPropertyPaneFormatTabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChartWizardPropertyPaneFormatTabComponent, deps: [{ token: StateService }, { token: i2$1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
1773
+ ChartWizardPropertyPaneFormatTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ChartWizardPropertyPaneFormatTabComponent, isStandalone: true, selector: "kendo-chart-wizard-property-pane-data-tab", ngImport: i0, template: `
1774
+ <kendo-expansionpanel title="Configuration" [expanded]="true">
1775
+ <form class="k-form k-form-md">
1776
+ <fieldset class="k-form-fieldset">
1777
+ <legend class="k-form-legend">
1778
+ {{ stateService.seriesType === 'scatter' ? 'X Axis' : 'Category Axis' }}
1779
+ </legend>
1780
+ <kendo-dropdownlist
1781
+ [data]="stateService.state.columns"
1782
+ [value]="stateService.state.categoryField"
1783
+ (valueChange)="updateState(categoryAxisX, $event)"
1784
+ >
1785
+ <ng-template kendoDropDownListValueTemplate> Current Item </ng-template>
1786
+ </kendo-dropdownlist>
1787
+ </fieldset>
1788
+ <fieldset class="k-form-fieldset" *ngIf="isCategorical(stateService.seriesType)">
1789
+ <legend class="k-form-legend">Series</legend>
1790
+ <kendo-grid
1791
+ #grid
1792
+ [kendoGridReactiveEditing]="createFormGroup"
1793
+ [kendoGridBinding]="stateService.state.series"
1794
+ [rowReorderable]="true"
1795
+ (rowReorder)="onRowReorder(grid)"
1796
+ (remove)="removeData($event)"
1797
+ >
1798
+ <ng-template kendoGridToolbarTemplate>
1799
+ <button
1800
+ kendoButton
1801
+ type="button"
1802
+ [svgIcon]="plusIcon"
1803
+ fillMode="flat"
1804
+ rounded="medium"
1805
+ [disabled]="isDisabled(grid)"
1806
+ (click)="addData()"
1807
+ >
1808
+ ADD
1809
+ </button>
1810
+ </ng-template>
1811
+ <kendo-grid-rowreorder-column [width]="40"></kendo-grid-rowreorder-column>
1812
+ <kendo-grid-column field="name" title="Name"></kendo-grid-column>
1813
+ <kendo-grid-command-column [width]="40">
1814
+ <ng-template kendoGridCellTemplate>
1815
+ <button
1816
+ [svgIcon]="trashIcon"
1817
+ kendoGridRemoveCommand
1818
+ fillMode="flat"
1819
+ rounded="medium"
1820
+ [disabled]="stateService.state.series.length < 2"
1821
+ ></button>
1822
+ </ng-template>
1823
+ </kendo-grid-command-column>
1824
+ </kendo-grid>
1825
+ </fieldset>
1826
+ <fieldset
1827
+ class="k-form-fieldset"
1828
+ *ngIf="stateService.seriesType === 'pie' || stateService.seriesType === 'scatter'"
1829
+ >
1830
+ <legend class="k-form-legend">
1831
+ {{ stateService.seriesType === 'scatter' ? 'Y Axis' : 'Value Axis' }}
1832
+ </legend>
1833
+ <kendo-dropdownlist
1834
+ [data]="stateService.state.columns"
1835
+ [value]="stateService.state.yField"
1836
+ (valueChange)="updateState(valueAxisY, $event)"
1837
+ >
1838
+ <ng-template kendoDropDownListValueTemplate> Current Item </ng-template>
1839
+ </kendo-dropdownlist>
1840
+ </fieldset>
1841
+ </form>
1842
+ </kendo-expansionpanel>
1843
+ `, isInline: true, dependencies: [{ kind: "component", type: ExpansionPanelComponent, selector: "kendo-expansionpanel", inputs: ["title", "subtitle", "disabled", "expanded", "svgExpandIcon", "svgCollapseIcon", "expandIcon", "collapseIcon", "animation"], outputs: ["expandedChange", "action", "expand", "collapse"], exportAs: ["kendoExpansionPanel"] }, { kind: "component", type: DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["customIconClass", "showStickyHeader", "icon", "svgIcon", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "leftRightArrowsNavigation", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { kind: "directive", type: ValueTemplateDirective, selector: "[kendoDropDownListValueTemplate],[kendoDropDownTreeValueTemplate]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: GridComponent, selector: "kendo-grid", inputs: ["data", "pageSize", "height", "rowHeight", "detailRowHeight", "skip", "scrollable", "selectable", "sort", "size", "trackBy", "filter", "group", "virtualColumns", "filterable", "sortable", "pageable", "groupable", "rowReorderable", "navigable", "navigatable", "autoSize", "rowClass", "rowSticky", "rowSelected", "cellSelected", "resizable", "reorderable", "loading", "columnMenu", "hideHeader", "isDetailExpanded", "isGroupExpanded"], outputs: ["filterChange", "pageChange", "groupChange", "sortChange", "selectionChange", "rowReorder", "dataStateChange", "groupExpand", "groupCollapse", "detailExpand", "detailCollapse", "edit", "cancel", "save", "remove", "add", "cellClose", "cellClick", "pdfExport", "excelExport", "columnResize", "columnReorder", "columnVisibilityChange", "columnLockedChange", "columnStickyChange", "scrollBottom", "contentScroll"], exportAs: ["kendoGrid"] }, { kind: "directive", type: ReactiveEditingDirective, selector: "[kendoGridReactiveEditing]", inputs: ["kendoGridReactiveEditing"] }, { kind: "directive", type: DataBindingDirective, selector: "[kendoGridBinding]", inputs: ["skip", "sort", "filter", "pageSize", "group", "kendoGridBinding"], exportAs: ["kendoGridBinding"] }, { kind: "directive", type: ToolbarTemplateDirective, selector: "[kendoGridToolbarTemplate]", inputs: ["position"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "component", type: RowReorderColumnComponent, selector: "kendo-grid-rowreorder-column", inputs: ["dragHandleIcon", "dragHandleSVGIcon"] }, { kind: "component", type: ColumnComponent, selector: "kendo-grid-column", inputs: ["field", "format", "sortable", "groupable", "editor", "filter", "filterable", "editable"] }, { kind: "component", type: CommandColumnComponent, selector: "kendo-grid-command-column" }, { kind: "directive", type: CellTemplateDirective, selector: "[kendoGridCellTemplate]" }, { kind: "directive", type: GridToolbarFocusableDirective, selector: " [kendoGridToolbarFocusable], [kendoGridAddCommand], [kendoGridCancelCommand], [kendoGridEditCommand], [kendoGridRemoveCommand], [kendoGridSaveCommand], [kendoGridExcelCommand], [kendoGridPDFCommand] " }, { kind: "component", type: RemoveCommandDirective, selector: "[kendoGridRemoveCommand]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1844
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChartWizardPropertyPaneFormatTabComponent, decorators: [{
1845
+ type: Component,
1846
+ args: [{
1847
+ selector: 'kendo-chart-wizard-property-pane-data-tab',
1848
+ changeDetection: ChangeDetectionStrategy.OnPush,
1849
+ template: `
1850
+ <kendo-expansionpanel title="Configuration" [expanded]="true">
1851
+ <form class="k-form k-form-md">
1852
+ <fieldset class="k-form-fieldset">
1853
+ <legend class="k-form-legend">
1854
+ {{ stateService.seriesType === 'scatter' ? 'X Axis' : 'Category Axis' }}
1855
+ </legend>
1856
+ <kendo-dropdownlist
1857
+ [data]="stateService.state.columns"
1858
+ [value]="stateService.state.categoryField"
1859
+ (valueChange)="updateState(categoryAxisX, $event)"
1860
+ >
1861
+ <ng-template kendoDropDownListValueTemplate> Current Item </ng-template>
1862
+ </kendo-dropdownlist>
1863
+ </fieldset>
1864
+ <fieldset class="k-form-fieldset" *ngIf="isCategorical(stateService.seriesType)">
1865
+ <legend class="k-form-legend">Series</legend>
1866
+ <kendo-grid
1867
+ #grid
1868
+ [kendoGridReactiveEditing]="createFormGroup"
1869
+ [kendoGridBinding]="stateService.state.series"
1870
+ [rowReorderable]="true"
1871
+ (rowReorder)="onRowReorder(grid)"
1872
+ (remove)="removeData($event)"
1873
+ >
1874
+ <ng-template kendoGridToolbarTemplate>
1875
+ <button
1876
+ kendoButton
1877
+ type="button"
1878
+ [svgIcon]="plusIcon"
1879
+ fillMode="flat"
1880
+ rounded="medium"
1881
+ [disabled]="isDisabled(grid)"
1882
+ (click)="addData()"
1883
+ >
1884
+ ADD
1885
+ </button>
1886
+ </ng-template>
1887
+ <kendo-grid-rowreorder-column [width]="40"></kendo-grid-rowreorder-column>
1888
+ <kendo-grid-column field="name" title="Name"></kendo-grid-column>
1889
+ <kendo-grid-command-column [width]="40">
1890
+ <ng-template kendoGridCellTemplate>
1891
+ <button
1892
+ [svgIcon]="trashIcon"
1893
+ kendoGridRemoveCommand
1894
+ fillMode="flat"
1895
+ rounded="medium"
1896
+ [disabled]="stateService.state.series.length < 2"
1897
+ ></button>
1898
+ </ng-template>
1899
+ </kendo-grid-command-column>
1900
+ </kendo-grid>
1901
+ </fieldset>
1902
+ <fieldset
1903
+ class="k-form-fieldset"
1904
+ *ngIf="stateService.seriesType === 'pie' || stateService.seriesType === 'scatter'"
1905
+ >
1906
+ <legend class="k-form-legend">
1907
+ {{ stateService.seriesType === 'scatter' ? 'Y Axis' : 'Value Axis' }}
1908
+ </legend>
1909
+ <kendo-dropdownlist
1910
+ [data]="stateService.state.columns"
1911
+ [value]="stateService.state.yField"
1912
+ (valueChange)="updateState(valueAxisY, $event)"
1913
+ >
1914
+ <ng-template kendoDropDownListValueTemplate> Current Item </ng-template>
1915
+ </kendo-dropdownlist>
1916
+ </fieldset>
1917
+ </form>
1918
+ </kendo-expansionpanel>
1919
+ `,
1920
+ standalone: true,
1921
+ imports: [
1922
+ ExpansionPanelComponent,
1923
+ DropDownListComponent,
1924
+ ValueTemplateDirective,
1925
+ NgIf,
1926
+ GridComponent,
1927
+ ReactiveEditingDirective,
1928
+ DataBindingDirective,
1929
+ ToolbarTemplateDirective,
1930
+ ButtonComponent,
1931
+ RowReorderColumnComponent,
1932
+ ColumnComponent,
1933
+ CommandColumnComponent,
1934
+ CellTemplateDirective,
1935
+ GridToolbarFocusableDirective,
1936
+ FocusableDirective,
1937
+ RemoveCommandDirective
1938
+ ]
1939
+ }]
1940
+ }], ctorParameters: function () { return [{ type: StateService }, { type: i2$1.FormBuilder }]; } });
1941
+
1942
+ /**
1943
+ * @hidden
1944
+ */
1945
+ class ChartWizardSeriesTypeButtonComponent {
1946
+ constructor(stateService) {
1947
+ this.stateService = stateService;
1948
+ this.stack = false;
1949
+ }
1950
+ onSelect() {
1951
+ this.stateService.seriesType = this.seriesType;
1952
+ this.stateService.state = mergeStates(this.stateService.state, createState(this.stateService.data, this.stateService.seriesType));
1953
+ this.stateService.currentSeries = {};
1954
+ if (this.stack) {
1955
+ this.stateService.state = updateState(this.stateService.state, ActionTypes.stacked, this.stack);
1956
+ }
1957
+ }
1958
+ isSelected() {
1959
+ var _a, _b, _c;
1960
+ if (((_a = this.stack) === null || _a === void 0 ? void 0 : _a.type) === '100%') {
1961
+ return ((_b = this.stack) === null || _b === void 0 ? void 0 : _b.type) === ((_c = this.stateService.state.series[0].stack) === null || _c === void 0 ? void 0 : _c.type);
1962
+ }
1963
+ return (this.stateService.state.seriesType === this.seriesType &&
1964
+ this.stateService.state.series[0].stack === this.stack);
1965
+ }
1966
+ }
1967
+ ChartWizardSeriesTypeButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChartWizardSeriesTypeButtonComponent, deps: [{ token: StateService }], target: i0.ɵɵFactoryTarget.Component });
1968
+ ChartWizardSeriesTypeButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ChartWizardSeriesTypeButtonComponent, isStandalone: true, selector: "kendo-chart-wizard-series-type-button", inputs: { title: "title", chartTypeIcon: "chartTypeIcon", stack: "stack", seriesType: "seriesType" }, ngImport: i0, template: `
1969
+ <div class="k-icon-text-wrapper" [class.k-selected]="isSelected()" (click)="onSelect()">
1970
+ <div class="k-icon-background-area">
1971
+ <kendo-svgicon [icon]="chartTypeIcon" size="xlarge" themeColor="secondary"> </kendo-svgicon>
1972
+ </div>
1973
+ {{ title }}
1974
+ </div>
1975
+ `, isInline: true, dependencies: [{ kind: "component", type: SVGIconComponent, selector: "kendo-svg-icon, kendo-svgicon", inputs: ["icon"], exportAs: ["kendoSVGIcon"] }] });
1976
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChartWizardSeriesTypeButtonComponent, decorators: [{
1977
+ type: Component,
1978
+ args: [{
1979
+ selector: 'kendo-chart-wizard-series-type-button',
1980
+ template: `
1981
+ <div class="k-icon-text-wrapper" [class.k-selected]="isSelected()" (click)="onSelect()">
1982
+ <div class="k-icon-background-area">
1983
+ <kendo-svgicon [icon]="chartTypeIcon" size="xlarge" themeColor="secondary"> </kendo-svgicon>
1984
+ </div>
1985
+ {{ title }}
1986
+ </div>
1987
+ `,
1988
+ standalone: true,
1989
+ imports: [SVGIconComponent]
1990
+ }]
1991
+ }], ctorParameters: function () { return [{ type: StateService }]; }, propDecorators: { title: [{
1992
+ type: Input
1993
+ }], chartTypeIcon: [{
1994
+ type: Input
1995
+ }], stack: [{
1996
+ type: Input
1997
+ }], seriesType: [{
1998
+ type: Input
1999
+ }] } });
2000
+
2001
+ /**
2002
+ * @hidden
2003
+ */
2004
+ class ChartWizardPropertyPaneChartTabComponent {
2005
+ constructor(stateService, cdr, localization) {
2006
+ this.stateService = stateService;
2007
+ this.cdr = cdr;
2008
+ this.localization = localization;
2009
+ this.exportIcon = exportIcon;
2010
+ this.chartBarClusteredIcon = chartBarClusteredIcon;
2011
+ this.chartBarStackedIcon = chartBarStackedIcon;
2012
+ this.chartBarStacked100Icon = chartBarStacked100Icon;
2013
+ this.chartPieIcon = chartPieIcon;
2014
+ this.chartColumnClusteredIcon = chartColumnClusteredIcon;
2015
+ this.chartColumnStackedIcon = chartColumnStackedIcon;
2016
+ this.chartColumnStacked100Icon = chartColumnStacked100Icon;
2017
+ this.chartLineIcon = chartLineIcon;
2018
+ this.chartLineStackedIcon = chartLineStackedIcon;
2019
+ this.chartLineStacked100Icon = chartLineStacked100Icon;
2020
+ this.chartScatterIcon = chartScatterIcon;
2021
+ }
2022
+ isExpanded(type) {
2023
+ return this.stateService.state.seriesType === type;
2024
+ }
2025
+ ngAfterViewChecked() {
2026
+ this.localization.changes.subscribe(() => {
2027
+ this.detectChanges();
2028
+ });
2029
+ }
2030
+ ngOnDestroy() {
2031
+ this.localization.changes.unsubscribe();
2032
+ }
2033
+ detectChanges() {
2034
+ this.cdr.detectChanges();
2035
+ }
2036
+ }
2037
+ ChartWizardPropertyPaneChartTabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChartWizardPropertyPaneChartTabComponent, deps: [{ token: StateService }, { token: i0.ChangeDetectorRef }, { token: i2.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
2038
+ ChartWizardPropertyPaneChartTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ChartWizardPropertyPaneChartTabComponent, isStandalone: true, selector: "kendo-chart-wizard-property-pane-chart-tab", ngImport: i0, template: `
2039
+ <kendo-expansionpanel title="Bar Chart" [expanded]="isExpanded('bar')">
2040
+ <div class="k-chart-types-wrapper">
2041
+ <kendo-chart-wizard-series-type-button
2042
+ title="Bar"
2043
+ [chartTypeIcon]="chartBarClusteredIcon"
2044
+ seriesType="bar"
2045
+ [stack]="false"
2046
+ >
2047
+ </kendo-chart-wizard-series-type-button>
2048
+ <kendo-chart-wizard-series-type-button
2049
+ title="Stacked Bar"
2050
+ [chartTypeIcon]="chartBarStackedIcon"
2051
+ seriesType="bar"
2052
+ [stack]="true"
2053
+ >
2054
+ </kendo-chart-wizard-series-type-button>
2055
+ <kendo-chart-wizard-series-type-button
2056
+ title="100% Stacked Bar"
2057
+ [chartTypeIcon]="chartBarStacked100Icon"
2058
+ seriesType="bar"
2059
+ [stack]="{ type: '100%' }"
2060
+ >
2061
+ </kendo-chart-wizard-series-type-button>
2062
+ </div>
2063
+ </kendo-expansionpanel>
2064
+ <kendo-expansionpanel title="Pie Chart" [expanded]="isExpanded('pie')">
2065
+ <div class="k-chart-types-wrapper">
2066
+ <kendo-chart-wizard-series-type-button
2067
+ title="Pie"
2068
+ [chartTypeIcon]="chartPieIcon"
2069
+ seriesType="pie"
2070
+ [stack]="undefined"
2071
+ >
2072
+ </kendo-chart-wizard-series-type-button>
2073
+ </div>
2074
+ </kendo-expansionpanel>
2075
+ <kendo-expansionpanel title="Column Chart" [expanded]="isExpanded('column')">
2076
+ <div class="k-chart-types-wrapper">
2077
+ <kendo-chart-wizard-series-type-button
2078
+ title="Column"
2079
+ [chartTypeIcon]="chartColumnClusteredIcon"
2080
+ seriesType="column"
2081
+ [stack]="false"
2082
+ >
2083
+ </kendo-chart-wizard-series-type-button>
2084
+ <kendo-chart-wizard-series-type-button
2085
+ title="Stacked Column"
2086
+ [chartTypeIcon]="chartColumnStackedIcon"
2087
+ seriesType="column"
2088
+ [stack]="true"
2089
+ >
2090
+ </kendo-chart-wizard-series-type-button>
2091
+ <kendo-chart-wizard-series-type-button
2092
+ title="100% Stacked Column"
2093
+ [chartTypeIcon]="chartColumnStacked100Icon"
2094
+ seriesType="column"
2095
+ [stack]="{ type: '100%' }"
2096
+ >
2097
+ </kendo-chart-wizard-series-type-button>
2098
+ </div>
2099
+ </kendo-expansionpanel>
2100
+ <kendo-expansionpanel title="Line Chart" [expanded]="isExpanded('line')">
2101
+ <div class="k-chart-types-wrapper">
2102
+ <kendo-chart-wizard-series-type-button
2103
+ title="Line"
2104
+ [chartTypeIcon]="chartLineIcon"
2105
+ seriesType="line"
2106
+ [stack]="false"
2107
+ >
2108
+ </kendo-chart-wizard-series-type-button>
2109
+ <kendo-chart-wizard-series-type-button
2110
+ title="Stacked Line"
2111
+ [chartTypeIcon]="chartLineStackedIcon"
2112
+ seriesType="line"
2113
+ [stack]="true"
2114
+ >
2115
+ </kendo-chart-wizard-series-type-button>
2116
+ <kendo-chart-wizard-series-type-button
2117
+ title="100% Line Column"
2118
+ [chartTypeIcon]="chartLineStacked100Icon"
2119
+ seriesType="line"
2120
+ [stack]="{ type: '100%' }"
2121
+ >
2122
+ </kendo-chart-wizard-series-type-button>
2123
+ </div>
2124
+ </kendo-expansionpanel>
2125
+ <kendo-expansionpanel title="Scatter Chart" [expanded]="isExpanded('scatter')">
2126
+ <div class="k-chart-types-wrapper">
2127
+ <kendo-chart-wizard-series-type-button
2128
+ title="Scatter"
2129
+ [chartTypeIcon]="chartScatterIcon"
2130
+ seriesType="scatter"
2131
+ [stack]="false"
2132
+ >
2133
+ </kendo-chart-wizard-series-type-button>
2134
+ </div>
2135
+ </kendo-expansionpanel>
2136
+ `, isInline: true, dependencies: [{ kind: "component", type: ExpansionPanelComponent, selector: "kendo-expansionpanel", inputs: ["title", "subtitle", "disabled", "expanded", "svgExpandIcon", "svgCollapseIcon", "expandIcon", "collapseIcon", "animation"], outputs: ["expandedChange", "action", "expand", "collapse"], exportAs: ["kendoExpansionPanel"] }, { kind: "component", type: ChartWizardSeriesTypeButtonComponent, selector: "kendo-chart-wizard-series-type-button", inputs: ["title", "chartTypeIcon", "stack", "seriesType"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2137
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChartWizardPropertyPaneChartTabComponent, decorators: [{
2138
+ type: Component,
2139
+ args: [{
2140
+ selector: 'kendo-chart-wizard-property-pane-chart-tab',
2141
+ changeDetection: ChangeDetectionStrategy.OnPush,
2142
+ template: `
2143
+ <kendo-expansionpanel title="Bar Chart" [expanded]="isExpanded('bar')">
2144
+ <div class="k-chart-types-wrapper">
2145
+ <kendo-chart-wizard-series-type-button
2146
+ title="Bar"
2147
+ [chartTypeIcon]="chartBarClusteredIcon"
2148
+ seriesType="bar"
2149
+ [stack]="false"
2150
+ >
2151
+ </kendo-chart-wizard-series-type-button>
2152
+ <kendo-chart-wizard-series-type-button
2153
+ title="Stacked Bar"
2154
+ [chartTypeIcon]="chartBarStackedIcon"
2155
+ seriesType="bar"
2156
+ [stack]="true"
2157
+ >
2158
+ </kendo-chart-wizard-series-type-button>
2159
+ <kendo-chart-wizard-series-type-button
2160
+ title="100% Stacked Bar"
2161
+ [chartTypeIcon]="chartBarStacked100Icon"
2162
+ seriesType="bar"
2163
+ [stack]="{ type: '100%' }"
2164
+ >
2165
+ </kendo-chart-wizard-series-type-button>
2166
+ </div>
2167
+ </kendo-expansionpanel>
2168
+ <kendo-expansionpanel title="Pie Chart" [expanded]="isExpanded('pie')">
2169
+ <div class="k-chart-types-wrapper">
2170
+ <kendo-chart-wizard-series-type-button
2171
+ title="Pie"
2172
+ [chartTypeIcon]="chartPieIcon"
2173
+ seriesType="pie"
2174
+ [stack]="undefined"
2175
+ >
2176
+ </kendo-chart-wizard-series-type-button>
2177
+ </div>
2178
+ </kendo-expansionpanel>
2179
+ <kendo-expansionpanel title="Column Chart" [expanded]="isExpanded('column')">
2180
+ <div class="k-chart-types-wrapper">
2181
+ <kendo-chart-wizard-series-type-button
2182
+ title="Column"
2183
+ [chartTypeIcon]="chartColumnClusteredIcon"
2184
+ seriesType="column"
2185
+ [stack]="false"
2186
+ >
2187
+ </kendo-chart-wizard-series-type-button>
2188
+ <kendo-chart-wizard-series-type-button
2189
+ title="Stacked Column"
2190
+ [chartTypeIcon]="chartColumnStackedIcon"
2191
+ seriesType="column"
2192
+ [stack]="true"
2193
+ >
2194
+ </kendo-chart-wizard-series-type-button>
2195
+ <kendo-chart-wizard-series-type-button
2196
+ title="100% Stacked Column"
2197
+ [chartTypeIcon]="chartColumnStacked100Icon"
2198
+ seriesType="column"
2199
+ [stack]="{ type: '100%' }"
2200
+ >
2201
+ </kendo-chart-wizard-series-type-button>
2202
+ </div>
2203
+ </kendo-expansionpanel>
2204
+ <kendo-expansionpanel title="Line Chart" [expanded]="isExpanded('line')">
2205
+ <div class="k-chart-types-wrapper">
2206
+ <kendo-chart-wizard-series-type-button
2207
+ title="Line"
2208
+ [chartTypeIcon]="chartLineIcon"
2209
+ seriesType="line"
2210
+ [stack]="false"
2211
+ >
2212
+ </kendo-chart-wizard-series-type-button>
2213
+ <kendo-chart-wizard-series-type-button
2214
+ title="Stacked Line"
2215
+ [chartTypeIcon]="chartLineStackedIcon"
2216
+ seriesType="line"
2217
+ [stack]="true"
2218
+ >
2219
+ </kendo-chart-wizard-series-type-button>
2220
+ <kendo-chart-wizard-series-type-button
2221
+ title="100% Line Column"
2222
+ [chartTypeIcon]="chartLineStacked100Icon"
2223
+ seriesType="line"
2224
+ [stack]="{ type: '100%' }"
2225
+ >
2226
+ </kendo-chart-wizard-series-type-button>
2227
+ </div>
2228
+ </kendo-expansionpanel>
2229
+ <kendo-expansionpanel title="Scatter Chart" [expanded]="isExpanded('scatter')">
2230
+ <div class="k-chart-types-wrapper">
2231
+ <kendo-chart-wizard-series-type-button
2232
+ title="Scatter"
2233
+ [chartTypeIcon]="chartScatterIcon"
2234
+ seriesType="scatter"
2235
+ [stack]="false"
2236
+ >
2237
+ </kendo-chart-wizard-series-type-button>
2238
+ </div>
2239
+ </kendo-expansionpanel>
2240
+ `,
2241
+ standalone: true,
2242
+ imports: [ExpansionPanelComponent, ChartWizardSeriesTypeButtonComponent]
2243
+ }]
2244
+ }], ctorParameters: function () { return [{ type: StateService }, { type: i0.ChangeDetectorRef }, { type: i2.LocalizationService }]; } });
2245
+
2246
+ /**
2247
+ * @hidden
2248
+ */
2249
+ class PreventableEvent {
2250
+ constructor() {
2251
+ this.prevented = false;
2252
+ }
2253
+ /**
2254
+ * Prevents the default action for a specified event.
2255
+ * In this way, the source component suppresses
2256
+ * the built-in behavior that follows the event.
2257
+ */
2258
+ preventDefault() {
2259
+ this.prevented = true;
2260
+ }
2261
+ /**
2262
+ * Returns `true` if the event was prevented
2263
+ * by any of its subscribers.
2264
+ *
2265
+ * @returns `true` if the default action was prevented.
2266
+ * Otherwise, returns `false`.
2267
+ */
2268
+ isDefaultPrevented() {
2269
+ return this.prevented;
2270
+ }
2271
+ }
2272
+
2273
+ /**
2274
+ * Arguments for the `export` event on the Chart Wizard.
2275
+ */
2276
+ class ExportEvent extends PreventableEvent {
2277
+ /**
2278
+ * @hidden
2279
+ */
2280
+ constructor(chart, exportOptions) {
2281
+ super();
2282
+ this.chart = chart;
2283
+ this.exportOptions = exportOptions;
2284
+ }
2285
+ }
2286
+
2287
+ /**
2288
+ * The Chart Wizard component.
2289
+ * ```
2290
+ */
2291
+ class ChartWizardComponent {
2292
+ constructor(localization, stateService) {
2293
+ this.localization = localization;
2294
+ this.stateService = stateService;
2295
+ /**
2296
+ * @hidden
2297
+ */
2298
+ this.showLicenseWatermark = false;
2299
+ /**
2300
+ * @hidden
2301
+ */
2302
+ this.exportIcon = exportIcon;
2303
+ /**
2304
+ * @hidden
2305
+ */
2306
+ this.exportDropdownItems = [
2307
+ {
2308
+ text: 'PDF File',
2309
+ svgIcon: filePdfIcon,
2310
+ },
2311
+ {
2312
+ text: 'SVG File',
2313
+ svgIcon: fileIcon,
2314
+ },
2315
+ {
2316
+ text: 'PNG File',
2317
+ svgIcon: fileImageIcon,
2318
+ },
2319
+ ];
2320
+ /**
2321
+ * Fires when the Chart Wizard Window is to be close.
2322
+ */
2323
+ this.close = new EventEmitter();
2324
+ /**
2325
+ * Fires when the Chart is about to be exported. Can be prevented.
2326
+ */
2327
+ this.export = new EventEmitter();
2328
+ this.subscription = new Subscription();
2329
+ const isValid = validatePackage(packageMetadata);
2330
+ this.showLicenseWatermark = shouldShowValidationUI(isValid);
2331
+ this.stateService.direction = this.localization.rtl ? 'rtl' : 'ltr';
2332
+ }
2333
+ get dir() {
2334
+ return this.stateService.direction;
2335
+ }
2336
+ ngAfterViewInit() {
2337
+ this.subscription.add(this.localization.changes.subscribe(({ rtl }) => {
2338
+ this.stateService.direction = rtl ? 'rtl' : 'ltr';
2339
+ }));
2340
+ }
2341
+ ngOnChanges(changes) {
2342
+ var _a;
2343
+ if (changes['data']) {
2344
+ const data = changes['data'].currentValue;
2345
+ const clonedData = structuredClone(data);
2346
+ this.stateService.data = clonedData;
2347
+ this.stateService.state = createState(clonedData, this.stateService.seriesType);
2348
+ }
2349
+ if (changes['defaultState']) {
2350
+ const defaultState = changes['defaultState'].currentValue;
2351
+ if (defaultState.seriesType) {
2352
+ this.stateService.seriesType = defaultState.seriesType;
2353
+ this.stateService.state = mergeStates(this.stateService.state, createState(this.stateService.data, this.stateService.seriesType));
2354
+ }
2355
+ this.stateService.currentSeries = {};
2356
+ if (typeof defaultState.stack !== 'undefined') {
2357
+ this.stateService.state = updateState(this.stateService.state, ActionTypes.stacked, defaultState.stack);
2358
+ }
2359
+ (_a = this.propertyPane) === null || _a === void 0 ? void 0 : _a.detectChanges();
2360
+ }
2361
+ }
2362
+ ngOnDestroy() {
2363
+ if (this.subscription) {
2364
+ this.subscription.unsubscribe();
2365
+ }
2366
+ }
2367
+ /**
2368
+ * @hidden
2369
+ */
2370
+ messageFor(key) {
2371
+ return this.localization.get(key);
2372
+ }
2373
+ /**
2374
+ * @hidden
2375
+ */
2376
+ onExport(exportType) {
2377
+ var _a, _b, _c;
2378
+ const args = new ExportEvent(this.chart, this.exportOptions);
2379
+ this.export.emit(args);
2380
+ if (args.isDefaultPrevented()) {
2381
+ return;
2382
+ }
2383
+ switch (exportType.text) {
2384
+ case 'PDF File':
2385
+ exportPDF(this.chart.exportVisual(), (_a = this.exportOptions) === null || _a === void 0 ? void 0 : _a.pdf).then((dataURI) => {
2386
+ var _a;
2387
+ saveAs(dataURI, ((_a = this.exportOptions) === null || _a === void 0 ? void 0 : _a.fileName) || 'chart');
2388
+ });
2389
+ break;
2390
+ case 'SVG File':
2391
+ this.chart.exportSVG((_b = this.exportOptions) === null || _b === void 0 ? void 0 : _b.image).then((dataURI) => {
2392
+ var _a;
2393
+ saveAs(dataURI, ((_a = this.exportOptions) === null || _a === void 0 ? void 0 : _a.fileName) || 'chart');
2394
+ });
2395
+ break;
2396
+ case 'PNG File':
2397
+ this.chart.exportImage((_c = this.exportOptions) === null || _c === void 0 ? void 0 : _c.image).then((dataURI) => {
2398
+ var _a;
2399
+ saveAs(dataURI, ((_a = this.exportOptions) === null || _a === void 0 ? void 0 : _a.fileName) || 'chart');
2400
+ });
2401
+ break;
2402
+ }
2403
+ }
2404
+ }
2405
+ ChartWizardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChartWizardComponent, deps: [{ token: i2.LocalizationService }, { token: StateService }], target: i0.ɵɵFactoryTarget.Component });
2406
+ ChartWizardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ChartWizardComponent, isStandalone: true, selector: "kendo-chart-wizard", inputs: { data: "data", defaultState: "defaultState", exportOptions: "exportOptions" }, outputs: { close: "close", export: "export" }, host: { properties: { "attr.dir": "this.dir" } }, providers: [
2407
+ LocalizationService,
2408
+ {
2409
+ provide: L10N_PREFIX,
2410
+ useValue: 'kendo.chartwizard',
2411
+ },
2412
+ StateService
2413
+ ], viewQueries: [{ propertyName: "chart", first: true, predicate: ChartComponent, descendants: true }, { propertyName: "propertyPane", first: true, predicate: ChartWizardPropertyPaneChartTabComponent, descendants: true }], exportAs: ["kendoChartWizard"], usesOnChanges: true, ngImport: i0, template: `
2414
+ <ng-container
2415
+ kendoChartWizardLocalizedMessages
2416
+ i18n-sampleMessage="kendo.chartwizard.sampleMessage|Sample description"
2417
+ sampleMessage="foo"
2418
+ ></ng-container>
2419
+ <kendo-window
2420
+ class="k-chart-wizard"
2421
+ title="Chart Wizard"
2422
+ [width]="1000"
2423
+ [height]="700"
2424
+ [resizable]="true"
2425
+ (close)="close.emit()"
2426
+ >
2427
+ <kendo-splitter class="k-chart-wizard-splitter">
2428
+ <kendo-splitter-pane class="k-chart-wizard-preview-pane">
2429
+ <div class="k-preview-pane-header">
2430
+ <kendo-dropdownbutton
2431
+ [svgIcon]="exportIcon"
2432
+ [data]="exportDropdownItems"
2433
+ textField="text"
2434
+ fillMode="flat"
2435
+ (itemClick)="onExport($event)"
2436
+ >
2437
+ Export
2438
+ </kendo-dropdownbutton>
2439
+ </div>
2440
+ <div class="k-preview-pane-content">
2441
+ <kendo-chart [transitions]="false">
2442
+ <kendo-chart-title
2443
+ [text]="stateService.state.title?.text"
2444
+ [font]="stateService.state.title?.font"
2445
+ [color]="stateService.state.title?.color"
2446
+ ></kendo-chart-title>
2447
+ <kendo-chart-subtitle
2448
+ [text]="stateService.state.subtitle?.text"
2449
+ [font]="stateService.state.subtitle?.font"
2450
+ [color]="stateService.state.subtitle?.color"
2451
+ ></kendo-chart-subtitle>
2452
+ <kendo-chart-area
2453
+ [background]="stateService.state.area?.background"
2454
+ [margin]="stateService.state.area?.margin"
2455
+ >
2456
+ </kendo-chart-area>
2457
+ <kendo-chart-category-axis *ngIf="stateService.state.categoryAxis">
2458
+ <kendo-chart-category-axis-item
2459
+ *ngFor="let axis of stateService.state.categoryAxis"
2460
+ [categories]="axis.categories"
2461
+ [title]="{
2462
+ text: axis.title?.text,
2463
+ font: axis.title?.font,
2464
+ color: axis.title?.color
2465
+ }"
2466
+ [labels]="{
2467
+ rotation: { angle: $any(axis.labels)?.rotation },
2468
+ font: axis.labels?.font,
2469
+ color: axis.labels?.color
2470
+ }"
2471
+ [reverse]="axis.reverse"
2472
+ >
2473
+ </kendo-chart-category-axis-item>
2474
+ <kendo-chart-value-axis *ngIf="stateService.state.valueAxis">
2475
+ <kendo-chart-value-axis-item
2476
+ *ngFor="let axis of stateService.state.valueAxis"
2477
+ [title]="{
2478
+ text: axis.title?.text,
2479
+ font: axis.title?.font,
2480
+ color: axis.title?.color
2481
+ }"
2482
+ [labels]="{
2483
+ rotation: { angle: $any(axis.labels)?.rotation },
2484
+ font: axis.labels?.font,
2485
+ color: axis.labels?.color
2486
+ }"
2487
+ >
2488
+ </kendo-chart-value-axis-item>
2489
+ </kendo-chart-value-axis>
2490
+ </kendo-chart-category-axis>
2491
+ <kendo-chart-series>
2492
+ <kendo-chart-series-item
2493
+ *ngFor="let series of stateService.state.series"
2494
+ [type]="series.type"
2495
+ [data]="series.data"
2496
+ [stack]="series.stack"
2497
+ [field]="series.field"
2498
+ [categoryField]="series.categoryField"
2499
+ [name]="series.name"
2500
+ [color]="series.color"
2501
+ [labels]="{ visible: series.labels?.visible }"
2502
+ [xField]="series.xField"
2503
+ [yField]="series.yField"
2504
+ >
2505
+ </kendo-chart-series-item>
2506
+ </kendo-chart-series>
2507
+ <kendo-chart-x-axis>
2508
+ <kendo-chart-x-axis-item
2509
+ *ngFor="let axis of stateService.state.categoryAxis"
2510
+ [categories]="axis.categories"
2511
+ [title]="{
2512
+ text: axis.title?.text,
2513
+ font: axis.title?.font,
2514
+ color: axis.title?.color
2515
+ }"
2516
+ [labels]="{
2517
+ rotation: { angle: $any(axis.labels)?.rotation },
2518
+ font: axis.labels?.font,
2519
+ color: axis.labels?.color
2520
+ }"
2521
+ [reverse]="axis.reverse"
2522
+ >
2523
+ </kendo-chart-x-axis-item>
2524
+ </kendo-chart-x-axis>
2525
+ <kendo-chart-y-axis>
2526
+ <kendo-chart-y-axis-item
2527
+ *ngFor="let axis of stateService.state.valueAxis"
2528
+ [title]="{
2529
+ text: axis.title?.text,
2530
+ font: axis.title?.font,
2531
+ color: axis.title?.color
2532
+ }"
2533
+ [labels]="{
2534
+ rotation: { angle: $any(axis.labels)?.rotation },
2535
+ font: axis.labels?.font,
2536
+ color: axis.labels?.color
2537
+ }"
2538
+ >
2539
+ </kendo-chart-y-axis-item>
2540
+ </kendo-chart-y-axis>
2541
+ <kendo-chart-legend
2542
+ [visible]="stateService.state.legend?.visible"
2543
+ [position]="stateService.state.legend?.position"
2544
+ [labels]="stateService.state.legend?.labels"
2545
+ >
2546
+ </kendo-chart-legend>
2547
+ </kendo-chart>
2548
+ </div>
2549
+ </kendo-splitter-pane>
2550
+ <kendo-splitter-pane class="k-chart-wizard-property-pane" [collapsible]="true" size="30%">
2551
+ <kendo-tabstrip [keepTabContent]="true">
2552
+ <kendo-tabstrip-tab title="Chart" [selected]="true">
2553
+ <ng-template kendoTabContent>
2554
+ <kendo-chart-wizard-property-pane-chart-tab>
2555
+ </kendo-chart-wizard-property-pane-chart-tab>
2556
+ </ng-template>
2557
+ </kendo-tabstrip-tab>
2558
+ <kendo-tabstrip-tab title="Data">
2559
+ <ng-template kendoTabContent>
2560
+ <kendo-chart-wizard-property-pane-data-tab> </kendo-chart-wizard-property-pane-data-tab>
2561
+ </ng-template>
2562
+ </kendo-tabstrip-tab>
2563
+ <kendo-tabstrip-tab title="Format">
2564
+ <ng-template kendoTabContent>
2565
+ <kendo-chart-wizard-property-pane-format-tab>
2566
+ </kendo-chart-wizard-property-pane-format-tab>
2567
+ </ng-template>
2568
+ </kendo-tabstrip-tab>
2569
+ </kendo-tabstrip>
2570
+ </kendo-splitter-pane>
2571
+ </kendo-splitter>
2572
+ <div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
2573
+ </kendo-window>
2574
+ `, isInline: true, dependencies: [{ kind: "component", type: WindowComponent, selector: "kendo-window", inputs: ["autoFocusedElement", "title", "draggable", "resizable", "themeColor", "keepContent", "state", "minWidth", "minHeight", "width", "height", "top", "left"], outputs: ["dragStart", "dragEnd", "resizeStart", "resizeEnd", "close", "widthChange", "heightChange", "topChange", "leftChange", "stateChange"], exportAs: ["kendoWindow"] }, { kind: "component", type: SplitterComponent, selector: "kendo-splitter", inputs: ["orientation", "splitbarWidth", "resizeStep"], outputs: ["layoutChange"], exportAs: ["kendoSplitter"] }, { kind: "component", type: SplitterPaneComponent, selector: "kendo-splitter-pane", inputs: ["order", "size", "separatorLabel", "min", "max", "resizable", "collapsible", "scrollable", "collapsed", "orientation", "containsSplitter", "overlayContent"], outputs: ["sizeChange", "collapsedChange"], exportAs: ["kendoSplitterPane"] }, { kind: "component", type: DropDownButtonComponent, selector: "kendo-dropdownbutton", inputs: ["arrowIcon", "icon", "svgIcon", "iconClass", "imageUrl", "textField", "data", "size", "rounded", "fillMode", "themeColor", "buttonAttributes"], outputs: ["itemClick", "focus", "blur"], exportAs: ["kendoDropDownButton"] }, { kind: "component", type: ChartComponent, selector: "kendo-chart", inputs: ["pannable", "renderAs", "seriesColors", "subtitle", "title", "transitions", "zoomable", "axisDefaults", "categoryAxis", "chartArea", "legend", "panes", "paneDefaults", "plotArea", "series", "seriesDefaults", "tooltip", "valueAxis", "xAxis", "yAxis", "resizeRateLimit", "popupSettings", "drilldownLevel"], outputs: ["axisLabelClick", "drag", "dragEnd", "dragStart", "legendItemHover", "legendItemLeave", "noteClick", "noteHover", "noteLeave", "paneRender", "plotAreaClick", "plotAreaHover", "plotAreaLeave", "render", "select", "selectEnd", "selectStart", "seriesClick", "drilldown", "seriesHover", "seriesOver", "seriesLeave", "zoom", "zoomEnd", "zoomStart", "legendItemClick", "drilldownLevelChange"], exportAs: ["kendoChart"] }, { kind: "component", type: TitleComponent, selector: "kendo-chart-title", inputs: ["align", "background", "border", "color", "font", "margin", "padding", "position", "text", "description", "visible"] }, { kind: "component", type: SubtitleComponent, selector: "kendo-chart-subtitle", inputs: ["align", "background", "border", "color", "font", "margin", "padding", "position", "text", "visible"] }, { kind: "component", type: ChartAreaComponent, selector: "kendo-chart-area", inputs: ["background", "border", "height", "margin", "opacity", "width"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CategoryAxisComponent, selector: "kendo-chart-category-axis" }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: CategoryAxisItemComponent, selector: "kendo-chart-category-axis-item", inputs: ["autoBaseUnitSteps", "axisCrossingValue", "background", "baseUnit", "baseUnitStep", "categories", "color", "justified", "line", "majorGridLines", "majorTicks", "max", "maxDateGroups", "maxDivisions", "min", "minorGridLines", "minorTicks", "name", "pane", "plotBands", "reverse", "roundToBaseUnit", "startAngle", "type", "visible", "weekStartDay", "crosshair", "labels", "notes", "select", "title", "rangeLabels"] }, { kind: "component", type: ValueAxisComponent, selector: "kendo-chart-value-axis" }, { kind: "component", type: ValueAxisItemComponent, selector: "kendo-chart-value-axis-item", inputs: ["axisCrossingValue", "background", "color", "line", "majorGridLines", "majorTicks", "majorUnit", "max", "min", "minorGridLines", "minorTicks", "minorUnit", "name", "narrowRange", "pane", "plotBands", "reverse", "type", "visible", "crosshair", "labels", "notes", "title"] }, { kind: "component", type: SeriesComponent, selector: "kendo-chart-series" }, { kind: "component", type: SeriesItemComponent, selector: "kendo-chart-series-item", inputs: ["aggregate", "autoFit", "axis", "border", "categoryAxis", "categoryField", "closeField", "color", "colorField", "connectors", "currentField", "dashType", "data", "downColor", "downColorField", "drilldownField", "dynamicHeight", "dynamicSlope", "errorHighField", "errorLowField", "explodeField", "field", "fromField", "gap", "highField", "holeSize", "line", "lowField", "lowerField", "margin", "maxSize", "mean", "meanField", "median", "medianField", "minSize", "missingValues", "name", "neckRatio", "negativeColor", "negativeValues", "noteTextField", "opacity", "openField", "outliersField", "overlay", "padding", "q1Field", "q3Field", "segmentSpacing", "size", "sizeField", "spacing", "stack", "startAngle", "style", "summaryField", "target", "toField", "type", "upperField", "visible", "visibleInLegend", "visibleInLegendField", "visual", "width", "whiskers", "xAxis", "xErrorHighField", "xErrorLowField", "xField", "yAxis", "yErrorHighField", "yErrorLowField", "yField", "zIndex", "trendline", "for", "legendItem", "errorBars", "extremes", "highlight", "labels", "markers", "notes", "outliers", "tooltip"] }, { kind: "component", type: XAxisComponent, selector: "kendo-chart-x-axis" }, { kind: "component", type: XAxisItemComponent, selector: "kendo-chart-x-axis-item", inputs: ["axisCrossingValue", "background", "baseUnit", "categories", "color", "line", "majorGridLines", "majorTicks", "majorUnit", "max", "min", "minorGridLines", "minorTicks", "minorUnit", "name", "narrowRange", "pane", "plotBands", "reverse", "startAngle", "type", "visible", "weekStartDay", "crosshair", "labels", "notes", "title"] }, { kind: "component", type: YAxisComponent, selector: "kendo-chart-y-axis" }, { kind: "component", type: YAxisItemComponent, selector: "kendo-chart-y-axis-item", inputs: ["axisCrossingValue", "background", "baseUnit", "categories", "color", "line", "majorGridLines", "majorTicks", "majorUnit", "max", "min", "minorGridLines", "minorTicks", "minorUnit", "name", "narrowRange", "pane", "plotBands", "reverse", "type", "visible", "crosshair", "labels", "notes", "title"] }, { kind: "component", type: LegendComponent, selector: "kendo-chart-legend", inputs: ["align", "background", "border", "height", "labels", "margin", "offsetX", "offsetY", "orientation", "padding", "position", "reverse", "visible", "width", "markers", "spacing", "inactiveItems", "item", "title"] }, { kind: "component", type: TabStripComponent, selector: "kendo-tabstrip", inputs: ["height", "animate", "tabAlignment", "tabPosition", "keepTabContent", "closable", "scrollable", "closeIcon", "closeIconClass", "closeSVGIcon", "showContentArea"], outputs: ["tabSelect", "tabClose", "tabScroll"], exportAs: ["kendoTabStrip"] }, { kind: "component", type: TabStripTabComponent, selector: "kendo-tabstrip-tab", inputs: ["title", "disabled", "cssClass", "cssStyle", "selected", "closable", "closeIcon", "closeIconClass", "closeSVGIcon"], exportAs: ["kendoTabStripTab"] }, { kind: "directive", type: TabContentDirective, selector: "[kendoTabContent]" }, { kind: "component", type: ChartWizardPropertyPaneChartTabComponent, selector: "kendo-chart-wizard-property-pane-chart-tab" }, { kind: "component", type: ChartWizardPropertyPaneFormatTabComponent, selector: "kendo-chart-wizard-property-pane-data-tab" }, { kind: "component", type: ChartWizardPropertyPaneDataTabComponent, selector: "kendo-chart-wizard-property-pane-format-tab" }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2575
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChartWizardComponent, decorators: [{
2576
+ type: Component,
2577
+ args: [{
2578
+ changeDetection: ChangeDetectionStrategy.OnPush,
2579
+ exportAs: 'kendoChartWizard',
2580
+ providers: [
2581
+ LocalizationService,
2582
+ {
2583
+ provide: L10N_PREFIX,
2584
+ useValue: 'kendo.chartwizard',
2585
+ },
2586
+ StateService
2587
+ ],
2588
+ selector: 'kendo-chart-wizard',
2589
+ template: `
2590
+ <ng-container
2591
+ kendoChartWizardLocalizedMessages
2592
+ i18n-sampleMessage="kendo.chartwizard.sampleMessage|Sample description"
2593
+ sampleMessage="foo"
2594
+ ></ng-container>
2595
+ <kendo-window
2596
+ class="k-chart-wizard"
2597
+ title="Chart Wizard"
2598
+ [width]="1000"
2599
+ [height]="700"
2600
+ [resizable]="true"
2601
+ (close)="close.emit()"
2602
+ >
2603
+ <kendo-splitter class="k-chart-wizard-splitter">
2604
+ <kendo-splitter-pane class="k-chart-wizard-preview-pane">
2605
+ <div class="k-preview-pane-header">
2606
+ <kendo-dropdownbutton
2607
+ [svgIcon]="exportIcon"
2608
+ [data]="exportDropdownItems"
2609
+ textField="text"
2610
+ fillMode="flat"
2611
+ (itemClick)="onExport($event)"
2612
+ >
2613
+ Export
2614
+ </kendo-dropdownbutton>
2615
+ </div>
2616
+ <div class="k-preview-pane-content">
2617
+ <kendo-chart [transitions]="false">
2618
+ <kendo-chart-title
2619
+ [text]="stateService.state.title?.text"
2620
+ [font]="stateService.state.title?.font"
2621
+ [color]="stateService.state.title?.color"
2622
+ ></kendo-chart-title>
2623
+ <kendo-chart-subtitle
2624
+ [text]="stateService.state.subtitle?.text"
2625
+ [font]="stateService.state.subtitle?.font"
2626
+ [color]="stateService.state.subtitle?.color"
2627
+ ></kendo-chart-subtitle>
2628
+ <kendo-chart-area
2629
+ [background]="stateService.state.area?.background"
2630
+ [margin]="stateService.state.area?.margin"
2631
+ >
2632
+ </kendo-chart-area>
2633
+ <kendo-chart-category-axis *ngIf="stateService.state.categoryAxis">
2634
+ <kendo-chart-category-axis-item
2635
+ *ngFor="let axis of stateService.state.categoryAxis"
2636
+ [categories]="axis.categories"
2637
+ [title]="{
2638
+ text: axis.title?.text,
2639
+ font: axis.title?.font,
2640
+ color: axis.title?.color
2641
+ }"
2642
+ [labels]="{
2643
+ rotation: { angle: $any(axis.labels)?.rotation },
2644
+ font: axis.labels?.font,
2645
+ color: axis.labels?.color
2646
+ }"
2647
+ [reverse]="axis.reverse"
2648
+ >
2649
+ </kendo-chart-category-axis-item>
2650
+ <kendo-chart-value-axis *ngIf="stateService.state.valueAxis">
2651
+ <kendo-chart-value-axis-item
2652
+ *ngFor="let axis of stateService.state.valueAxis"
2653
+ [title]="{
2654
+ text: axis.title?.text,
2655
+ font: axis.title?.font,
2656
+ color: axis.title?.color
2657
+ }"
2658
+ [labels]="{
2659
+ rotation: { angle: $any(axis.labels)?.rotation },
2660
+ font: axis.labels?.font,
2661
+ color: axis.labels?.color
2662
+ }"
2663
+ >
2664
+ </kendo-chart-value-axis-item>
2665
+ </kendo-chart-value-axis>
2666
+ </kendo-chart-category-axis>
2667
+ <kendo-chart-series>
2668
+ <kendo-chart-series-item
2669
+ *ngFor="let series of stateService.state.series"
2670
+ [type]="series.type"
2671
+ [data]="series.data"
2672
+ [stack]="series.stack"
2673
+ [field]="series.field"
2674
+ [categoryField]="series.categoryField"
2675
+ [name]="series.name"
2676
+ [color]="series.color"
2677
+ [labels]="{ visible: series.labels?.visible }"
2678
+ [xField]="series.xField"
2679
+ [yField]="series.yField"
2680
+ >
2681
+ </kendo-chart-series-item>
2682
+ </kendo-chart-series>
2683
+ <kendo-chart-x-axis>
2684
+ <kendo-chart-x-axis-item
2685
+ *ngFor="let axis of stateService.state.categoryAxis"
2686
+ [categories]="axis.categories"
2687
+ [title]="{
2688
+ text: axis.title?.text,
2689
+ font: axis.title?.font,
2690
+ color: axis.title?.color
2691
+ }"
2692
+ [labels]="{
2693
+ rotation: { angle: $any(axis.labels)?.rotation },
2694
+ font: axis.labels?.font,
2695
+ color: axis.labels?.color
2696
+ }"
2697
+ [reverse]="axis.reverse"
2698
+ >
2699
+ </kendo-chart-x-axis-item>
2700
+ </kendo-chart-x-axis>
2701
+ <kendo-chart-y-axis>
2702
+ <kendo-chart-y-axis-item
2703
+ *ngFor="let axis of stateService.state.valueAxis"
2704
+ [title]="{
2705
+ text: axis.title?.text,
2706
+ font: axis.title?.font,
2707
+ color: axis.title?.color
2708
+ }"
2709
+ [labels]="{
2710
+ rotation: { angle: $any(axis.labels)?.rotation },
2711
+ font: axis.labels?.font,
2712
+ color: axis.labels?.color
2713
+ }"
2714
+ >
2715
+ </kendo-chart-y-axis-item>
2716
+ </kendo-chart-y-axis>
2717
+ <kendo-chart-legend
2718
+ [visible]="stateService.state.legend?.visible"
2719
+ [position]="stateService.state.legend?.position"
2720
+ [labels]="stateService.state.legend?.labels"
2721
+ >
2722
+ </kendo-chart-legend>
2723
+ </kendo-chart>
2724
+ </div>
2725
+ </kendo-splitter-pane>
2726
+ <kendo-splitter-pane class="k-chart-wizard-property-pane" [collapsible]="true" size="30%">
2727
+ <kendo-tabstrip [keepTabContent]="true">
2728
+ <kendo-tabstrip-tab title="Chart" [selected]="true">
2729
+ <ng-template kendoTabContent>
2730
+ <kendo-chart-wizard-property-pane-chart-tab>
2731
+ </kendo-chart-wizard-property-pane-chart-tab>
2732
+ </ng-template>
2733
+ </kendo-tabstrip-tab>
2734
+ <kendo-tabstrip-tab title="Data">
2735
+ <ng-template kendoTabContent>
2736
+ <kendo-chart-wizard-property-pane-data-tab> </kendo-chart-wizard-property-pane-data-tab>
2737
+ </ng-template>
2738
+ </kendo-tabstrip-tab>
2739
+ <kendo-tabstrip-tab title="Format">
2740
+ <ng-template kendoTabContent>
2741
+ <kendo-chart-wizard-property-pane-format-tab>
2742
+ </kendo-chart-wizard-property-pane-format-tab>
2743
+ </ng-template>
2744
+ </kendo-tabstrip-tab>
2745
+ </kendo-tabstrip>
2746
+ </kendo-splitter-pane>
2747
+ </kendo-splitter>
2748
+ <div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
2749
+ </kendo-window>
2750
+ `,
2751
+ standalone: true,
2752
+ imports: [
2753
+ WindowComponent,
2754
+ SplitterComponent,
2755
+ SplitterPaneComponent,
2756
+ DropDownButtonComponent,
2757
+ ChartComponent,
2758
+ TitleComponent,
2759
+ SubtitleComponent,
2760
+ ChartAreaComponent,
2761
+ NgIf,
2762
+ CategoryAxisComponent,
2763
+ NgFor,
2764
+ CategoryAxisItemComponent,
2765
+ ValueAxisComponent,
2766
+ ValueAxisItemComponent,
2767
+ SeriesComponent,
2768
+ SeriesItemComponent,
2769
+ XAxisComponent,
2770
+ XAxisItemComponent,
2771
+ YAxisComponent,
2772
+ YAxisItemComponent,
2773
+ LegendComponent,
2774
+ TabStripComponent,
2775
+ TabStripTabComponent,
2776
+ TabContentDirective,
2777
+ ChartWizardPropertyPaneChartTabComponent,
2778
+ ChartWizardPropertyPaneFormatTabComponent,
2779
+ ChartWizardPropertyPaneDataTabComponent,
2780
+ WatermarkOverlayComponent
2781
+ ]
2782
+ }]
2783
+ }], ctorParameters: function () { return [{ type: i2.LocalizationService }, { type: StateService }]; }, propDecorators: { data: [{
2784
+ type: Input
2785
+ }], defaultState: [{
2786
+ type: Input
2787
+ }], exportOptions: [{
2788
+ type: Input
2789
+ }], close: [{
2790
+ type: Output
2791
+ }], export: [{
2792
+ type: Output
2793
+ }], dir: [{
2794
+ type: HostBinding,
2795
+ args: ['attr.dir']
2796
+ }], chart: [{
2797
+ type: ViewChild,
2798
+ args: [ChartComponent]
2799
+ }], propertyPane: [{
2800
+ type: ViewChild,
2801
+ args: [ChartWizardPropertyPaneChartTabComponent]
2802
+ }] } });
2803
+
2804
+ // TODO: Extract to kendo-charts
2805
+ /**
2806
+ * Maps data rows to the Chart Wizard data format.
2807
+ *
2808
+ * @returns collection that can be used as Chart Wizard.
2809
+ */
2810
+ function getWizardDataFromDataRows(dataRows) {
2811
+ const result = [];
2812
+ dataRows.forEach(item => {
2813
+ const { dataItem, dataColumns } = item;
2814
+ const row = [];
2815
+ dataColumns.forEach(column => {
2816
+ row.push({
2817
+ field: column.title || column.field,
2818
+ value: getter(column.field)(dataItem)
2819
+ });
2820
+ });
2821
+ result.push(row);
2822
+ });
2823
+ return result;
2824
+ }
2825
+ // End: Extract to kendo-charts
2826
+
2827
+ /**
2828
+ * Maps the Grid selectedKeys to a more general DataRows type to be displayed in the Chart Wizard.
2829
+ *
2830
+ * The selectedKeys can be either row keys or cell keys.
2831
+ *
2832
+ * @returns DataRow array that can be passed to getWizardDataFromDataRows in order to bind the Chart Wizard.
2833
+ */
2834
+ function getGridSelectedRows(args) {
2835
+ const { grid, data, selectedKeys, selectionKey, columnKey } = args;
2836
+ const columns = [...grid.leafColumns];
2837
+ const allColumns = columns.map((column) => ({ field: column.field, title: column.title }));
2838
+ const selectedColumns = new Map();
2839
+ let getItemByKey;
2840
+ if (selectionKey) {
2841
+ const idGetter = getter(selectionKey);
2842
+ const dataMap = new Map(data.map((item) => [idGetter(item), item]));
2843
+ getItemByKey = itemKey => dataMap.get(itemKey);
2844
+ }
2845
+ else {
2846
+ getItemByKey = itemIndex => data[itemIndex];
2847
+ }
2848
+ let getColumnByColumnKey = key => columns[key];
2849
+ if (typeof columnKey === "function") {
2850
+ const columnMap = new Map(columns.map((col, colIndex) => [columnKey(col, colIndex), col]));
2851
+ getColumnByColumnKey = key => columnMap.get(key);
2852
+ }
2853
+ selectedKeys.forEach(item => {
2854
+ if (isPresent(item.columnKey)) {
2855
+ const itemColumns = selectedColumns.get(item.itemKey) || [];
2856
+ const column = getColumnByColumnKey(item.columnKey);
2857
+ itemColumns.push({ field: column.field, title: column.title });
2858
+ selectedColumns.set(item.itemKey, itemColumns);
2859
+ }
2860
+ else {
2861
+ selectedColumns.set(item, allColumns);
2862
+ }
2863
+ });
2864
+ return [...selectedColumns.entries()].map(([itemKey, dataColumns]) => ({
2865
+ dataItem: getItemByKey(itemKey),
2866
+ dataColumns
2867
+ }));
2868
+ }
2869
+
2870
+ /**
2871
+ * Maps the Grid selectedKeys to data to be displayed in the Chart Wizard.
2872
+ *
2873
+ * Supports both row and cell selection.
2874
+ * @returns collection that can be used as Chart Wizard.
2875
+ */
2876
+ const getWizardDataFromGridSelection = (args) => getWizardDataFromDataRows(getGridSelectedRows(args));
2877
+
2878
+ /**
2879
+ * A directive which binds the Chart Wizard from the selection state of the Grid
2880
+ * ([see example](slug:integration_with_chart).
2881
+ */
2882
+ class ChartWizardGridBindingDirective {
2883
+ constructor(grid) {
2884
+ this.grid = grid;
2885
+ /**
2886
+ * Defines the collection that will store the Chart Wizard data.
2887
+ *
2888
+ * @default []
2889
+ */
2890
+ this.chartWizardData = [];
2891
+ /**
2892
+ * Fires when the `chartWizardData` collection has been updated.
2893
+ */
2894
+ this.chartWizardDataChange = new EventEmitter();
2895
+ }
2896
+ ngOnInit() {
2897
+ if (!this.selectionKey || !this.data) {
2898
+ throw new Error('The [kendoChartWizardGridBinding] directive requires that [kendoGridBinding] and [kendoGridSelectBy] are set. ' +
2899
+ 'See the Grid documentation for an example on how to use the Chart Wizard without the directive.');
2900
+ }
2901
+ if (typeof this.selectionKey === 'function') {
2902
+ throw new Error('The [kendoChartWizardGridBinding] directive supports only strings as [kendoGridSelectBy] selection key.');
2903
+ }
2904
+ }
2905
+ onSelectionChange(selectedKeys) {
2906
+ this.chartWizardData = getWizardDataFromGridSelection({
2907
+ grid: this.grid,
2908
+ data: this.data,
2909
+ selectedKeys,
2910
+ selectionKey: this.selectionKey
2911
+ });
2912
+ this.chartWizardDataChange.emit(this.chartWizardData);
2913
+ }
2914
+ }
2915
+ ChartWizardGridBindingDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChartWizardGridBindingDirective, deps: [{ token: GridComponent }], target: i0.ɵɵFactoryTarget.Directive });
2916
+ ChartWizardGridBindingDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: ChartWizardGridBindingDirective, isStandalone: true, selector: "[kendoChartWizardGridBinding]", inputs: { chartWizardData: "chartWizardData", data: ["kendoGridBinding", "data"], selectionKey: ["kendoGridSelectBy", "selectionKey"], columnKey: "columnKey" }, outputs: { chartWizardDataChange: "chartWizardDataChange" }, host: { listeners: { "selectedKeysChange": "onSelectionChange($event)" } }, exportAs: ["kendoChartWizardGridBinding"], ngImport: i0 });
2917
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChartWizardGridBindingDirective, decorators: [{
2918
+ type: Directive,
2919
+ args: [{
2920
+ selector: '[kendoChartWizardGridBinding]',
2921
+ exportAs: 'kendoChartWizardGridBinding',
2922
+ standalone: true
2923
+ }]
2924
+ }], ctorParameters: function () {
2925
+ return [{ type: i1.GridComponent, decorators: [{
2926
+ type: Inject,
2927
+ args: [GridComponent]
2928
+ }] }];
2929
+ }, propDecorators: { chartWizardData: [{
2930
+ type: Input
2931
+ }], chartWizardDataChange: [{
2932
+ type: Output
2933
+ }], data: [{
2934
+ type: Input,
2935
+ args: ['kendoGridBinding']
2936
+ }], selectionKey: [{
2937
+ type: Input,
2938
+ args: ['kendoGridSelectBy']
2939
+ }], columnKey: [{
2940
+ type: Input
2941
+ }], onSelectionChange: [{
2942
+ type: HostListener,
2943
+ args: ['selectedKeysChange', ['$event']]
2944
+ }] } });
2945
+
2946
+ /**
2947
+ * Utility array that contains all `@progress/kendo-angular-chart-wizard` related components and directives.
2948
+ */
2949
+ const KENDO_CHARTWIZARD = [
2950
+ ChartWizardComponent,
2951
+ ChartWizardGridBindingDirective
2952
+ ];
2953
+
2954
+ //IMPORTANT: NgModule export kept for backwards compatibility
2955
+ /**
2956
+ * A [module](link:site.data.urls.angular['ngmoduleapi']) that includes the Chart Wizard component and directives.
2957
+ *
2958
+ * Imports the ChartWizardModule into your application
2959
+ * [root module](link:site.data.urls.angular['ngmodules']#angular-modularity) or any other sub-module
2960
+ * that will use the Chart Wizard component.
2961
+ */
2962
+ class ChartWizardModule {
2963
+ }
2964
+ ChartWizardModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChartWizardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2965
+ ChartWizardModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: ChartWizardModule, imports: [ChartWizardComponent, ChartWizardGridBindingDirective], exports: [ChartWizardComponent, ChartWizardGridBindingDirective] });
2966
+ ChartWizardModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChartWizardModule, providers: [
2967
+ ThemeService,
2968
+ PopupService,
2969
+ ResizeBatchService,
2970
+ IconsService,
2971
+ DialogContainerService,
2972
+ DialogService,
2973
+ WindowService,
2974
+ WindowContainerService
2975
+ ], imports: [ChartWizardComponent] });
2976
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChartWizardModule, decorators: [{
2977
+ type: NgModule,
2978
+ args: [{
2979
+ imports: [...KENDO_CHARTWIZARD],
2980
+ exports: [...KENDO_CHARTWIZARD],
2981
+ providers: [
2982
+ ThemeService,
2983
+ PopupService,
2984
+ ResizeBatchService,
2985
+ IconsService,
2986
+ DialogContainerService,
2987
+ DialogService,
2988
+ WindowService,
2989
+ WindowContainerService
2990
+ ]
2991
+ }]
2992
+ }] });
2993
+
2994
+ /**
2995
+ * Generated bundle index. Do not edit.
2996
+ */
2997
+
2998
+ export { ChartWizardComponent, ChartWizardGridBindingDirective, ChartWizardModule, ExportEvent, KENDO_CHARTWIZARD, getGridSelectedRows, getWizardDataFromDataRows, getWizardDataFromGridSelection };
2999
+