@progress/kendo-angular-spreadsheet 17.0.0-develop.4 → 17.0.0-develop.41

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 (87) hide show
  1. package/README.md +30 -19
  2. package/action-bar/formula-input.directive.d.ts +1 -1
  3. package/action-bar/list.component.d.ts +5 -4
  4. package/action-bar/namebox.component.d.ts +1 -1
  5. package/{esm2020 → esm2022}/action-bar/formula-input.directive.mjs +63 -54
  6. package/{esm2020 → esm2022}/action-bar/list.component.mjs +21 -16
  7. package/{esm2020 → esm2022}/action-bar/namebox.component.mjs +20 -12
  8. package/{esm2020 → esm2022}/common/error-handling.service.mjs +12 -6
  9. package/{esm2020 → esm2022}/common/main-menu.directive.mjs +5 -3
  10. package/{esm2020 → esm2022}/common/spreadsheet.service.mjs +10 -7
  11. package/{esm2020 → esm2022}/localization/custom-messages.component.mjs +9 -8
  12. package/{esm2020 → esm2022}/localization/localized-messages.directive.mjs +7 -6
  13. package/esm2022/localization/messages.mjs +494 -0
  14. package/{esm2020 → esm2022}/localization/spreadsheet-localization.service.mjs +3 -3
  15. package/{esm2020 → esm2022}/package-metadata.mjs +2 -2
  16. package/{esm2020 → esm2022}/sheets-bar/action-dialog.component.mjs +8 -4
  17. package/{esm2020 → esm2022}/sheets-bar/sheets-bar.component.mjs +138 -116
  18. package/{esm2020 → esm2022}/spreadsheet.component.mjs +236 -194
  19. package/{esm2020 → esm2022}/spreadsheet.module.mjs +4 -4
  20. package/{esm2020 → esm2022}/tools/align/align-tool.directive.mjs +8 -5
  21. package/{esm2020 → esm2022}/tools/align/horizontal-align-tool.directive.mjs +8 -5
  22. package/{esm2020 → esm2022}/tools/align/vertical-align-tool.directive.mjs +8 -5
  23. package/{esm2020 → esm2022}/tools/colorpicker/spreadsheet-backcolor.component.mjs +32 -28
  24. package/{esm2020 → esm2022}/tools/colorpicker/spreadsheet-forecolor.component.mjs +32 -28
  25. package/{esm2020 → esm2022}/tools/decrease-decimal-tool.directive.mjs +3 -3
  26. package/{esm2020 → esm2022}/tools/font-family/font-family-dropdownlist.component.mjs +6 -4
  27. package/{esm2020 → esm2022}/tools/font-family/spreadsheet-fontfamily-tool.component.mjs +4 -4
  28. package/{esm2020 → esm2022}/tools/font-size/decrease-font-tool.directive.mjs +4 -3
  29. package/{esm2020 → esm2022}/tools/font-size/font-size-dropdownlist.component.mjs +6 -4
  30. package/{esm2020 → esm2022}/tools/font-size/increase-font-tool.directive.mjs +4 -3
  31. package/{esm2020 → esm2022}/tools/font-size/spreadsheet-fontsize-tool.component.mjs +4 -4
  32. package/{esm2020 → esm2022}/tools/format-tool.directive.mjs +19 -16
  33. package/{esm2020 → esm2022}/tools/gridlines-tool.directive.mjs +3 -3
  34. package/{esm2020 → esm2022}/tools/history/redo-tool.mjs +3 -3
  35. package/{esm2020 → esm2022}/tools/history/undo-tool.mjs +3 -3
  36. package/{esm2020 → esm2022}/tools/increase-decimal-tool.directive.mjs +3 -3
  37. package/{esm2020 → esm2022}/tools/insert/insert-link-dialog.component.mjs +7 -5
  38. package/{esm2020 → esm2022}/tools/insert/insert-link-tool.directive.mjs +5 -3
  39. package/{esm2020 → esm2022}/tools/load-file.component.mjs +27 -28
  40. package/{esm2020 → esm2022}/tools/save-file-tool.directive.mjs +7 -4
  41. package/{esm2020 → esm2022}/tools/shared/dialog-content.component.mjs +10 -5
  42. package/{esm2020 → esm2022}/tools/shared/spreadsheet-command-base.mjs +9 -4
  43. package/{esm2020 → esm2022}/tools/shared/spreadsheet-command-button.mjs +6 -0
  44. package/{esm2020 → esm2022}/tools/shared/spreadsheet-dropdown-tools-base.mjs +25 -18
  45. package/{esm2020 → esm2022}/tools/shared/spreadsheet-dropdownlist.base.mjs +12 -8
  46. package/{esm2020 → esm2022}/tools/tables/add-column-left-button.directive.mjs +3 -3
  47. package/{esm2020 → esm2022}/tools/tables/add-column-right-button.directive.mjs +3 -3
  48. package/{esm2020 → esm2022}/tools/tables/add-row-above-button.directive.mjs +3 -3
  49. package/{esm2020 → esm2022}/tools/tables/add-row-below-button.directive.mjs +3 -3
  50. package/{esm2020 → esm2022}/tools/tables/delete-column-button.directive.mjs +3 -3
  51. package/{esm2020 → esm2022}/tools/tables/delete-row-button.directive.mjs +3 -3
  52. package/{esm2020 → esm2022}/tools/tables/merge-tool.directive.mjs +8 -5
  53. package/{esm2020 → esm2022}/tools/text-wrap-tool.directive.mjs +3 -3
  54. package/esm2022/tools/tools.service.mjs +61 -0
  55. package/{esm2020 → esm2022}/tools/typographical-emphasis/bold-tool.directive.mjs +3 -3
  56. package/{esm2020 → esm2022}/tools/typographical-emphasis/italic-tool.directive.mjs +3 -3
  57. package/{esm2020 → esm2022}/tools/typographical-emphasis/underline-tool.directive.mjs +3 -3
  58. package/{fesm2020 → fesm2022}/progress-kendo-angular-spreadsheet.mjs +1194 -709
  59. package/localization/messages.d.ts +1 -1
  60. package/models/sheet-info.d.ts +2 -2
  61. package/package.json +26 -32
  62. package/schematics/ngAdd/index.js +2 -2
  63. package/sheets-bar/sheets-bar.component.d.ts +1 -1
  64. package/spreadsheet.component.d.ts +1 -1
  65. package/tools/load-file.component.d.ts +0 -3
  66. package/tools/shared/commands.d.ts +1 -1
  67. package/tools/shared/spreadsheet-dropdown-tools-base.d.ts +1 -3
  68. package/tools/shared/spreadsheet-dropdownlist.base.d.ts +1 -1
  69. package/esm2020/localization/messages.mjs +0 -175
  70. package/esm2020/tools/tools.service.mjs +0 -60
  71. package/fesm2015/progress-kendo-angular-spreadsheet.mjs +0 -4580
  72. /package/{esm2020 → esm2022}/common/sheet-changes.mjs +0 -0
  73. /package/{esm2020 → esm2022}/directives.mjs +0 -0
  74. /package/{esm2020 → esm2022}/index.mjs +0 -0
  75. /package/{esm2020 → esm2022}/models/events.mjs +0 -0
  76. /package/{esm2020 → esm2022}/models/index.mjs +0 -0
  77. /package/{esm2020 → esm2022}/models/main-menu-item.mjs +0 -0
  78. /package/{esm2020 → esm2022}/models/sheet-info.mjs +0 -0
  79. /package/{esm2020 → esm2022}/progress-kendo-angular-spreadsheet.mjs +0 -0
  80. /package/{esm2020 → esm2022}/sheets-bar/utils.mjs +0 -0
  81. /package/{esm2020 → esm2022}/tools/index.mjs +0 -0
  82. /package/{esm2020 → esm2022}/tools/shared/command-icons.mjs +0 -0
  83. /package/{esm2020 → esm2022}/tools/shared/commands.mjs +0 -0
  84. /package/{esm2020 → esm2022}/tools/shared/constants.mjs +0 -0
  85. /package/{esm2020 → esm2022}/tools/tables/index.mjs +0 -0
  86. /package/{esm2020 → esm2022}/tools/utils.mjs +0 -0
  87. /package/{esm2020 → esm2022}/utils.mjs +0 -0
package/README.md CHANGED
@@ -1,31 +1,42 @@
1
- <a href="https://www.telerik.com/kendo-angular-ui/" target="_blank">
1
+ <a href="https://www.telerik.com/kendo-angular-ui/components/spreadsheet" target="_blank">
2
2
  <img width="631" src="https://www.telerik.com/kendo-angular-ui/npm-banner.svg">
3
3
  </a>
4
4
 
5
5
  ## Kendo UI for Angular Spreadsheet Component
6
6
 
7
- > **Important**
8
- >
9
- > - This package is part of [Kendo UI for Angular](https://www.telerik.com/kendo-angular-ui?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-angular-trial-spreadsheet)&mdash;a commercial library designed and built for developing business applications with Angular. Every UI component in the Kendo UI for Angular suite has been built from the ground-up specifically for Angular.
10
- > - You will need to install a license key when adding the package to your project. For more information, please refer to the [Kendo UI for Angular My License page](https://www.telerik.com/kendo-angular-ui/my-license?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-angular-trial-spreadsheet).
11
- > - To receive a license key, you need to either [purchase a license](https://www.telerik.com/purchase/kendo-ui?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-angular-trial-spreadsheet) or register for a [free trial](https://www.telerik.com/download-login-v2-kendo-angular-ui?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-angular-trial-spreadsheet). Doing so indicates that you [accept the Kendo UI for Angular License Agreement](https://www.telerik.com/purchase/license-agreement/kendo-ui?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-angular-trial-spreadsheet).
12
- > - The 30-day free trial gives you access to all the Kendo UI for Angular components and their full functionality. Additionally, for the period of your license, you get access to our legendary technical support provided directly by the Kendo UI for Angular dev team!
13
- >
14
- > [Start using Kendo UI for Angular](https://www.telerik.com/download-login-v2-kendo-angular-ui?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-angular-trial-spreadsheet) and speed up your development process!
7
+ > * This package is part of the [Kendo UI for Angular](https://www.telerik.com/kendo-angular-ui/)&mdash;a commercial UI library.
8
+ > * You must [install a license key](https://www.telerik.com/kendo-angular-ui/my-license) when adding the package to your project. To receive a license key, either [purchase a license](https://www.telerik.com/purchase/kendo-ui) or register for a [free trial](https://www.telerik.com/download-login-v2-kendo-angular-ui).
9
+ > * The 30-day free trial gives you access to all the Kendo UI for Angular components and their full functionality. Additionally, for the period of your license, you get access to our legendary technical support provided directly by the Kendo UI for Angular team!
15
10
 
16
- ## Resources
11
+ The Kendo UI for Angular Spreadsheet allows you to create, edit, and manipulate tabular data with ease. Just like in an MS Excel spreadsheet, you can edit, resize columns and rows, calculate formulas, import and export to Excel, and many more.
12
+
13
+ ## Key Features
14
+
15
+ Among the many features which the Kendo UI for Angular Spreadsheet delivers are:
16
+
17
+ * Toolbar Tools&mdash;The Spreadsheet component provides a variety of built-in tools that help you to create, edit, and style the sheet data. [Read more about the built-in toolbar tools of the Spreadsheet...](https://www.telerik.com/kendo-angular-ui/components/spreadsheet/tools)
18
+ * Action Bar&mdash;The Spreadsheet action bar allows you to control the cell selection and calculate cell values by entering formulas into the dedicated formula input. [Read more about the action bar capabilities of the Spreadsheet...](https://www.telerik.com/kendo-angular-ui/components/spreadsheet/action-bar)
19
+ * Sheets Bar&mdash;The sheets bar provides a convenient way to rename, duplicate, and delete sheets as necessary. [Read more about the sheets bar options of the Spreadsheet...](https://www.telerik.com/kendo-angular-ui/components/spreadsheet/sheets-bar)
20
+ * Appearance&mdash;You can use the options provided by the Spreadsheet component to customize its appearance. [Read more about the customizable appearance of the Spreadsheet...](https://www.telerik.com/kendo-angular-ui/components/spreadsheet/appearance)
21
+ * Events&mdash;The Spreadsheet exposes several events to let you easily handle any file operations logic. [Read more about the events of the Spreadsheet...](https://www.telerik.com/kendo-angular-ui/components/spreadsheet/events)
22
+ * Accessibility&mdash;The Spreadsheet is accessible for screen readers and supports WAI-ARIA attributes. [Read more about the accessibility of the Spreadsheet...](https://www.telerik.com/kendo-angular-ui/components/spreadsheet/accessibility)
23
+ * Keyboard Navigation&mdash;The Spreadsheet supports a number of keyboard shortcuts which allow users to accomplish various commands. [Read more about the keyboard navigation of the Spreadsheet...](https://www.telerik.com/kendo-angular-ui/components/spreadsheet/keyboard-navigation)
17
24
 
18
- - [Get Started with Kendo UI for Angular (requires trial registration)](https://www.telerik.com/kendo-angular-ui/getting-started)
19
- - [Demos, documentation, and component reference](https://www.telerik.com/kendo-angular-ui/components)
20
- - [Blogs](http://www.telerik.com/blogs/kendo-ui)
21
- - [Kendo UI for Angular pricing and licensing](https://www.telerik.com/purchase/kendo-ui)
25
+ ## Support Options
22
26
 
23
- ## Questions and Feedback
27
+ For any issues you might encounter while working with the Kendo UI for Angular Spreadsheet, you have the following support channels available:
28
+
29
+ * Industry-leading technical support&mdash;Kendo UI for Angular paid license holders and users with an active (free) trial license can take advantage of our outstanding customer support. To submit a ticket, use the [dedicated Kendo UI for Angular support system](https://www.telerik.com/account/support-center/contact-us/technical-support).
30
+ * Product forums&mdash;The [Kendo UI for Angular forums](https://www.telerik.com/forums/kendo-angular-ui) are part of the free support you can get from the community and from the Kendo UI for Angular team.
31
+ * Feedback portal&mdash;The [Kendo UI for Angular feedback portal](https://feedback.telerik.com/kendo-angular-ui) is where you can request and vote for new features to be added.
32
+
33
+ ## Resources
24
34
 
25
- - [Official Forums](https://www.telerik.com/forums/kendo-angular-ui)
26
- - [GitHub Issues](https://github.com/telerik/kendo-angular/issues)
27
- - [Feedback Portal](https://feedback.telerik.com/kendo-angular-ui)
28
- - [StackOverflow](https://stackoverflow.com/questions/tagged/kendo-ui-angular2)
35
+ * [Getting Started with Kendo UI for Angular](https://www.telerik.com/kendo-angular-ui/getting-started)
36
+ * [Getting Started with the Kendo UI for Angular Spreadsheet](https://www.telerik.com/kendo-angular-ui/components/spreadsheet/installation/getting-started)
37
+ * [Demos, documentation, and component reference](https://www.telerik.com/kendo-angular-ui/components)
38
+ * [Blogs](http://www.telerik.com/blogs/kendo-ui)
39
+ * [Kendo UI for Angular pricing and licensing](https://www.telerik.com/purchase/kendo-ui)
29
40
 
30
41
  _Copyright © 2024 Progress Software Corporation and/or one of its subsidiaries or affiliates. All rights reserved._
31
42
 
@@ -34,5 +34,5 @@ export declare class FormulaInputDirective {
34
34
  private unfocus;
35
35
  private focusNext;
36
36
  static ɵfac: i0.ɵɵFactoryDeclaration<FormulaInputDirective, never>;
37
- static ɵdir: i0.ɵɵDirectiveDeclaration<FormulaInputDirective, "[kendoSpreadsheetFormulaInput]", never, { "formulaListMaxHeight": "formulaListMaxHeight"; }, {}, never, never, true, never>;
37
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FormulaInputDirective, "[kendoSpreadsheetFormulaInput]", never, { "formulaListMaxHeight": { "alias": "formulaListMaxHeight"; "required": false; }; }, {}, never, never, true, never>;
38
38
  }
@@ -2,7 +2,7 @@
2
2
  * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- import { ElementRef } from '@angular/core';
5
+ import { ElementRef, Renderer2 } from '@angular/core';
6
6
  import { SVGIcon } from '@progress/kendo-svg-icons';
7
7
  import { SpreadsheetService } from '../common/spreadsheet.service';
8
8
  import * as i0 from "@angular/core";
@@ -12,13 +12,14 @@ import * as i0 from "@angular/core";
12
12
  export declare class FormulaListComponent {
13
13
  element: ElementRef;
14
14
  private spreadsheetService;
15
- id: string;
15
+ private renderer;
16
16
  maxHeight: string;
17
17
  data: any[];
18
18
  itemClick: (value: any) => void;
19
19
  formulaFxIcon: SVGIcon;
20
- constructor(element: ElementRef, spreadsheetService: SpreadsheetService);
20
+ constructor(element: ElementRef, spreadsheetService: SpreadsheetService, renderer: Renderer2);
21
+ ngOnInit(): void;
21
22
  handleMouseDown: (ev: MouseEvent) => void;
22
23
  static ɵfac: i0.ɵɵFactoryDeclaration<FormulaListComponent, never>;
23
- static ɵcmp: i0.ɵɵComponentDeclaration<FormulaListComponent, "kendo-spreadsheet-formula-list", never, { "maxHeight": "maxHeight"; "data": "data"; "itemClick": "itemClick"; }, {}, never, never, true, never>;
24
+ static ɵcmp: i0.ɵɵComponentDeclaration<FormulaListComponent, "kendo-spreadsheet-formula-list", never, { "maxHeight": { "alias": "maxHeight"; "required": false; }; "data": { "alias": "data"; "required": false; }; "itemClick": { "alias": "itemClick"; "required": false; }; }, {}, never, never, true, never>;
24
25
  }
@@ -32,5 +32,5 @@ export declare class NameBoxComponent implements AfterViewInit {
32
32
  name: string;
33
33
  }>;
34
34
  static ɵfac: i0.ɵɵFactoryDeclaration<NameBoxComponent, never>;
35
- static ɵcmp: i0.ɵɵComponentDeclaration<NameBoxComponent, "[kendoSpreadsheetNameBox]", never, { "data": "data"; "spreadsheetWidget": "spreadsheetWidget"; }, {}, never, never, true, never>;
35
+ static ɵcmp: i0.ɵɵComponentDeclaration<NameBoxComponent, "[kendoSpreadsheetNameBox]", never, { "data": { "alias": "data"; "required": false; }; "spreadsheetWidget": { "alias": "spreadsheetWidget"; "required": false; }; }, {}, never, never, true, never>;
36
36
  }
@@ -15,63 +15,31 @@ import * as i3 from "../localization/spreadsheet-localization.service";
15
15
  * @hidden
16
16
  */
17
17
  export class FormulaInputDirective {
18
- constructor(element, popupService, spreadsheetService, localization) {
19
- this.element = element;
20
- this.popupService = popupService;
21
- this.spreadsheetService = spreadsheetService;
22
- this.localization = localization;
23
- this.hostClasses = true;
24
- this.role = 'combobox';
25
- this.ariaHasPopup = 'menu';
26
- this.ariaExpanded = 'false';
27
- this.focusedItem = () => this.list?.element.nativeElement.querySelector('.k-focus');
28
- this.unfocus = () => {
29
- const focused = this.focusedItem();
30
- if (focused) {
31
- focused.classList.remove('k-focus');
32
- }
33
- };
34
- this.focusNext = (dir) => {
35
- const element = this.list?.element.nativeElement.firstElementChild;
36
- const items = Array.from((element && element.children) || []);
37
- const focused = this.focusedItem();
38
- let next;
39
- if (focused) {
40
- const index = items.indexOf(focused);
41
- focused.classList.remove('k-focus');
42
- next = items[index + dir] ? items[index + dir] : (dir === 1 ? items[0] : items[items.length - 1]);
43
- }
44
- else {
45
- next = (dir === 1 ? items[0] : items[items.length - 1]);
46
- }
47
- if (next) {
48
- next.classList.add('k-focus');
49
- const { offsetTop, offsetHeight, parentElement } = next;
50
- if (dir > 0) {
51
- if (offsetTop + offsetHeight >= parentElement.offsetHeight + parentElement.scrollTop) {
52
- parentElement.scrollTop = Math.min(parentElement.scrollTop + offsetHeight, parentElement.scrollHeight - parentElement.offsetHeight);
53
- }
54
- if (next === items[0]) {
55
- next.scrollIntoView();
56
- }
57
- }
58
- else {
59
- if (offsetTop <= parentElement.scrollTop) {
60
- parentElement.scrollTop = Math.max(parentElement.scrollTop - offsetHeight, 0);
61
- }
62
- if (next === items[items.length - 1]) {
63
- next.scrollIntoView();
64
- }
65
- }
66
- }
67
- };
68
- }
18
+ element;
19
+ popupService;
20
+ spreadsheetService;
21
+ localization;
22
+ hostClasses = true;
69
23
  get title() {
70
24
  return this.localization.get('formulaInput');
71
25
  }
26
+ role = 'combobox';
27
+ ariaHasPopup = 'menu';
28
+ ariaExpanded = 'false';
72
29
  get ariaControls() {
73
30
  return this.ariaExpanded === 'true' ? this.spreadsheetService.formulaListId : null;
74
31
  }
32
+ formulaListMaxHeight;
33
+ list;
34
+ data;
35
+ constructor(element, popupService, spreadsheetService, localization) {
36
+ this.element = element;
37
+ this.popupService = popupService;
38
+ this.spreadsheetService = spreadsheetService;
39
+ this.localization = localization;
40
+ }
41
+ popupRef;
42
+ handler;
75
43
  get listElement() {
76
44
  return this.list?.element.nativeElement.firstElementChild;
77
45
  }
@@ -144,10 +112,51 @@ export class FormulaInputDirective {
144
112
  }
145
113
  };
146
114
  }
115
+ focusedItem = () => this.list?.element.nativeElement.querySelector('.k-focus');
116
+ unfocus = () => {
117
+ const focused = this.focusedItem();
118
+ if (focused) {
119
+ focused.classList.remove('k-focus');
120
+ }
121
+ };
122
+ focusNext = (dir) => {
123
+ const element = this.list?.element.nativeElement.firstElementChild;
124
+ const items = Array.from((element && element.children) || []);
125
+ const focused = this.focusedItem();
126
+ let next;
127
+ if (focused) {
128
+ const index = items.indexOf(focused);
129
+ focused.classList.remove('k-focus');
130
+ next = items[index + dir] ? items[index + dir] : (dir === 1 ? items[0] : items[items.length - 1]);
131
+ }
132
+ else {
133
+ next = (dir === 1 ? items[0] : items[items.length - 1]);
134
+ }
135
+ if (next) {
136
+ next.classList.add('k-focus');
137
+ const { offsetTop, offsetHeight, parentElement } = next;
138
+ if (dir > 0) {
139
+ if (offsetTop + offsetHeight >= parentElement.offsetHeight + parentElement.scrollTop) {
140
+ parentElement.scrollTop = Math.min(parentElement.scrollTop + offsetHeight, parentElement.scrollHeight - parentElement.offsetHeight);
141
+ }
142
+ if (next === items[0]) {
143
+ next.scrollIntoView();
144
+ }
145
+ }
146
+ else {
147
+ if (offsetTop <= parentElement.scrollTop) {
148
+ parentElement.scrollTop = Math.max(parentElement.scrollTop - offsetHeight, 0);
149
+ }
150
+ if (next === items[items.length - 1]) {
151
+ next.scrollIntoView();
152
+ }
153
+ }
154
+ }
155
+ };
156
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormulaInputDirective, deps: [{ token: i0.ElementRef }, { token: i1.PopupService }, { token: i2.SpreadsheetService }, { token: i3.SpreadsheetLocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
157
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: FormulaInputDirective, isStandalone: true, selector: "[kendoSpreadsheetFormulaInput]", inputs: { formulaListMaxHeight: "formulaListMaxHeight" }, host: { properties: { "class.k-spreadsheet-formula-input": "this.hostClasses", "attr.title": "this.title", "attr.role": "this.role", "attr.aria-haspopup": "this.ariaHasPopup", "attr.aria-expanded": "this.ariaExpanded", "attr.aria-controls": "this.ariaControls" } }, ngImport: i0 });
147
158
  }
148
- FormulaInputDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FormulaInputDirective, deps: [{ token: i0.ElementRef }, { token: i1.PopupService }, { token: i2.SpreadsheetService }, { token: i3.SpreadsheetLocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
149
- FormulaInputDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: FormulaInputDirective, isStandalone: true, selector: "[kendoSpreadsheetFormulaInput]", inputs: { formulaListMaxHeight: "formulaListMaxHeight" }, host: { properties: { "class.k-spreadsheet-formula-input": "this.hostClasses", "attr.title": "this.title", "attr.role": "this.role", "attr.aria-haspopup": "this.ariaHasPopup", "attr.aria-expanded": "this.ariaExpanded", "attr.aria-controls": "this.ariaControls" } }, ngImport: i0 });
150
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FormulaInputDirective, decorators: [{
159
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormulaInputDirective, decorators: [{
151
160
  type: Directive,
152
161
  args: [{
153
162
  selector: '[kendoSpreadsheetFormulaInput]',
@@ -2,7 +2,7 @@
2
2
  * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- import { Component, ElementRef, HostBinding, Input } from '@angular/core';
5
+ import { Component, ElementRef, Input, Renderer2 } from '@angular/core';
6
6
  import { NgFor } from '@angular/common';
7
7
  import { formulaFxIcon } from '@progress/kendo-svg-icons';
8
8
  import { IconWrapperComponent } from '@progress/kendo-angular-icons';
@@ -14,19 +14,26 @@ import * as i1 from "../common/spreadsheet.service";
14
14
  * @hidden
15
15
  */
16
16
  export class FormulaListComponent {
17
- constructor(element, spreadsheetService) {
17
+ element;
18
+ spreadsheetService;
19
+ renderer;
20
+ maxHeight;
21
+ data = [];
22
+ itemClick;
23
+ formulaFxIcon = formulaFxIcon;
24
+ constructor(element, spreadsheetService, renderer) {
18
25
  this.element = element;
19
26
  this.spreadsheetService = spreadsheetService;
20
- this.id = this.spreadsheetService.formulaListId;
21
- this.data = [];
22
- this.formulaFxIcon = formulaFxIcon;
23
- this.handleMouseDown = (ev) => {
24
- ev.preventDefault();
25
- };
27
+ this.renderer = renderer;
26
28
  }
27
- }
28
- FormulaListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FormulaListComponent, deps: [{ token: i0.ElementRef }, { token: i1.SpreadsheetService }], target: i0.ɵɵFactoryTarget.Component });
29
- FormulaListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: FormulaListComponent, isStandalone: true, selector: "kendo-spreadsheet-formula-list", inputs: { maxHeight: "maxHeight", data: "data", itemClick: "itemClick" }, host: { properties: { "attr.id": "this.id" } }, ngImport: i0, template: `
29
+ ngOnInit() {
30
+ this.renderer.setAttribute(this.element.nativeElement, 'id', this.spreadsheetService.formulaListId);
31
+ }
32
+ handleMouseDown = (ev) => {
33
+ ev.preventDefault();
34
+ };
35
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormulaListComponent, deps: [{ token: i0.ElementRef }, { token: i1.SpreadsheetService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
36
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FormulaListComponent, isStandalone: true, selector: "kendo-spreadsheet-formula-list", inputs: { maxHeight: "maxHeight", data: "data", itemClick: "itemClick" }, ngImport: i0, template: `
30
37
  <ul #ulRef
31
38
  class="k-spreadsheet-formula-list k-list-ul k-list-md k-group k-reset"
32
39
  role="menu"
@@ -45,7 +52,8 @@ FormulaListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", v
45
52
  </li>
46
53
  </ul>
47
54
  `, isInline: true, dependencies: [{ kind: "directive", type: EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }] });
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FormulaListComponent, decorators: [{
55
+ }
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormulaListComponent, decorators: [{
49
57
  type: Component,
50
58
  args: [{
51
59
  selector: 'kendo-spreadsheet-formula-list',
@@ -71,10 +79,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
71
79
  standalone: true,
72
80
  imports: [EventsOutsideAngularDirective, NgFor, IconWrapperComponent]
73
81
  }]
74
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.SpreadsheetService }]; }, propDecorators: { id: [{
75
- type: HostBinding,
76
- args: ['attr.id']
77
- }], maxHeight: [{
82
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.SpreadsheetService }, { type: i0.Renderer2 }]; }, propDecorators: { maxHeight: [{
78
83
  type: Input
79
84
  }], data: [{
80
85
  type: Input
@@ -13,14 +13,11 @@ import * as i1 from "../localization/spreadsheet-localization.service";
13
13
  * @hidden
14
14
  */
15
15
  export class NameBoxComponent {
16
- constructor(ngZone, host, localization, renderer) {
17
- this.ngZone = ngZone;
18
- this.host = host;
19
- this.localization = localization;
20
- this.renderer = renderer;
21
- this.hostClass = true;
22
- this.valueNormalizer = (text) => text.pipe(map((content) => ({ name: content })));
23
- }
16
+ ngZone;
17
+ host;
18
+ localization;
19
+ renderer;
20
+ hostClass = true;
24
21
  keyDownHandler() {
25
22
  const editor = this.spreadsheetWidget.view.nameEditor;
26
23
  if (editor) {
@@ -28,10 +25,20 @@ export class NameBoxComponent {
28
25
  editor.trigger('enter', { value: name });
29
26
  }
30
27
  }
28
+ combobox;
29
+ data;
30
+ spreadsheetWidget;
31
+ constructor(ngZone, host, localization, renderer) {
32
+ this.ngZone = ngZone;
33
+ this.host = host;
34
+ this.localization = localization;
35
+ this.renderer = renderer;
36
+ }
31
37
  ngAfterViewInit() {
32
38
  this.renderer.setAttribute(this.inputElement, 'title', this.title);
33
39
  this.renderer.setAttribute(this.inputElement, 'aria-label', this.title);
34
40
  }
41
+ value;
35
42
  get inputElement() {
36
43
  return this.host.nativeElement.querySelector('.k-input-inner');
37
44
  }
@@ -69,9 +76,9 @@ export class NameBoxComponent {
69
76
  this.data = editor.readData();
70
77
  }
71
78
  }
72
- }
73
- NameBoxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NameBoxComponent, deps: [{ token: i0.NgZone }, { token: i0.ElementRef }, { token: i1.SpreadsheetLocalizationService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
74
- NameBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: NameBoxComponent, isStandalone: true, selector: "[kendoSpreadsheetNameBox]", inputs: { data: "data", spreadsheetWidget: "spreadsheetWidget" }, host: { listeners: { "keydown.enter": "keyDownHandler()" }, properties: { "class.k-spreadsheet-name-editor": "this.hostClass" } }, viewQueries: [{ propertyName: "combobox", first: true, predicate: ["combobox"], descendants: true }], ngImport: i0, template: `
79
+ valueNormalizer = (text) => text.pipe(map((content) => ({ name: content })));
80
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NameBoxComponent, deps: [{ token: i0.NgZone }, { token: i0.ElementRef }, { token: i1.SpreadsheetLocalizationService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
81
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NameBoxComponent, isStandalone: true, selector: "[kendoSpreadsheetNameBox]", inputs: { data: "data", spreadsheetWidget: "spreadsheetWidget" }, host: { listeners: { "keydown.enter": "keyDownHandler()" }, properties: { "class.k-spreadsheet-name-editor": "this.hostClass" } }, viewQueries: [{ propertyName: "combobox", first: true, predicate: ["combobox"], descendants: true }], ngImport: i0, template: `
75
82
  <kendo-combobox #combobox
76
83
  [popupSettings]="{popupClass: 'k-spreadsheet-names-popup'}"
77
84
  fillMode="flat"
@@ -87,7 +94,8 @@ NameBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", versi
87
94
  [attr.title]="title"
88
95
  ></kendo-combobox>
89
96
  `, isInline: true, dependencies: [{ kind: "component", type: ComboBoxComponent, selector: "kendo-combobox", inputs: ["icon", "svgIcon", "inputAttributes", "showStickyHeader", "focusableId", "allowCustom", "data", "value", "textField", "valueField", "valuePrimitive", "valueNormalizer", "placeholder", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "loading", "suggest", "clearButton", "disabled", "itemDisabled", "readonly", "tabindex", "tabIndex", "filterable", "virtual", "size", "rounded", "fillMode"], outputs: ["valueChange", "selectionChange", "filterChange", "open", "opened", "close", "closed", "focus", "blur", "inputFocus", "inputBlur", "escape"], exportAs: ["kendoComboBox"] }] });
90
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NameBoxComponent, decorators: [{
97
+ }
98
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NameBoxComponent, decorators: [{
91
99
  type: Component,
92
100
  args: [{
93
101
  selector: '[kendoSpreadsheetNameBox]',
@@ -17,13 +17,18 @@ import * as i3 from "@progress/kendo-angular-dialog";
17
17
  * @hidden
18
18
  */
19
19
  export class ErrorHandlingService {
20
+ spreadsheetService;
21
+ localization;
22
+ dialogService;
23
+ spreadsheet;
24
+ sheetsChanged = new Subject();
25
+ activeSheetChanged = new Subject();
26
+ selectionChanged = new Subject();
27
+ dialogContainer;
20
28
  constructor(spreadsheetService, localization, dialogService) {
21
29
  this.spreadsheetService = spreadsheetService;
22
30
  this.localization = localization;
23
31
  this.dialogService = dialogService;
24
- this.sheetsChanged = new Subject();
25
- this.activeSheetChanged = new Subject();
26
- this.selectionChanged = new Subject();
27
32
  }
28
33
  set currentActiveSheet(value) {
29
34
  this._currentActiveSheet = value;
@@ -34,6 +39,7 @@ export class ErrorHandlingService {
34
39
  get activeSheet() {
35
40
  return this.spreadsheet.activeSheet()?.name();
36
41
  }
42
+ _currentActiveSheet;
37
43
  notifySheetsChange(actionType, sheetInfo) {
38
44
  const sheets = this.spreadsheet.sheets();
39
45
  this.sheetsChanged.next({ sheets, sheet: sheetInfo, actionType });
@@ -79,9 +85,9 @@ export class ErrorHandlingService {
79
85
  messageFor(text) {
80
86
  return this.localization.get(text);
81
87
  }
88
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ErrorHandlingService, deps: [{ token: i1.SpreadsheetService }, { token: i2.LocalizationService }, { token: i3.DialogService }], target: i0.ɵɵFactoryTarget.Injectable });
89
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ErrorHandlingService });
82
90
  }
83
- ErrorHandlingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ErrorHandlingService, deps: [{ token: i1.SpreadsheetService }, { token: i2.LocalizationService }, { token: i3.DialogService }], target: i0.ɵɵFactoryTarget.Injectable });
84
- ErrorHandlingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ErrorHandlingService });
85
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ErrorHandlingService, decorators: [{
91
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ErrorHandlingService, decorators: [{
86
92
  type: Injectable
87
93
  }], ctorParameters: function () { return [{ type: i1.SpreadsheetService }, { type: i2.LocalizationService }, { type: i3.DialogService }]; } });
@@ -9,6 +9,8 @@ import * as i0 from "@angular/core";
9
9
  * @hidden
10
10
  */
11
11
  export class MainMenuDirective {
12
+ host;
13
+ renderer;
12
14
  constructor(host, renderer) {
13
15
  this.host = host;
14
16
  this.renderer = renderer;
@@ -16,10 +18,10 @@ export class MainMenuDirective {
16
18
  ngAfterViewInit() {
17
19
  isDocumentAvailable() && this.renderer.addClass(this.host.nativeElement.firstElementChild, 'k-spreadsheet-menu');
18
20
  }
21
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MainMenuDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
22
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: MainMenuDirective, isStandalone: true, selector: "[kendoSpreadsheetMenu]", ngImport: i0 });
19
23
  }
20
- MainMenuDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MainMenuDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
21
- MainMenuDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: MainMenuDirective, isStandalone: true, selector: "[kendoSpreadsheetMenu]", ngImport: i0 });
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MainMenuDirective, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MainMenuDirective, decorators: [{
23
25
  type: Directive,
24
26
  args: [{
25
27
  selector: '[kendoSpreadsheetMenu]',
@@ -10,11 +10,13 @@ let spreadsheetCounter = 0;
10
10
  * @hidden
11
11
  */
12
12
  export class SpreadsheetService {
13
+ spreadsheet;
14
+ sheetsChanged = new Subject();
15
+ onSheetsBarFocus = new Subject();
16
+ activeSheetChanged = new Subject();
17
+ selectionChanged = new Subject();
18
+ dialogContainer;
13
19
  constructor() {
14
- this.sheetsChanged = new Subject();
15
- this.onSheetsBarFocus = new Subject();
16
- this.activeSheetChanged = new Subject();
17
- this.selectionChanged = new Subject();
18
20
  spreadsheetCounter++;
19
21
  }
20
22
  set currentActiveSheet(value) {
@@ -32,13 +34,14 @@ export class SpreadsheetService {
32
34
  get tablistId() {
33
35
  return `k-spreadsheet-${spreadsheetCounter}-tablist`;
34
36
  }
37
+ _currentActiveSheet;
35
38
  notifySheetsChange(actionType, sheetInfo) {
36
39
  const sheets = this.spreadsheet.sheets();
37
40
  this.sheetsChanged.next({ sheets, sheet: sheetInfo, actionType });
38
41
  }
42
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SpreadsheetService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
43
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SpreadsheetService });
39
44
  }
40
- SpreadsheetService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
41
- SpreadsheetService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetService });
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetService, decorators: [{
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SpreadsheetService, decorators: [{
43
46
  type: Injectable
44
47
  }], ctorParameters: function () { return []; } });
@@ -11,6 +11,7 @@ import * as i1 from "@progress/kendo-angular-l10n";
11
11
  * Custom component messages override default component messages.
12
12
  */
13
13
  export class CustomMessagesComponent extends MessagesDirective {
14
+ service;
14
15
  constructor(service) {
15
16
  super();
16
17
  this.service = service;
@@ -18,15 +19,15 @@ export class CustomMessagesComponent extends MessagesDirective {
18
19
  get override() {
19
20
  return true;
20
21
  }
22
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CustomMessagesComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
23
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: CustomMessagesComponent, isStandalone: true, selector: "kendo-spreadsheet-messages", providers: [
24
+ {
25
+ provide: MessagesDirective,
26
+ useExisting: forwardRef(() => CustomMessagesComponent)
27
+ }
28
+ ], usesInheritance: true, ngImport: i0 });
21
29
  }
22
- CustomMessagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CustomMessagesComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
23
- CustomMessagesComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: CustomMessagesComponent, isStandalone: true, selector: "kendo-spreadsheet-messages", providers: [
24
- {
25
- provide: MessagesDirective,
26
- useExisting: forwardRef(() => CustomMessagesComponent)
27
- }
28
- ], usesInheritance: true, ngImport: i0 });
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CustomMessagesComponent, decorators: [{
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CustomMessagesComponent, decorators: [{
30
31
  type: Directive,
31
32
  args: [{
32
33
  providers: [
@@ -11,17 +11,18 @@ import * as i1 from "@progress/kendo-angular-l10n";
11
11
  * @hidden
12
12
  */
13
13
  export class LocalizedMessagesDirective extends MessagesDirective {
14
+ service;
14
15
  constructor(service) {
15
16
  super();
16
17
  this.service = service;
17
18
  }
19
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LocalizedMessagesDirective, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
20
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: LocalizedMessagesDirective, isStandalone: true, selector: "[kendoSpreadsheetLocalizedMessages]", providers: [{
21
+ provide: MessagesDirective,
22
+ useExisting: forwardRef(() => LocalizedMessagesDirective)
23
+ }], usesInheritance: true, ngImport: i0 });
18
24
  }
19
- LocalizedMessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LocalizedMessagesDirective, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
20
- LocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: LocalizedMessagesDirective, isStandalone: true, selector: "[kendoSpreadsheetLocalizedMessages]", providers: [{
21
- provide: MessagesDirective,
22
- useExisting: forwardRef(() => LocalizedMessagesDirective)
23
- }], usesInheritance: true, ngImport: i0 });
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LocalizedMessagesDirective, decorators: [{
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LocalizedMessagesDirective, decorators: [{
25
26
  type: Directive,
26
27
  args: [{
27
28
  providers: [{