@progress/kendo-angular-dropdowns 21.4.1 → 22.0.0

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,96 +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, forwardRef } from '@angular/core';
6
- import { LocalizationService } from '@progress/kendo-angular-l10n';
7
- import { Messages } from './messages';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "@progress/kendo-angular-l10n";
10
- /**
11
- * Custom component messages override default component messages
12
- * ([see example]({% slug rtl_dropdowns %}#toc-messages)).
13
- *
14
- * @example
15
- * ```html
16
- * <kendo-dropdownlist>
17
- * <kendo-dropdownlist-messages
18
- * noDataText="No items found"
19
- * clearTitle="Clear selection">
20
- * </kendo-dropdownlist-messages>
21
- * </kendo-dropdownlist>
22
- *
23
- * <kendo-combobox>
24
- * <kendo-combobox-messages
25
- * noDataText="No items found"
26
- * filterInputPlaceholder="Search items">
27
- * </kendo-combobox-messages>
28
- * </kendo-combobox>
29
- *
30
- * <kendo-multicolumncombobox>
31
- * <kendo-multicolumncombobox-messages
32
- * noDataText="No items found"
33
- * clearTitle="Clear selection">
34
- * </kendo-multicolumncombobox-messages>
35
- * </kendo-multicolumncombobox>
36
- *
37
- * <kendo-autocomplete>
38
- * <kendo-autocomplete-messages
39
- * noDataText="No items found"
40
- * filterInputPlaceholder="Type to search">
41
- * </kendo-autocomplete-messages>
42
- * </kendo-autocomplete>
43
- *
44
- * <kendo-multiselect>
45
- * <kendo-multiselect-messages
46
- * checkAllText="Select all"
47
- * clearTitle="Clear all">
48
- * </kendo-multiselect-messages>
49
- * </kendo-multiselect>
50
- *
51
- * <kendo-dropdowntree>
52
- * <kendo-dropdowntree-messages
53
- * noDataText="No items found"
54
- * selectButtonText="Select item">
55
- * </kendo-dropdowntree-messages>
56
- * </kendo-dropdowntree>
57
- *
58
- * <kendo-multiselecttree>
59
- * <kendo-multiselecttree-messages
60
- * checkAllText="Select all"
61
- * clearTitle="Clear all">
62
- * </kendo-multiselecttree-messages>
63
- * </kendo-multiselecttree>
64
- * ```
65
- */
66
- export class CustomMessagesComponent extends Messages {
67
- service;
68
- constructor(service) {
69
- super();
70
- this.service = service;
71
- }
72
- get override() {
73
- return true;
74
- }
75
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CustomMessagesComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
76
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: CustomMessagesComponent, isStandalone: true, selector: "kendo-dropdownlist-messages,kendo-combobox-messages,kendo-multicolumncombobox-messages,kendo-autocomplete-messages,kendo-multiselect-messages,kendo-dropdowntree-messages,kendo-multiselecttree-messages", providers: [
77
- {
78
- provide: Messages,
79
- useExisting: forwardRef(() => CustomMessagesComponent)
80
- }
81
- ], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
82
- }
83
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CustomMessagesComponent, decorators: [{
84
- type: Component,
85
- args: [{
86
- providers: [
87
- {
88
- provide: Messages,
89
- useExisting: forwardRef(() => CustomMessagesComponent)
90
- }
91
- ],
92
- selector: 'kendo-dropdownlist-messages,kendo-combobox-messages,kendo-multicolumncombobox-messages,kendo-autocomplete-messages,kendo-multiselect-messages,kendo-dropdowntree-messages,kendo-multiselecttree-messages',
93
- template: ``,
94
- standalone: true
95
- }]
96
- }], ctorParameters: () => [{ type: i1.LocalizationService }] });
@@ -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, forwardRef } from '@angular/core';
6
- import { LocalizationService } from '@progress/kendo-angular-l10n';
7
- import { Messages } from './messages';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "@progress/kendo-angular-l10n";
10
- /**
11
- * @hidden
12
- */
13
- export class LocalizedMessagesDirective extends Messages {
14
- service;
15
- constructor(service) {
16
- super();
17
- this.service = service;
18
- }
19
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LocalizedMessagesDirective, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
20
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: LocalizedMessagesDirective, isStandalone: true, selector: "\n [kendoDropDownListLocalizedMessages],\n [kendoDropDownTreeLocalizedMessages],\n [kendoComboBoxLocalizedMessages],\n [kendoMultiColumnComboBoxLocalizedMessages],\n [kendoAutoCompleteLocalizedMessages],\n [kendoMultiSelectLocalizedMessages],\n [kendoMultiSelectTreeLocalizedMessages]\n ", providers: [
21
- {
22
- provide: Messages,
23
- useExisting: forwardRef(() => LocalizedMessagesDirective)
24
- }
25
- ], usesInheritance: true, ngImport: i0 });
26
- }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LocalizedMessagesDirective, decorators: [{
28
- type: Directive,
29
- args: [{
30
- providers: [
31
- {
32
- provide: Messages,
33
- useExisting: forwardRef(() => LocalizedMessagesDirective)
34
- }
35
- ],
36
- selector: `
37
- [kendoDropDownListLocalizedMessages],
38
- [kendoDropDownTreeLocalizedMessages],
39
- [kendoComboBoxLocalizedMessages],
40
- [kendoMultiColumnComboBoxLocalizedMessages],
41
- [kendoAutoCompleteLocalizedMessages],
42
- [kendoMultiSelectLocalizedMessages],
43
- [kendoMultiSelectTreeLocalizedMessages]
44
- `,
45
- standalone: true
46
- }]
47
- }], ctorParameters: () => [{ type: i1.LocalizationService }] });
@@ -1,77 +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, Input } from '@angular/core';
6
- import { ComponentMessages } from '@progress/kendo-angular-l10n';
7
- import * as i0 from "@angular/core";
8
- /**
9
- * @hidden
10
- */
11
- export class Messages extends ComponentMessages {
12
- /**
13
- * The text displayed in the popup when there are no items.
14
- */
15
- noDataText;
16
- /**
17
- * The title of the clear button.
18
- */
19
- clearTitle;
20
- /**
21
- * The text displayed for the check-all checkbox.
22
- */
23
- checkAllText;
24
- /**
25
- * The text set as aria-label on the select button.
26
- */
27
- selectButtonText;
28
- /**
29
- * The text set as aria-label on the list filter input.
30
- */
31
- filterInputLabel;
32
- /**
33
- * The text set as aria-label on the popup containing the list of options when its role is `region`.
34
- */
35
- popupLabel;
36
- /**
37
- * The title of the Close button of the ActionSheet that is rendered instead of the Popup when using small screen devices in adaptive mode.
38
- */
39
- adaptiveCloseButtonTitle;
40
- /**
41
- * The text for the input's placeholder when filtering is enabled.
42
- */
43
- filterInputPlaceholder;
44
- /**
45
- * The text displayed when the user types a custom value that is not in the list of options.
46
- *
47
- * The text includes a localizable string and the custom value.
48
- * For example, when adding a custom value **Test**, the default text is **Use "Test"**.
49
- *
50
- * You can reorder the custom value and the localizable part by using a placeholder in `useCustomValueText`.
51
- * Use `{customValue}` to insert the value, for example, **Add: {customValue}**.
52
- */
53
- useCustomValueText;
54
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: Messages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
55
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: Messages, inputs: { noDataText: "noDataText", clearTitle: "clearTitle", checkAllText: "checkAllText", selectButtonText: "selectButtonText", filterInputLabel: "filterInputLabel", popupLabel: "popupLabel", adaptiveCloseButtonTitle: "adaptiveCloseButtonTitle", filterInputPlaceholder: "filterInputPlaceholder", useCustomValueText: "useCustomValueText" }, usesInheritance: true, ngImport: i0 });
56
- }
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: Messages, decorators: [{
58
- type: Directive
59
- }], propDecorators: { noDataText: [{
60
- type: Input
61
- }], clearTitle: [{
62
- type: Input
63
- }], checkAllText: [{
64
- type: Input
65
- }], selectButtonText: [{
66
- type: Input
67
- }], filterInputLabel: [{
68
- type: Input
69
- }], popupLabel: [{
70
- type: Input
71
- }], adaptiveCloseButtonTitle: [{
72
- type: Input
73
- }], filterInputPlaceholder: [{
74
- type: Input
75
- }], useCustomValueText: [{
76
- type: Input
77
- }] } });
@@ -1,15 +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 { isObject } from "../util";
6
- /**
7
- * @hidden
8
- */
9
- export const normalizeCheckboxesSettings = (settings) => {
10
- if (isObject(settings)) {
11
- const defaultSettings = { enabled: true, checkOnClick: true };
12
- return Object.assign({}, defaultSettings, settings);
13
- }
14
- return { enabled: Boolean(settings), checkOnClick: true };
15
- };
@@ -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,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,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,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,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,25 +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 class PreventableEvent {
9
- prevented = false;
10
- /**
11
- * Prevents the default action for a specified event.
12
- * In this way, the source component suppresses the built-in behavior that follows the event.
13
- */
14
- preventDefault() {
15
- this.prevented = true;
16
- }
17
- /**
18
- * If the event is prevented by any of its subscribers, returns `true`.
19
- *
20
- * @returns `true` if the default action was prevented. Otherwise, returns `false`.
21
- */
22
- isDefaultPrevented() {
23
- return this.prevented;
24
- }
25
- }
@@ -1,23 +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 { PreventableEvent } from './preventable-event';
6
- /**
7
- * Arguments for the `removeTag` event. The `removeTag` event fires when a tag is about
8
- * to the removed. If you cancel the event, the removal is prevented.
9
- */
10
- export class RemoveTagEvent extends PreventableEvent {
11
- /**
12
- * The data item or an array of data items that will be removed.
13
- */
14
- dataItem;
15
- /**
16
- * Constructs the event arguments for the `remove` event.
17
- * @param dataItem - The data item or an array of data items that will be removed.
18
- */
19
- constructor(dataItem) {
20
- super();
21
- this.dataItem = dataItem;
22
- }
23
- }
@@ -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,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,24 +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
- const DEFAULTS = {
9
- pageSize: 50,
10
- itemHeight: 28
11
- };
12
- /**
13
- * @hidden
14
- */
15
- export const normalizeVirtualizationSettings = (settings, defaultOverrides) => {
16
- const defaults = Object.assign({}, DEFAULTS, defaultOverrides);
17
- if (settings === true) {
18
- return defaults;
19
- }
20
- if (!settings) {
21
- return null;
22
- }
23
- return { pageSize: DEFAULTS.pageSize, ...settings };
24
- };
@@ -1,32 +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 var NavigationAction;
9
- (function (NavigationAction) {
10
- // eslint-disable-next-line id-denylist
11
- NavigationAction[NavigationAction["Undefined"] = 0] = "Undefined";
12
- NavigationAction[NavigationAction["Open"] = 1] = "Open";
13
- NavigationAction[NavigationAction["Close"] = 2] = "Close";
14
- NavigationAction[NavigationAction["Enter"] = 3] = "Enter";
15
- NavigationAction[NavigationAction["Tab"] = 4] = "Tab";
16
- NavigationAction[NavigationAction["Esc"] = 5] = "Esc";
17
- NavigationAction[NavigationAction["Delete"] = 6] = "Delete";
18
- NavigationAction[NavigationAction["Backspace"] = 7] = "Backspace";
19
- NavigationAction[NavigationAction["Home"] = 8] = "Home";
20
- NavigationAction[NavigationAction["End"] = 9] = "End";
21
- NavigationAction[NavigationAction["Up"] = 10] = "Up";
22
- NavigationAction[NavigationAction["Down"] = 11] = "Down";
23
- NavigationAction[NavigationAction["Left"] = 12] = "Left";
24
- NavigationAction[NavigationAction["Right"] = 13] = "Right";
25
- NavigationAction[NavigationAction["PageDown"] = 14] = "PageDown";
26
- NavigationAction[NavigationAction["PageUp"] = 15] = "PageUp";
27
- NavigationAction[NavigationAction["SelectPrevious"] = 16] = "SelectPrevious";
28
- NavigationAction[NavigationAction["SelectNext"] = 17] = "SelectNext";
29
- NavigationAction[NavigationAction["SelectAll"] = 18] = "SelectAll";
30
- NavigationAction[NavigationAction["SelectAllToBeginning"] = 19] = "SelectAllToBeginning";
31
- NavigationAction[NavigationAction["SelectAllToEnd"] = 20] = "SelectAllToEnd";
32
- })(NavigationAction || (NavigationAction = {}));
@@ -1,188 +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, EventEmitter } from '@angular/core';
6
- import { isPresent } from '../util';
7
- import { Keys, normalizeKeys } from '@progress/kendo-angular-common';
8
- import { NavigationAction } from './navigation-action';
9
- import { DisabledItemsService } from '../disabled-items/disabled-items.service';
10
- import { SelectionService } from '../selection/selection.service';
11
- import * as i0 from "@angular/core";
12
- import * as i1 from "../disabled-items/disabled-items.service";
13
- import * as i2 from "../selection/selection.service";
14
- const MIN_INDEX = 0;
15
- /**
16
- * @hidden
17
- */
18
- export class NavigationEvent {
19
- index;
20
- originalEvent;
21
- /**
22
- * The index of the item to which the user navigated.
23
- */
24
- constructor(index, originalEvent) {
25
- this.index = index;
26
- this.originalEvent = originalEvent;
27
- }
28
- }
29
- /**
30
- * @hidden
31
- */
32
- export class NavigationService {
33
- disabledItemsService;
34
- selectionService;
35
- open = new EventEmitter();
36
- close = new EventEmitter();
37
- enter = new EventEmitter();
38
- tab = new EventEmitter();
39
- esc = new EventEmitter();
40
- up = new EventEmitter();
41
- right = new EventEmitter();
42
- down = new EventEmitter();
43
- left = new EventEmitter();
44
- delete = new EventEmitter();
45
- backspace = new EventEmitter();
46
- home = new EventEmitter();
47
- end = new EventEmitter();
48
- pagedown = new EventEmitter();
49
- pageup = new EventEmitter();
50
- selectnext = new EventEmitter();
51
- selectprevious = new EventEmitter();
52
- selectall = new EventEmitter();
53
- selectalltobeginning = new EventEmitter();
54
- selectalltoend = new EventEmitter();
55
- constructor(disabledItemsService, selectionService) {
56
- this.disabledItemsService = disabledItemsService;
57
- this.selectionService = selectionService;
58
- }
59
- process(args) {
60
- // on some keyboards arrow keys, PageUp/Down, and Home/End are mapped to Numpad keys
61
- const keyCode = normalizeKeys(args.originalEvent);
62
- const altKey = args.originalEvent.altKey;
63
- const shiftKey = args.originalEvent.shiftKey;
64
- const ctrlKey = args.originalEvent.ctrlKey || args.originalEvent.metaKey;
65
- const openOnSpace = args.openOnSpace;
66
- const closeOnSpace = args.closeOnSpace;
67
- let index;
68
- let action = NavigationAction.Undefined;
69
- if (altKey && keyCode === Keys.ArrowDown) {
70
- action = NavigationAction.Open;
71
- }
72
- else if (openOnSpace && keyCode === Keys.Space) {
73
- action = NavigationAction.Open;
74
- }
75
- else if (altKey && keyCode === Keys.ArrowUp) {
76
- action = NavigationAction.Close;
77
- }
78
- else if (closeOnSpace && keyCode === Keys.Space) {
79
- action = NavigationAction.Close;
80
- }
81
- else if (shiftKey && keyCode === Keys.ArrowUp) {
82
- action = NavigationAction.SelectPrevious;
83
- }
84
- else if (shiftKey && keyCode === Keys.ArrowDown) {
85
- action = NavigationAction.SelectNext;
86
- }
87
- else if (ctrlKey && keyCode === Keys.KeyA) {
88
- action = NavigationAction.SelectAll;
89
- }
90
- else if (ctrlKey && shiftKey && keyCode === Keys.Home) {
91
- action = NavigationAction.SelectAllToBeginning;
92
- }
93
- else if (ctrlKey && shiftKey && keyCode === Keys.End) {
94
- action = NavigationAction.SelectAllToEnd;
95
- }
96
- else if (keyCode === Keys.Enter) {
97
- action = NavigationAction.Enter;
98
- }
99
- else if (keyCode === Keys.Escape) {
100
- action = NavigationAction.Esc;
101
- }
102
- else if (keyCode === Keys.Tab) {
103
- action = NavigationAction.Tab;
104
- }
105
- else if (keyCode === Keys.ArrowUp) {
106
- index = this.next({ current: args.current, start: args.min, end: args.max, step: -1 });
107
- action = NavigationAction.Up;
108
- }
109
- else if (keyCode === Keys.ArrowLeft) {
110
- index = this.next({ current: args.current, start: args.min, end: args.max, step: -1 });
111
- action = NavigationAction.Left;
112
- }
113
- else if (keyCode === Keys.ArrowDown) {
114
- index = this.next({ current: args.current, start: args.min, end: args.max, step: 1 });
115
- action = NavigationAction.Down;
116
- }
117
- else if (keyCode === Keys.ArrowRight) {
118
- index = this.next({ current: args.current, start: args.min, end: args.max, step: 1 });
119
- action = NavigationAction.Right;
120
- }
121
- else if (keyCode === Keys.Home) {
122
- index = this.isDisabled(MIN_INDEX) ? args.current : MIN_INDEX;
123
- action = NavigationAction.Home;
124
- }
125
- else if (keyCode === Keys.End) {
126
- index = this.isDisabled(args.max) ? args.current : args.max;
127
- action = NavigationAction.End;
128
- }
129
- else if (keyCode === Keys.Delete) {
130
- action = NavigationAction.Delete;
131
- }
132
- else if (keyCode === Keys.Backspace) {
133
- action = NavigationAction.Backspace;
134
- }
135
- else if (keyCode === Keys.PageDown) {
136
- action = NavigationAction.PageDown;
137
- }
138
- else if (keyCode === Keys.PageUp) {
139
- action = NavigationAction.PageUp;
140
- }
141
- const eventData = new NavigationEvent(index, args.originalEvent);
142
- if (action !== NavigationAction.Undefined) {
143
- this[NavigationAction[action].toLowerCase()].emit(eventData);
144
- }
145
- return action;
146
- }
147
- next(args) {
148
- const { current, start, end, step } = args;
149
- const nextIndex = !isPresent(current) ? start : this.clampIndex(current + step, start, end);
150
- const firstFocusableIndex = this.firstFocusableIndex(nextIndex, start, end, step);
151
- if (isPresent(firstFocusableIndex)) {
152
- return firstFocusableIndex;
153
- }
154
- if (this.selectionService.isSelected(current) && current >= start) {
155
- return current;
156
- }
157
- const inversedStep = -1 * step;
158
- return this.firstFocusableIndex(nextIndex, start, end, inversedStep);
159
- }
160
- clampIndex(index, min, max) {
161
- if (!isPresent(index) || index < min) {
162
- return min;
163
- }
164
- if (index > max) {
165
- return max;
166
- }
167
- return index;
168
- }
169
- firstFocusableIndex(startIndex, min, max, step) {
170
- while (min <= startIndex && startIndex <= max) {
171
- if (!this.isDisabled(startIndex)) {
172
- return startIndex;
173
- }
174
- startIndex += step;
175
- }
176
- return undefined;
177
- }
178
- isDisabled(index) {
179
- if (this.disabledItemsService) {
180
- return this.disabledItemsService.isIndexDisabled(index);
181
- }
182
- }
183
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NavigationService, deps: [{ token: i1.DisabledItemsService }, { token: i2.SelectionService }], target: i0.ɵɵFactoryTarget.Injectable });
184
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NavigationService });
185
- }
186
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NavigationService, decorators: [{
187
- type: Injectable
188
- }], ctorParameters: () => [{ type: i1.DisabledItemsService }, { type: i2.SelectionService }] });