@progress/kendo-angular-dropdowns 21.4.1 → 22.0.0-develop.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/common/localization/messages.d.ts +1 -1
  2. package/dropdowntrees/checked-state/base-check.directive.d.ts +1 -1
  3. package/fesm2022/progress-kendo-angular-dropdowns.mjs +173 -173
  4. package/package.json +14 -22
  5. package/schematics/ngAdd/index.js +2 -2
  6. package/esm2022/autocomplete/autocomplete.component.mjs +0 -1687
  7. package/esm2022/autocomplete/autocomplete.module.mjs +0 -70
  8. package/esm2022/comboboxes/combobox-column/column-cell-template.directive.mjs +0 -42
  9. package/esm2022/comboboxes/combobox-column/column-header-template.directive.mjs +0 -40
  10. package/esm2022/comboboxes/combobox-column/combobox-column.component.mjs +0 -116
  11. package/esm2022/comboboxes/combobox-column/util.mjs +0 -60
  12. package/esm2022/comboboxes/combobox.component.mjs +0 -2149
  13. package/esm2022/comboboxes/combobox.module.mjs +0 -77
  14. package/esm2022/comboboxes/multicolumncombobox.component.mjs +0 -883
  15. package/esm2022/common/adaptive-renderer.component.mjs +0 -253
  16. package/esm2022/common/constants/error-messages.mjs +0 -61
  17. package/esm2022/common/data.service.mjs +0 -250
  18. package/esm2022/common/disabled-items/disabled-items.service.mjs +0 -47
  19. package/esm2022/common/disabled-items/item-disabled.mjs +0 -5
  20. package/esm2022/common/filter-input.directive.mjs +0 -39
  21. package/esm2022/common/filtering/filter-settings.mjs +0 -5
  22. package/esm2022/common/filtering/filter.directive.mjs +0 -136
  23. package/esm2022/common/filtering/filterable-component.mjs +0 -34
  24. package/esm2022/common/list-item.directive.mjs +0 -25
  25. package/esm2022/common/list.component.mjs +0 -968
  26. package/esm2022/common/localization/custom-messages.component.mjs +0 -96
  27. package/esm2022/common/localization/localized-messages.directive.mjs +0 -47
  28. package/esm2022/common/localization/messages.mjs +0 -77
  29. package/esm2022/common/models/checkboxes-settings.mjs +0 -15
  30. package/esm2022/common/models/direction.mjs +0 -5
  31. package/esm2022/common/models/fillmode.mjs +0 -5
  32. package/esm2022/common/models/list-type.mjs +0 -5
  33. package/esm2022/common/models/page-change-event.mjs +0 -5
  34. package/esm2022/common/models/popup-settings.mjs +0 -5
  35. package/esm2022/common/models/preventable-event.mjs +0 -25
  36. package/esm2022/common/models/remove-tag-event.mjs +0 -23
  37. package/esm2022/common/models/rounded.mjs +0 -5
  38. package/esm2022/common/models/size.mjs +0 -5
  39. package/esm2022/common/models/virtualization-settings.mjs +0 -24
  40. package/esm2022/common/navigation/navigation-action.mjs +0 -32
  41. package/esm2022/common/navigation/navigation.service.mjs +0 -188
  42. package/esm2022/common/searchbar.component.mjs +0 -386
  43. package/esm2022/common/selection/selectable.directive.mjs +0 -83
  44. package/esm2022/common/selection/selection.service.mjs +0 -166
  45. package/esm2022/common/shared-events.directive.mjs +0 -99
  46. package/esm2022/common/taglist.component.mjs +0 -295
  47. package/esm2022/common/templates/custom-item-template.directive.mjs +0 -48
  48. package/esm2022/common/templates/fixed-group-template.directive.mjs +0 -55
  49. package/esm2022/common/templates/footer-template.directive.mjs +0 -49
  50. package/esm2022/common/templates/group-tag-template.directive.mjs +0 -47
  51. package/esm2022/common/templates/group-template.directive.mjs +0 -55
  52. package/esm2022/common/templates/header-template.directive.mjs +0 -49
  53. package/esm2022/common/templates/item-template.directive.mjs +0 -48
  54. package/esm2022/common/templates/no-data-template.directive.mjs +0 -49
  55. package/esm2022/common/templates/tag-template.directive.mjs +0 -46
  56. package/esm2022/common/templates/value-template.directive.mjs +0 -50
  57. package/esm2022/common/util.mjs +0 -376
  58. package/esm2022/directives.mjs +0 -172
  59. package/esm2022/dropdownlist/dropdownlist.component.mjs +0 -1999
  60. package/esm2022/dropdownlist/dropdownlist.module.mjs +0 -79
  61. package/esm2022/dropdowns.module.mjs +0 -76
  62. package/esm2022/dropdowntrees/checked-state/base-check.directive.mjs +0 -76
  63. package/esm2022/dropdowntrees/checked-state/check-all.directive.mjs +0 -170
  64. package/esm2022/dropdowntrees/checked-state/check.directive.mjs +0 -168
  65. package/esm2022/dropdowntrees/checked-state/checkable-settings.mjs +0 -5
  66. package/esm2022/dropdowntrees/checked-state/checked-item.mjs +0 -5
  67. package/esm2022/dropdowntrees/data-binding/dropdowntree/flat-binding.directive.mjs +0 -69
  68. package/esm2022/dropdowntrees/data-binding/dropdowntree/hierarchy-binding.directive.mjs +0 -62
  69. package/esm2022/dropdowntrees/data-binding/multiselecttree/flat-binding.directive.mjs +0 -69
  70. package/esm2022/dropdowntrees/data-binding/multiselecttree/hierarchy-binding.directive.mjs +0 -62
  71. package/esm2022/dropdowntrees/dropdowntree.component.mjs +0 -1967
  72. package/esm2022/dropdowntrees/dropdowntrees.module.mjs +0 -79
  73. package/esm2022/dropdowntrees/expanded-state/expand.directive.mjs +0 -49
  74. package/esm2022/dropdowntrees/lookup/lookup.mjs +0 -5
  75. package/esm2022/dropdowntrees/lookup/lookup.service.mjs +0 -82
  76. package/esm2022/dropdowntrees/multiselecttree.component.mjs +0 -2359
  77. package/esm2022/dropdowntrees/summary-tag/summary-tag.directive.mjs +0 -70
  78. package/esm2022/dropdowntrees/templates/node-template.directive.mjs +0 -31
  79. package/esm2022/index.mjs +0 -55
  80. package/esm2022/multiselect/multiselect.component.mjs +0 -2380
  81. package/esm2022/multiselect/multiselect.module.mjs +0 -79
  82. package/esm2022/multiselect/summary-tag.directive.mjs +0 -68
  83. package/esm2022/package-metadata.mjs +0 -16
  84. package/esm2022/progress-kendo-angular-dropdowns.mjs +0 -8
@@ -1,99 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { ChangeDetectorRef, Directive, EventEmitter, Input, NgZone, Output, Renderer2 } from '@angular/core';
6
- import { Subscription } from 'rxjs';
7
- import { Keys, closest } from '@progress/kendo-angular-common';
8
- import * as i0 from "@angular/core";
9
- /**
10
- * @hidden
11
- */
12
- export class SharedDropDownEventsDirective {
13
- ngZone;
14
- renderer;
15
- cdr;
16
- hostElement;
17
- clearButtonClicked;
18
- isFocused;
19
- isFocusedChange = new EventEmitter();
20
- onFocus = new EventEmitter();
21
- handleBlur = new EventEmitter();
22
- subscriptions = new Subscription();
23
- constructor(ngZone, renderer, cdr) {
24
- this.ngZone = ngZone;
25
- this.renderer = renderer;
26
- this.cdr = cdr;
27
- }
28
- ngAfterViewInit() {
29
- const hostElement = this.hostElement.nativeElement;
30
- let cursorInsideWrapper = false;
31
- let tabbing = false;
32
- this.ngZone.runOutsideAngular(() => {
33
- // focusIn and focusOut are relative to the host element
34
- this.subscriptions.add(this.renderer.listen(hostElement, 'focusin', () => {
35
- this.cdr.detectChanges();
36
- if (!this.isFocused) {
37
- this.ngZone.run(() => {
38
- this.onFocus.emit();
39
- this.isFocused = true;
40
- this.isFocusedChange.emit(this.isFocused);
41
- });
42
- }
43
- }));
44
- this.subscriptions.add(this.renderer.listen(hostElement, 'focusout', (args) => {
45
- if (!this.isFocused) {
46
- return;
47
- }
48
- if (tabbing) {
49
- const closestTextbox = closest(args.relatedTarget, (element) => element === hostElement);
50
- if (!closestTextbox) {
51
- this.handleBlur.emit();
52
- }
53
- tabbing = false;
54
- }
55
- else if (!cursorInsideWrapper) {
56
- this.handleBlur.emit();
57
- }
58
- }));
59
- this.subscriptions.add(this.renderer.listen(hostElement, 'mouseenter', () => {
60
- cursorInsideWrapper = true;
61
- }));
62
- this.subscriptions.add(this.renderer.listen(hostElement, 'mouseleave', () => {
63
- cursorInsideWrapper = false;
64
- }));
65
- this.subscriptions.add(this.renderer.listen(hostElement, 'keydown', (args) => {
66
- if (args.code === Keys.Tab) {
67
- tabbing = true;
68
- }
69
- else {
70
- tabbing = false;
71
- }
72
- }));
73
- });
74
- }
75
- ngOnDestroy() {
76
- this.subscriptions.unsubscribe();
77
- }
78
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SharedDropDownEventsDirective, deps: [{ token: i0.NgZone }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
79
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: SharedDropDownEventsDirective, isStandalone: true, selector: "[kendoDropDownSharedEvents]", inputs: { hostElement: "hostElement", clearButtonClicked: "clearButtonClicked", isFocused: "isFocused" }, outputs: { isFocusedChange: "isFocusedChange", onFocus: "onFocus", handleBlur: "handleBlur" }, ngImport: i0 });
80
- }
81
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SharedDropDownEventsDirective, decorators: [{
82
- type: Directive,
83
- args: [{
84
- selector: '[kendoDropDownSharedEvents]',
85
- standalone: true
86
- }]
87
- }], ctorParameters: () => [{ type: i0.NgZone }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }], propDecorators: { hostElement: [{
88
- type: Input
89
- }], clearButtonClicked: [{
90
- type: Input
91
- }], isFocused: [{
92
- type: Input
93
- }], isFocusedChange: [{
94
- type: Output
95
- }], onFocus: [{
96
- type: Output
97
- }], handleBlur: [{
98
- type: Output
99
- }] } });
@@ -1,295 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { Component, Input, Output, EventEmitter, HostBinding, Renderer2, ElementRef } from '@angular/core';
6
- import { TagTemplateDirective } from '../common/templates/tag-template.directive';
7
- import { GroupTagTemplateDirective } from '../common/templates/group-tag-template.directive';
8
- import { getSizeClass, getter, isPresent } from '../common/util';
9
- import { xCircleIcon } from '@progress/kendo-svg-icons';
10
- import { NgClass } from '@angular/common';
11
- import { IconWrapperComponent } from '@progress/kendo-angular-icons';
12
- import { TemplateContextDirective } from '@progress/kendo-angular-common';
13
- import * as i0 from "@angular/core";
14
- /**
15
- * @hidden
16
- */
17
- export class TagListComponent {
18
- renderer;
19
- hostElement;
20
- /**
21
- * @hidden
22
- */
23
- xCircleIcon = xCircleIcon;
24
- tags;
25
- textField;
26
- valueField;
27
- valueDepth;
28
- focused;
29
- template;
30
- groupTemplate;
31
- disabled;
32
- tagPrefix;
33
- id;
34
- set size(size) {
35
- this.renderer.removeClass(this.hostElement.nativeElement, getSizeClass('chip-list', this.size));
36
- if (size) {
37
- this.renderer.addClass(this.hostElement.nativeElement, getSizeClass('chip-list', size));
38
- }
39
- this._size = size;
40
- }
41
- get size() {
42
- return this._size;
43
- }
44
- rounded = 'medium';
45
- fillMode = 'solid';
46
- /**
47
- * A collection with the disabled tags' indices.
48
- */
49
- disabledIndices = new Set();
50
- removeTag = new EventEmitter();
51
- hostClass = true;
52
- get hostId() {
53
- return this.id;
54
- }
55
- taglistRole = 'listbox';
56
- multiselectable = true;
57
- _size = 'medium';
58
- constructor(renderer, hostElement) {
59
- this.renderer = renderer;
60
- this.hostElement = hostElement;
61
- }
62
- tagProp(tag, prop, index) {
63
- const propField = prop && this.getPropField(tag, prop, index);
64
- return getter(tag, propField);
65
- }
66
- isTagDisabled(tag, positionIndex) {
67
- if (this.isGroupTag(tag)) {
68
- /** The `positionIndex` is used to determine after how many single tags is the group tag displayed =>
69
- * => it is used to increment the indices inside the group tag so that we determine the actual position index
70
- * of each group tag item as they appear in the `value` (important to check against `disabledIndices`)
71
- * e.g. `disabledIndices = [0, 1]` && `tags = ['Small', ['Medium', 'Large']]` => without the incrementation with
72
- * `positionIndex`, the group tag would yield [0, 1] as indices, while it should yield [1, 2]
73
- */
74
- return tag.every((_tag, index) => this.disabledIndices.has(index + positionIndex));
75
- }
76
- return this.disabledIndices.has(positionIndex);
77
- }
78
- deleteTag(event, tag, index) {
79
- event.preventDefault();
80
- event.stopImmediatePropagation();
81
- if (!this.disabled && event.which === 1) {
82
- this.removeTag.emit({ tag, index });
83
- }
84
- }
85
- itemId(tag, index) {
86
- if (tag) { //because of custom values
87
- return this.tagPrefix + "-" + index;
88
- }
89
- }
90
- isGroupTag(tag) {
91
- return tag instanceof Array;
92
- }
93
- tagAriaHidden(index) {
94
- return isPresent(this.focused) && this.focused !== index;
95
- }
96
- getPropField(tag, prop, index) {
97
- // Needed for MultiSelectTree value binding (Heterogeneous Data)
98
- const fieldsCount = prop.length - 1;
99
- if (typeof prop === 'string') {
100
- return prop;
101
- }
102
- else if (this.valueDepth) {
103
- const depth = this.valueDepth[index];
104
- return fieldsCount < depth ? prop[fieldsCount] : prop[depth];
105
- }
106
- else {
107
- return prop.find(item => item in tag);
108
- }
109
- }
110
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TagListComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
111
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", 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: `
112
- @for (tag of tags; track $index; let index = $index) {
113
- <div
114
- [attr.id]="itemId(tag, index)"
115
- [attr.aria-selected]="true"
116
- [attr.role]="'option'"
117
- class="k-chip"
118
- [ngClass]="{
119
- 'k-focus': index === focused,
120
- 'k-disabled': isTagDisabled(tag, index),
121
- 'k-chip-sm': size === 'small',
122
- 'k-chip-md': size === 'medium',
123
- 'k-chip-lg': size === 'large',
124
- 'k-rounded-sm': rounded === 'small',
125
- 'k-rounded-md': rounded === 'medium',
126
- 'k-rounded-lg': rounded === 'large',
127
- 'k-rounded-full': rounded === 'full',
128
- 'k-chip-solid k-chip-solid-base': fillMode === 'solid',
129
- 'k-chip-flat k-chip-flat-base': fillMode === 'flat',
130
- 'k-chip-outline k-chip-outline-base': fillMode === 'outline'
131
- }"
132
- >
133
- <span class="k-chip-content">
134
- @if (isGroupTag(tag)) {
135
- <span class="k-chip-label k-text-ellipsis">
136
- @if (groupTemplate) {
137
- <ng-template
138
- [templateContext]="{
139
- templateRef: groupTemplate.templateRef,
140
- $implicit: tag
141
- }">
142
- </ng-template>
143
- }
144
- @if (!groupTemplate) {
145
- {{ tag.length }} {{ tag.length === 1 ? 'item' : 'items' }} selected
146
- }
147
- </span>
148
- } @else {
149
- <span class="k-chip-label k-text-ellipsis">
150
- @if (template) {
151
- <ng-template
152
- [templateContext]="{
153
- templateRef: template.templateRef,
154
- $implicit: tag
155
- }">
156
- </ng-template>
157
- }
158
- @if (!template) {
159
- {{ tagProp(tag, textField, index) }}
160
- }
161
- </span>
162
- }
163
- </span>
164
- <span class="k-chip-actions">
165
- <span aria-label="delete" [attr.aria-hidden]="index !== focused" class="k-chip-action k-chip-remove-action">
166
- <kendo-icon-wrapper
167
- (mousedown)="deleteTag($event, tag, index)"
168
- name="x-circle"
169
- [svgIcon]="xCircleIcon"
170
- >
171
- </kendo-icon-wrapper>
172
- </span>
173
- </span>
174
- </div>
175
- }
176
- <ng-content></ng-content>
177
- `, isInline: true, dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }] });
178
- }
179
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TagListComponent, decorators: [{
180
- type: Component,
181
- args: [{
182
- selector: 'kendo-taglist',
183
- template: `
184
- @for (tag of tags; track $index; let index = $index) {
185
- <div
186
- [attr.id]="itemId(tag, index)"
187
- [attr.aria-selected]="true"
188
- [attr.role]="'option'"
189
- class="k-chip"
190
- [ngClass]="{
191
- 'k-focus': index === focused,
192
- 'k-disabled': isTagDisabled(tag, index),
193
- 'k-chip-sm': size === 'small',
194
- 'k-chip-md': size === 'medium',
195
- 'k-chip-lg': size === 'large',
196
- 'k-rounded-sm': rounded === 'small',
197
- 'k-rounded-md': rounded === 'medium',
198
- 'k-rounded-lg': rounded === 'large',
199
- 'k-rounded-full': rounded === 'full',
200
- 'k-chip-solid k-chip-solid-base': fillMode === 'solid',
201
- 'k-chip-flat k-chip-flat-base': fillMode === 'flat',
202
- 'k-chip-outline k-chip-outline-base': fillMode === 'outline'
203
- }"
204
- >
205
- <span class="k-chip-content">
206
- @if (isGroupTag(tag)) {
207
- <span class="k-chip-label k-text-ellipsis">
208
- @if (groupTemplate) {
209
- <ng-template
210
- [templateContext]="{
211
- templateRef: groupTemplate.templateRef,
212
- $implicit: tag
213
- }">
214
- </ng-template>
215
- }
216
- @if (!groupTemplate) {
217
- {{ tag.length }} {{ tag.length === 1 ? 'item' : 'items' }} selected
218
- }
219
- </span>
220
- } @else {
221
- <span class="k-chip-label k-text-ellipsis">
222
- @if (template) {
223
- <ng-template
224
- [templateContext]="{
225
- templateRef: template.templateRef,
226
- $implicit: tag
227
- }">
228
- </ng-template>
229
- }
230
- @if (!template) {
231
- {{ tagProp(tag, textField, index) }}
232
- }
233
- </span>
234
- }
235
- </span>
236
- <span class="k-chip-actions">
237
- <span aria-label="delete" [attr.aria-hidden]="index !== focused" class="k-chip-action k-chip-remove-action">
238
- <kendo-icon-wrapper
239
- (mousedown)="deleteTag($event, tag, index)"
240
- name="x-circle"
241
- [svgIcon]="xCircleIcon"
242
- >
243
- </kendo-icon-wrapper>
244
- </span>
245
- </span>
246
- </div>
247
- }
248
- <ng-content></ng-content>
249
- `,
250
- standalone: true,
251
- imports: [NgClass, TemplateContextDirective, IconWrapperComponent]
252
- }]
253
- }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }], propDecorators: { tags: [{
254
- type: Input
255
- }], textField: [{
256
- type: Input
257
- }], valueField: [{
258
- type: Input
259
- }], valueDepth: [{
260
- type: Input
261
- }], focused: [{
262
- type: Input
263
- }], template: [{
264
- type: Input
265
- }], groupTemplate: [{
266
- type: Input
267
- }], disabled: [{
268
- type: Input
269
- }], tagPrefix: [{
270
- type: Input
271
- }], id: [{
272
- type: Input
273
- }], size: [{
274
- type: Input
275
- }], rounded: [{
276
- type: Input
277
- }], fillMode: [{
278
- type: Input
279
- }], disabledIndices: [{
280
- type: Input
281
- }], removeTag: [{
282
- type: Output
283
- }], hostClass: [{
284
- type: HostBinding,
285
- args: ['class.k-chip-list']
286
- }], hostId: [{
287
- type: HostBinding,
288
- args: ['attr.id']
289
- }], taglistRole: [{
290
- type: HostBinding,
291
- args: ['attr.role']
292
- }], multiselectable: [{
293
- type: HostBinding,
294
- args: ['attr.aria-multiselectable']
295
- }] } });
@@ -1,48 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { Directive, TemplateRef } from '@angular/core';
6
- import * as i0 from "@angular/core";
7
- /**
8
- * Renders the content of the custom list item in the MultiSelect
9
- * ([see example](slug:templates_multiselect#toc-rendering-custom-item-content)).
10
- * The template context is set to the current component.
11
- * To get a reference to the current text that is typed by the
12
- * user, use the `let-customItem` directive.
13
- *
14
- * The `CustomItemTemplate` directive can only be used with the MultiSelect component.
15
- *
16
- * @example
17
- * ```typescript
18
- * @Component({
19
- * selector: 'my-app',
20
- * template: `
21
- * <kendo-multiselect [data]="listItems" [allowCustom]="true">
22
- * <ng-template kendoMultiSelectCustomItemTemplate let-customItem>
23
- * <span>New Item: {{customItem}}</span>
24
- * </ng-template>
25
- * </kendo-multiselect>
26
- * `
27
- * })
28
- * class AppComponent {
29
- * public listItems: Array<string> = ["Item 1", "Item 2", "Item 3", "Item 4"];
30
- * }
31
- * ```
32
- *
33
- */
34
- export class CustomItemTemplateDirective {
35
- templateRef;
36
- constructor(templateRef) {
37
- this.templateRef = templateRef;
38
- }
39
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CustomItemTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
40
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: CustomItemTemplateDirective, isStandalone: true, selector: "[kendoMultiSelectCustomItemTemplate]", ngImport: i0 });
41
- }
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CustomItemTemplateDirective, decorators: [{
43
- type: Directive,
44
- args: [{
45
- selector: '[kendoMultiSelectCustomItemTemplate]',
46
- standalone: true
47
- }]
48
- }], ctorParameters: () => [{ type: i0.TemplateRef }] });
@@ -1,55 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { Directive, TemplateRef } from '@angular/core';
6
- import * as i0 from "@angular/core";
7
- /**
8
- * Renders the fixed group header content. To define the fixed group template, nest an `<ng-template>` tag
9
- * with the `kendo<ComponentName>FixedGroupTemplate` directive inside the component tag. The template context is
10
- * set to the current component. To get a reference to the current data item, use the `let-groupName` directive.
11
- *
12
- * - [Using `FixedGroupTemplate` with the AutoComplete]({% slug templates_autocomplete %}#toc-fixed-group-header-template)
13
- * - [Using `FixedGroupTemplate` with the ComboBox]({% slug templates_combobox %}#toc-fixed-group-header-template)
14
- * - [Using `FixedGroupTemplate` with the MultiColumnComboBox]({% slug templates_multicolumncombobox %}#toc-fixed-group-header-template)
15
- * - [Using `FixedGroupTemplate` with the DropDownList]({% slug templates_ddl %}#toc-fixed-group-header-template)
16
- * - [Using `FixedGroupTemplate` with the MultiSelect]({% slug templates_multiselect %}#toc-fixed-group-header-template)
17
- *
18
- * @example
19
- * ```ts
20
- * import { groupBy } from '@progress/kendo-data-query';
21
- * _@Component({
22
- * selector: 'my-app',
23
- * template: `
24
- * <kendo-combobox [data]="groupedData" textField="name" valueField="name">
25
- * <ng-template kendoComboBoxFixedGroupTemplate let-groupName>
26
- * <span>Food type: {{groupName}} option</span>
27
- * </ng-template>
28
- * </kendo-combobox>
29
- * `
30
- * })
31
- * class AppComponent {
32
- * public data = [
33
- * { name: "Pork", category: "Food", subcategory: "Meat" },
34
- * { name: "Pepper", category: "Food", subcategory: "Vegetables" },
35
- * { name: "Beef", category: "Food", subcategory: "Meat" }
36
- * ];
37
- * public groupedData = groupBy(this.data, [{field: "subcategory"}]);
38
- * }
39
- * ```
40
- */
41
- export class FixedGroupTemplateDirective {
42
- templateRef;
43
- constructor(templateRef) {
44
- this.templateRef = templateRef;
45
- }
46
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FixedGroupTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
47
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: FixedGroupTemplateDirective, isStandalone: true, selector: "[kendoDropDownListFixedGroupTemplate],[kendoComboBoxFixedGroupTemplate],[kendoMultiColumnComboBoxFixedGroupTemplate],[kendoAutoCompleteFixedGroupTemplate],[kendoMultiSelectFixedGroupTemplate]", ngImport: i0 });
48
- }
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FixedGroupTemplateDirective, decorators: [{
50
- type: Directive,
51
- args: [{
52
- selector: '[kendoDropDownListFixedGroupTemplate],[kendoComboBoxFixedGroupTemplate],[kendoMultiColumnComboBoxFixedGroupTemplate],[kendoAutoCompleteFixedGroupTemplate],[kendoMultiSelectFixedGroupTemplate]',
53
- standalone: true
54
- }]
55
- }], ctorParameters: () => [{ type: i0.TemplateRef }] });
@@ -1,49 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { Directive, TemplateRef } from '@angular/core';
6
- import * as i0 from "@angular/core";
7
- /**
8
- * Renders the footer content of the list. To define the footer template, nest an `<ng-template>` tag
9
- * with the `kendo<ComponentName>FooterTemplate` directive inside the component tag.
10
- *
11
- * - [Using `FooterTemplate` with the AutoComplete]({% slug templates_autocomplete %}#toc-footer-template)
12
- * - [Using `FooterTemplate` with the ComboBox]({% slug templates_combobox %}#toc-footer-template)
13
- * - [Using `FooterTemplate` with the MultiColumnComboBox]({% slug templates_multicolumncombobox %}#toc-footer-template)
14
- * - [Using `FooterTemplate` with the DropDownList]({% slug templates_ddl %}#toc-footer-template)
15
- * - [Using `FooterTemplate` with the DropDownTree]({% slug templates_ddt %}#toc-footer-template)
16
- * - [Using `FooterTemplate` with the MultiSelect]({% slug templates_multiselect %}#toc-footer-template)
17
- *
18
- * @example
19
- * ```ts
20
- * _@Component({
21
- * selector: 'my-app',
22
- * template: `
23
- * <kendo-combobox [data]="listItems">
24
- * <ng-template kendoComboBoxFooterTemplate>
25
- * <h4>Footer template</h4>
26
- * </ng-template>
27
- * </kendo-combobox>
28
- * `
29
- * })
30
- * class AppComponent {
31
- * public listItems: Array<string> = ["Item 1", "Item 2", "Item 3", "Item 4"];
32
- * }
33
- * ```
34
- */
35
- export class FooterTemplateDirective {
36
- templateRef;
37
- constructor(templateRef) {
38
- this.templateRef = templateRef;
39
- }
40
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FooterTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
41
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: FooterTemplateDirective, isStandalone: true, selector: "[kendoDropDownListFooterTemplate],[kendoComboBoxFooterTemplate],[kendoDropDownTreeFooterTemplate],[kendoMultiColumnComboBoxFooterTemplate],[kendoAutoCompleteFooterTemplate],[kendoMultiSelectFooterTemplate],[kendoMultiSelectTreeFooterTemplate]", ngImport: i0 });
42
- }
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FooterTemplateDirective, decorators: [{
44
- type: Directive,
45
- args: [{
46
- selector: '[kendoDropDownListFooterTemplate],[kendoComboBoxFooterTemplate],[kendoDropDownTreeFooterTemplate],[kendoMultiColumnComboBoxFooterTemplate],[kendoAutoCompleteFooterTemplate],[kendoMultiSelectFooterTemplate],[kendoMultiSelectTreeFooterTemplate]',
47
- standalone: true
48
- }]
49
- }], ctorParameters: () => [{ type: i0.TemplateRef }] });
@@ -1,47 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { Directive, TemplateRef } from '@angular/core';
6
- import * as i0 from "@angular/core";
7
- /**
8
- * Renders the grouped tag values in the MultiSelect
9
- * ([see example]({% slug summarytagmode_multiselect %})).
10
- * The template context is set to the current component.
11
- * To get a reference to the current grouped
12
- * data items collection, use the `let-dataItems` directive.
13
- *
14
- * > The `GroupTagTemplate` directive can only be used with the MultiSelect and MultiSelectTree components.
15
- *
16
- * @example
17
- * ```ts
18
- * _@Component({
19
- * selector: 'my-app',
20
- * template: `
21
- * <kendo-multiselect kendoMultiSelectSummaryTag [data]="items">
22
- * <ng-template kendoMultiSelectGroupTagTemplate let-dataItems>
23
- * <span>{{dataItems.length}} item(s) selected</span>
24
- * </ng-template>
25
- * </kendo-multiselect>
26
- * `
27
- * })
28
- * class AppComponent {
29
- * public items: Array<string> = ["Item 1", "Item 2", "Item 3", "Item 4"];
30
- * }
31
- * ```
32
- */
33
- export class GroupTagTemplateDirective {
34
- templateRef;
35
- constructor(templateRef) {
36
- this.templateRef = templateRef;
37
- }
38
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GroupTagTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
39
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: GroupTagTemplateDirective, isStandalone: true, selector: "[kendoMultiSelectGroupTagTemplate],[kendoMultiSelectTreeGroupTagTemplate]", ngImport: i0 });
40
- }
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GroupTagTemplateDirective, decorators: [{
42
- type: Directive,
43
- args: [{
44
- selector: '[kendoMultiSelectGroupTagTemplate],[kendoMultiSelectTreeGroupTagTemplate]',
45
- standalone: true
46
- }]
47
- }], ctorParameters: () => [{ type: i0.TemplateRef }] });
@@ -1,55 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { Directive, TemplateRef } from '@angular/core';
6
- import * as i0 from "@angular/core";
7
- /**
8
- * Renders the group header content. To define the group template, nest an `<ng-template>` tag
9
- * with the `kendo<ComponentName>GroupTemplate` directive inside the component tag. The template context is
10
- * set to the current component. To get a reference to the current data item, use the `let-groupName` directive.
11
- *
12
- * - [Using `GroupTemplate` with the AutoComplete]({% slug templates_autocomplete %}#toc-group-header-template)
13
- * - [Using `GroupTemplate` with the ComboBox]({% slug templates_combobox %}#toc-group-header-template)
14
- * - [Using `GroupTemplate` with the MultiColumnComboBox]({% slug templates_multicolumncombobox %}#toc-group-header-template)
15
- * - [Using `GroupTemplate` with the DropDownList]({% slug templates_ddl %}#toc-group-header-template)
16
- * - [Using `GroupTemplate` with the MultiSelect]({% slug templates_multiselect %}#toc-group-header-template)
17
- *
18
- * @example
19
- * ```ts
20
- * import { groupBy } from '@progress/kendo-data-query';
21
- * _@Component({
22
- * selector: 'my-app',
23
- * template: `
24
- * <kendo-combobox [data]="groupedData" textField="name" valueField="name">
25
- * <ng-template kendoComboBoxGroupTemplate let-groupName>
26
- * <span>Food type: {{groupName}} option</span>
27
- * </ng-template>
28
- * </kendo-combobox>
29
- * `
30
- * })
31
- * class AppComponent {
32
- * public data = [
33
- * { name: "Pork", category: "Food", subcategory: "Meat" },
34
- * { name: "Pepper", category: "Food", subcategory: "Vegetables" },
35
- * { name: "Beef", category: "Food", subcategory: "Meat" }
36
- * ];
37
- * public groupedData = groupBy(this.data, [{field: "subcategory"}]);
38
- * }
39
- * ```
40
- */
41
- export class GroupTemplateDirective {
42
- templateRef;
43
- constructor(templateRef) {
44
- this.templateRef = templateRef;
45
- }
46
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GroupTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
47
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: GroupTemplateDirective, isStandalone: true, selector: "[kendoDropDownListGroupTemplate],[kendoComboBoxGroupTemplate],[kendoMultiColumnComboBoxGroupTemplate],[kendoAutoCompleteGroupTemplate],[kendoMultiSelectGroupTemplate]", ngImport: i0 });
48
- }
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GroupTemplateDirective, decorators: [{
50
- type: Directive,
51
- args: [{
52
- selector: '[kendoDropDownListGroupTemplate],[kendoComboBoxGroupTemplate],[kendoMultiColumnComboBoxGroupTemplate],[kendoAutoCompleteGroupTemplate],[kendoMultiSelectGroupTemplate]',
53
- standalone: true
54
- }]
55
- }], ctorParameters: () => [{ type: i0.TemplateRef }] });