@progress/kendo-angular-treeview 6.0.0-dev.202112021059 → 6.0.1-dev.202202151121

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 (50) hide show
  1. package/LICENSE.md +1 -1
  2. package/NOTICE.txt +119 -79
  3. package/README.md +1 -1
  4. package/dist/cdn/js/kendo-angular-treeview.js +18 -18
  5. package/dist/cdn/main.js +1 -1
  6. package/dist/es/checkbox/checkbox.component.js +17 -1
  7. package/dist/es/drag-and-drop/drag-and-drop-utils.js +3 -3
  8. package/dist/es/drag-and-drop/drag-and-drop.directive.js +2 -2
  9. package/dist/es/navigation/navigation.service.js +9 -6
  10. package/dist/es/package-metadata.js +1 -1
  11. package/dist/es/size.js +4 -0
  12. package/dist/es/treeview-group.component.js +7 -2
  13. package/dist/es/treeview-item-content.directive.js +2 -2
  14. package/dist/es/treeview-item.directive.js +6 -5
  15. package/dist/es/treeview.component.js +36 -4
  16. package/dist/es/utils.js +17 -5
  17. package/dist/es2015/checkbox/checkbox.component.d.ts +6 -0
  18. package/dist/es2015/checkbox/checkbox.component.js +13 -1
  19. package/dist/es2015/drag-and-drop/drag-and-drop-utils.js +3 -3
  20. package/dist/es2015/drag-and-drop/drag-and-drop.directive.js +2 -2
  21. package/dist/es2015/index.metadata.json +1 -1
  22. package/dist/es2015/navigation/navigation-state.interface.d.ts +1 -0
  23. package/dist/es2015/navigation/navigation.service.d.ts +2 -1
  24. package/dist/es2015/navigation/navigation.service.js +8 -6
  25. package/dist/es2015/package-metadata.js +1 -1
  26. package/dist/es2015/size.d.ts +14 -0
  27. package/dist/es2015/size.js +4 -0
  28. package/dist/es2015/treeview-group.component.d.ts +2 -0
  29. package/dist/es2015/treeview-group.component.js +49 -35
  30. package/dist/es2015/treeview-item-content.directive.js +2 -2
  31. package/dist/es2015/treeview-item.directive.js +5 -5
  32. package/dist/es2015/treeview.component.d.ts +13 -0
  33. package/dist/es2015/treeview.component.js +46 -13
  34. package/dist/es2015/utils.d.ts +7 -1
  35. package/dist/es2015/utils.js +17 -5
  36. package/dist/fesm2015/index.js +144 -72
  37. package/dist/fesm5/index.js +98 -30
  38. package/dist/npm/checkbox/checkbox.component.js +17 -1
  39. package/dist/npm/drag-and-drop/drag-and-drop-utils.js +3 -3
  40. package/dist/npm/drag-and-drop/drag-and-drop.directive.js +2 -2
  41. package/dist/npm/navigation/navigation.service.js +9 -6
  42. package/dist/npm/package-metadata.js +1 -1
  43. package/dist/npm/size.js +6 -0
  44. package/dist/npm/treeview-group.component.js +7 -2
  45. package/dist/npm/treeview-item-content.directive.js +2 -2
  46. package/dist/npm/treeview-item.directive.js +6 -5
  47. package/dist/npm/treeview.component.js +35 -3
  48. package/dist/npm/utils.js +17 -5
  49. package/dist/systemjs/kendo-angular-treeview.js +1 -1
  50. package/package.json +9 -8
@@ -22,7 +22,7 @@ const packageMetadata = {
22
22
  name: '@progress/kendo-angular-treeview',
23
23
  productName: 'Kendo UI for Angular',
24
24
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
25
- publishDate: 1638442548,
25
+ publishDate: 1644923991,
26
26
  version: '',
27
27
  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'
28
28
  };
@@ -224,7 +224,7 @@ const isFocusable = (element) => {
224
224
  * @hidden
225
225
  */
226
226
  const isContent = (element) => {
227
- const scopeSelector = '.k-in:not(.k-treeview-load-more-button),.k-treeview-item,.k-treeview';
227
+ const scopeSelector = '.k-treeview-leaf:not(.k-treeview-load-more-button),.k-treeview-item,.k-treeview';
228
228
  if (!isDocumentAvailable()) {
229
229
  return null;
230
230
  }
@@ -233,20 +233,20 @@ const isContent = (element) => {
233
233
  node = node.parentNode;
234
234
  }
235
235
  if (node) {
236
- return match(node, '.k-in:not(.k-treeview-load-more-button)');
236
+ return match(node, '.k-treeview-leaf:not(.k-treeview-load-more-button)');
237
237
  }
238
238
  };
239
239
  /**
240
240
  * @hidden
241
241
  *
242
- * Returns the nested .k-in:not(.k-treeview-load-more-button) element.
242
+ * Returns the nested .k-treeview-leaf:not(.k-treeview-load-more-button) element.
243
243
  * If the passed parent item is itself a content node, it is returned.
244
244
  */
245
245
  const getContentElement = (parent) => {
246
246
  if (!isPresent(parent)) {
247
247
  return null;
248
248
  }
249
- const selector = '.k-in:not(.k-treeview-load-more-button)';
249
+ const selector = '.k-treeview-leaf:not(.k-treeview-load-more-button)';
250
250
  if (match(parent, selector)) {
251
251
  return parent;
252
252
  }
@@ -256,7 +256,7 @@ const getContentElement = (parent) => {
256
256
  * @hidden
257
257
  */
258
258
  const isLoadMoreButton = (element) => {
259
- return isPresent(closestWithMatch(element, '.k-in.k-treeview-load-more-button'));
259
+ return isPresent(closestWithMatch(element, '.k-treeview-leaf.k-treeview-load-more-button'));
260
260
  };
261
261
  /**
262
262
  * @hidden
@@ -415,6 +415,18 @@ const sameValues = (as, bs) => {
415
415
  }
416
416
  return Array.from(as).every(v => bs.has(v));
417
417
  };
418
+ /**
419
+ * @hidden
420
+ * Returns the size class based on the component and size input.
421
+ */
422
+ const getSizeClass = (component, size) => {
423
+ const SIZE_CLASSES = {
424
+ 'small': `k-${component}-sm`,
425
+ 'medium': `k-${component}-md`,
426
+ 'large': `k-${component}-lg`
427
+ };
428
+ return SIZE_CLASSES[size];
429
+ };
418
430
 
419
431
  const safe = node => (node || {});
420
432
  const safeChildren = node => (safe(node).children || []);
@@ -578,8 +590,8 @@ let NavigationService = class NavigationService {
578
590
  this.loadMore = new Subject();
579
591
  this.navigable = true;
580
592
  this.actions = {
581
- [Keys.ArrowUp]: () => this.activate(this.model.findVisiblePrev(this.focusableItem)),
582
- [Keys.ArrowDown]: () => this.activate(this.model.findVisibleNext(this.focusableItem)),
593
+ [Keys.ArrowUp]: () => this.activate(this.model.findVisiblePrev(this.focusableItem), true),
594
+ [Keys.ArrowDown]: () => this.activate(this.model.findVisibleNext(this.focusableItem), true),
583
595
  [Keys.ArrowLeft]: () => !this.isLoadMoreButton && (this.expand({
584
596
  expand: this.localization.rtl,
585
597
  intercept: this.localization.rtl ? this.moveToFirstVisibleChild : this.moveToParent
@@ -588,12 +600,13 @@ let NavigationService = class NavigationService {
588
600
  expand: !this.localization.rtl,
589
601
  intercept: this.localization.rtl ? this.moveToParent : this.moveToFirstVisibleChild
590
602
  })),
591
- [Keys.Home]: () => this.activate(this.model.firstVisibleNode()),
592
- [Keys.End]: () => this.activate(this.model.lastVisibleNode()),
603
+ [Keys.Home]: () => this.activate(this.model.firstVisibleNode(), true),
604
+ [Keys.End]: () => this.activate(this.model.lastVisibleNode(), true),
593
605
  [Keys.Enter]: () => this.handleEnter(),
594
606
  [Keys.Space]: () => this.handleSpace()
595
607
  };
596
608
  this.isFocused = false;
609
+ this.shouldScroll = false;
597
610
  this._model = new NavigationModel();
598
611
  this.moveToFirstVisibleChild = this.moveToFirstVisibleChild.bind(this);
599
612
  this.moveToParent = this.moveToParent.bind(this);
@@ -616,12 +629,13 @@ let NavigationService = class NavigationService {
616
629
  get focusableItem() {
617
630
  return this.activeItem || this.model.firstFocusableNode();
618
631
  }
619
- activate(item) {
632
+ activate(item, shouldScroll = false) {
620
633
  if (!this.navigable || !item || this.isActive(nodeIndex(item))) {
621
634
  return;
622
635
  }
623
636
  this.isFocused = true;
624
637
  this.activeItem = item || this.activeItem;
638
+ this.shouldScroll = shouldScroll;
625
639
  this.notifyMove();
626
640
  }
627
641
  activateParent(index) {
@@ -737,7 +751,7 @@ let NavigationService = class NavigationService {
737
751
  this.moves.next(this.navigationState());
738
752
  }
739
753
  navigationState(expand = false) {
740
- return ({ expand, index: this.activeIndex, isFocused: this.isFocused });
754
+ return ({ expand, index: this.activeIndex, isFocused: this.isFocused, shouldScroll: this.shouldScroll });
741
755
  }
742
756
  handleEnter() {
743
757
  if (!this.navigable) {
@@ -1220,6 +1234,7 @@ let TreeViewComponent = class TreeViewComponent {
1220
1234
  this.isActive = false;
1221
1235
  this.data = new BehaviorSubject([]);
1222
1236
  this._animate = true;
1237
+ this._size = 'medium';
1223
1238
  this.subscriptions = new Subscription();
1224
1239
  this.domSubscriptions = [];
1225
1240
  validatePackage(packageMetadata);
@@ -1315,6 +1330,26 @@ let TreeViewComponent = class TreeViewComponent {
1315
1330
  this._isSelected = callback;
1316
1331
  this.selectable = Boolean(this._isSelected);
1317
1332
  }
1333
+ /**
1334
+ * Sets the size of the component.
1335
+ *
1336
+ * The possible values are:
1337
+ * * `'small'`
1338
+ * * `'medium'` (default)
1339
+ * * `'large'`
1340
+ * * `null`
1341
+ *
1342
+ */
1343
+ set size(size) {
1344
+ this.renderer.removeClass(this.element.nativeElement, getSizeClass('treeview', this.size));
1345
+ if (size) {
1346
+ this.renderer.addClass(this.element.nativeElement, getSizeClass('treeview', size));
1347
+ }
1348
+ this._size = size;
1349
+ }
1350
+ get size() {
1351
+ return this._size;
1352
+ }
1318
1353
  ngOnChanges(changes) {
1319
1354
  this.navigationService.navigable = Boolean(this.navigable);
1320
1355
  // TODO: should react to changes.loadOnDemand as well - should preload the data or clear the already cached items
@@ -1349,6 +1384,9 @@ let TreeViewComponent = class TreeViewComponent {
1349
1384
  this.attachDomHandlers();
1350
1385
  });
1351
1386
  }
1387
+ if (this.size) {
1388
+ this.renderer.addClass(this.element.nativeElement, getSizeClass('treeview', this.size));
1389
+ }
1352
1390
  }
1353
1391
  /**
1354
1392
  * Blurs the focused TreeView item.
@@ -1505,7 +1543,7 @@ let TreeViewComponent = class TreeViewComponent {
1505
1543
  return;
1506
1544
  }
1507
1545
  const index = nodeId(closestNode(target));
1508
- // the disabled check is probably not needed due to the k-state-disabled styles
1546
+ // the disabled check is probably not needed due to the k-disabled styles
1509
1547
  if (!index || this.navigationService.isDisabled(index)) {
1510
1548
  return;
1511
1549
  }
@@ -1561,7 +1599,6 @@ let TreeViewComponent = class TreeViewComponent {
1561
1599
  }
1562
1600
  };
1563
1601
  __decorate([
1564
- HostBinding("class.k-widget"),
1565
1602
  HostBinding("class.k-treeview"),
1566
1603
  __metadata("design:type", Boolean)
1567
1604
  ], TreeViewComponent.prototype, "classNames", void 0);
@@ -1735,6 +1772,11 @@ __decorate([
1735
1772
  Input(),
1736
1773
  __metadata("design:type", String)
1737
1774
  ], TreeViewComponent.prototype, "filter", void 0);
1775
+ __decorate([
1776
+ Input(),
1777
+ __metadata("design:type", String),
1778
+ __metadata("design:paramtypes", [String])
1779
+ ], TreeViewComponent.prototype, "size", null);
1738
1780
  TreeViewComponent = __decorate([
1739
1781
  Component({
1740
1782
  changeDetection: ChangeDetectionStrategy.Default,
@@ -1742,21 +1784,26 @@ TreeViewComponent = __decorate([
1742
1784
  providers: providers,
1743
1785
  selector: 'kendo-treeview',
1744
1786
  template: `
1745
- <kendo-textbox
1746
- #filterInput
1787
+ <span
1788
+ class="k-treeview-filter"
1747
1789
  *ngIf="filterable"
1748
- [value]="filter"
1749
- [clearButton]="true"
1750
- (valueChange)="filterChange.emit($event)"
1751
- [placeholder]="filterInputPlaceholder"
1752
1790
  >
1753
- <ng-template kendoTextBoxPrefixTemplate>
1754
- <span class="k-icon k-i-search"></span>
1755
- </ng-template>
1756
- </kendo-textbox>
1791
+ <kendo-textbox
1792
+ [size]="size"
1793
+ [value]="filter"
1794
+ [clearButton]="true"
1795
+ (valueChange)="filterChange.emit($event)"
1796
+ [placeholder]="filterInputPlaceholder"
1797
+ >
1798
+ <ng-template kendoTextBoxPrefixTemplate>
1799
+ <span class="k-input-icon k-icon k-i-search"></span>
1800
+ </ng-template>
1801
+ </kendo-textbox>
1802
+ </span>
1757
1803
  <ul class="k-treeview-lines"
1758
1804
  kendoTreeViewGroup
1759
1805
  role="group"
1806
+ [size]="size"
1760
1807
  [loadOnDemand]="loadOnDemand"
1761
1808
  [checkboxes]="checkboxes"
1762
1809
  [expandIcons]="expandIcons"
@@ -1810,6 +1857,7 @@ let TreeViewGroupComponent = class TreeViewGroupComponent {
1810
1857
  this.role = 'group';
1811
1858
  this.loadOnDemand = true;
1812
1859
  this.textField = "";
1860
+ this.size = 'medium';
1813
1861
  this.initialNodesLoaded = false;
1814
1862
  this.loadingMoreNodes = false;
1815
1863
  this._data = [];
@@ -2010,7 +2058,7 @@ let TreeViewGroupComponent = class TreeViewGroupComponent {
2010
2058
  }
2011
2059
  };
2012
2060
  __decorate([
2013
- HostBinding("class.k-group"),
2061
+ HostBinding("class.k-treeview-group"),
2014
2062
  __metadata("design:type", Boolean)
2015
2063
  ], TreeViewGroupComponent.prototype, "kGroupClass", void 0);
2016
2064
  __decorate([
@@ -2073,6 +2121,10 @@ __decorate([
2073
2121
  Input(),
2074
2122
  __metadata("design:type", Object)
2075
2123
  ], TreeViewGroupComponent.prototype, "loadMoreService", void 0);
2124
+ __decorate([
2125
+ Input(),
2126
+ __metadata("design:type", String)
2127
+ ], TreeViewGroupComponent.prototype, "size", void 0);
2076
2128
  __decorate([
2077
2129
  Input(),
2078
2130
  __metadata("design:type", Function)
@@ -2119,7 +2171,7 @@ TreeViewGroupComponent = __decorate([
2119
2171
  template: `
2120
2172
  <li
2121
2173
  *ngFor="let node of data; let index = index; trackBy: trackBy"
2122
- class="k-item k-treeview-item"
2174
+ class="k-treeview-item"
2123
2175
  [class.k-display-none]="!isVisible(node, nodeIndex(index))"
2124
2176
  kendoTreeViewItem
2125
2177
  [attr.aria-setsize]="totalNodesCount"
@@ -2138,18 +2190,23 @@ TreeViewGroupComponent = __decorate([
2138
2190
  [isSelected]="isSelected(node, nodeIndex(index))"
2139
2191
  [attr.data-treeindex]="nodeIndex(index)"
2140
2192
  >
2141
- <div class="k-mid">
2193
+ <div class="k-treeview-mid">
2142
2194
  <span
2143
- class="k-icon"
2144
- [class.k-i-collapse]="isExpanded(node, nodeIndex(index))"
2145
- [class.k-i-expand]="!isExpanded(node, nodeIndex(index))"
2195
+ class="k-treeview-toggle"
2146
2196
  [kendoTreeViewLoading]="nodeIndex(index)"
2147
2197
  (click)="expandNode(nodeIndex(index), node, !isExpanded(node, nodeIndex(index)))"
2148
2198
  *ngIf="expandIcons && hasChildren(node)"
2149
2199
  >
2200
+ <span
2201
+ class="k-icon"
2202
+ [class.k-i-collapse]="isExpanded(node, nodeIndex(index))"
2203
+ [class.k-i-expand]="!isExpanded(node, nodeIndex(index))"
2204
+ >
2205
+ </span>
2150
2206
  </span>
2151
2207
  <kendo-checkbox
2152
2208
  *ngIf="checkboxes"
2209
+ [size]="size"
2153
2210
  [node]="node"
2154
2211
  [index]="nodeIndex(index)"
2155
2212
  [isChecked]="isChecked"
@@ -2162,24 +2219,26 @@ TreeViewGroupComponent = __decorate([
2162
2219
  [index]="nodeIndex(index)"
2163
2220
  [initialSelection]="isSelected(node, nodeIndex(index))"
2164
2221
  [isSelected]="isSelected"
2165
- class="k-in"
2222
+ class="k-treeview-leaf"
2166
2223
  [style.touch-action]="touchActions ? '' : 'none'"
2167
2224
  >
2168
- <ng-container [ngSwitch]="hasTemplate">
2169
- <ng-container *ngSwitchCase="true">
2170
- <ng-template
2171
- [ngTemplateOutlet]="nodeTemplateRef"
2172
- [ngTemplateOutletContext]="{
2173
- $implicit: node,
2174
- index: nodeIndex(index)
2175
- }"
2176
- >
2177
- </ng-template>
2225
+ <span class="k-treeview-leaf-text">
2226
+ <ng-container [ngSwitch]="hasTemplate">
2227
+ <ng-container *ngSwitchCase="true">
2228
+ <ng-template
2229
+ [ngTemplateOutlet]="nodeTemplateRef"
2230
+ [ngTemplateOutletContext]="{
2231
+ $implicit: node,
2232
+ index: nodeIndex(index)
2233
+ }"
2234
+ >
2235
+ </ng-template>
2236
+ </ng-container>
2237
+ <ng-container *ngSwitchDefault>
2238
+ {{nodeText(node)}}
2239
+ </ng-container>
2178
2240
  </ng-container>
2179
- <ng-container *ngSwitchDefault>
2180
- {{nodeText(node)}}
2181
- </ng-container>
2182
- </ng-container>
2241
+ </span>
2183
2242
  </span>
2184
2243
  </div>
2185
2244
  <ul
@@ -2213,7 +2272,7 @@ TreeViewGroupComponent = __decorate([
2213
2272
  </li>
2214
2273
  <li
2215
2274
  *ngIf="initialNodesLoaded && moreNodesAvailable"
2216
- class="k-item k-treeview-item"
2275
+ class="k-treeview-item"
2217
2276
  [class.k-treeview-load-more-checkboxes-container]="checkboxes"
2218
2277
  kendoTreeViewItem
2219
2278
  role="button"
@@ -2225,29 +2284,31 @@ TreeViewGroupComponent = __decorate([
2225
2284
  [parentIndex]="parentIndex"
2226
2285
  [attr.data-treeindex]="loadMoreButtonIndex"
2227
2286
  >
2228
- <div class="k-mid">
2287
+ <div class="k-treeview-mid">
2229
2288
  <span
2230
2289
  *ngIf="loadingMoreNodes"
2231
2290
  class="k-icon k-i-loading k-i-expand"
2232
2291
  >
2233
2292
  </span>
2234
2293
  <span
2235
- class="k-in k-treeview-load-more-button"
2294
+ class="k-treeview-leaf k-treeview-load-more-button"
2236
2295
  [attr.data-treeindex]="loadMoreButtonIndex"
2237
2296
  kendoTreeViewItemContent
2238
2297
  [index]="loadMoreButtonIndex"
2239
2298
  >
2240
- <ng-template
2241
- *ngIf="loadMoreButtonTemplateRef"
2242
- [ngTemplateOutlet]="loadMoreButtonTemplateRef"
2243
- [ngTemplateOutletContext]="{
2244
- index: loadMoreButtonIndex
2245
- }"
2246
- >
2247
- </ng-template>
2248
- <ng-container *ngIf="!loadMoreButtonTemplateRef">
2249
- Load more
2250
- </ng-container>
2299
+ <span class="k-treeview-leaf-text">
2300
+ <ng-template
2301
+ *ngIf="loadMoreButtonTemplateRef"
2302
+ [ngTemplateOutlet]="loadMoreButtonTemplateRef"
2303
+ [ngTemplateOutletContext]="{
2304
+ index: loadMoreButtonIndex
2305
+ }"
2306
+ >
2307
+ </ng-template>
2308
+ <ng-container *ngIf="!loadMoreButtonTemplateRef">
2309
+ Load more
2310
+ </ng-container>
2311
+ </span>
2251
2312
  </span>
2252
2313
  </div>
2253
2314
  </li>
@@ -3079,12 +3140,12 @@ const getDropPosition = (draggedItem, target, clientY, targetTreeView, container
3079
3140
  if (!(isPresent(draggedItem) && isPresent(target) && isPresent(targetTreeView) && isPresent(containerOffset))) {
3080
3141
  return;
3081
3142
  }
3082
- // the .k-mid element starts just after the checkbox/expand arrow and stretches till the end of the treeview on the right
3083
- const item = closestWithMatch(target, '.k-mid');
3143
+ // the .k-treeview-mid element starts just after the checkbox/expand arrow and stretches till the end of the treeview on the right
3144
+ const item = closestWithMatch(target, '.k-treeview-mid');
3084
3145
  if (!isPresent(item)) {
3085
3146
  return;
3086
3147
  }
3087
- // the content element (.k-in:not(.k-treeview-load-more-button)) holds just the treeview item text
3148
+ // the content element (.k-treeview-leaf:not(.k-treeview-load-more-button)) holds just the treeview item text
3088
3149
  const content = getContentElement(item);
3089
3150
  const targetChildOfDraggedItem = hasParent(item, closestNode(draggedItem));
3090
3151
  if (!isPresent(content) || (content === draggedItem) || targetChildOfDraggedItem) {
@@ -3797,7 +3858,7 @@ let DragAndDropDirective = class DragAndDropDirective {
3797
3858
  return;
3798
3859
  }
3799
3860
  // store the drag target on press, show it only when it's actually dragged
3800
- this.draggedItem = closestWithMatch(originalEvent.target, '.k-in');
3861
+ this.draggedItem = closestWithMatch(originalEvent.target, '.k-treeview-leaf');
3801
3862
  // record the current pointer down coords - copared to the `startDragAfter` value to calculate whether to initiate dragging
3802
3863
  this.pendingDragStartEvent = originalEvent;
3803
3864
  }
@@ -3817,7 +3878,7 @@ let DragAndDropDirective = class DragAndDropDirective {
3817
3878
  }
3818
3879
  const targetTreeView = this.getTargetTreeView(dropTarget);
3819
3880
  const dropPosition = getDropPosition(this.draggedItem, dropTarget, clientY, targetTreeView, this.containerOffset);
3820
- const dropHintAnchor = closestWithMatch(dropTarget, '.k-mid');
3881
+ const dropHintAnchor = closestWithMatch(dropTarget, '.k-treeview-mid');
3821
3882
  const dropAction = getDropAction(dropPosition, dropTarget);
3822
3883
  const sourceItem = treeItemFromEventTarget(this.treeview, this.draggedItem);
3823
3884
  const destinationItem = treeItemFromEventTarget(targetTreeView, dropTarget);
@@ -4610,9 +4671,9 @@ let TreeViewItemDirective = class TreeViewItemDirective {
4610
4671
  subscribe() {
4611
4672
  this.subscriptions = [
4612
4673
  this.navigationService.moves
4613
- .subscribe(() => {
4674
+ .subscribe((navState) => {
4614
4675
  this.updateTabIndex();
4615
- this.focusItem();
4676
+ this.focusItem(navState.shouldScroll);
4616
4677
  }),
4617
4678
  this.navigationService.expands
4618
4679
  .pipe(filter(({ index }) => index === this.index && !this.isDisabled))
@@ -4641,9 +4702,9 @@ let TreeViewItemDirective = class TreeViewItemDirective {
4641
4702
  isFocusable() {
4642
4703
  return !this.isDisabled && this.navigationService.isFocusable(this.index);
4643
4704
  }
4644
- focusItem() {
4705
+ focusItem(scrollIntoView = false) {
4645
4706
  if (this.isInitialized && this.navigationService.isActive(this.index)) {
4646
- this.element.nativeElement.focus();
4707
+ this.element.nativeElement.focus({ preventScroll: !scrollIntoView });
4647
4708
  }
4648
4709
  }
4649
4710
  moveLookupItem(changes = {}) {
@@ -4681,7 +4742,7 @@ let TreeViewItemDirective = class TreeViewItemDirective {
4681
4742
  this.setAttribute('aria-checked', this.checkable ? this.ariaChecked : null);
4682
4743
  }
4683
4744
  setDisabledClass() {
4684
- this.setClass('k-state-disabled', this.isDisabled);
4745
+ this.setClass('k-disabled', this.isDisabled);
4685
4746
  }
4686
4747
  setClass(className, toggle) {
4687
4748
  const action = toggle ? 'addClass' : 'removeClass';
@@ -4804,10 +4865,10 @@ let TreeViewItemContentDirective = class TreeViewItemContentDirective {
4804
4865
  this.subscriptions.unsubscribe();
4805
4866
  }
4806
4867
  updateFocusClass() {
4807
- this.render(this.navigationService.isActive(this.index), 'k-state-focused');
4868
+ this.render(this.navigationService.isActive(this.index), 'k-focus');
4808
4869
  }
4809
4870
  updateSelectionClass(selected) {
4810
- this.render(selected, 'k-state-selected');
4871
+ this.render(selected, 'k-selected');
4811
4872
  }
4812
4873
  render(addClass, className) {
4813
4874
  const action = addClass ? 'addClass' : 'removeClass';
@@ -4857,6 +4918,10 @@ let CheckBoxComponent = class CheckBoxComponent {
4857
4918
  * Specifies the [`tabindex`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of the component.
4858
4919
  */
4859
4920
  this.tabindex = 0;
4921
+ /**
4922
+ * Specifies the size of the component.
4923
+ */
4924
+ this.size = 'medium';
4860
4925
  /**
4861
4926
  * Fires when the user changes the check state of the component.
4862
4927
  */
@@ -4872,6 +4937,9 @@ let CheckBoxComponent = class CheckBoxComponent {
4872
4937
  get checked() {
4873
4938
  return this.checkState === 'checked';
4874
4939
  }
4940
+ get checkBoxClasses() {
4941
+ return `k-checkbox ${this.size ? getSizeClass('checkbox', this.size) : ''} k-rounded-md`;
4942
+ }
4875
4943
  ngOnInit() {
4876
4944
  this.renderer.removeAttribute(this.element.nativeElement, "tabindex");
4877
4945
  }
@@ -4915,6 +4983,10 @@ __decorate([
4915
4983
  Input(),
4916
4984
  __metadata("design:type", Number)
4917
4985
  ], CheckBoxComponent.prototype, "tabindex", void 0);
4986
+ __decorate([
4987
+ Input(),
4988
+ __metadata("design:type", String)
4989
+ ], CheckBoxComponent.prototype, "size", void 0);
4918
4990
  __decorate([
4919
4991
  Output(),
4920
4992
  __metadata("design:type", EventEmitter)
@@ -4924,8 +4996,8 @@ CheckBoxComponent = __decorate([
4924
4996
  selector: 'kendo-checkbox',
4925
4997
  template: `
4926
4998
  <input
4927
- class="k-checkbox"
4928
4999
  type="checkbox"
5000
+ [class]="checkBoxClasses"
4929
5001
  [id]="id"
4930
5002
  [checked]="checked"
4931
5003
  [indeterminate]="indeterminate"