@syncfusion/ej2-angular-spreadsheet 34.2.8-ngcc → 34.2.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/CHANGELOG.md +1712 -0
  2. package/README.md +125 -54
  3. package/esm2020/public_api.mjs +2 -0
  4. package/esm2020/src/index.mjs +15 -0
  5. package/esm2020/src/spreadsheet/cells.directive.mjs +73 -0
  6. package/esm2020/src/spreadsheet/chart.directive.mjs +46 -0
  7. package/esm2020/src/spreadsheet/columns.directive.mjs +61 -0
  8. package/esm2020/src/spreadsheet/conditionalformats.directive.mjs +61 -0
  9. package/esm2020/src/spreadsheet/definednames.directive.mjs +58 -0
  10. package/esm2020/src/spreadsheet/image.directive.mjs +46 -0
  11. package/esm2020/src/spreadsheet/ranges.directive.mjs +69 -0
  12. package/esm2020/src/spreadsheet/richtext.directive.mjs +46 -0
  13. package/esm2020/src/spreadsheet/rows.directive.mjs +65 -0
  14. package/esm2020/src/spreadsheet/sheets.directive.mjs +68 -0
  15. package/esm2020/src/spreadsheet/spreadsheet-all.module.mjs +74 -0
  16. package/esm2020/src/spreadsheet/spreadsheet.component.mjs +188 -0
  17. package/esm2020/src/spreadsheet/spreadsheet.module.mjs +115 -0
  18. package/esm2020/syncfusion-ej2-angular-spreadsheet.mjs +5 -0
  19. package/fesm2015/syncfusion-ej2-angular-spreadsheet.mjs +916 -0
  20. package/fesm2015/syncfusion-ej2-angular-spreadsheet.mjs.map +1 -0
  21. package/fesm2020/syncfusion-ej2-angular-spreadsheet.mjs +916 -0
  22. package/fesm2020/syncfusion-ej2-angular-spreadsheet.mjs.map +1 -0
  23. package/package.json +20 -7
  24. package/public_api.d.ts +1 -1
  25. package/src/index.d.ts +14 -14
  26. package/src/spreadsheet/cells.directive.d.ts +142 -137
  27. package/src/spreadsheet/chart.directive.d.ts +84 -79
  28. package/src/spreadsheet/columns.directive.d.ts +76 -71
  29. package/src/spreadsheet/conditionalformats.directive.d.ts +60 -55
  30. package/src/spreadsheet/definednames.directive.d.ts +54 -49
  31. package/src/spreadsheet/image.directive.d.ts +53 -48
  32. package/src/spreadsheet/ranges.directive.d.ts +73 -68
  33. package/src/spreadsheet/richtext.directive.d.ts +30 -25
  34. package/src/spreadsheet/rows.directive.d.ts +74 -69
  35. package/src/spreadsheet/sheets.directive.d.ts +154 -149
  36. package/src/spreadsheet/spreadsheet-all.module.d.ts +28 -22
  37. package/src/spreadsheet/spreadsheet.component.d.ts +74 -71
  38. package/src/spreadsheet/spreadsheet.module.d.ts +21 -5
  39. package/syncfusion-ej2-angular-spreadsheet.d.ts +5 -0
  40. package/@syncfusion/ej2-angular-spreadsheet.es5.js +0 -1029
  41. package/@syncfusion/ej2-angular-spreadsheet.es5.js.map +0 -1
  42. package/@syncfusion/ej2-angular-spreadsheet.js +0 -965
  43. package/@syncfusion/ej2-angular-spreadsheet.js.map +0 -1
  44. package/LICENSE +0 -10
  45. package/dist/ej2-angular-spreadsheet.umd.js +0 -1706
  46. package/dist/ej2-angular-spreadsheet.umd.js.map +0 -1
  47. package/dist/ej2-angular-spreadsheet.umd.min.js +0 -11
  48. package/dist/ej2-angular-spreadsheet.umd.min.js.map +0 -1
  49. package/ej2-angular-spreadsheet.d.ts +0 -5
  50. package/ej2-angular-spreadsheet.metadata.json +0 -1
package/README.md CHANGED
@@ -1,11 +1,25 @@
1
- # Angular Spreadsheet Component
2
-
3
- The [Angular Spreadsheet](https://www.syncfusion.com/angular-ui-components/angular-spreadsheet?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm) is an user interactive component to organize and analyze data in tabular format with configuration options for customization. It will load data by importing an Excel/CSV file or from local and remote data sources such as JSON, RESTful services, OData services, and more. The populated data can be exported as Excel with xlsx, xls, CSV and PDF formats.
1
+ # Angular Spreadsheet Editor Component
2
+
3
+ > **Using this package with an AI coding agent**
4
+ >
5
+ > Before generating Syncfusion code, ask your AI coding agent to run the Syncfusion setup using the following prompt:
6
+ >
7
+ > ```text
8
+ > Set up this project for Syncfusion before generating code. Fetch
9
+ > and follow the official instructions at https://ai.syncfusion.com,
10
+ > then report the detected platform, installed skill pack, MCP
11
+ > status, and any required licensing action.
12
+ > ```
13
+ > The setup detects your project’s platform and loads the appropriate Syncfusion skill pack. No Syncfusion account or MCP key is required to install or read Syncfusion agent skills.
14
+ >
15
+ > **Platform reference:** [https://ai.syncfusion.com/angular/llms.txt](https://ai.syncfusion.com/angular/llms.txt)
16
+
17
+ The [Angular Spreadsheet Editor](https://www.syncfusion.com/spreadsheet-editor-sdk/angular-spreadsheet-editor?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm) is an user interactive component to organize and analyze data in tabular format with configuration options for customization. It will load data by importing an Excel/CSV file or from local and remote data sources such as JSON, RESTful services, OData services, and more. The populated data can be exported as Excel with xlsx, xls, CSV and PDF formats.
4
18
 
5
19
  <p align="center">
6
- <a href="https://ej2.syncfusion.com/angular/documentation/spreadsheet/getting-started/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm">Getting started</a> .
7
- <a href="https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm#/material/spreadsheet/default">Online demos</a> .
8
- <a href="https://www.syncfusion.com/angular-components/angular-spreadsheet?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm">Learn more</a>
20
+ <a href="https://help.syncfusion.com/document-processing/excel/spreadsheet/angular/getting-started?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm">Getting started</a> .
21
+ <a href="https://document.syncfusion.com/demos/spreadsheet-editor/angular/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm#/material/spreadsheet/default">Online demos</a> .
22
+ <a href="https://www.syncfusion.com/spreadsheet-editor-sdk/angular-spreadsheet-editor?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm">Learn more</a>
9
23
  </p>
10
24
 
11
25
  <p align="center">
@@ -34,6 +48,7 @@ Create a new Angular application using the following Angular CLI command.
34
48
  ```bash
35
49
  ng new my-app
36
50
  cd my-app
51
+ ng serve
37
52
  ```
38
53
 
39
54
  ### Add Syncfusion<sup>®</sup> Spreadsheet package
@@ -52,6 +67,22 @@ The above command does the below configuration to your Angular app.
52
67
 
53
68
  This makes it easy to add the Syncfusion<sup>®</sup> Angular Spreadsheet module to your project and start using it in your application.
54
69
 
70
+ ## Add CSS references for Spreadsheet
71
+
72
+ Install the styles package from npm using the following command:
73
+
74
+ ```bash
75
+ npm install @syncfusion/ej2-tailwind3-theme
76
+ ```
77
+
78
+ The Tailwind 3 theme package includes an `index.css` file that automatically imports all required Spreadsheet styles. Add the required Spreadsheet theme style reference to **src/styles.css** file.
79
+
80
+ ```css
81
+ @import '../node_modules/@syncfusion/ej2-tailwind3-theme/styles/spreadsheet/index.css';
82
+ ```
83
+
84
+ For more themes, see the [themes documentation](https://ej2.syncfusion.com/angular/documentation/appearance/overview#theme-packages).
85
+
55
86
  ### Add Spreadsheet component
56
87
 
57
88
  In **src/app/app.component.ts**, use `<ejs-spreadsheet>` selector in the `template` attribute of the `@Component` directive to render the Syncfusion<sup>®</sup> Angular Spreadsheet component.
@@ -89,82 +120,122 @@ export class AppComponent implements OnInit {
89
120
 
90
121
  Spreadsheet component is also offered in the following list of frameworks.
91
122
 
92
- | [<img src="https://ej2.syncfusion.com/github/images/js.svg" height="50" />](https://www.syncfusion.com/javascript-ui-controls?utm_medium=listing&utm_source=github)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[JavaScript](https://www.syncfusion.com/javascript-ui-controls?utm_medium=listing&utm_source=github)&nbsp;&nbsp;&nbsp;&nbsp; | [<img src="https://ej2.syncfusion.com/github/images/react.svg" height="50" />](https://www.syncfusion.com/react-ui-components?utm_medium=listing&utm_source=github)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[React](https://www.syncfusion.com/react-ui-components?utm_medium=listing&utm_source=github)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | [<img src="https://ej2.syncfusion.com/github/images/vue.svg" height="50" />](https://www.syncfusion.com/vue-ui-components?utm_medium=listing&utm_source=github)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Vue](https://www.syncfusion.com/vue-ui-components?utm_medium=listing&utm_source=github)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | [<img src="https://ej2.syncfusion.com/github/images/netcore.svg" height="50" />](https://www.syncfusion.com/aspnet-core-ui-controls?utm_medium=listing&utm_source=github)<br/>&nbsp;&nbsp;[ASP.NET&nbsp;Core](https://www.syncfusion.com/aspnet-core-ui-controls?utm_medium=listing&utm_source=github)&nbsp;&nbsp; | [<img src="https://ej2.syncfusion.com/github/images/netmvc.svg" height="50" />](https://www.syncfusion.com/aspnet-mvc-ui-controls?utm_medium=listing&utm_source=github)<br/>&nbsp;&nbsp;[ASP.NET&nbsp;MVC](https://www.syncfusion.com/aspnet-mvc-ui-controls?utm_medium=listing&utm_source=github)&nbsp;&nbsp; |
123
+ | [<img src="https://ej2.syncfusion.com/github/images/js.svg" height="50" />](https://www.syncfusion.com/javascript-ui-controls?utm_medium=listing&utm_source=github)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[JavaScript](https://www.syncfusion.com/javascript-ui-controls?utm_medium=listing&utm_source=github)&nbsp;&nbsp;&nbsp;&nbsp; | [<img src="https://ej2.syncfusion.com/github/images/react.svg" height="50" />](https://www.syncfusion.com/react-components?utm_medium=listing&utm_source=github)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[React](https://www.syncfusion.com/react-components?utm_medium=listing&utm_source=github)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | [<img src="https://ej2.syncfusion.com/github/images/vue.svg" height="50" />](https://www.syncfusion.com/vue-components?utm_medium=listing&utm_source=github)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Vue](https://www.syncfusion.com/vue-components?utm_medium=listing&utm_source=github)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | [<img src="https://ej2.syncfusion.com/github/images/netcore.svg" height="50" />](https://www.syncfusion.com/aspnet-core-ui-controls?utm_medium=listing&utm_source=github)<br/>&nbsp;&nbsp;[ASP.NET&nbsp;Core](https://www.syncfusion.com/aspnet-core-ui-controls?utm_medium=listing&utm_source=github)&nbsp;&nbsp; | [<img src="https://ej2.syncfusion.com/github/images/netmvc.svg" height="50" />](https://www.syncfusion.com/aspnet-mvc-ui-controls?utm_medium=listing&utm_source=github)<br/>&nbsp;&nbsp;[ASP.NET&nbsp;MVC](https://www.syncfusion.com/aspnet-mvc-ui-controls?utm_medium=listing&utm_source=github)&nbsp;&nbsp; |
93
124
  | :-----: | :-----: | :-----: | :-----: | :-----: |
94
125
 
95
126
  ## Showcase samples
96
127
 
97
- * Expense Tracker - [Source](https://github.com/syncfusion/ej2-showcase-angular-expensetracker?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm), [Live Demo](https://ej2.syncfusion.com/showcase/angular/expensetracker/#/dashboard?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm)
128
+ * Expense Tracker - [Source](https://github.com/syncfusion/ej2-showcase-angular-expensetracker?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm), [Live Demo](https://ej2.syncfusion.com/showcase/angular/expensetracker/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm#/dashboard)
98
129
  * Loan Calculator - [Source](https://github.com/syncfusion/ej2-sample-ng-loancalculator?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm), [Live Demo](https://ej2.syncfusion.com/showcase/angular/loancalculator/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm)
99
- * Fitness Tracker - [Source](https://github.com/SyncfusionExamples/showcase-angular-health-tracker-dashboard-demo), [Live Demo](https://ej2.syncfusion.com/showcase/angular/fitness-tracker-app/)
130
+
100
131
 
101
132
  ## Key features
102
133
 
103
- * [Data sources](https://ej2.syncfusion.com/angular/documentation/spreadsheet/data-binding/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm#local-data): Bind the Spreadsheet component with an array of objects or data from a web service using [DataManager](https://ej2.syncfusion.com/angular/documentation/data/data-binding/).
104
- * [Virtualization](https://ej2.syncfusion.com/angular/documentation/spreadsheet/scrolling/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm#virtual-scrolling): Provides the option to load large amount of data without performance degradation.
105
- * [Selection](https://ej2.syncfusion.com/angular/documentation/spreadsheet/selection/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm): Provides the option to select a cell or range of cells.
106
- * [Editing](https://ej2.syncfusion.com/angular/documentation/spreadsheet/editing/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm): Provides the option to dynamically edit a cell.
107
- * [Formulas](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm#/material/spreadsheet/formula): Provides built-in calculation library with pre-defined formulas and named range support.
108
- * [Clipboard](https://ej2.syncfusion.com/angular/documentation/spreadsheet/clipboard/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm): Provides the option to perform clipboard operations.
109
- * [Cell formatting](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm#/material/spreadsheet/cell-formatting): Provides the option to customize the appearance of cells.
110
- * [Number formatting](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm#/material/spreadsheet/number-formatting): Provides the option to format the cell value.
111
- * [Open](https://ej2.syncfusion.com/angular/documentation/spreadsheet/open-save/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm#open): Provides the option to open Excel and CSV files in Spreadsheet.
112
- * [Save](https://ej2.syncfusion.com/angular/documentation/spreadsheet/open-save/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm#save): Provides the option to save Spreadsheet data as Excel, CSV, and PDF documents.
113
- * [Sorting](https://ej2.syncfusion.com/angular/documentation/spreadsheet/sort/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm#sort-by-cell-value): Helps you to arrange the data to particular order in a selected range of cells.
114
- * [Filtering](https://ej2.syncfusion.com/angular/documentation/spreadsheet/filter/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm#apply-filter-on-ui): Helps you to view specific rows in the Spreadsheet by hiding the other rows.
115
- * [Undo Redo](https://ej2.syncfusion.com/angular/documentation/spreadsheet/undo-redo/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm): Provides the option to perform undo redo operations in Spreadsheet.
116
- * [Collaborative editing](https://ej2.syncfusion.com/angular/documentation/spreadsheet/use-cases/collaborative-editing/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm): Provides the option for real time changes across multiple users in the Spreadsheet.
117
- * [Hyperlink](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm#/material/spreadsheet/hyperlink): Provides the option to navigate to web link or cell reference within the sheet or to other sheet in Spreadsheet.
118
- * [Resize](https://ej2.syncfusion.com/angular/documentation/spreadsheet/mobile-responsiveness/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm): Allows you to change the row height and column width. Auto fit the rows and columns based on its content.
119
- * [Wrap text](https://ej2.syncfusion.com/angular/documentation/spreadsheet/cell-range/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm#wrap-text): Provides the option to display the large content as multiple lines in a single cell.
120
- * [Data validation](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm#/material/spreadsheet/data-validation): Provides the option to validate edited values based on data validation rules defined for a cell or range of cells.
121
- * [Find and replace](https://ej2.syncfusion.com/angular/documentation/spreadsheet/searching/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm#find): Provides the option to find the data and replace it across all sheets in Spreadsheet.
122
- * [Protect sheet](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm#/material/spreadsheet/protect-sheet): Provides the option to restrict user actions like cell editing, row and column insertion, deletion, and resizing.
123
- * [Borders](https://ej2.syncfusion.com/angular/documentation/spreadsheet/formatting/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm#borders): Provides the option to customize cell gridlines such as color and its style for enhanced UI.
124
- * [Show/hide](https://ej2.syncfusion.com/angular/documentation/spreadsheet/worksheet/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm#sheet-visibility): Provides the option to show/hide rows, columns and sheets.
125
- * [Insert/delete](https://ej2.syncfusion.com/angular/documentation/spreadsheet/rows-and-columns/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm#insert): Provides the option to insert/delete rows, columns and sheets.
126
- * [Merge cells](https://ej2.syncfusion.com/angular/documentation/spreadsheet/cell-range/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm#merge-cells): Provides the option to combine two or more cells located in the same row or column into a single cell.
127
- * [Conditional formatting](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm#/material/spreadsheet/conditional-formatting): Provides the option to format a cell or range of cells based on conditions applied.
128
- * [Autofill](https://ej2.syncfusion.com/angular/documentation/spreadsheet/cell-range/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm#auto-fill): Provides the option to fill or copy a series or pattern of values and formats into adjacent cells in any direction.
129
- * [Clear](https://ej2.syncfusion.com/angular/documentation/spreadsheet/cell-range/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm#clear): Provides the option to clear the content, formats, and hyperlinks applied to a cell or range of cells in a Spreadsheet.
130
- * [Aggregates](https://ej2.syncfusion.com/angular/documentation/spreadsheet/formulas/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm): Provides the option to check the sum, average, count, and more for the selected cells or range in the sheet.
131
- * [Picture](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm#/material/spreadsheet/image): Allows you to view, insert, and modify a picture in a Spreadsheet with customizing options.
132
- * [Chart](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm#/material/spreadsheet/chart): Transforms your Spreadsheet data to an intuitive overview for better understanding and to make smart business decisions.
133
- * [Freeze panes](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm#/material/spreadsheet/freeze-pane): Allows you to keep the specified rows and columns always visible at the top and left side of the sheet while scrolling through the sheet.
134
- * [Password protection](https://ej2.syncfusion.com/angular/documentation/spreadsheet/protect-sheet/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm#protect-workbook): Allows you to protect the workbook with a password.
135
- * [Multi-line editing](https://ej2.syncfusion.com/angular/documentation/spreadsheet/editing/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm): Allows you to insert a line break between paragraphs of the text within a cell in a Spreadsheet.
136
- * [Calculate range selection](https://ej2.syncfusion.com/angular/documentation/spreadsheet/selection/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm): Helps you to select a range or multiple ranges when editing a formula in a cell.
137
- * [Right-to-left (RTL)](https://ej2.syncfusion.com/angular/documentation/right-to-left/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm): Aligns content in the Spreadsheet component from right to left.
138
- * [Templates](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm#/material/spreadsheet/cell-template): Templates can be used to create custom user experiences in the Spreadsheet.
139
- * [Globalization](https://ej2.syncfusion.com/angular/documentation/spreadsheet/global-local/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm#localization): Personalize the Spreadsheet component with different languages, as well as culture-specific number, date, and time formatting.
140
- * [Accessibility](https://ej2.syncfusion.com/angular/documentation/spreadsheet/accessibility/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm): Provides with built-in accessibility support which helps to access all the Spreadsheet component features through the keyboard, screen readers, or other assistive technology devices.
134
+ * [Data sources](https://help.syncfusion.com/document-processing/excel/spreadsheet/angular/data-binding/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm#local-data): Bind the Spreadsheet component with an array of objects or data from a web service using [DataManager](https://ej2.syncfusion.com/angular/documentation/data/data-binding?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm).
135
+ * [Virtualization](https://help.syncfusion.com/document-processing/excel/spreadsheet/angular/scrolling/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm#virtual-scrolling): Provides the option to load large amount of data without performance degradation.
136
+ * [Selection](https://help.syncfusion.com/document-processing/excel/spreadsheet/angular/selection/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm): Provides the option to select a cell or range of cells.
137
+ * [Editing](https://help.syncfusion.com/document-processing/excel/spreadsheet/angular/editing/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm): Provides the option to dynamically edit a cell.
138
+ * [Formulas](https://help.syncfusion.com/document-processing/excel/spreadsheet/angular/formulas/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm#/material/spreadsheet/formula): Provides built-in calculation library with pre-defined formulas and named range support.
139
+ * [Clipboard](https://help.syncfusion.com/document-processing/excel/spreadsheet/angular/clipboard/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm): Provides the option to perform clipboard operations.
140
+ * [Cell formatting](https://help.syncfusion.com/document-processing/excel/spreadsheet/angular/formatting#text-and-cell-formatting/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm#/material/spreadsheet/cell-formatting): Provides the option to customize the appearance of cells.
141
+ * [Number formatting](https://help.syncfusion.com/document-processing/excel/spreadsheet/angular/formatting#number-formatting/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm#/material/spreadsheet/number-formatting): Provides the option to format the cell value.
142
+ * [Open](https://help.syncfusion.com/document-processing/excel/spreadsheet/angular/open-save#open/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm): Provides the option to open Excel and CSV files in Spreadsheet.
143
+ * [Save](https://help.syncfusion.com/document-processing/excel/spreadsheet/angular/open-save#save/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm): Provides the option to save Spreadsheet data as Excel, CSV, and PDF documents.
144
+ * [Sorting](https://help.syncfusion.com/document-processing/excel/spreadsheet/angular/sort#sort-by-cell-value?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm): Helps you to arrange the data to particular order in a selected range of cells.
145
+ * [Filtering](https://help.syncfusion.com/document-processing/excel/spreadsheet/angular/filter#apply-filter-on-ui?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm): Helps you to view specific rows in the Spreadsheet by hiding the other rows.
146
+ * [Undo Redo](https://help.syncfusion.com/document-processing/excel/spreadsheet/angular/undo-redo?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm): Provides the option to perform undo redo operations in Spreadsheet.
147
+ * [Hyperlink](https://help.syncfusion.com/document-processing/excel/spreadsheet/angular/link/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm): Provides the option to navigate to web link or cell reference within the sheet or to other sheet in Spreadsheet.
148
+ * [Resize](https://help.syncfusion.com/document-processing/excel/spreadsheet/angular/mobile-responsiveness?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm): Allows you to change the row height and column width. Auto fit the rows and columns based on its content.
149
+ * [Wrap text](https://help.syncfusion.com/document-processing/excel/spreadsheet/angular/cell-range#wrap-text?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm): Provides the option to display the large content as multiple lines in a single cell.
150
+ * [Data validation](https://help.syncfusion.com/document-processing/excel/spreadsheet/angular/cell-range#data-validation/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm#/material/spreadsheet/data-validation): Provides the option to validate edited values based on data validation rules defined for a cell or range of cells.
151
+ * [Find and replace](https://help.syncfusion.com/document-processing/excel/spreadsheet/angular/searching#find?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm): Provides the option to find the data and replace it across all sheets in Spreadsheet.
152
+ * [Protect sheet](https://help.syncfusion.com/document-processing/excel/spreadsheet/angular/protect-sheet/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm): Provides the option to restrict user actions like cell editing, row and column insertion, deletion, and resizing.
153
+ * [Borders](https://help.syncfusion.com/document-processing/excel/spreadsheet/angular/formatting#borders?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm): Provides the option to customize cell gridlines such as color and its style for enhanced UI.
154
+ * [Show/hide](https://help.syncfusion.com/document-processing/excel/spreadsheet/angular/worksheet#sheet-visibility?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm): Provides the option to show/hide rows, columns and sheets.
155
+ * [Insert/delete](https://help.syncfusion.com/document-processing/excel/spreadsheet/angular/rows-and-columns#insert?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm): Provides the option to insert/delete rows, columns and sheets.
156
+ * [Merge cells](https://help.syncfusion.com/document-processing/excel/spreadsheet/angular/cell-range#merge-cells?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm): Provides the option to combine two or more cells located in the same row or column into a single cell.
157
+ * [Conditional formatting](https://help.syncfusion.com/document-processing/excel/spreadsheet/angular/formatting#conditional-formatting/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm): Provides the option to format a cell or range of cells based on conditions applied.
158
+ * [Autofill](https://help.syncfusion.com/document-processing/excel/spreadsheet/angular/cell-range#auto-fill?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm): Provides the option to fill or copy a series or pattern of values and formats into adjacent cells in any direction.
159
+ * [Clear](https://help.syncfusion.com/document-processing/excel/spreadsheet/angular/cell-range#clear?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm): Provides the option to clear the content, formats, and hyperlinks applied to a cell or range of cells in a Spreadsheet.
160
+ * [Aggregates](https://help.syncfusion.com/document-processing/excel/spreadsheet/angular/formulas?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm): Provides the option to check the sum, average, count, and more for the selected cells or range in the sheet.
161
+ * [Image](https://help.syncfusion.com/document-processing/excel/spreadsheet/angular/illustrations/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm#/material/spreadsheet/image): Allows you to view, insert, and modify a picture in a Spreadsheet with customizing options.
162
+ * [Chart](https://help.syncfusion.com/document-processing/excel/spreadsheet/angular/illustrations#chart/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm#/material/spreadsheet/chart): Transforms your Spreadsheet data to an intuitive overview for better understanding and to make smart business decisions.
163
+ * [Freeze panes](https://help.syncfusion.com/document-processing/excel/spreadsheet/angular/freeze-pane/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm#/material/spreadsheet/freeze-pane): Allows you to keep the specified rows and columns always visible at the top and left side of the sheet while scrolling through the sheet.
164
+ * [Password protection](https://help.syncfusion.com/document-processing/excel/spreadsheet/angular/protect-sheet#protect-workbook?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm): Allows you to protect the workbook with a password.
165
+ * [Multi-line editing](https://help.syncfusion.com/document-processing/excel/spreadsheet/angular/editing/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm): Allows you to insert a line break between paragraphs of the text within a cell in a Spreadsheet.
166
+ * [Calculate range selection](https://help.syncfusion.com/document-processing/excel/spreadsheet/angular/selection/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm): Helps you to select a range or multiple ranges when editing a formula in a cell.
167
+ * [Right-to-left (RTL)](https://ej2.syncfusion.com/angular/documentation/right-to-left?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm): Aligns content in the Spreadsheet component from right to left.
168
+ * [Templates](https://help.syncfusion.com/document-processing/excel/spreadsheet/angular/template/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm#/material/spreadsheet/cell-template): Templates can be used to create custom user experiences in the Spreadsheet.
169
+ * [Globalization](https://help.syncfusion.com/document-processing/excel/spreadsheet/angular/global-local#localization?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm): Personalize the Spreadsheet component with different languages, as well as culture-specific number, date, and time formatting.
170
+ * [Accessibility](https://help.syncfusion.com/document-processing/excel/spreadsheet/angular/accessibility?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm): Provides with built-in accessibility support which helps to access all the Spreadsheet component features through the keyboard, screen readers, or other assistive technology devices.
141
171
 
142
172
  ## Resources
143
173
 
144
- * [Theme Studio](https://ej2.syncfusion.com/themestudio/)
174
+ * [Theme Studio](https://ej2.syncfusion.com/themestudio/?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm)
145
175
  * [What's New](https://www.syncfusion.com/products/whatsnew/angular?utm_medium=listing&utm_source=github)
146
- * [Road Map](https://www.syncfusion.com/products/roadmap/angular)
147
- * [E-Books](https://www.syncfusion.com/succinctly-free-ebooks?searchkey=angular&type=all)
176
+ * [Road Map](https://www.syncfusion.com/products/roadmap/angular?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm)
177
+ * [E-Books](https://www.syncfusion.com/succinctly-free-ebooks?searchkey=angular&type=all?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm)
148
178
 
149
179
  ## Support
150
180
 
151
181
  Product support is available through the following mediums.
152
182
 
153
- * [Support ticket](https://support.syncfusion.com/support/tickets/create) - Guaranteed Response in 24 hours | Unlimited tickets | Holiday support
183
+ * [Support ticket](https://support.syncfusion.com/support/tickets/create?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm) - Guaranteed Response in 24 hours | Unlimited tickets | Holiday support
154
184
  * [Community forum](https://www.syncfusion.com/forums/angular-js2?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm)
155
- * [GitHub issues](https://github.com/syncfusion/ej2-angular-ui-components/issues/new)
185
+ * [GitHub issues](https://github.com/syncfusion/ej2-angular-ui-components/issues/new?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm)
156
186
  * [Request feature or report bug](https://www.syncfusion.com/feedback/angular?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm)
157
187
  * Live chat
158
188
 
189
+ ## Other Popular Angular Components
190
+
191
+ Explore other popular Syncfusion<sup>®</sup> Angular components curated from UI components, standalone SDKs, and document solution suites.
192
+
193
+ <table>
194
+ <tr>
195
+ <td align="center">
196
+ <a href="https://www.syncfusion.com/angular-components/angular-data-grid">Angular DataGrid</a>
197
+ </td>
198
+ <td align="center">
199
+ <a href="https://www.syncfusion.com/angular-components/angular-charts">Angular Charts</a>
200
+ </td>
201
+ <td align="center">
202
+ <a href="https://www.syncfusion.com/angular-components/angular-file-manager">Angular File Manager</a>
203
+ </td>
204
+ <td align="center">
205
+ <a href="https://www.syncfusion.com/gantt-sdk/angular-gantt-chart">Angular Gantt Chart</a>
206
+ </td>
207
+ <td align="center">
208
+ <a href="https://www.syncfusion.com/diagram-sdk/angular-diagram">Angular Diagram</a>
209
+ </td>
210
+ </tr>
211
+ <tr>
212
+ <td align="center">
213
+ <a href="https://www.syncfusion.com/scheduler-sdk/angular-scheduler">Angular Scheduler</a>
214
+ </td>
215
+ <td align="center">
216
+ <a href="https://www.syncfusion.com/docx-editor-sdk/angular-docx-editor">Angular DOCX Editor</a>
217
+ </td>
218
+ <td align="center">
219
+ <a href="https://www.syncfusion.com/pdf-viewer-sdk/angular-pdf-viewer">Angular PDF Viewer</a>
220
+ </td>
221
+ <td align="center">
222
+ <a href="https://www.syncfusion.com/rich-text-editor-sdk/angular-rich-text-editor">Angular Rich Text Editor</a>
223
+ </td>
224
+ <td align="center">
225
+ <a href="https://www.syncfusion.com/angular-components/angular-maps-library">Angular Maps</a>
226
+ </td>
227
+ </tr>
228
+ </table>
229
+
159
230
  ## Changelog
160
231
 
161
232
  Check the changelog [here](https://github.com/syncfusion/ej2-angular-ui-components/blob/master/components/spreadsheet/CHANGELOG.md?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm). Get minor improvements and bug fixes every week to stay up to date with frequent updates.
162
233
 
163
234
  ## License and copyright
164
235
 
165
- > This is a commercial product and requires a paid license for possession or use. Syncfusion<sup>®</sup> licensed software, including this component, is subject to the terms and conditions of Syncfusion<sup>®</sup> [EULA](https://www.syncfusion.com/eula/es/). To acquire a license for 140+ [Angular UI components](https://www.syncfusion.com/angular-components), you can [purchase](https://www.syncfusion.com/sales/products) or [start a free 30-day trial](https://www.syncfusion.com/account/manage-trials/start-trials).
236
+ > This is a commercial product and requires a paid license for possession or use. Syncfusion<sup>®</sup> licensed software, including this component, is subject to the terms and conditions of Syncfusion<sup>®</sup> [EULA](https://www.syncfusion.com/license/studio/34.1.29/syncfusion_essential_studio_eula.pdf?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm). To acquire a license for 150+ [Angular UI components](https://www.syncfusion.com/angular-components?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm), you can [purchase](https://www.syncfusion.com/sales/pricing?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm) or [start a free 30-day trial](https://www.syncfusion.com/downloads/spreadsheet-editor-sdk?tag=es-seo-spreadsheet-editor-sdk-download-trial).
166
237
 
167
- > A free community [license](https://www.syncfusion.com/products/communitylicense) is also available for companies and individuals whose organizations have less than $1 million USD in annual gross revenue and five or fewer developers.
238
+ > A free community [license](https://www.syncfusion.com/products/communitylicense?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm) is also available for companies and individuals whose organizations have less than $1 million USD in annual gross revenue and five or fewer developers.
168
239
 
169
240
  See [LICENSE FILE](https://github.com/syncfusion/ej2-angular-ui-components/blob/master/license?utm_source=npm&utm_medium=listing&utm_campaign=angular-spreadsheet-npm) for more info.
170
241
 
@@ -0,0 +1,2 @@
1
+ export * from './src/index';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NyYy9pbmRleCc7Il19
@@ -0,0 +1,15 @@
1
+ export { ImageDirective, ImagesDirective } from './spreadsheet/image.directive';
2
+ export { ChartDirective, ChartsDirective } from './spreadsheet/chart.directive';
3
+ export { RichTextDirective, RichTextsDirective } from './spreadsheet/richtext.directive';
4
+ export { CellDirective, CellsDirective } from './spreadsheet/cells.directive';
5
+ export { RowDirective, RowsDirective } from './spreadsheet/rows.directive';
6
+ export { ColumnDirective, ColumnsDirective } from './spreadsheet/columns.directive';
7
+ export { RangeDirective, RangesDirective } from './spreadsheet/ranges.directive';
8
+ export { ConditionalFormatDirective, ConditionalFormatsDirective } from './spreadsheet/conditionalformats.directive';
9
+ export { SheetDirective, SheetsDirective } from './spreadsheet/sheets.directive';
10
+ export { DefinedNameDirective, DefinedNamesDirective } from './spreadsheet/definednames.directive';
11
+ export { SpreadsheetComponent } from './spreadsheet/spreadsheet.component';
12
+ export { SpreadsheetModule } from './spreadsheet/spreadsheet.module';
13
+ export { SpreadsheetAllModule, ClipboardService, EditService, KeyboardNavigationService, KeyboardShortcutService, SelectionService, ContextMenuService, FormulaBarService, RibbonService, SaveService, OpenService, SheetTabsService, DataBindService, CellFormatService, NumberFormatService, FormulaService, AIAssistService } from './spreadsheet/spreadsheet-all.module';
14
+ export * from '@syncfusion/ej2-spreadsheet';
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBQyxlQUFlLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RSxPQUFPLEVBQUMsY0FBYyxFQUFDLGVBQWUsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQzdFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxrQkFBa0IsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ3RGLE9BQU8sRUFBQyxhQUFhLEVBQUMsY0FBYyxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDM0UsT0FBTyxFQUFDLFlBQVksRUFBQyxhQUFhLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RSxPQUFPLEVBQUMsZUFBZSxFQUFDLGdCQUFnQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDakYsT0FBTyxFQUFDLGNBQWMsRUFBQyxlQUFlLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM5RSxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNsSCxPQUFPLEVBQUMsY0FBYyxFQUFDLGVBQWUsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQzlFLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxvQkFBb0IsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUseUJBQXlCLEVBQUUsdUJBQXVCLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixFQUFFLG1CQUFtQixFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM3VyxjQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHtJbWFnZURpcmVjdGl2ZSxJbWFnZXNEaXJlY3RpdmV9IGZyb20gJy4vc3ByZWFkc2hlZXQvaW1hZ2UuZGlyZWN0aXZlJztcbmV4cG9ydCB7Q2hhcnREaXJlY3RpdmUsQ2hhcnRzRGlyZWN0aXZlfSBmcm9tICcuL3NwcmVhZHNoZWV0L2NoYXJ0LmRpcmVjdGl2ZSc7XG5leHBvcnQge1JpY2hUZXh0RGlyZWN0aXZlLFJpY2hUZXh0c0RpcmVjdGl2ZX0gZnJvbSAnLi9zcHJlYWRzaGVldC9yaWNodGV4dC5kaXJlY3RpdmUnO1xuZXhwb3J0IHtDZWxsRGlyZWN0aXZlLENlbGxzRGlyZWN0aXZlfSBmcm9tICcuL3NwcmVhZHNoZWV0L2NlbGxzLmRpcmVjdGl2ZSc7XG5leHBvcnQge1Jvd0RpcmVjdGl2ZSxSb3dzRGlyZWN0aXZlfSBmcm9tICcuL3NwcmVhZHNoZWV0L3Jvd3MuZGlyZWN0aXZlJztcbmV4cG9ydCB7Q29sdW1uRGlyZWN0aXZlLENvbHVtbnNEaXJlY3RpdmV9IGZyb20gJy4vc3ByZWFkc2hlZXQvY29sdW1ucy5kaXJlY3RpdmUnO1xuZXhwb3J0IHtSYW5nZURpcmVjdGl2ZSxSYW5nZXNEaXJlY3RpdmV9IGZyb20gJy4vc3ByZWFkc2hlZXQvcmFuZ2VzLmRpcmVjdGl2ZSc7XG5leHBvcnQge0NvbmRpdGlvbmFsRm9ybWF0RGlyZWN0aXZlLENvbmRpdGlvbmFsRm9ybWF0c0RpcmVjdGl2ZX0gZnJvbSAnLi9zcHJlYWRzaGVldC9jb25kaXRpb25hbGZvcm1hdHMuZGlyZWN0aXZlJztcbmV4cG9ydCB7U2hlZXREaXJlY3RpdmUsU2hlZXRzRGlyZWN0aXZlfSBmcm9tICcuL3NwcmVhZHNoZWV0L3NoZWV0cy5kaXJlY3RpdmUnO1xuZXhwb3J0IHtEZWZpbmVkTmFtZURpcmVjdGl2ZSxEZWZpbmVkTmFtZXNEaXJlY3RpdmV9IGZyb20gJy4vc3ByZWFkc2hlZXQvZGVmaW5lZG5hbWVzLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBTcHJlYWRzaGVldENvbXBvbmVudH0gZnJvbSAnLi9zcHJlYWRzaGVldC9zcHJlYWRzaGVldC5jb21wb25lbnQnO1xuZXhwb3J0IHsgU3ByZWFkc2hlZXRNb2R1bGUgfSBmcm9tICcuL3NwcmVhZHNoZWV0L3NwcmVhZHNoZWV0Lm1vZHVsZSc7XG5leHBvcnQgeyBTcHJlYWRzaGVldEFsbE1vZHVsZSwgQ2xpcGJvYXJkU2VydmljZSwgRWRpdFNlcnZpY2UsIEtleWJvYXJkTmF2aWdhdGlvblNlcnZpY2UsIEtleWJvYXJkU2hvcnRjdXRTZXJ2aWNlLCBTZWxlY3Rpb25TZXJ2aWNlLCBDb250ZXh0TWVudVNlcnZpY2UsIEZvcm11bGFCYXJTZXJ2aWNlLCBSaWJib25TZXJ2aWNlLCBTYXZlU2VydmljZSwgT3BlblNlcnZpY2UsIFNoZWV0VGFic1NlcnZpY2UsIERhdGFCaW5kU2VydmljZSwgQ2VsbEZvcm1hdFNlcnZpY2UsIE51bWJlckZvcm1hdFNlcnZpY2UsIEZvcm11bGFTZXJ2aWNlLCBBSUFzc2lzdFNlcnZpY2UgfSBmcm9tICcuL3NwcmVhZHNoZWV0L3NwcmVhZHNoZWV0LWFsbC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnQHN5bmNmdXNpb24vZWoyLXNwcmVhZHNoZWV0JzsiXX0=
@@ -0,0 +1,73 @@
1
+ import { Directive, ContentChildren, ContentChild } from '@angular/core';
2
+ import { ComplexBase, ArrayBase, setValue } from '@syncfusion/ej2-angular-base';
3
+ import { ImagesDirective } from './image.directive';
4
+ import { ChartsDirective } from './chart.directive';
5
+ import { RichTextsDirective } from './richtext.directive';
6
+ import * as i0 from "@angular/core";
7
+ let input = ['chart', 'colSpan', 'comment', 'format', 'formula', 'hyperlink', 'image', 'index', 'isLocked', 'isReadOnly', 'notes', 'richText', 'rowSpan', 'style', 'validation', 'value', 'wrap'];
8
+ let outputs = [];
9
+ /**
10
+ * `e-cell` directive represent a cell of the Angular Spreadsheet.
11
+ * It must be contained in a `e-row` directive.
12
+ * ```html
13
+ * <ejs-spreadsheet>
14
+ * <e-sheets>
15
+ * <e-sheet>
16
+ * <e-rows>
17
+ * <e-row>
18
+ * <e-cells>
19
+ * <e-cell value='A1'></e-cell>
20
+ * </e-cells>
21
+ * </e-row>
22
+ * </e-rows>
23
+ * </e-sheet>
24
+ * </e-sheets>
25
+ * </ejs-spreadsheet>
26
+ * ```
27
+ */
28
+ export class CellDirective extends ComplexBase {
29
+ constructor(viewContainerRef) {
30
+ super();
31
+ this.viewContainerRef = viewContainerRef;
32
+ this.tags = ['image', 'chart', 'richText'];
33
+ setValue('currentInstance', this, this.viewContainerRef);
34
+ this.registerEvents(outputs);
35
+ this.directivePropList = input;
36
+ }
37
+ }
38
+ CellDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CellDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
39
+ CellDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: CellDirective, selector: "e-cells>e-cell", inputs: { chart: "chart", colSpan: "colSpan", comment: "comment", format: "format", formula: "formula", hyperlink: "hyperlink", image: "image", index: "index", isLocked: "isLocked", isReadOnly: "isReadOnly", notes: "notes", richText: "richText", rowSpan: "rowSpan", style: "style", validation: "validation", value: "value", wrap: "wrap" }, queries: [{ propertyName: "childImage", first: true, predicate: ImagesDirective, descendants: true }, { propertyName: "childChart", first: true, predicate: ChartsDirective, descendants: true }, { propertyName: "childRichText", first: true, predicate: RichTextsDirective, descendants: true }], usesInheritance: true, ngImport: i0 });
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CellDirective, decorators: [{
41
+ type: Directive,
42
+ args: [{
43
+ selector: 'e-cells>e-cell',
44
+ inputs: input,
45
+ outputs: outputs,
46
+ queries: {
47
+ childImage: new ContentChild(ImagesDirective),
48
+ childChart: new ContentChild(ChartsDirective),
49
+ childRichText: new ContentChild(RichTextsDirective)
50
+ }
51
+ }]
52
+ }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; } });
53
+ /**
54
+ * Cell Array Directive
55
+ * @private
56
+ */
57
+ export class CellsDirective extends ArrayBase {
58
+ constructor() {
59
+ super('cells');
60
+ }
61
+ }
62
+ CellsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CellsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
63
+ CellsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: CellsDirective, selector: "e-row>e-cells", queries: [{ propertyName: "children", predicate: CellDirective }], usesInheritance: true, ngImport: i0 });
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CellsDirective, decorators: [{
65
+ type: Directive,
66
+ args: [{
67
+ selector: 'e-row>e-cells',
68
+ queries: {
69
+ children: new ContentChildren(CellDirective)
70
+ },
71
+ }]
72
+ }], ctorParameters: function () { return []; } });
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbHMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NwcmVhZHNoZWV0L2NlbGxzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFvQixlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRWhGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBRTFELElBQUksS0FBSyxHQUFhLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQzVNLElBQUksT0FBTyxHQUFhLEVBQUUsQ0FBQztBQUMzQjs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JHO0FBV0gsTUFBTSxPQUFPLGFBQWMsU0FBUSxXQUEwQjtJQTRHekQsWUFBb0IsZ0JBQWlDO1FBQ2pELEtBQUssRUFBRSxDQUFDO1FBRFEscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQjtRQXRHOUMsU0FBSSxHQUFhLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQztRQXdHbkQsUUFBUSxDQUFDLGlCQUFpQixFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7SUFDbkMsQ0FBQzs7MEdBakhRLGFBQWE7OEZBQWIsYUFBYSxrYkFMVyxlQUFlLDZFQUNmLGVBQWUsZ0ZBQ1osa0JBQWtCOzJGQUc3QyxhQUFhO2tCQVZ6QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLE1BQU0sRUFBRSxLQUFLO29CQUNiLE9BQU8sRUFBRSxPQUFPO29CQUNoQixPQUFPLEVBQUU7d0JBQ0wsVUFBVSxFQUFFLElBQUksWUFBWSxDQUFDLGVBQWUsQ0FBQzt3QkFDN0MsVUFBVSxFQUFFLElBQUksWUFBWSxDQUFDLGVBQWUsQ0FBQzt3QkFDN0MsYUFBYSxFQUFFLElBQUksWUFBWSxDQUFDLGtCQUFrQixDQUFDO3FCQUN0RDtpQkFDSjs7QUFxSEQ7OztHQUdHO0FBT0gsTUFBTSxPQUFPLGNBQWUsU0FBUSxTQUF5QjtJQUN6RDtRQUNJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNuQixDQUFDOzsyR0FIUSxjQUFjOytGQUFkLGNBQWMsOEVBSFcsYUFBYTsyRkFHdEMsY0FBYztrQkFOMUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsZUFBZTtvQkFDekIsT0FBTyxFQUFFO3dCQUNMLFFBQVEsRUFBRSxJQUFJLGVBQWUsQ0FBQyxhQUFhLENBQUM7cUJBQy9DO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBWaWV3Q29udGFpbmVyUmVmLCBDb250ZW50Q2hpbGRyZW4sIENvbnRlbnRDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcGxleEJhc2UsIEFycmF5QmFzZSwgc2V0VmFsdWUgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItYW5ndWxhci1iYXNlJztcblxuaW1wb3J0IHsgSW1hZ2VzRGlyZWN0aXZlIH0gZnJvbSAnLi9pbWFnZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQ2hhcnRzRGlyZWN0aXZlIH0gZnJvbSAnLi9jaGFydC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUmljaFRleHRzRGlyZWN0aXZlIH0gZnJvbSAnLi9yaWNodGV4dC5kaXJlY3RpdmUnO1xuXG5sZXQgaW5wdXQ6IHN0cmluZ1tdID0gWydjaGFydCcsICdjb2xTcGFuJywgJ2NvbW1lbnQnLCAnZm9ybWF0JywgJ2Zvcm11bGEnLCAnaHlwZXJsaW5rJywgJ2ltYWdlJywgJ2luZGV4JywgJ2lzTG9ja2VkJywgJ2lzUmVhZE9ubHknLCAnbm90ZXMnLCAncmljaFRleHQnLCAncm93U3BhbicsICdzdHlsZScsICd2YWxpZGF0aW9uJywgJ3ZhbHVlJywgJ3dyYXAnXTtcbmxldCBvdXRwdXRzOiBzdHJpbmdbXSA9IFtdO1xuLyoqXG4gKiBgZS1jZWxsYCBkaXJlY3RpdmUgcmVwcmVzZW50IGEgY2VsbCBvZiB0aGUgQW5ndWxhciBTcHJlYWRzaGVldC5cbiAqIEl0IG11c3QgYmUgY29udGFpbmVkIGluIGEgYGUtcm93YCBkaXJlY3RpdmUuXG4gKiBgYGBodG1sXG4gKiA8ZWpzLXNwcmVhZHNoZWV0PlxuICogICA8ZS1zaGVldHM+XG4gKiAgICA8ZS1zaGVldD5cbiAqICAgIDxlLXJvd3M+XG4gKiAgICA8ZS1yb3c+XG4gKiAgICA8ZS1jZWxscz5cbiAqICAgIDxlLWNlbGwgdmFsdWU9J0ExJz48L2UtY2VsbD5cbiAqICAgIDwvZS1jZWxscz5cbiAqICAgIDwvZS1yb3c+XG4gKiAgICA8L2Utcm93cz5cbiAqICAgIDwvZS1zaGVldD5cbiAqICAgPC9lLXNoZWV0cz5cbiAqIDwvZWpzLXNwcmVhZHNoZWV0PlxuICogYGBgXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnZS1jZWxscz5lLWNlbGwnLFxuICAgIGlucHV0czogaW5wdXQsXG4gICAgb3V0cHV0czogb3V0cHV0cywgICAgXG4gICAgcXVlcmllczoge1xuICAgICAgICBjaGlsZEltYWdlOiBuZXcgQ29udGVudENoaWxkKEltYWdlc0RpcmVjdGl2ZSksIFxuICAgICAgICBjaGlsZENoYXJ0OiBuZXcgQ29udGVudENoaWxkKENoYXJ0c0RpcmVjdGl2ZSksIFxuICAgICAgICBjaGlsZFJpY2hUZXh0OiBuZXcgQ29udGVudENoaWxkKFJpY2hUZXh0c0RpcmVjdGl2ZSlcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIENlbGxEaXJlY3RpdmUgZXh0ZW5kcyBDb21wbGV4QmFzZTxDZWxsRGlyZWN0aXZlPiB7XG4gICAgcHVibGljIGRpcmVjdGl2ZVByb3BMaXN0OiBhbnk7XG5cdFxuICAgIHB1YmxpYyBjaGlsZEltYWdlOiBhbnk7XG4gICAgcHVibGljIGNoaWxkQ2hhcnQ6IGFueTtcbiAgICBwdWJsaWMgY2hpbGRSaWNoVGV4dDogYW55O1xuICAgIHB1YmxpYyB0YWdzOiBzdHJpbmdbXSA9IFsnaW1hZ2UnLCAnY2hhcnQnLCAncmljaFRleHQnXTtcbiAgICAvKiogXG4gICAgICogUmVwcmVzZW50cyB0aGUgdGhyZWFkZWQgY29tbWVudCBhc3NvY2lhdGVkIHdpdGggdGhlIGNlbGwuIFxuICAgICAqIEEgdGhyZWFkZWQgY29tbWVudCBhbGxvd3MgdXNlcnMgdG8gYWRkIGEgbWFpbiBjb21tZW50IGFuZCBtYWludGFpbiBhIGRpc2N1c3Npb24gdGhyb3VnaCByZXBsaWVzLiBcbiAgICAgKiBFYWNoIGNlbGwgc3VwcG9ydHMgYSBzaW5nbGUgY29tbWVudCB0aHJlYWQsIHdoaWNoIGluY2x1ZGVzOiBcbiAgICAgKiAtICoqYXV0aG9yKio6IFRoZSBuYW1lIG9mIHRoZSBwZXJzb24gd2hvIGNyZWF0ZWQgdGhlIGNvbW1lbnQuIFxuICAgICAqIC0gKip0ZXh0Kio6IFRoZSBtYWluIGNvbnRlbnQgb2YgdGhlIGNvbW1lbnQuIFxuICAgICAqIC0gKipjcmVhdGVkVGltZSoqOiBUaGUgdGltZS1zdGFtcCBpbmRpY2F0aW5nIHdoZW4gdGhlIGNvbW1lbnQgd2FzIGFkZGVkLiBcbiAgICAgKiAtICoqaXNSZXNvbHZlZCoqOiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgdGhyZWFkIGlzIG1hcmtlZCBhcyByZXNvbHZlZC4gXG4gICAgICogLSAqKnJlcGxpZXMqKjogQSBjb2xsZWN0aW9uIG9mIHJlcGx5IGNvbW1lbnRzLCBlYWNoIHdpdGggaXRzIG93biBgYXV0aG9yYCwgYHRleHRgLCBhbmQgYGNyZWF0ZWRUaW1lYC5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICovXG4gICAgcHVibGljIGNvbW1lbnQ6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSBjaGFydCBvZiB0aGUgY2VsbC5cbiAgICAgKiBAZGVmYXVsdCBbXVxuICAgICAqL1xuICAgIHB1YmxpYyBjaGFydDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIGNvbHVtbi13aXNlIGNlbGwgbWVyZ2UgY291bnQuXG4gICAgICogQGRlZmF1bHQgMVxuICAgICAqIEBhc3B0eXBlIGludFxuICAgICAqL1xuICAgIHB1YmxpYyBjb2xTcGFuOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNwZWNpZmllcyB0aGUgbnVtYmVyIGZvcm1hdCBjb2RlIHRvIGRpc3BsYXkgdmFsdWUgaW4gc3BlY2lmaWVkIG51bWJlciBmb3JtYXQuXG4gICAgICogQGRlZmF1bHQgJ0dlbmVyYWwnXG4gICAgICovXG4gICAgcHVibGljIGZvcm1hdDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBEZWZpbmVzIHRoZSBmb3JtdWxhIG9yIGV4cHJlc3Npb24gb2YgdGhlIGNlbGwuXG4gICAgICogQGRlZmF1bHQgJydcbiAgICAgKi9cbiAgICBwdWJsaWMgZm9ybXVsYTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIGh5cGVybGluayBvZiB0aGUgY2VsbC5cbiAgICAgKiBAZGVmYXVsdCAnJ1xuICAgICAqL1xuICAgIHB1YmxpYyBoeXBlcmxpbms6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSBpbWFnZSBvZiB0aGUgY2VsbC5cbiAgICAgKiBAZGVmYXVsdCBbXVxuICAgICAqL1xuICAgIHB1YmxpYyBpbWFnZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIGluZGV4IG9mIHRoZSBjZWxsLlxuICAgICAqIEBkZWZhdWx0IDBcbiAgICAgKiBAYXNwdHlwZSBpbnRcbiAgICAgKi9cbiAgICBwdWJsaWMgaW5kZXg6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSBjZWxsIGlzIGxvY2tlZCBvciBub3QsIGZvciBhbGxvdyBlZGl0IHJhbmdlIGluIHNwcmVhZHNoZWV0IHByb3RlY3Qgb3B0aW9uLlxuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKi9cbiAgICBwdWJsaWMgaXNMb2NrZWQ6IGFueTtcbiAgICAvKiogXG4gICAgICogUmVwcmVzZW50cyB3aGV0aGVyIGEgY2VsbCBpbiB0aGUgc2hlZXQgaXMgcmVhZC1vbmx5IG9yIG5vdC4gSWYgc2V0IHRvIHRydWUsIGl0IHByZXZlbnRzIGVkaXRpbmcgdGhlIHNwZWNpZmllZCBjZWxsIGluIHRoZSBzaGVldC5cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIHB1YmxpYyBpc1JlYWRPbmx5OiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNwZWNpZmllcyB0aGUgbm90ZSBvZiB0aGUgY2VsbC5cbiAgICAgKiBAZGVmYXVsdCAnJ1xuICAgICAqL1xuICAgIHB1YmxpYyBub3RlczogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIHJpY2ggdGV4dCBzZWdtZW50cyBmb3IgdGhlIGNlbGwgdGV4dCwgYWxsb3dpbmcgc3VwZXJzY3JpcHQgYW5kIHN1YnNjcmlwdCBmb3JtYXR0aW5nIHdpdGhpbiB0aGUgY29udGVudC4gXG4gICAgICogVXNlcyB0aGUgUmljaFRleHQgbW9kZWwgdG8gYXBwbHkgZm9ybWF0dGluZyB0byBzcGVjaWZpYyB0ZXh0IHNlZ21lbnRzLiBUaGUgb3B0aW9ucyBhcmU6IFxuICAgICAqIC0gKip0ZXh0Kio6IFNwZWNpZmllcyB0aGUgdGV4dCBjb250ZW50IGZvciBlYWNoIHNlZ21lbnQuIFxuICAgICAqIC0gKipzdHlsZSoqOiBTcGVjaWZpZXMgdGhlIHN0eWxlIGZvciBlYWNoIHNlZ21lbnQ7IGl0IHN1cHBvcnRzIHN1cGVyc2NyaXB0IGFuZCBzdWJzY3JpcHQgZm9ybWF0dGluZy4gXG4gICAgICogU2V0IGB2ZXJ0aWNhbEFsaWduYCBhcyBgc3VwZXJgIGZvciBzdXBlcnNjcmlwdCBmb3JtYXR0aW5nIGFuZCBgc3ViYCBmb3Igc3Vic2NyaXB0IGZvcm1hdHRpbmcuXG4gICAgICogQGRlZmF1bHQgW11cbiAgICAgKi9cbiAgICBwdWJsaWMgcmljaFRleHQ6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSByb3ctd2lzZSBjZWxsIG1lcmdlIGNvdW50LlxuICAgICAqIEBkZWZhdWx0IDFcbiAgICAgKiBAYXNwdHlwZSBpbnRcbiAgICAgKi9cbiAgICBwdWJsaWMgcm93U3BhbjogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIGNlbGwgc3R5bGUgb3B0aW9ucy4gXG4gICAgICogIFxuICAgICAqIEBkZWZhdWx0IHt9XG4gICAgICovXG4gICAgcHVibGljIHN0eWxlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNwZWNpZmllcyB0aGUgdmFsaWRhdGlvbiBvZiB0aGUgY2VsbC5cbiAgICAgKiBAZGVmYXVsdCAnJ1xuICAgICAqL1xuICAgIHB1YmxpYyB2YWxpZGF0aW9uOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIERlZmluZXMgdGhlIHZhbHVlIG9mIHRoZSBjZWxsIHdoaWNoIGNhbiBiZSB0ZXh0IG9yIG51bWJlci5cbiAgICAgKiBAZGVmYXVsdCAnJ1xuICAgICAqL1xuICAgIHB1YmxpYyB2YWx1ZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBXcmFwcyB0aGUgY2VsbCB0ZXh0IHRvIHRoZSBuZXh0IGxpbmUsIGlmIHRoZSB0ZXh0IHdpZHRoIGV4Y2VlZHMgdGhlIGNvbHVtbiB3aWR0aC5cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIHB1YmxpYyB3cmFwOiBhbnk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZpZXdDb250YWluZXJSZWY6Vmlld0NvbnRhaW5lclJlZikge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICBzZXRWYWx1ZSgnY3VycmVudEluc3RhbmNlJywgdGhpcywgdGhpcy52aWV3Q29udGFpbmVyUmVmKTtcbiAgICAgICAgdGhpcy5yZWdpc3RlckV2ZW50cyhvdXRwdXRzKTtcbiAgICAgICAgdGhpcy5kaXJlY3RpdmVQcm9wTGlzdCA9IGlucHV0O1xuICAgIH1cbn1cblxuLyoqXG4gKiBDZWxsIEFycmF5IERpcmVjdGl2ZVxuICogQHByaXZhdGVcbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdlLXJvdz5lLWNlbGxzJyxcbiAgICBxdWVyaWVzOiB7XG4gICAgICAgIGNoaWxkcmVuOiBuZXcgQ29udGVudENoaWxkcmVuKENlbGxEaXJlY3RpdmUpXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgQ2VsbHNEaXJlY3RpdmUgZXh0ZW5kcyBBcnJheUJhc2U8Q2VsbHNEaXJlY3RpdmU+IHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoJ2NlbGxzJyk7XG4gICAgfVxufSJdfQ==
@@ -0,0 +1,46 @@
1
+ import { Directive, ContentChildren } from '@angular/core';
2
+ import { ComplexBase, ArrayBase, setValue } from '@syncfusion/ej2-angular-base';
3
+ import * as i0 from "@angular/core";
4
+ let input = ['dataLabelSettings', 'height', 'id', 'isSeriesInRows', 'legendSettings', 'markerSettings', 'primaryXAxis', 'primaryYAxis', 'range', 'theme', 'title', 'type', 'width'];
5
+ let outputs = [];
6
+ export class ChartDirective extends ComplexBase {
7
+ constructor(viewContainerRef) {
8
+ super();
9
+ this.viewContainerRef = viewContainerRef;
10
+ setValue('currentInstance', this, this.viewContainerRef);
11
+ this.registerEvents(outputs);
12
+ this.directivePropList = input;
13
+ }
14
+ }
15
+ ChartDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ChartDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
16
+ ChartDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: ChartDirective, selector: "e-charts>e-chart", inputs: { dataLabelSettings: "dataLabelSettings", height: "height", id: "id", isSeriesInRows: "isSeriesInRows", legendSettings: "legendSettings", markerSettings: "markerSettings", primaryXAxis: "primaryXAxis", primaryYAxis: "primaryYAxis", range: "range", theme: "theme", title: "title", type: "type", width: "width" }, usesInheritance: true, ngImport: i0 });
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ChartDirective, decorators: [{
18
+ type: Directive,
19
+ args: [{
20
+ selector: 'e-charts>e-chart',
21
+ inputs: input,
22
+ outputs: outputs,
23
+ queries: {}
24
+ }]
25
+ }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; } });
26
+ /**
27
+ * Chart Array Directive
28
+ * @private
29
+ */
30
+ export class ChartsDirective extends ArrayBase {
31
+ constructor() {
32
+ super('chart');
33
+ }
34
+ }
35
+ ChartsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ChartsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
36
+ ChartsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: ChartsDirective, selector: "e-cell>e-charts", queries: [{ propertyName: "children", predicate: ChartDirective }], usesInheritance: true, ngImport: i0 });
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ChartsDirective, decorators: [{
38
+ type: Directive,
39
+ args: [{
40
+ selector: 'e-cell>e-charts',
41
+ queries: {
42
+ children: new ContentChildren(ChartDirective)
43
+ },
44
+ }]
45
+ }], ctorParameters: function () { return []; } });
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NwcmVhZHNoZWV0L2NoYXJ0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFvQixlQUFlLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBSWhGLElBQUksS0FBSyxHQUFhLENBQUMsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztBQUM5TCxJQUFJLE9BQU8sR0FBYSxFQUFFLENBQUM7QUFVM0IsTUFBTSxPQUFPLGNBQWUsU0FBUSxXQUEyQjtJQXVFM0QsWUFBb0IsZ0JBQWlDO1FBQ2pELEtBQUssRUFBRSxDQUFDO1FBRFEscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQjtRQUVqRCxRQUFRLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztJQUNuQyxDQUFDOzsyR0E1RVEsY0FBYzsrRkFBZCxjQUFjOzJGQUFkLGNBQWM7a0JBUjFCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsTUFBTSxFQUFFLEtBQUs7b0JBQ2IsT0FBTyxFQUFFLE9BQU87b0JBQ2hCLE9BQU8sRUFBRSxFQUVSO2lCQUNKOztBQWdGRDs7O0dBR0c7QUFPSCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxTQUEwQjtJQUMzRDtRQUNJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNuQixDQUFDOzs0R0FIUSxlQUFlO2dHQUFmLGVBQWUsZ0ZBSFUsY0FBYzsyRkFHdkMsZUFBZTtrQkFOM0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixPQUFPLEVBQUU7d0JBQ0wsUUFBUSxFQUFFLElBQUksZUFBZSxDQUFDLGNBQWMsQ0FBQztxQkFDaEQ7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIFZpZXdDb250YWluZXJSZWYsIENvbnRlbnRDaGlsZHJlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcGxleEJhc2UsIEFycmF5QmFzZSwgc2V0VmFsdWUgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItYW5ndWxhci1iYXNlJztcblxuXG5cbmxldCBpbnB1dDogc3RyaW5nW10gPSBbJ2RhdGFMYWJlbFNldHRpbmdzJywgJ2hlaWdodCcsICdpZCcsICdpc1Nlcmllc0luUm93cycsICdsZWdlbmRTZXR0aW5ncycsICdtYXJrZXJTZXR0aW5ncycsICdwcmltYXJ5WEF4aXMnLCAncHJpbWFyeVlBeGlzJywgJ3JhbmdlJywgJ3RoZW1lJywgJ3RpdGxlJywgJ3R5cGUnLCAnd2lkdGgnXTtcbmxldCBvdXRwdXRzOiBzdHJpbmdbXSA9IFtdO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ2UtY2hhcnRzPmUtY2hhcnQnLFxuICAgIGlucHV0czogaW5wdXQsXG4gICAgb3V0cHV0czogb3V0cHV0cywgICAgXG4gICAgcXVlcmllczoge1xuXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBDaGFydERpcmVjdGl2ZSBleHRlbmRzIENvbXBsZXhCYXNlPENoYXJ0RGlyZWN0aXZlPiB7XG4gICAgcHVibGljIGRpcmVjdGl2ZVByb3BMaXN0OiBhbnk7XG5cdFxuXG5cbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSB0eXBlIG9mIGEgY2hhcnQuXG4gICAgICogQGRlZmF1bHQgJ0xpbmUnXG4gICAgICovXG4gICAgcHVibGljIHR5cGU6IGFueTtcbiAgICAvKiogXG4gICAgICogVGhlIGRhdGEgbGFiZWwgZm9yIHRoZSBzZXJpZXMuXG4gICAgICogQGRlZmF1bHQge31cbiAgICAgKi9cbiAgICBwdWJsaWMgZGF0YUxhYmVsU2V0dGluZ3M6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSBoZWlnaHQgb2YgdGhlIGNoYXJ0LlxuICAgICAqIEBkZWZhdWx0IDI5MFxuICAgICAqL1xuICAgIHB1YmxpYyBoZWlnaHQ6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIGNoYXJ0IGVsZW1lbnQgaWQuXG4gICAgICogQGRlZmF1bHQgJydcbiAgICAgKi9cbiAgICBwdWJsaWMgaWQ6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRvIHN3aXRjaCB0aGUgcm93IG9yIGEgY29sdW1uLlxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgcHVibGljIGlzU2VyaWVzSW5Sb3dzOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIE9wdGlvbnMgZm9yIGN1c3RvbWl6aW5nIHRoZSBsZWdlbmQgb2YgdGhlIGNoYXJ0LlxuICAgICAqIEBkZWZhdWx0IHt9XG4gICAgICovXG4gICAgcHVibGljIGxlZ2VuZFNldHRpbmdzOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIE9wdGlvbnMgdG8gY29uZmlndXJlIHRoZSBtYXJrZXJcbiAgICAgKiBAZGVmYXVsdCB7fVxuICAgICAqL1xuICAgIHB1YmxpYyBtYXJrZXJTZXR0aW5nczogYW55O1xuICAgIC8qKiBcbiAgICAgKiBPcHRpb25zIHRvIGNvbmZpZ3VyZSB0aGUgaG9yaXpvbnRhbCBheGlzLlxuICAgICAqIEBkZWZhdWx0IHt9XG4gICAgICovXG4gICAgcHVibGljIHByaW1hcnlYQXhpczogYW55O1xuICAgIC8qKiBcbiAgICAgKiBPcHRpb25zIHRvIGNvbmZpZ3VyZSB0aGUgdmVydGljYWwgYXhpcy5cbiAgICAgKiBAZGVmYXVsdCB7fVxuICAgICAqL1xuICAgIHB1YmxpYyBwcmltYXJ5WUF4aXM6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSBzZWxlY3RlZCByYW5nZSBvciBzcGVjaWZpZWQgcmFuZ2UuXG4gICAgICogQGRlZmF1bHQgJydcbiAgICAgKi9cbiAgICBwdWJsaWMgcmFuZ2U6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSB0aGVtZSBvZiBhIGNoYXJ0LlxuICAgICAqIEBkZWZhdWx0ICdNYXRlcmlhbCdcbiAgICAgKi9cbiAgICBwdWJsaWMgdGhlbWU6IGFueTtcbiAgICAvKiogXG4gICAgICogVGl0bGUgb2YgdGhlIGNoYXJ0XG4gICAgICogQGRlZmF1bHQgJydcbiAgICAgKi9cbiAgICBwdWJsaWMgdGl0bGU6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSB3aWR0aCBvZiB0aGUgY2hhcnQuXG4gICAgICogQGRlZmF1bHQgNDgwXG4gICAgICovXG4gICAgcHVibGljIHdpZHRoOiBhbnk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZpZXdDb250YWluZXJSZWY6Vmlld0NvbnRhaW5lclJlZikge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICBzZXRWYWx1ZSgnY3VycmVudEluc3RhbmNlJywgdGhpcywgdGhpcy52aWV3Q29udGFpbmVyUmVmKTtcbiAgICAgICAgdGhpcy5yZWdpc3RlckV2ZW50cyhvdXRwdXRzKTtcbiAgICAgICAgdGhpcy5kaXJlY3RpdmVQcm9wTGlzdCA9IGlucHV0O1xuICAgIH1cbn1cblxuLyoqXG4gKiBDaGFydCBBcnJheSBEaXJlY3RpdmVcbiAqIEBwcml2YXRlXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnZS1jZWxsPmUtY2hhcnRzJyxcbiAgICBxdWVyaWVzOiB7XG4gICAgICAgIGNoaWxkcmVuOiBuZXcgQ29udGVudENoaWxkcmVuKENoYXJ0RGlyZWN0aXZlKVxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIENoYXJ0c0RpcmVjdGl2ZSBleHRlbmRzIEFycmF5QmFzZTxDaGFydHNEaXJlY3RpdmU+IHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoJ2NoYXJ0Jyk7XG4gICAgfVxufSJdfQ==
@@ -0,0 +1,61 @@
1
+ import { Directive, ContentChildren } from '@angular/core';
2
+ import { ComplexBase, ArrayBase, setValue } from '@syncfusion/ej2-angular-base';
3
+ import * as i0 from "@angular/core";
4
+ let input = ['customWidth', 'format', 'hidden', 'index', 'isLocked', 'isReadOnly', 'validation', 'width'];
5
+ let outputs = [];
6
+ /**
7
+ * `e-column` directive represent a column of the Angular Spreadsheet.
8
+ * It must be contained in a `e-sheet` directive.
9
+ * ```html
10
+ * <ejs-spreadsheet>
11
+ * <e-sheets>
12
+ * <e-sheet>
13
+ * <e-columns>
14
+ * <e-column width='100'></e-column>
15
+ * </e-columns>
16
+ * </e-sheet>
17
+ * </e-sheets>
18
+ * </ejs-spreadsheet>
19
+ * ```
20
+ */
21
+ export class ColumnDirective extends ComplexBase {
22
+ constructor(viewContainerRef) {
23
+ super();
24
+ this.viewContainerRef = viewContainerRef;
25
+ setValue('currentInstance', this, this.viewContainerRef);
26
+ this.registerEvents(outputs);
27
+ this.directivePropList = input;
28
+ }
29
+ }
30
+ ColumnDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ColumnDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
31
+ ColumnDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: ColumnDirective, selector: "e-columns>e-column", inputs: { customWidth: "customWidth", format: "format", hidden: "hidden", index: "index", isLocked: "isLocked", isReadOnly: "isReadOnly", validation: "validation", width: "width" }, usesInheritance: true, ngImport: i0 });
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ColumnDirective, decorators: [{
33
+ type: Directive,
34
+ args: [{
35
+ selector: 'e-columns>e-column',
36
+ inputs: input,
37
+ outputs: outputs,
38
+ queries: {}
39
+ }]
40
+ }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; } });
41
+ /**
42
+ * Column Array Directive
43
+ * @private
44
+ */
45
+ export class ColumnsDirective extends ArrayBase {
46
+ constructor() {
47
+ super('columns');
48
+ }
49
+ }
50
+ ColumnsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ColumnsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
51
+ ColumnsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: ColumnsDirective, selector: "e-sheet>e-columns", queries: [{ propertyName: "children", predicate: ColumnDirective }], usesInheritance: true, ngImport: i0 });
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ColumnsDirective, decorators: [{
53
+ type: Directive,
54
+ args: [{
55
+ selector: 'e-sheet>e-columns',
56
+ queries: {
57
+ children: new ContentChildren(ColumnDirective)
58
+ },
59
+ }]
60
+ }], ctorParameters: function () { return []; } });
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1ucy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc3ByZWFkc2hlZXQvY29sdW1ucy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBb0IsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQUloRixJQUFJLEtBQUssR0FBYSxDQUFDLGFBQWEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNwSCxJQUFJLE9BQU8sR0FBYSxFQUFFLENBQUM7QUFDM0I7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFTSCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxXQUE0QjtJQWdEN0QsWUFBb0IsZ0JBQWlDO1FBQ2pELEtBQUssRUFBRSxDQUFDO1FBRFEscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQjtRQUVqRCxRQUFRLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztJQUNuQyxDQUFDOzs0R0FyRFEsZUFBZTtnR0FBZixlQUFlOzJGQUFmLGVBQWU7a0JBUjNCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsTUFBTSxFQUFFLEtBQUs7b0JBQ2IsT0FBTyxFQUFFLE9BQU87b0JBQ2hCLE9BQU8sRUFBRSxFQUVSO2lCQUNKOztBQXlERDs7O0dBR0c7QUFPSCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsU0FBMkI7SUFDN0Q7UUFDSSxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDckIsQ0FBQzs7NkdBSFEsZ0JBQWdCO2lHQUFoQixnQkFBZ0Isa0ZBSFMsZUFBZTsyRkFHeEMsZ0JBQWdCO2tCQU41QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLE9BQU8sRUFBRTt3QkFDTCxRQUFRLEVBQUUsSUFBSSxlQUFlLENBQUMsZUFBZSxDQUFDO3FCQUNqRDtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgVmlld0NvbnRhaW5lclJlZiwgQ29udGVudENoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21wbGV4QmFzZSwgQXJyYXlCYXNlLCBzZXRWYWx1ZSB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWJhc2UnO1xuXG5cblxubGV0IGlucHV0OiBzdHJpbmdbXSA9IFsnY3VzdG9tV2lkdGgnLCAnZm9ybWF0JywgJ2hpZGRlbicsICdpbmRleCcsICdpc0xvY2tlZCcsICdpc1JlYWRPbmx5JywgJ3ZhbGlkYXRpb24nLCAnd2lkdGgnXTtcbmxldCBvdXRwdXRzOiBzdHJpbmdbXSA9IFtdO1xuLyoqXG4gKiBgZS1jb2x1bW5gIGRpcmVjdGl2ZSByZXByZXNlbnQgYSBjb2x1bW4gb2YgdGhlIEFuZ3VsYXIgU3ByZWFkc2hlZXQuXG4gKiBJdCBtdXN0IGJlIGNvbnRhaW5lZCBpbiBhIGBlLXNoZWV0YCBkaXJlY3RpdmUuXG4gKiBgYGBodG1sXG4gKiA8ZWpzLXNwcmVhZHNoZWV0PlxuICogICA8ZS1zaGVldHM+XG4gKiAgICA8ZS1zaGVldD5cbiAqICAgIDxlLWNvbHVtbnM+XG4gKiAgICA8ZS1jb2x1bW4gd2lkdGg9JzEwMCc+PC9lLWNvbHVtbj5cbiAqICAgIDwvZS1jb2x1bW5zPlxuICogICAgPC9lLXNoZWV0PlxuICogICA8L2Utc2hlZXRzPlxuICogPC9lanMtc3ByZWFkc2hlZXQ+XG4gKiBgYGBcbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdlLWNvbHVtbnM+ZS1jb2x1bW4nLFxuICAgIGlucHV0czogaW5wdXQsXG4gICAgb3V0cHV0czogb3V0cHV0cywgICAgXG4gICAgcXVlcmllczoge1xuXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBDb2x1bW5EaXJlY3RpdmUgZXh0ZW5kcyBDb21wbGV4QmFzZTxDb2x1bW5EaXJlY3RpdmU+IHtcbiAgICBwdWJsaWMgZGlyZWN0aXZlUHJvcExpc3Q6IGFueTtcblx0XG5cblxuICAgIC8qKiBcbiAgICAgKiBzcGVjaWZpZXMgY3VzdG9tIHdpZHRoIG9mIHRoZSBjb2x1bW4uXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBwdWJsaWMgY3VzdG9tV2lkdGg6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIGZvcm1hdCBvZiB0aGUgY29sdW1uLlxuICAgICAqIEBkZWZhdWx0IHt9XG4gICAgICovXG4gICAgcHVibGljIGZvcm1hdDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUbyBoaWRlL3Nob3cgdGhlIGNvbHVtbiBpbiBzcHJlYWRzaGVldC5cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIHB1YmxpYyBoaWRkZW46IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIGluZGV4IG9mIHRoZSBjb2x1bW4uIEJhc2VkIG9uIHRoZSBpbmRleCwgY29sdW1uIHByb3BlcnRpZXMgYXJlIGFwcGxpZWQuXG4gICAgICogQGRlZmF1bHQgMFxuICAgICAqIEBhc3B0eXBlIGludFxuICAgICAqL1xuICAgIHB1YmxpYyBpbmRleDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUbyBsb2NrL3VubG9jayB0aGUgY29sdW1uIGluIHRoZSBwcm90ZWN0ZWQgc2hlZXQuXG4gICAgICogQGRlZmF1bHQgdHJ1ZVxuICAgICAqL1xuICAgIHB1YmxpYyBpc0xvY2tlZDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBSZXByZXNlbnRzIHdoZXRoZXIgYSBjb2x1bW4gaW4gdGhlIHNoZWV0IGlzIHJlYWQtb25seSBvciBub3QuIElmIHNldCB0byB0cnVlLCBpdCBwcmV2ZW50cyBlZGl0aW5nIHRoZSBzcGVjaWZpZWQgY2VsbCBpbiB0aGUgc2hlZXQuXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBwdWJsaWMgaXNSZWFkT25seTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIHZhbGlkYXRpb24gb2YgdGhlIGNvbHVtbi5cbiAgICAgKiBAZGVmYXVsdCAnJ1xuICAgICAqL1xuICAgIHB1YmxpYyB2YWxpZGF0aW9uOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNwZWNpZmllcyB3aWR0aCBvZiB0aGUgY29sdW1uLlxuICAgICAqIEBkZWZhdWx0IDY0XG4gICAgICogQGFzcHR5cGUgaW50XG4gICAgICovXG4gICAgcHVibGljIHdpZHRoOiBhbnk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZpZXdDb250YWluZXJSZWY6Vmlld0NvbnRhaW5lclJlZikge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICBzZXRWYWx1ZSgnY3VycmVudEluc3RhbmNlJywgdGhpcywgdGhpcy52aWV3Q29udGFpbmVyUmVmKTtcbiAgICAgICAgdGhpcy5yZWdpc3RlckV2ZW50cyhvdXRwdXRzKTtcbiAgICAgICAgdGhpcy5kaXJlY3RpdmVQcm9wTGlzdCA9IGlucHV0O1xuICAgIH1cbn1cblxuLyoqXG4gKiBDb2x1bW4gQXJyYXkgRGlyZWN0aXZlXG4gKiBAcHJpdmF0ZVxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ2Utc2hlZXQ+ZS1jb2x1bW5zJyxcbiAgICBxdWVyaWVzOiB7XG4gICAgICAgIGNoaWxkcmVuOiBuZXcgQ29udGVudENoaWxkcmVuKENvbHVtbkRpcmVjdGl2ZSlcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBDb2x1bW5zRGlyZWN0aXZlIGV4dGVuZHMgQXJyYXlCYXNlPENvbHVtbnNEaXJlY3RpdmU+IHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoJ2NvbHVtbnMnKTtcbiAgICB9XG59Il19