@progress/kendo-angular-layout 21.2.0-develop.6 → 21.2.0-develop.8

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.
@@ -10,7 +10,7 @@ export const packageMetadata = {
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCode: 'KENDOUIANGULAR',
12
12
  productCodes: ['KENDOUIANGULAR'],
13
- publishDate: 1764320070,
14
- version: '21.2.0-develop.6',
13
+ publishDate: 1764338628,
14
+ version: '21.2.0-develop.8',
15
15
  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'
16
16
  };
@@ -0,0 +1,5 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2025 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ export {};
@@ -140,13 +140,7 @@ export class TimelineHorizontalComponent {
140
140
  }
141
141
  this.trackItems.push(event);
142
142
  });
143
- this.visibleEvents = this.trackItems
144
- .slice(this.firstCircleInView, this.firstCircleInView + this.visibleTabsCount)
145
- .filter(event => !event.isFlag);
146
- this.selectedEvent = this.events[0];
147
- this.cdr.detectChanges();
148
- this.calloutStyle = this.calloutOffset;
149
- this.focusTrackItem(0);
143
+ this.navigateToFirstInterval();
150
144
  }
151
145
  }
152
146
  }
@@ -40,7 +40,8 @@ export class TimelineComponent {
40
40
  this.originalData = events;
41
41
  this._events = processItems(this.originalData, this.modelFields);
42
42
  this._events.sort((a, b) => {
43
- return a.date.getTime() - b.date.getTime();
43
+ const order = this.eventsOrder === 'asc' ? 1 : -1;
44
+ return order * (a.date.getTime() - b.date.getTime());
44
45
  });
45
46
  if (this._events.length > 0) {
46
47
  let flag = this._events[0].date.getFullYear() - 1;
@@ -105,6 +106,26 @@ export class TimelineComponent {
105
106
  * @default true
106
107
  */
107
108
  animation;
109
+ /**
110
+ * Specifies the order of the Timeline events.
111
+ * `asc` - chronological order
112
+ * `desc` - reverse-chronological order
113
+ *
114
+ * @default 'asc'
115
+ */
116
+ set eventsOrder(order) {
117
+ if (order === this._eventsOrder) {
118
+ return;
119
+ }
120
+ this._eventsOrder = order;
121
+ this._events = [...this._events].sort((a, b) => {
122
+ const sortOrder = order === 'asc' ? 1 : -1;
123
+ return sortOrder * (a.date.getTime() - b.date.getTime());
124
+ });
125
+ }
126
+ get eventsOrder() {
127
+ return this._eventsOrder;
128
+ }
108
129
  /**
109
130
  * Sets a specific width for the event.
110
131
  * This setting is supported only in `vertical` mode.
@@ -232,6 +253,7 @@ export class TimelineComponent {
232
253
  _eventHeight = DEFAULT_EVENT_HEIGHT;
233
254
  _dateFormat = DEFAULT_DATE_FORMAT;
234
255
  originalData = [];
256
+ _eventsOrder = 'asc';
235
257
  subscriptions = new Subscription();
236
258
  constructor(timelineService) {
237
259
  this.timelineService = timelineService;
@@ -293,7 +315,7 @@ export class TimelineComponent {
293
315
  }));
294
316
  }
295
317
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TimelineComponent, deps: [{ token: i1.TimelineService }], target: i0.ɵɵFactoryTarget.Component });
296
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TimelineComponent, isStandalone: true, selector: "kendo-timeline", inputs: { events: "events", modelFields: "modelFields", orientation: "orientation", alterMode: "alterMode", collapsibleEvents: "collapsibleEvents", navigable: "navigable", showDateLabels: "showDateLabels", animation: "animation", eventWidth: "eventWidth", eventHeight: "eventHeight", dateFormat: "dateFormat" }, outputs: { onToggle: "onToggle", onActionClick: "onActionClick", onNavigate: "onNavigate" }, host: { properties: { "class.k-timeline": "this.hostClass", "class.k-timeline-vertical": "this.verticalClass", "class.k-timeline-horizontal": "this.horizontalClass", "class.k-timeline-alternating": "this.alternatingClass", "class.k-timeline-collapsible": "this.collapsibleClass" } }, providers: [
318
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TimelineComponent, isStandalone: true, selector: "kendo-timeline", inputs: { events: "events", modelFields: "modelFields", orientation: "orientation", alterMode: "alterMode", collapsibleEvents: "collapsibleEvents", navigable: "navigable", showDateLabels: "showDateLabels", animation: "animation", eventsOrder: "eventsOrder", eventWidth: "eventWidth", eventHeight: "eventHeight", dateFormat: "dateFormat" }, outputs: { onToggle: "onToggle", onActionClick: "onActionClick", onNavigate: "onNavigate" }, host: { properties: { "class.k-timeline": "this.hostClass", "class.k-timeline-vertical": "this.verticalClass", "class.k-timeline-horizontal": "this.horizontalClass", "class.k-timeline-alternating": "this.alternatingClass", "class.k-timeline-collapsible": "this.collapsibleClass" } }, providers: [
297
319
  TimelineService,
298
320
  LocalizationService,
299
321
  {
@@ -419,6 +441,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
419
441
  type: Input
420
442
  }], animation: [{
421
443
  type: Input
444
+ }], eventsOrder: [{
445
+ type: Input
422
446
  }], eventWidth: [{
423
447
  type: Input
424
448
  }], eventHeight: [{
@@ -29,8 +29,8 @@ const packageMetadata = {
29
29
  productName: 'Kendo UI for Angular',
30
30
  productCode: 'KENDOUIANGULAR',
31
31
  productCodes: ['KENDOUIANGULAR'],
32
- publishDate: 1764320070,
33
- version: '21.2.0-develop.6',
32
+ publishDate: 1764338628,
33
+ version: '21.2.0-develop.8',
34
34
  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'
35
35
  };
36
36
 
@@ -12342,13 +12342,7 @@ class TimelineHorizontalComponent {
12342
12342
  }
12343
12343
  this.trackItems.push(event);
12344
12344
  });
12345
- this.visibleEvents = this.trackItems
12346
- .slice(this.firstCircleInView, this.firstCircleInView + this.visibleTabsCount)
12347
- .filter(event => !event.isFlag);
12348
- this.selectedEvent = this.events[0];
12349
- this.cdr.detectChanges();
12350
- this.calloutStyle = this.calloutOffset;
12351
- this.focusTrackItem(0);
12345
+ this.navigateToFirstInterval();
12352
12346
  }
12353
12347
  }
12354
12348
  }
@@ -13232,7 +13226,8 @@ class TimelineComponent {
13232
13226
  this.originalData = events;
13233
13227
  this._events = processItems(this.originalData, this.modelFields);
13234
13228
  this._events.sort((a, b) => {
13235
- return a.date.getTime() - b.date.getTime();
13229
+ const order = this.eventsOrder === 'asc' ? 1 : -1;
13230
+ return order * (a.date.getTime() - b.date.getTime());
13236
13231
  });
13237
13232
  if (this._events.length > 0) {
13238
13233
  let flag = this._events[0].date.getFullYear() - 1;
@@ -13297,6 +13292,26 @@ class TimelineComponent {
13297
13292
  * @default true
13298
13293
  */
13299
13294
  animation;
13295
+ /**
13296
+ * Specifies the order of the Timeline events.
13297
+ * `asc` - chronological order
13298
+ * `desc` - reverse-chronological order
13299
+ *
13300
+ * @default 'asc'
13301
+ */
13302
+ set eventsOrder(order) {
13303
+ if (order === this._eventsOrder) {
13304
+ return;
13305
+ }
13306
+ this._eventsOrder = order;
13307
+ this._events = [...this._events].sort((a, b) => {
13308
+ const sortOrder = order === 'asc' ? 1 : -1;
13309
+ return sortOrder * (a.date.getTime() - b.date.getTime());
13310
+ });
13311
+ }
13312
+ get eventsOrder() {
13313
+ return this._eventsOrder;
13314
+ }
13300
13315
  /**
13301
13316
  * Sets a specific width for the event.
13302
13317
  * This setting is supported only in `vertical` mode.
@@ -13424,6 +13439,7 @@ class TimelineComponent {
13424
13439
  _eventHeight = DEFAULT_EVENT_HEIGHT;
13425
13440
  _dateFormat = DEFAULT_DATE_FORMAT;
13426
13441
  originalData = [];
13442
+ _eventsOrder = 'asc';
13427
13443
  subscriptions = new Subscription();
13428
13444
  constructor(timelineService) {
13429
13445
  this.timelineService = timelineService;
@@ -13485,7 +13501,7 @@ class TimelineComponent {
13485
13501
  }));
13486
13502
  }
13487
13503
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TimelineComponent, deps: [{ token: TimelineService }], target: i0.ɵɵFactoryTarget.Component });
13488
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TimelineComponent, isStandalone: true, selector: "kendo-timeline", inputs: { events: "events", modelFields: "modelFields", orientation: "orientation", alterMode: "alterMode", collapsibleEvents: "collapsibleEvents", navigable: "navigable", showDateLabels: "showDateLabels", animation: "animation", eventWidth: "eventWidth", eventHeight: "eventHeight", dateFormat: "dateFormat" }, outputs: { onToggle: "onToggle", onActionClick: "onActionClick", onNavigate: "onNavigate" }, host: { properties: { "class.k-timeline": "this.hostClass", "class.k-timeline-vertical": "this.verticalClass", "class.k-timeline-horizontal": "this.horizontalClass", "class.k-timeline-alternating": "this.alternatingClass", "class.k-timeline-collapsible": "this.collapsibleClass" } }, providers: [
13504
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TimelineComponent, isStandalone: true, selector: "kendo-timeline", inputs: { events: "events", modelFields: "modelFields", orientation: "orientation", alterMode: "alterMode", collapsibleEvents: "collapsibleEvents", navigable: "navigable", showDateLabels: "showDateLabels", animation: "animation", eventsOrder: "eventsOrder", eventWidth: "eventWidth", eventHeight: "eventHeight", dateFormat: "dateFormat" }, outputs: { onToggle: "onToggle", onActionClick: "onActionClick", onNavigate: "onNavigate" }, host: { properties: { "class.k-timeline": "this.hostClass", "class.k-timeline-vertical": "this.verticalClass", "class.k-timeline-horizontal": "this.horizontalClass", "class.k-timeline-alternating": "this.alternatingClass", "class.k-timeline-collapsible": "this.collapsibleClass" } }, providers: [
13489
13505
  TimelineService,
13490
13506
  LocalizationService,
13491
13507
  {
@@ -13611,6 +13627,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
13611
13627
  type: Input
13612
13628
  }], animation: [{
13613
13629
  type: Input
13630
+ }], eventsOrder: [{
13631
+ type: Input
13614
13632
  }], eventWidth: [{
13615
13633
  type: Input
13616
13634
  }], eventHeight: [{
package/index.d.ts CHANGED
@@ -92,6 +92,7 @@ export { TimelineModelFields } from './timeline/models/model-fields';
92
92
  export { TimelineEvent } from './timeline/models/timeline-event';
93
93
  export { AnchorTarget } from './timeline/models/anchor-target';
94
94
  export { NavigationDirection } from './timeline/events/navigation-direction';
95
+ export { TimelineEventsOrder } from './timeline/models/events-order';
95
96
  export { TimelineCardHeaderTemplateDirective } from "./timeline/templates/timeline-card-header.directive";
96
97
  export { TimelineCardBodyTemplateDirective } from "./timeline/templates/timeline-card-body.directive";
97
98
  export { TimelineCardActionsTemplateDirective } from "./timeline/templates/timeline-card-actions.directive";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-layout",
3
- "version": "21.2.0-develop.6",
3
+ "version": "21.2.0-develop.8",
4
4
  "description": "Kendo UI for Angular Layout Package - a collection of components to create professional application layoyts",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "Progress",
@@ -50,7 +50,7 @@
50
50
  "package": {
51
51
  "productName": "Kendo UI for Angular",
52
52
  "productCode": "KENDOUIANGULAR",
53
- "publishDate": 1764320070,
53
+ "publishDate": 1764338628,
54
54
  "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"
55
55
  }
56
56
  },
@@ -60,17 +60,17 @@
60
60
  "@angular/core": "18 - 21",
61
61
  "@angular/platform-browser": "18 - 21",
62
62
  "@progress/kendo-licensing": "^1.7.0",
63
- "@progress/kendo-angular-common": "21.2.0-develop.6",
64
- "@progress/kendo-angular-l10n": "21.2.0-develop.6",
65
- "@progress/kendo-angular-progressbar": "21.2.0-develop.6",
66
- "@progress/kendo-angular-icons": "21.2.0-develop.6",
67
- "@progress/kendo-angular-buttons": "21.2.0-develop.6",
68
- "@progress/kendo-angular-intl": "21.2.0-develop.6",
63
+ "@progress/kendo-angular-common": "21.2.0-develop.8",
64
+ "@progress/kendo-angular-l10n": "21.2.0-develop.8",
65
+ "@progress/kendo-angular-progressbar": "21.2.0-develop.8",
66
+ "@progress/kendo-angular-icons": "21.2.0-develop.8",
67
+ "@progress/kendo-angular-buttons": "21.2.0-develop.8",
68
+ "@progress/kendo-angular-intl": "21.2.0-develop.8",
69
69
  "rxjs": "^6.5.3 || ^7.0.0"
70
70
  },
71
71
  "dependencies": {
72
72
  "tslib": "^2.3.1",
73
- "@progress/kendo-angular-schematics": "21.2.0-develop.6",
73
+ "@progress/kendo-angular-schematics": "21.2.0-develop.8",
74
74
  "@progress/kendo-draggable": "^3.0.2"
75
75
  },
76
76
  "schematics": "./schematics/collection.json",
@@ -0,0 +1,10 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2025 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ /**
6
+ * Specifies the order of the Timeline events.
7
+ * `asc` - chronological order
8
+ * `desc` - reverse-chronological order
9
+ */
10
+ export type TimelineEventsOrder = 'asc' | 'desc';
@@ -12,6 +12,7 @@ import { NavigationDirection } from './events/navigation-direction';
12
12
  import { TimelineCardBodyTemplateDirective } from './templates/timeline-card-body.directive';
13
13
  import { TimelineCardHeaderTemplateDirective } from './templates/timeline-card-header.directive';
14
14
  import { TimelineCardActionsTemplateDirective } from './templates/timeline-card-actions.directive';
15
+ import { TimelineEventsOrder } from './models/events-order';
15
16
  import * as i0 from "@angular/core";
16
17
  /**
17
18
  * Represents the [Kendo UI Timeline component for Angular]({% slug overview_timeline %}).
@@ -69,6 +70,15 @@ export declare class TimelineComponent implements AfterContentInit, OnDestroy {
69
70
  * @default true
70
71
  */
71
72
  animation: boolean | number;
73
+ /**
74
+ * Specifies the order of the Timeline events.
75
+ * `asc` - chronological order
76
+ * `desc` - reverse-chronological order
77
+ *
78
+ * @default 'asc'
79
+ */
80
+ set eventsOrder(order: TimelineEventsOrder);
81
+ get eventsOrder(): TimelineEventsOrder;
72
82
  /**
73
83
  * Sets a specific width for the event.
74
84
  * This setting is supported only in `vertical` mode.
@@ -153,6 +163,7 @@ export declare class TimelineComponent implements AfterContentInit, OnDestroy {
153
163
  private _eventHeight;
154
164
  private _dateFormat;
155
165
  private originalData;
166
+ private _eventsOrder;
156
167
  private subscriptions;
157
168
  constructor(timelineService: TimelineService);
158
169
  ngAfterContentInit(): void;
@@ -184,5 +195,5 @@ export declare class TimelineComponent implements AfterContentInit, OnDestroy {
184
195
  collapse(index: number): void;
185
196
  private initTemplates;
186
197
  static ɵfac: i0.ɵɵFactoryDeclaration<TimelineComponent, never>;
187
- static ɵcmp: i0.ɵɵComponentDeclaration<TimelineComponent, "kendo-timeline", ["kendoTimeline"], { "events": { "alias": "events"; "required": false; }; "modelFields": { "alias": "modelFields"; "required": false; }; "orientation": { "alias": "orientation"; "required": false; }; "alterMode": { "alias": "alterMode"; "required": false; }; "collapsibleEvents": { "alias": "collapsibleEvents"; "required": false; }; "navigable": { "alias": "navigable"; "required": false; }; "showDateLabels": { "alias": "showDateLabels"; "required": false; }; "animation": { "alias": "animation"; "required": false; }; "eventWidth": { "alias": "eventWidth"; "required": false; }; "eventHeight": { "alias": "eventHeight"; "required": false; }; "dateFormat": { "alias": "dateFormat"; "required": false; }; }, { "onToggle": "onToggle"; "onActionClick": "onActionClick"; "onNavigate": "onNavigate"; }, ["cardHeaderTemplate", "cardBodyTemplate", "cardActionsTemplate"], never, true, never>;
198
+ static ɵcmp: i0.ɵɵComponentDeclaration<TimelineComponent, "kendo-timeline", ["kendoTimeline"], { "events": { "alias": "events"; "required": false; }; "modelFields": { "alias": "modelFields"; "required": false; }; "orientation": { "alias": "orientation"; "required": false; }; "alterMode": { "alias": "alterMode"; "required": false; }; "collapsibleEvents": { "alias": "collapsibleEvents"; "required": false; }; "navigable": { "alias": "navigable"; "required": false; }; "showDateLabels": { "alias": "showDateLabels"; "required": false; }; "animation": { "alias": "animation"; "required": false; }; "eventsOrder": { "alias": "eventsOrder"; "required": false; }; "eventWidth": { "alias": "eventWidth"; "required": false; }; "eventHeight": { "alias": "eventHeight"; "required": false; }; "dateFormat": { "alias": "dateFormat"; "required": false; }; }, { "onToggle": "onToggle"; "onActionClick": "onActionClick"; "onNavigate": "onNavigate"; }, ["cardHeaderTemplate", "cardBodyTemplate", "cardActionsTemplate"], never, true, never>;
188
199
  }