@progress/kendo-angular-treeview 21.1.1-develop.2 → 21.2.0-develop.2

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.
@@ -14,7 +14,7 @@ import { caretAltDownIcon, caretAltRightIcon, caretAltLeftIcon, searchIcon, canc
14
14
  import { CheckBoxComponent, TextBoxComponent, TextBoxPrefixTemplateDirective } from '@progress/kendo-angular-inputs';
15
15
  import { trigger, transition, style, animate } from '@angular/animations';
16
16
  import { filter, tap, switchMap, delay, takeUntil, catchError, finalize, take, map } from 'rxjs/operators';
17
- import { NgFor, NgClass, NgIf, NgSwitch, NgSwitchCase, NgTemplateOutlet, NgSwitchDefault } from '@angular/common';
17
+ import { NgClass, NgTemplateOutlet } from '@angular/common';
18
18
  import { IconWrapperComponent, IconsService } from '@progress/kendo-angular-icons';
19
19
  import { Draggable } from '@progress/kendo-draggable';
20
20
  import { DialogContainerService, DialogService, WindowService, WindowContainerService } from '@progress/kendo-angular-dialog';
@@ -28,8 +28,8 @@ const packageMetadata = {
28
28
  productName: 'Kendo UI for Angular',
29
29
  productCode: 'KENDOUIANGULAR',
30
30
  productCodes: ['KENDOUIANGULAR'],
31
- publishDate: 1763729083,
32
- version: '21.1.1-develop.2',
31
+ publishDate: 1764002161,
32
+ version: '21.2.0-develop.2',
33
33
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
34
34
  };
35
35
 
@@ -1721,9 +1721,9 @@ class TreeViewGroupComponent {
1721
1721
  this.emitChildrenLoaded(mappedChildren);
1722
1722
  }
1723
1723
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TreeViewGroupComponent, deps: [{ token: ExpandStateService }, { token: LoadingNotificationService }, { token: IndexBuilderService }, { token: TreeViewLookupService }, { token: NavigationService }, { token: NodeChildrenService }, { token: DataChangeNotificationService }, { token: i0.ChangeDetectorRef }, { token: i1.LocalizationService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
1724
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: TreeViewGroupComponent, isStandalone: true, selector: "[kendoTreeViewGroup]", inputs: { checkboxes: "checkboxes", expandIcons: "expandIcons", disabled: "disabled", selectable: "selectable", touchActions: "touchActions", disableParentNodesOnly: "disableParentNodesOnly", loadOnDemand: "loadOnDemand", trackBy: "trackBy", nodes: "nodes", textField: "textField", parentDataItem: "parentDataItem", parentIndex: "parentIndex", nodeTemplateRef: "nodeTemplateRef", loadMoreButtonTemplateRef: "loadMoreButtonTemplateRef", loadMoreService: "loadMoreService", size: "size", expandDisabledNodes: "expandDisabledNodes", isChecked: "isChecked", isDisabled: "isDisabled", hasCheckbox: "hasCheckbox", isExpanded: "isExpanded", isVisible: "isVisible", isSelected: "isSelected", children: "children", hasChildren: "hasChildren" }, host: { properties: { "class.k-treeview-group": "this.kGroupClass", "attr.role": "this.role" } }, usesOnChanges: true, ngImport: i0, template: `
1725
- <li
1726
- *ngFor="let node of data; let index = index; trackBy: trackBy"
1724
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TreeViewGroupComponent, isStandalone: true, selector: "[kendoTreeViewGroup]", inputs: { checkboxes: "checkboxes", expandIcons: "expandIcons", disabled: "disabled", selectable: "selectable", touchActions: "touchActions", disableParentNodesOnly: "disableParentNodesOnly", loadOnDemand: "loadOnDemand", trackBy: "trackBy", nodes: "nodes", textField: "textField", parentDataItem: "parentDataItem", parentIndex: "parentIndex", nodeTemplateRef: "nodeTemplateRef", loadMoreButtonTemplateRef: "loadMoreButtonTemplateRef", loadMoreService: "loadMoreService", size: "size", expandDisabledNodes: "expandDisabledNodes", isChecked: "isChecked", isDisabled: "isDisabled", hasCheckbox: "hasCheckbox", isExpanded: "isExpanded", isVisible: "isVisible", isSelected: "isSelected", children: "children", hasChildren: "hasChildren" }, host: { properties: { "class.k-treeview-group": "this.kGroupClass", "attr.role": "this.role" } }, usesOnChanges: true, ngImport: i0, template: `
1725
+ @for (node of data; track trackBy ? trackBy(index, node) : index; let index = $index) {
1726
+ <li
1727
1727
  class="k-treeview-item"
1728
1728
  [class.k-hidden]="!isVisible(node, nodeIndex(index))"
1729
1729
  kendoTreeViewItem
@@ -1742,62 +1742,64 @@ class TreeViewGroupComponent {
1742
1742
  [selectable]="selectable"
1743
1743
  [isSelected]="isSelected(node, nodeIndex(index))"
1744
1744
  [attr.data-treeindex]="nodeIndex(index)"
1745
- >
1745
+ >
1746
1746
  <div [ngClass]="setItemClasses(data.length, index)">
1747
+ @if (expandIcons && hasChildren(node)) {
1747
1748
  <span
1748
- [class.k-disabled]="!isItemExpandable(node, index)"
1749
- class="k-treeview-toggle"
1750
- [kendoTreeViewLoading]="nodeIndex(index)"
1751
- (click)="expandNode(nodeIndex(index), node, !isExpanded(node, nodeIndex(index)))"
1752
- *ngIf="expandIcons && hasChildren(node)"
1753
- >
1754
- <kendo-icon-wrapper
1755
- [name]="getFontIcon(node, nodeIndex(index))"
1756
- [svgIcon]="getSvgIcon(node, nodeIndex(index))">
1757
- </kendo-icon-wrapper>
1749
+ [class.k-disabled]="!isItemExpandable(node, index)"
1750
+ class="k-treeview-toggle"
1751
+ [kendoTreeViewLoading]="nodeIndex(index)"
1752
+ (click)="expandNode(nodeIndex(index), node, !isExpanded(node, nodeIndex(index)))"
1753
+ >
1754
+ <kendo-icon-wrapper
1755
+ [name]="getFontIcon(node, nodeIndex(index))"
1756
+ [svgIcon]="getSvgIcon(node, nodeIndex(index))">
1757
+ </kendo-icon-wrapper>
1758
1758
  </span>
1759
+ }
1760
+ @if (checkboxes && hasCheckbox(node, nodeIndex(index))) {
1759
1761
  <kendo-checkbox
1760
- #checkbox
1761
- *ngIf="checkboxes && hasCheckbox(node, nodeIndex(index))"
1762
- [disabled]="isItemDisabled(node, index)"
1763
- [size]="size"
1764
- [checkedState]="getCheckBoxState(node, nodeIndex(index))"
1765
- (checkedStateChange)="checkNode(nodeIndex(index), checkbox)"
1766
- [tabindex]="-1"
1767
- [inputAttributes]="getCheckboxAttributes(index)"
1762
+ #checkbox
1763
+ [disabled]="isItemDisabled(node, index)"
1764
+ [size]="size"
1765
+ [checkedState]="getCheckBoxState(node, nodeIndex(index))"
1766
+ (checkedStateChange)="checkNode(nodeIndex(index), checkbox)"
1767
+ [tabindex]="-1"
1768
+ [inputAttributes]="getCheckboxAttributes(index)"
1768
1769
  ></kendo-checkbox>
1769
- <span kendoTreeViewItemContent
1770
- [id]="nodeIndex(index)"
1771
- [attr.data-treeindex]="nodeIndex(index)"
1772
- [dataItem]="node"
1773
- [index]="nodeIndex(index)"
1774
- [initialSelection]="isSelected(node, nodeIndex(index))"
1775
- [isSelected]="isSelected"
1776
- class="k-treeview-leaf"
1777
- [style.touch-action]="touchActions ? '' : 'none'"
1778
- [class.k-disabled]="isItemDisabled(node, index)"
1770
+ }
1771
+ <span kendoTreeViewItemContent
1772
+ [id]="nodeIndex(index)"
1773
+ [attr.data-treeindex]="nodeIndex(index)"
1774
+ [dataItem]="node"
1775
+ [index]="nodeIndex(index)"
1776
+ [initialSelection]="isSelected(node, nodeIndex(index))"
1777
+ [isSelected]="isSelected"
1778
+ class="k-treeview-leaf"
1779
+ [style.touch-action]="touchActions ? '' : 'none'"
1780
+ [class.k-disabled]="isItemDisabled(node, index)"
1779
1781
  >
1780
- <span class="k-treeview-leaf-text">
1781
- <ng-container [ngSwitch]="hasTemplate">
1782
- <ng-container *ngSwitchCase="true">
1783
- <ng-template
1784
- [ngTemplateOutlet]="nodeTemplateRef"
1782
+ <span class="k-treeview-leaf-text">
1783
+ @switch (hasTemplate) {
1784
+ @case (true) {
1785
+ <ng-template
1786
+ [ngTemplateOutlet]="nodeTemplateRef"
1785
1787
  [ngTemplateOutletContext]="{
1786
1788
  $implicit: node,
1787
1789
  index: nodeIndex(index)
1788
1790
  }"
1789
- >
1790
- </ng-template>
1791
- </ng-container>
1792
- <ng-container *ngSwitchDefault>
1793
- {{nodeText(node)}}
1794
- </ng-container>
1795
- </ng-container>
1796
- </span>
1791
+ >
1792
+ </ng-template>
1793
+ }
1794
+ @default {
1795
+ {{nodeText(node)}}
1796
+ }
1797
+ }
1797
1798
  </span>
1799
+ </span>
1798
1800
  </div>
1799
- <ul
1800
- *ngIf="isExpanded(node, nodeIndex(index)) && hasChildren(node)"
1801
+ @if (isExpanded(node, nodeIndex(index)) && hasChildren(node)) {
1802
+ <ul
1801
1803
  kendoTreeViewGroup
1802
1804
  role="group"
1803
1805
  [size]="size"
@@ -1826,11 +1828,13 @@ class TreeViewGroupComponent {
1826
1828
  [@toggle]="true"
1827
1829
  [trackBy]="trackBy"
1828
1830
  [disableParentNodesOnly]="disableParentNodesOnly"
1829
- >
1830
- </ul>
1831
- </li>
1832
- <li
1833
- *ngIf="initialNodesLoaded && moreNodesAvailable"
1831
+ >
1832
+ </ul>
1833
+ }
1834
+ </li>
1835
+ }
1836
+ @if (initialNodesLoaded && moreNodesAvailable) {
1837
+ <li
1834
1838
  class="k-treeview-item"
1835
1839
  [class.k-treeview-load-more-checkboxes-container]="checkboxes"
1836
1840
  kendoTreeViewItem
@@ -1842,36 +1846,39 @@ class TreeViewGroupComponent {
1842
1846
  [parentDataItem]="parentDataItem"
1843
1847
  [parentIndex]="parentIndex"
1844
1848
  [attr.data-treeindex]="loadMoreButtonIndex"
1845
- >
1849
+ >
1846
1850
  <div class="k-treeview-bot">
1851
+ @if (loadingMoreNodes) {
1847
1852
  <span
1848
- *ngIf="loadingMoreNodes"
1849
- class="k-icon k-i-loading"
1850
- >
1853
+ class="k-icon k-i-loading"
1854
+ >
1851
1855
  </span>
1852
- <span
1853
- class="k-treeview-leaf k-treeview-load-more-button"
1854
- [attr.data-treeindex]="loadMoreButtonIndex"
1855
- kendoTreeViewItemContent
1856
- [index]="loadMoreButtonIndex"
1856
+ }
1857
+ <span
1858
+ class="k-treeview-leaf k-treeview-load-more-button"
1859
+ [attr.data-treeindex]="loadMoreButtonIndex"
1860
+ kendoTreeViewItemContent
1861
+ [index]="loadMoreButtonIndex"
1857
1862
  >
1858
- <span class="k-treeview-leaf-text">
1859
- <ng-template
1860
- *ngIf="loadMoreButtonTemplateRef"
1861
- [ngTemplateOutlet]="loadMoreButtonTemplateRef"
1863
+ <span class="k-treeview-leaf-text">
1864
+ @if (loadMoreButtonTemplateRef) {
1865
+ <ng-template
1866
+ [ngTemplateOutlet]="loadMoreButtonTemplateRef"
1862
1867
  [ngTemplateOutletContext]="{
1863
1868
  index: loadMoreButtonIndex
1864
1869
  }"
1865
- >
1866
- </ng-template>
1867
- <ng-container *ngIf="!loadMoreButtonTemplateRef">
1868
- {{ loadMoreTitle }}
1869
- </ng-container>
1870
- </span>
1870
+ >
1871
+ </ng-template>
1872
+ }
1873
+ @if (!loadMoreButtonTemplateRef) {
1874
+ {{ loadMoreTitle }}
1875
+ }
1871
1876
  </span>
1877
+ </span>
1872
1878
  </div>
1873
- </li>
1874
- `, isInline: true, dependencies: [{ kind: "component", type: TreeViewGroupComponent, selector: "[kendoTreeViewGroup]", inputs: ["checkboxes", "expandIcons", "disabled", "selectable", "touchActions", "disableParentNodesOnly", "loadOnDemand", "trackBy", "nodes", "textField", "parentDataItem", "parentIndex", "nodeTemplateRef", "loadMoreButtonTemplateRef", "loadMoreService", "size", "expandDisabledNodes", "isChecked", "isDisabled", "hasCheckbox", "isExpanded", "isVisible", "isSelected", "children", "hasChildren"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: TreeViewItemDirective, selector: "[kendoTreeViewItem]", inputs: ["dataItem", "index", "parentDataItem", "parentIndex", "role", "loadOnDemand", "checkable", "selectable", "expandable", "isChecked", "isDisabled", "isVisible", "isExpanded", "isSelected"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: LoadingIndicatorDirective, selector: "[kendoTreeViewLoading]", inputs: ["kendoTreeViewLoading"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "component", type: CheckBoxComponent, selector: "kendo-checkbox", inputs: ["checkedState", "rounded"], outputs: ["checkedStateChange"], exportAs: ["kendoCheckBox"] }, { kind: "directive", type: TreeViewItemContentDirective, selector: "[kendoTreeViewItemContent]", inputs: ["dataItem", "index", "initialSelection", "isSelected"] }, { kind: "directive", type: NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgSwitchDefault, selector: "[ngSwitchDefault]" }], animations: [
1879
+ </li>
1880
+ }
1881
+ `, isInline: true, dependencies: [{ kind: "component", type: TreeViewGroupComponent, selector: "[kendoTreeViewGroup]", inputs: ["checkboxes", "expandIcons", "disabled", "selectable", "touchActions", "disableParentNodesOnly", "loadOnDemand", "trackBy", "nodes", "textField", "parentDataItem", "parentIndex", "nodeTemplateRef", "loadMoreButtonTemplateRef", "loadMoreService", "size", "expandDisabledNodes", "isChecked", "isDisabled", "hasCheckbox", "isExpanded", "isVisible", "isSelected", "children", "hasChildren"] }, { kind: "directive", type: TreeViewItemDirective, selector: "[kendoTreeViewItem]", inputs: ["dataItem", "index", "parentDataItem", "parentIndex", "role", "loadOnDemand", "checkable", "selectable", "expandable", "isChecked", "isDisabled", "isVisible", "isExpanded", "isSelected"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: LoadingIndicatorDirective, selector: "[kendoTreeViewLoading]", inputs: ["kendoTreeViewLoading"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "component", type: CheckBoxComponent, selector: "kendo-checkbox", inputs: ["checkedState", "rounded"], outputs: ["checkedStateChange"], exportAs: ["kendoCheckBox"] }, { kind: "directive", type: TreeViewItemContentDirective, selector: "[kendoTreeViewItemContent]", inputs: ["dataItem", "index", "initialSelection", "isSelected"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], animations: [
1875
1882
  trigger('toggle', [
1876
1883
  transition('void => *', [
1877
1884
  style({ height: 0 }),
@@ -1902,8 +1909,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
1902
1909
  // eslint-disable-next-line
1903
1910
  selector: '[kendoTreeViewGroup]',
1904
1911
  template: `
1905
- <li
1906
- *ngFor="let node of data; let index = index; trackBy: trackBy"
1912
+ @for (node of data; track trackBy ? trackBy(index, node) : index; let index = $index) {
1913
+ <li
1907
1914
  class="k-treeview-item"
1908
1915
  [class.k-hidden]="!isVisible(node, nodeIndex(index))"
1909
1916
  kendoTreeViewItem
@@ -1922,62 +1929,64 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
1922
1929
  [selectable]="selectable"
1923
1930
  [isSelected]="isSelected(node, nodeIndex(index))"
1924
1931
  [attr.data-treeindex]="nodeIndex(index)"
1925
- >
1932
+ >
1926
1933
  <div [ngClass]="setItemClasses(data.length, index)">
1934
+ @if (expandIcons && hasChildren(node)) {
1927
1935
  <span
1928
- [class.k-disabled]="!isItemExpandable(node, index)"
1929
- class="k-treeview-toggle"
1930
- [kendoTreeViewLoading]="nodeIndex(index)"
1931
- (click)="expandNode(nodeIndex(index), node, !isExpanded(node, nodeIndex(index)))"
1932
- *ngIf="expandIcons && hasChildren(node)"
1933
- >
1934
- <kendo-icon-wrapper
1935
- [name]="getFontIcon(node, nodeIndex(index))"
1936
- [svgIcon]="getSvgIcon(node, nodeIndex(index))">
1937
- </kendo-icon-wrapper>
1936
+ [class.k-disabled]="!isItemExpandable(node, index)"
1937
+ class="k-treeview-toggle"
1938
+ [kendoTreeViewLoading]="nodeIndex(index)"
1939
+ (click)="expandNode(nodeIndex(index), node, !isExpanded(node, nodeIndex(index)))"
1940
+ >
1941
+ <kendo-icon-wrapper
1942
+ [name]="getFontIcon(node, nodeIndex(index))"
1943
+ [svgIcon]="getSvgIcon(node, nodeIndex(index))">
1944
+ </kendo-icon-wrapper>
1938
1945
  </span>
1946
+ }
1947
+ @if (checkboxes && hasCheckbox(node, nodeIndex(index))) {
1939
1948
  <kendo-checkbox
1940
- #checkbox
1941
- *ngIf="checkboxes && hasCheckbox(node, nodeIndex(index))"
1942
- [disabled]="isItemDisabled(node, index)"
1943
- [size]="size"
1944
- [checkedState]="getCheckBoxState(node, nodeIndex(index))"
1945
- (checkedStateChange)="checkNode(nodeIndex(index), checkbox)"
1946
- [tabindex]="-1"
1947
- [inputAttributes]="getCheckboxAttributes(index)"
1949
+ #checkbox
1950
+ [disabled]="isItemDisabled(node, index)"
1951
+ [size]="size"
1952
+ [checkedState]="getCheckBoxState(node, nodeIndex(index))"
1953
+ (checkedStateChange)="checkNode(nodeIndex(index), checkbox)"
1954
+ [tabindex]="-1"
1955
+ [inputAttributes]="getCheckboxAttributes(index)"
1948
1956
  ></kendo-checkbox>
1949
- <span kendoTreeViewItemContent
1950
- [id]="nodeIndex(index)"
1951
- [attr.data-treeindex]="nodeIndex(index)"
1952
- [dataItem]="node"
1953
- [index]="nodeIndex(index)"
1954
- [initialSelection]="isSelected(node, nodeIndex(index))"
1955
- [isSelected]="isSelected"
1956
- class="k-treeview-leaf"
1957
- [style.touch-action]="touchActions ? '' : 'none'"
1958
- [class.k-disabled]="isItemDisabled(node, index)"
1957
+ }
1958
+ <span kendoTreeViewItemContent
1959
+ [id]="nodeIndex(index)"
1960
+ [attr.data-treeindex]="nodeIndex(index)"
1961
+ [dataItem]="node"
1962
+ [index]="nodeIndex(index)"
1963
+ [initialSelection]="isSelected(node, nodeIndex(index))"
1964
+ [isSelected]="isSelected"
1965
+ class="k-treeview-leaf"
1966
+ [style.touch-action]="touchActions ? '' : 'none'"
1967
+ [class.k-disabled]="isItemDisabled(node, index)"
1959
1968
  >
1960
- <span class="k-treeview-leaf-text">
1961
- <ng-container [ngSwitch]="hasTemplate">
1962
- <ng-container *ngSwitchCase="true">
1963
- <ng-template
1964
- [ngTemplateOutlet]="nodeTemplateRef"
1969
+ <span class="k-treeview-leaf-text">
1970
+ @switch (hasTemplate) {
1971
+ @case (true) {
1972
+ <ng-template
1973
+ [ngTemplateOutlet]="nodeTemplateRef"
1965
1974
  [ngTemplateOutletContext]="{
1966
1975
  $implicit: node,
1967
1976
  index: nodeIndex(index)
1968
1977
  }"
1969
- >
1970
- </ng-template>
1971
- </ng-container>
1972
- <ng-container *ngSwitchDefault>
1973
- {{nodeText(node)}}
1974
- </ng-container>
1975
- </ng-container>
1976
- </span>
1978
+ >
1979
+ </ng-template>
1980
+ }
1981
+ @default {
1982
+ {{nodeText(node)}}
1983
+ }
1984
+ }
1977
1985
  </span>
1986
+ </span>
1978
1987
  </div>
1979
- <ul
1980
- *ngIf="isExpanded(node, nodeIndex(index)) && hasChildren(node)"
1988
+ @if (isExpanded(node, nodeIndex(index)) && hasChildren(node)) {
1989
+ <ul
1981
1990
  kendoTreeViewGroup
1982
1991
  role="group"
1983
1992
  [size]="size"
@@ -2006,11 +2015,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
2006
2015
  [@toggle]="true"
2007
2016
  [trackBy]="trackBy"
2008
2017
  [disableParentNodesOnly]="disableParentNodesOnly"
2009
- >
2010
- </ul>
2011
- </li>
2012
- <li
2013
- *ngIf="initialNodesLoaded && moreNodesAvailable"
2018
+ >
2019
+ </ul>
2020
+ }
2021
+ </li>
2022
+ }
2023
+ @if (initialNodesLoaded && moreNodesAvailable) {
2024
+ <li
2014
2025
  class="k-treeview-item"
2015
2026
  [class.k-treeview-load-more-checkboxes-container]="checkboxes"
2016
2027
  kendoTreeViewItem
@@ -2022,38 +2033,41 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
2022
2033
  [parentDataItem]="parentDataItem"
2023
2034
  [parentIndex]="parentIndex"
2024
2035
  [attr.data-treeindex]="loadMoreButtonIndex"
2025
- >
2036
+ >
2026
2037
  <div class="k-treeview-bot">
2038
+ @if (loadingMoreNodes) {
2027
2039
  <span
2028
- *ngIf="loadingMoreNodes"
2029
- class="k-icon k-i-loading"
2030
- >
2040
+ class="k-icon k-i-loading"
2041
+ >
2031
2042
  </span>
2032
- <span
2033
- class="k-treeview-leaf k-treeview-load-more-button"
2034
- [attr.data-treeindex]="loadMoreButtonIndex"
2035
- kendoTreeViewItemContent
2036
- [index]="loadMoreButtonIndex"
2043
+ }
2044
+ <span
2045
+ class="k-treeview-leaf k-treeview-load-more-button"
2046
+ [attr.data-treeindex]="loadMoreButtonIndex"
2047
+ kendoTreeViewItemContent
2048
+ [index]="loadMoreButtonIndex"
2037
2049
  >
2038
- <span class="k-treeview-leaf-text">
2039
- <ng-template
2040
- *ngIf="loadMoreButtonTemplateRef"
2041
- [ngTemplateOutlet]="loadMoreButtonTemplateRef"
2050
+ <span class="k-treeview-leaf-text">
2051
+ @if (loadMoreButtonTemplateRef) {
2052
+ <ng-template
2053
+ [ngTemplateOutlet]="loadMoreButtonTemplateRef"
2042
2054
  [ngTemplateOutletContext]="{
2043
2055
  index: loadMoreButtonIndex
2044
2056
  }"
2045
- >
2046
- </ng-template>
2047
- <ng-container *ngIf="!loadMoreButtonTemplateRef">
2048
- {{ loadMoreTitle }}
2049
- </ng-container>
2050
- </span>
2057
+ >
2058
+ </ng-template>
2059
+ }
2060
+ @if (!loadMoreButtonTemplateRef) {
2061
+ {{ loadMoreTitle }}
2062
+ }
2051
2063
  </span>
2064
+ </span>
2052
2065
  </div>
2053
- </li>
2054
- `,
2066
+ </li>
2067
+ }
2068
+ `,
2055
2069
  standalone: true,
2056
- imports: [NgFor, TreeViewItemDirective, NgClass, NgIf, LoadingIndicatorDirective, IconWrapperComponent, CheckBoxComponent, TreeViewItemContentDirective, NgSwitch, NgSwitchCase, NgTemplateOutlet, NgSwitchDefault]
2070
+ imports: [TreeViewItemDirective, NgClass, LoadingIndicatorDirective, IconWrapperComponent, CheckBoxComponent, TreeViewItemContentDirective, NgTemplateOutlet]
2057
2071
  }]
2058
2072
  }], ctorParameters: () => [{ type: ExpandStateService }, { type: LoadingNotificationService }, { type: IndexBuilderService }, { type: TreeViewLookupService }, { type: NavigationService }, { type: NodeChildrenService }, { type: DataChangeNotificationService }, { type: i0.ChangeDetectorRef }, { type: i1.LocalizationService }, { type: i0.Renderer2 }], propDecorators: { kGroupClass: [{
2059
2073
  type: HostBinding,
@@ -2769,64 +2783,65 @@ class TreeViewComponent {
2769
2783
  });
2770
2784
  }
2771
2785
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TreeViewComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: ExpandStateService }, { token: NavigationService }, { token: NodeChildrenService }, { token: SelectionService }, { token: TreeViewLookupService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: DataChangeNotificationService }, { token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
2772
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: TreeViewComponent, isStandalone: true, selector: "kendo-treeview", inputs: { filterInputPlaceholder: "filterInputPlaceholder", expandDisabledNodes: "expandDisabledNodes", animate: "animate", nodeTemplateRef: ["nodeTemplate", "nodeTemplateRef"], loadMoreButtonTemplateRef: ["loadMoreButtonTemplate", "loadMoreButtonTemplateRef"], trackBy: "trackBy", nodes: "nodes", textField: "textField", hasChildren: "hasChildren", isChecked: "isChecked", isDisabled: "isDisabled", hasCheckbox: "hasCheckbox", isExpanded: "isExpanded", isSelected: "isSelected", isVisible: "isVisible", navigable: "navigable", children: "children", loadOnDemand: "loadOnDemand", filterable: "filterable", filter: "filter", size: "size", disableParentNodesOnly: "disableParentNodesOnly" }, outputs: { childrenLoaded: "childrenLoaded", onBlur: "blur", onFocus: "focus", expand: "expand", collapse: "collapse", nodeDragStart: "nodeDragStart", nodeDrag: "nodeDrag", filterStateChange: "filterStateChange", nodeDrop: "nodeDrop", nodeDragEnd: "nodeDragEnd", addItem: "addItem", removeItem: "removeItem", checkedChange: "checkedChange", selectionChange: "selectionChange", filterChange: "filterChange", nodeClick: "nodeClick", nodeDblClick: "nodeDblClick" }, host: { properties: { "class.k-treeview": "this.classNames", "attr.dir": "this.direction", "@.disabled": "this.animate" } }, providers: providers, queries: [{ propertyName: "nodeTemplateQuery", first: true, predicate: NodeTemplateDirective, descendants: true }, { propertyName: "loadMoreButtonTemplateQuery", first: true, predicate: LoadMoreButtonTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "assetsContainer", first: true, predicate: ["assetsContainer"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "searchbox", first: true, predicate: ["searchbox"], descendants: true }], exportAs: ["kendoTreeView"], usesOnChanges: true, ngImport: i0, template: `
2786
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TreeViewComponent, isStandalone: true, selector: "kendo-treeview", inputs: { filterInputPlaceholder: "filterInputPlaceholder", expandDisabledNodes: "expandDisabledNodes", animate: "animate", nodeTemplateRef: ["nodeTemplate", "nodeTemplateRef"], loadMoreButtonTemplateRef: ["loadMoreButtonTemplate", "loadMoreButtonTemplateRef"], trackBy: "trackBy", nodes: "nodes", textField: "textField", hasChildren: "hasChildren", isChecked: "isChecked", isDisabled: "isDisabled", hasCheckbox: "hasCheckbox", isExpanded: "isExpanded", isSelected: "isSelected", isVisible: "isVisible", navigable: "navigable", children: "children", loadOnDemand: "loadOnDemand", filterable: "filterable", filter: "filter", size: "size", disableParentNodesOnly: "disableParentNodesOnly" }, outputs: { childrenLoaded: "childrenLoaded", onBlur: "blur", onFocus: "focus", expand: "expand", collapse: "collapse", nodeDragStart: "nodeDragStart", nodeDrag: "nodeDrag", filterStateChange: "filterStateChange", nodeDrop: "nodeDrop", nodeDragEnd: "nodeDragEnd", addItem: "addItem", removeItem: "removeItem", checkedChange: "checkedChange", selectionChange: "selectionChange", filterChange: "filterChange", nodeClick: "nodeClick", nodeDblClick: "nodeDblClick" }, host: { properties: { "class.k-treeview": "this.classNames", "attr.dir": "this.direction", "@.disabled": "this.animate" } }, providers: providers, queries: [{ propertyName: "nodeTemplateQuery", first: true, predicate: NodeTemplateDirective, descendants: true }, { propertyName: "loadMoreButtonTemplateQuery", first: true, predicate: LoadMoreButtonTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "assetsContainer", first: true, predicate: ["assetsContainer"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "searchbox", first: true, predicate: ["searchbox"], descendants: true }], exportAs: ["kendoTreeView"], usesOnChanges: true, ngImport: i0, template: `
2773
2787
  <ng-container kendoTreeViewLocalizedMessages
2774
- i18n-loadMore="kendo.treeview.loadMore|The title of the Load More button"
2775
- loadMore="Load more..."
2776
- >
2788
+ i18n-loadMore="kendo.treeview.loadMore|The title of the Load More button"
2789
+ loadMore="Load more..."
2790
+ >
2777
2791
  </ng-container>
2778
- <span
2792
+ @if (filterable) {
2793
+ <span
2779
2794
  class="k-treeview-filter"
2780
- *ngIf="filterable"
2781
- >
2782
- <kendo-textbox
2783
- #searchbox
2784
- [size]="size"
2785
- [value]="filter"
2786
- [clearButton]="true"
2787
- (valueChange)="filterChange.emit($event)"
2788
- [placeholder]="filterInputPlaceholder"
2789
2795
  >
2790
- <ng-template kendoTextBoxPrefixTemplate>
2791
- <kendo-icon-wrapper
2792
- innerCssClass="k-input-icon"
2793
- name="search"
2794
- [svgIcon]="searchIcon"
2795
- >
2796
- </kendo-icon-wrapper>
2797
- </ng-template>
2796
+ <kendo-textbox
2797
+ #searchbox
2798
+ [size]="size"
2799
+ [value]="filter"
2800
+ [clearButton]="true"
2801
+ (valueChange)="filterChange.emit($event)"
2802
+ [placeholder]="filterInputPlaceholder"
2803
+ >
2804
+ <ng-template kendoTextBoxPrefixTemplate>
2805
+ <kendo-icon-wrapper
2806
+ innerCssClass="k-input-icon"
2807
+ name="search"
2808
+ [svgIcon]="searchIcon"
2809
+ >
2810
+ </kendo-icon-wrapper>
2811
+ </ng-template>
2798
2812
  </kendo-textbox>
2799
- </span>
2813
+ </span>
2814
+ }
2800
2815
  <ul class="k-treeview-lines"
2801
- kendoTreeViewGroup
2802
- [attr.id]="treeviewId"
2803
- role="tree"
2804
- [size]="size"
2805
- [loadOnDemand]="loadOnDemand"
2806
- [checkboxes]="checkboxes"
2807
- [expandIcons]="expandIcons"
2808
- [selectable]="selectable"
2809
- [touchActions]="touchActions"
2810
- [children]="children"
2811
- [hasChildren]="hasChildren"
2812
- [isChecked]="isChecked"
2813
- [isDisabled]="isDisabled"
2814
- [hasCheckbox]="hasCheckbox"
2815
- [disableParentNodesOnly]="disableParentNodesOnly"
2816
- [isExpanded]="isExpanded"
2817
- [isSelected]="isSelected"
2818
- [isVisible]="isVisible"
2819
- [nodeTemplateRef]="nodeTemplateRef?.templateRef"
2820
- [loadMoreButtonTemplateRef]="loadMoreButtonTemplateRef?.templateRef"
2821
- [textField]="textField"
2822
- [nodes]="fetchNodes"
2823
- [loadMoreService]="loadMoreService"
2824
- [trackBy]="trackBy"
2825
- [expandDisabledNodes]="expandDisabledNodes"
2826
- >
2816
+ kendoTreeViewGroup
2817
+ [attr.id]="treeviewId"
2818
+ role="tree"
2819
+ [size]="size"
2820
+ [loadOnDemand]="loadOnDemand"
2821
+ [checkboxes]="checkboxes"
2822
+ [expandIcons]="expandIcons"
2823
+ [selectable]="selectable"
2824
+ [touchActions]="touchActions"
2825
+ [children]="children"
2826
+ [hasChildren]="hasChildren"
2827
+ [isChecked]="isChecked"
2828
+ [isDisabled]="isDisabled"
2829
+ [hasCheckbox]="hasCheckbox"
2830
+ [disableParentNodesOnly]="disableParentNodesOnly"
2831
+ [isExpanded]="isExpanded"
2832
+ [isSelected]="isSelected"
2833
+ [isVisible]="isVisible"
2834
+ [nodeTemplateRef]="nodeTemplateRef?.templateRef"
2835
+ [loadMoreButtonTemplateRef]="loadMoreButtonTemplateRef?.templateRef"
2836
+ [textField]="textField"
2837
+ [nodes]="fetchNodes"
2838
+ [loadMoreService]="loadMoreService"
2839
+ [trackBy]="trackBy"
2840
+ [expandDisabledNodes]="expandDisabledNodes"
2841
+ >
2827
2842
  </ul>
2828
2843
  <ng-container #assetsContainer></ng-container>
2829
- `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "[kendoTreeViewLocalizedMessages]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: TextBoxComponent, selector: "kendo-textbox", inputs: ["focusableId", "title", "type", "disabled", "readonly", "tabindex", "value", "selectOnFocus", "showSuccessIcon", "showErrorIcon", "clearButton", "successIcon", "successSvgIcon", "errorIcon", "errorSvgIcon", "clearButtonIcon", "clearButtonSvgIcon", "size", "rounded", "fillMode", "tabIndex", "placeholder", "maxlength", "inputAttributes"], outputs: ["valueChange", "inputFocus", "inputBlur", "focus", "blur"], exportAs: ["kendoTextBox"] }, { kind: "directive", type: TextBoxPrefixTemplateDirective, selector: "[kendoTextBoxPrefixTemplate]", inputs: ["showSeparator"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "component", type: TreeViewGroupComponent, selector: "[kendoTreeViewGroup]", inputs: ["checkboxes", "expandIcons", "disabled", "selectable", "touchActions", "disableParentNodesOnly", "loadOnDemand", "trackBy", "nodes", "textField", "parentDataItem", "parentIndex", "nodeTemplateRef", "loadMoreButtonTemplateRef", "loadMoreService", "size", "expandDisabledNodes", "isChecked", "isDisabled", "hasCheckbox", "isExpanded", "isVisible", "isSelected", "children", "hasChildren"] }], changeDetection: i0.ChangeDetectionStrategy.Default });
2844
+ `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "[kendoTreeViewLocalizedMessages]" }, { kind: "component", type: TextBoxComponent, selector: "kendo-textbox", inputs: ["focusableId", "title", "type", "disabled", "readonly", "tabindex", "value", "selectOnFocus", "showSuccessIcon", "showErrorIcon", "clearButton", "successIcon", "successSvgIcon", "errorIcon", "errorSvgIcon", "clearButtonIcon", "clearButtonSvgIcon", "size", "rounded", "fillMode", "tabIndex", "placeholder", "maxlength", "inputAttributes"], outputs: ["valueChange", "inputFocus", "inputBlur", "focus", "blur"], exportAs: ["kendoTextBox"] }, { kind: "directive", type: TextBoxPrefixTemplateDirective, selector: "[kendoTextBoxPrefixTemplate]", inputs: ["showSeparator"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "component", type: TreeViewGroupComponent, selector: "[kendoTreeViewGroup]", inputs: ["checkboxes", "expandIcons", "disabled", "selectable", "touchActions", "disableParentNodesOnly", "loadOnDemand", "trackBy", "nodes", "textField", "parentDataItem", "parentIndex", "nodeTemplateRef", "loadMoreButtonTemplateRef", "loadMoreService", "size", "expandDisabledNodes", "isChecked", "isDisabled", "hasCheckbox", "isExpanded", "isVisible", "isSelected", "children", "hasChildren"] }], changeDetection: i0.ChangeDetectionStrategy.Default });
2830
2845
  }
2831
2846
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TreeViewComponent, decorators: [{
2832
2847
  type: Component,
@@ -2837,64 +2852,65 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
2837
2852
  selector: 'kendo-treeview',
2838
2853
  template: `
2839
2854
  <ng-container kendoTreeViewLocalizedMessages
2840
- i18n-loadMore="kendo.treeview.loadMore|The title of the Load More button"
2841
- loadMore="Load more..."
2842
- >
2855
+ i18n-loadMore="kendo.treeview.loadMore|The title of the Load More button"
2856
+ loadMore="Load more..."
2857
+ >
2843
2858
  </ng-container>
2844
- <span
2859
+ @if (filterable) {
2860
+ <span
2845
2861
  class="k-treeview-filter"
2846
- *ngIf="filterable"
2847
- >
2848
- <kendo-textbox
2849
- #searchbox
2850
- [size]="size"
2851
- [value]="filter"
2852
- [clearButton]="true"
2853
- (valueChange)="filterChange.emit($event)"
2854
- [placeholder]="filterInputPlaceholder"
2855
2862
  >
2856
- <ng-template kendoTextBoxPrefixTemplate>
2857
- <kendo-icon-wrapper
2858
- innerCssClass="k-input-icon"
2859
- name="search"
2860
- [svgIcon]="searchIcon"
2861
- >
2862
- </kendo-icon-wrapper>
2863
- </ng-template>
2863
+ <kendo-textbox
2864
+ #searchbox
2865
+ [size]="size"
2866
+ [value]="filter"
2867
+ [clearButton]="true"
2868
+ (valueChange)="filterChange.emit($event)"
2869
+ [placeholder]="filterInputPlaceholder"
2870
+ >
2871
+ <ng-template kendoTextBoxPrefixTemplate>
2872
+ <kendo-icon-wrapper
2873
+ innerCssClass="k-input-icon"
2874
+ name="search"
2875
+ [svgIcon]="searchIcon"
2876
+ >
2877
+ </kendo-icon-wrapper>
2878
+ </ng-template>
2864
2879
  </kendo-textbox>
2865
- </span>
2880
+ </span>
2881
+ }
2866
2882
  <ul class="k-treeview-lines"
2867
- kendoTreeViewGroup
2868
- [attr.id]="treeviewId"
2869
- role="tree"
2870
- [size]="size"
2871
- [loadOnDemand]="loadOnDemand"
2872
- [checkboxes]="checkboxes"
2873
- [expandIcons]="expandIcons"
2874
- [selectable]="selectable"
2875
- [touchActions]="touchActions"
2876
- [children]="children"
2877
- [hasChildren]="hasChildren"
2878
- [isChecked]="isChecked"
2879
- [isDisabled]="isDisabled"
2880
- [hasCheckbox]="hasCheckbox"
2881
- [disableParentNodesOnly]="disableParentNodesOnly"
2882
- [isExpanded]="isExpanded"
2883
- [isSelected]="isSelected"
2884
- [isVisible]="isVisible"
2885
- [nodeTemplateRef]="nodeTemplateRef?.templateRef"
2886
- [loadMoreButtonTemplateRef]="loadMoreButtonTemplateRef?.templateRef"
2887
- [textField]="textField"
2888
- [nodes]="fetchNodes"
2889
- [loadMoreService]="loadMoreService"
2890
- [trackBy]="trackBy"
2891
- [expandDisabledNodes]="expandDisabledNodes"
2892
- >
2883
+ kendoTreeViewGroup
2884
+ [attr.id]="treeviewId"
2885
+ role="tree"
2886
+ [size]="size"
2887
+ [loadOnDemand]="loadOnDemand"
2888
+ [checkboxes]="checkboxes"
2889
+ [expandIcons]="expandIcons"
2890
+ [selectable]="selectable"
2891
+ [touchActions]="touchActions"
2892
+ [children]="children"
2893
+ [hasChildren]="hasChildren"
2894
+ [isChecked]="isChecked"
2895
+ [isDisabled]="isDisabled"
2896
+ [hasCheckbox]="hasCheckbox"
2897
+ [disableParentNodesOnly]="disableParentNodesOnly"
2898
+ [isExpanded]="isExpanded"
2899
+ [isSelected]="isSelected"
2900
+ [isVisible]="isVisible"
2901
+ [nodeTemplateRef]="nodeTemplateRef?.templateRef"
2902
+ [loadMoreButtonTemplateRef]="loadMoreButtonTemplateRef?.templateRef"
2903
+ [textField]="textField"
2904
+ [nodes]="fetchNodes"
2905
+ [loadMoreService]="loadMoreService"
2906
+ [trackBy]="trackBy"
2907
+ [expandDisabledNodes]="expandDisabledNodes"
2908
+ >
2893
2909
  </ul>
2894
2910
  <ng-container #assetsContainer></ng-container>
2895
- `,
2911
+ `,
2896
2912
  standalone: true,
2897
- imports: [LocalizedMessagesDirective, NgIf, TextBoxComponent, TextBoxPrefixTemplateDirective, IconWrapperComponent, TreeViewGroupComponent]
2913
+ imports: [LocalizedMessagesDirective, TextBoxComponent, TextBoxPrefixTemplateDirective, IconWrapperComponent, TreeViewGroupComponent]
2898
2914
  }]
2899
2915
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: ExpandStateService }, { type: NavigationService }, { type: NodeChildrenService }, { type: SelectionService }, { type: TreeViewLookupService }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: DataChangeNotificationService }, { type: i1.LocalizationService }], propDecorators: { classNames: [{
2900
2916
  type: HostBinding,
@@ -3693,19 +3709,19 @@ class DragClueComponent {
3693
3709
  this.cdr.detectChanges();
3694
3710
  }
3695
3711
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DragClueComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
3696
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DragClueComponent, isStandalone: true, selector: "kendo-treeview-drag-clue", host: { properties: { "class.k-header": "this.hostClasses", "class.k-drag-clue": "this.hostClasses", "style.position": "this.posistionStyle" } }, ngImport: i0, template: `
3697
- <ng-container *ngIf="!template">
3698
- <kendo-icon-wrapper
3699
- innerCssClass="k-drag-status"
3700
- [name]="statusIconClass"
3701
- [svgIcon]="statusSVGIcon"
3702
- >
3703
- </kendo-icon-wrapper>
3704
- <span>{{text}}</span>
3705
- </ng-container>
3706
-
3707
- <ng-template
3708
- *ngIf="template"
3712
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: DragClueComponent, isStandalone: true, selector: "kendo-treeview-drag-clue", host: { properties: { "class.k-header": "this.hostClasses", "class.k-drag-clue": "this.hostClasses", "style.position": "this.posistionStyle" } }, ngImport: i0, template: `
3713
+ @if (!template) {
3714
+ <kendo-icon-wrapper
3715
+ innerCssClass="k-drag-status"
3716
+ [name]="statusIconClass"
3717
+ [svgIcon]="statusSVGIcon"
3718
+ >
3719
+ </kendo-icon-wrapper>
3720
+ <span>{{text}}</span>
3721
+ }
3722
+
3723
+ @if (template) {
3724
+ <ng-template
3709
3725
  [ngTemplateOutlet]="template"
3710
3726
  [ngTemplateOutletContext]="{
3711
3727
  text: text,
@@ -3713,9 +3729,10 @@ class DragClueComponent {
3713
3729
  sourceItem: sourceItem,
3714
3730
  destinationItem: destinationItem
3715
3731
  }"
3716
- >
3717
- </ng-template>
3718
- `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3732
+ >
3733
+ </ng-template>
3734
+ }
3735
+ `, isInline: true, dependencies: [{ kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3719
3736
  }
3720
3737
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DragClueComponent, decorators: [{
3721
3738
  type: Component,
@@ -3723,18 +3740,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
3723
3740
  changeDetection: ChangeDetectionStrategy.OnPush,
3724
3741
  selector: 'kendo-treeview-drag-clue',
3725
3742
  template: `
3726
- <ng-container *ngIf="!template">
3727
- <kendo-icon-wrapper
3728
- innerCssClass="k-drag-status"
3729
- [name]="statusIconClass"
3730
- [svgIcon]="statusSVGIcon"
3731
- >
3732
- </kendo-icon-wrapper>
3733
- <span>{{text}}</span>
3734
- </ng-container>
3735
-
3736
- <ng-template
3737
- *ngIf="template"
3743
+ @if (!template) {
3744
+ <kendo-icon-wrapper
3745
+ innerCssClass="k-drag-status"
3746
+ [name]="statusIconClass"
3747
+ [svgIcon]="statusSVGIcon"
3748
+ >
3749
+ </kendo-icon-wrapper>
3750
+ <span>{{text}}</span>
3751
+ }
3752
+
3753
+ @if (template) {
3754
+ <ng-template
3738
3755
  [ngTemplateOutlet]="template"
3739
3756
  [ngTemplateOutletContext]="{
3740
3757
  text: text,
@@ -3742,11 +3759,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
3742
3759
  sourceItem: sourceItem,
3743
3760
  destinationItem: destinationItem
3744
3761
  }"
3745
- >
3746
- </ng-template>
3747
- `,
3762
+ >
3763
+ </ng-template>
3764
+ }
3765
+ `,
3748
3766
  standalone: true,
3749
- imports: [NgIf, IconWrapperComponent, NgTemplateOutlet]
3767
+ imports: [IconWrapperComponent, NgTemplateOutlet]
3750
3768
  }]
3751
3769
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { hostClasses: [{
3752
3770
  type: HostBinding,
@@ -4210,26 +4228,28 @@ class DropHintComponent {
4210
4228
  this.changeDetectorRef.detectChanges();
4211
4229
  }
4212
4230
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropHintComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
4213
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DropHintComponent, isStandalone: true, selector: "kendo-treeview-drop-hint", host: { properties: { "class.k-drop-hint-container": "this.hostClass", "style.position": "this.position", "style.pointer-events": "this.pointerEvents" } }, ngImport: i0, template: `
4214
- <div
4215
- *ngIf="!template"
4216
- class="k-drop-hint k-drop-hint-h"
4217
- >
4218
- <div class='k-drop-hint-start'></div>
4219
- <div class='k-drop-hint-line'></div>
4220
- </div>
4231
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: DropHintComponent, isStandalone: true, selector: "kendo-treeview-drop-hint", host: { properties: { "class.k-drop-hint-container": "this.hostClass", "style.position": "this.position", "style.pointer-events": "this.pointerEvents" } }, ngImport: i0, template: `
4232
+ @if (!template) {
4233
+ <div
4234
+ class="k-drop-hint k-drop-hint-h"
4235
+ >
4236
+ <div class='k-drop-hint-start'></div>
4237
+ <div class='k-drop-hint-line'></div>
4238
+ </div>
4239
+ }
4221
4240
 
4222
- <ng-template
4223
- *ngIf="template"
4224
- [ngTemplateOutlet]="template"
4225
- [ngTemplateOutletContext]="{
4226
- action: action,
4227
- sourceItem: sourceItem,
4228
- destinationItem: destinationItem
4229
- }"
4230
- >
4231
- <ng-template>
4232
- `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
4241
+ @if (template) {
4242
+ <ng-template
4243
+ [ngTemplateOutlet]="template"
4244
+ [ngTemplateOutletContext]="{
4245
+ action: action,
4246
+ sourceItem: sourceItem,
4247
+ destinationItem: destinationItem
4248
+ }"
4249
+ >
4250
+ </ng-template>
4251
+ }
4252
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
4233
4253
  }
4234
4254
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropHintComponent, decorators: [{
4235
4255
  type: Component,
@@ -4237,27 +4257,29 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
4237
4257
  changeDetection: ChangeDetectionStrategy.OnPush,
4238
4258
  selector: 'kendo-treeview-drop-hint',
4239
4259
  template: `
4240
- <div
4241
- *ngIf="!template"
4242
- class="k-drop-hint k-drop-hint-h"
4243
- >
4244
- <div class='k-drop-hint-start'></div>
4245
- <div class='k-drop-hint-line'></div>
4246
- </div>
4260
+ @if (!template) {
4261
+ <div
4262
+ class="k-drop-hint k-drop-hint-h"
4263
+ >
4264
+ <div class='k-drop-hint-start'></div>
4265
+ <div class='k-drop-hint-line'></div>
4266
+ </div>
4267
+ }
4247
4268
 
4248
- <ng-template
4249
- *ngIf="template"
4250
- [ngTemplateOutlet]="template"
4251
- [ngTemplateOutletContext]="{
4252
- action: action,
4253
- sourceItem: sourceItem,
4254
- destinationItem: destinationItem
4255
- }"
4256
- >
4257
- <ng-template>
4269
+ @if (template) {
4270
+ <ng-template
4271
+ [ngTemplateOutlet]="template"
4272
+ [ngTemplateOutletContext]="{
4273
+ action: action,
4274
+ sourceItem: sourceItem,
4275
+ destinationItem: destinationItem
4276
+ }"
4277
+ >
4278
+ </ng-template>
4279
+ }
4258
4280
  `,
4259
4281
  standalone: true,
4260
- imports: [NgIf, NgTemplateOutlet]
4282
+ imports: [NgTemplateOutlet]
4261
4283
  }]
4262
4284
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { hostClass: [{
4263
4285
  type: HostBinding,