@progress/kendo-angular-dropdowns 25.0.0-develop.7 → 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 +587 -301
- package/index.d.ts +43 -20
- package/package-metadata.mjs +2 -2
- package/package.json +10 -10
- package/schematics/ngAdd/index.js +2 -2
|
@@ -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
|
|
@@ -1937,10 +1937,12 @@ class ListComponent {
|
|
|
1937
1937
|
type = 'list';
|
|
1938
1938
|
checkboxes = { enabled: false };
|
|
1939
1939
|
ariaLive;
|
|
1940
|
+
ariaLabel;
|
|
1940
1941
|
isMultiselect;
|
|
1941
1942
|
isActionSheetExpanded;
|
|
1942
1943
|
showStickyHeader;
|
|
1943
1944
|
rowWidth;
|
|
1945
|
+
columnsWidths;
|
|
1944
1946
|
customItemTemplate;
|
|
1945
1947
|
text;
|
|
1946
1948
|
allowCustom;
|
|
@@ -1965,12 +1967,12 @@ class ListComponent {
|
|
|
1965
1967
|
}
|
|
1966
1968
|
set size(size) {
|
|
1967
1969
|
if (this.type === 'list') {
|
|
1968
|
-
this.renderer.removeClass(this.wrapper.nativeElement, getSizeClass('list', this.
|
|
1970
|
+
this.renderer.removeClass(this.wrapper.nativeElement, getSizeClass('list', this._size));
|
|
1969
1971
|
if (size) {
|
|
1970
1972
|
this.renderer.addClass(this.wrapper.nativeElement, getSizeClass('list', size));
|
|
1971
1973
|
}
|
|
1972
|
-
this._size = size;
|
|
1973
1974
|
}
|
|
1975
|
+
this._size = size;
|
|
1974
1976
|
}
|
|
1975
1977
|
get size() {
|
|
1976
1978
|
return this._size;
|
|
@@ -2284,6 +2286,10 @@ class ListComponent {
|
|
|
2284
2286
|
isItemSelected(index) {
|
|
2285
2287
|
return this.selectionService.isSelected(index) || null;
|
|
2286
2288
|
}
|
|
2289
|
+
itemAriaSelected(index) {
|
|
2290
|
+
const selected = this.isItemSelected(index);
|
|
2291
|
+
return this.type === 'list' ? (selected ?? false) : selected;
|
|
2292
|
+
}
|
|
2287
2293
|
get isDisabledDefaultItem() {
|
|
2288
2294
|
return this.disabledItemsService.isItemDisabled(this.defaultItem);
|
|
2289
2295
|
}
|
|
@@ -2324,13 +2330,16 @@ class ListComponent {
|
|
|
2324
2330
|
}
|
|
2325
2331
|
if (this.type === 'dropdowngrid') {
|
|
2326
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
|
+
}
|
|
2327
2336
|
}
|
|
2328
2337
|
if (isPresent(this.virtual)) {
|
|
2329
2338
|
this.renderer.addClass(this.wrapper.nativeElement, this.listVirtualClass);
|
|
2330
2339
|
}
|
|
2331
2340
|
}
|
|
2332
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 });
|
|
2333
|
-
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: `
|
|
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: `
|
|
2334
2343
|
@if (defaultItem && !template) {
|
|
2335
2344
|
<div
|
|
2336
2345
|
class="k-list-optionlabel"
|
|
@@ -2400,11 +2409,12 @@ class ListComponent {
|
|
|
2400
2409
|
[style.maxHeight.px]="height"
|
|
2401
2410
|
unselectable="on"
|
|
2402
2411
|
(scroll)="popupListScroll.emit($event)"
|
|
2403
|
-
[attr.role]="dataService.grouped ? 'listbox' : null"
|
|
2404
|
-
[attr.id]="dataService.grouped ? id : null"
|
|
2405
|
-
[attr.aria-live]="dataService.grouped ? ariaLive : null"
|
|
2406
|
-
[attr.aria-multiselectable]="dataService.grouped ? isMultiselect : null"
|
|
2407
|
-
[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"
|
|
2408
2418
|
>
|
|
2409
2419
|
@if (!dataService.grouped) {
|
|
2410
2420
|
<ul #list
|
|
@@ -2413,7 +2423,8 @@ class ListComponent {
|
|
|
2413
2423
|
[attr.id]="id"
|
|
2414
2424
|
[attr.aria-live]="ariaLive"
|
|
2415
2425
|
[attr.aria-multiselectable]="isMultiselect"
|
|
2416
|
-
[attr.aria-hidden]="!show"
|
|
2426
|
+
[attr.aria-hidden]="!show ? true : null"
|
|
2427
|
+
[attr.aria-label]="ariaLabel || null">
|
|
2417
2428
|
@for (dataItem of data; track $index; let itemIndex = $index) {
|
|
2418
2429
|
<li
|
|
2419
2430
|
role="option"
|
|
@@ -2424,7 +2435,7 @@ class ListComponent {
|
|
|
2424
2435
|
[multipleSelection]="multipleSelection"
|
|
2425
2436
|
[attr.id]="optionPrefix + '-' + itemIndex"
|
|
2426
2437
|
[attr.tabIndex]="-1"
|
|
2427
|
-
[attr.aria-selected]="
|
|
2438
|
+
[attr.aria-selected]="itemAriaSelected(itemIndex)"
|
|
2428
2439
|
[class]="listItemClass"
|
|
2429
2440
|
[ngClass]="{
|
|
2430
2441
|
'k-disabled': isDisabled(itemIndex),
|
|
@@ -2465,7 +2476,7 @@ class ListComponent {
|
|
|
2465
2476
|
</ul>
|
|
2466
2477
|
}
|
|
2467
2478
|
|
|
2468
|
-
@if (dataService.grouped) {
|
|
2479
|
+
@if (dataService.grouped && type === 'list') {
|
|
2469
2480
|
<ng-container #list>
|
|
2470
2481
|
@for (dataItem of groupedData; track dataItem.groupIndex) {
|
|
2471
2482
|
<ul
|
|
@@ -2512,7 +2523,7 @@ class ListComponent {
|
|
|
2512
2523
|
[attr.absolute-index]="item.index"
|
|
2513
2524
|
[attr.id]="optionPrefix + '-' + (item.index - 1 - item.groupIndex)"
|
|
2514
2525
|
[attr.tabIndex]="-1"
|
|
2515
|
-
[attr.aria-selected]="
|
|
2526
|
+
[attr.aria-selected]="itemAriaSelected(item.offsetIndex)"
|
|
2516
2527
|
[class]="listItemClass"
|
|
2517
2528
|
[ngClass]="{
|
|
2518
2529
|
'k-disabled': isDisabled(item.offsetIndex),
|
|
@@ -2542,14 +2553,96 @@ class ListComponent {
|
|
|
2542
2553
|
}
|
|
2543
2554
|
</ng-container>
|
|
2544
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
|
+
}
|
|
2545
2637
|
@if (virtual) {
|
|
2546
|
-
<div #virtualContainer class="k-height-container"
|
|
2638
|
+
<div #virtualContainer class="k-height-container">
|
|
2547
2639
|
<div [style.height.px]="scrollHeight">
|
|
2548
2640
|
<kendo-resize-sensor (resize)="listResize.emit()"></kendo-resize-sensor>
|
|
2549
2641
|
</div>
|
|
2550
2642
|
</div>
|
|
2551
2643
|
}
|
|
2552
2644
|
</div>
|
|
2645
|
+
<ng-content select=".k-no-data"></ng-content>
|
|
2553
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"] }] });
|
|
2554
2647
|
}
|
|
2555
2648
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ListComponent, decorators: [{
|
|
@@ -2626,11 +2719,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
2626
2719
|
[style.maxHeight.px]="height"
|
|
2627
2720
|
unselectable="on"
|
|
2628
2721
|
(scroll)="popupListScroll.emit($event)"
|
|
2629
|
-
[attr.role]="dataService.grouped ? 'listbox' : null"
|
|
2630
|
-
[attr.id]="dataService.grouped ? id : null"
|
|
2631
|
-
[attr.aria-live]="dataService.grouped ? ariaLive : null"
|
|
2632
|
-
[attr.aria-multiselectable]="dataService.grouped ? isMultiselect : null"
|
|
2633
|
-
[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"
|
|
2634
2728
|
>
|
|
2635
2729
|
@if (!dataService.grouped) {
|
|
2636
2730
|
<ul #list
|
|
@@ -2639,7 +2733,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
2639
2733
|
[attr.id]="id"
|
|
2640
2734
|
[attr.aria-live]="ariaLive"
|
|
2641
2735
|
[attr.aria-multiselectable]="isMultiselect"
|
|
2642
|
-
[attr.aria-hidden]="!show"
|
|
2736
|
+
[attr.aria-hidden]="!show ? true : null"
|
|
2737
|
+
[attr.aria-label]="ariaLabel || null">
|
|
2643
2738
|
@for (dataItem of data; track $index; let itemIndex = $index) {
|
|
2644
2739
|
<li
|
|
2645
2740
|
role="option"
|
|
@@ -2650,7 +2745,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
2650
2745
|
[multipleSelection]="multipleSelection"
|
|
2651
2746
|
[attr.id]="optionPrefix + '-' + itemIndex"
|
|
2652
2747
|
[attr.tabIndex]="-1"
|
|
2653
|
-
[attr.aria-selected]="
|
|
2748
|
+
[attr.aria-selected]="itemAriaSelected(itemIndex)"
|
|
2654
2749
|
[class]="listItemClass"
|
|
2655
2750
|
[ngClass]="{
|
|
2656
2751
|
'k-disabled': isDisabled(itemIndex),
|
|
@@ -2691,7 +2786,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
2691
2786
|
</ul>
|
|
2692
2787
|
}
|
|
2693
2788
|
|
|
2694
|
-
@if (dataService.grouped) {
|
|
2789
|
+
@if (dataService.grouped && type === 'list') {
|
|
2695
2790
|
<ng-container #list>
|
|
2696
2791
|
@for (dataItem of groupedData; track dataItem.groupIndex) {
|
|
2697
2792
|
<ul
|
|
@@ -2738,7 +2833,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
2738
2833
|
[attr.absolute-index]="item.index"
|
|
2739
2834
|
[attr.id]="optionPrefix + '-' + (item.index - 1 - item.groupIndex)"
|
|
2740
2835
|
[attr.tabIndex]="-1"
|
|
2741
|
-
[attr.aria-selected]="
|
|
2836
|
+
[attr.aria-selected]="itemAriaSelected(item.offsetIndex)"
|
|
2742
2837
|
[class]="listItemClass"
|
|
2743
2838
|
[ngClass]="{
|
|
2744
2839
|
'k-disabled': isDisabled(item.offsetIndex),
|
|
@@ -2768,14 +2863,96 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
2768
2863
|
}
|
|
2769
2864
|
</ng-container>
|
|
2770
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
|
+
}
|
|
2771
2947
|
@if (virtual) {
|
|
2772
|
-
<div #virtualContainer class="k-height-container"
|
|
2948
|
+
<div #virtualContainer class="k-height-container">
|
|
2773
2949
|
<div [style.height.px]="scrollHeight">
|
|
2774
2950
|
<kendo-resize-sensor (resize)="listResize.emit()"></kendo-resize-sensor>
|
|
2775
2951
|
</div>
|
|
2776
2952
|
</div>
|
|
2777
2953
|
}
|
|
2778
2954
|
</div>
|
|
2955
|
+
<ng-content select=".k-no-data"></ng-content>
|
|
2779
2956
|
`,
|
|
2780
2957
|
standalone: true,
|
|
2781
2958
|
imports: [NgStyle, TemplateContextDirective, ListItemDirective, SelectableDirective, NgClass, ResizeSensorComponent]
|
|
@@ -2812,6 +2989,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
2812
2989
|
type: Input
|
|
2813
2990
|
}], ariaLive: [{
|
|
2814
2991
|
type: Input
|
|
2992
|
+
}], ariaLabel: [{
|
|
2993
|
+
type: Input
|
|
2815
2994
|
}], isMultiselect: [{
|
|
2816
2995
|
type: Input
|
|
2817
2996
|
}], isActionSheetExpanded: [{
|
|
@@ -2820,6 +2999,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
2820
2999
|
type: Input
|
|
2821
3000
|
}], rowWidth: [{
|
|
2822
3001
|
type: Input
|
|
3002
|
+
}], columnsWidths: [{
|
|
3003
|
+
type: Input
|
|
2823
3004
|
}], customItemTemplate: [{
|
|
2824
3005
|
type: Input
|
|
2825
3006
|
}], text: [{
|
|
@@ -2891,6 +3072,7 @@ class AdaptiveRendererComponent {
|
|
|
2891
3072
|
placeholder;
|
|
2892
3073
|
searchBarValue;
|
|
2893
3074
|
filterable;
|
|
3075
|
+
showListContainer = true;
|
|
2894
3076
|
closePopup = new EventEmitter();
|
|
2895
3077
|
textInputChange = new EventEmitter();
|
|
2896
3078
|
navigate = new EventEmitter();
|
|
@@ -2903,6 +3085,7 @@ class AdaptiveRendererComponent {
|
|
|
2903
3085
|
}
|
|
2904
3086
|
animationDuration = animationDuration;
|
|
2905
3087
|
checkIcon = checkIcon;
|
|
3088
|
+
searchIcon = searchIcon;
|
|
2906
3089
|
expanded = false;
|
|
2907
3090
|
messageFor(key) {
|
|
2908
3091
|
return this.localization.get(key);
|
|
@@ -2928,7 +3111,7 @@ class AdaptiveRendererComponent {
|
|
|
2928
3111
|
return this.adaptiveService.size;
|
|
2929
3112
|
}
|
|
2930
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 });
|
|
2931
|
-
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: `
|
|
2932
3115
|
<kendo-actionsheet
|
|
2933
3116
|
#actionSheet
|
|
2934
3117
|
[animation]="{ duration: animationDuration }"
|
|
@@ -2947,7 +3130,7 @@ class AdaptiveRendererComponent {
|
|
|
2947
3130
|
(collapse)="closePopup.emit()"
|
|
2948
3131
|
>
|
|
2949
3132
|
<ng-template kendoActionSheetTemplate>
|
|
2950
|
-
<div class="k-
|
|
3133
|
+
<div class="k-actionsheet-titlebar">
|
|
2951
3134
|
<div class="k-actionsheet-titlebar-group">
|
|
2952
3135
|
<div class="k-actionsheet-title">
|
|
2953
3136
|
@if (title) {
|
|
@@ -2963,6 +3146,7 @@ class AdaptiveRendererComponent {
|
|
|
2963
3146
|
icon="check"
|
|
2964
3147
|
type="button"
|
|
2965
3148
|
[attr.title]="messageFor('adaptiveCloseButtonTitle')"
|
|
3149
|
+
[attr.aria-label]="messageFor('adaptiveCloseButtonTitle')"
|
|
2966
3150
|
[svgIcon]="checkIcon"
|
|
2967
3151
|
fillMode="flat"
|
|
2968
3152
|
themeColor="primary"
|
|
@@ -2980,13 +3164,13 @@ class AdaptiveRendererComponent {
|
|
|
2980
3164
|
[value]="searchBarValue || ''"
|
|
2981
3165
|
size="large"
|
|
2982
3166
|
[placeholder]="filterable ? messageFor('filterInputPlaceholder') : placeholder"
|
|
2983
|
-
|
|
3167
|
+
[inputAttributes]="{'aria-label': title}"
|
|
2984
3168
|
autocomplete="off"
|
|
2985
3169
|
(valueChange)="onValueChange($event)"
|
|
2986
3170
|
>
|
|
2987
3171
|
@if (filterable) {
|
|
2988
3172
|
<ng-template kendoTextBoxPrefixTemplate>
|
|
2989
|
-
<kendo-icon name="search"></kendo-icon>
|
|
3173
|
+
<kendo-icon-wrapper name="search" [svgIcon]="searchIcon"></kendo-icon-wrapper>
|
|
2990
3174
|
</ng-template>
|
|
2991
3175
|
}
|
|
2992
3176
|
</kendo-textbox>
|
|
@@ -2994,13 +3178,17 @@ class AdaptiveRendererComponent {
|
|
|
2994
3178
|
}
|
|
2995
3179
|
</div>
|
|
2996
3180
|
<div class="k-actionsheet-content">
|
|
3181
|
+
@if (showListContainer) {
|
|
2997
3182
|
<div class="k-list-container">
|
|
2998
3183
|
<ng-container *ngTemplateOutlet="sharedPopupActionSheetTemplate"></ng-container>
|
|
2999
3184
|
</div>
|
|
3185
|
+
} @else {
|
|
3186
|
+
<ng-container *ngTemplateOutlet="sharedPopupActionSheetTemplate"></ng-container>
|
|
3187
|
+
}
|
|
3000
3188
|
</div>
|
|
3001
3189
|
</ng-template>
|
|
3002
3190
|
</kendo-actionsheet>
|
|
3003
|
-
`, 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"] }] });
|
|
3004
3192
|
}
|
|
3005
3193
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: AdaptiveRendererComponent, decorators: [{
|
|
3006
3194
|
type: Component,
|
|
@@ -3025,7 +3213,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
3025
3213
|
(collapse)="closePopup.emit()"
|
|
3026
3214
|
>
|
|
3027
3215
|
<ng-template kendoActionSheetTemplate>
|
|
3028
|
-
<div class="k-
|
|
3216
|
+
<div class="k-actionsheet-titlebar">
|
|
3029
3217
|
<div class="k-actionsheet-titlebar-group">
|
|
3030
3218
|
<div class="k-actionsheet-title">
|
|
3031
3219
|
@if (title) {
|
|
@@ -3041,6 +3229,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
3041
3229
|
icon="check"
|
|
3042
3230
|
type="button"
|
|
3043
3231
|
[attr.title]="messageFor('adaptiveCloseButtonTitle')"
|
|
3232
|
+
[attr.aria-label]="messageFor('adaptiveCloseButtonTitle')"
|
|
3044
3233
|
[svgIcon]="checkIcon"
|
|
3045
3234
|
fillMode="flat"
|
|
3046
3235
|
themeColor="primary"
|
|
@@ -3058,13 +3247,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
3058
3247
|
[value]="searchBarValue || ''"
|
|
3059
3248
|
size="large"
|
|
3060
3249
|
[placeholder]="filterable ? messageFor('filterInputPlaceholder') : placeholder"
|
|
3061
|
-
|
|
3250
|
+
[inputAttributes]="{'aria-label': title}"
|
|
3062
3251
|
autocomplete="off"
|
|
3063
3252
|
(valueChange)="onValueChange($event)"
|
|
3064
3253
|
>
|
|
3065
3254
|
@if (filterable) {
|
|
3066
3255
|
<ng-template kendoTextBoxPrefixTemplate>
|
|
3067
|
-
<kendo-icon name="search"></kendo-icon>
|
|
3256
|
+
<kendo-icon-wrapper name="search" [svgIcon]="searchIcon"></kendo-icon-wrapper>
|
|
3068
3257
|
</ng-template>
|
|
3069
3258
|
}
|
|
3070
3259
|
</kendo-textbox>
|
|
@@ -3072,15 +3261,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
3072
3261
|
}
|
|
3073
3262
|
</div>
|
|
3074
3263
|
<div class="k-actionsheet-content">
|
|
3264
|
+
@if (showListContainer) {
|
|
3075
3265
|
<div class="k-list-container">
|
|
3076
3266
|
<ng-container *ngTemplateOutlet="sharedPopupActionSheetTemplate"></ng-container>
|
|
3077
3267
|
</div>
|
|
3268
|
+
} @else {
|
|
3269
|
+
<ng-container *ngTemplateOutlet="sharedPopupActionSheetTemplate"></ng-container>
|
|
3270
|
+
}
|
|
3078
3271
|
</div>
|
|
3079
3272
|
</ng-template>
|
|
3080
3273
|
</kendo-actionsheet>
|
|
3081
3274
|
`,
|
|
3082
3275
|
standalone: true,
|
|
3083
|
-
imports: [ActionSheetComponent, ActionSheetTemplateDirective, ButtonComponent, TextBoxComponent, TextBoxPrefixTemplateDirective,
|
|
3276
|
+
imports: [ActionSheetComponent, ActionSheetTemplateDirective, ButtonComponent, TextBoxComponent, TextBoxPrefixTemplateDirective, IconWrapperComponent, NgTemplateOutlet]
|
|
3084
3277
|
}]
|
|
3085
3278
|
}], ctorParameters: () => [{ type: i1.LocalizationService }, { type: i7.AdaptiveService }], propDecorators: { title: [{
|
|
3086
3279
|
type: Input
|
|
@@ -3098,6 +3291,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
3098
3291
|
type: Input
|
|
3099
3292
|
}], filterable: [{
|
|
3100
3293
|
type: Input
|
|
3294
|
+
}], showListContainer: [{
|
|
3295
|
+
type: Input
|
|
3101
3296
|
}], closePopup: [{
|
|
3102
3297
|
type: Output
|
|
3103
3298
|
}], textInputChange: [{
|
|
@@ -3232,15 +3427,15 @@ class Messages extends ComponentMessages {
|
|
|
3232
3427
|
*/
|
|
3233
3428
|
clearTitle;
|
|
3234
3429
|
/**
|
|
3235
|
-
|
|
3430
|
+
* The text displayed for the check-all checkbox. Available for MultiSelectTree.
|
|
3236
3431
|
*/
|
|
3237
3432
|
checkAllText;
|
|
3238
3433
|
/**
|
|
3239
|
-
|
|
3434
|
+
* The text set as aria-label on the select button. Available for DropDownList, ComboBox, MultiColumnComboBox, and DropDownTree.
|
|
3240
3435
|
*/
|
|
3241
3436
|
selectButtonText;
|
|
3242
3437
|
/**
|
|
3243
|
-
|
|
3438
|
+
* The text set as aria-label on the list filter input. Available for DropDownList, DropDownTree, and MultiSelectTree.
|
|
3244
3439
|
*/
|
|
3245
3440
|
filterInputLabel;
|
|
3246
3441
|
/**
|
|
@@ -3252,11 +3447,15 @@ class Messages extends ComponentMessages {
|
|
|
3252
3447
|
*/
|
|
3253
3448
|
adaptiveCloseButtonTitle;
|
|
3254
3449
|
/**
|
|
3255
|
-
|
|
3450
|
+
* The text for the input's placeholder when filtering is enabled. Available for DropDownTree and MultiSelectTree.
|
|
3256
3451
|
*/
|
|
3257
3452
|
filterInputPlaceholder;
|
|
3258
3453
|
/**
|
|
3259
|
-
|
|
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.
|
|
3260
3459
|
*
|
|
3261
3460
|
* The text includes a localizable string and the custom value.
|
|
3262
3461
|
* For example, when adding a custom value **Test**, the default text is **Use "Test"**.
|
|
@@ -3265,8 +3464,16 @@ class Messages extends ComponentMessages {
|
|
|
3265
3464
|
* Use `{customValue}` to insert the value, for example, **Add: {customValue}**.
|
|
3266
3465
|
*/
|
|
3267
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;
|
|
3268
3475
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: Messages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
3269
|
-
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 });
|
|
3270
3477
|
}
|
|
3271
3478
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: Messages, decorators: [{
|
|
3272
3479
|
type: Directive
|
|
@@ -3286,8 +3493,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
3286
3493
|
type: Input
|
|
3287
3494
|
}], filterInputPlaceholder: [{
|
|
3288
3495
|
type: Input
|
|
3496
|
+
}], chipListLabel: [{
|
|
3497
|
+
type: Input
|
|
3289
3498
|
}], useCustomValueText: [{
|
|
3290
3499
|
type: Input
|
|
3500
|
+
}], listboxLabel: [{
|
|
3501
|
+
type: Input
|
|
3502
|
+
}], inputLabel: [{
|
|
3503
|
+
type: Input
|
|
3291
3504
|
}] } });
|
|
3292
3505
|
|
|
3293
3506
|
/**
|
|
@@ -3444,7 +3657,7 @@ class AutoCompleteComponent {
|
|
|
3444
3657
|
* @hidden
|
|
3445
3658
|
*/
|
|
3446
3659
|
get ariaControls() {
|
|
3447
|
-
return this.isOpen ? this.listBoxId : undefined;
|
|
3660
|
+
return (!this.isAdaptive && this.isOpen) ? this.listBoxId : undefined;
|
|
3448
3661
|
}
|
|
3449
3662
|
/**
|
|
3450
3663
|
* @hidden
|
|
@@ -4498,6 +4711,9 @@ class AutoCompleteComponent {
|
|
|
4498
4711
|
|
|
4499
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"
|
|
4500
4713
|
adaptiveCloseButtonTitle="Close"
|
|
4714
|
+
|
|
4715
|
+
i18n-listboxLabel="kendo.autocomplete.listboxLabel|The accessible label of the list of suggestions"
|
|
4716
|
+
listboxLabel="Suggestions"
|
|
4501
4717
|
>
|
|
4502
4718
|
</ng-container>
|
|
4503
4719
|
|
|
@@ -4519,9 +4735,9 @@ class AutoCompleteComponent {
|
|
|
4519
4735
|
}
|
|
4520
4736
|
<input
|
|
4521
4737
|
kendoSearchbar
|
|
4522
|
-
[ariaExpanded]="isOpen"
|
|
4738
|
+
[ariaExpanded]="isAdaptive ? false : isOpen"
|
|
4523
4739
|
[isSuggestable]="suggest"
|
|
4524
|
-
[
|
|
4740
|
+
[hasListAutocomplete]="filterable"
|
|
4525
4741
|
[isLoading]="isLoading"
|
|
4526
4742
|
[ariaControls]="ariaControls"
|
|
4527
4743
|
[id]="focusableId"
|
|
@@ -4617,24 +4833,25 @@ class AutoCompleteComponent {
|
|
|
4617
4833
|
[show]="isOpen"
|
|
4618
4834
|
[virtual]="virtual"
|
|
4619
4835
|
[showStickyHeader]="showStickyHeader"
|
|
4836
|
+
[ariaLabel]="messageFor('listboxLabel')"
|
|
4620
4837
|
(pageChange)="pageChange($event)"
|
|
4621
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
|
+
}
|
|
4622
4854
|
</kendo-list>
|
|
4623
|
-
<!--no-data template-->
|
|
4624
|
-
@if (data.length === 0) {
|
|
4625
|
-
<div class="k-no-data" [attr.aria-live]="'polite'">
|
|
4626
|
-
@if (noDataTemplate) {
|
|
4627
|
-
<ng-template
|
|
4628
|
-
[templateContext]="{
|
|
4629
|
-
templateRef: noDataTemplate?.templateRef
|
|
4630
|
-
}">
|
|
4631
|
-
</ng-template>
|
|
4632
|
-
}
|
|
4633
|
-
@if (!noDataTemplate) {
|
|
4634
|
-
<div>{{ messageFor('noDataText') }}</div>
|
|
4635
|
-
}
|
|
4636
|
-
</div>
|
|
4637
|
-
}
|
|
4638
4855
|
<!--footer template-->
|
|
4639
4856
|
@if (footerTemplate) {
|
|
4640
4857
|
<ng-template
|
|
@@ -4644,7 +4861,7 @@ class AutoCompleteComponent {
|
|
|
4644
4861
|
</ng-template>
|
|
4645
4862
|
}
|
|
4646
4863
|
</ng-template>
|
|
4647
|
-
`, 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"] }] });
|
|
4648
4865
|
}
|
|
4649
4866
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: AutoCompleteComponent, decorators: [{
|
|
4650
4867
|
type: Component,
|
|
@@ -4685,6 +4902,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
4685
4902
|
|
|
4686
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"
|
|
4687
4904
|
adaptiveCloseButtonTitle="Close"
|
|
4905
|
+
|
|
4906
|
+
i18n-listboxLabel="kendo.autocomplete.listboxLabel|The accessible label of the list of suggestions"
|
|
4907
|
+
listboxLabel="Suggestions"
|
|
4688
4908
|
>
|
|
4689
4909
|
</ng-container>
|
|
4690
4910
|
|
|
@@ -4706,9 +4926,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
4706
4926
|
}
|
|
4707
4927
|
<input
|
|
4708
4928
|
kendoSearchbar
|
|
4709
|
-
[ariaExpanded]="isOpen"
|
|
4929
|
+
[ariaExpanded]="isAdaptive ? false : isOpen"
|
|
4710
4930
|
[isSuggestable]="suggest"
|
|
4711
|
-
[
|
|
4931
|
+
[hasListAutocomplete]="filterable"
|
|
4712
4932
|
[isLoading]="isLoading"
|
|
4713
4933
|
[ariaControls]="ariaControls"
|
|
4714
4934
|
[id]="focusableId"
|
|
@@ -4804,24 +5024,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
4804
5024
|
[show]="isOpen"
|
|
4805
5025
|
[virtual]="virtual"
|
|
4806
5026
|
[showStickyHeader]="showStickyHeader"
|
|
5027
|
+
[ariaLabel]="messageFor('listboxLabel')"
|
|
4807
5028
|
(pageChange)="pageChange($event)"
|
|
4808
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
|
+
}
|
|
4809
5045
|
</kendo-list>
|
|
4810
|
-
<!--no-data template-->
|
|
4811
|
-
@if (data.length === 0) {
|
|
4812
|
-
<div class="k-no-data" [attr.aria-live]="'polite'">
|
|
4813
|
-
@if (noDataTemplate) {
|
|
4814
|
-
<ng-template
|
|
4815
|
-
[templateContext]="{
|
|
4816
|
-
templateRef: noDataTemplate?.templateRef
|
|
4817
|
-
}">
|
|
4818
|
-
</ng-template>
|
|
4819
|
-
}
|
|
4820
|
-
@if (!noDataTemplate) {
|
|
4821
|
-
<div>{{ messageFor('noDataText') }}</div>
|
|
4822
|
-
}
|
|
4823
|
-
</div>
|
|
4824
|
-
}
|
|
4825
5046
|
<!--footer template-->
|
|
4826
5047
|
@if (footerTemplate) {
|
|
4827
5048
|
<ng-template
|
|
@@ -5105,7 +5326,7 @@ class ComboBoxComponent extends MultiTabStop {
|
|
|
5105
5326
|
* @hidden
|
|
5106
5327
|
*/
|
|
5107
5328
|
get ariaControls() {
|
|
5108
|
-
return this.isOpen ? this.listBoxId : undefined;
|
|
5329
|
+
return (!this.isAdaptive && this.isOpen) ? this.listBoxId : undefined;
|
|
5109
5330
|
}
|
|
5110
5331
|
/**
|
|
5111
5332
|
* @hidden
|
|
@@ -5928,7 +6149,7 @@ class ComboBoxComponent extends MultiTabStop {
|
|
|
5928
6149
|
* @hidden
|
|
5929
6150
|
*/
|
|
5930
6151
|
get selectButtonClasses() {
|
|
5931
|
-
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' : ''}`;
|
|
5932
6153
|
}
|
|
5933
6154
|
/**
|
|
5934
6155
|
* @hidden
|
|
@@ -6195,7 +6416,7 @@ class ComboBoxComponent extends MultiTabStop {
|
|
|
6195
6416
|
this.zone.run(() => {
|
|
6196
6417
|
if (valueHasChanged) {
|
|
6197
6418
|
const lowerCaseMatch = isPresent(this.focusedItemText) && this.focusedItemText.toLowerCase() === currentText.toLowerCase();
|
|
6198
|
-
if (lowerCaseMatch || unresolvedSelection) {
|
|
6419
|
+
if ((lowerCaseMatch && this.shouldResolveSuggestedItem(currentText)) || unresolvedSelection) {
|
|
6199
6420
|
this.selectionService.change(this.selectionService.focused);
|
|
6200
6421
|
}
|
|
6201
6422
|
else {
|
|
@@ -6328,6 +6549,9 @@ class ComboBoxComponent extends MultiTabStop {
|
|
|
6328
6549
|
const itemText = getter(this.dataService.itemAt(focused), this.textField);
|
|
6329
6550
|
return !isPresent(itemText) ? "" : itemText.toString();
|
|
6330
6551
|
}
|
|
6552
|
+
shouldResolveSuggestedItem(currentText) {
|
|
6553
|
+
return !(this.allowCustom && this.suggest && this.focusedItemText !== currentText);
|
|
6554
|
+
}
|
|
6331
6555
|
/**
|
|
6332
6556
|
* Focuses the first match when there's text in the input field, but no focused item.
|
|
6333
6557
|
*/
|
|
@@ -6516,7 +6740,7 @@ class ComboBoxComponent extends MultiTabStop {
|
|
|
6516
6740
|
this.zone.run(() => {
|
|
6517
6741
|
if (valueHasChanged) {
|
|
6518
6742
|
const lowerCaseMatch = isPresent(this.focusedItemText) && this.focusedItemText.toLowerCase() === currentText.toLowerCase();
|
|
6519
|
-
if (lowerCaseMatch || unresolvedSelection) {
|
|
6743
|
+
if ((lowerCaseMatch && this.shouldResolveSuggestedItem(currentText)) || unresolvedSelection) {
|
|
6520
6744
|
this.selectionService.change(this.selectionService.focused);
|
|
6521
6745
|
}
|
|
6522
6746
|
else {
|
|
@@ -6570,6 +6794,12 @@ class ComboBoxComponent extends MultiTabStop {
|
|
|
6570
6794
|
|
|
6571
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"
|
|
6572
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}"' }}"
|
|
6573
6803
|
>
|
|
6574
6804
|
</ng-container>
|
|
6575
6805
|
|
|
@@ -6591,12 +6821,12 @@ class ComboBoxComponent extends MultiTabStop {
|
|
|
6591
6821
|
}
|
|
6592
6822
|
<input
|
|
6593
6823
|
kendoSearchbar
|
|
6594
|
-
[ariaExpanded]="isOpen"
|
|
6824
|
+
[ariaExpanded]="isAdaptive ? false : isOpen"
|
|
6595
6825
|
[ariaControls]="ariaControls"
|
|
6596
6826
|
[id]="focusableId"
|
|
6597
6827
|
[isLoading]="loading"
|
|
6598
6828
|
[isSuggestable]="suggest"
|
|
6599
|
-
[
|
|
6829
|
+
[hasListAutocomplete]="filterable"
|
|
6600
6830
|
[activeDescendant]="activeDescendant"
|
|
6601
6831
|
[userInput]="text"
|
|
6602
6832
|
[suggestedText]="getSuggestion()"
|
|
@@ -6616,7 +6846,6 @@ class ComboBoxComponent extends MultiTabStop {
|
|
|
6616
6846
|
<span
|
|
6617
6847
|
class="k-clear-value"
|
|
6618
6848
|
[style.visibility]="clearButtonVisibility"
|
|
6619
|
-
aria-hidden="true"
|
|
6620
6849
|
[attr.title]="messageFor('clearTitle')"
|
|
6621
6850
|
(click)="clearValue($event)"
|
|
6622
6851
|
[kendoEventsOutsideAngular]="{
|
|
@@ -6711,24 +6940,27 @@ class ComboBoxComponent extends MultiTabStop {
|
|
|
6711
6940
|
[show]="isOpen"
|
|
6712
6941
|
[virtual]="virtual"
|
|
6713
6942
|
[showStickyHeader]="showStickyHeader"
|
|
6943
|
+
[ariaLabel]="messageFor('listboxLabel')"
|
|
6944
|
+
[text]="text"
|
|
6945
|
+
[allowCustom]="allowCustom"
|
|
6714
6946
|
(pageChange)="pageChange($event)"
|
|
6715
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
|
+
}
|
|
6716
6963
|
</kendo-list>
|
|
6717
|
-
<!--no-data template-->
|
|
6718
|
-
@if (data.length === 0) {
|
|
6719
|
-
<div class="k-no-data" [attr.aria-live]="'polite'">
|
|
6720
|
-
@if (noDataTemplate) {
|
|
6721
|
-
<ng-template
|
|
6722
|
-
[templateContext]="{
|
|
6723
|
-
templateRef: noDataTemplate ? noDataTemplate.templateRef : undefined
|
|
6724
|
-
}">
|
|
6725
|
-
</ng-template>
|
|
6726
|
-
}
|
|
6727
|
-
@if (!noDataTemplate) {
|
|
6728
|
-
<div>{{ messageFor('noDataText') }}</div>
|
|
6729
|
-
}
|
|
6730
|
-
</div>
|
|
6731
|
-
}
|
|
6732
6964
|
<!--footer template-->
|
|
6733
6965
|
@if (footerTemplate) {
|
|
6734
6966
|
<ng-template
|
|
@@ -6738,7 +6970,7 @@ class ComboBoxComponent extends MultiTabStop {
|
|
|
6738
6970
|
</ng-template>
|
|
6739
6971
|
}
|
|
6740
6972
|
</ng-template>
|
|
6741
|
-
`, 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"] }] });
|
|
6742
6974
|
}
|
|
6743
6975
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ComboBoxComponent, decorators: [{
|
|
6744
6976
|
type: Component,
|
|
@@ -6783,6 +7015,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
6783
7015
|
|
|
6784
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"
|
|
6785
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}"' }}"
|
|
6786
7024
|
>
|
|
6787
7025
|
</ng-container>
|
|
6788
7026
|
|
|
@@ -6804,12 +7042,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
6804
7042
|
}
|
|
6805
7043
|
<input
|
|
6806
7044
|
kendoSearchbar
|
|
6807
|
-
[ariaExpanded]="isOpen"
|
|
7045
|
+
[ariaExpanded]="isAdaptive ? false : isOpen"
|
|
6808
7046
|
[ariaControls]="ariaControls"
|
|
6809
7047
|
[id]="focusableId"
|
|
6810
7048
|
[isLoading]="loading"
|
|
6811
7049
|
[isSuggestable]="suggest"
|
|
6812
|
-
[
|
|
7050
|
+
[hasListAutocomplete]="filterable"
|
|
6813
7051
|
[activeDescendant]="activeDescendant"
|
|
6814
7052
|
[userInput]="text"
|
|
6815
7053
|
[suggestedText]="getSuggestion()"
|
|
@@ -6829,7 +7067,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
6829
7067
|
<span
|
|
6830
7068
|
class="k-clear-value"
|
|
6831
7069
|
[style.visibility]="clearButtonVisibility"
|
|
6832
|
-
aria-hidden="true"
|
|
6833
7070
|
[attr.title]="messageFor('clearTitle')"
|
|
6834
7071
|
(click)="clearValue($event)"
|
|
6835
7072
|
[kendoEventsOutsideAngular]="{
|
|
@@ -6924,24 +7161,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
6924
7161
|
[show]="isOpen"
|
|
6925
7162
|
[virtual]="virtual"
|
|
6926
7163
|
[showStickyHeader]="showStickyHeader"
|
|
7164
|
+
[ariaLabel]="messageFor('listboxLabel')"
|
|
7165
|
+
[text]="text"
|
|
7166
|
+
[allowCustom]="allowCustom"
|
|
6927
7167
|
(pageChange)="pageChange($event)"
|
|
6928
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
|
+
}
|
|
6929
7184
|
</kendo-list>
|
|
6930
|
-
<!--no-data template-->
|
|
6931
|
-
@if (data.length === 0) {
|
|
6932
|
-
<div class="k-no-data" [attr.aria-live]="'polite'">
|
|
6933
|
-
@if (noDataTemplate) {
|
|
6934
|
-
<ng-template
|
|
6935
|
-
[templateContext]="{
|
|
6936
|
-
templateRef: noDataTemplate ? noDataTemplate.templateRef : undefined
|
|
6937
|
-
}">
|
|
6938
|
-
</ng-template>
|
|
6939
|
-
}
|
|
6940
|
-
@if (!noDataTemplate) {
|
|
6941
|
-
<div>{{ messageFor('noDataText') }}</div>
|
|
6942
|
-
}
|
|
6943
|
-
</div>
|
|
6944
|
-
}
|
|
6945
7185
|
<!--footer template-->
|
|
6946
7186
|
@if (footerTemplate) {
|
|
6947
7187
|
<ng-template
|
|
@@ -7300,7 +7540,7 @@ class DropDownListComponent {
|
|
|
7300
7540
|
* @hidden
|
|
7301
7541
|
*/
|
|
7302
7542
|
get ariaLive() {
|
|
7303
|
-
return this.filterable ? 'polite' :
|
|
7543
|
+
return this.filterable ? 'polite' : null;
|
|
7304
7544
|
}
|
|
7305
7545
|
/**
|
|
7306
7546
|
* Shows or hides the current group sticky header when using grouped data.
|
|
@@ -7689,7 +7929,7 @@ class DropDownListComponent {
|
|
|
7689
7929
|
role = 'combobox';
|
|
7690
7930
|
haspopup = 'listbox';
|
|
7691
7931
|
get hostAriaInvalid() {
|
|
7692
|
-
return this.formControl?.invalid ? true : null;
|
|
7932
|
+
return (this.formControl?.invalid && (this.formControl?.touched || this.formControl?.dirty)) ? true : null;
|
|
7693
7933
|
}
|
|
7694
7934
|
/**
|
|
7695
7935
|
* @hidden
|
|
@@ -8538,8 +8778,6 @@ class DropDownListComponent {
|
|
|
8538
8778
|
}
|
|
8539
8779
|
closeActionSheet() {
|
|
8540
8780
|
this.actionSheet.toggle(false);
|
|
8541
|
-
this.renderer.setAttribute(this.wrapper.nativeElement, 'aria-expanded', 'false');
|
|
8542
|
-
this.renderer.removeAttribute(this.wrapper.nativeElement, 'aria-controls');
|
|
8543
8781
|
if (this.filterable) {
|
|
8544
8782
|
this.adaptiveRenderer.searchBarValue = '';
|
|
8545
8783
|
this.filterChange.emit('');
|
|
@@ -8549,8 +8787,6 @@ class DropDownListComponent {
|
|
|
8549
8787
|
openActionSheet() {
|
|
8550
8788
|
this.actionSheet.toggle(true);
|
|
8551
8789
|
this.cdr.detectChanges();
|
|
8552
|
-
this.renderer.setAttribute(this.wrapper.nativeElement, 'aria-expanded', 'true');
|
|
8553
|
-
this.renderer.setAttribute(this.wrapper.nativeElement, 'aria-controls', this.listBoxId);
|
|
8554
8790
|
if (!this.dataService.grouped) {
|
|
8555
8791
|
setListBoxAriaLabelledBy(this.optionsList, this.wrapper, this.renderer);
|
|
8556
8792
|
}
|
|
@@ -8602,6 +8838,9 @@ class DropDownListComponent {
|
|
|
8602
8838
|
|
|
8603
8839
|
i18n-filterPlaceholder="kendo.dropdownlist.filterPlaceholder|The text for the input's placeholder when filtering is enabled"
|
|
8604
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"
|
|
8605
8844
|
>
|
|
8606
8845
|
</ng-container>
|
|
8607
8846
|
<span class="k-input-inner" unselectable="on" [id]="valueLabelId" (click)="$event.preventDefault()">
|
|
@@ -8666,7 +8905,6 @@ class DropDownListComponent {
|
|
|
8666
8905
|
class="k-searchbox k-input"
|
|
8667
8906
|
[ngClass]="filterInputClasses">
|
|
8668
8907
|
<kendo-icon-wrapper
|
|
8669
|
-
class="k-icon"
|
|
8670
8908
|
innerCssClass="k-input-icon"
|
|
8671
8909
|
name="search"
|
|
8672
8910
|
[svgIcon]="searchIcon">
|
|
@@ -8717,24 +8955,25 @@ class DropDownListComponent {
|
|
|
8717
8955
|
[virtual]="virtual"
|
|
8718
8956
|
[ariaLive]="ariaLive"
|
|
8719
8957
|
[showStickyHeader]="showStickyHeader"
|
|
8958
|
+
[ariaLabel]="messageFor('listboxLabel')"
|
|
8720
8959
|
(pageChange)="pageChange($event)"
|
|
8721
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
|
+
}
|
|
8722
8976
|
</kendo-list>
|
|
8723
|
-
<!--no-data template-->
|
|
8724
|
-
@if (data.length === 0) {
|
|
8725
|
-
<div class="k-no-data" [attr.aria-live]="'polite'">
|
|
8726
|
-
@if (noDataTemplate) {
|
|
8727
|
-
<ng-template
|
|
8728
|
-
[templateContext]="{
|
|
8729
|
-
templateRef: noDataTemplate ? noDataTemplate.templateRef : undefined
|
|
8730
|
-
}">
|
|
8731
|
-
</ng-template>
|
|
8732
|
-
}
|
|
8733
|
-
@if (!noDataTemplate) {
|
|
8734
|
-
<div>{{ messageFor('noDataText') }}</div>
|
|
8735
|
-
}
|
|
8736
|
-
</div>
|
|
8737
|
-
}
|
|
8738
8977
|
<!--footer template-->
|
|
8739
8978
|
@if (footerTemplate) {
|
|
8740
8979
|
<ng-template
|
|
@@ -8744,7 +8983,7 @@ class DropDownListComponent {
|
|
|
8744
8983
|
</ng-template>
|
|
8745
8984
|
}
|
|
8746
8985
|
</ng-template>
|
|
8747
|
-
`, 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"] }] });
|
|
8748
8987
|
}
|
|
8749
8988
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: DropDownListComponent, decorators: [{
|
|
8750
8989
|
type: Component,
|
|
@@ -8789,6 +9028,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
8789
9028
|
|
|
8790
9029
|
i18n-filterPlaceholder="kendo.dropdownlist.filterPlaceholder|The text for the input's placeholder when filtering is enabled"
|
|
8791
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"
|
|
8792
9034
|
>
|
|
8793
9035
|
</ng-container>
|
|
8794
9036
|
<span class="k-input-inner" unselectable="on" [id]="valueLabelId" (click)="$event.preventDefault()">
|
|
@@ -8853,7 +9095,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
8853
9095
|
class="k-searchbox k-input"
|
|
8854
9096
|
[ngClass]="filterInputClasses">
|
|
8855
9097
|
<kendo-icon-wrapper
|
|
8856
|
-
class="k-icon"
|
|
8857
9098
|
innerCssClass="k-input-icon"
|
|
8858
9099
|
name="search"
|
|
8859
9100
|
[svgIcon]="searchIcon">
|
|
@@ -8904,24 +9145,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
8904
9145
|
[virtual]="virtual"
|
|
8905
9146
|
[ariaLive]="ariaLive"
|
|
8906
9147
|
[showStickyHeader]="showStickyHeader"
|
|
9148
|
+
[ariaLabel]="messageFor('listboxLabel')"
|
|
8907
9149
|
(pageChange)="pageChange($event)"
|
|
8908
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
|
+
}
|
|
8909
9166
|
</kendo-list>
|
|
8910
|
-
<!--no-data template-->
|
|
8911
|
-
@if (data.length === 0) {
|
|
8912
|
-
<div class="k-no-data" [attr.aria-live]="'polite'">
|
|
8913
|
-
@if (noDataTemplate) {
|
|
8914
|
-
<ng-template
|
|
8915
|
-
[templateContext]="{
|
|
8916
|
-
templateRef: noDataTemplate ? noDataTemplate.templateRef : undefined
|
|
8917
|
-
}">
|
|
8918
|
-
</ng-template>
|
|
8919
|
-
}
|
|
8920
|
-
@if (!noDataTemplate) {
|
|
8921
|
-
<div>{{ messageFor('noDataText') }}</div>
|
|
8922
|
-
}
|
|
8923
|
-
</div>
|
|
8924
|
-
}
|
|
8925
9167
|
<!--footer template-->
|
|
8926
9168
|
@if (footerTemplate) {
|
|
8927
9169
|
<ng-template
|
|
@@ -9242,6 +9484,7 @@ class TagListComponent {
|
|
|
9242
9484
|
disabled;
|
|
9243
9485
|
tagPrefix;
|
|
9244
9486
|
id;
|
|
9487
|
+
ariaLabel;
|
|
9245
9488
|
set size(size) {
|
|
9246
9489
|
this.renderer.removeClass(this.hostElement.nativeElement, getSizeClass('chip-list', this.size));
|
|
9247
9490
|
if (size) {
|
|
@@ -9264,7 +9507,11 @@ class TagListComponent {
|
|
|
9264
9507
|
return this.id;
|
|
9265
9508
|
}
|
|
9266
9509
|
taglistRole = 'listbox';
|
|
9510
|
+
get hostAriaLabel() {
|
|
9511
|
+
return this.ariaLabel || null;
|
|
9512
|
+
}
|
|
9267
9513
|
multiselectable = true;
|
|
9514
|
+
ariaOrientation = 'horizontal';
|
|
9268
9515
|
_size;
|
|
9269
9516
|
constructor(renderer, hostElement) {
|
|
9270
9517
|
this.renderer = renderer;
|
|
@@ -9319,7 +9566,7 @@ class TagListComponent {
|
|
|
9319
9566
|
}
|
|
9320
9567
|
}
|
|
9321
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 });
|
|
9322
|
-
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: `
|
|
9323
9570
|
@for (tag of tags; track $index; let index = $index) {
|
|
9324
9571
|
<div
|
|
9325
9572
|
[attr.id]="itemId(tag, index)"
|
|
@@ -9345,7 +9592,7 @@ class TagListComponent {
|
|
|
9345
9592
|
>
|
|
9346
9593
|
<span class="k-chip-content">
|
|
9347
9594
|
@if (isGroupTag(tag)) {
|
|
9348
|
-
<span class="k-chip-label
|
|
9595
|
+
<span class="k-chip-label">
|
|
9349
9596
|
@if (groupTemplate) {
|
|
9350
9597
|
<ng-template
|
|
9351
9598
|
[templateContext]="{
|
|
@@ -9359,7 +9606,7 @@ class TagListComponent {
|
|
|
9359
9606
|
}
|
|
9360
9607
|
</span>
|
|
9361
9608
|
} @else {
|
|
9362
|
-
<span class="k-chip-label
|
|
9609
|
+
<span class="k-chip-label">
|
|
9363
9610
|
@if (template) {
|
|
9364
9611
|
<ng-template
|
|
9365
9612
|
[templateContext]="{
|
|
@@ -9375,11 +9622,13 @@ class TagListComponent {
|
|
|
9375
9622
|
}
|
|
9376
9623
|
</span>
|
|
9377
9624
|
<span class="k-chip-actions">
|
|
9378
|
-
<span
|
|
9625
|
+
<span class="k-chip-action k-chip-remove-action">
|
|
9379
9626
|
<kendo-icon-wrapper
|
|
9627
|
+
[attr.aria-hidden]="index !== focused"
|
|
9380
9628
|
(mousedown)="deleteTag($event, tag, index)"
|
|
9381
9629
|
name="x-circle"
|
|
9382
9630
|
[svgIcon]="xCircleIcon"
|
|
9631
|
+
size="small"
|
|
9383
9632
|
>
|
|
9384
9633
|
</kendo-icon-wrapper>
|
|
9385
9634
|
</span>
|
|
@@ -9419,7 +9668,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
9419
9668
|
>
|
|
9420
9669
|
<span class="k-chip-content">
|
|
9421
9670
|
@if (isGroupTag(tag)) {
|
|
9422
|
-
<span class="k-chip-label
|
|
9671
|
+
<span class="k-chip-label">
|
|
9423
9672
|
@if (groupTemplate) {
|
|
9424
9673
|
<ng-template
|
|
9425
9674
|
[templateContext]="{
|
|
@@ -9433,7 +9682,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
9433
9682
|
}
|
|
9434
9683
|
</span>
|
|
9435
9684
|
} @else {
|
|
9436
|
-
<span class="k-chip-label
|
|
9685
|
+
<span class="k-chip-label">
|
|
9437
9686
|
@if (template) {
|
|
9438
9687
|
<ng-template
|
|
9439
9688
|
[templateContext]="{
|
|
@@ -9449,11 +9698,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
9449
9698
|
}
|
|
9450
9699
|
</span>
|
|
9451
9700
|
<span class="k-chip-actions">
|
|
9452
|
-
<span
|
|
9701
|
+
<span class="k-chip-action k-chip-remove-action">
|
|
9453
9702
|
<kendo-icon-wrapper
|
|
9703
|
+
[attr.aria-hidden]="index !== focused"
|
|
9454
9704
|
(mousedown)="deleteTag($event, tag, index)"
|
|
9455
9705
|
name="x-circle"
|
|
9456
9706
|
[svgIcon]="xCircleIcon"
|
|
9707
|
+
size="small"
|
|
9457
9708
|
>
|
|
9458
9709
|
</kendo-icon-wrapper>
|
|
9459
9710
|
</span>
|
|
@@ -9485,6 +9736,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
9485
9736
|
type: Input
|
|
9486
9737
|
}], id: [{
|
|
9487
9738
|
type: Input
|
|
9739
|
+
}], ariaLabel: [{
|
|
9740
|
+
type: Input
|
|
9488
9741
|
}], size: [{
|
|
9489
9742
|
type: Input
|
|
9490
9743
|
}], rounded: [{
|
|
@@ -9504,9 +9757,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
9504
9757
|
}], taglistRole: [{
|
|
9505
9758
|
type: HostBinding,
|
|
9506
9759
|
args: ['attr.role']
|
|
9760
|
+
}], hostAriaLabel: [{
|
|
9761
|
+
type: HostBinding,
|
|
9762
|
+
args: ['attr.aria-label']
|
|
9507
9763
|
}], multiselectable: [{
|
|
9508
9764
|
type: HostBinding,
|
|
9509
9765
|
args: ['attr.aria-multiselectable']
|
|
9766
|
+
}], ariaOrientation: [{
|
|
9767
|
+
type: HostBinding,
|
|
9768
|
+
args: ['attr.aria-orientation']
|
|
9510
9769
|
}] } });
|
|
9511
9770
|
|
|
9512
9771
|
const MULTISELECT_VALUE_ACCESSOR = {
|
|
@@ -9594,7 +9853,7 @@ class MultiSelectComponent {
|
|
|
9594
9853
|
* @hidden
|
|
9595
9854
|
*/
|
|
9596
9855
|
get ariaControls() {
|
|
9597
|
-
return this.isOpen ? this.listBoxId : undefined;
|
|
9856
|
+
return (!this.isAdaptive && this.isOpen) ? this.listBoxId : undefined;
|
|
9598
9857
|
}
|
|
9599
9858
|
/**
|
|
9600
9859
|
* @hidden
|
|
@@ -11278,6 +11537,9 @@ class MultiSelectComponent {
|
|
|
11278
11537
|
i18n-clearTitle="kendo.multiselect.clearTitle|The title of the clear button"
|
|
11279
11538
|
clearTitle="clear"
|
|
11280
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
|
+
|
|
11281
11543
|
i18n-popupLabel="kendo.multiselect.popupLabel|The label of the popup element that contains the list of options when its role is 'region'"
|
|
11282
11544
|
popupLabel="Options list"
|
|
11283
11545
|
|
|
@@ -11286,6 +11548,9 @@ class MultiSelectComponent {
|
|
|
11286
11548
|
|
|
11287
11549
|
i18n-useCustomValueText="kendo.multiselect.useCustomValueText|The text displayed when the user types a custom value that is not in the list of options."
|
|
11288
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"
|
|
11289
11554
|
>
|
|
11290
11555
|
</ng-container>
|
|
11291
11556
|
|
|
@@ -11320,17 +11585,18 @@ class MultiSelectComponent {
|
|
|
11320
11585
|
[groupTemplate]="groupTagTemplate"
|
|
11321
11586
|
[tagPrefix]="tagPrefix"
|
|
11322
11587
|
[disabledIndices]="disabledIndices"
|
|
11588
|
+
[ariaLabel]="messageFor('chipListLabel')"
|
|
11323
11589
|
(removeTag)="handleRemoveTag($event)"
|
|
11324
11590
|
>
|
|
11325
11591
|
</kendo-taglist>
|
|
11326
11592
|
<input
|
|
11327
11593
|
kendoSearchbar
|
|
11328
11594
|
[ariaControls]="ariaControls"
|
|
11329
|
-
[ariaExpanded]="isOpen"
|
|
11595
|
+
[ariaExpanded]="isAdaptive ? false : isOpen"
|
|
11330
11596
|
[id]="focusableId"
|
|
11331
11597
|
[tagListId]="tagListId"
|
|
11332
11598
|
[isLoading]="loading"
|
|
11333
|
-
[
|
|
11599
|
+
[hasListAutocomplete]="filterable"
|
|
11334
11600
|
[activeDescendant]="activeDescendant"
|
|
11335
11601
|
[userInput]="text"
|
|
11336
11602
|
[disabled]="disabled"
|
|
@@ -11357,7 +11623,6 @@ class MultiSelectComponent {
|
|
|
11357
11623
|
(mousedown)="clearAll($event)"
|
|
11358
11624
|
>
|
|
11359
11625
|
<kendo-icon-wrapper
|
|
11360
|
-
class="k-icon"
|
|
11361
11626
|
name="x"
|
|
11362
11627
|
[svgIcon]="xIcon"
|
|
11363
11628
|
>
|
|
@@ -11435,23 +11700,24 @@ class MultiSelectComponent {
|
|
|
11435
11700
|
[customItemTemplate]="customItemTemplate"
|
|
11436
11701
|
[text]="text"
|
|
11437
11702
|
[allowCustom]="allowCustom"
|
|
11703
|
+
[ariaLabel]="messageFor('listboxLabel')"
|
|
11438
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
|
+
}
|
|
11439
11720
|
</kendo-list>
|
|
11440
|
-
<!--no data template-->
|
|
11441
|
-
@if (data.length === 0) {
|
|
11442
|
-
<div class="k-no-data" [attr.aria-live]="'polite'">
|
|
11443
|
-
@if (noDataTemplate) {
|
|
11444
|
-
<ng-template
|
|
11445
|
-
[templateContext]="{
|
|
11446
|
-
templateRef: noDataTemplate ? noDataTemplate.templateRef : undefined
|
|
11447
|
-
}">
|
|
11448
|
-
</ng-template>
|
|
11449
|
-
}
|
|
11450
|
-
@if (!noDataTemplate) {
|
|
11451
|
-
<div>{{ messageFor('noDataText') }}</div>
|
|
11452
|
-
}
|
|
11453
|
-
</div>
|
|
11454
|
-
}
|
|
11455
11721
|
<!--footer template-->
|
|
11456
11722
|
@if (footerTemplate) {
|
|
11457
11723
|
<ng-template
|
|
@@ -11461,7 +11727,7 @@ class MultiSelectComponent {
|
|
|
11461
11727
|
</ng-template>
|
|
11462
11728
|
}
|
|
11463
11729
|
</ng-template>
|
|
11464
|
-
`, 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"] }] });
|
|
11465
11731
|
}
|
|
11466
11732
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: MultiSelectComponent, decorators: [{
|
|
11467
11733
|
type: Component,
|
|
@@ -11497,6 +11763,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
11497
11763
|
i18n-clearTitle="kendo.multiselect.clearTitle|The title of the clear button"
|
|
11498
11764
|
clearTitle="clear"
|
|
11499
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
|
+
|
|
11500
11769
|
i18n-popupLabel="kendo.multiselect.popupLabel|The label of the popup element that contains the list of options when its role is 'region'"
|
|
11501
11770
|
popupLabel="Options list"
|
|
11502
11771
|
|
|
@@ -11505,6 +11774,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
11505
11774
|
|
|
11506
11775
|
i18n-useCustomValueText="kendo.multiselect.useCustomValueText|The text displayed when the user types a custom value that is not in the list of options."
|
|
11507
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"
|
|
11508
11780
|
>
|
|
11509
11781
|
</ng-container>
|
|
11510
11782
|
|
|
@@ -11539,17 +11811,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
11539
11811
|
[groupTemplate]="groupTagTemplate"
|
|
11540
11812
|
[tagPrefix]="tagPrefix"
|
|
11541
11813
|
[disabledIndices]="disabledIndices"
|
|
11814
|
+
[ariaLabel]="messageFor('chipListLabel')"
|
|
11542
11815
|
(removeTag)="handleRemoveTag($event)"
|
|
11543
11816
|
>
|
|
11544
11817
|
</kendo-taglist>
|
|
11545
11818
|
<input
|
|
11546
11819
|
kendoSearchbar
|
|
11547
11820
|
[ariaControls]="ariaControls"
|
|
11548
|
-
[ariaExpanded]="isOpen"
|
|
11821
|
+
[ariaExpanded]="isAdaptive ? false : isOpen"
|
|
11549
11822
|
[id]="focusableId"
|
|
11550
11823
|
[tagListId]="tagListId"
|
|
11551
11824
|
[isLoading]="loading"
|
|
11552
|
-
[
|
|
11825
|
+
[hasListAutocomplete]="filterable"
|
|
11553
11826
|
[activeDescendant]="activeDescendant"
|
|
11554
11827
|
[userInput]="text"
|
|
11555
11828
|
[disabled]="disabled"
|
|
@@ -11576,7 +11849,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
11576
11849
|
(mousedown)="clearAll($event)"
|
|
11577
11850
|
>
|
|
11578
11851
|
<kendo-icon-wrapper
|
|
11579
|
-
class="k-icon"
|
|
11580
11852
|
name="x"
|
|
11581
11853
|
[svgIcon]="xIcon"
|
|
11582
11854
|
>
|
|
@@ -11654,23 +11926,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
11654
11926
|
[customItemTemplate]="customItemTemplate"
|
|
11655
11927
|
[text]="text"
|
|
11656
11928
|
[allowCustom]="allowCustom"
|
|
11929
|
+
[ariaLabel]="messageFor('listboxLabel')"
|
|
11657
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
|
+
}
|
|
11658
11946
|
</kendo-list>
|
|
11659
|
-
<!--no data template-->
|
|
11660
|
-
@if (data.length === 0) {
|
|
11661
|
-
<div class="k-no-data" [attr.aria-live]="'polite'">
|
|
11662
|
-
@if (noDataTemplate) {
|
|
11663
|
-
<ng-template
|
|
11664
|
-
[templateContext]="{
|
|
11665
|
-
templateRef: noDataTemplate ? noDataTemplate.templateRef : undefined
|
|
11666
|
-
}">
|
|
11667
|
-
</ng-template>
|
|
11668
|
-
}
|
|
11669
|
-
@if (!noDataTemplate) {
|
|
11670
|
-
<div>{{ messageFor('noDataText') }}</div>
|
|
11671
|
-
}
|
|
11672
|
-
</div>
|
|
11673
|
-
}
|
|
11674
11947
|
<!--footer template-->
|
|
11675
11948
|
@if (footerTemplate) {
|
|
11676
11949
|
<ng-template
|
|
@@ -12126,6 +12399,17 @@ class MultiColumnComboBoxComponent extends ComboBoxComponent {
|
|
|
12126
12399
|
* @hidden
|
|
12127
12400
|
*/
|
|
12128
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
|
+
}
|
|
12129
12413
|
get popupWidth() {
|
|
12130
12414
|
const wrapperOffsetWidth = this.wrapper.nativeElement.offsetWidth;
|
|
12131
12415
|
const min = `${wrapperOffsetWidth}px`;
|
|
@@ -12140,7 +12424,8 @@ class MultiColumnComboBoxComponent extends ComboBoxComponent {
|
|
|
12140
12424
|
* @hidden
|
|
12141
12425
|
*/
|
|
12142
12426
|
get tableSizeClass() {
|
|
12143
|
-
|
|
12427
|
+
const effectiveSize = this.isAdaptive ? 'large' : this.size;
|
|
12428
|
+
return `${effectiveSize ? getSizeClass('table', effectiveSize) : ''}`;
|
|
12144
12429
|
}
|
|
12145
12430
|
/**
|
|
12146
12431
|
* @hidden
|
|
@@ -12309,6 +12594,8 @@ class MultiColumnComboBoxComponent extends ComboBoxComponent {
|
|
|
12309
12594
|
popupLabel="Options list"
|
|
12310
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"
|
|
12311
12596
|
adaptiveCloseButtonTitle="Close"
|
|
12597
|
+
i18n-listboxLabel="kendo.multicolumncombobox.listboxLabel|The accessible label of the listbox that contains the list of options"
|
|
12598
|
+
listboxLabel="Options"
|
|
12312
12599
|
></ng-container>
|
|
12313
12600
|
|
|
12314
12601
|
<ng-container
|
|
@@ -12330,11 +12617,11 @@ class MultiColumnComboBoxComponent extends ComboBoxComponent {
|
|
|
12330
12617
|
<input
|
|
12331
12618
|
kendoSearchbar
|
|
12332
12619
|
[ariaControls]="ariaControls"
|
|
12333
|
-
[ariaExpanded]="isOpen"
|
|
12620
|
+
[ariaExpanded]="isAdaptive ? false : isOpen"
|
|
12334
12621
|
[id]="focusableId"
|
|
12335
12622
|
[isLoading]="loading"
|
|
12336
12623
|
[isSuggestable]="suggest"
|
|
12337
|
-
[
|
|
12624
|
+
[hasListAutocomplete]="filterable"
|
|
12338
12625
|
[activeDescendant]="activeDescendant"
|
|
12339
12626
|
[userInput]="text"
|
|
12340
12627
|
[suggestedText]="getSuggestion()"
|
|
@@ -12438,7 +12725,7 @@ class MultiColumnComboBoxComponent extends ComboBoxComponent {
|
|
|
12438
12725
|
<!--grid header-->
|
|
12439
12726
|
<div #header class="k-table-header">
|
|
12440
12727
|
<div #headerWrap class="k-table-header-wrap">
|
|
12441
|
-
<table #headerTable class="k-table"
|
|
12728
|
+
<table #headerTable class="k-table">
|
|
12442
12729
|
<colgroup>
|
|
12443
12730
|
@for (column of columns; track column) {
|
|
12444
12731
|
@if (!column.hidden && column.matchesMedia) {
|
|
@@ -12522,7 +12809,9 @@ class MultiColumnComboBoxComponent extends ComboBoxComponent {
|
|
|
12522
12809
|
[virtual]="virtual"
|
|
12523
12810
|
[type]="'dropdowngrid'"
|
|
12524
12811
|
[rowWidth]="rowWidth"
|
|
12812
|
+
[columnsWidths]="visibleColumnsWidths"
|
|
12525
12813
|
[showStickyHeader]="showStickyHeader"
|
|
12814
|
+
[ariaLabel]="messageFor('listboxLabel')"
|
|
12526
12815
|
(pageChange)="pageChange($event)"
|
|
12527
12816
|
(listResize)="updateHeaderPadding(header)"
|
|
12528
12817
|
(popupListScroll)="headerWrap.scrollLeft = $event.target.scrollLeft;"
|
|
@@ -12549,25 +12838,19 @@ class MultiColumnComboBoxComponent extends ComboBoxComponent {
|
|
|
12549
12838
|
<!--user-defined footer template-->
|
|
12550
12839
|
@if (footerTemplate) {
|
|
12551
12840
|
<div class="k-table-footer">
|
|
12552
|
-
<
|
|
12553
|
-
<
|
|
12554
|
-
<tr class="k-table-row">
|
|
12555
|
-
<td class="k-table-td">
|
|
12556
|
-
<ng-template
|
|
12841
|
+
<span class="k-table-td">
|
|
12842
|
+
<ng-template
|
|
12557
12843
|
[templateContext]="{
|
|
12558
12844
|
templateRef: footerTemplate.templateRef
|
|
12559
12845
|
}"
|
|
12560
|
-
|
|
12561
|
-
|
|
12562
|
-
|
|
12563
|
-
</tr>
|
|
12564
|
-
</tfoot>
|
|
12565
|
-
</table>
|
|
12846
|
+
>
|
|
12847
|
+
</ng-template>
|
|
12848
|
+
</span>
|
|
12566
12849
|
</div>
|
|
12567
12850
|
}
|
|
12568
12851
|
</div>
|
|
12569
12852
|
</ng-template>
|
|
12570
|
-
`, 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"] }] });
|
|
12571
12854
|
}
|
|
12572
12855
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: MultiColumnComboBoxComponent, decorators: [{
|
|
12573
12856
|
type: Component,
|
|
@@ -12623,6 +12906,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
12623
12906
|
popupLabel="Options list"
|
|
12624
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"
|
|
12625
12908
|
adaptiveCloseButtonTitle="Close"
|
|
12909
|
+
i18n-listboxLabel="kendo.multicolumncombobox.listboxLabel|The accessible label of the listbox that contains the list of options"
|
|
12910
|
+
listboxLabel="Options"
|
|
12626
12911
|
></ng-container>
|
|
12627
12912
|
|
|
12628
12913
|
<ng-container
|
|
@@ -12644,11 +12929,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
12644
12929
|
<input
|
|
12645
12930
|
kendoSearchbar
|
|
12646
12931
|
[ariaControls]="ariaControls"
|
|
12647
|
-
[ariaExpanded]="isOpen"
|
|
12932
|
+
[ariaExpanded]="isAdaptive ? false : isOpen"
|
|
12648
12933
|
[id]="focusableId"
|
|
12649
12934
|
[isLoading]="loading"
|
|
12650
12935
|
[isSuggestable]="suggest"
|
|
12651
|
-
[
|
|
12936
|
+
[hasListAutocomplete]="filterable"
|
|
12652
12937
|
[activeDescendant]="activeDescendant"
|
|
12653
12938
|
[userInput]="text"
|
|
12654
12939
|
[suggestedText]="getSuggestion()"
|
|
@@ -12752,7 +13037,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
12752
13037
|
<!--grid header-->
|
|
12753
13038
|
<div #header class="k-table-header">
|
|
12754
13039
|
<div #headerWrap class="k-table-header-wrap">
|
|
12755
|
-
<table #headerTable class="k-table"
|
|
13040
|
+
<table #headerTable class="k-table">
|
|
12756
13041
|
<colgroup>
|
|
12757
13042
|
@for (column of columns; track column) {
|
|
12758
13043
|
@if (!column.hidden && column.matchesMedia) {
|
|
@@ -12836,7 +13121,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
12836
13121
|
[virtual]="virtual"
|
|
12837
13122
|
[type]="'dropdowngrid'"
|
|
12838
13123
|
[rowWidth]="rowWidth"
|
|
13124
|
+
[columnsWidths]="visibleColumnsWidths"
|
|
12839
13125
|
[showStickyHeader]="showStickyHeader"
|
|
13126
|
+
[ariaLabel]="messageFor('listboxLabel')"
|
|
12840
13127
|
(pageChange)="pageChange($event)"
|
|
12841
13128
|
(listResize)="updateHeaderPadding(header)"
|
|
12842
13129
|
(popupListScroll)="headerWrap.scrollLeft = $event.target.scrollLeft;"
|
|
@@ -12863,20 +13150,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
12863
13150
|
<!--user-defined footer template-->
|
|
12864
13151
|
@if (footerTemplate) {
|
|
12865
13152
|
<div class="k-table-footer">
|
|
12866
|
-
<
|
|
12867
|
-
<
|
|
12868
|
-
<tr class="k-table-row">
|
|
12869
|
-
<td class="k-table-td">
|
|
12870
|
-
<ng-template
|
|
13153
|
+
<span class="k-table-td">
|
|
13154
|
+
<ng-template
|
|
12871
13155
|
[templateContext]="{
|
|
12872
13156
|
templateRef: footerTemplate.templateRef
|
|
12873
13157
|
}"
|
|
12874
|
-
|
|
12875
|
-
|
|
12876
|
-
|
|
12877
|
-
</tr>
|
|
12878
|
-
</tfoot>
|
|
12879
|
-
</table>
|
|
13158
|
+
>
|
|
13159
|
+
</ng-template>
|
|
13160
|
+
</span>
|
|
12880
13161
|
</div>
|
|
12881
13162
|
}
|
|
12882
13163
|
</div>
|
|
@@ -13006,7 +13287,7 @@ class DropDownTreeComponent {
|
|
|
13006
13287
|
return this.readonly ? '' : null;
|
|
13007
13288
|
}
|
|
13008
13289
|
get hostAriaInvalid() {
|
|
13009
|
-
return this.formControl?.invalid ? true : null;
|
|
13290
|
+
return (this.formControl?.invalid && (this.formControl?.touched || this.formControl?.dirty)) ? true : null;
|
|
13010
13291
|
}
|
|
13011
13292
|
get isDisabled() {
|
|
13012
13293
|
return this.disabled || null;
|
|
@@ -13018,7 +13299,7 @@ class DropDownTreeComponent {
|
|
|
13018
13299
|
return this.loading ? 'true' : null;
|
|
13019
13300
|
}
|
|
13020
13301
|
get hostAriaControls() {
|
|
13021
|
-
return this.isOpen ? this.treeViewId : null;
|
|
13302
|
+
return (!this.isAdaptive && this.isOpen) ? this.treeViewId : null;
|
|
13022
13303
|
}
|
|
13023
13304
|
get id() {
|
|
13024
13305
|
return this.focusableId;
|
|
@@ -13030,7 +13311,7 @@ class DropDownTreeComponent {
|
|
|
13030
13311
|
role = 'combobox';
|
|
13031
13312
|
ariaHasPopup = 'tree';
|
|
13032
13313
|
get isAriaExpanded() {
|
|
13033
|
-
return this.isOpen;
|
|
13314
|
+
return this.isAdaptive ? false : this.isOpen;
|
|
13034
13315
|
}
|
|
13035
13316
|
get hostAriaAutocomplete() {
|
|
13036
13317
|
return this.filterable ? 'list' : null;
|
|
@@ -13050,6 +13331,7 @@ class DropDownTreeComponent {
|
|
|
13050
13331
|
// the treeview animations are initially disabled (we don't want expand animations during popup opening)
|
|
13051
13332
|
// re-enables the animations for user interaction
|
|
13052
13333
|
treeview.animate = true;
|
|
13334
|
+
treeview.loadMoreButtonRole = 'treeitem';
|
|
13053
13335
|
this._treeview = treeview;
|
|
13054
13336
|
}
|
|
13055
13337
|
}
|
|
@@ -13755,7 +14037,7 @@ class DropDownTreeComponent {
|
|
|
13755
14037
|
* @hidden
|
|
13756
14038
|
*/
|
|
13757
14039
|
get popupContainerClasses() {
|
|
13758
|
-
const containerClasses = ['k-dropdowntree-popup'];
|
|
14040
|
+
const containerClasses = ['k-list-container', 'k-dropdowntree-popup'];
|
|
13759
14041
|
if (!this.popupSettings.popupClass) {
|
|
13760
14042
|
return containerClasses;
|
|
13761
14043
|
}
|
|
@@ -14333,6 +14615,7 @@ class DropDownTreeComponent {
|
|
|
14333
14615
|
[title]="adaptiveTitle"
|
|
14334
14616
|
[showTextInput]="filterable"
|
|
14335
14617
|
[subtitle]="adaptiveSubtitle"
|
|
14618
|
+
[showListContainer]="false"
|
|
14336
14619
|
(closePopup)="togglePopup(false)"
|
|
14337
14620
|
(textInputChange)="handleFilterInputChange($event)"
|
|
14338
14621
|
[placeholder]="placeholder"
|
|
@@ -14349,14 +14632,14 @@ class DropDownTreeComponent {
|
|
|
14349
14632
|
class="k-textbox k-input"
|
|
14350
14633
|
[ngClass]="filterInputClasses"
|
|
14351
14634
|
>
|
|
14352
|
-
<span class="k-input-prefix">
|
|
14635
|
+
<span class="k-input-prefix k-input-prefix-horizontal">
|
|
14353
14636
|
<kendo-icon-wrapper
|
|
14354
|
-
class="k-icon"
|
|
14355
14637
|
name="search"
|
|
14356
14638
|
[svgIcon]="searchIcon"
|
|
14357
14639
|
>
|
|
14358
14640
|
</kendo-icon-wrapper>
|
|
14359
14641
|
</span>
|
|
14642
|
+
<kendo-separator></kendo-separator>
|
|
14360
14643
|
<input
|
|
14361
14644
|
#filterInput
|
|
14362
14645
|
(input)="handleFilterInputChange($event.target)"
|
|
@@ -14388,7 +14671,7 @@ class DropDownTreeComponent {
|
|
|
14388
14671
|
<kendo-treeview
|
|
14389
14672
|
#treeview
|
|
14390
14673
|
[attr.id]="treeViewId"
|
|
14391
|
-
[size]="
|
|
14674
|
+
[size]="isAdaptive ? 'large' : size"
|
|
14392
14675
|
[nodes]="data"
|
|
14393
14676
|
[style.maxHeight.px]="listHeight"
|
|
14394
14677
|
[animate]="false"
|
|
@@ -14441,7 +14724,7 @@ class DropDownTreeComponent {
|
|
|
14441
14724
|
@if (isOpen || isAdaptiveModeEnabled) {
|
|
14442
14725
|
<kendo-resize-sensor (resize)="onResize()"></kendo-resize-sensor>
|
|
14443
14726
|
}
|
|
14444
|
-
`, 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 });
|
|
14445
14728
|
}
|
|
14446
14729
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: DropDownTreeComponent, decorators: [{
|
|
14447
14730
|
type: Component,
|
|
@@ -14568,6 +14851,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
14568
14851
|
[title]="adaptiveTitle"
|
|
14569
14852
|
[showTextInput]="filterable"
|
|
14570
14853
|
[subtitle]="adaptiveSubtitle"
|
|
14854
|
+
[showListContainer]="false"
|
|
14571
14855
|
(closePopup)="togglePopup(false)"
|
|
14572
14856
|
(textInputChange)="handleFilterInputChange($event)"
|
|
14573
14857
|
[placeholder]="placeholder"
|
|
@@ -14584,14 +14868,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
14584
14868
|
class="k-textbox k-input"
|
|
14585
14869
|
[ngClass]="filterInputClasses"
|
|
14586
14870
|
>
|
|
14587
|
-
<span class="k-input-prefix">
|
|
14871
|
+
<span class="k-input-prefix k-input-prefix-horizontal">
|
|
14588
14872
|
<kendo-icon-wrapper
|
|
14589
|
-
class="k-icon"
|
|
14590
14873
|
name="search"
|
|
14591
14874
|
[svgIcon]="searchIcon"
|
|
14592
14875
|
>
|
|
14593
14876
|
</kendo-icon-wrapper>
|
|
14594
14877
|
</span>
|
|
14878
|
+
<kendo-separator></kendo-separator>
|
|
14595
14879
|
<input
|
|
14596
14880
|
#filterInput
|
|
14597
14881
|
(input)="handleFilterInputChange($event.target)"
|
|
@@ -14623,7 +14907,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
14623
14907
|
<kendo-treeview
|
|
14624
14908
|
#treeview
|
|
14625
14909
|
[attr.id]="treeViewId"
|
|
14626
|
-
[size]="
|
|
14910
|
+
[size]="isAdaptive ? 'large' : size"
|
|
14627
14911
|
[nodes]="data"
|
|
14628
14912
|
[style.maxHeight.px]="listHeight"
|
|
14629
14913
|
[animate]="false"
|
|
@@ -14679,7 +14963,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
14679
14963
|
`,
|
|
14680
14964
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
14681
14965
|
standalone: true,
|
|
14682
|
-
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]
|
|
14683
14967
|
}]
|
|
14684
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: [{
|
|
14685
14969
|
type: Input
|
|
@@ -15383,14 +15667,11 @@ class MultiSelectTreeComponent {
|
|
|
15383
15667
|
return this.disabled || null;
|
|
15384
15668
|
}
|
|
15385
15669
|
treeViewId = `k-${guid()}`;
|
|
15386
|
-
get hostAriaAutocomplete() {
|
|
15387
|
-
return this.filterable ? 'list' : null;
|
|
15388
|
-
}
|
|
15389
15670
|
get isLoading() {
|
|
15390
15671
|
return this.loading;
|
|
15391
15672
|
}
|
|
15392
15673
|
get hostAriaInvalid() {
|
|
15393
|
-
return this.formControl?.invalid ? true : null;
|
|
15674
|
+
return (this.formControl?.invalid && (this.formControl?.touched || this.formControl?.dirty)) ? true : null;
|
|
15394
15675
|
}
|
|
15395
15676
|
get isBusy() {
|
|
15396
15677
|
return this.loading ? 'true' : null;
|
|
@@ -15402,14 +15683,9 @@ class MultiSelectTreeComponent {
|
|
|
15402
15683
|
get hostTabIndex() {
|
|
15403
15684
|
return this.tabindex;
|
|
15404
15685
|
}
|
|
15405
|
-
role = 'combobox';
|
|
15406
|
-
ariaHasPopup = 'tree';
|
|
15407
15686
|
get isReadonly() {
|
|
15408
15687
|
return this.readonly ? '' : null;
|
|
15409
15688
|
}
|
|
15410
|
-
get ariaDescribedBy() {
|
|
15411
|
-
return this.tagListId;
|
|
15412
|
-
}
|
|
15413
15689
|
get ariaActiveDescendant() {
|
|
15414
15690
|
return this.focusedTagId;
|
|
15415
15691
|
}
|
|
@@ -16104,7 +16380,6 @@ class MultiSelectTreeComponent {
|
|
|
16104
16380
|
this._typedValue = '';
|
|
16105
16381
|
}));
|
|
16106
16382
|
this.renderer.removeAttribute(this.wrapper.nativeElement, 'tabindex');
|
|
16107
|
-
this.renderer.setAttribute(this.wrapper.nativeElement, 'aria-expanded', String(this.isOpen));
|
|
16108
16383
|
this.subs.add(this.localization
|
|
16109
16384
|
.changes.subscribe(({ rtl }) => {
|
|
16110
16385
|
this.direction = rtl ? 'rtl' : 'ltr';
|
|
@@ -16558,9 +16833,7 @@ class MultiSelectTreeComponent {
|
|
|
16558
16833
|
popupWrapper.style.minWidth = min;
|
|
16559
16834
|
popupWrapper.style.width = max;
|
|
16560
16835
|
popupWrapper.style.height = this.height;
|
|
16561
|
-
this.renderer.setAttribute(this.wrapper.nativeElement, 'aria-controls', this.treeViewId);
|
|
16562
16836
|
this.renderer.setAttribute(popupWrapper, 'dir', this.direction);
|
|
16563
|
-
this.renderer.setAttribute(this.wrapper.nativeElement, 'aria-expanded', 'true');
|
|
16564
16837
|
this.popupRef.popupOpen.subscribe(() => {
|
|
16565
16838
|
this.cdr.detectChanges();
|
|
16566
16839
|
this.opened.emit();
|
|
@@ -16581,8 +16854,6 @@ class MultiSelectTreeComponent {
|
|
|
16581
16854
|
if (this.popupRef) {
|
|
16582
16855
|
this.popupRef.close();
|
|
16583
16856
|
this.popupRef = null;
|
|
16584
|
-
this.renderer.setAttribute(this.wrapper.nativeElement, 'aria-expanded', 'false');
|
|
16585
|
-
this.renderer.removeAttribute(this.wrapper.nativeElement, 'aria-controls');
|
|
16586
16857
|
this.clearFilter();
|
|
16587
16858
|
}
|
|
16588
16859
|
}
|
|
@@ -16896,8 +17167,6 @@ class MultiSelectTreeComponent {
|
|
|
16896
17167
|
closeActionSheet() {
|
|
16897
17168
|
this.wrapper.nativeElement.focus();
|
|
16898
17169
|
this.actionSheet.toggle(false);
|
|
16899
|
-
this.renderer.removeAttribute(this.wrapper.nativeElement, 'aria-controls');
|
|
16900
|
-
this.renderer.setAttribute(this.wrapper.nativeElement, 'aria-expanded', 'false');
|
|
16901
17170
|
this.clearFilter();
|
|
16902
17171
|
this.closed.emit();
|
|
16903
17172
|
}
|
|
@@ -16905,13 +17174,11 @@ class MultiSelectTreeComponent {
|
|
|
16905
17174
|
this.actionSheet.toggle(true);
|
|
16906
17175
|
this.adaptiveTitle = setActionSheetTitle(this.wrapper, this.adaptiveTitle);
|
|
16907
17176
|
this.cdr.detectChanges();
|
|
16908
|
-
this.renderer.setAttribute(this.wrapper.nativeElement, 'aria-controls', this.treeViewId);
|
|
16909
|
-
this.renderer.setAttribute(this.wrapper.nativeElement, 'aria-expanded', 'true');
|
|
16910
17177
|
this.cdr.detectChanges();
|
|
16911
17178
|
this.opened.emit();
|
|
16912
17179
|
}
|
|
16913
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 });
|
|
16914
|
-
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: [
|
|
16915
17182
|
LocalizationService,
|
|
16916
17183
|
NavigationService,
|
|
16917
17184
|
DataService,
|
|
@@ -16947,6 +17214,9 @@ class MultiSelectTreeComponent {
|
|
|
16947
17214
|
i18n-clearTitle="kendo.multiselecttree.clearTitle|The title of the clear button"
|
|
16948
17215
|
clearTitle="clear"
|
|
16949
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
|
+
|
|
16950
17220
|
i18n-checkAllText="kendo.multiselecttree.checkAllText|The text displayed for the check-all checkbox"
|
|
16951
17221
|
checkAllText="Check all"
|
|
16952
17222
|
|
|
@@ -16961,6 +17231,9 @@ class MultiSelectTreeComponent {
|
|
|
16961
17231
|
|
|
16962
17232
|
i18n-filterInputPlaceholder="kendo.multiselecttree.filterInputPlaceholder|The text for the input's placeholder when filtering is enabled"
|
|
16963
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"
|
|
16964
17237
|
>
|
|
16965
17238
|
</ng-container>
|
|
16966
17239
|
<kendo-taglist
|
|
@@ -16979,10 +17252,19 @@ class MultiSelectTreeComponent {
|
|
|
16979
17252
|
[template]="tagTemplate"
|
|
16980
17253
|
[groupTemplate]="groupTagTemplate"
|
|
16981
17254
|
[disabledIndices]="disabledIndices"
|
|
17255
|
+
[ariaLabel]="messageFor('chipListLabel')"
|
|
16982
17256
|
(removeTag)="handleRemoveTag($event)"
|
|
16983
17257
|
>
|
|
16984
17258
|
</kendo-taglist>
|
|
16985
|
-
<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')">
|
|
16986
17268
|
@if (!tags || !tags.length) {
|
|
16987
17269
|
<span
|
|
16988
17270
|
class="k-input-value-text"
|
|
@@ -17000,7 +17282,6 @@ class MultiSelectTreeComponent {
|
|
|
17000
17282
|
(click)="clearAll($event)"
|
|
17001
17283
|
>
|
|
17002
17284
|
<kendo-icon-wrapper
|
|
17003
|
-
class="k-icon"
|
|
17004
17285
|
name="x"
|
|
17005
17286
|
[svgIcon]="xIcon"
|
|
17006
17287
|
>
|
|
@@ -17023,6 +17304,7 @@ class MultiSelectTreeComponent {
|
|
|
17023
17304
|
[title]="adaptiveTitle"
|
|
17024
17305
|
[showTextInput]="filterable"
|
|
17025
17306
|
[subtitle]="adaptiveSubtitle"
|
|
17307
|
+
[showListContainer]="false"
|
|
17026
17308
|
(closePopup)="togglePopup(false)"
|
|
17027
17309
|
(textInputChange)="onFilterChange($event)"
|
|
17028
17310
|
[searchBarValue]="filter"
|
|
@@ -17039,7 +17321,7 @@ class MultiSelectTreeComponent {
|
|
|
17039
17321
|
class="k-textbox k-input"
|
|
17040
17322
|
[ngClass]="filterInputClasses"
|
|
17041
17323
|
>
|
|
17042
|
-
<span class="k-input-prefix">
|
|
17324
|
+
<span class="k-input-prefix k-input-prefix-horizontal">
|
|
17043
17325
|
<kendo-icon-wrapper
|
|
17044
17326
|
class="k-icon"
|
|
17045
17327
|
name="search"
|
|
@@ -17047,6 +17329,7 @@ class MultiSelectTreeComponent {
|
|
|
17047
17329
|
>
|
|
17048
17330
|
</kendo-icon-wrapper>
|
|
17049
17331
|
</span>
|
|
17332
|
+
<kendo-separator></kendo-separator>
|
|
17050
17333
|
<input
|
|
17051
17334
|
#filterInput
|
|
17052
17335
|
(input)="handleFilterInputChange($event.target)"
|
|
@@ -17170,7 +17453,7 @@ class MultiSelectTreeComponent {
|
|
|
17170
17453
|
@if (isOpen || isAdaptiveModeEnabled) {
|
|
17171
17454
|
<kendo-resize-sensor (resize)="onResize()"></kendo-resize-sensor>
|
|
17172
17455
|
}
|
|
17173
|
-
`, 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"] }] });
|
|
17174
17457
|
}
|
|
17175
17458
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: MultiSelectTreeComponent, decorators: [{
|
|
17176
17459
|
type: Component,
|
|
@@ -17214,6 +17497,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
17214
17497
|
i18n-clearTitle="kendo.multiselecttree.clearTitle|The title of the clear button"
|
|
17215
17498
|
clearTitle="clear"
|
|
17216
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
|
+
|
|
17217
17503
|
i18n-checkAllText="kendo.multiselecttree.checkAllText|The text displayed for the check-all checkbox"
|
|
17218
17504
|
checkAllText="Check all"
|
|
17219
17505
|
|
|
@@ -17228,6 +17514,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
17228
17514
|
|
|
17229
17515
|
i18n-filterInputPlaceholder="kendo.multiselecttree.filterInputPlaceholder|The text for the input's placeholder when filtering is enabled"
|
|
17230
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"
|
|
17231
17520
|
>
|
|
17232
17521
|
</ng-container>
|
|
17233
17522
|
<kendo-taglist
|
|
@@ -17246,10 +17535,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
17246
17535
|
[template]="tagTemplate"
|
|
17247
17536
|
[groupTemplate]="groupTagTemplate"
|
|
17248
17537
|
[disabledIndices]="disabledIndices"
|
|
17538
|
+
[ariaLabel]="messageFor('chipListLabel')"
|
|
17249
17539
|
(removeTag)="handleRemoveTag($event)"
|
|
17250
17540
|
>
|
|
17251
17541
|
</kendo-taglist>
|
|
17252
|
-
<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')">
|
|
17253
17551
|
@if (!tags || !tags.length) {
|
|
17254
17552
|
<span
|
|
17255
17553
|
class="k-input-value-text"
|
|
@@ -17267,7 +17565,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
17267
17565
|
(click)="clearAll($event)"
|
|
17268
17566
|
>
|
|
17269
17567
|
<kendo-icon-wrapper
|
|
17270
|
-
class="k-icon"
|
|
17271
17568
|
name="x"
|
|
17272
17569
|
[svgIcon]="xIcon"
|
|
17273
17570
|
>
|
|
@@ -17290,6 +17587,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
17290
17587
|
[title]="adaptiveTitle"
|
|
17291
17588
|
[showTextInput]="filterable"
|
|
17292
17589
|
[subtitle]="adaptiveSubtitle"
|
|
17590
|
+
[showListContainer]="false"
|
|
17293
17591
|
(closePopup)="togglePopup(false)"
|
|
17294
17592
|
(textInputChange)="onFilterChange($event)"
|
|
17295
17593
|
[searchBarValue]="filter"
|
|
@@ -17306,7 +17604,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
17306
17604
|
class="k-textbox k-input"
|
|
17307
17605
|
[ngClass]="filterInputClasses"
|
|
17308
17606
|
>
|
|
17309
|
-
<span class="k-input-prefix">
|
|
17607
|
+
<span class="k-input-prefix k-input-prefix-horizontal">
|
|
17310
17608
|
<kendo-icon-wrapper
|
|
17311
17609
|
class="k-icon"
|
|
17312
17610
|
name="search"
|
|
@@ -17314,6 +17612,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
17314
17612
|
>
|
|
17315
17613
|
</kendo-icon-wrapper>
|
|
17316
17614
|
</span>
|
|
17615
|
+
<kendo-separator></kendo-separator>
|
|
17317
17616
|
<input
|
|
17318
17617
|
#filterInput
|
|
17319
17618
|
(input)="handleFilterInputChange($event.target)"
|
|
@@ -17439,17 +17738,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
17439
17738
|
}
|
|
17440
17739
|
`,
|
|
17441
17740
|
standalone: true,
|
|
17442
|
-
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]
|
|
17443
17742
|
}]
|
|
17444
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: [{
|
|
17445
17744
|
type: HostBinding,
|
|
17446
17745
|
args: ['class.k-disabled']
|
|
17447
|
-
}, {
|
|
17448
|
-
type: HostBinding,
|
|
17449
|
-
args: ['attr.aria-disabled']
|
|
17450
|
-
}], hostAriaAutocomplete: [{
|
|
17451
|
-
type: HostBinding,
|
|
17452
|
-
args: ['attr.aria-autocomplete']
|
|
17453
17746
|
}], isLoading: [{
|
|
17454
17747
|
type: HostBinding,
|
|
17455
17748
|
args: ['class.k-loading']
|
|
@@ -17468,18 +17761,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
17468
17761
|
}], hostTabIndex: [{
|
|
17469
17762
|
type: HostBinding,
|
|
17470
17763
|
args: ['attr.tabindex']
|
|
17471
|
-
}], role: [{
|
|
17472
|
-
type: HostBinding,
|
|
17473
|
-
args: ['attr.role']
|
|
17474
|
-
}], ariaHasPopup: [{
|
|
17475
|
-
type: HostBinding,
|
|
17476
|
-
args: ['attr.aria-haspopup']
|
|
17477
17764
|
}], isReadonly: [{
|
|
17478
17765
|
type: HostBinding,
|
|
17479
17766
|
args: ['attr.readonly']
|
|
17480
|
-
}], ariaDescribedBy: [{
|
|
17481
|
-
type: HostBinding,
|
|
17482
|
-
args: ['attr.aria-describedby']
|
|
17483
17767
|
}], ariaActiveDescendant: [{
|
|
17484
17768
|
type: HostBinding,
|
|
17485
17769
|
args: ['attr.aria-activedescendant']
|
|
@@ -18043,7 +18327,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
18043
18327
|
* <kendo-combobox>
|
|
18044
18328
|
* <kendo-combobox-messages
|
|
18045
18329
|
* noDataText="No items found"
|
|
18046
|
-
* filterInputPlaceholder="Search items"
|
|
18330
|
+
* filterInputPlaceholder="Search items"
|
|
18331
|
+
* clearTitle="Clear selection">
|
|
18047
18332
|
* </kendo-combobox-messages>
|
|
18048
18333
|
* </kendo-combobox>
|
|
18049
18334
|
*
|
|
@@ -18057,7 +18342,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
18057
18342
|
* <kendo-autocomplete>
|
|
18058
18343
|
* <kendo-autocomplete-messages
|
|
18059
18344
|
* noDataText="No items found"
|
|
18060
|
-
* filterInputPlaceholder="Type to search"
|
|
18345
|
+
* filterInputPlaceholder="Type to search"
|
|
18346
|
+
* clearTitle="Clear input">
|
|
18061
18347
|
* </kendo-autocomplete-messages>
|
|
18062
18348
|
* </kendo-autocomplete>
|
|
18063
18349
|
*
|