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

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
@@ -21,7 +21,7 @@ var packageMetadata = {
21
21
  name: '@progress/kendo-angular-layout',
22
22
  productName: 'Kendo UI for Angular',
23
23
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
24
- publishDate: 1647343533,
24
+ publishDate: 1649334013,
25
25
  version: '',
26
26
  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'
27
27
  };
@@ -707,7 +707,7 @@ var PanelBarItemComponent = /** @class */ (function () {
707
707
  ],
708
708
  exportAs: 'kendoPanelbarItem',
709
709
  selector: "kendo-panelbar-item",
710
- 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>"
710
+ 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>"
711
711
  }),
712
712
  __param(0, SkipSelf()), __param(0, Host()), __param(0, Optional()),
713
713
  __metadata("design:paramtypes", [PanelBarItemComponent,
@@ -735,6 +735,71 @@ var PanelBarItemTemplateDirective = /** @class */ (function () {
735
735
  return PanelBarItemTemplateDirective;
736
736
  }());
737
737
 
738
+ /**
739
+ * @hidden
740
+ */
741
+ var PreventableEvent$1 = /** @class */ (function () {
742
+ /**
743
+ * @hidden
744
+ */
745
+ function PreventableEvent$$1(args) {
746
+ this.prevented = false;
747
+ Object.assign(this, args);
748
+ }
749
+ /**
750
+ * Prevents the default action for a specified event.
751
+ * In this way, the source component suppresses
752
+ * the built-in behavior that follows the event.
753
+ */
754
+ PreventableEvent$$1.prototype.preventDefault = function () {
755
+ this.prevented = true;
756
+ };
757
+ /**
758
+ * Returns `true` if the event was prevented
759
+ * by any of its subscribers.
760
+ *
761
+ * @returns `true` if the default action was prevented.
762
+ * Otherwise, returns `false`.
763
+ */
764
+ PreventableEvent$$1.prototype.isDefaultPrevented = function () {
765
+ return this.prevented;
766
+ };
767
+ return PreventableEvent$$1;
768
+ }());
769
+
770
+ /**
771
+ * Arguments for the `collapse` event of the PanelBar.
772
+ */
773
+ var PanelBarCollapseEvent = /** @class */ (function (_super) {
774
+ __extends(PanelBarCollapseEvent, _super);
775
+ function PanelBarCollapseEvent() {
776
+ return _super !== null && _super.apply(this, arguments) || this;
777
+ }
778
+ return PanelBarCollapseEvent;
779
+ }(PreventableEvent$1));
780
+
781
+ /**
782
+ * Arguments for the `expand` event of the PanelBar.
783
+ */
784
+ var PanelBarExpandEvent = /** @class */ (function (_super) {
785
+ __extends(PanelBarExpandEvent, _super);
786
+ function PanelBarExpandEvent() {
787
+ return _super !== null && _super.apply(this, arguments) || this;
788
+ }
789
+ return PanelBarExpandEvent;
790
+ }(PreventableEvent$1));
791
+
792
+ /**
793
+ * Arguments for the `select` event of the PanelBar.
794
+ */
795
+ var PanelBarSelectEvent = /** @class */ (function (_super) {
796
+ __extends(PanelBarSelectEvent, _super);
797
+ function PanelBarSelectEvent() {
798
+ return _super !== null && _super.apply(this, arguments) || this;
799
+ }
800
+ return PanelBarSelectEvent;
801
+ }(PreventableEvent$1));
802
+
738
803
  /**
739
804
  * Represents the [Kendo UI PanelBar component for Angular]({% slug overview_panelbar %}).
740
805
  */
@@ -765,17 +830,35 @@ var PanelBarComponent = /** @class */ (function () {
765
830
  * Sets the height of the component when the `"full"` expand mode is used.
766
831
  * This option is ignored in the `"multiple"` and `"single"` expand modes.
767
832
  */
768
- this.height = "400px";
833
+ this.height = '400px';
769
834
  /**
770
835
  * Fires each time the user interacts with a PanelBar item
771
836
  * ([see example]({% slug routing_panelbar %}#toc-getting-the-selected-item)).
772
837
  * The event data contains all items that are modified.
773
838
  */
774
839
  this.stateChange = new EventEmitter();
840
+ /**
841
+ * Fires when an item is about to be selected.
842
+ * ([see example]({% slug events_panelbar %}))
843
+ * This event is preventable. If you cancel it, the item will not be selected.
844
+ */
845
+ this.select = new EventEmitter();
846
+ /**
847
+ * Fires when an item is about to be expanded.
848
+ * ([see example]({% slug events_panelbar %}))
849
+ * This event is preventable. If you cancel it, the item will remain collapsed.
850
+ */
851
+ this.expand = new EventEmitter();
852
+ /**
853
+ * Fires when an item is about to be collapsed.
854
+ * ([see example]({% slug events_panelbar %}))
855
+ * This event is preventable. If you cancel it, the item will remain expanded.
856
+ */
857
+ this.collapse = new EventEmitter();
775
858
  this.tabIndex = 0;
776
- this.role = "tree";
859
+ this.role = 'tree';
777
860
  this.hostClass = true;
778
- this.activeDescendant = "";
861
+ this.activeDescendant = '';
779
862
  this.isViewInit = true;
780
863
  this.focused = false;
781
864
  this._keepItemContent = false;
@@ -787,7 +870,7 @@ var PanelBarComponent = /** @class */ (function () {
787
870
  childrenHeight += item.headerHeight();
788
871
  });
789
872
  _this.childrenItems.forEach(function (item) {
790
- item.contentHeight = PanelBarExpandMode.Full === _this.expandMode ? (panelbarHeight - childrenHeight) + "px" : 'auto';
873
+ item.contentHeight = PanelBarExpandMode.Full === _this.expandMode ? (panelbarHeight - childrenHeight) + 'px' : 'auto';
791
874
  item.contentOverflow = contentOverflow;
792
875
  });
793
876
  };
@@ -839,7 +922,7 @@ var PanelBarComponent = /** @class */ (function () {
839
922
  });
840
923
  Object.defineProperty(PanelBarComponent.prototype, "overflow", {
841
924
  get: function () {
842
- return this.expandMode === PanelBarExpandMode.Full ? "hidden" : "visible";
925
+ return this.expandMode === PanelBarExpandMode.Full ? 'hidden' : 'visible';
843
926
  },
844
927
  enumerable: true,
845
928
  configurable: true
@@ -906,7 +989,7 @@ var PanelBarComponent = /** @class */ (function () {
906
989
  this.validateConfiguration();
907
990
  };
908
991
  PanelBarComponent.prototype.ngOnChanges = function (changes) {
909
- if (changes['height'] || changes['expandMode'] || changes["items"]) { // tslint:disable-line
992
+ if (changes['height'] || changes['expandMode'] || changes['items']) { // tslint:disable-line
910
993
  if (this.childrenItems) {
911
994
  setTimeout(this.updateChildrenHeight);
912
995
  }
@@ -957,7 +1040,7 @@ var PanelBarComponent = /** @class */ (function () {
957
1040
  PanelBarComponent.prototype.onComponentBlur = function () {
958
1041
  this.eventService.onBlur();
959
1042
  this.focused = false;
960
- this.activeDescendant = "";
1043
+ this.activeDescendant = '';
961
1044
  };
962
1045
  /**
963
1046
  * @hidden
@@ -976,6 +1059,26 @@ var PanelBarComponent = /** @class */ (function () {
976
1059
  }
977
1060
  }
978
1061
  };
1062
+ /**
1063
+ * @hidden
1064
+ */
1065
+ PanelBarComponent.prototype.emitEvent = function (event, item) {
1066
+ var eventArgs;
1067
+ switch (event) {
1068
+ case 'select':
1069
+ eventArgs = new PanelBarSelectEvent();
1070
+ break;
1071
+ case 'collapse':
1072
+ eventArgs = new PanelBarCollapseEvent();
1073
+ break;
1074
+ default:
1075
+ eventArgs = new PanelBarExpandEvent();
1076
+ break;
1077
+ }
1078
+ eventArgs.item = item.serialize();
1079
+ this[event].emit(eventArgs);
1080
+ return eventArgs;
1081
+ };
979
1082
  Object.defineProperty(PanelBarComponent.prototype, "viewItems", {
980
1083
  get: function () {
981
1084
  var treeItems = [];
@@ -991,7 +1094,7 @@ var PanelBarComponent = /** @class */ (function () {
991
1094
  PanelBarComponent.prototype.validateConfiguration = function () {
992
1095
  if (isDevMode()) {
993
1096
  if (this.items && (this.contentItems && this.contentItems.length > 0)) {
994
- throw new Error("Invalid configuration: mixed template components and items property.");
1097
+ throw new Error('Invalid configuration: mixed template components and items property.');
995
1098
  }
996
1099
  }
997
1100
  };
@@ -1007,30 +1110,69 @@ var PanelBarComponent = /** @class */ (function () {
1007
1110
  var focusedState = selectedState;
1008
1111
  selectedState = _this.selectable ? selectedState : currentItem.selected;
1009
1112
  if (currentItem.selected !== selectedState || currentItem.focused !== focusedState) {
1010
- currentItem.selected = selectedState;
1011
- currentItem.focused = focusedState;
1012
- _this.activeDescendant = focusedState ? currentItem.itemId : "";
1013
- modifiedItems.push(currentItem);
1113
+ var isSelectPrevented = selectedState ? _this.emitEvent('select', currentItem).isDefaultPrevented() : false;
1114
+ if (!isSelectPrevented) {
1115
+ currentItem.selected = selectedState;
1116
+ currentItem.focused = focusedState;
1117
+ _this.activeDescendant = focusedState ? currentItem.itemId : '';
1118
+ modifiedItems.push(currentItem);
1119
+ }
1014
1120
  }
1015
1121
  });
1016
1122
  if (this.expandMode === PanelBarExpandMode.Multiple) {
1017
- if (item.hasChildItems || item.hasContent) {
1018
- item.expanded = !item.expanded;
1019
- }
1020
- if (modifiedItems.indexOf(item) < 0) {
1021
- modifiedItems.push(item);
1123
+ if ((item.hasChildItems || item.hasContent) && item.selected) {
1124
+ var isEventPrevented = item.expanded ?
1125
+ this.emitEvent('collapse', item).isDefaultPrevented() :
1126
+ this.emitEvent('expand', item).isDefaultPrevented();
1127
+ if (!isEventPrevented) {
1128
+ item.expanded = !item.expanded;
1129
+ if (modifiedItems.indexOf(item) < 0) {
1130
+ modifiedItems.push(item);
1131
+ }
1132
+ }
1022
1133
  }
1023
1134
  }
1024
1135
  else {
1025
1136
  var siblings = item.parent ? item.parent.childrenItems : this.childrenItems;
1026
- if (item.hasChildItems || item.hasContent) {
1137
+ var preventedCollapseItem_1;
1138
+ var expandedItems_1 = [];
1139
+ if ((item.hasChildItems || item.hasContent) && item.selected) {
1027
1140
  siblings
1028
1141
  .forEach(function (currentItem) {
1029
1142
  var expandedState = currentItem === item;
1030
1143
  if (currentItem.expanded !== expandedState) {
1031
- currentItem.expanded = expandedState;
1032
- if (modifiedItems.indexOf(currentItem) < 0) {
1033
- modifiedItems.push(currentItem);
1144
+ var isEventPrevented = currentItem.expanded ?
1145
+ _this.emitEvent('collapse', currentItem).isDefaultPrevented() :
1146
+ _this.emitEvent('expand', currentItem).isDefaultPrevented();
1147
+ if (!isEventPrevented) {
1148
+ currentItem.expanded = expandedState;
1149
+ if (currentItem.expanded) {
1150
+ expandedItems_1.push(currentItem);
1151
+ }
1152
+ if (modifiedItems.indexOf(currentItem) < 0) {
1153
+ modifiedItems.push(currentItem);
1154
+ }
1155
+ }
1156
+ else if (isEventPrevented && currentItem.expanded) {
1157
+ preventedCollapseItem_1 = currentItem;
1158
+ }
1159
+ }
1160
+ else if (currentItem.expanded === expandedState && expandedState) {
1161
+ var isCollapsePrevented = _this.emitEvent('collapse', currentItem).isDefaultPrevented();
1162
+ if (!isCollapsePrevented) {
1163
+ currentItem.expanded = !currentItem.expanded;
1164
+ if (modifiedItems.indexOf(currentItem) < 0) {
1165
+ modifiedItems.push(currentItem);
1166
+ }
1167
+ }
1168
+ }
1169
+ });
1170
+ expandedItems_1.forEach(function (item) {
1171
+ if (preventedCollapseItem_1 && item.id !== preventedCollapseItem_1.id) {
1172
+ item.expanded = false;
1173
+ if (isDevMode()) {
1174
+ var expandMode = PanelBarExpandMode[_this.expandMode].toLowerCase();
1175
+ 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/");
1034
1176
  }
1035
1177
  }
1036
1178
  });
@@ -1063,16 +1205,16 @@ var PanelBarComponent = /** @class */ (function () {
1063
1205
  currentIndex = visibleItems.findIndex(function (item) { return item === currentItem; });
1064
1206
  }
1065
1207
  switch (action) {
1066
- case "lastItem":
1208
+ case 'lastItem':
1067
1209
  nextItem = visibleItems[visibleItems.length - 1];
1068
1210
  break;
1069
- case "firstItem":
1211
+ case 'firstItem':
1070
1212
  nextItem = visibleItems[0];
1071
1213
  break;
1072
- case "nextItem":
1214
+ case 'nextItem':
1073
1215
  nextItem = visibleItems[currentIndex < visibleItems.length - 1 ? currentIndex + 1 : 0];
1074
1216
  break;
1075
- case "previousItem":
1217
+ case 'previousItem':
1076
1218
  nextItem = visibleItems[currentIndex > 0 ? currentIndex - 1 : visibleItems.length - 1];
1077
1219
  break;
1078
1220
  default:
@@ -1089,16 +1231,16 @@ var PanelBarComponent = /** @class */ (function () {
1089
1231
  this.stateChange.emit(modifiedItems);
1090
1232
  };
1091
1233
  PanelBarComponent.prototype.focusLastItem = function () {
1092
- this.focusItem("lastItem");
1234
+ this.focusItem('lastItem');
1093
1235
  };
1094
1236
  PanelBarComponent.prototype.focusFirstItem = function () {
1095
- this.focusItem("firstItem");
1237
+ this.focusItem('firstItem');
1096
1238
  };
1097
1239
  PanelBarComponent.prototype.focusNextItem = function () {
1098
- this.focusItem("nextItem");
1240
+ this.focusItem('nextItem');
1099
1241
  };
1100
1242
  PanelBarComponent.prototype.focusPreviousItem = function () {
1101
- this.focusItem("previousItem");
1243
+ this.focusItem('previousItem');
1102
1244
  };
1103
1245
  PanelBarComponent.prototype.expandItem = function () {
1104
1246
  var currentItem = this.allItems.filter(function (item) { return item.focused; })[0];
@@ -1182,6 +1324,18 @@ var PanelBarComponent = /** @class */ (function () {
1182
1324
  Output(),
1183
1325
  __metadata("design:type", EventEmitter)
1184
1326
  ], PanelBarComponent.prototype, "stateChange", void 0);
1327
+ __decorate([
1328
+ Output(),
1329
+ __metadata("design:type", EventEmitter)
1330
+ ], PanelBarComponent.prototype, "select", void 0);
1331
+ __decorate([
1332
+ Output(),
1333
+ __metadata("design:type", EventEmitter)
1334
+ ], PanelBarComponent.prototype, "expand", void 0);
1335
+ __decorate([
1336
+ Output(),
1337
+ __metadata("design:type", EventEmitter)
1338
+ ], PanelBarComponent.prototype, "collapse", void 0);
1185
1339
  __decorate([
1186
1340
  HostBinding('attr.tabIndex'),
1187
1341
  __metadata("design:type", Number)
@@ -1265,7 +1419,7 @@ var PanelBarComponent = /** @class */ (function () {
1265
1419
  }
1266
1420
  ],
1267
1421
  selector: 'kendo-panelbar',
1268
- 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 "
1422
+ 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 "
1269
1423
  })
1270
1424
  // TODO: add styles as input prop
1271
1425
  ,
@@ -2655,38 +2809,6 @@ var DIRECTION_CLASSES = {
2655
2809
  */
2656
2810
  var DEFAULT_SCROLL_BEHAVIOR = 'smooth';
2657
2811
 
2658
- /**
2659
- * @hidden
2660
- */
2661
- var PreventableEvent$1 = /** @class */ (function () {
2662
- /**
2663
- * @hidden
2664
- */
2665
- function PreventableEvent$$1(args) {
2666
- this.prevented = false;
2667
- Object.assign(this, args);
2668
- }
2669
- /**
2670
- * Prevents the default action for a specified event.
2671
- * In this way, the source component suppresses
2672
- * the built-in behavior that follows the event.
2673
- */
2674
- PreventableEvent$$1.prototype.preventDefault = function () {
2675
- this.prevented = true;
2676
- };
2677
- /**
2678
- * Returns `true` if the event was prevented
2679
- * by any of its subscribers.
2680
- *
2681
- * @returns `true` if the default action was prevented.
2682
- * Otherwise, returns `false`.
2683
- */
2684
- PreventableEvent$$1.prototype.isDefaultPrevented = function () {
2685
- return this.prevented;
2686
- };
2687
- return PreventableEvent$$1;
2688
- }());
2689
-
2690
2812
  /**
2691
2813
  * Arguments for the `tabScroll` event of the TabStrip.
2692
2814
  * The `tabScroll` event fires when the tabs are being scrolled.
@@ -9176,4 +9298,4 @@ var LayoutModule = /** @class */ (function () {
9176
9298
  * Generated bundle index. Do not edit.
9177
9299
  */
9178
9300
 
9179
- export { PreventableEvent$1 as PreventableEvent, DrawerService, DrawerItemComponent, DrawerListComponent, DRAWER_ITEM_INDEX, PanelBarService, SplitterBarComponent, SplitterService, StepperListComponent, StepperMessages, STEPPER_STEP_INDEX, StepperStepComponent, StepperService, TabStripMessages, TabComponent, TabStripScrollableButtonComponent, ScrollService, TabStripService, TileLayoutDraggingService, PreventableEvent$2 as PreventableEvent$1, TileLayoutResizeHandleDirective, PanelBarComponent, PanelBarItemComponent, PanelBarContentDirective, PanelBarItemTemplateDirective, PanelBarItemTitleDirective, PanelBarExpandMode, SplitterComponent, SplitterPaneComponent, TabStripComponent, TabStripTabComponent, TabContentDirective, TabTitleDirective, LocalizedTabStripMessagesDirective, TabStripCustomMessagesComponent, DrawerComponent, DrawerContainerComponent, DrawerContentComponent, DrawerSelectEvent, StepperComponent, StepperActivateEvent, StepperCustomMessagesComponent, LocalizedStepperMessagesDirective, AvatarComponent, CardComponent, CardHeaderComponent, CardBodyComponent, CardFooterComponent, CardActionsComponent, CardSeparatorDirective, CardTitleDirective, CardSubtitleDirective, CardMediaDirective, CardAction, ExpansionPanelComponent, ExpansionPanelTitleDirective, ExpansionPanelActionEvent, TileLayoutComponent, TileLayoutItemComponent, TileLayoutItemBodyComponent, TileLayoutItemHeaderComponent, TileLayoutReorderEvent, TileLayoutResizeEvent, AvatarModule, CardModule, DrawerModule, LayoutModule, PanelBarModule, SplitterModule, StepperModule, TabStripModule, ExpansionPanelModule, TileLayoutModule, StackLayoutModule, GridLayoutModule, StackLayoutComponent, GridLayoutComponent, GridLayoutItemComponent, TabCloseEvent, SelectEvent, DrawerTemplateDirective, DrawerItemTemplateDirective, DrawerHeaderTemplateDirective, DrawerFooterTemplateDirective, StepperIndicatorTemplateDirective, StepperLabelTemplateDirective, StepperStepTemplateDirective };
9301
+ export { PreventableEvent$1 as PreventableEvent, DrawerService, DrawerItemComponent, DrawerListComponent, DRAWER_ITEM_INDEX, PanelBarService, SplitterBarComponent, SplitterService, StepperListComponent, StepperMessages, STEPPER_STEP_INDEX, StepperStepComponent, StepperService, TabStripMessages, TabComponent, TabStripScrollableButtonComponent, ScrollService, TabStripService, TileLayoutDraggingService, PreventableEvent$2 as PreventableEvent$1, TileLayoutResizeHandleDirective, PanelBarComponent, PanelBarItemComponent, PanelBarContentDirective, PanelBarItemTemplateDirective, PanelBarItemTitleDirective, PanelBarExpandMode, SplitterComponent, SplitterPaneComponent, TabStripComponent, TabStripTabComponent, TabContentDirective, TabTitleDirective, LocalizedTabStripMessagesDirective, TabStripCustomMessagesComponent, DrawerComponent, DrawerContainerComponent, DrawerContentComponent, DrawerSelectEvent, StepperComponent, StepperActivateEvent, StepperCustomMessagesComponent, LocalizedStepperMessagesDirective, AvatarComponent, CardComponent, CardHeaderComponent, CardBodyComponent, CardFooterComponent, CardActionsComponent, CardSeparatorDirective, CardTitleDirective, CardSubtitleDirective, CardMediaDirective, CardAction, ExpansionPanelComponent, ExpansionPanelTitleDirective, ExpansionPanelActionEvent, TileLayoutComponent, TileLayoutItemComponent, TileLayoutItemBodyComponent, TileLayoutItemHeaderComponent, TileLayoutReorderEvent, TileLayoutResizeEvent, AvatarModule, CardModule, DrawerModule, LayoutModule, PanelBarModule, SplitterModule, StepperModule, TabStripModule, ExpansionPanelModule, TileLayoutModule, StackLayoutModule, GridLayoutModule, StackLayoutComponent, GridLayoutComponent, GridLayoutItemComponent, PanelBarCollapseEvent, PanelBarExpandEvent, PanelBarSelectEvent, TabCloseEvent, SelectEvent, DrawerTemplateDirective, DrawerItemTemplateDirective, DrawerHeaderTemplateDirective, DrawerFooterTemplateDirective, StepperIndicatorTemplateDirective, StepperLabelTemplateDirective, StepperStepTemplateDirective };
package/dist/npm/main.js CHANGED
@@ -17,6 +17,7 @@ var panelbar_item_title_directive_1 = require("./panelbar/panelbar-item-title.di
17
17
  exports.PanelBarItemTitleDirective = panelbar_item_title_directive_1.PanelBarItemTitleDirective;
18
18
  var panelbar_expand_mode_1 = require("./panelbar/panelbar-expand-mode");
19
19
  exports.PanelBarExpandMode = panelbar_expand_mode_1.PanelBarExpandMode;
20
+ tslib_1.__exportStar(require("./panelbar/events"), exports);
20
21
  var splitter_component_1 = require("./splitter/splitter.component");
21
22
  exports.SplitterComponent = splitter_component_1.SplitterComponent;
22
23
  var splitter_pane_component_1 = require("./splitter/splitter-pane.component");
@@ -11,7 +11,7 @@ exports.packageMetadata = {
11
11
  name: '@progress/kendo-angular-layout',
12
12
  productName: 'Kendo UI for Angular',
13
13
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
14
- publishDate: 1647343533,
14
+ publishDate: 1649334013,
15
15
  version: '',
16
16
  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'
17
17
  };
@@ -0,0 +1,19 @@
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
+ "use strict";
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ var tslib_1 = require("tslib");
8
+ var preventable_event_1 = require("../../common/preventable-event");
9
+ /**
10
+ * Arguments for the `collapse` event of the PanelBar.
11
+ */
12
+ var PanelBarCollapseEvent = /** @class */ (function (_super) {
13
+ tslib_1.__extends(PanelBarCollapseEvent, _super);
14
+ function PanelBarCollapseEvent() {
15
+ return _super !== null && _super.apply(this, arguments) || this;
16
+ }
17
+ return PanelBarCollapseEvent;
18
+ }(preventable_event_1.PreventableEvent));
19
+ exports.PanelBarCollapseEvent = PanelBarCollapseEvent;
@@ -0,0 +1,19 @@
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
+ "use strict";
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ var tslib_1 = require("tslib");
8
+ var preventable_event_1 = require("../../common/preventable-event");
9
+ /**
10
+ * Arguments for the `expand` event of the PanelBar.
11
+ */
12
+ var PanelBarExpandEvent = /** @class */ (function (_super) {
13
+ tslib_1.__extends(PanelBarExpandEvent, _super);
14
+ function PanelBarExpandEvent() {
15
+ return _super !== null && _super.apply(this, arguments) || this;
16
+ }
17
+ return PanelBarExpandEvent;
18
+ }(preventable_event_1.PreventableEvent));
19
+ exports.PanelBarExpandEvent = PanelBarExpandEvent;
@@ -0,0 +1,19 @@
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
+ "use strict";
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ var tslib_1 = require("tslib");
8
+ var preventable_event_1 = require("../../common/preventable-event");
9
+ /**
10
+ * Arguments for the `select` event of the PanelBar.
11
+ */
12
+ var PanelBarSelectEvent = /** @class */ (function (_super) {
13
+ tslib_1.__extends(PanelBarSelectEvent, _super);
14
+ function PanelBarSelectEvent() {
15
+ return _super !== null && _super.apply(this, arguments) || this;
16
+ }
17
+ return PanelBarSelectEvent;
18
+ }(preventable_event_1.PreventableEvent));
19
+ exports.PanelBarSelectEvent = PanelBarSelectEvent;
@@ -0,0 +1,12 @@
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
+ "use strict";
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ var collapse_event_1 = require("./events/collapse-event");
8
+ exports.PanelBarCollapseEvent = collapse_event_1.PanelBarCollapseEvent;
9
+ var expand_event_1 = require("./events/expand-event");
10
+ exports.PanelBarExpandEvent = expand_event_1.PanelBarExpandEvent;
11
+ var select_event_1 = require("./events/select-event");
12
+ exports.PanelBarSelectEvent = select_event_1.PanelBarSelectEvent;
@@ -444,7 +444,7 @@ var PanelBarItemComponent = /** @class */ (function () {
444
444
  ],
445
445
  exportAs: 'kendoPanelbarItem',
446
446
  selector: "kendo-panelbar-item",
447
- 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>"
447
+ 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>"
448
448
  }),
449
449
  tslib_1.__param(0, core_1.SkipSelf()), tslib_1.__param(0, core_1.Host()), tslib_1.__param(0, core_1.Optional()),
450
450
  tslib_1.__metadata("design:paramtypes", [PanelBarItemComponent,