@progress/kendo-angular-dropdowns 25.0.0-develop.6 → 25.0.0-develop.8
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.
- package/fesm2022/progress-kendo-angular-dropdowns.mjs +600 -310
- package/index.d.ts +45 -21
- package/package-metadata.mjs +2 -2
- package/package.json +10 -10
- package/schematics/ngAdd/index.js +2 -2
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
import * as i0 from '@angular/core';
|
|
6
|
-
import { EventEmitter, Output, HostBinding, Input, Component, Directive, Injectable, HostListener, ViewChild, ViewChildren, forwardRef, isDevMode, ViewContainerRef, ContentChild, ContentChildren, signal, ChangeDetectionStrategy, NgModule } from '@angular/core';
|
|
6
|
+
import { EventEmitter, Output, HostBinding, Input, Component, Directive, Injectable, HostListener, afterNextRender, ViewChild, ViewChildren, forwardRef, isDevMode, ViewContainerRef, ContentChild, ContentChildren, signal, ChangeDetectionStrategy, NgModule } from '@angular/core';
|
|
7
7
|
import * as i10 from '@progress/kendo-angular-common';
|
|
8
8
|
import { isDocumentAvailable, isObjectPresent, removeHTMLAttributes, parseAttributes, isSafari, normalizeKeys, Keys, setHTMLAttributes, replaceMessagePlaceholder, isChanged, TemplateContextDirective, ResizeSensorComponent, closest as closest$1, hasFocusableParent, parseCSSClassNames, isControlRequired, guid, hasObservers, SeparatorComponent, SuffixTemplateDirective, PrefixTemplateDirective, KendoInput, KENDO_WEBMCP_HOST, MultiTabStop, anyChanged, EventsOutsideAngularDirective, scrollbarWidth, ToggleButtonTabStopDirective, ResizeBatchService, KENDO_ADORNMENTS, KENDO_TOGGLEBUTTONTABSTOP } from '@progress/kendo-angular-common';
|
|
9
9
|
export { PrefixTemplateDirective, SeparatorComponent, SuffixTemplateDirective, ToggleButtonTabStopDirective } from '@progress/kendo-angular-common';
|
|
@@ -20,8 +20,8 @@ import { map, switchMap, take, auditTime, tap, filter, partition, throttleTime,
|
|
|
20
20
|
import * as i2 from '@progress/kendo-angular-popup';
|
|
21
21
|
import { PopupService } from '@progress/kendo-angular-popup';
|
|
22
22
|
import { NgStyle, NgClass, NgTemplateOutlet } from '@angular/common';
|
|
23
|
-
import { checkIcon, xIcon, chevronDownIcon,
|
|
24
|
-
import {
|
|
23
|
+
import { checkIcon, searchIcon, xIcon, chevronDownIcon, xCircleIcon } from '@progress/kendo-svg-icons';
|
|
24
|
+
import { IconWrapperComponent, IconsService } from '@progress/kendo-angular-icons';
|
|
25
25
|
import { ActionSheetComponent, ActionSheetTemplateDirective } from '@progress/kendo-angular-navigation';
|
|
26
26
|
import { TextBoxComponent, TextBoxPrefixTemplateDirective } from '@progress/kendo-angular-inputs';
|
|
27
27
|
import { ButtonComponent } from '@progress/kendo-angular-buttons';
|
|
@@ -37,8 +37,8 @@ const packageMetadata = {
|
|
|
37
37
|
productName: 'Kendo UI for Angular',
|
|
38
38
|
productCode: 'KENDOUIANGULAR',
|
|
39
39
|
productCodes: ['KENDOUIANGULAR'],
|
|
40
|
-
publishDate:
|
|
41
|
-
version: '25.0.0-develop.
|
|
40
|
+
publishDate: 1784795912,
|
|
41
|
+
version: '25.0.0-develop.8',
|
|
42
42
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
43
43
|
};
|
|
44
44
|
|
|
@@ -477,12 +477,12 @@ class SearchBarComponent {
|
|
|
477
477
|
get isSuggestable() {
|
|
478
478
|
return this._isSuggestable;
|
|
479
479
|
}
|
|
480
|
-
set
|
|
481
|
-
this.
|
|
480
|
+
set hasListAutocomplete(hasListAutocomplete) {
|
|
481
|
+
this._hasListAutocomplete = hasListAutocomplete;
|
|
482
482
|
this.setAriaAutocomplete();
|
|
483
483
|
}
|
|
484
|
-
get
|
|
485
|
-
return this.
|
|
484
|
+
get hasListAutocomplete() {
|
|
485
|
+
return this._hasListAutocomplete;
|
|
486
486
|
}
|
|
487
487
|
get userInput() {
|
|
488
488
|
return this._userInput;
|
|
@@ -521,7 +521,7 @@ class SearchBarComponent {
|
|
|
521
521
|
ariaControls;
|
|
522
522
|
ariaExpanded = null;
|
|
523
523
|
get attrAriaInvalid() {
|
|
524
|
-
return this.formControl?.invalid ? true : null;
|
|
524
|
+
return (this.formControl?.invalid && (this.formControl?.touched || this.formControl?.dirty)) ? true : null;
|
|
525
525
|
}
|
|
526
526
|
set placeholder(text) {
|
|
527
527
|
this._placeholder = text || '';
|
|
@@ -549,7 +549,7 @@ class SearchBarComponent {
|
|
|
549
549
|
_previousValue = "";
|
|
550
550
|
_placeholder = "";
|
|
551
551
|
_isSuggestable = false;
|
|
552
|
-
|
|
552
|
+
_hasListAutocomplete = false;
|
|
553
553
|
renderer;
|
|
554
554
|
subs = new Subscription();
|
|
555
555
|
_inputAttributes;
|
|
@@ -569,7 +569,7 @@ class SearchBarComponent {
|
|
|
569
569
|
'aria-controls': this.ariaControls,
|
|
570
570
|
'aria-activedescendant': this.activeDescendant,
|
|
571
571
|
'aria-busy': this.isLoading,
|
|
572
|
-
'aria-invalid': this.formControl?.invalid
|
|
572
|
+
'aria-invalid': this.formControl?.invalid && (this.formControl?.touched || this.formControl?.dirty)
|
|
573
573
|
};
|
|
574
574
|
}
|
|
575
575
|
get mutableAttributes() {
|
|
@@ -654,16 +654,16 @@ class SearchBarComponent {
|
|
|
654
654
|
}
|
|
655
655
|
}
|
|
656
656
|
setAriaAutocomplete() {
|
|
657
|
-
if (this.
|
|
657
|
+
if (this.hasListAutocomplete) {
|
|
658
658
|
this.renderer.setAttribute(this.input.nativeElement, 'aria-autocomplete', 'list');
|
|
659
659
|
}
|
|
660
660
|
if (this.isSuggestable) {
|
|
661
661
|
this.renderer.setAttribute(this.input.nativeElement, 'aria-autocomplete', 'inline');
|
|
662
662
|
}
|
|
663
|
-
if (this.
|
|
663
|
+
if (this.hasListAutocomplete && this.isSuggestable) {
|
|
664
664
|
this.renderer.setAttribute(this.input.nativeElement, 'aria-autocomplete', 'both');
|
|
665
665
|
}
|
|
666
|
-
if (!this.
|
|
666
|
+
if (!this.hasListAutocomplete && !this.isSuggestable) {
|
|
667
667
|
this.renderer.removeAttribute(this.input.nativeElement, 'aria-autocomplete');
|
|
668
668
|
}
|
|
669
669
|
}
|
|
@@ -716,7 +716,7 @@ class SearchBarComponent {
|
|
|
716
716
|
setHTMLAttributes(attributesToRender, this.renderer, this.input.nativeElement, this.injector);
|
|
717
717
|
}
|
|
718
718
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: SearchBarComponent, deps: [{ token: i1.LocalizationService }, { token: i0.Renderer2 }, { token: i0.Injector }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
719
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.25", type: SearchBarComponent, isStandalone: true, selector: "input[kendoSearchbar]", inputs: { tagListId: "tagListId", readonly: "readonly", disabled: "disabled", isRequired: "isRequired", isSuggestable: "isSuggestable",
|
|
719
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.25", type: SearchBarComponent, isStandalone: true, selector: "input[kendoSearchbar]", inputs: { tagListId: "tagListId", readonly: "readonly", disabled: "disabled", isRequired: "isRequired", isSuggestable: "isSuggestable", hasListAutocomplete: "hasListAutocomplete", userInput: "userInput", suggestedText: "suggestedText", inputAttributes: "inputAttributes", id: "id", activeDescendant: "activeDescendant", tabIndex: "tabIndex", isLoading: "isLoading", ariaControls: "ariaControls", ariaExpanded: "ariaExpanded", placeholder: "placeholder" }, outputs: { valueChange: "valueChange", onBlur: "onBlur", onFocus: "onFocus", onClick: "onClick", onNavigate: "onNavigate" }, host: { properties: { "attr.id": "this.id", "attr.aria-activedescendant": "this.activeDescendant", "attr.tabindex": "this.tabIndex", "attr.aria-busy": "this.isLoading", "attr.aria-controls": "this.ariaControls", "attr.aria-expanded": "this.ariaExpanded", "attr.aria-invalid": "this.attrAriaInvalid", "attr.placeholder": "this.placeholder", "attr.role": "this.role", "attr.dir": "this.dir" } }, usesOnChanges: true, ngImport: i0, template: ``, isInline: true });
|
|
720
720
|
}
|
|
721
721
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: SearchBarComponent, decorators: [{
|
|
722
722
|
type: Component,
|
|
@@ -735,7 +735,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
735
735
|
type: Input
|
|
736
736
|
}], isSuggestable: [{
|
|
737
737
|
type: Input
|
|
738
|
-
}],
|
|
738
|
+
}], hasListAutocomplete: [{
|
|
739
739
|
type: Input
|
|
740
740
|
}], userInput: [{
|
|
741
741
|
type: Input
|
|
@@ -1920,6 +1920,7 @@ class ListComponent {
|
|
|
1920
1920
|
zone;
|
|
1921
1921
|
renderer;
|
|
1922
1922
|
localization;
|
|
1923
|
+
injector;
|
|
1923
1924
|
selected = [];
|
|
1924
1925
|
focused = -1;
|
|
1925
1926
|
textField;
|
|
@@ -1936,10 +1937,12 @@ class ListComponent {
|
|
|
1936
1937
|
type = 'list';
|
|
1937
1938
|
checkboxes = { enabled: false };
|
|
1938
1939
|
ariaLive;
|
|
1940
|
+
ariaLabel;
|
|
1939
1941
|
isMultiselect;
|
|
1940
1942
|
isActionSheetExpanded;
|
|
1941
1943
|
showStickyHeader;
|
|
1942
1944
|
rowWidth;
|
|
1945
|
+
columnsWidths;
|
|
1943
1946
|
customItemTemplate;
|
|
1944
1947
|
text;
|
|
1945
1948
|
allowCustom;
|
|
@@ -1964,12 +1967,12 @@ class ListComponent {
|
|
|
1964
1967
|
}
|
|
1965
1968
|
set size(size) {
|
|
1966
1969
|
if (this.type === 'list') {
|
|
1967
|
-
this.renderer.removeClass(this.wrapper.nativeElement, getSizeClass('list', this.
|
|
1970
|
+
this.renderer.removeClass(this.wrapper.nativeElement, getSizeClass('list', this._size));
|
|
1968
1971
|
if (size) {
|
|
1969
1972
|
this.renderer.addClass(this.wrapper.nativeElement, getSizeClass('list', size));
|
|
1970
1973
|
}
|
|
1971
|
-
this._size = size;
|
|
1972
1974
|
}
|
|
1975
|
+
this._size = size;
|
|
1973
1976
|
}
|
|
1974
1977
|
get size() {
|
|
1975
1978
|
return this._size;
|
|
@@ -2031,7 +2034,7 @@ class ListComponent {
|
|
|
2031
2034
|
return `${this.size ? getSizeClass('checkbox', this.size) : ''} ${this.rounded ? getRoundedClass(this.rounded) : ''}`;
|
|
2032
2035
|
}
|
|
2033
2036
|
/* tslint:disable:member-ordering */
|
|
2034
|
-
constructor(dataService, wrapper, selectionService, disabledItemsService, cdr, zone, renderer, localization) {
|
|
2037
|
+
constructor(dataService, wrapper, selectionService, disabledItemsService, cdr, zone, renderer, localization, injector) {
|
|
2035
2038
|
this.dataService = dataService;
|
|
2036
2039
|
this.wrapper = wrapper;
|
|
2037
2040
|
this.selectionService = selectionService;
|
|
@@ -2040,6 +2043,7 @@ class ListComponent {
|
|
|
2040
2043
|
this.zone = zone;
|
|
2041
2044
|
this.renderer = renderer;
|
|
2042
2045
|
this.localization = localization;
|
|
2046
|
+
this.injector = injector;
|
|
2043
2047
|
this.selectSubscription = merge(this.selectionService.onSelect.pipe(map((args) => args.indices[0])), this.selectionService.onFocus)
|
|
2044
2048
|
.pipe(
|
|
2045
2049
|
// handle only the very last onSelect/onFocus emission
|
|
@@ -2282,6 +2286,10 @@ class ListComponent {
|
|
|
2282
2286
|
isItemSelected(index) {
|
|
2283
2287
|
return this.selectionService.isSelected(index) || null;
|
|
2284
2288
|
}
|
|
2289
|
+
itemAriaSelected(index) {
|
|
2290
|
+
const selected = this.isItemSelected(index);
|
|
2291
|
+
return this.type === 'list' ? (selected ?? false) : selected;
|
|
2292
|
+
}
|
|
2285
2293
|
get isDisabledDefaultItem() {
|
|
2286
2294
|
return this.disabledItemsService.isItemDisabled(this.defaultItem);
|
|
2287
2295
|
}
|
|
@@ -2293,8 +2301,10 @@ class ListComponent {
|
|
|
2293
2301
|
*/
|
|
2294
2302
|
setOverflow() {
|
|
2295
2303
|
if (this.virtual) {
|
|
2296
|
-
|
|
2297
|
-
|
|
2304
|
+
afterNextRender(() => {
|
|
2305
|
+
const overflow = this.hasVirtualScrollbar() ? 'scroll' : 'hidden';
|
|
2306
|
+
this.renderer.setStyle(this.content.nativeElement, 'overflow-y', overflow);
|
|
2307
|
+
}, { injector: this.injector });
|
|
2298
2308
|
}
|
|
2299
2309
|
}
|
|
2300
2310
|
/**
|
|
@@ -2308,7 +2318,7 @@ class ListComponent {
|
|
|
2308
2318
|
positionItems() {
|
|
2309
2319
|
this.items.forEach((item, index) => {
|
|
2310
2320
|
const offsetY = (index + this.startFrom) * this.virtual.itemHeight;
|
|
2311
|
-
this.renderer.setStyle(item.element.nativeElement, "transform", `translateY(${offsetY}px`);
|
|
2321
|
+
this.renderer.setStyle(item.element.nativeElement, "transform", `translateY(${offsetY}px)`);
|
|
2312
2322
|
});
|
|
2313
2323
|
}
|
|
2314
2324
|
setComponentClasses() {
|
|
@@ -2320,13 +2330,16 @@ class ListComponent {
|
|
|
2320
2330
|
}
|
|
2321
2331
|
if (this.type === 'dropdowngrid') {
|
|
2322
2332
|
this.renderer.setStyle(this.wrapper.nativeElement, 'overflow-y', 'scroll');
|
|
2333
|
+
if (this.size) {
|
|
2334
|
+
this.renderer.removeClass(this.wrapper.nativeElement, getSizeClass('list', this.size));
|
|
2335
|
+
}
|
|
2323
2336
|
}
|
|
2324
2337
|
if (isPresent(this.virtual)) {
|
|
2325
2338
|
this.renderer.addClass(this.wrapper.nativeElement, this.listVirtualClass);
|
|
2326
2339
|
}
|
|
2327
2340
|
}
|
|
2328
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ListComponent, deps: [{ token: DataService }, { token: i0.ElementRef }, { token: SelectionService }, { token: DisabledItemsService }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2329
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: ListComponent, isStandalone: true, selector: "kendo-list", inputs: { selected: "selected", focused: "focused", textField: "textField", valueField: "valueField", height: "height", template: "template", groupTemplate: "groupTemplate", fixedGroupTemplate: "fixedGroupTemplate", show: "show", id: "id", optionPrefix: "optionPrefix", multipleSelection: "multipleSelection", virtual: "virtual", type: "type", checkboxes: "checkboxes", ariaLive: "ariaLive", isMultiselect: "isMultiselect", isActionSheetExpanded: "isActionSheetExpanded", showStickyHeader: "showStickyHeader", rowWidth: "rowWidth", customItemTemplate: "customItemTemplate", text: "text", allowCustom: "allowCustom", defaultItem: "defaultItem", data: "data", size: "size", rounded: "rounded" }, outputs: { onClick: "onClick", pageChange: "pageChange", listResize: "listResize", popupListScroll: "popupListScroll" }, viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true, static: true }, { propertyName: "list", first: true, predicate: ["list"], descendants: true }, { propertyName: "virtualContainer", first: true, predicate: ["virtualContainer"], descendants: true }, { propertyName: "items", predicate: ListItemDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: `
|
|
2341
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ListComponent, deps: [{ token: DataService }, { token: i0.ElementRef }, { token: SelectionService }, { token: DisabledItemsService }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i1.LocalizationService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
2342
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: ListComponent, isStandalone: true, selector: "kendo-list", inputs: { selected: "selected", focused: "focused", textField: "textField", valueField: "valueField", height: "height", template: "template", groupTemplate: "groupTemplate", fixedGroupTemplate: "fixedGroupTemplate", show: "show", id: "id", optionPrefix: "optionPrefix", multipleSelection: "multipleSelection", virtual: "virtual", type: "type", checkboxes: "checkboxes", ariaLive: "ariaLive", ariaLabel: "ariaLabel", isMultiselect: "isMultiselect", isActionSheetExpanded: "isActionSheetExpanded", showStickyHeader: "showStickyHeader", rowWidth: "rowWidth", columnsWidths: "columnsWidths", customItemTemplate: "customItemTemplate", text: "text", allowCustom: "allowCustom", defaultItem: "defaultItem", data: "data", size: "size", rounded: "rounded" }, outputs: { onClick: "onClick", pageChange: "pageChange", listResize: "listResize", popupListScroll: "popupListScroll" }, viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true, static: true }, { propertyName: "list", first: true, predicate: ["list"], descendants: true }, { propertyName: "virtualContainer", first: true, predicate: ["virtualContainer"], descendants: true }, { propertyName: "items", predicate: ListItemDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: `
|
|
2330
2343
|
@if (defaultItem && !template) {
|
|
2331
2344
|
<div
|
|
2332
2345
|
class="k-list-optionlabel"
|
|
@@ -2396,11 +2409,12 @@ class ListComponent {
|
|
|
2396
2409
|
[style.maxHeight.px]="height"
|
|
2397
2410
|
unselectable="on"
|
|
2398
2411
|
(scroll)="popupListScroll.emit($event)"
|
|
2399
|
-
[attr.role]="dataService.grouped ? 'listbox' : null"
|
|
2400
|
-
[attr.id]="dataService.grouped ? id : null"
|
|
2401
|
-
[attr.aria-live]="dataService.grouped ? ariaLive : null"
|
|
2402
|
-
[attr.aria-multiselectable]="dataService.grouped ? isMultiselect : null"
|
|
2403
|
-
[attr.aria-hidden]="dataService.grouped ? !show : null"
|
|
2412
|
+
[attr.role]="(dataService.grouped && type === 'list') ? 'listbox' : null"
|
|
2413
|
+
[attr.id]="(dataService.grouped && type === 'list') ? id : null"
|
|
2414
|
+
[attr.aria-live]="(dataService.grouped && type === 'list') ? ariaLive : null"
|
|
2415
|
+
[attr.aria-multiselectable]="(dataService.grouped && type === 'list') ? isMultiselect : null"
|
|
2416
|
+
[attr.aria-hidden]="(dataService.grouped && type === 'list') ? (!show ? true : null) : null"
|
|
2417
|
+
[attr.aria-label]="(dataService.grouped && type === 'list') ? (ariaLabel || null) : null"
|
|
2404
2418
|
>
|
|
2405
2419
|
@if (!dataService.grouped) {
|
|
2406
2420
|
<ul #list
|
|
@@ -2409,7 +2423,8 @@ class ListComponent {
|
|
|
2409
2423
|
[attr.id]="id"
|
|
2410
2424
|
[attr.aria-live]="ariaLive"
|
|
2411
2425
|
[attr.aria-multiselectable]="isMultiselect"
|
|
2412
|
-
[attr.aria-hidden]="!show"
|
|
2426
|
+
[attr.aria-hidden]="!show ? true : null"
|
|
2427
|
+
[attr.aria-label]="ariaLabel || null">
|
|
2413
2428
|
@for (dataItem of data; track $index; let itemIndex = $index) {
|
|
2414
2429
|
<li
|
|
2415
2430
|
role="option"
|
|
@@ -2420,7 +2435,7 @@ class ListComponent {
|
|
|
2420
2435
|
[multipleSelection]="multipleSelection"
|
|
2421
2436
|
[attr.id]="optionPrefix + '-' + itemIndex"
|
|
2422
2437
|
[attr.tabIndex]="-1"
|
|
2423
|
-
[attr.aria-selected]="
|
|
2438
|
+
[attr.aria-selected]="itemAriaSelected(itemIndex)"
|
|
2424
2439
|
[class]="listItemClass"
|
|
2425
2440
|
[ngClass]="{
|
|
2426
2441
|
'k-disabled': isDisabled(itemIndex),
|
|
@@ -2461,7 +2476,7 @@ class ListComponent {
|
|
|
2461
2476
|
</ul>
|
|
2462
2477
|
}
|
|
2463
2478
|
|
|
2464
|
-
@if (dataService.grouped) {
|
|
2479
|
+
@if (dataService.grouped && type === 'list') {
|
|
2465
2480
|
<ng-container #list>
|
|
2466
2481
|
@for (dataItem of groupedData; track dataItem.groupIndex) {
|
|
2467
2482
|
<ul
|
|
@@ -2508,7 +2523,7 @@ class ListComponent {
|
|
|
2508
2523
|
[attr.absolute-index]="item.index"
|
|
2509
2524
|
[attr.id]="optionPrefix + '-' + (item.index - 1 - item.groupIndex)"
|
|
2510
2525
|
[attr.tabIndex]="-1"
|
|
2511
|
-
[attr.aria-selected]="
|
|
2526
|
+
[attr.aria-selected]="itemAriaSelected(item.offsetIndex)"
|
|
2512
2527
|
[class]="listItemClass"
|
|
2513
2528
|
[ngClass]="{
|
|
2514
2529
|
'k-disabled': isDisabled(item.offsetIndex),
|
|
@@ -2538,14 +2553,96 @@ class ListComponent {
|
|
|
2538
2553
|
}
|
|
2539
2554
|
</ng-container>
|
|
2540
2555
|
}
|
|
2556
|
+
|
|
2557
|
+
@if (dataService.grouped && type === 'dropdowngrid') {
|
|
2558
|
+
<ul #list
|
|
2559
|
+
[attr.role]="'listbox'"
|
|
2560
|
+
[class]="listClass"
|
|
2561
|
+
[attr.id]="id"
|
|
2562
|
+
[attr.aria-live]="ariaLive"
|
|
2563
|
+
[attr.aria-label]="ariaLabel || null">
|
|
2564
|
+
@if (columnsWidths?.length) {
|
|
2565
|
+
<div
|
|
2566
|
+
role="presentation"
|
|
2567
|
+
aria-hidden="true"
|
|
2568
|
+
[style.display]="'table-column-group'"
|
|
2569
|
+
>
|
|
2570
|
+
@for (columnWidth of columnsWidths; track $index) {
|
|
2571
|
+
<div [style.display]="'table-column'" [style.width.px]="columnWidth ?? null"></div>
|
|
2572
|
+
}
|
|
2573
|
+
</div>
|
|
2574
|
+
}
|
|
2575
|
+
@for (dataItem of groupedData; track dataItem.groupIndex) {
|
|
2576
|
+
@if (dataItem.header) {
|
|
2577
|
+
<li
|
|
2578
|
+
role="presentation"
|
|
2579
|
+
[class]="listGroupItemClass"
|
|
2580
|
+
[attr.group-index]="dataItem.index"
|
|
2581
|
+
[style.width.px]="rowWidth ?? null"
|
|
2582
|
+
>
|
|
2583
|
+
<span [class]="listGroupItemTextClass">
|
|
2584
|
+
@if (groupTemplate) {
|
|
2585
|
+
<ng-template
|
|
2586
|
+
[templateContext]="{
|
|
2587
|
+
templateRef: groupTemplate.templateRef,
|
|
2588
|
+
$implicit: dataItem.value
|
|
2589
|
+
}">
|
|
2590
|
+
</ng-template>
|
|
2591
|
+
}
|
|
2592
|
+
@if (!groupTemplate) {
|
|
2593
|
+
{{ dataItem.value }}
|
|
2594
|
+
}
|
|
2595
|
+
</span>
|
|
2596
|
+
</li>
|
|
2597
|
+
}
|
|
2598
|
+
@for (item of dataItem.items; track item.offsetIndex) {
|
|
2599
|
+
<li
|
|
2600
|
+
role="option"
|
|
2601
|
+
kendoDropDownsSelectable
|
|
2602
|
+
[height]="virtual?.itemHeight"
|
|
2603
|
+
[index]="item.offsetIndex"
|
|
2604
|
+
[multipleSelection]="multipleSelection"
|
|
2605
|
+
[attr.absolute-index]="item.index"
|
|
2606
|
+
[attr.id]="optionPrefix + '-' + (item.index - 1 - item.groupIndex)"
|
|
2607
|
+
[attr.tabIndex]="-1"
|
|
2608
|
+
[attr.aria-selected]="itemAriaSelected(item.offsetIndex)"
|
|
2609
|
+
[class]="listItemClass"
|
|
2610
|
+
[ngClass]="{
|
|
2611
|
+
'k-disabled': isDisabled(item.offsetIndex),
|
|
2612
|
+
'k-table-alt-row': isAltRow(item.index - 1)
|
|
2613
|
+
}"
|
|
2614
|
+
[style.width.px]="rowWidth ?? null">
|
|
2615
|
+
@if (template) {
|
|
2616
|
+
<ng-template
|
|
2617
|
+
[templateContext]="{
|
|
2618
|
+
templateRef: template.templateRef,
|
|
2619
|
+
$implicit: item.value
|
|
2620
|
+
}">
|
|
2621
|
+
</ng-template>
|
|
2622
|
+
}
|
|
2623
|
+
@if (!template) {
|
|
2624
|
+
<span class="k-list-item-text">{{ getText(item.value) }}</span>
|
|
2625
|
+
}
|
|
2626
|
+
</li>
|
|
2627
|
+
}
|
|
2628
|
+
}
|
|
2629
|
+
@if (!virtual) {
|
|
2630
|
+
<kendo-resize-sensor
|
|
2631
|
+
(resize)="listResize.emit()"
|
|
2632
|
+
>
|
|
2633
|
+
</kendo-resize-sensor>
|
|
2634
|
+
}
|
|
2635
|
+
</ul>
|
|
2636
|
+
}
|
|
2541
2637
|
@if (virtual) {
|
|
2542
|
-
<div #virtualContainer class="k-height-container"
|
|
2638
|
+
<div #virtualContainer class="k-height-container">
|
|
2543
2639
|
<div [style.height.px]="scrollHeight">
|
|
2544
2640
|
<kendo-resize-sensor (resize)="listResize.emit()"></kendo-resize-sensor>
|
|
2545
2641
|
</div>
|
|
2546
2642
|
</div>
|
|
2547
2643
|
}
|
|
2548
2644
|
</div>
|
|
2645
|
+
<ng-content select=".k-no-data"></ng-content>
|
|
2549
2646
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { kind: "directive", type: ListItemDirective, selector: "\"li[role=option], li[role=group], li[role=presentation]\"" }, { kind: "directive", type: SelectableDirective, selector: "[kendoDropDownsSelectable]", inputs: ["index", "checkboxes", "height", "isMultiselect", "multipleSelection"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }] });
|
|
2550
2647
|
}
|
|
2551
2648
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ListComponent, decorators: [{
|
|
@@ -2622,11 +2719,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
2622
2719
|
[style.maxHeight.px]="height"
|
|
2623
2720
|
unselectable="on"
|
|
2624
2721
|
(scroll)="popupListScroll.emit($event)"
|
|
2625
|
-
[attr.role]="dataService.grouped ? 'listbox' : null"
|
|
2626
|
-
[attr.id]="dataService.grouped ? id : null"
|
|
2627
|
-
[attr.aria-live]="dataService.grouped ? ariaLive : null"
|
|
2628
|
-
[attr.aria-multiselectable]="dataService.grouped ? isMultiselect : null"
|
|
2629
|
-
[attr.aria-hidden]="dataService.grouped ? !show : null"
|
|
2722
|
+
[attr.role]="(dataService.grouped && type === 'list') ? 'listbox' : null"
|
|
2723
|
+
[attr.id]="(dataService.grouped && type === 'list') ? id : null"
|
|
2724
|
+
[attr.aria-live]="(dataService.grouped && type === 'list') ? ariaLive : null"
|
|
2725
|
+
[attr.aria-multiselectable]="(dataService.grouped && type === 'list') ? isMultiselect : null"
|
|
2726
|
+
[attr.aria-hidden]="(dataService.grouped && type === 'list') ? (!show ? true : null) : null"
|
|
2727
|
+
[attr.aria-label]="(dataService.grouped && type === 'list') ? (ariaLabel || null) : null"
|
|
2630
2728
|
>
|
|
2631
2729
|
@if (!dataService.grouped) {
|
|
2632
2730
|
<ul #list
|
|
@@ -2635,7 +2733,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
2635
2733
|
[attr.id]="id"
|
|
2636
2734
|
[attr.aria-live]="ariaLive"
|
|
2637
2735
|
[attr.aria-multiselectable]="isMultiselect"
|
|
2638
|
-
[attr.aria-hidden]="!show"
|
|
2736
|
+
[attr.aria-hidden]="!show ? true : null"
|
|
2737
|
+
[attr.aria-label]="ariaLabel || null">
|
|
2639
2738
|
@for (dataItem of data; track $index; let itemIndex = $index) {
|
|
2640
2739
|
<li
|
|
2641
2740
|
role="option"
|
|
@@ -2646,7 +2745,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
2646
2745
|
[multipleSelection]="multipleSelection"
|
|
2647
2746
|
[attr.id]="optionPrefix + '-' + itemIndex"
|
|
2648
2747
|
[attr.tabIndex]="-1"
|
|
2649
|
-
[attr.aria-selected]="
|
|
2748
|
+
[attr.aria-selected]="itemAriaSelected(itemIndex)"
|
|
2650
2749
|
[class]="listItemClass"
|
|
2651
2750
|
[ngClass]="{
|
|
2652
2751
|
'k-disabled': isDisabled(itemIndex),
|
|
@@ -2687,7 +2786,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
2687
2786
|
</ul>
|
|
2688
2787
|
}
|
|
2689
2788
|
|
|
2690
|
-
@if (dataService.grouped) {
|
|
2789
|
+
@if (dataService.grouped && type === 'list') {
|
|
2691
2790
|
<ng-container #list>
|
|
2692
2791
|
@for (dataItem of groupedData; track dataItem.groupIndex) {
|
|
2693
2792
|
<ul
|
|
@@ -2734,7 +2833,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
2734
2833
|
[attr.absolute-index]="item.index"
|
|
2735
2834
|
[attr.id]="optionPrefix + '-' + (item.index - 1 - item.groupIndex)"
|
|
2736
2835
|
[attr.tabIndex]="-1"
|
|
2737
|
-
[attr.aria-selected]="
|
|
2836
|
+
[attr.aria-selected]="itemAriaSelected(item.offsetIndex)"
|
|
2738
2837
|
[class]="listItemClass"
|
|
2739
2838
|
[ngClass]="{
|
|
2740
2839
|
'k-disabled': isDisabled(item.offsetIndex),
|
|
@@ -2764,19 +2863,101 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
2764
2863
|
}
|
|
2765
2864
|
</ng-container>
|
|
2766
2865
|
}
|
|
2866
|
+
|
|
2867
|
+
@if (dataService.grouped && type === 'dropdowngrid') {
|
|
2868
|
+
<ul #list
|
|
2869
|
+
[attr.role]="'listbox'"
|
|
2870
|
+
[class]="listClass"
|
|
2871
|
+
[attr.id]="id"
|
|
2872
|
+
[attr.aria-live]="ariaLive"
|
|
2873
|
+
[attr.aria-label]="ariaLabel || null">
|
|
2874
|
+
@if (columnsWidths?.length) {
|
|
2875
|
+
<div
|
|
2876
|
+
role="presentation"
|
|
2877
|
+
aria-hidden="true"
|
|
2878
|
+
[style.display]="'table-column-group'"
|
|
2879
|
+
>
|
|
2880
|
+
@for (columnWidth of columnsWidths; track $index) {
|
|
2881
|
+
<div [style.display]="'table-column'" [style.width.px]="columnWidth ?? null"></div>
|
|
2882
|
+
}
|
|
2883
|
+
</div>
|
|
2884
|
+
}
|
|
2885
|
+
@for (dataItem of groupedData; track dataItem.groupIndex) {
|
|
2886
|
+
@if (dataItem.header) {
|
|
2887
|
+
<li
|
|
2888
|
+
role="presentation"
|
|
2889
|
+
[class]="listGroupItemClass"
|
|
2890
|
+
[attr.group-index]="dataItem.index"
|
|
2891
|
+
[style.width.px]="rowWidth ?? null"
|
|
2892
|
+
>
|
|
2893
|
+
<span [class]="listGroupItemTextClass">
|
|
2894
|
+
@if (groupTemplate) {
|
|
2895
|
+
<ng-template
|
|
2896
|
+
[templateContext]="{
|
|
2897
|
+
templateRef: groupTemplate.templateRef,
|
|
2898
|
+
$implicit: dataItem.value
|
|
2899
|
+
}">
|
|
2900
|
+
</ng-template>
|
|
2901
|
+
}
|
|
2902
|
+
@if (!groupTemplate) {
|
|
2903
|
+
{{ dataItem.value }}
|
|
2904
|
+
}
|
|
2905
|
+
</span>
|
|
2906
|
+
</li>
|
|
2907
|
+
}
|
|
2908
|
+
@for (item of dataItem.items; track item.offsetIndex) {
|
|
2909
|
+
<li
|
|
2910
|
+
role="option"
|
|
2911
|
+
kendoDropDownsSelectable
|
|
2912
|
+
[height]="virtual?.itemHeight"
|
|
2913
|
+
[index]="item.offsetIndex"
|
|
2914
|
+
[multipleSelection]="multipleSelection"
|
|
2915
|
+
[attr.absolute-index]="item.index"
|
|
2916
|
+
[attr.id]="optionPrefix + '-' + (item.index - 1 - item.groupIndex)"
|
|
2917
|
+
[attr.tabIndex]="-1"
|
|
2918
|
+
[attr.aria-selected]="itemAriaSelected(item.offsetIndex)"
|
|
2919
|
+
[class]="listItemClass"
|
|
2920
|
+
[ngClass]="{
|
|
2921
|
+
'k-disabled': isDisabled(item.offsetIndex),
|
|
2922
|
+
'k-table-alt-row': isAltRow(item.index - 1)
|
|
2923
|
+
}"
|
|
2924
|
+
[style.width.px]="rowWidth ?? null">
|
|
2925
|
+
@if (template) {
|
|
2926
|
+
<ng-template
|
|
2927
|
+
[templateContext]="{
|
|
2928
|
+
templateRef: template.templateRef,
|
|
2929
|
+
$implicit: item.value
|
|
2930
|
+
}">
|
|
2931
|
+
</ng-template>
|
|
2932
|
+
}
|
|
2933
|
+
@if (!template) {
|
|
2934
|
+
<span class="k-list-item-text">{{ getText(item.value) }}</span>
|
|
2935
|
+
}
|
|
2936
|
+
</li>
|
|
2937
|
+
}
|
|
2938
|
+
}
|
|
2939
|
+
@if (!virtual) {
|
|
2940
|
+
<kendo-resize-sensor
|
|
2941
|
+
(resize)="listResize.emit()"
|
|
2942
|
+
>
|
|
2943
|
+
</kendo-resize-sensor>
|
|
2944
|
+
}
|
|
2945
|
+
</ul>
|
|
2946
|
+
}
|
|
2767
2947
|
@if (virtual) {
|
|
2768
|
-
<div #virtualContainer class="k-height-container"
|
|
2948
|
+
<div #virtualContainer class="k-height-container">
|
|
2769
2949
|
<div [style.height.px]="scrollHeight">
|
|
2770
2950
|
<kendo-resize-sensor (resize)="listResize.emit()"></kendo-resize-sensor>
|
|
2771
2951
|
</div>
|
|
2772
2952
|
</div>
|
|
2773
2953
|
}
|
|
2774
2954
|
</div>
|
|
2955
|
+
<ng-content select=".k-no-data"></ng-content>
|
|
2775
2956
|
`,
|
|
2776
2957
|
standalone: true,
|
|
2777
2958
|
imports: [NgStyle, TemplateContextDirective, ListItemDirective, SelectableDirective, NgClass, ResizeSensorComponent]
|
|
2778
2959
|
}]
|
|
2779
|
-
}], ctorParameters: () => [{ type: DataService }, { type: i0.ElementRef }, { type: SelectionService }, { type: DisabledItemsService }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i1.LocalizationService }], propDecorators: { selected: [{
|
|
2960
|
+
}], ctorParameters: () => [{ type: DataService }, { type: i0.ElementRef }, { type: SelectionService }, { type: DisabledItemsService }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i1.LocalizationService }, { type: i0.Injector }], propDecorators: { selected: [{
|
|
2780
2961
|
type: Input
|
|
2781
2962
|
}], focused: [{
|
|
2782
2963
|
type: Input
|
|
@@ -2808,6 +2989,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
2808
2989
|
type: Input
|
|
2809
2990
|
}], ariaLive: [{
|
|
2810
2991
|
type: Input
|
|
2992
|
+
}], ariaLabel: [{
|
|
2993
|
+
type: Input
|
|
2811
2994
|
}], isMultiselect: [{
|
|
2812
2995
|
type: Input
|
|
2813
2996
|
}], isActionSheetExpanded: [{
|
|
@@ -2816,6 +2999,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
2816
2999
|
type: Input
|
|
2817
3000
|
}], rowWidth: [{
|
|
2818
3001
|
type: Input
|
|
3002
|
+
}], columnsWidths: [{
|
|
3003
|
+
type: Input
|
|
2819
3004
|
}], customItemTemplate: [{
|
|
2820
3005
|
type: Input
|
|
2821
3006
|
}], text: [{
|
|
@@ -2887,6 +3072,7 @@ class AdaptiveRendererComponent {
|
|
|
2887
3072
|
placeholder;
|
|
2888
3073
|
searchBarValue;
|
|
2889
3074
|
filterable;
|
|
3075
|
+
showListContainer = true;
|
|
2890
3076
|
closePopup = new EventEmitter();
|
|
2891
3077
|
textInputChange = new EventEmitter();
|
|
2892
3078
|
navigate = new EventEmitter();
|
|
@@ -2899,6 +3085,7 @@ class AdaptiveRendererComponent {
|
|
|
2899
3085
|
}
|
|
2900
3086
|
animationDuration = animationDuration;
|
|
2901
3087
|
checkIcon = checkIcon;
|
|
3088
|
+
searchIcon = searchIcon;
|
|
2902
3089
|
expanded = false;
|
|
2903
3090
|
messageFor(key) {
|
|
2904
3091
|
return this.localization.get(key);
|
|
@@ -2924,7 +3111,7 @@ class AdaptiveRendererComponent {
|
|
|
2924
3111
|
return this.adaptiveService.size;
|
|
2925
3112
|
}
|
|
2926
3113
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: AdaptiveRendererComponent, deps: [{ token: i1.LocalizationService }, { token: i7.AdaptiveService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2927
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: AdaptiveRendererComponent, isStandalone: true, selector: "kendo-adaptive-renderer", inputs: { title: "title", subtitle: "subtitle", showTextInput: "showTextInput", sharedPopupActionSheetTemplate: "sharedPopupActionSheetTemplate", text: "text", placeholder: "placeholder", searchBarValue: "searchBarValue", filterable: "filterable" }, outputs: { closePopup: "closePopup", textInputChange: "textInputChange", navigate: "navigate", onExpand: "onExpand" }, viewQueries: [{ propertyName: "actionSheet", first: true, predicate: ActionSheetComponent, descendants: true }, { propertyName: "actionSheetSearchBar", first: true, predicate: ["actionSheetSearchBar"], descendants: true }], ngImport: i0, template: `
|
|
3114
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: AdaptiveRendererComponent, isStandalone: true, selector: "kendo-adaptive-renderer", inputs: { title: "title", subtitle: "subtitle", showTextInput: "showTextInput", sharedPopupActionSheetTemplate: "sharedPopupActionSheetTemplate", text: "text", placeholder: "placeholder", searchBarValue: "searchBarValue", filterable: "filterable", showListContainer: "showListContainer" }, outputs: { closePopup: "closePopup", textInputChange: "textInputChange", navigate: "navigate", onExpand: "onExpand" }, viewQueries: [{ propertyName: "actionSheet", first: true, predicate: ActionSheetComponent, descendants: true }, { propertyName: "actionSheetSearchBar", first: true, predicate: ["actionSheetSearchBar"], descendants: true }], ngImport: i0, template: `
|
|
2928
3115
|
<kendo-actionsheet
|
|
2929
3116
|
#actionSheet
|
|
2930
3117
|
[animation]="{ duration: animationDuration }"
|
|
@@ -2943,7 +3130,7 @@ class AdaptiveRendererComponent {
|
|
|
2943
3130
|
(collapse)="closePopup.emit()"
|
|
2944
3131
|
>
|
|
2945
3132
|
<ng-template kendoActionSheetTemplate>
|
|
2946
|
-
<div class="k-
|
|
3133
|
+
<div class="k-actionsheet-titlebar">
|
|
2947
3134
|
<div class="k-actionsheet-titlebar-group">
|
|
2948
3135
|
<div class="k-actionsheet-title">
|
|
2949
3136
|
@if (title) {
|
|
@@ -2959,6 +3146,7 @@ class AdaptiveRendererComponent {
|
|
|
2959
3146
|
icon="check"
|
|
2960
3147
|
type="button"
|
|
2961
3148
|
[attr.title]="messageFor('adaptiveCloseButtonTitle')"
|
|
3149
|
+
[attr.aria-label]="messageFor('adaptiveCloseButtonTitle')"
|
|
2962
3150
|
[svgIcon]="checkIcon"
|
|
2963
3151
|
fillMode="flat"
|
|
2964
3152
|
themeColor="primary"
|
|
@@ -2976,13 +3164,13 @@ class AdaptiveRendererComponent {
|
|
|
2976
3164
|
[value]="searchBarValue || ''"
|
|
2977
3165
|
size="large"
|
|
2978
3166
|
[placeholder]="filterable ? messageFor('filterInputPlaceholder') : placeholder"
|
|
2979
|
-
|
|
3167
|
+
[inputAttributes]="{'aria-label': title}"
|
|
2980
3168
|
autocomplete="off"
|
|
2981
3169
|
(valueChange)="onValueChange($event)"
|
|
2982
3170
|
>
|
|
2983
3171
|
@if (filterable) {
|
|
2984
3172
|
<ng-template kendoTextBoxPrefixTemplate>
|
|
2985
|
-
<kendo-icon name="search"></kendo-icon>
|
|
3173
|
+
<kendo-icon-wrapper name="search" [svgIcon]="searchIcon"></kendo-icon-wrapper>
|
|
2986
3174
|
</ng-template>
|
|
2987
3175
|
}
|
|
2988
3176
|
</kendo-textbox>
|
|
@@ -2990,13 +3178,17 @@ class AdaptiveRendererComponent {
|
|
|
2990
3178
|
}
|
|
2991
3179
|
</div>
|
|
2992
3180
|
<div class="k-actionsheet-content">
|
|
3181
|
+
@if (showListContainer) {
|
|
2993
3182
|
<div class="k-list-container">
|
|
2994
3183
|
<ng-container *ngTemplateOutlet="sharedPopupActionSheetTemplate"></ng-container>
|
|
2995
3184
|
</div>
|
|
3185
|
+
} @else {
|
|
3186
|
+
<ng-container *ngTemplateOutlet="sharedPopupActionSheetTemplate"></ng-container>
|
|
3187
|
+
}
|
|
2996
3188
|
</div>
|
|
2997
3189
|
</ng-template>
|
|
2998
3190
|
</kendo-actionsheet>
|
|
2999
|
-
`, isInline: true, dependencies: [{ kind: "component", type: ActionSheetComponent, selector: "kendo-actionsheet", inputs: ["actions", "actionsLayout", "overlayClickClose", "title", "subtitle", "items", "cssClass", "cssStyle", "animation", "expanded", "titleId", "initialFocus"], outputs: ["expandedChange", "action", "expand", "collapse", "itemClick", "overlayClick"], exportAs: ["kendoActionSheet"] }, { kind: "directive", type: ActionSheetTemplateDirective, selector: "[kendoActionSheetTemplate]" }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconPosition", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { 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:
|
|
3191
|
+
`, isInline: true, dependencies: [{ kind: "component", type: ActionSheetComponent, selector: "kendo-actionsheet", inputs: ["actions", "actionsLayout", "overlayClickClose", "title", "subtitle", "items", "cssClass", "cssStyle", "animation", "expanded", "titleId", "initialFocus"], outputs: ["expandedChange", "action", "expand", "collapse", "itemClick", "overlayClick"], exportAs: ["kendoActionSheet"] }, { kind: "directive", type: ActionSheetTemplateDirective, selector: "[kendoActionSheetTemplate]" }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconPosition", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { 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: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
|
|
3000
3192
|
}
|
|
3001
3193
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: AdaptiveRendererComponent, decorators: [{
|
|
3002
3194
|
type: Component,
|
|
@@ -3021,7 +3213,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
3021
3213
|
(collapse)="closePopup.emit()"
|
|
3022
3214
|
>
|
|
3023
3215
|
<ng-template kendoActionSheetTemplate>
|
|
3024
|
-
<div class="k-
|
|
3216
|
+
<div class="k-actionsheet-titlebar">
|
|
3025
3217
|
<div class="k-actionsheet-titlebar-group">
|
|
3026
3218
|
<div class="k-actionsheet-title">
|
|
3027
3219
|
@if (title) {
|
|
@@ -3037,6 +3229,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
3037
3229
|
icon="check"
|
|
3038
3230
|
type="button"
|
|
3039
3231
|
[attr.title]="messageFor('adaptiveCloseButtonTitle')"
|
|
3232
|
+
[attr.aria-label]="messageFor('adaptiveCloseButtonTitle')"
|
|
3040
3233
|
[svgIcon]="checkIcon"
|
|
3041
3234
|
fillMode="flat"
|
|
3042
3235
|
themeColor="primary"
|
|
@@ -3054,13 +3247,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
3054
3247
|
[value]="searchBarValue || ''"
|
|
3055
3248
|
size="large"
|
|
3056
3249
|
[placeholder]="filterable ? messageFor('filterInputPlaceholder') : placeholder"
|
|
3057
|
-
|
|
3250
|
+
[inputAttributes]="{'aria-label': title}"
|
|
3058
3251
|
autocomplete="off"
|
|
3059
3252
|
(valueChange)="onValueChange($event)"
|
|
3060
3253
|
>
|
|
3061
3254
|
@if (filterable) {
|
|
3062
3255
|
<ng-template kendoTextBoxPrefixTemplate>
|
|
3063
|
-
<kendo-icon name="search"></kendo-icon>
|
|
3256
|
+
<kendo-icon-wrapper name="search" [svgIcon]="searchIcon"></kendo-icon-wrapper>
|
|
3064
3257
|
</ng-template>
|
|
3065
3258
|
}
|
|
3066
3259
|
</kendo-textbox>
|
|
@@ -3068,15 +3261,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
3068
3261
|
}
|
|
3069
3262
|
</div>
|
|
3070
3263
|
<div class="k-actionsheet-content">
|
|
3264
|
+
@if (showListContainer) {
|
|
3071
3265
|
<div class="k-list-container">
|
|
3072
3266
|
<ng-container *ngTemplateOutlet="sharedPopupActionSheetTemplate"></ng-container>
|
|
3073
3267
|
</div>
|
|
3268
|
+
} @else {
|
|
3269
|
+
<ng-container *ngTemplateOutlet="sharedPopupActionSheetTemplate"></ng-container>
|
|
3270
|
+
}
|
|
3074
3271
|
</div>
|
|
3075
3272
|
</ng-template>
|
|
3076
3273
|
</kendo-actionsheet>
|
|
3077
3274
|
`,
|
|
3078
3275
|
standalone: true,
|
|
3079
|
-
imports: [ActionSheetComponent, ActionSheetTemplateDirective, ButtonComponent, TextBoxComponent, TextBoxPrefixTemplateDirective,
|
|
3276
|
+
imports: [ActionSheetComponent, ActionSheetTemplateDirective, ButtonComponent, TextBoxComponent, TextBoxPrefixTemplateDirective, IconWrapperComponent, NgTemplateOutlet]
|
|
3080
3277
|
}]
|
|
3081
3278
|
}], ctorParameters: () => [{ type: i1.LocalizationService }, { type: i7.AdaptiveService }], propDecorators: { title: [{
|
|
3082
3279
|
type: Input
|
|
@@ -3094,6 +3291,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
3094
3291
|
type: Input
|
|
3095
3292
|
}], filterable: [{
|
|
3096
3293
|
type: Input
|
|
3294
|
+
}], showListContainer: [{
|
|
3295
|
+
type: Input
|
|
3097
3296
|
}], closePopup: [{
|
|
3098
3297
|
type: Output
|
|
3099
3298
|
}], textInputChange: [{
|
|
@@ -3228,15 +3427,15 @@ class Messages extends ComponentMessages {
|
|
|
3228
3427
|
*/
|
|
3229
3428
|
clearTitle;
|
|
3230
3429
|
/**
|
|
3231
|
-
|
|
3430
|
+
* The text displayed for the check-all checkbox. Available for MultiSelectTree.
|
|
3232
3431
|
*/
|
|
3233
3432
|
checkAllText;
|
|
3234
3433
|
/**
|
|
3235
|
-
|
|
3434
|
+
* The text set as aria-label on the select button. Available for DropDownList, ComboBox, MultiColumnComboBox, and DropDownTree.
|
|
3236
3435
|
*/
|
|
3237
3436
|
selectButtonText;
|
|
3238
3437
|
/**
|
|
3239
|
-
|
|
3438
|
+
* The text set as aria-label on the list filter input. Available for DropDownList, DropDownTree, and MultiSelectTree.
|
|
3240
3439
|
*/
|
|
3241
3440
|
filterInputLabel;
|
|
3242
3441
|
/**
|
|
@@ -3248,11 +3447,15 @@ class Messages extends ComponentMessages {
|
|
|
3248
3447
|
*/
|
|
3249
3448
|
adaptiveCloseButtonTitle;
|
|
3250
3449
|
/**
|
|
3251
|
-
|
|
3450
|
+
* The text for the input's placeholder when filtering is enabled. Available for DropDownTree and MultiSelectTree.
|
|
3252
3451
|
*/
|
|
3253
3452
|
filterInputPlaceholder;
|
|
3254
3453
|
/**
|
|
3255
|
-
|
|
3454
|
+
* The accessible label of the tag list element that contains the selected items. Available for MultiSelect and MultiSelectTree.
|
|
3455
|
+
*/
|
|
3456
|
+
chipListLabel;
|
|
3457
|
+
/**
|
|
3458
|
+
* The text displayed when the user types a custom value that is not in the list of options. Available for ComboBox and MultiSelect.
|
|
3256
3459
|
*
|
|
3257
3460
|
* The text includes a localizable string and the custom value.
|
|
3258
3461
|
* For example, when adding a custom value **Test**, the default text is **Use "Test"**.
|
|
@@ -3261,8 +3464,16 @@ class Messages extends ComponentMessages {
|
|
|
3261
3464
|
* Use `{customValue}` to insert the value, for example, **Add: {customValue}**.
|
|
3262
3465
|
*/
|
|
3263
3466
|
useCustomValueText;
|
|
3467
|
+
/**
|
|
3468
|
+
* The accessible label of the listbox that contains the list of options. Available for DropDownList, ComboBox, MultiColumnComboBox, AutoComplete, and MultiSelect.
|
|
3469
|
+
*/
|
|
3470
|
+
listboxLabel;
|
|
3471
|
+
/**
|
|
3472
|
+
* The accessible label of the input element. Available for MultiSelectTree.
|
|
3473
|
+
*/
|
|
3474
|
+
inputLabel;
|
|
3264
3475
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: Messages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
3265
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: Messages, isStandalone: true, inputs: { noDataText: "noDataText", clearTitle: "clearTitle", checkAllText: "checkAllText", selectButtonText: "selectButtonText", filterInputLabel: "filterInputLabel", popupLabel: "popupLabel", adaptiveCloseButtonTitle: "adaptiveCloseButtonTitle", filterInputPlaceholder: "filterInputPlaceholder", useCustomValueText: "useCustomValueText" }, usesInheritance: true, ngImport: i0 });
|
|
3476
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: Messages, isStandalone: true, inputs: { noDataText: "noDataText", clearTitle: "clearTitle", checkAllText: "checkAllText", selectButtonText: "selectButtonText", filterInputLabel: "filterInputLabel", popupLabel: "popupLabel", adaptiveCloseButtonTitle: "adaptiveCloseButtonTitle", filterInputPlaceholder: "filterInputPlaceholder", chipListLabel: "chipListLabel", useCustomValueText: "useCustomValueText", listboxLabel: "listboxLabel", inputLabel: "inputLabel" }, usesInheritance: true, ngImport: i0 });
|
|
3266
3477
|
}
|
|
3267
3478
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: Messages, decorators: [{
|
|
3268
3479
|
type: Directive
|
|
@@ -3282,8 +3493,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
3282
3493
|
type: Input
|
|
3283
3494
|
}], filterInputPlaceholder: [{
|
|
3284
3495
|
type: Input
|
|
3496
|
+
}], chipListLabel: [{
|
|
3497
|
+
type: Input
|
|
3285
3498
|
}], useCustomValueText: [{
|
|
3286
3499
|
type: Input
|
|
3500
|
+
}], listboxLabel: [{
|
|
3501
|
+
type: Input
|
|
3502
|
+
}], inputLabel: [{
|
|
3503
|
+
type: Input
|
|
3287
3504
|
}] } });
|
|
3288
3505
|
|
|
3289
3506
|
/**
|
|
@@ -3440,7 +3657,7 @@ class AutoCompleteComponent {
|
|
|
3440
3657
|
* @hidden
|
|
3441
3658
|
*/
|
|
3442
3659
|
get ariaControls() {
|
|
3443
|
-
return this.isOpen ? this.listBoxId : undefined;
|
|
3660
|
+
return (!this.isAdaptive && this.isOpen) ? this.listBoxId : undefined;
|
|
3444
3661
|
}
|
|
3445
3662
|
/**
|
|
3446
3663
|
* @hidden
|
|
@@ -4494,6 +4711,9 @@ class AutoCompleteComponent {
|
|
|
4494
4711
|
|
|
4495
4712
|
i18n-adaptiveCloseButtonTitle="kendo.autocomplete.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"
|
|
4496
4713
|
adaptiveCloseButtonTitle="Close"
|
|
4714
|
+
|
|
4715
|
+
i18n-listboxLabel="kendo.autocomplete.listboxLabel|The accessible label of the list of suggestions"
|
|
4716
|
+
listboxLabel="Suggestions"
|
|
4497
4717
|
>
|
|
4498
4718
|
</ng-container>
|
|
4499
4719
|
|
|
@@ -4515,9 +4735,9 @@ class AutoCompleteComponent {
|
|
|
4515
4735
|
}
|
|
4516
4736
|
<input
|
|
4517
4737
|
kendoSearchbar
|
|
4518
|
-
[ariaExpanded]="isOpen"
|
|
4738
|
+
[ariaExpanded]="isAdaptive ? false : isOpen"
|
|
4519
4739
|
[isSuggestable]="suggest"
|
|
4520
|
-
[
|
|
4740
|
+
[hasListAutocomplete]="filterable"
|
|
4521
4741
|
[isLoading]="isLoading"
|
|
4522
4742
|
[ariaControls]="ariaControls"
|
|
4523
4743
|
[id]="focusableId"
|
|
@@ -4613,24 +4833,25 @@ class AutoCompleteComponent {
|
|
|
4613
4833
|
[show]="isOpen"
|
|
4614
4834
|
[virtual]="virtual"
|
|
4615
4835
|
[showStickyHeader]="showStickyHeader"
|
|
4836
|
+
[ariaLabel]="messageFor('listboxLabel')"
|
|
4616
4837
|
(pageChange)="pageChange($event)"
|
|
4617
4838
|
>
|
|
4839
|
+
<!--no-data template-->
|
|
4840
|
+
@if (data.length === 0) {
|
|
4841
|
+
<div class="k-no-data" [attr.aria-live]="'polite'">
|
|
4842
|
+
@if (noDataTemplate) {
|
|
4843
|
+
<ng-template
|
|
4844
|
+
[templateContext]="{
|
|
4845
|
+
templateRef: noDataTemplate?.templateRef
|
|
4846
|
+
}">
|
|
4847
|
+
</ng-template>
|
|
4848
|
+
}
|
|
4849
|
+
@if (!noDataTemplate) {
|
|
4850
|
+
<div>{{ messageFor('noDataText') }}</div>
|
|
4851
|
+
}
|
|
4852
|
+
</div>
|
|
4853
|
+
}
|
|
4618
4854
|
</kendo-list>
|
|
4619
|
-
<!--no-data template-->
|
|
4620
|
-
@if (data.length === 0) {
|
|
4621
|
-
<div class="k-no-data" [attr.aria-live]="'polite'">
|
|
4622
|
-
@if (noDataTemplate) {
|
|
4623
|
-
<ng-template
|
|
4624
|
-
[templateContext]="{
|
|
4625
|
-
templateRef: noDataTemplate?.templateRef
|
|
4626
|
-
}">
|
|
4627
|
-
</ng-template>
|
|
4628
|
-
}
|
|
4629
|
-
@if (!noDataTemplate) {
|
|
4630
|
-
<div>{{ messageFor('noDataText') }}</div>
|
|
4631
|
-
}
|
|
4632
|
-
</div>
|
|
4633
|
-
}
|
|
4634
4855
|
<!--footer template-->
|
|
4635
4856
|
@if (footerTemplate) {
|
|
4636
4857
|
<ng-template
|
|
@@ -4640,7 +4861,7 @@ class AutoCompleteComponent {
|
|
|
4640
4861
|
</ng-template>
|
|
4641
4862
|
}
|
|
4642
4863
|
</ng-template>
|
|
4643
|
-
`, 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", "
|
|
4864
|
+
`, 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", "hasListAutocomplete", "userInput", "suggestedText", "inputAttributes", "id", "activeDescendant", "tabIndex", "isLoading", "ariaControls", "ariaExpanded", "placeholder"], outputs: ["valueChange", "onBlur", "onFocus", "onClick", "onNavigate"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { 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", "showListContainer"], 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", "ariaLabel", "isMultiselect", "isActionSheetExpanded", "showStickyHeader", "rowWidth", "columnsWidths", "customItemTemplate", "text", "allowCustom", "defaultItem", "data", "size", "rounded"], outputs: ["onClick", "pageChange", "listResize", "popupListScroll"] }] });
|
|
4644
4865
|
}
|
|
4645
4866
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: AutoCompleteComponent, decorators: [{
|
|
4646
4867
|
type: Component,
|
|
@@ -4681,6 +4902,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
4681
4902
|
|
|
4682
4903
|
i18n-adaptiveCloseButtonTitle="kendo.autocomplete.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"
|
|
4683
4904
|
adaptiveCloseButtonTitle="Close"
|
|
4905
|
+
|
|
4906
|
+
i18n-listboxLabel="kendo.autocomplete.listboxLabel|The accessible label of the list of suggestions"
|
|
4907
|
+
listboxLabel="Suggestions"
|
|
4684
4908
|
>
|
|
4685
4909
|
</ng-container>
|
|
4686
4910
|
|
|
@@ -4702,9 +4926,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
4702
4926
|
}
|
|
4703
4927
|
<input
|
|
4704
4928
|
kendoSearchbar
|
|
4705
|
-
[ariaExpanded]="isOpen"
|
|
4929
|
+
[ariaExpanded]="isAdaptive ? false : isOpen"
|
|
4706
4930
|
[isSuggestable]="suggest"
|
|
4707
|
-
[
|
|
4931
|
+
[hasListAutocomplete]="filterable"
|
|
4708
4932
|
[isLoading]="isLoading"
|
|
4709
4933
|
[ariaControls]="ariaControls"
|
|
4710
4934
|
[id]="focusableId"
|
|
@@ -4800,24 +5024,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
4800
5024
|
[show]="isOpen"
|
|
4801
5025
|
[virtual]="virtual"
|
|
4802
5026
|
[showStickyHeader]="showStickyHeader"
|
|
5027
|
+
[ariaLabel]="messageFor('listboxLabel')"
|
|
4803
5028
|
(pageChange)="pageChange($event)"
|
|
4804
5029
|
>
|
|
5030
|
+
<!--no-data template-->
|
|
5031
|
+
@if (data.length === 0) {
|
|
5032
|
+
<div class="k-no-data" [attr.aria-live]="'polite'">
|
|
5033
|
+
@if (noDataTemplate) {
|
|
5034
|
+
<ng-template
|
|
5035
|
+
[templateContext]="{
|
|
5036
|
+
templateRef: noDataTemplate?.templateRef
|
|
5037
|
+
}">
|
|
5038
|
+
</ng-template>
|
|
5039
|
+
}
|
|
5040
|
+
@if (!noDataTemplate) {
|
|
5041
|
+
<div>{{ messageFor('noDataText') }}</div>
|
|
5042
|
+
}
|
|
5043
|
+
</div>
|
|
5044
|
+
}
|
|
4805
5045
|
</kendo-list>
|
|
4806
|
-
<!--no-data template-->
|
|
4807
|
-
@if (data.length === 0) {
|
|
4808
|
-
<div class="k-no-data" [attr.aria-live]="'polite'">
|
|
4809
|
-
@if (noDataTemplate) {
|
|
4810
|
-
<ng-template
|
|
4811
|
-
[templateContext]="{
|
|
4812
|
-
templateRef: noDataTemplate?.templateRef
|
|
4813
|
-
}">
|
|
4814
|
-
</ng-template>
|
|
4815
|
-
}
|
|
4816
|
-
@if (!noDataTemplate) {
|
|
4817
|
-
<div>{{ messageFor('noDataText') }}</div>
|
|
4818
|
-
}
|
|
4819
|
-
</div>
|
|
4820
|
-
}
|
|
4821
5046
|
<!--footer template-->
|
|
4822
5047
|
@if (footerTemplate) {
|
|
4823
5048
|
<ng-template
|
|
@@ -5101,7 +5326,7 @@ class ComboBoxComponent extends MultiTabStop {
|
|
|
5101
5326
|
* @hidden
|
|
5102
5327
|
*/
|
|
5103
5328
|
get ariaControls() {
|
|
5104
|
-
return this.isOpen ? this.listBoxId : undefined;
|
|
5329
|
+
return (!this.isAdaptive && this.isOpen) ? this.listBoxId : undefined;
|
|
5105
5330
|
}
|
|
5106
5331
|
/**
|
|
5107
5332
|
* @hidden
|
|
@@ -5924,7 +6149,7 @@ class ComboBoxComponent extends MultiTabStop {
|
|
|
5924
6149
|
* @hidden
|
|
5925
6150
|
*/
|
|
5926
6151
|
get selectButtonClasses() {
|
|
5927
|
-
return `${this.size ? getSizeClass('button', this.size) : ''} ${this.fillMode ? 'k-button-' + this.fillMode : ''}`;
|
|
6152
|
+
return `${this.size ? getSizeClass('button', this.size) : ''} ${this.fillMode ? 'k-button-' + this.fillMode : ''} ${this.disabled ? 'k-disabled' : ''}`;
|
|
5928
6153
|
}
|
|
5929
6154
|
/**
|
|
5930
6155
|
* @hidden
|
|
@@ -6191,7 +6416,7 @@ class ComboBoxComponent extends MultiTabStop {
|
|
|
6191
6416
|
this.zone.run(() => {
|
|
6192
6417
|
if (valueHasChanged) {
|
|
6193
6418
|
const lowerCaseMatch = isPresent(this.focusedItemText) && this.focusedItemText.toLowerCase() === currentText.toLowerCase();
|
|
6194
|
-
if (lowerCaseMatch || unresolvedSelection) {
|
|
6419
|
+
if ((lowerCaseMatch && this.shouldResolveSuggestedItem(currentText)) || unresolvedSelection) {
|
|
6195
6420
|
this.selectionService.change(this.selectionService.focused);
|
|
6196
6421
|
}
|
|
6197
6422
|
else {
|
|
@@ -6324,6 +6549,9 @@ class ComboBoxComponent extends MultiTabStop {
|
|
|
6324
6549
|
const itemText = getter(this.dataService.itemAt(focused), this.textField);
|
|
6325
6550
|
return !isPresent(itemText) ? "" : itemText.toString();
|
|
6326
6551
|
}
|
|
6552
|
+
shouldResolveSuggestedItem(currentText) {
|
|
6553
|
+
return !(this.allowCustom && this.suggest && this.focusedItemText !== currentText);
|
|
6554
|
+
}
|
|
6327
6555
|
/**
|
|
6328
6556
|
* Focuses the first match when there's text in the input field, but no focused item.
|
|
6329
6557
|
*/
|
|
@@ -6512,7 +6740,7 @@ class ComboBoxComponent extends MultiTabStop {
|
|
|
6512
6740
|
this.zone.run(() => {
|
|
6513
6741
|
if (valueHasChanged) {
|
|
6514
6742
|
const lowerCaseMatch = isPresent(this.focusedItemText) && this.focusedItemText.toLowerCase() === currentText.toLowerCase();
|
|
6515
|
-
if (lowerCaseMatch || unresolvedSelection) {
|
|
6743
|
+
if ((lowerCaseMatch && this.shouldResolveSuggestedItem(currentText)) || unresolvedSelection) {
|
|
6516
6744
|
this.selectionService.change(this.selectionService.focused);
|
|
6517
6745
|
}
|
|
6518
6746
|
else {
|
|
@@ -6566,6 +6794,12 @@ class ComboBoxComponent extends MultiTabStop {
|
|
|
6566
6794
|
|
|
6567
6795
|
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"
|
|
6568
6796
|
adaptiveCloseButtonTitle="Close"
|
|
6797
|
+
|
|
6798
|
+
i18n-listboxLabel="kendo.combobox.listboxLabel|The accessible label of the listbox that contains the list of options"
|
|
6799
|
+
listboxLabel="Options"
|
|
6800
|
+
|
|
6801
|
+
i18n-useCustomValueText="kendo.combobox.useCustomValueText|The text displayed when the user types a custom value that is not in the list of options."
|
|
6802
|
+
useCustomValueText="{{ 'Use "{customValue}"' }}"
|
|
6569
6803
|
>
|
|
6570
6804
|
</ng-container>
|
|
6571
6805
|
|
|
@@ -6587,12 +6821,12 @@ class ComboBoxComponent extends MultiTabStop {
|
|
|
6587
6821
|
}
|
|
6588
6822
|
<input
|
|
6589
6823
|
kendoSearchbar
|
|
6590
|
-
[ariaExpanded]="isOpen"
|
|
6824
|
+
[ariaExpanded]="isAdaptive ? false : isOpen"
|
|
6591
6825
|
[ariaControls]="ariaControls"
|
|
6592
6826
|
[id]="focusableId"
|
|
6593
6827
|
[isLoading]="loading"
|
|
6594
6828
|
[isSuggestable]="suggest"
|
|
6595
|
-
[
|
|
6829
|
+
[hasListAutocomplete]="filterable"
|
|
6596
6830
|
[activeDescendant]="activeDescendant"
|
|
6597
6831
|
[userInput]="text"
|
|
6598
6832
|
[suggestedText]="getSuggestion()"
|
|
@@ -6612,7 +6846,6 @@ class ComboBoxComponent extends MultiTabStop {
|
|
|
6612
6846
|
<span
|
|
6613
6847
|
class="k-clear-value"
|
|
6614
6848
|
[style.visibility]="clearButtonVisibility"
|
|
6615
|
-
aria-hidden="true"
|
|
6616
6849
|
[attr.title]="messageFor('clearTitle')"
|
|
6617
6850
|
(click)="clearValue($event)"
|
|
6618
6851
|
[kendoEventsOutsideAngular]="{
|
|
@@ -6707,24 +6940,27 @@ class ComboBoxComponent extends MultiTabStop {
|
|
|
6707
6940
|
[show]="isOpen"
|
|
6708
6941
|
[virtual]="virtual"
|
|
6709
6942
|
[showStickyHeader]="showStickyHeader"
|
|
6943
|
+
[ariaLabel]="messageFor('listboxLabel')"
|
|
6944
|
+
[text]="text"
|
|
6945
|
+
[allowCustom]="allowCustom"
|
|
6710
6946
|
(pageChange)="pageChange($event)"
|
|
6711
6947
|
>
|
|
6948
|
+
<!--no-data template-->
|
|
6949
|
+
@if (data.length === 0) {
|
|
6950
|
+
<div class="k-no-data" [attr.aria-live]="'polite'">
|
|
6951
|
+
@if (noDataTemplate) {
|
|
6952
|
+
<ng-template
|
|
6953
|
+
[templateContext]="{
|
|
6954
|
+
templateRef: noDataTemplate ? noDataTemplate.templateRef : undefined
|
|
6955
|
+
}">
|
|
6956
|
+
</ng-template>
|
|
6957
|
+
}
|
|
6958
|
+
@if (!noDataTemplate) {
|
|
6959
|
+
<div>{{ messageFor('noDataText') }}</div>
|
|
6960
|
+
}
|
|
6961
|
+
</div>
|
|
6962
|
+
}
|
|
6712
6963
|
</kendo-list>
|
|
6713
|
-
<!--no-data template-->
|
|
6714
|
-
@if (data.length === 0) {
|
|
6715
|
-
<div class="k-no-data" [attr.aria-live]="'polite'">
|
|
6716
|
-
@if (noDataTemplate) {
|
|
6717
|
-
<ng-template
|
|
6718
|
-
[templateContext]="{
|
|
6719
|
-
templateRef: noDataTemplate ? noDataTemplate.templateRef : undefined
|
|
6720
|
-
}">
|
|
6721
|
-
</ng-template>
|
|
6722
|
-
}
|
|
6723
|
-
@if (!noDataTemplate) {
|
|
6724
|
-
<div>{{ messageFor('noDataText') }}</div>
|
|
6725
|
-
}
|
|
6726
|
-
</div>
|
|
6727
|
-
}
|
|
6728
6964
|
<!--footer template-->
|
|
6729
6965
|
@if (footerTemplate) {
|
|
6730
6966
|
<ng-template
|
|
@@ -6734,7 +6970,7 @@ class ComboBoxComponent extends MultiTabStop {
|
|
|
6734
6970
|
</ng-template>
|
|
6735
6971
|
}
|
|
6736
6972
|
</ng-template>
|
|
6737
|
-
`, 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", "
|
|
6973
|
+
`, 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", "hasListAutocomplete", "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", "showListContainer"], 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", "ariaLabel", "isMultiselect", "isActionSheetExpanded", "showStickyHeader", "rowWidth", "columnsWidths", "customItemTemplate", "text", "allowCustom", "defaultItem", "data", "size", "rounded"], outputs: ["onClick", "pageChange", "listResize", "popupListScroll"] }] });
|
|
6738
6974
|
}
|
|
6739
6975
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ComboBoxComponent, decorators: [{
|
|
6740
6976
|
type: Component,
|
|
@@ -6779,6 +7015,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
6779
7015
|
|
|
6780
7016
|
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"
|
|
6781
7017
|
adaptiveCloseButtonTitle="Close"
|
|
7018
|
+
|
|
7019
|
+
i18n-listboxLabel="kendo.combobox.listboxLabel|The accessible label of the listbox that contains the list of options"
|
|
7020
|
+
listboxLabel="Options"
|
|
7021
|
+
|
|
7022
|
+
i18n-useCustomValueText="kendo.combobox.useCustomValueText|The text displayed when the user types a custom value that is not in the list of options."
|
|
7023
|
+
useCustomValueText="{{ 'Use "{customValue}"' }}"
|
|
6782
7024
|
>
|
|
6783
7025
|
</ng-container>
|
|
6784
7026
|
|
|
@@ -6800,12 +7042,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
6800
7042
|
}
|
|
6801
7043
|
<input
|
|
6802
7044
|
kendoSearchbar
|
|
6803
|
-
[ariaExpanded]="isOpen"
|
|
7045
|
+
[ariaExpanded]="isAdaptive ? false : isOpen"
|
|
6804
7046
|
[ariaControls]="ariaControls"
|
|
6805
7047
|
[id]="focusableId"
|
|
6806
7048
|
[isLoading]="loading"
|
|
6807
7049
|
[isSuggestable]="suggest"
|
|
6808
|
-
[
|
|
7050
|
+
[hasListAutocomplete]="filterable"
|
|
6809
7051
|
[activeDescendant]="activeDescendant"
|
|
6810
7052
|
[userInput]="text"
|
|
6811
7053
|
[suggestedText]="getSuggestion()"
|
|
@@ -6825,7 +7067,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
6825
7067
|
<span
|
|
6826
7068
|
class="k-clear-value"
|
|
6827
7069
|
[style.visibility]="clearButtonVisibility"
|
|
6828
|
-
aria-hidden="true"
|
|
6829
7070
|
[attr.title]="messageFor('clearTitle')"
|
|
6830
7071
|
(click)="clearValue($event)"
|
|
6831
7072
|
[kendoEventsOutsideAngular]="{
|
|
@@ -6920,24 +7161,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
6920
7161
|
[show]="isOpen"
|
|
6921
7162
|
[virtual]="virtual"
|
|
6922
7163
|
[showStickyHeader]="showStickyHeader"
|
|
7164
|
+
[ariaLabel]="messageFor('listboxLabel')"
|
|
7165
|
+
[text]="text"
|
|
7166
|
+
[allowCustom]="allowCustom"
|
|
6923
7167
|
(pageChange)="pageChange($event)"
|
|
6924
7168
|
>
|
|
7169
|
+
<!--no-data template-->
|
|
7170
|
+
@if (data.length === 0) {
|
|
7171
|
+
<div class="k-no-data" [attr.aria-live]="'polite'">
|
|
7172
|
+
@if (noDataTemplate) {
|
|
7173
|
+
<ng-template
|
|
7174
|
+
[templateContext]="{
|
|
7175
|
+
templateRef: noDataTemplate ? noDataTemplate.templateRef : undefined
|
|
7176
|
+
}">
|
|
7177
|
+
</ng-template>
|
|
7178
|
+
}
|
|
7179
|
+
@if (!noDataTemplate) {
|
|
7180
|
+
<div>{{ messageFor('noDataText') }}</div>
|
|
7181
|
+
}
|
|
7182
|
+
</div>
|
|
7183
|
+
}
|
|
6925
7184
|
</kendo-list>
|
|
6926
|
-
<!--no-data template-->
|
|
6927
|
-
@if (data.length === 0) {
|
|
6928
|
-
<div class="k-no-data" [attr.aria-live]="'polite'">
|
|
6929
|
-
@if (noDataTemplate) {
|
|
6930
|
-
<ng-template
|
|
6931
|
-
[templateContext]="{
|
|
6932
|
-
templateRef: noDataTemplate ? noDataTemplate.templateRef : undefined
|
|
6933
|
-
}">
|
|
6934
|
-
</ng-template>
|
|
6935
|
-
}
|
|
6936
|
-
@if (!noDataTemplate) {
|
|
6937
|
-
<div>{{ messageFor('noDataText') }}</div>
|
|
6938
|
-
}
|
|
6939
|
-
</div>
|
|
6940
|
-
}
|
|
6941
7185
|
<!--footer template-->
|
|
6942
7186
|
@if (footerTemplate) {
|
|
6943
7187
|
<ng-template
|
|
@@ -7296,7 +7540,7 @@ class DropDownListComponent {
|
|
|
7296
7540
|
* @hidden
|
|
7297
7541
|
*/
|
|
7298
7542
|
get ariaLive() {
|
|
7299
|
-
return this.filterable ? 'polite' :
|
|
7543
|
+
return this.filterable ? 'polite' : null;
|
|
7300
7544
|
}
|
|
7301
7545
|
/**
|
|
7302
7546
|
* Shows or hides the current group sticky header when using grouped data.
|
|
@@ -7685,7 +7929,7 @@ class DropDownListComponent {
|
|
|
7685
7929
|
role = 'combobox';
|
|
7686
7930
|
haspopup = 'listbox';
|
|
7687
7931
|
get hostAriaInvalid() {
|
|
7688
|
-
return this.formControl?.invalid ? true : null;
|
|
7932
|
+
return (this.formControl?.invalid && (this.formControl?.touched || this.formControl?.dirty)) ? true : null;
|
|
7689
7933
|
}
|
|
7690
7934
|
/**
|
|
7691
7935
|
* @hidden
|
|
@@ -8534,8 +8778,6 @@ class DropDownListComponent {
|
|
|
8534
8778
|
}
|
|
8535
8779
|
closeActionSheet() {
|
|
8536
8780
|
this.actionSheet.toggle(false);
|
|
8537
|
-
this.renderer.setAttribute(this.wrapper.nativeElement, 'aria-expanded', 'false');
|
|
8538
|
-
this.renderer.removeAttribute(this.wrapper.nativeElement, 'aria-controls');
|
|
8539
8781
|
if (this.filterable) {
|
|
8540
8782
|
this.adaptiveRenderer.searchBarValue = '';
|
|
8541
8783
|
this.filterChange.emit('');
|
|
@@ -8545,8 +8787,6 @@ class DropDownListComponent {
|
|
|
8545
8787
|
openActionSheet() {
|
|
8546
8788
|
this.actionSheet.toggle(true);
|
|
8547
8789
|
this.cdr.detectChanges();
|
|
8548
|
-
this.renderer.setAttribute(this.wrapper.nativeElement, 'aria-expanded', 'true');
|
|
8549
|
-
this.renderer.setAttribute(this.wrapper.nativeElement, 'aria-controls', this.listBoxId);
|
|
8550
8790
|
if (!this.dataService.grouped) {
|
|
8551
8791
|
setListBoxAriaLabelledBy(this.optionsList, this.wrapper, this.renderer);
|
|
8552
8792
|
}
|
|
@@ -8598,6 +8838,9 @@ class DropDownListComponent {
|
|
|
8598
8838
|
|
|
8599
8839
|
i18n-filterPlaceholder="kendo.dropdownlist.filterPlaceholder|The text for the input's placeholder when filtering is enabled"
|
|
8600
8840
|
filterInputPlaceholder="Filter"
|
|
8841
|
+
|
|
8842
|
+
i18n-listboxLabel="kendo.dropdownlist.listboxLabel|The accessible label of the listbox that contains the list of options"
|
|
8843
|
+
listboxLabel="Options"
|
|
8601
8844
|
>
|
|
8602
8845
|
</ng-container>
|
|
8603
8846
|
<span class="k-input-inner" unselectable="on" [id]="valueLabelId" (click)="$event.preventDefault()">
|
|
@@ -8662,7 +8905,6 @@ class DropDownListComponent {
|
|
|
8662
8905
|
class="k-searchbox k-input"
|
|
8663
8906
|
[ngClass]="filterInputClasses">
|
|
8664
8907
|
<kendo-icon-wrapper
|
|
8665
|
-
class="k-icon"
|
|
8666
8908
|
innerCssClass="k-input-icon"
|
|
8667
8909
|
name="search"
|
|
8668
8910
|
[svgIcon]="searchIcon">
|
|
@@ -8713,24 +8955,25 @@ class DropDownListComponent {
|
|
|
8713
8955
|
[virtual]="virtual"
|
|
8714
8956
|
[ariaLive]="ariaLive"
|
|
8715
8957
|
[showStickyHeader]="showStickyHeader"
|
|
8958
|
+
[ariaLabel]="messageFor('listboxLabel')"
|
|
8716
8959
|
(pageChange)="pageChange($event)"
|
|
8717
8960
|
[defaultItem]="defaultItem">
|
|
8961
|
+
<!--no-data template-->
|
|
8962
|
+
@if (data.length === 0) {
|
|
8963
|
+
<div class="k-no-data" [attr.aria-live]="'polite'">
|
|
8964
|
+
@if (noDataTemplate) {
|
|
8965
|
+
<ng-template
|
|
8966
|
+
[templateContext]="{
|
|
8967
|
+
templateRef: noDataTemplate ? noDataTemplate.templateRef : undefined
|
|
8968
|
+
}">
|
|
8969
|
+
</ng-template>
|
|
8970
|
+
}
|
|
8971
|
+
@if (!noDataTemplate) {
|
|
8972
|
+
<div>{{ messageFor('noDataText') }}</div>
|
|
8973
|
+
}
|
|
8974
|
+
</div>
|
|
8975
|
+
}
|
|
8718
8976
|
</kendo-list>
|
|
8719
|
-
<!--no-data template-->
|
|
8720
|
-
@if (data.length === 0) {
|
|
8721
|
-
<div class="k-no-data" [attr.aria-live]="'polite'">
|
|
8722
|
-
@if (noDataTemplate) {
|
|
8723
|
-
<ng-template
|
|
8724
|
-
[templateContext]="{
|
|
8725
|
-
templateRef: noDataTemplate ? noDataTemplate.templateRef : undefined
|
|
8726
|
-
}">
|
|
8727
|
-
</ng-template>
|
|
8728
|
-
}
|
|
8729
|
-
@if (!noDataTemplate) {
|
|
8730
|
-
<div>{{ messageFor('noDataText') }}</div>
|
|
8731
|
-
}
|
|
8732
|
-
</div>
|
|
8733
|
-
}
|
|
8734
8977
|
<!--footer template-->
|
|
8735
8978
|
@if (footerTemplate) {
|
|
8736
8979
|
<ng-template
|
|
@@ -8740,7 +8983,7 @@ class DropDownListComponent {
|
|
|
8740
8983
|
</ng-template>
|
|
8741
8984
|
}
|
|
8742
8985
|
</ng-template>
|
|
8743
|
-
`, 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: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { 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: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i8.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: FilterInputDirective, selector: "[filterInput]", inputs: ["filterInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { 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"] }] });
|
|
8986
|
+
`, 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: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { 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", "showListContainer"], outputs: ["closePopup", "textInputChange", "navigate", "onExpand"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i8.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: FilterInputDirective, selector: "[filterInput]", inputs: ["filterInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ListComponent, selector: "kendo-list", inputs: ["selected", "focused", "textField", "valueField", "height", "template", "groupTemplate", "fixedGroupTemplate", "show", "id", "optionPrefix", "multipleSelection", "virtual", "type", "checkboxes", "ariaLive", "ariaLabel", "isMultiselect", "isActionSheetExpanded", "showStickyHeader", "rowWidth", "columnsWidths", "customItemTemplate", "text", "allowCustom", "defaultItem", "data", "size", "rounded"], outputs: ["onClick", "pageChange", "listResize", "popupListScroll"] }] });
|
|
8744
8987
|
}
|
|
8745
8988
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: DropDownListComponent, decorators: [{
|
|
8746
8989
|
type: Component,
|
|
@@ -8785,6 +9028,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
8785
9028
|
|
|
8786
9029
|
i18n-filterPlaceholder="kendo.dropdownlist.filterPlaceholder|The text for the input's placeholder when filtering is enabled"
|
|
8787
9030
|
filterInputPlaceholder="Filter"
|
|
9031
|
+
|
|
9032
|
+
i18n-listboxLabel="kendo.dropdownlist.listboxLabel|The accessible label of the listbox that contains the list of options"
|
|
9033
|
+
listboxLabel="Options"
|
|
8788
9034
|
>
|
|
8789
9035
|
</ng-container>
|
|
8790
9036
|
<span class="k-input-inner" unselectable="on" [id]="valueLabelId" (click)="$event.preventDefault()">
|
|
@@ -8849,7 +9095,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
8849
9095
|
class="k-searchbox k-input"
|
|
8850
9096
|
[ngClass]="filterInputClasses">
|
|
8851
9097
|
<kendo-icon-wrapper
|
|
8852
|
-
class="k-icon"
|
|
8853
9098
|
innerCssClass="k-input-icon"
|
|
8854
9099
|
name="search"
|
|
8855
9100
|
[svgIcon]="searchIcon">
|
|
@@ -8900,24 +9145,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
8900
9145
|
[virtual]="virtual"
|
|
8901
9146
|
[ariaLive]="ariaLive"
|
|
8902
9147
|
[showStickyHeader]="showStickyHeader"
|
|
9148
|
+
[ariaLabel]="messageFor('listboxLabel')"
|
|
8903
9149
|
(pageChange)="pageChange($event)"
|
|
8904
9150
|
[defaultItem]="defaultItem">
|
|
9151
|
+
<!--no-data template-->
|
|
9152
|
+
@if (data.length === 0) {
|
|
9153
|
+
<div class="k-no-data" [attr.aria-live]="'polite'">
|
|
9154
|
+
@if (noDataTemplate) {
|
|
9155
|
+
<ng-template
|
|
9156
|
+
[templateContext]="{
|
|
9157
|
+
templateRef: noDataTemplate ? noDataTemplate.templateRef : undefined
|
|
9158
|
+
}">
|
|
9159
|
+
</ng-template>
|
|
9160
|
+
}
|
|
9161
|
+
@if (!noDataTemplate) {
|
|
9162
|
+
<div>{{ messageFor('noDataText') }}</div>
|
|
9163
|
+
}
|
|
9164
|
+
</div>
|
|
9165
|
+
}
|
|
8905
9166
|
</kendo-list>
|
|
8906
|
-
<!--no-data template-->
|
|
8907
|
-
@if (data.length === 0) {
|
|
8908
|
-
<div class="k-no-data" [attr.aria-live]="'polite'">
|
|
8909
|
-
@if (noDataTemplate) {
|
|
8910
|
-
<ng-template
|
|
8911
|
-
[templateContext]="{
|
|
8912
|
-
templateRef: noDataTemplate ? noDataTemplate.templateRef : undefined
|
|
8913
|
-
}">
|
|
8914
|
-
</ng-template>
|
|
8915
|
-
}
|
|
8916
|
-
@if (!noDataTemplate) {
|
|
8917
|
-
<div>{{ messageFor('noDataText') }}</div>
|
|
8918
|
-
}
|
|
8919
|
-
</div>
|
|
8920
|
-
}
|
|
8921
9167
|
<!--footer template-->
|
|
8922
9168
|
@if (footerTemplate) {
|
|
8923
9169
|
<ng-template
|
|
@@ -9238,6 +9484,7 @@ class TagListComponent {
|
|
|
9238
9484
|
disabled;
|
|
9239
9485
|
tagPrefix;
|
|
9240
9486
|
id;
|
|
9487
|
+
ariaLabel;
|
|
9241
9488
|
set size(size) {
|
|
9242
9489
|
this.renderer.removeClass(this.hostElement.nativeElement, getSizeClass('chip-list', this.size));
|
|
9243
9490
|
if (size) {
|
|
@@ -9260,7 +9507,11 @@ class TagListComponent {
|
|
|
9260
9507
|
return this.id;
|
|
9261
9508
|
}
|
|
9262
9509
|
taglistRole = 'listbox';
|
|
9510
|
+
get hostAriaLabel() {
|
|
9511
|
+
return this.ariaLabel || null;
|
|
9512
|
+
}
|
|
9263
9513
|
multiselectable = true;
|
|
9514
|
+
ariaOrientation = 'horizontal';
|
|
9264
9515
|
_size;
|
|
9265
9516
|
constructor(renderer, hostElement) {
|
|
9266
9517
|
this.renderer = renderer;
|
|
@@ -9315,7 +9566,7 @@ class TagListComponent {
|
|
|
9315
9566
|
}
|
|
9316
9567
|
}
|
|
9317
9568
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: TagListComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
9318
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: TagListComponent, isStandalone: true, selector: "kendo-taglist", inputs: { tags: "tags", textField: "textField", valueField: "valueField", valueDepth: "valueDepth", focused: "focused", template: "template", groupTemplate: "groupTemplate", disabled: "disabled", tagPrefix: "tagPrefix", id: "id", size: "size", rounded: "rounded", fillMode: "fillMode", disabledIndices: "disabledIndices" }, outputs: { removeTag: "removeTag" }, host: { properties: { "class.k-chip-list": "this.hostClass", "attr.id": "this.hostId", "attr.role": "this.taglistRole", "attr.aria-multiselectable": "this.multiselectable" } }, ngImport: i0, template: `
|
|
9569
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: TagListComponent, isStandalone: true, selector: "kendo-taglist", inputs: { tags: "tags", textField: "textField", valueField: "valueField", valueDepth: "valueDepth", focused: "focused", template: "template", groupTemplate: "groupTemplate", disabled: "disabled", tagPrefix: "tagPrefix", id: "id", ariaLabel: "ariaLabel", size: "size", rounded: "rounded", fillMode: "fillMode", disabledIndices: "disabledIndices" }, outputs: { removeTag: "removeTag" }, host: { properties: { "class.k-chip-list": "this.hostClass", "attr.id": "this.hostId", "attr.role": "this.taglistRole", "attr.aria-label": "this.hostAriaLabel", "attr.aria-multiselectable": "this.multiselectable", "attr.aria-orientation": "this.ariaOrientation" } }, ngImport: i0, template: `
|
|
9319
9570
|
@for (tag of tags; track $index; let index = $index) {
|
|
9320
9571
|
<div
|
|
9321
9572
|
[attr.id]="itemId(tag, index)"
|
|
@@ -9341,7 +9592,7 @@ class TagListComponent {
|
|
|
9341
9592
|
>
|
|
9342
9593
|
<span class="k-chip-content">
|
|
9343
9594
|
@if (isGroupTag(tag)) {
|
|
9344
|
-
<span class="k-chip-label
|
|
9595
|
+
<span class="k-chip-label">
|
|
9345
9596
|
@if (groupTemplate) {
|
|
9346
9597
|
<ng-template
|
|
9347
9598
|
[templateContext]="{
|
|
@@ -9355,7 +9606,7 @@ class TagListComponent {
|
|
|
9355
9606
|
}
|
|
9356
9607
|
</span>
|
|
9357
9608
|
} @else {
|
|
9358
|
-
<span class="k-chip-label
|
|
9609
|
+
<span class="k-chip-label">
|
|
9359
9610
|
@if (template) {
|
|
9360
9611
|
<ng-template
|
|
9361
9612
|
[templateContext]="{
|
|
@@ -9371,11 +9622,13 @@ class TagListComponent {
|
|
|
9371
9622
|
}
|
|
9372
9623
|
</span>
|
|
9373
9624
|
<span class="k-chip-actions">
|
|
9374
|
-
<span
|
|
9625
|
+
<span class="k-chip-action k-chip-remove-action">
|
|
9375
9626
|
<kendo-icon-wrapper
|
|
9627
|
+
[attr.aria-hidden]="index !== focused"
|
|
9376
9628
|
(mousedown)="deleteTag($event, tag, index)"
|
|
9377
9629
|
name="x-circle"
|
|
9378
9630
|
[svgIcon]="xCircleIcon"
|
|
9631
|
+
size="small"
|
|
9379
9632
|
>
|
|
9380
9633
|
</kendo-icon-wrapper>
|
|
9381
9634
|
</span>
|
|
@@ -9415,7 +9668,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
9415
9668
|
>
|
|
9416
9669
|
<span class="k-chip-content">
|
|
9417
9670
|
@if (isGroupTag(tag)) {
|
|
9418
|
-
<span class="k-chip-label
|
|
9671
|
+
<span class="k-chip-label">
|
|
9419
9672
|
@if (groupTemplate) {
|
|
9420
9673
|
<ng-template
|
|
9421
9674
|
[templateContext]="{
|
|
@@ -9429,7 +9682,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
9429
9682
|
}
|
|
9430
9683
|
</span>
|
|
9431
9684
|
} @else {
|
|
9432
|
-
<span class="k-chip-label
|
|
9685
|
+
<span class="k-chip-label">
|
|
9433
9686
|
@if (template) {
|
|
9434
9687
|
<ng-template
|
|
9435
9688
|
[templateContext]="{
|
|
@@ -9445,11 +9698,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
9445
9698
|
}
|
|
9446
9699
|
</span>
|
|
9447
9700
|
<span class="k-chip-actions">
|
|
9448
|
-
<span
|
|
9701
|
+
<span class="k-chip-action k-chip-remove-action">
|
|
9449
9702
|
<kendo-icon-wrapper
|
|
9703
|
+
[attr.aria-hidden]="index !== focused"
|
|
9450
9704
|
(mousedown)="deleteTag($event, tag, index)"
|
|
9451
9705
|
name="x-circle"
|
|
9452
9706
|
[svgIcon]="xCircleIcon"
|
|
9707
|
+
size="small"
|
|
9453
9708
|
>
|
|
9454
9709
|
</kendo-icon-wrapper>
|
|
9455
9710
|
</span>
|
|
@@ -9481,6 +9736,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
9481
9736
|
type: Input
|
|
9482
9737
|
}], id: [{
|
|
9483
9738
|
type: Input
|
|
9739
|
+
}], ariaLabel: [{
|
|
9740
|
+
type: Input
|
|
9484
9741
|
}], size: [{
|
|
9485
9742
|
type: Input
|
|
9486
9743
|
}], rounded: [{
|
|
@@ -9500,9 +9757,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
9500
9757
|
}], taglistRole: [{
|
|
9501
9758
|
type: HostBinding,
|
|
9502
9759
|
args: ['attr.role']
|
|
9760
|
+
}], hostAriaLabel: [{
|
|
9761
|
+
type: HostBinding,
|
|
9762
|
+
args: ['attr.aria-label']
|
|
9503
9763
|
}], multiselectable: [{
|
|
9504
9764
|
type: HostBinding,
|
|
9505
9765
|
args: ['attr.aria-multiselectable']
|
|
9766
|
+
}], ariaOrientation: [{
|
|
9767
|
+
type: HostBinding,
|
|
9768
|
+
args: ['attr.aria-orientation']
|
|
9506
9769
|
}] } });
|
|
9507
9770
|
|
|
9508
9771
|
const MULTISELECT_VALUE_ACCESSOR = {
|
|
@@ -9590,7 +9853,7 @@ class MultiSelectComponent {
|
|
|
9590
9853
|
* @hidden
|
|
9591
9854
|
*/
|
|
9592
9855
|
get ariaControls() {
|
|
9593
|
-
return this.isOpen ? this.listBoxId : undefined;
|
|
9856
|
+
return (!this.isAdaptive && this.isOpen) ? this.listBoxId : undefined;
|
|
9594
9857
|
}
|
|
9595
9858
|
/**
|
|
9596
9859
|
* @hidden
|
|
@@ -11274,6 +11537,9 @@ class MultiSelectComponent {
|
|
|
11274
11537
|
i18n-clearTitle="kendo.multiselect.clearTitle|The title of the clear button"
|
|
11275
11538
|
clearTitle="clear"
|
|
11276
11539
|
|
|
11540
|
+
i18n-chipListLabel="kendo.multiselect.chipListLabel|The accessible label of the tag list element that contains the selected items"
|
|
11541
|
+
chipListLabel="chip list"
|
|
11542
|
+
|
|
11277
11543
|
i18n-popupLabel="kendo.multiselect.popupLabel|The label of the popup element that contains the list of options when its role is 'region'"
|
|
11278
11544
|
popupLabel="Options list"
|
|
11279
11545
|
|
|
@@ -11281,7 +11547,10 @@ class MultiSelectComponent {
|
|
|
11281
11547
|
adaptiveCloseButtonTitle="Close"
|
|
11282
11548
|
|
|
11283
11549
|
i18n-useCustomValueText="kendo.multiselect.useCustomValueText|The text displayed when the user types a custom value that is not in the list of options."
|
|
11284
|
-
useCustomValueText="
|
|
11550
|
+
useCustomValueText="Use "[[customValue]]""
|
|
11551
|
+
|
|
11552
|
+
i18n-listboxLabel="kendo.multiselect.listboxLabel|The accessible label of the listbox that contains the list of options"
|
|
11553
|
+
listboxLabel="Options"
|
|
11285
11554
|
>
|
|
11286
11555
|
</ng-container>
|
|
11287
11556
|
|
|
@@ -11316,17 +11585,18 @@ class MultiSelectComponent {
|
|
|
11316
11585
|
[groupTemplate]="groupTagTemplate"
|
|
11317
11586
|
[tagPrefix]="tagPrefix"
|
|
11318
11587
|
[disabledIndices]="disabledIndices"
|
|
11588
|
+
[ariaLabel]="messageFor('chipListLabel')"
|
|
11319
11589
|
(removeTag)="handleRemoveTag($event)"
|
|
11320
11590
|
>
|
|
11321
11591
|
</kendo-taglist>
|
|
11322
11592
|
<input
|
|
11323
11593
|
kendoSearchbar
|
|
11324
11594
|
[ariaControls]="ariaControls"
|
|
11325
|
-
[ariaExpanded]="isOpen"
|
|
11595
|
+
[ariaExpanded]="isAdaptive ? false : isOpen"
|
|
11326
11596
|
[id]="focusableId"
|
|
11327
11597
|
[tagListId]="tagListId"
|
|
11328
11598
|
[isLoading]="loading"
|
|
11329
|
-
[
|
|
11599
|
+
[hasListAutocomplete]="filterable"
|
|
11330
11600
|
[activeDescendant]="activeDescendant"
|
|
11331
11601
|
[userInput]="text"
|
|
11332
11602
|
[disabled]="disabled"
|
|
@@ -11353,7 +11623,6 @@ class MultiSelectComponent {
|
|
|
11353
11623
|
(mousedown)="clearAll($event)"
|
|
11354
11624
|
>
|
|
11355
11625
|
<kendo-icon-wrapper
|
|
11356
|
-
class="k-icon"
|
|
11357
11626
|
name="x"
|
|
11358
11627
|
[svgIcon]="xIcon"
|
|
11359
11628
|
>
|
|
@@ -11431,23 +11700,24 @@ class MultiSelectComponent {
|
|
|
11431
11700
|
[customItemTemplate]="customItemTemplate"
|
|
11432
11701
|
[text]="text"
|
|
11433
11702
|
[allowCustom]="allowCustom"
|
|
11703
|
+
[ariaLabel]="messageFor('listboxLabel')"
|
|
11434
11704
|
>
|
|
11705
|
+
<!--no data template-->
|
|
11706
|
+
@if (data.length === 0) {
|
|
11707
|
+
<div class="k-no-data" [attr.aria-live]="'polite'">
|
|
11708
|
+
@if (noDataTemplate) {
|
|
11709
|
+
<ng-template
|
|
11710
|
+
[templateContext]="{
|
|
11711
|
+
templateRef: noDataTemplate ? noDataTemplate.templateRef : undefined
|
|
11712
|
+
}">
|
|
11713
|
+
</ng-template>
|
|
11714
|
+
}
|
|
11715
|
+
@if (!noDataTemplate) {
|
|
11716
|
+
<div>{{ messageFor('noDataText') }}</div>
|
|
11717
|
+
}
|
|
11718
|
+
</div>
|
|
11719
|
+
}
|
|
11435
11720
|
</kendo-list>
|
|
11436
|
-
<!--no data template-->
|
|
11437
|
-
@if (data.length === 0) {
|
|
11438
|
-
<div class="k-no-data" [attr.aria-live]="'polite'">
|
|
11439
|
-
@if (noDataTemplate) {
|
|
11440
|
-
<ng-template
|
|
11441
|
-
[templateContext]="{
|
|
11442
|
-
templateRef: noDataTemplate ? noDataTemplate.templateRef : undefined
|
|
11443
|
-
}">
|
|
11444
|
-
</ng-template>
|
|
11445
|
-
}
|
|
11446
|
-
@if (!noDataTemplate) {
|
|
11447
|
-
<div>{{ messageFor('noDataText') }}</div>
|
|
11448
|
-
}
|
|
11449
|
-
</div>
|
|
11450
|
-
}
|
|
11451
11721
|
<!--footer template-->
|
|
11452
11722
|
@if (footerTemplate) {
|
|
11453
11723
|
<ng-template
|
|
@@ -11457,7 +11727,7 @@ class MultiSelectComponent {
|
|
|
11457
11727
|
</ng-template>
|
|
11458
11728
|
}
|
|
11459
11729
|
</ng-template>
|
|
11460
|
-
`, 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: TagListComponent, selector: "kendo-taglist", inputs: ["tags", "textField", "valueField", "valueDepth", "focused", "template", "groupTemplate", "disabled", "tagPrefix", "id", "size", "rounded", "fillMode", "disabledIndices"], outputs: ["removeTag"] }, { kind: "component", type: SearchBarComponent, selector: "input[kendoSearchbar]", inputs: ["tagListId", "readonly", "disabled", "isRequired", "isSuggestable", "
|
|
11730
|
+
`, 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: TagListComponent, selector: "kendo-taglist", inputs: ["tags", "textField", "valueField", "valueDepth", "focused", "template", "groupTemplate", "disabled", "tagPrefix", "id", "ariaLabel", "size", "rounded", "fillMode", "disabledIndices"], outputs: ["removeTag"] }, { kind: "component", type: SearchBarComponent, selector: "input[kendoSearchbar]", inputs: ["tagListId", "readonly", "disabled", "isRequired", "isSuggestable", "hasListAutocomplete", "userInput", "suggestedText", "inputAttributes", "id", "activeDescendant", "tabIndex", "isLoading", "ariaControls", "ariaExpanded", "placeholder"], outputs: ["valueChange", "onBlur", "onFocus", "onClick", "onNavigate"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { 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", "showListContainer"], 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", "ariaLabel", "isMultiselect", "isActionSheetExpanded", "showStickyHeader", "rowWidth", "columnsWidths", "customItemTemplate", "text", "allowCustom", "defaultItem", "data", "size", "rounded"], outputs: ["onClick", "pageChange", "listResize", "popupListScroll"] }] });
|
|
11461
11731
|
}
|
|
11462
11732
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: MultiSelectComponent, decorators: [{
|
|
11463
11733
|
type: Component,
|
|
@@ -11493,6 +11763,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
11493
11763
|
i18n-clearTitle="kendo.multiselect.clearTitle|The title of the clear button"
|
|
11494
11764
|
clearTitle="clear"
|
|
11495
11765
|
|
|
11766
|
+
i18n-chipListLabel="kendo.multiselect.chipListLabel|The accessible label of the tag list element that contains the selected items"
|
|
11767
|
+
chipListLabel="chip list"
|
|
11768
|
+
|
|
11496
11769
|
i18n-popupLabel="kendo.multiselect.popupLabel|The label of the popup element that contains the list of options when its role is 'region'"
|
|
11497
11770
|
popupLabel="Options list"
|
|
11498
11771
|
|
|
@@ -11500,7 +11773,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
11500
11773
|
adaptiveCloseButtonTitle="Close"
|
|
11501
11774
|
|
|
11502
11775
|
i18n-useCustomValueText="kendo.multiselect.useCustomValueText|The text displayed when the user types a custom value that is not in the list of options."
|
|
11503
|
-
useCustomValueText="
|
|
11776
|
+
useCustomValueText="Use "[[customValue]]""
|
|
11777
|
+
|
|
11778
|
+
i18n-listboxLabel="kendo.multiselect.listboxLabel|The accessible label of the listbox that contains the list of options"
|
|
11779
|
+
listboxLabel="Options"
|
|
11504
11780
|
>
|
|
11505
11781
|
</ng-container>
|
|
11506
11782
|
|
|
@@ -11535,17 +11811,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
11535
11811
|
[groupTemplate]="groupTagTemplate"
|
|
11536
11812
|
[tagPrefix]="tagPrefix"
|
|
11537
11813
|
[disabledIndices]="disabledIndices"
|
|
11814
|
+
[ariaLabel]="messageFor('chipListLabel')"
|
|
11538
11815
|
(removeTag)="handleRemoveTag($event)"
|
|
11539
11816
|
>
|
|
11540
11817
|
</kendo-taglist>
|
|
11541
11818
|
<input
|
|
11542
11819
|
kendoSearchbar
|
|
11543
11820
|
[ariaControls]="ariaControls"
|
|
11544
|
-
[ariaExpanded]="isOpen"
|
|
11821
|
+
[ariaExpanded]="isAdaptive ? false : isOpen"
|
|
11545
11822
|
[id]="focusableId"
|
|
11546
11823
|
[tagListId]="tagListId"
|
|
11547
11824
|
[isLoading]="loading"
|
|
11548
|
-
[
|
|
11825
|
+
[hasListAutocomplete]="filterable"
|
|
11549
11826
|
[activeDescendant]="activeDescendant"
|
|
11550
11827
|
[userInput]="text"
|
|
11551
11828
|
[disabled]="disabled"
|
|
@@ -11572,7 +11849,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
11572
11849
|
(mousedown)="clearAll($event)"
|
|
11573
11850
|
>
|
|
11574
11851
|
<kendo-icon-wrapper
|
|
11575
|
-
class="k-icon"
|
|
11576
11852
|
name="x"
|
|
11577
11853
|
[svgIcon]="xIcon"
|
|
11578
11854
|
>
|
|
@@ -11650,23 +11926,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
11650
11926
|
[customItemTemplate]="customItemTemplate"
|
|
11651
11927
|
[text]="text"
|
|
11652
11928
|
[allowCustom]="allowCustom"
|
|
11929
|
+
[ariaLabel]="messageFor('listboxLabel')"
|
|
11653
11930
|
>
|
|
11931
|
+
<!--no data template-->
|
|
11932
|
+
@if (data.length === 0) {
|
|
11933
|
+
<div class="k-no-data" [attr.aria-live]="'polite'">
|
|
11934
|
+
@if (noDataTemplate) {
|
|
11935
|
+
<ng-template
|
|
11936
|
+
[templateContext]="{
|
|
11937
|
+
templateRef: noDataTemplate ? noDataTemplate.templateRef : undefined
|
|
11938
|
+
}">
|
|
11939
|
+
</ng-template>
|
|
11940
|
+
}
|
|
11941
|
+
@if (!noDataTemplate) {
|
|
11942
|
+
<div>{{ messageFor('noDataText') }}</div>
|
|
11943
|
+
}
|
|
11944
|
+
</div>
|
|
11945
|
+
}
|
|
11654
11946
|
</kendo-list>
|
|
11655
|
-
<!--no data template-->
|
|
11656
|
-
@if (data.length === 0) {
|
|
11657
|
-
<div class="k-no-data" [attr.aria-live]="'polite'">
|
|
11658
|
-
@if (noDataTemplate) {
|
|
11659
|
-
<ng-template
|
|
11660
|
-
[templateContext]="{
|
|
11661
|
-
templateRef: noDataTemplate ? noDataTemplate.templateRef : undefined
|
|
11662
|
-
}">
|
|
11663
|
-
</ng-template>
|
|
11664
|
-
}
|
|
11665
|
-
@if (!noDataTemplate) {
|
|
11666
|
-
<div>{{ messageFor('noDataText') }}</div>
|
|
11667
|
-
}
|
|
11668
|
-
</div>
|
|
11669
|
-
}
|
|
11670
11947
|
<!--footer template-->
|
|
11671
11948
|
@if (footerTemplate) {
|
|
11672
11949
|
<ng-template
|
|
@@ -12122,6 +12399,17 @@ class MultiColumnComboBoxComponent extends ComboBoxComponent {
|
|
|
12122
12399
|
* @hidden
|
|
12123
12400
|
*/
|
|
12124
12401
|
totalColumnsWidth;
|
|
12402
|
+
/**
|
|
12403
|
+
* @hidden
|
|
12404
|
+
*/
|
|
12405
|
+
get visibleColumnsWidths() {
|
|
12406
|
+
return this.columns.reduce((widths, column, index) => {
|
|
12407
|
+
if (!column.hidden && column.matchesMedia) {
|
|
12408
|
+
widths.push(this.getColumnWidth(index));
|
|
12409
|
+
}
|
|
12410
|
+
return widths;
|
|
12411
|
+
}, []);
|
|
12412
|
+
}
|
|
12125
12413
|
get popupWidth() {
|
|
12126
12414
|
const wrapperOffsetWidth = this.wrapper.nativeElement.offsetWidth;
|
|
12127
12415
|
const min = `${wrapperOffsetWidth}px`;
|
|
@@ -12136,7 +12424,8 @@ class MultiColumnComboBoxComponent extends ComboBoxComponent {
|
|
|
12136
12424
|
* @hidden
|
|
12137
12425
|
*/
|
|
12138
12426
|
get tableSizeClass() {
|
|
12139
|
-
|
|
12427
|
+
const effectiveSize = this.isAdaptive ? 'large' : this.size;
|
|
12428
|
+
return `${effectiveSize ? getSizeClass('table', effectiveSize) : ''}`;
|
|
12140
12429
|
}
|
|
12141
12430
|
/**
|
|
12142
12431
|
* @hidden
|
|
@@ -12305,6 +12594,8 @@ class MultiColumnComboBoxComponent extends ComboBoxComponent {
|
|
|
12305
12594
|
popupLabel="Options list"
|
|
12306
12595
|
i18n-adaptiveCloseButtonTitle="kendo.multicolumncombobox.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"
|
|
12307
12596
|
adaptiveCloseButtonTitle="Close"
|
|
12597
|
+
i18n-listboxLabel="kendo.multicolumncombobox.listboxLabel|The accessible label of the listbox that contains the list of options"
|
|
12598
|
+
listboxLabel="Options"
|
|
12308
12599
|
></ng-container>
|
|
12309
12600
|
|
|
12310
12601
|
<ng-container
|
|
@@ -12326,11 +12617,11 @@ class MultiColumnComboBoxComponent extends ComboBoxComponent {
|
|
|
12326
12617
|
<input
|
|
12327
12618
|
kendoSearchbar
|
|
12328
12619
|
[ariaControls]="ariaControls"
|
|
12329
|
-
[ariaExpanded]="isOpen"
|
|
12620
|
+
[ariaExpanded]="isAdaptive ? false : isOpen"
|
|
12330
12621
|
[id]="focusableId"
|
|
12331
12622
|
[isLoading]="loading"
|
|
12332
12623
|
[isSuggestable]="suggest"
|
|
12333
|
-
[
|
|
12624
|
+
[hasListAutocomplete]="filterable"
|
|
12334
12625
|
[activeDescendant]="activeDescendant"
|
|
12335
12626
|
[userInput]="text"
|
|
12336
12627
|
[suggestedText]="getSuggestion()"
|
|
@@ -12434,7 +12725,7 @@ class MultiColumnComboBoxComponent extends ComboBoxComponent {
|
|
|
12434
12725
|
<!--grid header-->
|
|
12435
12726
|
<div #header class="k-table-header">
|
|
12436
12727
|
<div #headerWrap class="k-table-header-wrap">
|
|
12437
|
-
<table #headerTable class="k-table"
|
|
12728
|
+
<table #headerTable class="k-table">
|
|
12438
12729
|
<colgroup>
|
|
12439
12730
|
@for (column of columns; track column) {
|
|
12440
12731
|
@if (!column.hidden && column.matchesMedia) {
|
|
@@ -12518,7 +12809,9 @@ class MultiColumnComboBoxComponent extends ComboBoxComponent {
|
|
|
12518
12809
|
[virtual]="virtual"
|
|
12519
12810
|
[type]="'dropdowngrid'"
|
|
12520
12811
|
[rowWidth]="rowWidth"
|
|
12812
|
+
[columnsWidths]="visibleColumnsWidths"
|
|
12521
12813
|
[showStickyHeader]="showStickyHeader"
|
|
12814
|
+
[ariaLabel]="messageFor('listboxLabel')"
|
|
12522
12815
|
(pageChange)="pageChange($event)"
|
|
12523
12816
|
(listResize)="updateHeaderPadding(header)"
|
|
12524
12817
|
(popupListScroll)="headerWrap.scrollLeft = $event.target.scrollLeft;"
|
|
@@ -12545,25 +12838,19 @@ class MultiColumnComboBoxComponent extends ComboBoxComponent {
|
|
|
12545
12838
|
<!--user-defined footer template-->
|
|
12546
12839
|
@if (footerTemplate) {
|
|
12547
12840
|
<div class="k-table-footer">
|
|
12548
|
-
<
|
|
12549
|
-
<
|
|
12550
|
-
<tr class="k-table-row">
|
|
12551
|
-
<td class="k-table-td">
|
|
12552
|
-
<ng-template
|
|
12841
|
+
<span class="k-table-td">
|
|
12842
|
+
<ng-template
|
|
12553
12843
|
[templateContext]="{
|
|
12554
12844
|
templateRef: footerTemplate.templateRef
|
|
12555
12845
|
}"
|
|
12556
|
-
|
|
12557
|
-
|
|
12558
|
-
|
|
12559
|
-
</tr>
|
|
12560
|
-
</tfoot>
|
|
12561
|
-
</table>
|
|
12846
|
+
>
|
|
12847
|
+
</ng-template>
|
|
12848
|
+
</span>
|
|
12562
12849
|
</div>
|
|
12563
12850
|
}
|
|
12564
12851
|
</div>
|
|
12565
12852
|
</ng-template>
|
|
12566
|
-
`, 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", "
|
|
12853
|
+
`, 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", "hasListAutocomplete", "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", "showListContainer"], outputs: ["closePopup", "textInputChange", "navigate", "onExpand"] }, { kind: "directive", type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: ListComponent, selector: "kendo-list", inputs: ["selected", "focused", "textField", "valueField", "height", "template", "groupTemplate", "fixedGroupTemplate", "show", "id", "optionPrefix", "multipleSelection", "virtual", "type", "checkboxes", "ariaLive", "ariaLabel", "isMultiselect", "isActionSheetExpanded", "showStickyHeader", "rowWidth", "columnsWidths", "customItemTemplate", "text", "allowCustom", "defaultItem", "data", "size", "rounded"], outputs: ["onClick", "pageChange", "listResize", "popupListScroll"] }] });
|
|
12567
12854
|
}
|
|
12568
12855
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: MultiColumnComboBoxComponent, decorators: [{
|
|
12569
12856
|
type: Component,
|
|
@@ -12619,6 +12906,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
12619
12906
|
popupLabel="Options list"
|
|
12620
12907
|
i18n-adaptiveCloseButtonTitle="kendo.multicolumncombobox.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"
|
|
12621
12908
|
adaptiveCloseButtonTitle="Close"
|
|
12909
|
+
i18n-listboxLabel="kendo.multicolumncombobox.listboxLabel|The accessible label of the listbox that contains the list of options"
|
|
12910
|
+
listboxLabel="Options"
|
|
12622
12911
|
></ng-container>
|
|
12623
12912
|
|
|
12624
12913
|
<ng-container
|
|
@@ -12640,11 +12929,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
12640
12929
|
<input
|
|
12641
12930
|
kendoSearchbar
|
|
12642
12931
|
[ariaControls]="ariaControls"
|
|
12643
|
-
[ariaExpanded]="isOpen"
|
|
12932
|
+
[ariaExpanded]="isAdaptive ? false : isOpen"
|
|
12644
12933
|
[id]="focusableId"
|
|
12645
12934
|
[isLoading]="loading"
|
|
12646
12935
|
[isSuggestable]="suggest"
|
|
12647
|
-
[
|
|
12936
|
+
[hasListAutocomplete]="filterable"
|
|
12648
12937
|
[activeDescendant]="activeDescendant"
|
|
12649
12938
|
[userInput]="text"
|
|
12650
12939
|
[suggestedText]="getSuggestion()"
|
|
@@ -12748,7 +13037,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
12748
13037
|
<!--grid header-->
|
|
12749
13038
|
<div #header class="k-table-header">
|
|
12750
13039
|
<div #headerWrap class="k-table-header-wrap">
|
|
12751
|
-
<table #headerTable class="k-table"
|
|
13040
|
+
<table #headerTable class="k-table">
|
|
12752
13041
|
<colgroup>
|
|
12753
13042
|
@for (column of columns; track column) {
|
|
12754
13043
|
@if (!column.hidden && column.matchesMedia) {
|
|
@@ -12832,7 +13121,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
12832
13121
|
[virtual]="virtual"
|
|
12833
13122
|
[type]="'dropdowngrid'"
|
|
12834
13123
|
[rowWidth]="rowWidth"
|
|
13124
|
+
[columnsWidths]="visibleColumnsWidths"
|
|
12835
13125
|
[showStickyHeader]="showStickyHeader"
|
|
13126
|
+
[ariaLabel]="messageFor('listboxLabel')"
|
|
12836
13127
|
(pageChange)="pageChange($event)"
|
|
12837
13128
|
(listResize)="updateHeaderPadding(header)"
|
|
12838
13129
|
(popupListScroll)="headerWrap.scrollLeft = $event.target.scrollLeft;"
|
|
@@ -12859,20 +13150,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
12859
13150
|
<!--user-defined footer template-->
|
|
12860
13151
|
@if (footerTemplate) {
|
|
12861
13152
|
<div class="k-table-footer">
|
|
12862
|
-
<
|
|
12863
|
-
<
|
|
12864
|
-
<tr class="k-table-row">
|
|
12865
|
-
<td class="k-table-td">
|
|
12866
|
-
<ng-template
|
|
13153
|
+
<span class="k-table-td">
|
|
13154
|
+
<ng-template
|
|
12867
13155
|
[templateContext]="{
|
|
12868
13156
|
templateRef: footerTemplate.templateRef
|
|
12869
13157
|
}"
|
|
12870
|
-
|
|
12871
|
-
|
|
12872
|
-
|
|
12873
|
-
</tr>
|
|
12874
|
-
</tfoot>
|
|
12875
|
-
</table>
|
|
13158
|
+
>
|
|
13159
|
+
</ng-template>
|
|
13160
|
+
</span>
|
|
12876
13161
|
</div>
|
|
12877
13162
|
}
|
|
12878
13163
|
</div>
|
|
@@ -13002,7 +13287,7 @@ class DropDownTreeComponent {
|
|
|
13002
13287
|
return this.readonly ? '' : null;
|
|
13003
13288
|
}
|
|
13004
13289
|
get hostAriaInvalid() {
|
|
13005
|
-
return this.formControl?.invalid ? true : null;
|
|
13290
|
+
return (this.formControl?.invalid && (this.formControl?.touched || this.formControl?.dirty)) ? true : null;
|
|
13006
13291
|
}
|
|
13007
13292
|
get isDisabled() {
|
|
13008
13293
|
return this.disabled || null;
|
|
@@ -13014,7 +13299,7 @@ class DropDownTreeComponent {
|
|
|
13014
13299
|
return this.loading ? 'true' : null;
|
|
13015
13300
|
}
|
|
13016
13301
|
get hostAriaControls() {
|
|
13017
|
-
return this.isOpen ? this.treeViewId : null;
|
|
13302
|
+
return (!this.isAdaptive && this.isOpen) ? this.treeViewId : null;
|
|
13018
13303
|
}
|
|
13019
13304
|
get id() {
|
|
13020
13305
|
return this.focusableId;
|
|
@@ -13026,7 +13311,7 @@ class DropDownTreeComponent {
|
|
|
13026
13311
|
role = 'combobox';
|
|
13027
13312
|
ariaHasPopup = 'tree';
|
|
13028
13313
|
get isAriaExpanded() {
|
|
13029
|
-
return this.isOpen;
|
|
13314
|
+
return this.isAdaptive ? false : this.isOpen;
|
|
13030
13315
|
}
|
|
13031
13316
|
get hostAriaAutocomplete() {
|
|
13032
13317
|
return this.filterable ? 'list' : null;
|
|
@@ -13046,6 +13331,7 @@ class DropDownTreeComponent {
|
|
|
13046
13331
|
// the treeview animations are initially disabled (we don't want expand animations during popup opening)
|
|
13047
13332
|
// re-enables the animations for user interaction
|
|
13048
13333
|
treeview.animate = true;
|
|
13334
|
+
treeview.loadMoreButtonRole = 'treeitem';
|
|
13049
13335
|
this._treeview = treeview;
|
|
13050
13336
|
}
|
|
13051
13337
|
}
|
|
@@ -13751,7 +14037,7 @@ class DropDownTreeComponent {
|
|
|
13751
14037
|
* @hidden
|
|
13752
14038
|
*/
|
|
13753
14039
|
get popupContainerClasses() {
|
|
13754
|
-
const containerClasses = ['k-dropdowntree-popup'];
|
|
14040
|
+
const containerClasses = ['k-list-container', 'k-dropdowntree-popup'];
|
|
13755
14041
|
if (!this.popupSettings.popupClass) {
|
|
13756
14042
|
return containerClasses;
|
|
13757
14043
|
}
|
|
@@ -14329,6 +14615,7 @@ class DropDownTreeComponent {
|
|
|
14329
14615
|
[title]="adaptiveTitle"
|
|
14330
14616
|
[showTextInput]="filterable"
|
|
14331
14617
|
[subtitle]="adaptiveSubtitle"
|
|
14618
|
+
[showListContainer]="false"
|
|
14332
14619
|
(closePopup)="togglePopup(false)"
|
|
14333
14620
|
(textInputChange)="handleFilterInputChange($event)"
|
|
14334
14621
|
[placeholder]="placeholder"
|
|
@@ -14345,14 +14632,14 @@ class DropDownTreeComponent {
|
|
|
14345
14632
|
class="k-textbox k-input"
|
|
14346
14633
|
[ngClass]="filterInputClasses"
|
|
14347
14634
|
>
|
|
14348
|
-
<span class="k-input-prefix">
|
|
14635
|
+
<span class="k-input-prefix k-input-prefix-horizontal">
|
|
14349
14636
|
<kendo-icon-wrapper
|
|
14350
|
-
class="k-icon"
|
|
14351
14637
|
name="search"
|
|
14352
14638
|
[svgIcon]="searchIcon"
|
|
14353
14639
|
>
|
|
14354
14640
|
</kendo-icon-wrapper>
|
|
14355
14641
|
</span>
|
|
14642
|
+
<kendo-separator></kendo-separator>
|
|
14356
14643
|
<input
|
|
14357
14644
|
#filterInput
|
|
14358
14645
|
(input)="handleFilterInputChange($event.target)"
|
|
@@ -14384,7 +14671,7 @@ class DropDownTreeComponent {
|
|
|
14384
14671
|
<kendo-treeview
|
|
14385
14672
|
#treeview
|
|
14386
14673
|
[attr.id]="treeViewId"
|
|
14387
|
-
[size]="
|
|
14674
|
+
[size]="isAdaptive ? 'large' : size"
|
|
14388
14675
|
[nodes]="data"
|
|
14389
14676
|
[style.maxHeight.px]="listHeight"
|
|
14390
14677
|
[animate]="false"
|
|
@@ -14437,7 +14724,7 @@ class DropDownTreeComponent {
|
|
|
14437
14724
|
@if (isOpen || isAdaptiveModeEnabled) {
|
|
14438
14725
|
<kendo-resize-sensor (resize)="onResize()"></kendo-resize-sensor>
|
|
14439
14726
|
}
|
|
14440
|
-
`, 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: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { 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: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { 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: FilterInputDirective, selector: "[filterInput]", inputs: ["filterInput"] }, { kind: "directive", type: EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "component", type: TreeViewComponent, selector: "kendo-treeview", inputs: ["filterInputPlaceholder", "expandDisabledNodes", "animate", "nodeTemplate", "loadMoreButtonTemplate", "trackBy", "nodes", "textField", "hasChildren", "isChecked", "isDisabled", "hasCheckbox", "isExpanded", "isSelected", "isVisible", "navigable", "children", "loadOnDemand", "filterable", "filter", "size", "disableParentNodesOnly"], outputs: ["childrenLoaded", "blur", "focus", "expand", "collapse", "nodeDragStart", "nodeDrag", "filterStateChange", "nodeDrop", "nodeDragEnd", "addItem", "removeItem", "checkedChange", "selectionChange", "filterChange", "nodeClick", "nodeDblClick"], exportAs: ["kendoTreeView"] }, { kind: "directive", type: SelectDirective, selector: "[kendoTreeViewSelectable]", inputs: ["isSelected", "selectBy", "kendoTreeViewSelectable", "selectedKeys"], outputs: ["selectedKeysChange"] }, { kind: "component", type: ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
14727
|
+
`, 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: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { 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: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: AdaptiveRendererComponent, selector: "kendo-adaptive-renderer", inputs: ["title", "subtitle", "showTextInput", "sharedPopupActionSheetTemplate", "text", "placeholder", "searchBarValue", "filterable", "showListContainer"], outputs: ["closePopup", "textInputChange", "navigate", "onExpand"] }, { kind: "directive", type: FilterInputDirective, selector: "[filterInput]", inputs: ["filterInput"] }, { kind: "directive", type: EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "component", type: TreeViewComponent, selector: "kendo-treeview", inputs: ["filterInputPlaceholder", "expandDisabledNodes", "animate", "nodeTemplate", "loadMoreButtonTemplate", "loadMoreButtonRole", "trackBy", "nodes", "textField", "hasChildren", "isChecked", "isDisabled", "hasCheckbox", "isExpanded", "isSelected", "isVisible", "navigable", "children", "loadOnDemand", "filterable", "filter", "size", "disableParentNodesOnly"], outputs: ["childrenLoaded", "blur", "focus", "expand", "collapse", "nodeDragStart", "nodeDrag", "filterStateChange", "nodeDrop", "nodeDragEnd", "addItem", "removeItem", "checkedChange", "selectionChange", "filterChange", "nodeClick", "nodeDblClick"], exportAs: ["kendoTreeView"] }, { kind: "directive", type: SelectDirective, selector: "[kendoTreeViewSelectable]", inputs: ["isSelected", "selectBy", "kendoTreeViewSelectable", "selectedKeys"], outputs: ["selectedKeysChange"] }, { kind: "component", type: ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { kind: "component", type: SeparatorComponent, selector: "kendo-separator", inputs: ["orientation"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
14441
14728
|
}
|
|
14442
14729
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: DropDownTreeComponent, decorators: [{
|
|
14443
14730
|
type: Component,
|
|
@@ -14564,6 +14851,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
14564
14851
|
[title]="adaptiveTitle"
|
|
14565
14852
|
[showTextInput]="filterable"
|
|
14566
14853
|
[subtitle]="adaptiveSubtitle"
|
|
14854
|
+
[showListContainer]="false"
|
|
14567
14855
|
(closePopup)="togglePopup(false)"
|
|
14568
14856
|
(textInputChange)="handleFilterInputChange($event)"
|
|
14569
14857
|
[placeholder]="placeholder"
|
|
@@ -14580,14 +14868,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
14580
14868
|
class="k-textbox k-input"
|
|
14581
14869
|
[ngClass]="filterInputClasses"
|
|
14582
14870
|
>
|
|
14583
|
-
<span class="k-input-prefix">
|
|
14871
|
+
<span class="k-input-prefix k-input-prefix-horizontal">
|
|
14584
14872
|
<kendo-icon-wrapper
|
|
14585
|
-
class="k-icon"
|
|
14586
14873
|
name="search"
|
|
14587
14874
|
[svgIcon]="searchIcon"
|
|
14588
14875
|
>
|
|
14589
14876
|
</kendo-icon-wrapper>
|
|
14590
14877
|
</span>
|
|
14878
|
+
<kendo-separator></kendo-separator>
|
|
14591
14879
|
<input
|
|
14592
14880
|
#filterInput
|
|
14593
14881
|
(input)="handleFilterInputChange($event.target)"
|
|
@@ -14619,7 +14907,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
14619
14907
|
<kendo-treeview
|
|
14620
14908
|
#treeview
|
|
14621
14909
|
[attr.id]="treeViewId"
|
|
14622
|
-
[size]="
|
|
14910
|
+
[size]="isAdaptive ? 'large' : size"
|
|
14623
14911
|
[nodes]="data"
|
|
14624
14912
|
[style.maxHeight.px]="listHeight"
|
|
14625
14913
|
[animate]="false"
|
|
@@ -14675,7 +14963,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
14675
14963
|
`,
|
|
14676
14964
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
14677
14965
|
standalone: true,
|
|
14678
|
-
imports: [LocalizedMessagesDirective, TemplateContextDirective, IconWrapperComponent, NgClass, NgTemplateOutlet, AdaptiveRendererComponent, FilterInputDirective, EventsOutsideAngularDirective, TreeViewComponent, SelectDirective, ResizeSensorComponent]
|
|
14966
|
+
imports: [LocalizedMessagesDirective, TemplateContextDirective, IconWrapperComponent, NgClass, NgTemplateOutlet, AdaptiveRendererComponent, FilterInputDirective, EventsOutsideAngularDirective, TreeViewComponent, SelectDirective, ResizeSensorComponent, SeparatorComponent]
|
|
14679
14967
|
}]
|
|
14680
14968
|
}], ctorParameters: () => [{ type: i0.Injector }, { type: i0.ElementRef }, { type: i2.PopupService }, { type: NavigationService }, { type: i0.Renderer2 }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: i1.LocalizationService }, { type: i7.AdaptiveService }], propDecorators: { icon: [{
|
|
14681
14969
|
type: Input
|
|
@@ -15379,14 +15667,11 @@ class MultiSelectTreeComponent {
|
|
|
15379
15667
|
return this.disabled || null;
|
|
15380
15668
|
}
|
|
15381
15669
|
treeViewId = `k-${guid()}`;
|
|
15382
|
-
get hostAriaAutocomplete() {
|
|
15383
|
-
return this.filterable ? 'list' : null;
|
|
15384
|
-
}
|
|
15385
15670
|
get isLoading() {
|
|
15386
15671
|
return this.loading;
|
|
15387
15672
|
}
|
|
15388
15673
|
get hostAriaInvalid() {
|
|
15389
|
-
return this.formControl?.invalid ? true : null;
|
|
15674
|
+
return (this.formControl?.invalid && (this.formControl?.touched || this.formControl?.dirty)) ? true : null;
|
|
15390
15675
|
}
|
|
15391
15676
|
get isBusy() {
|
|
15392
15677
|
return this.loading ? 'true' : null;
|
|
@@ -15398,14 +15683,9 @@ class MultiSelectTreeComponent {
|
|
|
15398
15683
|
get hostTabIndex() {
|
|
15399
15684
|
return this.tabindex;
|
|
15400
15685
|
}
|
|
15401
|
-
role = 'combobox';
|
|
15402
|
-
ariaHasPopup = 'tree';
|
|
15403
15686
|
get isReadonly() {
|
|
15404
15687
|
return this.readonly ? '' : null;
|
|
15405
15688
|
}
|
|
15406
|
-
get ariaDescribedBy() {
|
|
15407
|
-
return this.tagListId;
|
|
15408
|
-
}
|
|
15409
15689
|
get ariaActiveDescendant() {
|
|
15410
15690
|
return this.focusedTagId;
|
|
15411
15691
|
}
|
|
@@ -16100,7 +16380,6 @@ class MultiSelectTreeComponent {
|
|
|
16100
16380
|
this._typedValue = '';
|
|
16101
16381
|
}));
|
|
16102
16382
|
this.renderer.removeAttribute(this.wrapper.nativeElement, 'tabindex');
|
|
16103
|
-
this.renderer.setAttribute(this.wrapper.nativeElement, 'aria-expanded', String(this.isOpen));
|
|
16104
16383
|
this.subs.add(this.localization
|
|
16105
16384
|
.changes.subscribe(({ rtl }) => {
|
|
16106
16385
|
this.direction = rtl ? 'rtl' : 'ltr';
|
|
@@ -16554,9 +16833,7 @@ class MultiSelectTreeComponent {
|
|
|
16554
16833
|
popupWrapper.style.minWidth = min;
|
|
16555
16834
|
popupWrapper.style.width = max;
|
|
16556
16835
|
popupWrapper.style.height = this.height;
|
|
16557
|
-
this.renderer.setAttribute(this.wrapper.nativeElement, 'aria-controls', this.treeViewId);
|
|
16558
16836
|
this.renderer.setAttribute(popupWrapper, 'dir', this.direction);
|
|
16559
|
-
this.renderer.setAttribute(this.wrapper.nativeElement, 'aria-expanded', 'true');
|
|
16560
16837
|
this.popupRef.popupOpen.subscribe(() => {
|
|
16561
16838
|
this.cdr.detectChanges();
|
|
16562
16839
|
this.opened.emit();
|
|
@@ -16577,8 +16854,6 @@ class MultiSelectTreeComponent {
|
|
|
16577
16854
|
if (this.popupRef) {
|
|
16578
16855
|
this.popupRef.close();
|
|
16579
16856
|
this.popupRef = null;
|
|
16580
|
-
this.renderer.setAttribute(this.wrapper.nativeElement, 'aria-expanded', 'false');
|
|
16581
|
-
this.renderer.removeAttribute(this.wrapper.nativeElement, 'aria-controls');
|
|
16582
16857
|
this.clearFilter();
|
|
16583
16858
|
}
|
|
16584
16859
|
}
|
|
@@ -16892,8 +17167,6 @@ class MultiSelectTreeComponent {
|
|
|
16892
17167
|
closeActionSheet() {
|
|
16893
17168
|
this.wrapper.nativeElement.focus();
|
|
16894
17169
|
this.actionSheet.toggle(false);
|
|
16895
|
-
this.renderer.removeAttribute(this.wrapper.nativeElement, 'aria-controls');
|
|
16896
|
-
this.renderer.setAttribute(this.wrapper.nativeElement, 'aria-expanded', 'false');
|
|
16897
17170
|
this.clearFilter();
|
|
16898
17171
|
this.closed.emit();
|
|
16899
17172
|
}
|
|
@@ -16901,13 +17174,11 @@ class MultiSelectTreeComponent {
|
|
|
16901
17174
|
this.actionSheet.toggle(true);
|
|
16902
17175
|
this.adaptiveTitle = setActionSheetTitle(this.wrapper, this.adaptiveTitle);
|
|
16903
17176
|
this.cdr.detectChanges();
|
|
16904
|
-
this.renderer.setAttribute(this.wrapper.nativeElement, 'aria-controls', this.treeViewId);
|
|
16905
|
-
this.renderer.setAttribute(this.wrapper.nativeElement, 'aria-expanded', 'true');
|
|
16906
17177
|
this.cdr.detectChanges();
|
|
16907
17178
|
this.opened.emit();
|
|
16908
17179
|
}
|
|
16909
17180
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: MultiSelectTreeComponent, deps: [{ token: i0.Injector }, { token: i0.ElementRef }, { token: i2.PopupService }, { token: i0.Renderer2 }, { token: NavigationService }, { token: i0.NgZone }, { token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: MultiSelectTreeLookupService }, { token: i7.AdaptiveService }], target: i0.ɵɵFactoryTarget.Component });
|
|
16910
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: MultiSelectTreeComponent, isStandalone: true, selector: "kendo-multiselecttree", inputs: { adaptiveMode: "adaptiveMode", adaptiveTitle: "adaptiveTitle", adaptiveSubtitle: "adaptiveSubtitle", tabindex: "tabindex", size: "size", rounded: "rounded", fillMode: "fillMode", popupSettings: "popupSettings", checkableSettings: "checkableSettings", data: "data", value: "value", dataItems: "dataItems", textField: "textField", valueField: "valueField", valueDepth: "valueDepth", loading: "loading", placeholder: "placeholder", listHeight: "listHeight", disabled: "disabled", readonly: "readonly", valuePrimitive: "valuePrimitive", loadOnDemand: "loadOnDemand", focusableId: "focusableId", clearButton: "clearButton", filterable: "filterable", checkAll: "checkAll", hasChildren: "hasChildren", fetchChildren: "fetchChildren", isNodeExpanded: "isNodeExpanded", isNodeVisible: "isNodeVisible", itemDisabled: "itemDisabled", tagMapper: "tagMapper" }, outputs: { onFocus: "focus", onBlur: "blur", open: "open", opened: "opened", close: "close", closed: "closed", nodeExpand: "nodeExpand", nodeCollapse: "nodeCollapse", valueChange: "valueChange", removeTag: "removeTag", filterChange: "filterChange" }, host: { properties: { "class.k-disabled": "this.isDisabled", "
|
|
17181
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: MultiSelectTreeComponent, isStandalone: true, selector: "kendo-multiselecttree", inputs: { adaptiveMode: "adaptiveMode", adaptiveTitle: "adaptiveTitle", adaptiveSubtitle: "adaptiveSubtitle", tabindex: "tabindex", size: "size", rounded: "rounded", fillMode: "fillMode", popupSettings: "popupSettings", checkableSettings: "checkableSettings", data: "data", value: "value", dataItems: "dataItems", textField: "textField", valueField: "valueField", valueDepth: "valueDepth", loading: "loading", placeholder: "placeholder", listHeight: "listHeight", disabled: "disabled", readonly: "readonly", valuePrimitive: "valuePrimitive", loadOnDemand: "loadOnDemand", focusableId: "focusableId", clearButton: "clearButton", filterable: "filterable", checkAll: "checkAll", hasChildren: "hasChildren", fetchChildren: "fetchChildren", isNodeExpanded: "isNodeExpanded", isNodeVisible: "isNodeVisible", itemDisabled: "itemDisabled", tagMapper: "tagMapper" }, outputs: { onFocus: "focus", onBlur: "blur", open: "open", opened: "opened", close: "close", closed: "closed", nodeExpand: "nodeExpand", nodeCollapse: "nodeCollapse", valueChange: "valueChange", removeTag: "removeTag", filterChange: "filterChange" }, host: { properties: { "class.k-disabled": "this.isDisabled", "class.k-loading": "this.isLoading", "attr.aria-invalid": "this.hostAriaInvalid", "attr.aria-busy": "this.isBusy", "attr.id": "this.id", "attr.dir": "this.direction", "attr.tabindex": "this.hostTabIndex", "attr.readonly": "this.isReadonly", "attr.aria-activedescendant": "this.ariaActiveDescendant", "class.k-readonly": "this.readonly" } }, providers: [
|
|
16911
17182
|
LocalizationService,
|
|
16912
17183
|
NavigationService,
|
|
16913
17184
|
DataService,
|
|
@@ -16943,6 +17214,9 @@ class MultiSelectTreeComponent {
|
|
|
16943
17214
|
i18n-clearTitle="kendo.multiselecttree.clearTitle|The title of the clear button"
|
|
16944
17215
|
clearTitle="clear"
|
|
16945
17216
|
|
|
17217
|
+
i18n-chipListLabel="kendo.multiselecttree.chipListLabel|The accessible label of the tag list element that contains the selected items"
|
|
17218
|
+
chipListLabel="chip list"
|
|
17219
|
+
|
|
16946
17220
|
i18n-checkAllText="kendo.multiselecttree.checkAllText|The text displayed for the check-all checkbox"
|
|
16947
17221
|
checkAllText="Check all"
|
|
16948
17222
|
|
|
@@ -16957,6 +17231,9 @@ class MultiSelectTreeComponent {
|
|
|
16957
17231
|
|
|
16958
17232
|
i18n-filterInputPlaceholder="kendo.multiselecttree.filterInputPlaceholder|The text for the input's placeholder when filtering is enabled"
|
|
16959
17233
|
filterInputPlaceholder="Filter"
|
|
17234
|
+
|
|
17235
|
+
i18n-inputLabel="kendo.multiselecttree.inputLabel|The text set as aria-label on the combobox input element"
|
|
17236
|
+
inputLabel="Select items"
|
|
16960
17237
|
>
|
|
16961
17238
|
</ng-container>
|
|
16962
17239
|
<kendo-taglist
|
|
@@ -16975,10 +17252,19 @@ class MultiSelectTreeComponent {
|
|
|
16975
17252
|
[template]="tagTemplate"
|
|
16976
17253
|
[groupTemplate]="groupTagTemplate"
|
|
16977
17254
|
[disabledIndices]="disabledIndices"
|
|
17255
|
+
[ariaLabel]="messageFor('chipListLabel')"
|
|
16978
17256
|
(removeTag)="handleRemoveTag($event)"
|
|
16979
17257
|
>
|
|
16980
17258
|
</kendo-taglist>
|
|
16981
|
-
<span class="k-input-inner"
|
|
17259
|
+
<span class="k-input-inner"
|
|
17260
|
+
role="combobox"
|
|
17261
|
+
aria-haspopup="tree"
|
|
17262
|
+
[attr.aria-expanded]="isOpen"
|
|
17263
|
+
[attr.aria-autocomplete]="filterable ? 'list' : null"
|
|
17264
|
+
[attr.aria-controls]="isOpen ? treeViewId : null"
|
|
17265
|
+
[attr.aria-describedby]="tags?.length ? tagListId : null"
|
|
17266
|
+
[attr.aria-disabled]="disabled || null"
|
|
17267
|
+
[attr.aria-label]="messageFor('inputLabel')">
|
|
16982
17268
|
@if (!tags || !tags.length) {
|
|
16983
17269
|
<span
|
|
16984
17270
|
class="k-input-value-text"
|
|
@@ -16996,7 +17282,6 @@ class MultiSelectTreeComponent {
|
|
|
16996
17282
|
(click)="clearAll($event)"
|
|
16997
17283
|
>
|
|
16998
17284
|
<kendo-icon-wrapper
|
|
16999
|
-
class="k-icon"
|
|
17000
17285
|
name="x"
|
|
17001
17286
|
[svgIcon]="xIcon"
|
|
17002
17287
|
>
|
|
@@ -17019,6 +17304,7 @@ class MultiSelectTreeComponent {
|
|
|
17019
17304
|
[title]="adaptiveTitle"
|
|
17020
17305
|
[showTextInput]="filterable"
|
|
17021
17306
|
[subtitle]="adaptiveSubtitle"
|
|
17307
|
+
[showListContainer]="false"
|
|
17022
17308
|
(closePopup)="togglePopup(false)"
|
|
17023
17309
|
(textInputChange)="onFilterChange($event)"
|
|
17024
17310
|
[searchBarValue]="filter"
|
|
@@ -17035,7 +17321,7 @@ class MultiSelectTreeComponent {
|
|
|
17035
17321
|
class="k-textbox k-input"
|
|
17036
17322
|
[ngClass]="filterInputClasses"
|
|
17037
17323
|
>
|
|
17038
|
-
<span class="k-input-prefix">
|
|
17324
|
+
<span class="k-input-prefix k-input-prefix-horizontal">
|
|
17039
17325
|
<kendo-icon-wrapper
|
|
17040
17326
|
class="k-icon"
|
|
17041
17327
|
name="search"
|
|
@@ -17043,6 +17329,7 @@ class MultiSelectTreeComponent {
|
|
|
17043
17329
|
>
|
|
17044
17330
|
</kendo-icon-wrapper>
|
|
17045
17331
|
</span>
|
|
17332
|
+
<kendo-separator></kendo-separator>
|
|
17046
17333
|
<input
|
|
17047
17334
|
#filterInput
|
|
17048
17335
|
(input)="handleFilterInputChange($event.target)"
|
|
@@ -17166,7 +17453,7 @@ class MultiSelectTreeComponent {
|
|
|
17166
17453
|
@if (isOpen || isAdaptiveModeEnabled) {
|
|
17167
17454
|
<kendo-resize-sensor (resize)="onResize()"></kendo-resize-sensor>
|
|
17168
17455
|
}
|
|
17169
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "\n [kendoDropDownListLocalizedMessages],\n [kendoDropDownTreeLocalizedMessages],\n [kendoComboBoxLocalizedMessages],\n [kendoMultiColumnComboBoxLocalizedMessages],\n [kendoAutoCompleteLocalizedMessages],\n [kendoMultiSelectLocalizedMessages],\n [kendoMultiSelectTreeLocalizedMessages]\n " }, { kind: "component", type: TagListComponent, selector: "kendo-taglist", inputs: ["tags", "textField", "valueField", "valueDepth", "focused", "template", "groupTemplate", "disabled", "tagPrefix", "id", "size", "rounded", "fillMode", "disabledIndices"], outputs: ["removeTag"] }, { 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"] }, { 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: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: FilterInputDirective, selector: "[filterInput]", inputs: ["filterInput"] }, { kind: "directive", type: EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "directive", type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { kind: "directive", type: CheckAllDirective, selector: "[checkAll]", inputs: ["lastAction", "treeview", "checkedItems", "valueField", "checkAll"], outputs: ["checkedItemsChange"] }, { kind: "component", type: TreeViewComponent, selector: "kendo-treeview", inputs: ["filterInputPlaceholder", "expandDisabledNodes", "animate", "nodeTemplate", "loadMoreButtonTemplate", "trackBy", "nodes", "textField", "hasChildren", "isChecked", "isDisabled", "hasCheckbox", "isExpanded", "isSelected", "isVisible", "navigable", "children", "loadOnDemand", "filterable", "filter", "size", "disableParentNodesOnly"], outputs: ["childrenLoaded", "blur", "focus", "expand", "collapse", "nodeDragStart", "nodeDrag", "filterStateChange", "nodeDrop", "nodeDragEnd", "addItem", "removeItem", "checkedChange", "selectionChange", "filterChange", "nodeClick", "nodeDblClick"], exportAs: ["kendoTreeView"] }, { kind: "directive", type: CheckDirective, selector: "[kendoMultiSelectTreeCheckable]", inputs: ["checkable", "valueField", "checkedItems"], outputs: ["checkedItemsChange"] }, { kind: "component", type: ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }] });
|
|
17456
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "\n [kendoDropDownListLocalizedMessages],\n [kendoDropDownTreeLocalizedMessages],\n [kendoComboBoxLocalizedMessages],\n [kendoMultiColumnComboBoxLocalizedMessages],\n [kendoAutoCompleteLocalizedMessages],\n [kendoMultiSelectLocalizedMessages],\n [kendoMultiSelectTreeLocalizedMessages]\n " }, { kind: "component", type: TagListComponent, selector: "kendo-taglist", inputs: ["tags", "textField", "valueField", "valueDepth", "focused", "template", "groupTemplate", "disabled", "tagPrefix", "id", "ariaLabel", "size", "rounded", "fillMode", "disabledIndices"], outputs: ["removeTag"] }, { 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"] }, { kind: "component", type: AdaptiveRendererComponent, selector: "kendo-adaptive-renderer", inputs: ["title", "subtitle", "showTextInput", "sharedPopupActionSheetTemplate", "text", "placeholder", "searchBarValue", "filterable", "showListContainer"], outputs: ["closePopup", "textInputChange", "navigate", "onExpand"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: FilterInputDirective, selector: "[filterInput]", inputs: ["filterInput"] }, { kind: "directive", type: EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "directive", type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { kind: "directive", type: CheckAllDirective, selector: "[checkAll]", inputs: ["lastAction", "treeview", "checkedItems", "valueField", "checkAll"], outputs: ["checkedItemsChange"] }, { kind: "component", type: TreeViewComponent, selector: "kendo-treeview", inputs: ["filterInputPlaceholder", "expandDisabledNodes", "animate", "nodeTemplate", "loadMoreButtonTemplate", "loadMoreButtonRole", "trackBy", "nodes", "textField", "hasChildren", "isChecked", "isDisabled", "hasCheckbox", "isExpanded", "isSelected", "isVisible", "navigable", "children", "loadOnDemand", "filterable", "filter", "size", "disableParentNodesOnly"], outputs: ["childrenLoaded", "blur", "focus", "expand", "collapse", "nodeDragStart", "nodeDrag", "filterStateChange", "nodeDrop", "nodeDragEnd", "addItem", "removeItem", "checkedChange", "selectionChange", "filterChange", "nodeClick", "nodeDblClick"], exportAs: ["kendoTreeView"] }, { kind: "directive", type: CheckDirective, selector: "[kendoMultiSelectTreeCheckable]", inputs: ["checkable", "valueField", "checkedItems"], outputs: ["checkedItemsChange"] }, { kind: "component", type: ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { kind: "component", type: SeparatorComponent, selector: "kendo-separator", inputs: ["orientation"] }] });
|
|
17170
17457
|
}
|
|
17171
17458
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: MultiSelectTreeComponent, decorators: [{
|
|
17172
17459
|
type: Component,
|
|
@@ -17210,6 +17497,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
17210
17497
|
i18n-clearTitle="kendo.multiselecttree.clearTitle|The title of the clear button"
|
|
17211
17498
|
clearTitle="clear"
|
|
17212
17499
|
|
|
17500
|
+
i18n-chipListLabel="kendo.multiselecttree.chipListLabel|The accessible label of the tag list element that contains the selected items"
|
|
17501
|
+
chipListLabel="chip list"
|
|
17502
|
+
|
|
17213
17503
|
i18n-checkAllText="kendo.multiselecttree.checkAllText|The text displayed for the check-all checkbox"
|
|
17214
17504
|
checkAllText="Check all"
|
|
17215
17505
|
|
|
@@ -17224,6 +17514,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
17224
17514
|
|
|
17225
17515
|
i18n-filterInputPlaceholder="kendo.multiselecttree.filterInputPlaceholder|The text for the input's placeholder when filtering is enabled"
|
|
17226
17516
|
filterInputPlaceholder="Filter"
|
|
17517
|
+
|
|
17518
|
+
i18n-inputLabel="kendo.multiselecttree.inputLabel|The text set as aria-label on the combobox input element"
|
|
17519
|
+
inputLabel="Select items"
|
|
17227
17520
|
>
|
|
17228
17521
|
</ng-container>
|
|
17229
17522
|
<kendo-taglist
|
|
@@ -17242,10 +17535,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
17242
17535
|
[template]="tagTemplate"
|
|
17243
17536
|
[groupTemplate]="groupTagTemplate"
|
|
17244
17537
|
[disabledIndices]="disabledIndices"
|
|
17538
|
+
[ariaLabel]="messageFor('chipListLabel')"
|
|
17245
17539
|
(removeTag)="handleRemoveTag($event)"
|
|
17246
17540
|
>
|
|
17247
17541
|
</kendo-taglist>
|
|
17248
|
-
<span class="k-input-inner"
|
|
17542
|
+
<span class="k-input-inner"
|
|
17543
|
+
role="combobox"
|
|
17544
|
+
aria-haspopup="tree"
|
|
17545
|
+
[attr.aria-expanded]="isOpen"
|
|
17546
|
+
[attr.aria-autocomplete]="filterable ? 'list' : null"
|
|
17547
|
+
[attr.aria-controls]="isOpen ? treeViewId : null"
|
|
17548
|
+
[attr.aria-describedby]="tags?.length ? tagListId : null"
|
|
17549
|
+
[attr.aria-disabled]="disabled || null"
|
|
17550
|
+
[attr.aria-label]="messageFor('inputLabel')">
|
|
17249
17551
|
@if (!tags || !tags.length) {
|
|
17250
17552
|
<span
|
|
17251
17553
|
class="k-input-value-text"
|
|
@@ -17263,7 +17565,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
17263
17565
|
(click)="clearAll($event)"
|
|
17264
17566
|
>
|
|
17265
17567
|
<kendo-icon-wrapper
|
|
17266
|
-
class="k-icon"
|
|
17267
17568
|
name="x"
|
|
17268
17569
|
[svgIcon]="xIcon"
|
|
17269
17570
|
>
|
|
@@ -17286,6 +17587,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
17286
17587
|
[title]="adaptiveTitle"
|
|
17287
17588
|
[showTextInput]="filterable"
|
|
17288
17589
|
[subtitle]="adaptiveSubtitle"
|
|
17590
|
+
[showListContainer]="false"
|
|
17289
17591
|
(closePopup)="togglePopup(false)"
|
|
17290
17592
|
(textInputChange)="onFilterChange($event)"
|
|
17291
17593
|
[searchBarValue]="filter"
|
|
@@ -17302,7 +17604,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
17302
17604
|
class="k-textbox k-input"
|
|
17303
17605
|
[ngClass]="filterInputClasses"
|
|
17304
17606
|
>
|
|
17305
|
-
<span class="k-input-prefix">
|
|
17607
|
+
<span class="k-input-prefix k-input-prefix-horizontal">
|
|
17306
17608
|
<kendo-icon-wrapper
|
|
17307
17609
|
class="k-icon"
|
|
17308
17610
|
name="search"
|
|
@@ -17310,6 +17612,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
17310
17612
|
>
|
|
17311
17613
|
</kendo-icon-wrapper>
|
|
17312
17614
|
</span>
|
|
17615
|
+
<kendo-separator></kendo-separator>
|
|
17313
17616
|
<input
|
|
17314
17617
|
#filterInput
|
|
17315
17618
|
(input)="handleFilterInputChange($event.target)"
|
|
@@ -17435,17 +17738,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
17435
17738
|
}
|
|
17436
17739
|
`,
|
|
17437
17740
|
standalone: true,
|
|
17438
|
-
imports: [LocalizedMessagesDirective, TagListComponent, IconWrapperComponent, NgTemplateOutlet, AdaptiveRendererComponent, NgClass, FilterInputDirective, EventsOutsideAngularDirective, TemplateContextDirective, CheckAllDirective, TreeViewComponent, CheckDirective, ResizeSensorComponent]
|
|
17741
|
+
imports: [LocalizedMessagesDirective, TagListComponent, IconWrapperComponent, NgTemplateOutlet, AdaptiveRendererComponent, NgClass, FilterInputDirective, EventsOutsideAngularDirective, TemplateContextDirective, CheckAllDirective, TreeViewComponent, CheckDirective, ResizeSensorComponent, SeparatorComponent]
|
|
17439
17742
|
}]
|
|
17440
17743
|
}], ctorParameters: () => [{ type: i0.Injector }, { type: i0.ElementRef }, { type: i2.PopupService }, { type: i0.Renderer2 }, { type: NavigationService }, { type: i0.NgZone }, { type: i1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: MultiSelectTreeLookupService }, { type: i7.AdaptiveService }], propDecorators: { isDisabled: [{
|
|
17441
17744
|
type: HostBinding,
|
|
17442
17745
|
args: ['class.k-disabled']
|
|
17443
|
-
}, {
|
|
17444
|
-
type: HostBinding,
|
|
17445
|
-
args: ['attr.aria-disabled']
|
|
17446
|
-
}], hostAriaAutocomplete: [{
|
|
17447
|
-
type: HostBinding,
|
|
17448
|
-
args: ['attr.aria-autocomplete']
|
|
17449
17746
|
}], isLoading: [{
|
|
17450
17747
|
type: HostBinding,
|
|
17451
17748
|
args: ['class.k-loading']
|
|
@@ -17464,18 +17761,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
17464
17761
|
}], hostTabIndex: [{
|
|
17465
17762
|
type: HostBinding,
|
|
17466
17763
|
args: ['attr.tabindex']
|
|
17467
|
-
}], role: [{
|
|
17468
|
-
type: HostBinding,
|
|
17469
|
-
args: ['attr.role']
|
|
17470
|
-
}], ariaHasPopup: [{
|
|
17471
|
-
type: HostBinding,
|
|
17472
|
-
args: ['attr.aria-haspopup']
|
|
17473
17764
|
}], isReadonly: [{
|
|
17474
17765
|
type: HostBinding,
|
|
17475
17766
|
args: ['attr.readonly']
|
|
17476
|
-
}], ariaDescribedBy: [{
|
|
17477
|
-
type: HostBinding,
|
|
17478
|
-
args: ['attr.aria-describedby']
|
|
17479
17767
|
}], ariaActiveDescendant: [{
|
|
17480
17768
|
type: HostBinding,
|
|
17481
17769
|
args: ['attr.aria-activedescendant']
|
|
@@ -18039,7 +18327,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
18039
18327
|
* <kendo-combobox>
|
|
18040
18328
|
* <kendo-combobox-messages
|
|
18041
18329
|
* noDataText="No items found"
|
|
18042
|
-
* filterInputPlaceholder="Search items"
|
|
18330
|
+
* filterInputPlaceholder="Search items"
|
|
18331
|
+
* clearTitle="Clear selection">
|
|
18043
18332
|
* </kendo-combobox-messages>
|
|
18044
18333
|
* </kendo-combobox>
|
|
18045
18334
|
*
|
|
@@ -18053,7 +18342,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
18053
18342
|
* <kendo-autocomplete>
|
|
18054
18343
|
* <kendo-autocomplete-messages
|
|
18055
18344
|
* noDataText="No items found"
|
|
18056
|
-
* filterInputPlaceholder="Type to search"
|
|
18345
|
+
* filterInputPlaceholder="Type to search"
|
|
18346
|
+
* clearTitle="Clear input">
|
|
18057
18347
|
* </kendo-autocomplete-messages>
|
|
18058
18348
|
* </kendo-autocomplete>
|
|
18059
18349
|
*
|