@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,253 +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, TemplateRef, ViewChild } from '@angular/core';
6
- import { LocalizationService } from '@progress/kendo-angular-l10n';
7
- import { animationDuration } from './util';
8
- import { IconComponent } from '@progress/kendo-angular-icons';
9
- import { checkIcon } from '@progress/kendo-svg-icons';
10
- import { ActionSheetComponent, ActionSheetTemplateDirective } from '@progress/kendo-angular-navigation';
11
- import { TextBoxComponent, TextBoxPrefixTemplateDirective } from '@progress/kendo-angular-inputs';
12
- import { NgTemplateOutlet } from '@angular/common';
13
- import { ButtonComponent } from '@progress/kendo-angular-buttons';
14
- import { AdaptiveService } from '@progress/kendo-angular-utils';
15
- import * as i0 from "@angular/core";
16
- import * as i1 from "@progress/kendo-angular-l10n";
17
- import * as i2 from "@progress/kendo-angular-utils";
18
- /**
19
- * @hidden
20
- */
21
- export class AdaptiveRendererComponent {
22
- localization;
23
- adaptiveService;
24
- title;
25
- subtitle;
26
- showTextInput;
27
- sharedPopupActionSheetTemplate;
28
- text;
29
- placeholder;
30
- searchBarValue;
31
- filterable;
32
- closePopup = new EventEmitter();
33
- textInputChange = new EventEmitter();
34
- navigate = new EventEmitter();
35
- onExpand = new EventEmitter();
36
- actionSheet;
37
- actionSheetSearchBar;
38
- constructor(localization, adaptiveService) {
39
- this.localization = localization;
40
- this.adaptiveService = adaptiveService;
41
- }
42
- animationDuration = animationDuration;
43
- checkIcon = checkIcon;
44
- expanded = false;
45
- messageFor(key) {
46
- return this.localization.get(key);
47
- }
48
- onValueChange(value) {
49
- this.searchBarValue = value;
50
- this.textInputChange.emit(value);
51
- }
52
- onOverlayClick() {
53
- if (this.expanded) {
54
- this.handleClose();
55
- }
56
- }
57
- handleExpand() {
58
- this.onExpand.emit();
59
- this.expanded = true;
60
- }
61
- handleClose() {
62
- this.closePopup.emit();
63
- this.expanded = false;
64
- }
65
- get windowSize() {
66
- return this.adaptiveService.size;
67
- }
68
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AdaptiveRendererComponent, deps: [{ token: i1.LocalizationService }, { token: i2.AdaptiveService }], target: i0.ɵɵFactoryTarget.Component });
69
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", 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: `
70
- <kendo-actionsheet
71
- #actionSheet
72
- [animation]="{ duration: animationDuration }"
73
- [initialFocus]="false"
74
- [cssClass]="{
75
- 'k-adaptive-actionsheet': true,
76
- 'k-actionsheet-fullscreen': windowSize === 'small',
77
- 'k-actionsheet-bottom': windowSize === 'medium'
78
- }"
79
- [cssStyle]="{
80
- height: windowSize === 'small' ? '100vh' : '60vh'
81
- }"
82
- (overlayClick)="onOverlayClick()"
83
- (keydown)="navigate.emit($event)"
84
- (expand)="handleExpand()"
85
- (collapse)="closePopup.emit()"
86
- >
87
- <ng-template kendoActionSheetTemplate>
88
- <div class="k-text-center k-actionsheet-titlebar">
89
- <div class="k-actionsheet-titlebar-group">
90
- <div class="k-actionsheet-title">
91
- @if (title) {
92
- <div class="k-text-center">{{ title }}</div>
93
- }
94
- @if (subtitle) {
95
- <div class="k-actionsheet-subtitle k-text-center">{{ subtitle }}</div>
96
- }
97
- </div>
98
- <div class="k-actionsheet-actions">
99
- <button
100
- kendoButton
101
- icon="check"
102
- type="button"
103
- [attr.title]="messageFor('adaptiveCloseButtonTitle')"
104
- [svgIcon]="checkIcon"
105
- fillMode="flat"
106
- themeColor="primary"
107
- size="large"
108
- [tabIndex]="-1"
109
- innerCssClass="k-button-icon"
110
- (click)="handleClose()"
111
- ></button>
112
- </div>
113
- </div>
114
- @if (showTextInput) {
115
- <div class="k-actionsheet-titlebar-group k-actionsheet-filter">
116
- <kendo-textbox
117
- #actionSheetSearchBar
118
- [value]="searchBarValue || ''"
119
- size="large"
120
- [placeholder]="filterable ? messageFor('filterInputPlaceholder') : placeholder"
121
- class="k-searchbox"
122
- autocomplete="off"
123
- (valueChange)="onValueChange($event)"
124
- >
125
- @if (filterable) {
126
- <ng-template kendoTextBoxPrefixTemplate>
127
- <kendo-icon name="search"></kendo-icon>
128
- </ng-template>
129
- }
130
- </kendo-textbox>
131
- </div>
132
- }
133
- </div>
134
- <div class="k-actionsheet-content">
135
- <div class="k-list-container">
136
- <ng-container *ngTemplateOutlet="sharedPopupActionSheetTemplate"></ng-container>
137
- </div>
138
- </div>
139
- </ng-template>
140
- </kendo-actionsheet>
141
- `, 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", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], 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: IconComponent, selector: "kendo-icon", inputs: ["name"], exportAs: ["kendoIcon"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
142
- }
143
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AdaptiveRendererComponent, decorators: [{
144
- type: Component,
145
- args: [{
146
- selector: 'kendo-adaptive-renderer',
147
- template: `
148
- <kendo-actionsheet
149
- #actionSheet
150
- [animation]="{ duration: animationDuration }"
151
- [initialFocus]="false"
152
- [cssClass]="{
153
- 'k-adaptive-actionsheet': true,
154
- 'k-actionsheet-fullscreen': windowSize === 'small',
155
- 'k-actionsheet-bottom': windowSize === 'medium'
156
- }"
157
- [cssStyle]="{
158
- height: windowSize === 'small' ? '100vh' : '60vh'
159
- }"
160
- (overlayClick)="onOverlayClick()"
161
- (keydown)="navigate.emit($event)"
162
- (expand)="handleExpand()"
163
- (collapse)="closePopup.emit()"
164
- >
165
- <ng-template kendoActionSheetTemplate>
166
- <div class="k-text-center k-actionsheet-titlebar">
167
- <div class="k-actionsheet-titlebar-group">
168
- <div class="k-actionsheet-title">
169
- @if (title) {
170
- <div class="k-text-center">{{ title }}</div>
171
- }
172
- @if (subtitle) {
173
- <div class="k-actionsheet-subtitle k-text-center">{{ subtitle }}</div>
174
- }
175
- </div>
176
- <div class="k-actionsheet-actions">
177
- <button
178
- kendoButton
179
- icon="check"
180
- type="button"
181
- [attr.title]="messageFor('adaptiveCloseButtonTitle')"
182
- [svgIcon]="checkIcon"
183
- fillMode="flat"
184
- themeColor="primary"
185
- size="large"
186
- [tabIndex]="-1"
187
- innerCssClass="k-button-icon"
188
- (click)="handleClose()"
189
- ></button>
190
- </div>
191
- </div>
192
- @if (showTextInput) {
193
- <div class="k-actionsheet-titlebar-group k-actionsheet-filter">
194
- <kendo-textbox
195
- #actionSheetSearchBar
196
- [value]="searchBarValue || ''"
197
- size="large"
198
- [placeholder]="filterable ? messageFor('filterInputPlaceholder') : placeholder"
199
- class="k-searchbox"
200
- autocomplete="off"
201
- (valueChange)="onValueChange($event)"
202
- >
203
- @if (filterable) {
204
- <ng-template kendoTextBoxPrefixTemplate>
205
- <kendo-icon name="search"></kendo-icon>
206
- </ng-template>
207
- }
208
- </kendo-textbox>
209
- </div>
210
- }
211
- </div>
212
- <div class="k-actionsheet-content">
213
- <div class="k-list-container">
214
- <ng-container *ngTemplateOutlet="sharedPopupActionSheetTemplate"></ng-container>
215
- </div>
216
- </div>
217
- </ng-template>
218
- </kendo-actionsheet>
219
- `,
220
- standalone: true,
221
- imports: [ActionSheetComponent, ActionSheetTemplateDirective, ButtonComponent, TextBoxComponent, TextBoxPrefixTemplateDirective, IconComponent, NgTemplateOutlet]
222
- }]
223
- }], ctorParameters: () => [{ type: i1.LocalizationService }, { type: i2.AdaptiveService }], propDecorators: { title: [{
224
- type: Input
225
- }], subtitle: [{
226
- type: Input
227
- }], showTextInput: [{
228
- type: Input
229
- }], sharedPopupActionSheetTemplate: [{
230
- type: Input
231
- }], text: [{
232
- type: Input
233
- }], placeholder: [{
234
- type: Input
235
- }], searchBarValue: [{
236
- type: Input
237
- }], filterable: [{
238
- type: Input
239
- }], closePopup: [{
240
- type: Output
241
- }], textInputChange: [{
242
- type: Output
243
- }], navigate: [{
244
- type: Output
245
- }], onExpand: [{
246
- type: Output
247
- }], actionSheet: [{
248
- type: ViewChild,
249
- args: [ActionSheetComponent]
250
- }], actionSheetSearchBar: [{
251
- type: ViewChild,
252
- args: ['actionSheetSearchBar']
253
- }] } });
@@ -1,61 +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
- /**
6
- * @hidden
7
- */
8
- export const MultiselectMessages = {
9
- 'array': 'Expected values of array type. See https://www.telerik.com/kendo-angular-ui/components/dropdowns/multiselect/value-binding',
10
- 'object': 'Expected values of Object type. See https://www.telerik.com/kendo-angular-ui/components/dropdowns/multiselect/value-binding/#toc-object-values',
11
- 'primitive': 'Expected values of primitive type. See https://www.telerik.com/kendo-angular-ui/components/dropdowns/multiselect/value-binding/#toc-primitive-values',
12
- 'textAndValue': 'Expected textField and valueField options to be set. See https://www.telerik.com/kendo-angular-ui/components/dropdowns/multiselect/data-binding/#toc-arrays-of-complex-data'
13
- };
14
- /**
15
- * @hidden
16
- */
17
- export const MultiSelectTreeMessages = {
18
- 'array': 'Expected values of array type. See https://www.telerik.com/kendo-angular-ui/components/dropdowns/multiselecttree/value-binding',
19
- 'primitive': 'Expected values of primitive type. See https://www.telerik.com/kendo-angular-ui/components/dropdowns/multiselecttree/value-binding/#toc-primitive-values',
20
- 'object': 'Expected values of type Object. See https://www.telerik.com/kendo-angular-ui/components/dropdowns/multiselecttree/value-binding/#toc-object-values',
21
- 'dataItems': 'Expected dataItems of type Object[] to be set. See https://www.telerik.com/kendo-angular-ui/components/dropdowns/api/MultiSelectTreeComponent/#toc-dataitems',
22
- 'dataItemsLength': 'Expected dataItems length to match the number of provided values. See https://www.telerik.com/kendo-angular-ui/components/dropdowns/api/MultiSelectTreeComponent/#toc-dataitems',
23
- 'textAndValue': 'Expected textField and valueField options to be set. See https://www.telerik.com/kendo-angular-ui/components/dropdowns/multiselecttree/value-binding',
24
- 'valueDepth': 'Expected valueDepth of type number[] to be set. See https://www.telerik.com/kendo-angular-ui/components/dropdowns/api/MultiSelectTreeComponent/#toc-valuedepth',
25
- 'valueDepthLength': 'Expected valueDepth length to match the number of provided values. See https://www.telerik.com/kendo-angular-ui/components/dropdowns/api/MultiSelectTreeComponent/#toc-valuedepth'
26
- };
27
- /**
28
- * @hidden
29
- */
30
- export const ComboBoxMessages = {
31
- 'object': 'Expected value of type Object. See https://www.telerik.com/kendo-angular-ui/components/dropdowns/combobox/value-binding/#toc-object-values',
32
- 'primitive': 'Expected value of primitive type. See https://www.telerik.com/kendo-angular-ui/components/dropdowns/combobox/value-binding/#toc-primitive-values',
33
- 'textAndValue': 'Expected textField and valueField options to be set. See https://www.telerik.com/kendo-angular-ui/components/dropdowns/combobox/data-binding/#toc-arrays-of-complex-data',
34
- 'noItemHeight': 'Expected virtual.itemHeight of type number.'
35
- };
36
- /**
37
- * @hidden
38
- */
39
- export const MultiColumnComboBoxMessages = {
40
- 'data': 'Provided data must consist only of objects. See https://www.telerik.com/kendo-angular-ui/components/dropdowns/multicolumncombobox/data-binding/',
41
- 'textAndValue': 'Expected textField and valueField options to be set. See https://www.telerik.com/kendo-angular-ui/components/dropdowns/multicolumncombobox/data-binding/#toc-fields-configuration'
42
- };
43
- /**
44
- * @hidden
45
- */
46
- export const DropDownListMessages = {
47
- 'defaultItem': 'defaultItem and data items must be of same type. See https://www.telerik.com/kendo-angular-ui/components/dropdowns/api/DropDownListComponent/#toc-defaultitem',
48
- 'object': 'Expected value of type Object. See https://www.telerik.com/kendo-angular-ui/components/dropdowns/dropdownlist/value-binding/#toc-object-values',
49
- 'primitive': 'Expected value of primitive type. See https://www.telerik.com/kendo-angular-ui/components/dropdowns/dropdownlist/value-binding/#toc-primitive-values',
50
- 'textAndValue': 'Expected textField and valueField options to be set. See https://www.telerik.com/kendo-angular-ui/components/dropdowns/dropdownlist/data-binding/#toc-arrays-of-complex-data'
51
- };
52
- /**
53
- * @hidden
54
- */
55
- export const DropDownTreeMessages = {
56
- 'primitive': 'Expected value of primitive type. See https://www.telerik.com/kendo-angular-ui/components/dropdowns/dropdowntree/value-binding/#toc-primitive-values',
57
- 'object': 'Expected value of type Object. See https://www.telerik.com/kendo-angular-ui/components/dropdowns/dropdowntree/value-binding/#toc-object-values',
58
- 'dataItem': 'Expected dataItem of type Object to be set. See https://www.telerik.com/kendo-angular-ui/components/dropdowns/api/DropDownTreeComponent/#toc-dataitem',
59
- 'textAndValue': 'Expected textField and valueField options to be set. See https://www.telerik.com/kendo-angular-ui/components/dropdowns/dropdowntree/value-binding',
60
- 'valueDepth': 'Expected valueDepth to be set. See https://www.telerik.com/kendo-angular-ui/components/dropdowns/api/DropDownTreeComponent/#toc-valuedepth'
61
- };
@@ -1,250 +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 { Injectable } from '@angular/core';
6
- import { isPresent, hasProps, getter, filterAndMap } from './util';
7
- import * as i0 from "@angular/core";
8
- /**
9
- * @hidden
10
- */
11
- export class DataService {
12
- grouped = false;
13
- groupIndices = [];
14
- view;
15
- _data;
16
- _flatData;
17
- set data(data) {
18
- this._data = data;
19
- this.grouped = this.isGrouped(data);
20
- if (this.grouped) {
21
- this.groupIndices = this.getGroupIndices(data);
22
- this._flatData = this.flatten(data);
23
- }
24
- }
25
- get data() {
26
- if (this.grouped) {
27
- return this._flatData;
28
- }
29
- return this._data;
30
- }
31
- /**
32
- * @hidden
33
- * Used to get the actual items count, i.e. excluding the header items in case of grouping.
34
- */
35
- get itemsCount() {
36
- if (!isPresent(this.data) || this.data.length === 0) {
37
- return 0;
38
- }
39
- const items = this.grouped ? this._flatData.filter(item => !item.header) : this.data;
40
- return items.length;
41
- }
42
- /**
43
- * @hidden
44
- * Used to determine if the component received grouped data.
45
- */
46
- isGrouped(data) {
47
- // GroupResult { aggregates: AggregateResult, field: string, items: object[], value: any }
48
- // https://www.telerik.com/kendo-angular-ui/components/dataquery/api/GroupResult/
49
- return (isPresent(data) && data.length !== 0) && isPresent(data[0]) && hasProps(data[0], ['aggregates', 'field', 'items', 'value']);
50
- }
51
- /**
52
- * @hidden
53
- * Used to calculate the last item index of each group.
54
- */
55
- getGroupIndices(data) {
56
- const groupIndices = [];
57
- for (let i = 0; i <= data.length - 1; i++) {
58
- groupIndices[i] = (groupIndices[i - 1] || 0) + data[i].items.length;
59
- }
60
- return groupIndices;
61
- }
62
- /**
63
- * @hidden
64
- * Used to get a flat array containing all items matching certain criteria.
65
- */
66
- filter(predicate) {
67
- let result = [];
68
- if (this.isGrouped(this.data)) {
69
- for (let i = 0; i <= this.groupIndices.length - 1; i++) {
70
- const matches = this.data[i].items.filter(predicate);
71
- if (matches) {
72
- result = result.concat(matches);
73
- }
74
- }
75
- }
76
- else {
77
- result = this.data.filter(predicate);
78
- }
79
- return result;
80
- }
81
- /**
82
- * @hidden
83
- * Used to get the index of a given data item.
84
- */
85
- indexOf(item, startFrom = 0) {
86
- let predicate = (element) => {
87
- return element === item;
88
- };
89
- if (this.grouped) {
90
- predicate = (element) => {
91
- return element.value === item;
92
- };
93
- }
94
- return this.findIndex(predicate, startFrom);
95
- }
96
- /**
97
- * @hidden
98
- * Used to get the index of a data item based on an expression.
99
- */
100
- findIndex(predicate, startFrom = 0) {
101
- let index = -1;
102
- if (this.grouped) {
103
- const data = this._flatData.filter(item => !item.header && item.offsetIndex >= startFrom);
104
- index = data.findIndex(predicate);
105
- index = data[index] ? data[index].offsetIndex : -1;
106
- }
107
- else {
108
- const data = this.data.slice(startFrom);
109
- const itemIndex = data.findIndex(predicate);
110
- index = itemIndex !== -1 ? itemIndex + startFrom : -1;
111
- }
112
- return index;
113
- }
114
- /**
115
- * @hidden
116
- * Used to get the closest group header prior to an item index.
117
- */
118
- closestGroup(index) {
119
- for (let i = index; i >= 0; i--) {
120
- if (this._flatData[i].header) {
121
- return this._flatData[i];
122
- }
123
- }
124
- }
125
- /**
126
- * @hidden
127
- * Used to get the first item matching the criteria.
128
- */
129
- find(predicate) {
130
- const index = this.findIndex(predicate);
131
- return this.itemAt(index);
132
- }
133
- /**
134
- * @hidden
135
- * Used to get the true index in a flattened data array.
136
- */
137
- flatIndex(index) {
138
- if (this.itemsCount === 0) {
139
- return -1;
140
- }
141
- if (this.grouped) {
142
- const match = this._flatData.find((item) => !item.header && item.offsetIndex === index);
143
- if (match) {
144
- return match.index;
145
- }
146
- }
147
- else {
148
- return index;
149
- }
150
- return -1;
151
- }
152
- /**
153
- * @hidden
154
- * Used to get the item at the provided index.
155
- */
156
- itemAt(index) {
157
- let dataItem;
158
- if (this.itemsCount === 0) {
159
- return dataItem;
160
- }
161
- if (this.grouped) {
162
- const match = this._flatData.find((item) => !item.header && item.offsetIndex === index);
163
- if (match) {
164
- dataItem = match.value;
165
- }
166
- }
167
- else {
168
- dataItem = this.data[index];
169
- }
170
- return dataItem;
171
- }
172
- /**
173
- * @hidden
174
- * Used to get the group at the provided index.
175
- */
176
- groupAt(index) {
177
- if (this.itemsCount === 0 || !this.isGrouped) {
178
- return;
179
- }
180
- return this._flatData.find((item) => item.header && item.index === index);
181
- }
182
- /**
183
- * @hidden
184
- * Used to get all group items indices.
185
- */
186
- groupItemsIndices() {
187
- if (this.isGrouped) {
188
- return filterAndMap(this.data, item => item.header, mappedItem => mappedItem.index);
189
- }
190
- return [];
191
- }
192
- /**
193
- * @hidden
194
- * Used to get the field by which the data is grouped.
195
- */
196
- groupField() {
197
- if (this.itemsCount === 0 || !this.isGrouped) {
198
- return null;
199
- }
200
- return this._data[0].field;
201
- }
202
- /**
203
- * @hidden
204
- * Used to get the group to which a dataItem belongs.
205
- */
206
- itemGroup(item) {
207
- if (!item || this.itemsCount === 0 || !this.isGrouped) {
208
- return;
209
- }
210
- const fieldName = this.groupField();
211
- if (fieldName) {
212
- return getter(item, fieldName);
213
- }
214
- }
215
- flatten(data, group = undefined, offset = 0, groupIndex = 0) {
216
- let flat = [];
217
- if (isPresent(group)) {
218
- flat.push({
219
- header: true,
220
- groupIndex: groupIndex,
221
- index: groupIndex + offset,
222
- offsetIndex: groupIndex,
223
- value: group
224
- });
225
- }
226
- for (let i = 0; i < data.length; i++) {
227
- let result = [];
228
- if (data[i].items) {
229
- result = this.flatten(data[i].items, data[i].value, offset, i);
230
- offset = offset + data[i].items.length;
231
- }
232
- else {
233
- result.push({
234
- header: false,
235
- groupIndex: groupIndex,
236
- index: groupIndex + offset + i + 1,
237
- offsetIndex: offset + i,
238
- value: data[i]
239
- });
240
- }
241
- flat = flat.concat(result);
242
- }
243
- return flat;
244
- }
245
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DataService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
246
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DataService });
247
- }
248
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DataService, decorators: [{
249
- type: Injectable
250
- }] });
@@ -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 { Injectable } from '@angular/core';
6
- import { isPresent } from '../util';
7
- import { DataService } from '../data.service';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "../data.service";
10
- /**
11
- * @hidden
12
- */
13
- export class DisabledItemsService {
14
- dataService;
15
- defaultItem;
16
- itemDisabled = null;
17
- constructor(dataService) {
18
- this.dataService = dataService;
19
- }
20
- isIndexDisabled(index) {
21
- if (this.itemDisabled) {
22
- const item = this.dataService.itemAt(index);
23
- if (isPresent(item)) {
24
- return this.itemDisabled({ dataItem: item, index });
25
- }
26
- else if (isPresent(this.defaultItem)) {
27
- return this.itemDisabled({ dataItem: this.defaultItem, index: -1 });
28
- }
29
- }
30
- }
31
- isItemDisabled(item) {
32
- if (this.itemDisabled) {
33
- const index = this.dataService.indexOf(item);
34
- if (index !== -1) {
35
- return this.itemDisabled({ dataItem: item, index });
36
- }
37
- else if (isPresent(this.defaultItem)) {
38
- return this.itemDisabled({ dataItem: this.defaultItem, index: -1 });
39
- }
40
- }
41
- }
42
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DisabledItemsService, deps: [{ token: i1.DataService }], target: i0.ɵɵFactoryTarget.Injectable });
43
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DisabledItemsService });
44
- }
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DisabledItemsService, decorators: [{
46
- type: Injectable
47
- }], ctorParameters: () => [{ type: i1.DataService }] });
@@ -1,5 +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
- export {};
@@ -1,39 +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, ElementRef, Input, NgZone } from '@angular/core';
6
- import * as i0 from "@angular/core";
7
- /**
8
- * @hidden
9
- */
10
- export class FilterInputDirective {
11
- element;
12
- zone;
13
- focused;
14
- constructor(element, zone) {
15
- this.element = element;
16
- this.zone = zone;
17
- }
18
- ngOnChanges() {
19
- if (this.focused) {
20
- this.nextTick(() => this.element.nativeElement.focus());
21
- }
22
- }
23
- nextTick(fn) {
24
- this.zone.runOutsideAngular(() => setTimeout(fn));
25
- }
26
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterInputDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
27
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: FilterInputDirective, isStandalone: true, selector: "[filterInput]", inputs: { focused: ["filterInput", "focused"] }, usesOnChanges: true, ngImport: i0 });
28
- }
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterInputDirective, decorators: [{
30
- type: Directive,
31
- args: [{
32
- selector: '[filterInput]' // eslint-disable-line
33
- ,
34
- standalone: true
35
- }]
36
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { focused: [{
37
- type: Input,
38
- args: ['filterInput']
39
- }] } });
@@ -1,5 +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
- export {};