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

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.
@@ -33,7 +33,7 @@ import { normalizeVirtualizationSettings } from '../common/models/virtualization
33
33
  import { pointers, touchEnabled } from '@progress/kendo-common';
34
34
  import { caretAltDownIcon, xIcon } from '@progress/kendo-svg-icons';
35
35
  import { AdaptiveRendererComponent } from '../common/adaptive-renderer.component';
36
- import { NgIf, NgTemplateOutlet, NgClass } from '@angular/common';
36
+ import { NgTemplateOutlet, NgClass } from '@angular/common';
37
37
  import { SharedDropDownEventsDirective } from '../common/shared-events.directive';
38
38
  import { LocalizedMessagesDirective } from '../common/localization/localized-messages.directive';
39
39
  import { IconWrapperComponent } from '@progress/kendo-angular-icons';
@@ -1576,7 +1576,7 @@ export class ComboBoxComponent extends MultiTabStop {
1576
1576
  }
1577
1577
  }
1578
1578
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ComboBoxComponent, deps: [{ token: i0.ElementRef }, { token: i1.LocalizationService }, { token: i2.PopupService }, { token: i3.SelectionService }, { token: i4.NavigationService }, { token: i5.DisabledItemsService }, { token: i6.DataService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i0.Injector }, { token: i0.ElementRef }, { token: i7.AdaptiveService }], target: i0.ɵɵFactoryTarget.Component });
1579
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ComboBoxComponent, isStandalone: true, selector: "kendo-combobox", inputs: { icon: "icon", svgIcon: "svgIcon", inputAttributes: "inputAttributes", showStickyHeader: "showStickyHeader", focusableId: "focusableId", allowCustom: "allowCustom", data: "data", value: "value", textField: "textField", valueField: "valueField", valuePrimitive: "valuePrimitive", valueNormalizer: "valueNormalizer", placeholder: "placeholder", adaptiveMode: "adaptiveMode", adaptiveTitle: "adaptiveTitle", adaptiveSubtitle: "adaptiveSubtitle", popupSettings: "popupSettings", listHeight: "listHeight", loading: "loading", suggest: "suggest", clearButton: "clearButton", disabled: "disabled", itemDisabled: "itemDisabled", readonly: "readonly", tabindex: "tabindex", tabIndex: "tabIndex", filterable: "filterable", virtual: "virtual", size: "size", rounded: "rounded", fillMode: "fillMode" }, outputs: { valueChange: "valueChange", selectionChange: "selectionChange", filterChange: "filterChange", open: "open", opened: "opened", close: "close", closed: "closed", onFocus: "focus", onBlur: "blur", inputFocus: "inputFocus", inputBlur: "inputBlur", escape: "escape" }, host: { properties: { "class.k-readonly": "this.readonly", "class.k-combobox": "this.widgetClasses", "class.k-input": "this.widgetClasses", "class.k-disabled": "this.isDisabled", "class.k-loading": "this.isLoading", "attr.dir": "this.dir" } }, providers: [
1579
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ComboBoxComponent, isStandalone: true, selector: "kendo-combobox", inputs: { icon: "icon", svgIcon: "svgIcon", inputAttributes: "inputAttributes", showStickyHeader: "showStickyHeader", focusableId: "focusableId", allowCustom: "allowCustom", data: "data", value: "value", textField: "textField", valueField: "valueField", valuePrimitive: "valuePrimitive", valueNormalizer: "valueNormalizer", placeholder: "placeholder", adaptiveMode: "adaptiveMode", adaptiveTitle: "adaptiveTitle", adaptiveSubtitle: "adaptiveSubtitle", popupSettings: "popupSettings", listHeight: "listHeight", loading: "loading", suggest: "suggest", clearButton: "clearButton", disabled: "disabled", itemDisabled: "itemDisabled", readonly: "readonly", tabindex: "tabindex", tabIndex: "tabIndex", filterable: "filterable", virtual: "virtual", size: "size", rounded: "rounded", fillMode: "fillMode" }, outputs: { valueChange: "valueChange", selectionChange: "selectionChange", filterChange: "filterChange", open: "open", opened: "opened", close: "close", closed: "closed", onFocus: "focus", onBlur: "blur", inputFocus: "inputFocus", inputBlur: "inputBlur", escape: "escape" }, host: { properties: { "class.k-readonly": "this.readonly", "class.k-combobox": "this.widgetClasses", "class.k-input": "this.widgetClasses", "class.k-disabled": "this.isDisabled", "class.k-loading": "this.isLoading", "attr.dir": "this.dir" } }, providers: [
1580
1580
  COMBOBOX_VALUE_ACCESSOR,
1581
1581
  DataService,
1582
1582
  SelectionService,
@@ -1598,168 +1598,189 @@ export class ComboBoxComponent extends MultiTabStop {
1598
1598
  }
1599
1599
  ], queries: [{ propertyName: "template", first: true, predicate: ItemTemplateDirective, descendants: true }, { propertyName: "headerTemplate", first: true, predicate: HeaderTemplateDirective, descendants: true }, { propertyName: "footerTemplate", first: true, predicate: FooterTemplateDirective, descendants: true }, { propertyName: "noDataTemplate", first: true, predicate: NoDataTemplateDirective, descendants: true }, { propertyName: "groupTemplate", first: true, predicate: GroupTemplateDirective, descendants: true }, { propertyName: "fixedGroupTemplate", first: true, predicate: FixedGroupTemplateDirective, descendants: true }, { propertyName: "suffixTemplate", first: true, predicate: SuffixTemplateDirective, descendants: true }, { propertyName: "prefixTemplate", first: true, predicate: PrefixTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "adaptiveRendererComponent", first: true, predicate: AdaptiveRendererComponent, descendants: true }, { propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "popupTemplate", first: true, predicate: ["popupTemplate"], descendants: true, static: true }, { propertyName: "searchbar", first: true, predicate: SearchBarComponent, descendants: true, static: true }, { propertyName: "optionsList", first: true, predicate: ["optionsList"], descendants: true }, { propertyName: "select", first: true, predicate: ["select"], descendants: true, static: true }], exportAs: ["kendoComboBox"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
1600
1600
  <ng-container kendoComboBoxLocalizedMessages
1601
- i18n-noDataText="kendo.combobox.noDataText|The text displayed in the popup when there are no items"
1602
- noDataText="NO DATA FOUND"
1603
-
1604
- i18n-clearTitle="kendo.combobox.clearTitle|The title of the clear button"
1605
- clearTitle="clear"
1606
-
1607
- i18n-selectButtonText="kendo.combobox.selectButtonText|The text set as aria-label on the select button"
1608
- selectButtonText="Select"
1609
-
1610
- i18n-popupLabel="kendo.combobox.popupLabel|The label of the popup element that contains the list of options when its role is 'region'"
1611
- popupLabel="Options list"
1612
-
1613
- i18n-adaptiveCloseButtonTitle="kendo.combobox.adaptiveCloseButtonTitle|The title of the Close button of the ActionSheet that is rendered instead of the Popup when using small screen devices in adaptive mode"
1614
- adaptiveCloseButtonTitle="Close"
1615
- >
1601
+ i18n-noDataText="kendo.combobox.noDataText|The text displayed in the popup when there are no items"
1602
+ noDataText="NO DATA FOUND"
1603
+
1604
+ i18n-clearTitle="kendo.combobox.clearTitle|The title of the clear button"
1605
+ clearTitle="clear"
1606
+
1607
+ i18n-selectButtonText="kendo.combobox.selectButtonText|The text set as aria-label on the select button"
1608
+ selectButtonText="Select"
1609
+
1610
+ i18n-popupLabel="kendo.combobox.popupLabel|The label of the popup element that contains the list of options when its role is 'region'"
1611
+ popupLabel="Options list"
1612
+
1613
+ i18n-adaptiveCloseButtonTitle="kendo.combobox.adaptiveCloseButtonTitle|The title of the Close button of the ActionSheet that is rendered instead of the Popup when using small screen devices in adaptive mode"
1614
+ adaptiveCloseButtonTitle="Close"
1615
+ >
1616
1616
  </ng-container>
1617
-
1617
+
1618
1618
  <ng-container
1619
- kendoDropDownSharedEvents
1620
- [hostElement]="hostElement"
1621
- [(isFocused)]="isFocused"
1622
- (handleBlur)="handleBlur()"
1623
- (onFocus)="handleFocus()"
1624
- >
1625
- <span *ngIf="prefixTemplate" class="k-input-prefix k-input-prefix-horizontal">
1626
- <ng-template [ngTemplateOutlet]="prefixTemplate?.templateRef">
1627
- </ng-template>
1619
+ kendoDropDownSharedEvents
1620
+ [hostElement]="hostElement"
1621
+ [(isFocused)]="isFocused"
1622
+ (handleBlur)="handleBlur()"
1623
+ (onFocus)="handleFocus()"
1624
+ >
1625
+ @if (prefixTemplate) {
1626
+ <span class="k-input-prefix k-input-prefix-horizontal">
1627
+ <ng-template [ngTemplateOutlet]="prefixTemplate?.templateRef">
1628
+ </ng-template>
1628
1629
  </span>
1629
- <kendo-separator *ngIf="prefixTemplate && prefixTemplate.showSeparator"></kendo-separator>
1630
- <input
1631
- kendoSearchbar
1632
- [ariaExpanded]="isOpen"
1633
- [ariaControls]="ariaControls"
1634
- [id]="focusableId"
1635
- [isLoading]="loading"
1636
- [isSuggestable]="suggest"
1637
- [isFilterable]="filterable"
1638
- [activeDescendant]="activeDescendant"
1639
- [userInput]="text"
1640
- [suggestedText]="getSuggestion()"
1641
- [disabled]="disabled"
1642
- [readonly]="readonly || isAdaptive"
1643
- [tabIndex]="tabIndex"
1644
- [isRequired]="isControlRequired"
1645
- [placeholder]="placeholder"
1646
- [inputAttributes]="inputAttributes"
1647
- (onNavigate)="handleNavigate($event)"
1648
- (valueChange)="searchBarChange($event)"
1649
- (onBlur)="handleInputBlur()"
1650
- (onFocus)="handleInputFocus()"
1651
- (click)="handleClick()"
1630
+ }
1631
+ @if (prefixTemplate && prefixTemplate.showSeparator) {
1632
+ <kendo-separator></kendo-separator>
1633
+ }
1634
+ <input
1635
+ kendoSearchbar
1636
+ [ariaExpanded]="isOpen"
1637
+ [ariaControls]="ariaControls"
1638
+ [id]="focusableId"
1639
+ [isLoading]="loading"
1640
+ [isSuggestable]="suggest"
1641
+ [isFilterable]="filterable"
1642
+ [activeDescendant]="activeDescendant"
1643
+ [userInput]="text"
1644
+ [suggestedText]="getSuggestion()"
1645
+ [disabled]="disabled"
1646
+ [readonly]="readonly || isAdaptive"
1647
+ [tabIndex]="tabIndex"
1648
+ [isRequired]="isControlRequired"
1649
+ [placeholder]="placeholder"
1650
+ [inputAttributes]="inputAttributes"
1651
+ (onNavigate)="handleNavigate($event)"
1652
+ (valueChange)="searchBarChange($event)"
1653
+ (onBlur)="handleInputBlur()"
1654
+ (onFocus)="handleInputFocus()"
1655
+ (click)="handleClick()"
1652
1656
  />
1657
+ @if (clearButton && !loading && !disabled && !readonly && text?.length) {
1653
1658
  <span
1654
- *ngIf="clearButton && !loading && !disabled && !readonly && text?.length"
1655
- class="k-clear-value"
1656
- [style.visibility]="clearButtonVisibility"
1657
- aria-hidden="true"
1658
- [attr.title]="messageFor('clearTitle')"
1659
- (click)="clearValue($event)"
1659
+ class="k-clear-value"
1660
+ [style.visibility]="clearButtonVisibility"
1661
+ aria-hidden="true"
1662
+ [attr.title]="messageFor('clearTitle')"
1663
+ (click)="clearValue($event)"
1660
1664
  [kendoEventsOutsideAngular]="{
1661
1665
  mousedown: preventEventDefault
1662
1666
  }"
1663
- >
1664
- <kendo-icon-wrapper
1665
- name="x"
1666
- [svgIcon]="xIcon"
1667
+ >
1668
+ <kendo-icon-wrapper
1669
+ name="x"
1670
+ [svgIcon]="xIcon"
1667
1671
  >
1668
- </kendo-icon-wrapper>
1672
+ </kendo-icon-wrapper>
1669
1673
  </span>
1670
- <span *ngIf="loading" class="k-i-loading k-input-loading-icon k-icon"></span>
1671
- <kendo-separator *ngIf="suffixTemplate && suffixTemplate.showSeparator"></kendo-separator>
1672
- <span *ngIf="suffixTemplate" class="k-input-suffix k-input-suffix-horizontal">
1673
- <ng-template [ngTemplateOutlet]="suffixTemplate?.templateRef">
1674
- </ng-template>
1674
+ }
1675
+ @if (loading) {
1676
+ <span class="k-i-loading k-input-loading-icon k-icon"></span>
1677
+ }
1678
+ @if (suffixTemplate && suffixTemplate.showSeparator) {
1679
+ <kendo-separator></kendo-separator>
1680
+ }
1681
+ @if (suffixTemplate) {
1682
+ <span class="k-input-suffix k-input-suffix-horizontal">
1683
+ <ng-template [ngTemplateOutlet]="suffixTemplate?.templateRef">
1684
+ </ng-template>
1675
1685
  </span>
1676
- <button
1677
- #select
1678
- tabindex="-1"
1679
- unselectable="on"
1680
- type="button"
1681
- class="k-input-button k-button k-icon-button"
1682
- [ngClass]="selectButtonClasses"
1683
- [attr.aria-label]="messageFor('selectButtonText')"
1684
- [attr.disabled]="disabled ? '' : null"
1685
- (keydown.enter)="$event.stopImmediatePropagation();"
1686
+ }
1687
+ <button
1688
+ #select
1689
+ tabindex="-1"
1690
+ unselectable="on"
1691
+ type="button"
1692
+ class="k-input-button k-button k-icon-button"
1693
+ [ngClass]="selectButtonClasses"
1694
+ [attr.aria-label]="messageFor('selectButtonText')"
1695
+ [attr.disabled]="disabled ? '' : null"
1696
+ (keydown.enter)="$event.stopImmediatePropagation();"
1686
1697
  [kendoEventsOutsideAngular]="{
1687
1698
  mousedown: preventEventDefault
1688
1699
  }"
1689
1700
  >
1690
- <kendo-icon-wrapper
1691
- [name]="icon || 'caret-alt-down'"
1692
- innerCssClass="k-button-icon"
1693
- [svgIcon]="svgIcon || caretAltDownIcon"
1694
- >
1695
- </kendo-icon-wrapper>
1696
- </button>
1701
+ <kendo-icon-wrapper
1702
+ [name]="icon || 'caret-alt-down'"
1703
+ innerCssClass="k-button-icon"
1704
+ [svgIcon]="svgIcon || caretAltDownIcon"
1705
+ >
1706
+ </kendo-icon-wrapper>
1707
+ </button>
1697
1708
  </ng-container>
1698
-
1709
+
1699
1710
  <ng-template #popupTemplate>
1700
- <ng-container *ngTemplateOutlet="sharedPopupActionSheetTemplate"></ng-container>
1711
+ <ng-container *ngTemplateOutlet="sharedPopupActionSheetTemplate"></ng-container>
1701
1712
  </ng-template>
1702
- <kendo-resize-sensor *ngIf="isOpen || isAdaptiveModeEnabled" (resize)="onResize()"></kendo-resize-sensor>
1713
+ @if (isOpen || isAdaptiveModeEnabled) {
1714
+ <kendo-resize-sensor (resize)="onResize()"></kendo-resize-sensor>
1715
+ }
1703
1716
  <ng-container #container></ng-container>
1704
-
1717
+
1705
1718
  <kendo-adaptive-renderer
1706
- [sharedPopupActionSheetTemplate]="sharedPopupActionSheetTemplate"
1707
- [title]="adaptiveTitle"
1708
- [showTextInput]="true"
1709
- [subtitle]="adaptiveSubtitle"
1710
- (closePopup)="closeActionSheet()"
1711
- (textInputChange)="searchBarChange($event)"
1712
- (navigate)="handleNavigate($event)"
1713
- [placeholder]="placeholder"
1714
- [searchBarValue]="text"
1715
- >
1719
+ [sharedPopupActionSheetTemplate]="sharedPopupActionSheetTemplate"
1720
+ [title]="adaptiveTitle"
1721
+ [showTextInput]="true"
1722
+ [subtitle]="adaptiveSubtitle"
1723
+ (closePopup)="closeActionSheet()"
1724
+ (textInputChange)="searchBarChange($event)"
1725
+ (navigate)="handleNavigate($event)"
1726
+ [placeholder]="placeholder"
1727
+ [searchBarValue]="text"
1728
+ >
1716
1729
  </kendo-adaptive-renderer>
1717
1730
  <ng-template #sharedPopupActionSheetTemplate>
1718
- <!--header template-->
1719
- <ng-template *ngIf="headerTemplate"
1731
+ <!--header template-->
1732
+ @if (headerTemplate) {
1733
+ <ng-template
1720
1734
  [templateContext]="{
1721
1735
  templateRef: headerTemplate.templateRef
1722
1736
  }">
1723
1737
  </ng-template>
1724
- <!--list-->
1725
- <kendo-list
1726
- #optionsList
1727
- [size]="isAdaptive ? 'large' : size"
1728
- [rounded]="rounded"
1729
- [id]="listBoxId"
1730
- [optionPrefix]="optionPrefix"
1731
- [data]="data"
1732
- [textField]="textField"
1733
- [valueField]="valueField"
1734
- [template]="template"
1735
- [groupTemplate]="groupTemplate"
1736
- [fixedGroupTemplate]="fixedGroupTemplate"
1737
- [height]="listHeight"
1738
- [show]="isOpen"
1739
- [virtual]="virtual"
1740
- [showStickyHeader]="showStickyHeader"
1741
- (pageChange)="pageChange($event)"
1738
+ }
1739
+ <!--list-->
1740
+ <kendo-list
1741
+ #optionsList
1742
+ [size]="isAdaptive ? 'large' : size"
1743
+ [rounded]="rounded"
1744
+ [id]="listBoxId"
1745
+ [optionPrefix]="optionPrefix"
1746
+ [data]="data"
1747
+ [textField]="textField"
1748
+ [valueField]="valueField"
1749
+ [template]="template"
1750
+ [groupTemplate]="groupTemplate"
1751
+ [fixedGroupTemplate]="fixedGroupTemplate"
1752
+ [height]="listHeight"
1753
+ [show]="isOpen"
1754
+ [virtual]="virtual"
1755
+ [showStickyHeader]="showStickyHeader"
1756
+ (pageChange)="pageChange($event)"
1742
1757
  >
1743
- </kendo-list>
1744
- <!--no-data template-->
1745
- <div class="k-no-data" *ngIf="data.length === 0">
1746
- <ng-template [ngIf]="noDataTemplate"
1758
+ </kendo-list>
1759
+ <!--no-data template-->
1760
+ @if (data.length === 0) {
1761
+ <div class="k-no-data">
1762
+ @if (noDataTemplate) {
1763
+ <ng-template
1747
1764
  [templateContext]="{
1748
1765
  templateRef: noDataTemplate ? noDataTemplate.templateRef : undefined
1749
1766
  }">
1750
1767
  </ng-template>
1751
- <ng-template [ngIf]="!noDataTemplate">
1752
- <div>{{ messageFor('noDataText') }}</div>
1753
- </ng-template>
1768
+ }
1769
+ @if (!noDataTemplate) {
1770
+ <div>{{ messageFor('noDataText') }}</div>
1771
+ }
1754
1772
  </div>
1755
- <!--footer template-->
1756
- <ng-template *ngIf="footerTemplate"
1773
+ }
1774
+ <!--footer template-->
1775
+ @if (footerTemplate) {
1776
+ <ng-template
1757
1777
  [templateContext]="{
1758
1778
  templateRef: footerTemplate.templateRef
1759
1779
  }">
1760
1780
  </ng-template>
1781
+ }
1761
1782
  </ng-template>
1762
- `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "\n [kendoDropDownListLocalizedMessages],\n [kendoDropDownTreeLocalizedMessages],\n [kendoComboBoxLocalizedMessages],\n [kendoMultiColumnComboBoxLocalizedMessages],\n [kendoAutoCompleteLocalizedMessages],\n [kendoMultiSelectLocalizedMessages],\n [kendoMultiSelectTreeLocalizedMessages]\n " }, { kind: "directive", type: SharedDropDownEventsDirective, selector: "[kendoDropDownSharedEvents]", inputs: ["hostElement", "clearButtonClicked", "isFocused"], outputs: ["isFocusedChange", "onFocus", "handleBlur"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SeparatorComponent, selector: "kendo-separator", inputs: ["orientation"] }, { kind: "component", type: SearchBarComponent, selector: "input[kendoSearchbar]", inputs: ["tagListId", "readonly", "disabled", "isRequired", "isSuggestable", "isFilterable", "userInput", "suggestedText", "inputAttributes", "id", "activeDescendant", "tabIndex", "isLoading", "ariaControls", "ariaExpanded", "placeholder"], outputs: ["valueChange", "onBlur", "onFocus", "onClick", "onNavigate"] }, { kind: "directive", type: EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { kind: "component", type: AdaptiveRendererComponent, selector: "kendo-adaptive-renderer", inputs: ["title", "subtitle", "showTextInput", "sharedPopupActionSheetTemplate", "text", "placeholder", "searchBarValue", "filterable"], outputs: ["closePopup", "textInputChange", "navigate", "onExpand"] }, { kind: "directive", type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { kind: "component", type: ListComponent, selector: "kendo-list", inputs: ["selected", "focused", "textField", "valueField", "height", "template", "groupTemplate", "fixedGroupTemplate", "show", "id", "optionPrefix", "multipleSelection", "virtual", "type", "checkboxes", "ariaLive", "isMultiselect", "isActionSheetExpanded", "showStickyHeader", "rowWidth", "customItemTemplate", "text", "allowCustom", "defaultItem", "data", "size", "rounded"], outputs: ["onClick", "pageChange", "listResize", "popupListScroll"] }] });
1783
+ `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "\n [kendoDropDownListLocalizedMessages],\n [kendoDropDownTreeLocalizedMessages],\n [kendoComboBoxLocalizedMessages],\n [kendoMultiColumnComboBoxLocalizedMessages],\n [kendoAutoCompleteLocalizedMessages],\n [kendoMultiSelectLocalizedMessages],\n [kendoMultiSelectTreeLocalizedMessages]\n " }, { kind: "directive", type: SharedDropDownEventsDirective, selector: "[kendoDropDownSharedEvents]", inputs: ["hostElement", "clearButtonClicked", "isFocused"], outputs: ["isFocusedChange", "onFocus", "handleBlur"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SeparatorComponent, selector: "kendo-separator", inputs: ["orientation"] }, { kind: "component", type: SearchBarComponent, selector: "input[kendoSearchbar]", inputs: ["tagListId", "readonly", "disabled", "isRequired", "isSuggestable", "isFilterable", "userInput", "suggestedText", "inputAttributes", "id", "activeDescendant", "tabIndex", "isLoading", "ariaControls", "ariaExpanded", "placeholder"], outputs: ["valueChange", "onBlur", "onFocus", "onClick", "onNavigate"] }, { kind: "directive", type: EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { kind: "component", type: AdaptiveRendererComponent, selector: "kendo-adaptive-renderer", inputs: ["title", "subtitle", "showTextInput", "sharedPopupActionSheetTemplate", "text", "placeholder", "searchBarValue", "filterable"], outputs: ["closePopup", "textInputChange", "navigate", "onExpand"] }, { kind: "directive", type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { kind: "component", type: ListComponent, selector: "kendo-list", inputs: ["selected", "focused", "textField", "valueField", "height", "template", "groupTemplate", "fixedGroupTemplate", "show", "id", "optionPrefix", "multipleSelection", "virtual", "type", "checkboxes", "ariaLive", "isMultiselect", "isActionSheetExpanded", "showStickyHeader", "rowWidth", "customItemTemplate", "text", "allowCustom", "defaultItem", "data", "size", "rounded"], outputs: ["onClick", "pageChange", "listResize", "popupListScroll"] }] });
1763
1784
  }
1764
1785
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ComboBoxComponent, decorators: [{
1765
1786
  type: Component,
@@ -1789,170 +1810,191 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
1789
1810
  selector: 'kendo-combobox',
1790
1811
  template: `
1791
1812
  <ng-container kendoComboBoxLocalizedMessages
1792
- i18n-noDataText="kendo.combobox.noDataText|The text displayed in the popup when there are no items"
1793
- noDataText="NO DATA FOUND"
1794
-
1795
- i18n-clearTitle="kendo.combobox.clearTitle|The title of the clear button"
1796
- clearTitle="clear"
1797
-
1798
- i18n-selectButtonText="kendo.combobox.selectButtonText|The text set as aria-label on the select button"
1799
- selectButtonText="Select"
1800
-
1801
- i18n-popupLabel="kendo.combobox.popupLabel|The label of the popup element that contains the list of options when its role is 'region'"
1802
- popupLabel="Options list"
1803
-
1804
- i18n-adaptiveCloseButtonTitle="kendo.combobox.adaptiveCloseButtonTitle|The title of the Close button of the ActionSheet that is rendered instead of the Popup when using small screen devices in adaptive mode"
1805
- adaptiveCloseButtonTitle="Close"
1806
- >
1813
+ i18n-noDataText="kendo.combobox.noDataText|The text displayed in the popup when there are no items"
1814
+ noDataText="NO DATA FOUND"
1815
+
1816
+ i18n-clearTitle="kendo.combobox.clearTitle|The title of the clear button"
1817
+ clearTitle="clear"
1818
+
1819
+ i18n-selectButtonText="kendo.combobox.selectButtonText|The text set as aria-label on the select button"
1820
+ selectButtonText="Select"
1821
+
1822
+ i18n-popupLabel="kendo.combobox.popupLabel|The label of the popup element that contains the list of options when its role is 'region'"
1823
+ popupLabel="Options list"
1824
+
1825
+ i18n-adaptiveCloseButtonTitle="kendo.combobox.adaptiveCloseButtonTitle|The title of the Close button of the ActionSheet that is rendered instead of the Popup when using small screen devices in adaptive mode"
1826
+ adaptiveCloseButtonTitle="Close"
1827
+ >
1807
1828
  </ng-container>
1808
-
1829
+
1809
1830
  <ng-container
1810
- kendoDropDownSharedEvents
1811
- [hostElement]="hostElement"
1812
- [(isFocused)]="isFocused"
1813
- (handleBlur)="handleBlur()"
1814
- (onFocus)="handleFocus()"
1815
- >
1816
- <span *ngIf="prefixTemplate" class="k-input-prefix k-input-prefix-horizontal">
1817
- <ng-template [ngTemplateOutlet]="prefixTemplate?.templateRef">
1818
- </ng-template>
1831
+ kendoDropDownSharedEvents
1832
+ [hostElement]="hostElement"
1833
+ [(isFocused)]="isFocused"
1834
+ (handleBlur)="handleBlur()"
1835
+ (onFocus)="handleFocus()"
1836
+ >
1837
+ @if (prefixTemplate) {
1838
+ <span class="k-input-prefix k-input-prefix-horizontal">
1839
+ <ng-template [ngTemplateOutlet]="prefixTemplate?.templateRef">
1840
+ </ng-template>
1819
1841
  </span>
1820
- <kendo-separator *ngIf="prefixTemplate && prefixTemplate.showSeparator"></kendo-separator>
1821
- <input
1822
- kendoSearchbar
1823
- [ariaExpanded]="isOpen"
1824
- [ariaControls]="ariaControls"
1825
- [id]="focusableId"
1826
- [isLoading]="loading"
1827
- [isSuggestable]="suggest"
1828
- [isFilterable]="filterable"
1829
- [activeDescendant]="activeDescendant"
1830
- [userInput]="text"
1831
- [suggestedText]="getSuggestion()"
1832
- [disabled]="disabled"
1833
- [readonly]="readonly || isAdaptive"
1834
- [tabIndex]="tabIndex"
1835
- [isRequired]="isControlRequired"
1836
- [placeholder]="placeholder"
1837
- [inputAttributes]="inputAttributes"
1838
- (onNavigate)="handleNavigate($event)"
1839
- (valueChange)="searchBarChange($event)"
1840
- (onBlur)="handleInputBlur()"
1841
- (onFocus)="handleInputFocus()"
1842
- (click)="handleClick()"
1842
+ }
1843
+ @if (prefixTemplate && prefixTemplate.showSeparator) {
1844
+ <kendo-separator></kendo-separator>
1845
+ }
1846
+ <input
1847
+ kendoSearchbar
1848
+ [ariaExpanded]="isOpen"
1849
+ [ariaControls]="ariaControls"
1850
+ [id]="focusableId"
1851
+ [isLoading]="loading"
1852
+ [isSuggestable]="suggest"
1853
+ [isFilterable]="filterable"
1854
+ [activeDescendant]="activeDescendant"
1855
+ [userInput]="text"
1856
+ [suggestedText]="getSuggestion()"
1857
+ [disabled]="disabled"
1858
+ [readonly]="readonly || isAdaptive"
1859
+ [tabIndex]="tabIndex"
1860
+ [isRequired]="isControlRequired"
1861
+ [placeholder]="placeholder"
1862
+ [inputAttributes]="inputAttributes"
1863
+ (onNavigate)="handleNavigate($event)"
1864
+ (valueChange)="searchBarChange($event)"
1865
+ (onBlur)="handleInputBlur()"
1866
+ (onFocus)="handleInputFocus()"
1867
+ (click)="handleClick()"
1843
1868
  />
1869
+ @if (clearButton && !loading && !disabled && !readonly && text?.length) {
1844
1870
  <span
1845
- *ngIf="clearButton && !loading && !disabled && !readonly && text?.length"
1846
- class="k-clear-value"
1847
- [style.visibility]="clearButtonVisibility"
1848
- aria-hidden="true"
1849
- [attr.title]="messageFor('clearTitle')"
1850
- (click)="clearValue($event)"
1871
+ class="k-clear-value"
1872
+ [style.visibility]="clearButtonVisibility"
1873
+ aria-hidden="true"
1874
+ [attr.title]="messageFor('clearTitle')"
1875
+ (click)="clearValue($event)"
1851
1876
  [kendoEventsOutsideAngular]="{
1852
1877
  mousedown: preventEventDefault
1853
1878
  }"
1854
- >
1855
- <kendo-icon-wrapper
1856
- name="x"
1857
- [svgIcon]="xIcon"
1879
+ >
1880
+ <kendo-icon-wrapper
1881
+ name="x"
1882
+ [svgIcon]="xIcon"
1858
1883
  >
1859
- </kendo-icon-wrapper>
1884
+ </kendo-icon-wrapper>
1860
1885
  </span>
1861
- <span *ngIf="loading" class="k-i-loading k-input-loading-icon k-icon"></span>
1862
- <kendo-separator *ngIf="suffixTemplate && suffixTemplate.showSeparator"></kendo-separator>
1863
- <span *ngIf="suffixTemplate" class="k-input-suffix k-input-suffix-horizontal">
1864
- <ng-template [ngTemplateOutlet]="suffixTemplate?.templateRef">
1865
- </ng-template>
1886
+ }
1887
+ @if (loading) {
1888
+ <span class="k-i-loading k-input-loading-icon k-icon"></span>
1889
+ }
1890
+ @if (suffixTemplate && suffixTemplate.showSeparator) {
1891
+ <kendo-separator></kendo-separator>
1892
+ }
1893
+ @if (suffixTemplate) {
1894
+ <span class="k-input-suffix k-input-suffix-horizontal">
1895
+ <ng-template [ngTemplateOutlet]="suffixTemplate?.templateRef">
1896
+ </ng-template>
1866
1897
  </span>
1867
- <button
1868
- #select
1869
- tabindex="-1"
1870
- unselectable="on"
1871
- type="button"
1872
- class="k-input-button k-button k-icon-button"
1873
- [ngClass]="selectButtonClasses"
1874
- [attr.aria-label]="messageFor('selectButtonText')"
1875
- [attr.disabled]="disabled ? '' : null"
1876
- (keydown.enter)="$event.stopImmediatePropagation();"
1898
+ }
1899
+ <button
1900
+ #select
1901
+ tabindex="-1"
1902
+ unselectable="on"
1903
+ type="button"
1904
+ class="k-input-button k-button k-icon-button"
1905
+ [ngClass]="selectButtonClasses"
1906
+ [attr.aria-label]="messageFor('selectButtonText')"
1907
+ [attr.disabled]="disabled ? '' : null"
1908
+ (keydown.enter)="$event.stopImmediatePropagation();"
1877
1909
  [kendoEventsOutsideAngular]="{
1878
1910
  mousedown: preventEventDefault
1879
1911
  }"
1880
1912
  >
1881
- <kendo-icon-wrapper
1882
- [name]="icon || 'caret-alt-down'"
1883
- innerCssClass="k-button-icon"
1884
- [svgIcon]="svgIcon || caretAltDownIcon"
1885
- >
1886
- </kendo-icon-wrapper>
1887
- </button>
1913
+ <kendo-icon-wrapper
1914
+ [name]="icon || 'caret-alt-down'"
1915
+ innerCssClass="k-button-icon"
1916
+ [svgIcon]="svgIcon || caretAltDownIcon"
1917
+ >
1918
+ </kendo-icon-wrapper>
1919
+ </button>
1888
1920
  </ng-container>
1889
-
1921
+
1890
1922
  <ng-template #popupTemplate>
1891
- <ng-container *ngTemplateOutlet="sharedPopupActionSheetTemplate"></ng-container>
1923
+ <ng-container *ngTemplateOutlet="sharedPopupActionSheetTemplate"></ng-container>
1892
1924
  </ng-template>
1893
- <kendo-resize-sensor *ngIf="isOpen || isAdaptiveModeEnabled" (resize)="onResize()"></kendo-resize-sensor>
1925
+ @if (isOpen || isAdaptiveModeEnabled) {
1926
+ <kendo-resize-sensor (resize)="onResize()"></kendo-resize-sensor>
1927
+ }
1894
1928
  <ng-container #container></ng-container>
1895
-
1929
+
1896
1930
  <kendo-adaptive-renderer
1897
- [sharedPopupActionSheetTemplate]="sharedPopupActionSheetTemplate"
1898
- [title]="adaptiveTitle"
1899
- [showTextInput]="true"
1900
- [subtitle]="adaptiveSubtitle"
1901
- (closePopup)="closeActionSheet()"
1902
- (textInputChange)="searchBarChange($event)"
1903
- (navigate)="handleNavigate($event)"
1904
- [placeholder]="placeholder"
1905
- [searchBarValue]="text"
1906
- >
1931
+ [sharedPopupActionSheetTemplate]="sharedPopupActionSheetTemplate"
1932
+ [title]="adaptiveTitle"
1933
+ [showTextInput]="true"
1934
+ [subtitle]="adaptiveSubtitle"
1935
+ (closePopup)="closeActionSheet()"
1936
+ (textInputChange)="searchBarChange($event)"
1937
+ (navigate)="handleNavigate($event)"
1938
+ [placeholder]="placeholder"
1939
+ [searchBarValue]="text"
1940
+ >
1907
1941
  </kendo-adaptive-renderer>
1908
1942
  <ng-template #sharedPopupActionSheetTemplate>
1909
- <!--header template-->
1910
- <ng-template *ngIf="headerTemplate"
1943
+ <!--header template-->
1944
+ @if (headerTemplate) {
1945
+ <ng-template
1911
1946
  [templateContext]="{
1912
1947
  templateRef: headerTemplate.templateRef
1913
1948
  }">
1914
1949
  </ng-template>
1915
- <!--list-->
1916
- <kendo-list
1917
- #optionsList
1918
- [size]="isAdaptive ? 'large' : size"
1919
- [rounded]="rounded"
1920
- [id]="listBoxId"
1921
- [optionPrefix]="optionPrefix"
1922
- [data]="data"
1923
- [textField]="textField"
1924
- [valueField]="valueField"
1925
- [template]="template"
1926
- [groupTemplate]="groupTemplate"
1927
- [fixedGroupTemplate]="fixedGroupTemplate"
1928
- [height]="listHeight"
1929
- [show]="isOpen"
1930
- [virtual]="virtual"
1931
- [showStickyHeader]="showStickyHeader"
1932
- (pageChange)="pageChange($event)"
1950
+ }
1951
+ <!--list-->
1952
+ <kendo-list
1953
+ #optionsList
1954
+ [size]="isAdaptive ? 'large' : size"
1955
+ [rounded]="rounded"
1956
+ [id]="listBoxId"
1957
+ [optionPrefix]="optionPrefix"
1958
+ [data]="data"
1959
+ [textField]="textField"
1960
+ [valueField]="valueField"
1961
+ [template]="template"
1962
+ [groupTemplate]="groupTemplate"
1963
+ [fixedGroupTemplate]="fixedGroupTemplate"
1964
+ [height]="listHeight"
1965
+ [show]="isOpen"
1966
+ [virtual]="virtual"
1967
+ [showStickyHeader]="showStickyHeader"
1968
+ (pageChange)="pageChange($event)"
1933
1969
  >
1934
- </kendo-list>
1935
- <!--no-data template-->
1936
- <div class="k-no-data" *ngIf="data.length === 0">
1937
- <ng-template [ngIf]="noDataTemplate"
1970
+ </kendo-list>
1971
+ <!--no-data template-->
1972
+ @if (data.length === 0) {
1973
+ <div class="k-no-data">
1974
+ @if (noDataTemplate) {
1975
+ <ng-template
1938
1976
  [templateContext]="{
1939
1977
  templateRef: noDataTemplate ? noDataTemplate.templateRef : undefined
1940
1978
  }">
1941
1979
  </ng-template>
1942
- <ng-template [ngIf]="!noDataTemplate">
1943
- <div>{{ messageFor('noDataText') }}</div>
1944
- </ng-template>
1980
+ }
1981
+ @if (!noDataTemplate) {
1982
+ <div>{{ messageFor('noDataText') }}</div>
1983
+ }
1945
1984
  </div>
1946
- <!--footer template-->
1947
- <ng-template *ngIf="footerTemplate"
1985
+ }
1986
+ <!--footer template-->
1987
+ @if (footerTemplate) {
1988
+ <ng-template
1948
1989
  [templateContext]="{
1949
1990
  templateRef: footerTemplate.templateRef
1950
1991
  }">
1951
1992
  </ng-template>
1993
+ }
1952
1994
  </ng-template>
1953
- `,
1995
+ `,
1954
1996
  standalone: true,
1955
- imports: [LocalizedMessagesDirective, SharedDropDownEventsDirective, NgIf, NgTemplateOutlet, SeparatorComponent, SearchBarComponent, EventsOutsideAngularDirective, IconWrapperComponent, NgClass, ResizeSensorComponent, AdaptiveRendererComponent, TemplateContextDirective, ListComponent]
1997
+ imports: [LocalizedMessagesDirective, SharedDropDownEventsDirective, NgTemplateOutlet, SeparatorComponent, SearchBarComponent, EventsOutsideAngularDirective, IconWrapperComponent, NgClass, ResizeSensorComponent, AdaptiveRendererComponent, TemplateContextDirective, ListComponent]
1956
1998
  }]
1957
1999
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.LocalizationService }, { type: i2.PopupService }, { type: i3.SelectionService }, { type: i4.NavigationService }, { type: i5.DisabledItemsService }, { type: i6.DataService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }, { type: i0.Injector }, { type: i0.ElementRef }, { type: i7.AdaptiveService }], propDecorators: { icon: [{
1958
2000
  type: Input