@progress/kendo-angular-layout 6.5.2-dev.202203111452 → 6.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/dist/cdn/js/kendo-angular-layout.js +2 -2
  2. package/dist/cdn/main.js +1 -1
  3. package/dist/es/main.js +1 -0
  4. package/dist/es/package-metadata.js +1 -1
  5. package/dist/es/panelbar/events/collapse-event.js +17 -0
  6. package/dist/es/panelbar/events/expand-event.js +17 -0
  7. package/dist/es/panelbar/events/select-event.js +17 -0
  8. package/dist/es/panelbar/events.js +7 -0
  9. package/dist/es/panelbar/panelbar-item.component.js +1 -1
  10. package/dist/es/panelbar/panelbar.component.js +120 -30
  11. package/dist/es2015/index.metadata.json +1 -1
  12. package/dist/es2015/main.d.ts +1 -0
  13. package/dist/es2015/main.js +1 -0
  14. package/dist/es2015/package-metadata.js +1 -1
  15. package/dist/es2015/panelbar/events/collapse-event.d.ts +15 -0
  16. package/dist/es2015/panelbar/events/collapse-event.js +10 -0
  17. package/dist/es2015/panelbar/events/expand-event.d.ts +15 -0
  18. package/dist/es2015/panelbar/events/expand-event.js +10 -0
  19. package/dist/es2015/panelbar/events/select-event.d.ts +15 -0
  20. package/dist/es2015/panelbar/events/select-event.js +10 -0
  21. package/dist/es2015/panelbar/events.d.ts +7 -0
  22. package/dist/es2015/panelbar/events.js +7 -0
  23. package/dist/es2015/panelbar/panelbar-item.component.js +16 -1
  24. package/dist/es2015/panelbar/panelbar.component.d.ts +23 -0
  25. package/dist/es2015/panelbar/panelbar.component.js +132 -40
  26. package/dist/fesm2015/index.js +198 -74
  27. package/dist/fesm5/index.js +187 -65
  28. package/dist/npm/main.js +1 -0
  29. package/dist/npm/package-metadata.js +1 -1
  30. package/dist/npm/panelbar/events/collapse-event.js +19 -0
  31. package/dist/npm/panelbar/events/expand-event.js +19 -0
  32. package/dist/npm/panelbar/events/select-event.js +19 -0
  33. package/dist/npm/panelbar/events.js +12 -0
  34. package/dist/npm/panelbar/panelbar-item.component.js +1 -1
  35. package/dist/npm/panelbar/panelbar.component.js +120 -30
  36. package/dist/systemjs/kendo-angular-layout.js +1 -1
  37. package/package.json +1 -1
package/dist/es/main.js CHANGED
@@ -8,6 +8,7 @@ export { PanelBarContentDirective } from './panelbar/panelbar-content.directive'
8
8
  export { PanelBarItemTemplateDirective } from './panelbar/panelbar-item-template.directive';
9
9
  export { PanelBarItemTitleDirective } from './panelbar/panelbar-item-title.directive';
10
10
  export { PanelBarExpandMode } from './panelbar/panelbar-expand-mode';
11
+ export * from './panelbar/events';
11
12
  export { SplitterComponent } from './splitter/splitter.component';
12
13
  export { SplitterPaneComponent } from './splitter/splitter-pane.component';
13
14
  export { TabStripComponent } from './tabstrip/tabstrip.component';
@@ -9,7 +9,7 @@ export var packageMetadata = {
9
9
  name: '@progress/kendo-angular-layout',
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
12
- publishDate: 1647010257,
12
+ publishDate: 1649340417,
13
13
  version: '',
14
14
  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'
15
15
  };
@@ -0,0 +1,17 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2021 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 tslib_1 from "tslib";
6
+ import { PreventableEvent } from '../../common/preventable-event';
7
+ /**
8
+ * Arguments for the `collapse` event of the PanelBar.
9
+ */
10
+ var PanelBarCollapseEvent = /** @class */ (function (_super) {
11
+ tslib_1.__extends(PanelBarCollapseEvent, _super);
12
+ function PanelBarCollapseEvent() {
13
+ return _super !== null && _super.apply(this, arguments) || this;
14
+ }
15
+ return PanelBarCollapseEvent;
16
+ }(PreventableEvent));
17
+ export { PanelBarCollapseEvent };
@@ -0,0 +1,17 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2021 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 tslib_1 from "tslib";
6
+ import { PreventableEvent } from '../../common/preventable-event';
7
+ /**
8
+ * Arguments for the `expand` event of the PanelBar.
9
+ */
10
+ var PanelBarExpandEvent = /** @class */ (function (_super) {
11
+ tslib_1.__extends(PanelBarExpandEvent, _super);
12
+ function PanelBarExpandEvent() {
13
+ return _super !== null && _super.apply(this, arguments) || this;
14
+ }
15
+ return PanelBarExpandEvent;
16
+ }(PreventableEvent));
17
+ export { PanelBarExpandEvent };
@@ -0,0 +1,17 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2021 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 tslib_1 from "tslib";
6
+ import { PreventableEvent } from '../../common/preventable-event';
7
+ /**
8
+ * Arguments for the `select` event of the PanelBar.
9
+ */
10
+ var PanelBarSelectEvent = /** @class */ (function (_super) {
11
+ tslib_1.__extends(PanelBarSelectEvent, _super);
12
+ function PanelBarSelectEvent() {
13
+ return _super !== null && _super.apply(this, arguments) || this;
14
+ }
15
+ return PanelBarSelectEvent;
16
+ }(PreventableEvent));
17
+ export { PanelBarSelectEvent };
@@ -0,0 +1,7 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ export { PanelBarCollapseEvent } from './events/collapse-event';
6
+ export { PanelBarExpandEvent } from './events/expand-event';
7
+ export { PanelBarSelectEvent } from './events/select-event';
@@ -442,7 +442,7 @@ var PanelBarItemComponent = /** @class */ (function () {
442
442
  ],
443
443
  exportAs: 'kendoPanelbarItem',
444
444
  selector: "kendo-panelbar-item",
445
- template: "\n <span\n #header\n [class.k-link]=\"true\"\n [class.k-state-selected]=\"!disabled && selected\"\n [class.k-state-focused]=\"focused && wrapperFocused\"\n (click)=\"onItemClick($event)\">\n <span\n *ngIf=\"icon || iconClass\"\n class=\"k-icon k-panelbar-item-icon\"\n [ngClass]=\"iconClasses\">\n </span>\n <img\n *ngIf=\"imageUrl\"\n class=\"k-image k-panelbar-item-icon\"\n [src]=\"imageUrl\"\n alt=\"\">\n <ng-container *ngIf=\"!titleTemplate\"><span class=\"k-panelbar-item-text\">{{title}}</span></ng-container>\n <ng-template *ngIf=\"titleTemplate\" [ngTemplateOutlet]=\"titleTemplate\"></ng-template>\n <span *ngIf=\"hasChildItems || hasContent\"\n class=\"k-icon k-panelbar-toggle\"\n [ngClass]=\"{'k-i-arrow-chevron-up k-panelbar-collapse': expanded, 'k-i-arrow-chevron-down k-panelbar-expand': !expanded}\">\n </span>\n </span>\n <div #contentWrapper\n *ngIf=\"keepContent || (!disabled && expanded && (hasChildItems || hasContent))\"\n [@toggle]=\"state\"\n [attr.role]=\"'group'\"\n [attr.aria-hidden]=\"!disabled && !expanded\">\n <div\n *ngIf=\"hasChildItems && !items?.length\"\n [style.overflow]=\"contentOverflow\"\n [style.height]=\"contentHeight\"\n class=\"k-panel k-group k-panelbar-group\">\n <ng-content select=\"kendo-panelbar-item\"></ng-content>\n </div>\n <div\n *ngIf=\"hasContent && !content\"\n [style.overflow]=\"contentOverflow\"\n [style.height]=\"contentHeight\"\n class=\"k-content k-panelbar-content\">\n <ng-template\n [ngTemplateOutlet]=\"contentTemplate.first.templateRef\"\n [ngTemplateOutletContext]=\"{\n $implicit: {\n title: title,\n id: id,\n icon: icon,\n imageUrl: imageUrl,\n disabled: disabled,\n content: content\n }\n }\">\n </ng-template>\n </div>\n <div *ngIf=\"hasItems\"\n [style.overflow]=\"contentOverflow\"\n [style.height]=\"contentHeight\"\n class=\"k-panel k-group k-panelbar-group\">\n <ng-container *ngFor=\"let item of items\">\n <kendo-panelbar-item *ngIf=\"!item.hidden\"\n [title]=\"item.title\"\n [id]=\"item.id\"\n [icon]=\"item.icon\"\n [iconClass]=\"item.iconClass\"\n [imageUrl]=\"item.imageUrl\"\n [selected]=\"!!item.selected\"\n [expanded]=\"!!item.expanded\"\n [disabled]=\"!!item.disabled\"\n [template]=\"template\"\n [items]=\"item.children\"\n [content]=\"item.content\">\n </kendo-panelbar-item>\n </ng-container>\n </div>\n <div\n *ngIf=\"content\"\n [style.overflow]=\"contentOverflow\"\n [style.height]=\"contentHeight\"\n class=\"k-content k-panelbar-content\">\n <ng-template\n [ngTemplateOutlet]=\"template\"\n [ngTemplateOutletContext]=\"{\n $implicit: {\n title: title,\n id: id,\n icon: icon,\n imageUrl: imageUrl,\n disabled: disabled,\n content: content\n }\n }\">\n </ng-template>\n <ng-template [ngIf]=\"!template\">{{content}}</ng-template>\n </div>\n </div>"
445
+ template: "\n <span\n #header\n [class.k-link]=\"true\"\n [class.k-state-selected]=\"!disabled && selected\"\n [class.k-state-focused]=\"focused && wrapperFocused\"\n (click)=\"onItemClick($event)\">\n <span\n *ngIf=\"icon || iconClass\"\n class=\"k-icon k-panelbar-item-icon\"\n [ngClass]=\"iconClasses\">\n </span>\n <img\n *ngIf=\"imageUrl\"\n class=\"k-image k-panelbar-item-icon\"\n [src]=\"imageUrl\"\n alt=\"\">\n <ng-container *ngIf=\"!titleTemplate\"><span class=\"k-panelbar-item-text\">{{title}}</span></ng-container>\n <ng-template *ngIf=\"titleTemplate\"\n [ngTemplateOutlet]=\"titleTemplate\"\n [ngTemplateOutletContext]=\"{\n item: {\n title: title,\n id: id,\n icon: icon,\n iconClass: iconClass,\n imageUrl: imageUrl,\n selected: selected,\n expanded: expanded,\n disabled: disabled,\n focused: focused,\n content: content\n }\n }\"></ng-template>\n <span *ngIf=\"hasChildItems || hasContent\"\n class=\"k-icon k-panelbar-toggle\"\n [ngClass]=\"{'k-i-arrow-chevron-up k-panelbar-collapse': expanded, 'k-i-arrow-chevron-down k-panelbar-expand': !expanded}\">\n </span>\n </span>\n <div #contentWrapper\n *ngIf=\"keepContent || (!disabled && expanded && (hasChildItems || hasContent))\"\n [@toggle]=\"state\"\n [attr.role]=\"'group'\"\n [attr.aria-hidden]=\"!disabled && !expanded\">\n <div\n *ngIf=\"hasChildItems && !items?.length\"\n [style.overflow]=\"contentOverflow\"\n [style.height]=\"contentHeight\"\n class=\"k-panel k-group k-panelbar-group\">\n <ng-content select=\"kendo-panelbar-item\"></ng-content>\n </div>\n <div\n *ngIf=\"hasContent && !content\"\n [style.overflow]=\"contentOverflow\"\n [style.height]=\"contentHeight\"\n class=\"k-content k-panelbar-content\">\n <ng-template\n [ngTemplateOutlet]=\"contentTemplate.first.templateRef\"\n [ngTemplateOutletContext]=\"{\n $implicit: {\n title: title,\n id: id,\n icon: icon,\n imageUrl: imageUrl,\n disabled: disabled,\n content: content\n }\n }\">\n </ng-template>\n </div>\n <div *ngIf=\"hasItems\"\n [style.overflow]=\"contentOverflow\"\n [style.height]=\"contentHeight\"\n class=\"k-panel k-group k-panelbar-group\">\n <ng-container *ngFor=\"let item of items\">\n <kendo-panelbar-item *ngIf=\"!item.hidden\"\n [title]=\"item.title\"\n [id]=\"item.id\"\n [icon]=\"item.icon\"\n [iconClass]=\"item.iconClass\"\n [imageUrl]=\"item.imageUrl\"\n [selected]=\"!!item.selected\"\n [expanded]=\"!!item.expanded\"\n [disabled]=\"!!item.disabled\"\n [template]=\"template\"\n [items]=\"item.children\"\n [content]=\"item.content\">\n </kendo-panelbar-item>\n </ng-container>\n </div>\n <div\n *ngIf=\"content\"\n [style.overflow]=\"contentOverflow\"\n [style.height]=\"contentHeight\"\n class=\"k-content k-panelbar-content\">\n <ng-template\n [ngTemplateOutlet]=\"template\"\n [ngTemplateOutletContext]=\"{\n $implicit: {\n title: title,\n id: id,\n icon: icon,\n imageUrl: imageUrl,\n disabled: disabled,\n content: content\n }\n }\">\n </ng-template>\n <ng-template [ngIf]=\"!template\">{{content}}</ng-template>\n </div>\n </div>"
446
446
  }),
447
447
  tslib_1.__param(0, SkipSelf()), tslib_1.__param(0, Host()), tslib_1.__param(0, Optional()),
448
448
  tslib_1.__metadata("design:paramtypes", [PanelBarItemComponent,
@@ -14,6 +14,7 @@ import { PanelBarService } from "./panelbar.service";
14
14
  import { PanelBarItemTemplateDirective } from "./panelbar-item-template.directive";
15
15
  import util from "../common/util";
16
16
  import { isFocusable } from './../common/dom-queries';
17
+ import { PanelBarSelectEvent, PanelBarExpandEvent, PanelBarCollapseEvent } from './events';
17
18
  /**
18
19
  * Represents the [Kendo UI PanelBar component for Angular]({% slug overview_panelbar %}).
19
20
  */
@@ -44,17 +45,35 @@ var PanelBarComponent = /** @class */ (function () {
44
45
  * Sets the height of the component when the `"full"` expand mode is used.
45
46
  * This option is ignored in the `"multiple"` and `"single"` expand modes.
46
47
  */
47
- this.height = "400px";
48
+ this.height = '400px';
48
49
  /**
49
50
  * Fires each time the user interacts with a PanelBar item
50
51
  * ([see example]({% slug routing_panelbar %}#toc-getting-the-selected-item)).
51
52
  * The event data contains all items that are modified.
52
53
  */
53
54
  this.stateChange = new EventEmitter();
55
+ /**
56
+ * Fires when an item is about to be selected.
57
+ * ([see example]({% slug events_panelbar %}))
58
+ * This event is preventable. If you cancel it, the item will not be selected.
59
+ */
60
+ this.select = new EventEmitter();
61
+ /**
62
+ * Fires when an item is about to be expanded.
63
+ * ([see example]({% slug events_panelbar %}))
64
+ * This event is preventable. If you cancel it, the item will remain collapsed.
65
+ */
66
+ this.expand = new EventEmitter();
67
+ /**
68
+ * Fires when an item is about to be collapsed.
69
+ * ([see example]({% slug events_panelbar %}))
70
+ * This event is preventable. If you cancel it, the item will remain expanded.
71
+ */
72
+ this.collapse = new EventEmitter();
54
73
  this.tabIndex = 0;
55
- this.role = "tree";
74
+ this.role = 'tree';
56
75
  this.hostClass = true;
57
- this.activeDescendant = "";
76
+ this.activeDescendant = '';
58
77
  this.isViewInit = true;
59
78
  this.focused = false;
60
79
  this._keepItemContent = false;
@@ -66,7 +85,7 @@ var PanelBarComponent = /** @class */ (function () {
66
85
  childrenHeight += item.headerHeight();
67
86
  });
68
87
  _this.childrenItems.forEach(function (item) {
69
- item.contentHeight = PanelBarExpandMode.Full === _this.expandMode ? (panelbarHeight - childrenHeight) + "px" : 'auto';
88
+ item.contentHeight = PanelBarExpandMode.Full === _this.expandMode ? (panelbarHeight - childrenHeight) + 'px' : 'auto';
70
89
  item.contentOverflow = contentOverflow;
71
90
  });
72
91
  };
@@ -118,7 +137,7 @@ var PanelBarComponent = /** @class */ (function () {
118
137
  });
119
138
  Object.defineProperty(PanelBarComponent.prototype, "overflow", {
120
139
  get: function () {
121
- return this.expandMode === PanelBarExpandMode.Full ? "hidden" : "visible";
140
+ return this.expandMode === PanelBarExpandMode.Full ? 'hidden' : 'visible';
122
141
  },
123
142
  enumerable: true,
124
143
  configurable: true
@@ -185,7 +204,7 @@ var PanelBarComponent = /** @class */ (function () {
185
204
  this.validateConfiguration();
186
205
  };
187
206
  PanelBarComponent.prototype.ngOnChanges = function (changes) {
188
- if (changes['height'] || changes['expandMode'] || changes["items"]) { // tslint:disable-line
207
+ if (changes['height'] || changes['expandMode'] || changes['items']) { // tslint:disable-line
189
208
  if (this.childrenItems) {
190
209
  setTimeout(this.updateChildrenHeight);
191
210
  }
@@ -236,7 +255,7 @@ var PanelBarComponent = /** @class */ (function () {
236
255
  PanelBarComponent.prototype.onComponentBlur = function () {
237
256
  this.eventService.onBlur();
238
257
  this.focused = false;
239
- this.activeDescendant = "";
258
+ this.activeDescendant = '';
240
259
  };
241
260
  /**
242
261
  * @hidden
@@ -255,6 +274,26 @@ var PanelBarComponent = /** @class */ (function () {
255
274
  }
256
275
  }
257
276
  };
277
+ /**
278
+ * @hidden
279
+ */
280
+ PanelBarComponent.prototype.emitEvent = function (event, item) {
281
+ var eventArgs;
282
+ switch (event) {
283
+ case 'select':
284
+ eventArgs = new PanelBarSelectEvent();
285
+ break;
286
+ case 'collapse':
287
+ eventArgs = new PanelBarCollapseEvent();
288
+ break;
289
+ default:
290
+ eventArgs = new PanelBarExpandEvent();
291
+ break;
292
+ }
293
+ eventArgs.item = item.serialize();
294
+ this[event].emit(eventArgs);
295
+ return eventArgs;
296
+ };
258
297
  Object.defineProperty(PanelBarComponent.prototype, "viewItems", {
259
298
  get: function () {
260
299
  var treeItems = [];
@@ -270,7 +309,7 @@ var PanelBarComponent = /** @class */ (function () {
270
309
  PanelBarComponent.prototype.validateConfiguration = function () {
271
310
  if (isDevMode()) {
272
311
  if (this.items && (this.contentItems && this.contentItems.length > 0)) {
273
- throw new Error("Invalid configuration: mixed template components and items property.");
312
+ throw new Error('Invalid configuration: mixed template components and items property.');
274
313
  }
275
314
  }
276
315
  };
@@ -286,30 +325,69 @@ var PanelBarComponent = /** @class */ (function () {
286
325
  var focusedState = selectedState;
287
326
  selectedState = _this.selectable ? selectedState : currentItem.selected;
288
327
  if (currentItem.selected !== selectedState || currentItem.focused !== focusedState) {
289
- currentItem.selected = selectedState;
290
- currentItem.focused = focusedState;
291
- _this.activeDescendant = focusedState ? currentItem.itemId : "";
292
- modifiedItems.push(currentItem);
328
+ var isSelectPrevented = selectedState ? _this.emitEvent('select', currentItem).isDefaultPrevented() : false;
329
+ if (!isSelectPrevented) {
330
+ currentItem.selected = selectedState;
331
+ currentItem.focused = focusedState;
332
+ _this.activeDescendant = focusedState ? currentItem.itemId : '';
333
+ modifiedItems.push(currentItem);
334
+ }
293
335
  }
294
336
  });
295
337
  if (this.expandMode === PanelBarExpandMode.Multiple) {
296
- if (item.hasChildItems || item.hasContent) {
297
- item.expanded = !item.expanded;
298
- }
299
- if (modifiedItems.indexOf(item) < 0) {
300
- modifiedItems.push(item);
338
+ if ((item.hasChildItems || item.hasContent) && item.selected) {
339
+ var isEventPrevented = item.expanded ?
340
+ this.emitEvent('collapse', item).isDefaultPrevented() :
341
+ this.emitEvent('expand', item).isDefaultPrevented();
342
+ if (!isEventPrevented) {
343
+ item.expanded = !item.expanded;
344
+ if (modifiedItems.indexOf(item) < 0) {
345
+ modifiedItems.push(item);
346
+ }
347
+ }
301
348
  }
302
349
  }
303
350
  else {
304
351
  var siblings = item.parent ? item.parent.childrenItems : this.childrenItems;
305
- if (item.hasChildItems || item.hasContent) {
352
+ var preventedCollapseItem_1;
353
+ var expandedItems_1 = [];
354
+ if ((item.hasChildItems || item.hasContent) && item.selected) {
306
355
  siblings
307
356
  .forEach(function (currentItem) {
308
357
  var expandedState = currentItem === item;
309
358
  if (currentItem.expanded !== expandedState) {
310
- currentItem.expanded = expandedState;
311
- if (modifiedItems.indexOf(currentItem) < 0) {
312
- modifiedItems.push(currentItem);
359
+ var isEventPrevented = currentItem.expanded ?
360
+ _this.emitEvent('collapse', currentItem).isDefaultPrevented() :
361
+ _this.emitEvent('expand', currentItem).isDefaultPrevented();
362
+ if (!isEventPrevented) {
363
+ currentItem.expanded = expandedState;
364
+ if (currentItem.expanded) {
365
+ expandedItems_1.push(currentItem);
366
+ }
367
+ if (modifiedItems.indexOf(currentItem) < 0) {
368
+ modifiedItems.push(currentItem);
369
+ }
370
+ }
371
+ else if (isEventPrevented && currentItem.expanded) {
372
+ preventedCollapseItem_1 = currentItem;
373
+ }
374
+ }
375
+ else if (currentItem.expanded === expandedState && expandedState) {
376
+ var isCollapsePrevented = _this.emitEvent('collapse', currentItem).isDefaultPrevented();
377
+ if (!isCollapsePrevented) {
378
+ currentItem.expanded = !currentItem.expanded;
379
+ if (modifiedItems.indexOf(currentItem) < 0) {
380
+ modifiedItems.push(currentItem);
381
+ }
382
+ }
383
+ }
384
+ });
385
+ expandedItems_1.forEach(function (item) {
386
+ if (preventedCollapseItem_1 && item.id !== preventedCollapseItem_1.id) {
387
+ item.expanded = false;
388
+ if (isDevMode()) {
389
+ var expandMode = PanelBarExpandMode[_this.expandMode].toLowerCase();
390
+ console.warn("\n The " + expandMode + " expandMode allows the expansion of only one item at a time.\n See https://www.telerik.com/kendo-angular-ui-develop/components/layout/panelbar/expand-modes/");
313
391
  }
314
392
  }
315
393
  });
@@ -342,16 +420,16 @@ var PanelBarComponent = /** @class */ (function () {
342
420
  currentIndex = visibleItems.findIndex(function (item) { return item === currentItem; });
343
421
  }
344
422
  switch (action) {
345
- case "lastItem":
423
+ case 'lastItem':
346
424
  nextItem = visibleItems[visibleItems.length - 1];
347
425
  break;
348
- case "firstItem":
426
+ case 'firstItem':
349
427
  nextItem = visibleItems[0];
350
428
  break;
351
- case "nextItem":
429
+ case 'nextItem':
352
430
  nextItem = visibleItems[currentIndex < visibleItems.length - 1 ? currentIndex + 1 : 0];
353
431
  break;
354
- case "previousItem":
432
+ case 'previousItem':
355
433
  nextItem = visibleItems[currentIndex > 0 ? currentIndex - 1 : visibleItems.length - 1];
356
434
  break;
357
435
  default:
@@ -368,16 +446,16 @@ var PanelBarComponent = /** @class */ (function () {
368
446
  this.stateChange.emit(modifiedItems);
369
447
  };
370
448
  PanelBarComponent.prototype.focusLastItem = function () {
371
- this.focusItem("lastItem");
449
+ this.focusItem('lastItem');
372
450
  };
373
451
  PanelBarComponent.prototype.focusFirstItem = function () {
374
- this.focusItem("firstItem");
452
+ this.focusItem('firstItem');
375
453
  };
376
454
  PanelBarComponent.prototype.focusNextItem = function () {
377
- this.focusItem("nextItem");
455
+ this.focusItem('nextItem');
378
456
  };
379
457
  PanelBarComponent.prototype.focusPreviousItem = function () {
380
- this.focusItem("previousItem");
458
+ this.focusItem('previousItem');
381
459
  };
382
460
  PanelBarComponent.prototype.expandItem = function () {
383
461
  var currentItem = this.allItems.filter(function (item) { return item.focused; })[0];
@@ -461,6 +539,18 @@ var PanelBarComponent = /** @class */ (function () {
461
539
  Output(),
462
540
  tslib_1.__metadata("design:type", EventEmitter)
463
541
  ], PanelBarComponent.prototype, "stateChange", void 0);
542
+ tslib_1.__decorate([
543
+ Output(),
544
+ tslib_1.__metadata("design:type", EventEmitter)
545
+ ], PanelBarComponent.prototype, "select", void 0);
546
+ tslib_1.__decorate([
547
+ Output(),
548
+ tslib_1.__metadata("design:type", EventEmitter)
549
+ ], PanelBarComponent.prototype, "expand", void 0);
550
+ tslib_1.__decorate([
551
+ Output(),
552
+ tslib_1.__metadata("design:type", EventEmitter)
553
+ ], PanelBarComponent.prototype, "collapse", void 0);
464
554
  tslib_1.__decorate([
465
555
  HostBinding('attr.tabIndex'),
466
556
  tslib_1.__metadata("design:type", Number)
@@ -544,7 +634,7 @@ var PanelBarComponent = /** @class */ (function () {
544
634
  }
545
635
  ],
546
636
  selector: 'kendo-panelbar',
547
- template: "\n <ng-content *ngIf=\"contentChildItems && !items\" select=\"kendo-panelbar-item\"></ng-content>\n <ng-template [ngIf]=\"items?.length\">\n <ng-container *ngFor=\"let item of items\">\n <kendo-panelbar-item *ngIf=\"!item.hidden\"\n [title]=\"item.title\"\n [id]=\"item.id\"\n [icon]=\"item.icon\"\n [iconClass]=\"item.iconClass\"\n [imageUrl]=\"item.imageUrl\"\n [selected]=\"!!item.selected\"\n [expanded]=\"!!item.expanded\"\n [disabled]=\"!!item.disabled\"\n [template]=\"templateRef\"\n [items]=\"item.children\"\n [content]=\"item.content\"\n >\n </kendo-panelbar-item>\n </ng-container>\n </ng-template>\n "
637
+ template: "\n <ng-content *ngIf=\"contentChildItems && !items\" select=\"kendo-panelbar-item\"></ng-content>\n <ng-template [ngIf]=\"items?.length\">\n <ng-container *ngFor=\"let item of items\">\n <kendo-panelbar-item *ngIf=\"!item.hidden\"\n [title]=\"item.title\"\n [id]=\"item.id\"\n [icon]=\"item.icon\"\n [iconClass]=\"item.iconClass\"\n [imageUrl]=\"item.imageUrl\"\n [selected]=\"!!item.selected\"\n [expanded]=\"!!item.expanded\"\n [disabled]=\"!!item.disabled\"\n [template]=\"templateRef\"\n [items]=\"item.children\"\n [content]=\"item.content\"\n >\n </kendo-panelbar-item>\n </ng-container>\n </ng-template>\n "
548
638
  })
549
639
  // TODO: add styles as input prop
550
640
  ,