@syncfusion/ej2-angular-documenteditor 32.2.4-ngcc → 32.2.4

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 (120) hide show
  1. package/CHANGELOG.md +4993 -0
  2. package/README.md +30 -23
  3. package/esm2020/public_api.mjs +2 -0
  4. package/esm2020/src/document-editor/documenteditor-all.module.mjs +134 -0
  5. package/esm2020/src/document-editor/documenteditor.component.mjs +311 -0
  6. package/esm2020/src/document-editor/documenteditor.module.mjs +25 -0
  7. package/esm2020/src/document-editor-container/documenteditorcontainer-all.module.mjs +32 -0
  8. package/esm2020/src/document-editor-container/documenteditorcontainer.component.mjs +73 -0
  9. package/esm2020/src/document-editor-container/documenteditorcontainer.module.mjs +25 -0
  10. package/esm2020/src/index.mjs +8 -0
  11. package/esm2020/syncfusion-ej2-angular-documenteditor.mjs +5 -0
  12. package/fesm2015/syncfusion-ej2-angular-documenteditor.mjs +584 -0
  13. package/fesm2015/syncfusion-ej2-angular-documenteditor.mjs.map +1 -0
  14. package/fesm2020/syncfusion-ej2-angular-documenteditor.mjs +584 -0
  15. package/fesm2020/syncfusion-ej2-angular-documenteditor.mjs.map +1 -0
  16. package/package.json +28 -46
  17. package/public_api.d.ts +1 -1
  18. package/src/document-editor/documenteditor-all.module.d.ts +48 -42
  19. package/src/document-editor/documenteditor.component.d.ts +59 -55
  20. package/src/document-editor/documenteditor.module.d.ts +11 -5
  21. package/src/document-editor-container/documenteditorcontainer-all.module.d.ts +14 -8
  22. package/src/document-editor-container/documenteditorcontainer.component.d.ts +49 -45
  23. package/src/document-editor-container/documenteditorcontainer.module.d.ts +11 -5
  24. package/src/index.d.ts +7 -7
  25. package/styles/bds-lite.scss +1 -1
  26. package/styles/bds.scss +2 -2
  27. package/styles/bootstrap-dark-lite.scss +1 -1
  28. package/styles/bootstrap-dark.scss +2 -2
  29. package/styles/bootstrap-lite.scss +1 -1
  30. package/styles/bootstrap.scss +2 -2
  31. package/styles/bootstrap4-lite.scss +1 -1
  32. package/styles/bootstrap4.scss +2 -2
  33. package/styles/bootstrap5-dark-lite.scss +1 -1
  34. package/styles/bootstrap5-dark.scss +2 -2
  35. package/styles/bootstrap5-lite.scss +1 -1
  36. package/styles/bootstrap5.3-lite.scss +1 -1
  37. package/styles/bootstrap5.3.scss +2 -2
  38. package/styles/bootstrap5.scss +2 -2
  39. package/styles/document-editor/bds.scss +1 -1
  40. package/styles/document-editor/bootstrap-dark.scss +1 -1
  41. package/styles/document-editor/bootstrap.scss +1 -1
  42. package/styles/document-editor/bootstrap4.scss +1 -1
  43. package/styles/document-editor/bootstrap5-dark.scss +1 -1
  44. package/styles/document-editor/bootstrap5.3.scss +1 -1
  45. package/styles/document-editor/bootstrap5.scss +1 -1
  46. package/styles/document-editor/fabric-dark.scss +1 -1
  47. package/styles/document-editor/fabric.scss +1 -1
  48. package/styles/document-editor/fluent-dark.scss +1 -1
  49. package/styles/document-editor/fluent.scss +1 -1
  50. package/styles/document-editor/fluent2.scss +1 -1
  51. package/styles/document-editor/highcontrast-light.scss +1 -1
  52. package/styles/document-editor/highcontrast.scss +1 -1
  53. package/styles/document-editor/material-dark.scss +1 -1
  54. package/styles/document-editor/material.scss +1 -1
  55. package/styles/document-editor/material3-dark.scss +1 -2
  56. package/styles/document-editor/material3.scss +1 -2
  57. package/styles/document-editor/tailwind-dark.scss +1 -1
  58. package/styles/document-editor/tailwind.scss +1 -1
  59. package/styles/document-editor/tailwind3.scss +1 -1
  60. package/styles/document-editor-container/bds.scss +1 -1
  61. package/styles/document-editor-container/bootstrap-dark.scss +1 -1
  62. package/styles/document-editor-container/bootstrap.scss +1 -1
  63. package/styles/document-editor-container/bootstrap4.scss +1 -1
  64. package/styles/document-editor-container/bootstrap5-dark.scss +1 -1
  65. package/styles/document-editor-container/bootstrap5.3.scss +1 -1
  66. package/styles/document-editor-container/bootstrap5.scss +1 -1
  67. package/styles/document-editor-container/fabric-dark.scss +1 -1
  68. package/styles/document-editor-container/fabric.scss +1 -1
  69. package/styles/document-editor-container/fluent-dark.scss +1 -1
  70. package/styles/document-editor-container/fluent.scss +1 -1
  71. package/styles/document-editor-container/fluent2.scss +1 -1
  72. package/styles/document-editor-container/highcontrast-light.scss +1 -1
  73. package/styles/document-editor-container/highcontrast.scss +1 -1
  74. package/styles/document-editor-container/material-dark.scss +1 -1
  75. package/styles/document-editor-container/material.scss +1 -1
  76. package/styles/document-editor-container/material3-dark.scss +1 -2
  77. package/styles/document-editor-container/material3.scss +1 -2
  78. package/styles/document-editor-container/tailwind-dark.scss +1 -1
  79. package/styles/document-editor-container/tailwind.scss +1 -1
  80. package/styles/document-editor-container/tailwind3.scss +1 -1
  81. package/styles/fabric-dark-lite.scss +1 -1
  82. package/styles/fabric-dark.scss +2 -2
  83. package/styles/fabric-lite.scss +1 -1
  84. package/styles/fabric.scss +2 -2
  85. package/styles/fluent-dark-lite.scss +1 -1
  86. package/styles/fluent-dark.scss +2 -2
  87. package/styles/fluent-lite.scss +1 -1
  88. package/styles/fluent.scss +2 -2
  89. package/styles/fluent2-lite.scss +1 -1
  90. package/styles/fluent2.scss +2 -2
  91. package/styles/highcontrast-light-lite.scss +1 -1
  92. package/styles/highcontrast-light.scss +2 -2
  93. package/styles/highcontrast-lite.scss +1 -1
  94. package/styles/highcontrast.scss +2 -2
  95. package/styles/material-dark-lite.scss +1 -1
  96. package/styles/material-dark.scss +2 -2
  97. package/styles/material-lite.scss +1 -1
  98. package/styles/material.scss +2 -2
  99. package/styles/material3-dark-lite.scss +1 -1
  100. package/styles/material3-dark.scss +2 -3
  101. package/styles/material3-lite.scss +1 -1
  102. package/styles/material3.scss +2 -3
  103. package/styles/tailwind-dark-lite.scss +1 -1
  104. package/styles/tailwind-dark.scss +2 -2
  105. package/styles/tailwind-lite.scss +1 -1
  106. package/styles/tailwind.scss +2 -2
  107. package/styles/tailwind3-lite.scss +1 -1
  108. package/styles/tailwind3.scss +2 -2
  109. package/syncfusion-ej2-angular-documenteditor.d.ts +5 -0
  110. package/@syncfusion/ej2-angular-documenteditor.es5.js +0 -646
  111. package/@syncfusion/ej2-angular-documenteditor.es5.js.map +0 -1
  112. package/@syncfusion/ej2-angular-documenteditor.js +0 -616
  113. package/@syncfusion/ej2-angular-documenteditor.js.map +0 -1
  114. package/LICENSE +0 -10
  115. package/dist/ej2-angular-documenteditor.umd.js +0 -1362
  116. package/dist/ej2-angular-documenteditor.umd.js.map +0 -1
  117. package/dist/ej2-angular-documenteditor.umd.min.js +0 -11
  118. package/dist/ej2-angular-documenteditor.umd.min.js.map +0 -1
  119. package/ej2-angular-documenteditor.d.ts +0 -6
  120. package/ej2-angular-documenteditor.metadata.json +0 -1
package/README.md CHANGED
@@ -1,25 +1,25 @@
1
- # Angular Word Processor Component
1
+ # Angular DOCX Editor Component
2
2
 
3
- The [Angular Word Processor](https://www.syncfusion.com/angular-ui-components/angular-word-processor?utm_source=npm&utm_medium=listing&utm_campaign=angular-word-processor-npm) component is a feature rich UI component with document editing capabilities like Microsoft Word. Also known as the document editor, it is used to create, edit, view, and print Word documents. It provides all the common Word processing features including editing text, formatting content, resizing images and tables, finding and replacing text, bookmarks, tables of contents, track changes, commenting, restrict editing, printing, importing and exporting Word documents.
3
+ The [Angular DOCX Editor](https://www.syncfusion.com/docx-editor-sdk/angular-docx-editor?utm_source=npm&utm_medium=listing&utm_campaign=angular-word-processor-npm) component is a feature rich UI component with document editing capabilities like Microsoft Word. Also known as the document editor, it is used to create, edit, view, and print Word documents. It provides all the common Word processing features including editing text, formatting content, resizing images and tables, finding and replacing text, bookmarks, tables of contents, track changes, commenting, restrict editing, printing, importing and exporting Word documents.
4
4
 
5
- An example [Word Processor server-side Web API projects for ASP.NET MVC, ASP.NET Core, and Java is available in GitHub](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices?utm_source=npm&utm_medium=listing&utm_campaign=angular-word-processor-npm) which contains all the mandatory Web APIs for opening Word documents, paste with formatting, restrict editing, spell-checking, and saving documents other than SFDT/DOCX format. Apart from these operations, all the user interactions and editing operations run purely in the client-side provides much faster editing experience to the users.
5
+ An example [DOCX Editor server-side Web API projects for ASP.NET MVC, ASP.NET Core, and Java is available in GitHub](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices?utm_source=npm&utm_medium=listing&utm_campaign=angular-word-processor-npm) which contains all the mandatory Web APIs for opening Word documents, paste with formatting, restrict editing, spell-checking, and saving documents other than SFDT/DOCX format. Apart from these operations, all the user interactions and editing operations run purely in the client-side provides much faster editing experience to the users.
6
6
 
7
- Syncfusion provides a predefined [Word Processor server docker image](https://hub.docker.com/r/syncfusion/word-processor-server?utm_source=npm&utm_medium=listing&utm_campaign=angular-word-processor-npm) targeting ASP.NET Core 2.1 framework. You can directly pull this docker image and deploy it in server on the go. You can also create own docker image by customizing the existing [docker project from GitHub](https://github.com/SyncfusionExamples/Word-Processor-Server-Docker?utm_source=npm&utm_medium=listing&utm_campaign=angular-word-processor-npm).
7
+ Syncfusion provides a predefined [DOCX Editor server docker image](https://hub.docker.com/r/syncfusion/word-processor-server?utm_source=npm&utm_medium=listing&utm_campaign=angular-word-processor-npm) targeting ASP.NET Core 2.1 framework. You can directly pull this docker image and deploy it in server on the go. You can also create own docker image by customizing the existing [docker project from GitHub](https://github.com/SyncfusionExamples/Word-Processor-Server-Docker?utm_source=npm&utm_medium=listing&utm_campaign=angular-word-processor-npm).
8
8
 
9
9
  <p align="center">
10
- <a href="https://ej2.syncfusion.com/angular/documentation/document-editor/getting-started/?utm_source=npm&utm_medium=listing&utm_campaign=angular-word-processor-npm">Getting Started</a> .
11
- <a href="https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_medium=listing&utm_campaign=angular-word-processor-npm#/bootstrap5/document-editor/default">Online demos</a> .
12
- <a href="https://www.syncfusion.com/angular-components/angular-word-processor?utm_source=npm&utm_medium=listing&utm_campaign=angular-word-processor-npm">Learn more</a>
10
+ <a href="https://help.syncfusion.com/document-processing/word/word-processor/angular/getting-started?utm_source=npm&utm_medium=listing&utm_campaign=angular-word-processor-npm">Getting Started</a> .
11
+ <a href="https://document.syncfusion.com/demos/docx-editor/angular/#/tailwind3/document-editor/default?utm_source=npm&utm_medium=listing&utm_campaign=angular-word-processor-npm#">Online demos</a> .
12
+ <a href="https://www.syncfusion.com/docx-editor-sdk/angular-docx-editor?utm_source=npm&utm_medium=listing&utm_campaign=angular-word-processor-npm">Learn more</a>
13
13
  </p>
14
14
 
15
15
  <p align="center">
16
- <img src="https://raw.githubusercontent.com/SyncfusionExamples/nuget-img/master/angular/angular-word-processor.png" alt="Angular Word Processor Component">
16
+ <img src="https://raw.githubusercontent.com/SyncfusionExamples/nuget-img/master/angular/angular-word-processor.png" alt="Angular DOCX Editor Component">
17
17
  </p>
18
18
 
19
19
  <p align="center">
20
20
  Trusted by the world's leading companies
21
21
  <a href="https://www.syncfusion.com">
22
- <img src="https://raw.githubusercontent.com/SyncfusionExamples/nuget-img/master/syncfusion/syncfusion-trusted-companies.webp" alt="Bootstrap logo">
22
+ <img src="https://ej2.syncfusion.com/home/images/trusted_companies.png" alt="Bootstrap logo">
23
23
  </a>
24
24
  </p>
25
25
 
@@ -35,7 +35,7 @@ cd quickstart
35
35
  npm install
36
36
  ```
37
37
 
38
- ### Adding Syncfusion Word Processor package
38
+ ### Adding Syncfusion DOCX Editor package
39
39
 
40
40
  All Syncfusion Angular packages are published in [npmjs.com](https://www.npmjs.com/~syncfusionorg) registry. To install Angular Document editor package, use the following command.
41
41
 
@@ -43,7 +43,7 @@ All Syncfusion Angular packages are published in [npmjs.com](https://www.npmjs.c
43
43
  npm install @syncfusion/ej2-angular-documenteditor --save
44
44
  ```
45
45
 
46
- ### Adding CSS references for Word Processor
46
+ ### Adding CSS references for DOCX Editor
47
47
 
48
48
  Add CSS references needed for Document editor in the **src/styles/styles.css** file.
49
49
 
@@ -83,7 +83,7 @@ import { AppComponent } from './default.component';
83
83
  export class AppModule { }
84
84
  ```
85
85
 
86
- ## Add Word Processor component
86
+ ## Add DOCX Editor component
87
87
 
88
88
  Modify the template in [src/app/app.component.ts] file to render the Document Editor component.
89
89
  Add the Angular Document Editor by using <ejs-documenteditorcontainer> selector in template section of the **app.component.ts** file.
@@ -95,7 +95,7 @@ import { ToolbarService } from '@syncfusion/ej2-angular-documenteditor';
95
95
  @Component({
96
96
  selector: 'app-container',
97
97
  // specifies the template string for the DocumentEditorContainer component
98
- template: `<ejs-documenteditorcontainer serviceUrl="https://ej2services.syncfusion.com/production/web-services/api/documenteditor/" [enableToolbar]=true> </ejs-documenteditorcontainer>`,
98
+ template: `<ejs-documenteditorcontainer serviceUrl="https://document.syncfusion.com/web-services/docx-editor/api/documenteditor/" [enableToolbar]=true> </ejs-documenteditorcontainer>`,
99
99
  providers: [ToolbarService]
100
100
  })
101
101
  export class AppComponent implements OnInit {
@@ -105,13 +105,13 @@ export class AppComponent implements OnInit {
105
105
  }
106
106
  ```
107
107
 
108
- > The web API ('https://ej2services.syncfusion.com/production/web-services/api/documenteditor/') is created specifically for our online demos. You should host web API on your side, refer the [web service documentation](https://ej2.syncfusion.com/angular/documentation/document-editor/web-services/?utm_source=npm&utm_medium=listing&utm_campaign=angular-word-processor-npm) for more information.
108
+ > The web API ('https://document.syncfusion.com/web-services/docx-editor/api/documenteditor/') is created specifically for our online demos. You should host web API on your side, refer the [web service documentation](https://help.syncfusion.com/document-processing/word/word-processor/angular/web-services/core?utm_source=npm&utm_medium=listing&utm_campaign=angular-word-processor-npm) for more information.
109
109
 
110
110
  ## Supported frameworks
111
111
 
112
- The Angular Word Processor (Document Editor) component is also offered in the following list of frameworks.
112
+ The Angular DOCX Editor (Document Editor) component is also offered in the following list of frameworks.
113
113
 
114
- | [<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; |
114
+ | [<img src="https://ej2.syncfusion.com/github/images/js.svg" height="50" />](https://www.syncfusion.com/docx-editor-sdk/javascript-docx-editor?utm_medium=listing&utm_source=github)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[JavaScript](https://www.syncfusion.com/docx-editor-sdk/javascript-docx-editor?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/docx-editor-sdk/react-docx-editor?utm_medium=listing&utm_source=github)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[React](https://www.syncfusion.com/docx-editor-sdk/react-docx-editor?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/docx-editor-sdk/vue-docx-editor?utm_medium=listing&utm_source=github)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Vue](https://www.syncfusion.com/docx-editor-sdk/vue-docx-editor?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/docx-editor-sdk/asp-net-core-docx-editor?utm_medium=listing&utm_source=github)<br/>&nbsp;&nbsp;[ASP.NET&nbsp;Core](https://www.syncfusion.com/docx-editor-sdk/asp-net-core-docx-editor?utm_medium=listing&utm_source=github)&nbsp;&nbsp; | [<img src="https://ej2.syncfusion.com/github/images/netmvc.svg" height="50" />](https://www.syncfusion.com/docx-editor-sdk/asp-net-mvc-docx-editor?utm_medium=listing&utm_source=github)<br/>&nbsp;&nbsp;[ASP.NET&nbsp;MVC](https://www.syncfusion.com/docx-editor-sdk/asp-net-mvc-docx-editor?utm_medium=listing&utm_source=github)&nbsp;&nbsp; |
115
115
  | :-----: | :-----: | :-----: | :-----: | :-----: |
116
116
 
117
117
  ## Showcase samples
@@ -122,16 +122,16 @@ The Angular Word Processor (Document Editor) component is also offered in the fo
122
122
 
123
123
  ## Key features
124
124
 
125
- * [Document Authoring](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_medium=listing&utm_campaign=angular-word-processor-npm#/bootstrap5/document-editor/default) - Allows to create a document with supported elements and formatting options.
125
+ * [Document Authoring](https://document.syncfusion.com/demos/docx-editor/angular/?utm_source=npm&utm_medium=listing&utm_campaign=angular-word-processor-npm#/tailwind3/document-editor/default) - Allows to create a document with supported elements and formatting options.
126
126
  * Supported elements - Supports document elements like text, inline image, table, hyperlink, fields, bookmark, table of contents, footnote and endnote, section, header, and footer.
127
127
  * Styles - Supports character and paragraph styles.
128
128
  * Editing - Supports all the common editing and formatting operations.
129
129
  * History - Supports options to perform undo redo operations.
130
130
  * Find and replace - Provides support to find and replace text within the document.
131
- * [Track changes](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_medium=listing&utm_campaign=angular-word-processor-npm#/bootstrap5/document-editor/track-changes) - Suppports tracking the content insertion and deletion.
132
- * [Commenting](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_medium=listing&utm_campaign=angular-word-processor-npm#/bootstrap5/document-editor/comments) - Supports adding a comment, replying to an existing comment or mark as resolved and more.
133
- * [Form filling](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_medium=listing&utm_campaign=angular-word-processor-npm#/bootstrap5/document-editor/form-fields) - Supports designing fillable forms in Word document and fill the forms.
134
- * [Restrict editng](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_medium=listing&utm_campaign=angular-word-processor-npm#/bootstrap5/document-editor/document-protection) - Supports restricting edit permission for a region in Word document and control what type of changes can be made to the document.
131
+ * [Track changes](https://document.syncfusion.com/demos/docx-editor/angular/?utm_source=npm&utm_medium=listing&utm_campaign=angular-word-processor-npm#/tailwind3/document-editor/track-changes) - Suppports tracking the content insertion and deletion.
132
+ * [Commenting](https://document.syncfusion.com/demos/docx-editor/angular/?utm_source=npm&utm_medium=listing&utm_campaign=angular-word-processor-npm#/tailwind3/document-editor/comments) - Supports adding a comment, replying to an existing comment or mark as resolved and more.
133
+ * [Form filling](https://document.syncfusion.com/demos/docx-editor/angular/?utm_source=npm&utm_medium=listing&utm_campaign=angular-word-processor-npm#/tailwind3/document-editor/form-fields) - Supports designing fillable forms in Word document and fill the forms.
134
+ * [Restrict editng](https://document.syncfusion.com/demos/docx-editor/angular/?utm_source=npm&utm_medium=listing&utm_campaign=angular-word-processor-npm#/tailwind3/document-editor/document-protection) - Supports restricting edit permission for a region in Word document and control what type of changes can be made to the document .
135
135
  * Export - Provides the options to export the documents in the client-side as `Syncfusion Document Text (*.sfdt)` and `Word document (*.docx)`. With server-side library, exporting as other formats can be achieved.
136
136
  * Import - Provides the options to import the native `Syncfusion Document Text (*.sfdt)` format documents in the client-side. With server-side library, importing other formats can be achieved.
137
137
  * Print - Provides the options to print the documents.
@@ -140,7 +140,14 @@ The Angular Word Processor (Document Editor) component is also offered in the fo
140
140
  * Context menu - Provides context menu.
141
141
  * Dialog - Provides dialog for inserting elements such as hyperlink, table and formatting such as font, paragraph, list, style, table.
142
142
  * Options pane - Provides options pane to perform find and replace operations.
143
-
143
+
144
+ ## Resources
145
+
146
+ * [Theme Studio](https://ej2.syncfusion.com/themestudio/)
147
+ * [What's New](https://www.syncfusion.com/products/whatsnew/docx-editor-sdk?utm_medium=listing&utm_source=github)
148
+ * [Road Map](https://www.syncfusion.com/products/roadmap/docx-editor-sdk)
149
+ * [E-Books](https://www.syncfusion.com/succinctly-free-ebooks?searchkey=angular&type=all)
150
+
144
151
  ## Support
145
152
 
146
153
  Product support is available through the following mediums.
@@ -157,7 +164,7 @@ Check the changelog [here](https://github.com/syncfusion/ej2-angular-ui-componen
157
164
 
158
165
  ## License and copyright
159
166
 
160
- > 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 80+ [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).
167
+ > 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).
161
168
 
162
169
  > 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.
163
170
 
@@ -0,0 +1,2 @@
1
+ export * from './src/index';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NyYy9pbmRleCc7Il19
@@ -0,0 +1,134 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { DocumentEditorModule } from './documenteditor.module';
4
+ import { Print, SfdtExport, WordExport, TextExport, Selection, Search, Editor, EditorHistory, OptionsPane, ContextMenu, ImageResizer, HyperlinkDialog, TableDialog, BookmarkDialog, TableOfContentsDialog, PageSetupDialog, ParagraphDialog, ListDialog, StyleDialog, StylesDialog, BulletsAndNumberingDialog, FontDialog, TablePropertiesDialog, BordersAndShadingDialog, TableOptionsDialog, CellOptionsDialog, SpellChecker, SpellCheckDialog, CollaborativeEditing, ColumnsDialog, CollaborativeEditingHandler, Optimized, TabDialog, TextFormFieldDialog, DropDownFormFieldDialog, CheckBoxFormFieldDialog } from '@syncfusion/ej2-documenteditor';
5
+ import * as i0 from "@angular/core";
6
+ export const PrintService = { provide: 'DocumentEditorPrint', useValue: Print };
7
+ export const SfdtExportService = { provide: 'DocumentEditorSfdtExport', useValue: SfdtExport };
8
+ export const WordExportService = { provide: 'DocumentEditorWordExport', useValue: WordExport };
9
+ export const TextExportService = { provide: 'DocumentEditorTextExport', useValue: TextExport };
10
+ export const SelectionService = { provide: 'DocumentEditorSelection', useValue: Selection };
11
+ export const SearchService = { provide: 'DocumentEditorSearch', useValue: Search };
12
+ export const EditorService = { provide: 'DocumentEditorEditor', useValue: Editor };
13
+ export const EditorHistoryService = { provide: 'DocumentEditorEditorHistory', useValue: EditorHistory };
14
+ export const OptionsPaneService = { provide: 'DocumentEditorOptionsPane', useValue: OptionsPane };
15
+ export const ContextMenuService = { provide: 'DocumentEditorContextMenu', useValue: ContextMenu };
16
+ export const ImageResizerService = { provide: 'DocumentEditorImageResizer', useValue: ImageResizer };
17
+ export const HyperlinkDialogService = { provide: 'DocumentEditorHyperlinkDialog', useValue: HyperlinkDialog };
18
+ export const TableDialogService = { provide: 'DocumentEditorTableDialog', useValue: TableDialog };
19
+ export const BookmarkDialogService = { provide: 'DocumentEditorBookmarkDialog', useValue: BookmarkDialog };
20
+ export const TableOfContentsDialogService = { provide: 'DocumentEditorTableOfContentsDialog', useValue: TableOfContentsDialog };
21
+ export const PageSetupDialogService = { provide: 'DocumentEditorPageSetupDialog', useValue: PageSetupDialog };
22
+ export const ParagraphDialogService = { provide: 'DocumentEditorParagraphDialog', useValue: ParagraphDialog };
23
+ export const ListDialogService = { provide: 'DocumentEditorListDialog', useValue: ListDialog };
24
+ export const StyleDialogService = { provide: 'DocumentEditorStyleDialog', useValue: StyleDialog };
25
+ export const StylesDialogService = { provide: 'DocumentEditorStylesDialog', useValue: StylesDialog };
26
+ export const BulletsAndNumberingDialogService = { provide: 'DocumentEditorBulletsAndNumberingDialog', useValue: BulletsAndNumberingDialog };
27
+ export const FontDialogService = { provide: 'DocumentEditorFontDialog', useValue: FontDialog };
28
+ export const TablePropertiesDialogService = { provide: 'DocumentEditorTablePropertiesDialog', useValue: TablePropertiesDialog };
29
+ export const BordersAndShadingDialogService = { provide: 'DocumentEditorBordersAndShadingDialog', useValue: BordersAndShadingDialog };
30
+ export const TableOptionsDialogService = { provide: 'DocumentEditorTableOptionsDialog', useValue: TableOptionsDialog };
31
+ export const CellOptionsDialogService = { provide: 'DocumentEditorCellOptionsDialog', useValue: CellOptionsDialog };
32
+ export const SpellCheckerService = { provide: 'DocumentEditorSpellChecker', useValue: SpellChecker };
33
+ export const SpellCheckDialogService = { provide: 'DocumentEditorSpellCheckDialog', useValue: SpellCheckDialog };
34
+ export const CollaborativeEditingService = { provide: 'DocumentEditorCollaborativeEditing', useValue: CollaborativeEditing };
35
+ export const ColumnsDialogService = { provide: 'DocumentEditorColumnsDialog', useValue: ColumnsDialog };
36
+ export const CollaborativeEditingHandlerService = { provide: 'DocumentEditorCollaborativeEditingHandler', useValue: CollaborativeEditingHandler };
37
+ export const OptimizedService = { provide: 'DocumentEditorOptimized', useValue: Optimized };
38
+ export const TabDialogService = { provide: 'DocumentEditorTabDialog', useValue: TabDialog };
39
+ export const TextFormFieldDialogService = { provide: 'DocumentEditorTextFormFieldDialog', useValue: TextFormFieldDialog };
40
+ export const DropDownFormFieldDialogService = { provide: 'DocumentEditorDropDownFormFieldDialog', useValue: DropDownFormFieldDialog };
41
+ export const CheckBoxFormFieldDialogService = { provide: 'DocumentEditorCheckBoxFormFieldDialog', useValue: CheckBoxFormFieldDialog };
42
+ /**
43
+ * NgModule definition for the DocumentEditor component with providers.
44
+ */
45
+ export class DocumentEditorAllModule {
46
+ }
47
+ DocumentEditorAllModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: DocumentEditorAllModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
48
+ DocumentEditorAllModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: DocumentEditorAllModule, imports: [CommonModule, DocumentEditorModule], exports: [DocumentEditorModule] });
49
+ DocumentEditorAllModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: DocumentEditorAllModule, providers: [
50
+ PrintService,
51
+ SfdtExportService,
52
+ WordExportService,
53
+ TextExportService,
54
+ SelectionService,
55
+ SearchService,
56
+ EditorService,
57
+ EditorHistoryService,
58
+ OptionsPaneService,
59
+ ContextMenuService,
60
+ ImageResizerService,
61
+ HyperlinkDialogService,
62
+ TableDialogService,
63
+ BookmarkDialogService,
64
+ TableOfContentsDialogService,
65
+ PageSetupDialogService,
66
+ ParagraphDialogService,
67
+ ListDialogService,
68
+ StyleDialogService,
69
+ StylesDialogService,
70
+ BulletsAndNumberingDialogService,
71
+ FontDialogService,
72
+ TablePropertiesDialogService,
73
+ BordersAndShadingDialogService,
74
+ TableOptionsDialogService,
75
+ CellOptionsDialogService,
76
+ SpellCheckerService,
77
+ SpellCheckDialogService,
78
+ CollaborativeEditingService,
79
+ ColumnsDialogService,
80
+ CollaborativeEditingHandlerService,
81
+ OptimizedService,
82
+ TabDialogService,
83
+ TextFormFieldDialogService,
84
+ DropDownFormFieldDialogService,
85
+ CheckBoxFormFieldDialogService
86
+ ], imports: [[CommonModule, DocumentEditorModule], DocumentEditorModule] });
87
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: DocumentEditorAllModule, decorators: [{
88
+ type: NgModule,
89
+ args: [{
90
+ imports: [CommonModule, DocumentEditorModule],
91
+ exports: [
92
+ DocumentEditorModule
93
+ ],
94
+ providers: [
95
+ PrintService,
96
+ SfdtExportService,
97
+ WordExportService,
98
+ TextExportService,
99
+ SelectionService,
100
+ SearchService,
101
+ EditorService,
102
+ EditorHistoryService,
103
+ OptionsPaneService,
104
+ ContextMenuService,
105
+ ImageResizerService,
106
+ HyperlinkDialogService,
107
+ TableDialogService,
108
+ BookmarkDialogService,
109
+ TableOfContentsDialogService,
110
+ PageSetupDialogService,
111
+ ParagraphDialogService,
112
+ ListDialogService,
113
+ StyleDialogService,
114
+ StylesDialogService,
115
+ BulletsAndNumberingDialogService,
116
+ FontDialogService,
117
+ TablePropertiesDialogService,
118
+ BordersAndShadingDialogService,
119
+ TableOptionsDialogService,
120
+ CellOptionsDialogService,
121
+ SpellCheckerService,
122
+ SpellCheckDialogService,
123
+ CollaborativeEditingService,
124
+ ColumnsDialogService,
125
+ CollaborativeEditingHandlerService,
126
+ OptimizedService,
127
+ TabDialogService,
128
+ TextFormFieldDialogService,
129
+ DropDownFormFieldDialogService,
130
+ CheckBoxFormFieldDialogService
131
+ ]
132
+ }]
133
+ }] });
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnRlZGl0b3ItYWxsLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb2N1bWVudC1lZGl0b3IvZG9jdW1lbnRlZGl0b3ItYWxsLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUscUJBQXFCLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSx5QkFBeUIsRUFBRSxVQUFVLEVBQUUscUJBQXFCLEVBQUUsdUJBQXVCLEVBQUUsa0JBQWtCLEVBQUUsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFLG9CQUFvQixFQUFFLGFBQWEsRUFBRSwyQkFBMkIsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFLHVCQUF1QixFQUFFLHVCQUF1QixFQUFDLE1BQU0sZ0NBQWdDLENBQUE7O0FBR3JuQixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQWtCLEVBQUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUMsQ0FBQztBQUM5RixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBa0IsRUFBRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBQyxDQUFDO0FBQzdHLE1BQU0sQ0FBQyxN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QU8sRUFBRSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsQ0FBQztvQkFDN0MsT0FBTyxFQUFFO3dCQUNMLG9CQUFvQjtxQkFDdkI7b0JBQ0QsU0FBUyxFQUFDO3dCQUNOLFlBQVk7d0JBQ1osaUJBQWlCO3dCQUNqQixpQkFBaUI7d0JBQ2pCLGlCQUFpQjt3QkFDakIsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLGFBQWE7d0JBQ2Isb0JBQW9CO3dCQUNwQixrQkFBa0I7d0JBQ2xCLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQixzQkFBc0I7d0JBQ3RCLGtCQUFrQjt3QkFDbEIscUJBQXFCO3dCQUNyQiw0QkFBNEI7d0JBQzVCLHNCQUFzQjt3QkFDdEIsc0JBQXNCO3dCQUN0QixpQkFBaUI7d0JBQ2pCLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQixnQ0FBZ0M7d0JBQ2hDLGlCQUFpQjt3QkFDakIsNEJBQTRCO3dCQUM1Qiw4QkFBOEI7d0JBQzlCLHlCQUF5Qjt3QkFDekIsd0JBQXdCO3dCQUN4QixtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIsMkJBQTJCO3dCQUMzQixvQkFBb0I7d0JBQ3BCLGtDQUFrQzt3QkFDbEMsZ0JBQWdCO3dCQUNoQixnQkFBZ0I7d0JBQ2hCLDBCQUEwQjt3QkFDMUIsOEJBQThCO3dCQUM5Qiw4QkFBOEI7cUJBQ2pDO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIFZhbHVlUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBEb2N1bWVudEVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vZG9jdW1lbnRlZGl0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IERvY3VtZW50RWRpdG9yTW9kdWxlIH0gZnJvbSAnLi9kb2N1bWVudGVkaXRvci5tb2R1bGUnO1xuaW1wb3J0IHtQcmludCwgU2ZkdEV4cG9ydCwgV29yZEV4cG9ydCwgVGV4dEV4cG9ydCwgU2VsZWN0aW9uLCBTZWFyY2gsIEVkaXRvciwgRWRpdG9ySGlzdG9yeSwgT3B0aW9uc1BhbmUsIENvbnRleHRNZW51LCBJbWFnZVJlc2l6ZXIsIEh5cGVybGlua0RpYWxvZywgVGFibGVEaWFsb2csIEJvb2ttYXJrRGlhbG9nLCBUYWJsZU9mQ29udGVudHNEaWFsb2csIFBhZ2VTZXR1cERpYWxvZywgUGFyYWdyYXBoRGlhbG9nLCBMaXN0RGlhbG9nLCBTdHlsZURpYWxvZywgU3R5bGVzRGlhbG9nLCBCdWxsZXRzQW5kTnVtYmVyaW5nRGlhbG9nLCBGb250RGlhbG9nLCBUYWJsZVByb3BlcnRpZXNEaWFsb2csIEJvcmRlcnNBbmRTaGFkaW5nRGlhbG9nLCBUYWJsZU9wdGlvbnNEaWFsb2csIENlbGxPcHRpb25zRGlhbG9nLCBTcGVsbENoZWNrZXIsIFNwZWxsQ2hlY2tEaWFsb2csIENvbGxhYm9yYXRpdmVFZGl0aW5nLCBDb2x1bW5zRGlhbG9nLCBDb2xsYWJvcmF0aXZlRWRpdGluZ0hhbmRsZXIsIE9wdGltaXplZCwgVGFiRGlhbG9nLCBUZXh0Rm9ybUZpZWxkRGlhbG9nLCBEcm9wRG93bkZvcm1GaWVsZERpYWxvZywgQ2hlY2tCb3hGb3JtRmllbGREaWFsb2d9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1kb2N1bWVudGVkaXRvcidcblxuXG5leHBvcnQgY29uc3QgUHJpbnRTZXJ2aWNlOiBWYWx1ZVByb3ZpZGVyID0geyBwcm92aWRlOiAnRG9jdW1lbnRFZGl0b3JQcmludCcsIHVzZVZhbHVlOiBQcmludH07XG5leHBvcnQgY29uc3QgU2ZkdEV4cG9ydFNlcnZpY2U6IFZhbHVlUHJvdmlkZXIgPSB7IHByb3ZpZGU6ICdEb2N1bWVudEVkaXRvclNmZHRFeHBvcnQnLCB1c2VWYWx1ZTogU2ZkdEV4cG9ydH07XG5leHBvcnQgY29uc3QgV29yZEV4cG9ydFNlcnZpY2U6IFZhbHVlUHJvdmlkZXIgPSB7IHByb3ZpZGU6ICdEb2N1bWVudEVkaXRvcldvcmRFeHBvcnQnLCB1c2VWYWx1ZTogV29yZEV4cG9ydH07XG5leHBvcnQgY29uc3QgVGV4dEV4cG9ydFNlcnZpY2U6IFZhbHVlUHJvdmlkZXIgPSB7IHByb3ZpZGU6ICdEb2N1bWVudEVkaXRvclRleHRFeHBvcnQnLCB1c2VWYWx1ZTogVGV4dEV4cG9ydH07XG5leHBvcnQgY29uc3QgU2VsZWN0aW9uU2VydmljZTogVmFsdWVQcm92aWRlciA9IHsgcHJvdmlkZTogJ0RvY3VtZW50RWRpdG9yU2VsZWN0aW9uJywgdXNlVmFsdWU6IFNlbGVjdGlvbn07XG5leHBvcnQgY29uc3QgU2VhcmNoU2VydmljZTogVmFsdWVQcm92aWRlciA9IHsgcHJvdmlkZTogJ0RvY3VtZW50RWRpdG9yU2VhcmNoJywgdXNlVmFsdWU6IFNlYXJjaH07XG5leHBvcnQgY29uc3QgRWRpdG9yU2VydmljZTogVmFsdWVQcm92aWRlciA9IHsgcHJvdmlkZTogJ0RvY3VtZW50RWRpdG9yRWRpdG9yJywgdXNlVmFsdWU6IEVkaXRvcn07XG5leHBvcnQgY29uc3QgRWRpdG9ySGlzdG9yeVNlcnZpY2U6IFZhbHVlUHJvdmlkZXIgPSB7IHByb3ZpZGU6ICdEb2N1bWVudEVkaXRvckVkaXRvckhpc3RvcnknLCB1c2VWYWx1ZTogRWRpdG9ySGlzdG9yeX07XG5leHBvcnQgY29uc3QgT3B0aW9uc1BhbmVTZXJ2aWNlOiBWYWx1ZVByb3ZpZGVyID0geyBwcm92aWRlOiAnRG9jdW1lbnRFZGl0b3JPcHRpb25zUGFuZScsIHVzZVZhbHVlOiBPcHRpb25zUGFuZX07XG5leHBvcnQgY29uc3QgQ29udGV4dE1lbnVTZXJ2aWNlOiBWYWx1ZVByb3ZpZGVyID0geyBwcm92aWRlOiAnRG9jdW1lbnRFZGl0b3JDb250ZXh0TWVudScsIHVzZVZhbHVlOiBDb250ZXh0TWVudX07XG5leHBvcnQgY29uc3QgSW1hZ2VSZXNpemVyU2VydmljZTogVmFsdWVQcm92aWRlciA9IHsgcHJvdmlkZTogJ0RvY3VtZW50RWRpdG9ySW1hZ2VSZXNpemVyJywgdXNlVmFsdWU6IEltYWdlUmVzaXplcn07XG5leHBvcnQgY29uc3QgSHlwZXJsaW5rRGlhbG9nU2VydmljZTogVmFsdWVQcm92aWRlciA9IHsgcHJvdmlkZTogJ0RvY3VtZW50RWRpdG9ySHlwZXJsaW5rRGlhbG9nJywgdXNlVmFsdWU6IEh5cGVybGlua0RpYWxvZ307XG5leHBvcnQgY29uc3QgVGFibGVEaWFsb2dTZXJ2aWNlOiBWYWx1ZVByb3ZpZGVyID0geyBwcm92aWRlOiAnRG9jdW1lbnRFZGl0b3JUYWJsZURpYWxvZycsIHVzZVZhbHVlOiBUYWJsZURpYWxvZ307XG5leHBvcnQgY29uc3QgQm9va21hcmtEaWFsb2dTZXJ2aWNlOiBWYWx1ZVByb3ZpZGVyID0geyBwcm92aWRlOiAnRG9jdW1lbnRFZGl0b3JCb29rbWFya0RpYWxvZycsIHVzZVZhbHVlOiBCb29rbWFya0RpYWxvZ307XG5leHBvcnQgY29uc3QgVGFibGVPZkNvbnRlbnRzRGlhbG9nU2VydmljZTogVmFsdWVQcm92aWRlciA9IHsgcHJvdmlkZTogJ0RvY3VtZW50RWRpdG9yVGFibGVPZkNvbnRlbnRzRGlhbG9nJywgdXNlVmFsdWU6IFRhYmxlT2ZDb250ZW50c0RpYWxvZ307XG5leHBvcnQgY29uc3QgUGFnZVNldHVwRGlhbG9nU2VydmljZTogVmFsdWVQcm92aWRlciA9IHsgcHJvdmlkZTogJ0RvY3VtZW50RWRpdG9yUGFnZVNldHVwRGlhbG9nJywgdXNlVmFsdWU6IFBhZ2VTZXR1cERpYWxvZ307XG5leHBvcnQgY29uc3QgUGFyYWdyYXBoRGlhbG9nU2VydmljZTogVmFsdWVQcm92aWRlciA9IHsgcHJvdmlkZTogJ0RvY3VtZW50RWRpdG9yUGFyYWdyYXBoRGlhbG9nJywgdXNlVmFsdWU6IFBhcmFncmFwaERpYWxvZ307XG5leHBvcnQgY29uc3QgTGlzdERpYWxvZ1NlcnZpY2U6IFZhbHVlUHJvdmlkZXIgPSB7IHByb3ZpZGU6ICdEb2N1bWVudEVkaXRvckxpc3REaWFsb2cnLCB1c2VWYWx1ZTogTGlzdERpYWxvZ307XG5leHBvcnQgY29uc3QgU3R5bGVEaWFsb2dTZXJ2aWNlOiBWYWx1ZVByb3ZpZGVyID0geyBwcm92aWRlOiAnRG9jdW1lbnRFZGl0b3JTdHlsZURpYWxvZycsIHVzZVZhbHVlOiBTdHlsZURpYWxvZ307XG5leHBvcnQgY29uc3QgU3R5bGVzRGlhbG9nU2VydmljZTogVmFsdWVQcm92aWRlciA9IHsgcHJvdmlkZTogJ0RvY3VtZW50RWRpdG9yU3R5bGVzRGlhbG9nJywgdXNlVmFsdWU6IFN0eWxlc0RpYWxvZ307XG5leHBvcnQgY29uc3QgQnVsbGV0c0FuZE51bWJlcmluZ0RpYWxvZ1NlcnZpY2U6IFZhbHVlUHJvdmlkZXIgPSB7IHByb3ZpZGU6ICdEb2N1bWVudEVkaXRvckJ1bGxldHNBbmROdW1iZXJpbmdEaWFsb2cnLCB1c2VWYWx1ZTogQnVsbGV0c0FuZE51bWJlcmluZ0RpYWxvZ307XG5leHBvcnQgY29uc3QgRm9udERpYWxvZ1NlcnZpY2U6IFZhbHVlUHJvdmlkZXIgPSB7IHByb3ZpZGU6ICdEb2N1bWVudEVkaXRvckZvbnREaWFsb2cnLCB1c2VWYWx1ZTogRm9udERpYWxvZ307XG5leHBvcnQgY29uc3QgVGFibGVQcm9wZXJ0aWVzRGlhbG9nU2VydmljZTogVmFsdWVQcm92aWRlciA9IHsgcHJvdmlkZTogJ0RvY3VtZW50RWRpdG9yVGFibGVQcm9wZXJ0aWVzRGlhbG9nJywgdXNlVmFsdWU6IFRhYmxlUHJvcGVydGllc0RpYWxvZ307XG5leHBvcnQgY29uc3QgQm9yZGVyc0FuZFNoYWRpbmdEaWFsb2dTZXJ2aWNlOiBWYWx1ZVByb3ZpZGVyID0geyBwcm92aWRlOiAnRG9jdW1lbnRFZGl0b3JCb3JkZXJzQW5kU2hhZGluZ0RpYWxvZycsIHVzZVZhbHVlOiBCb3JkZXJzQW5kU2hhZGluZ0RpYWxvZ307XG5leHBvcnQgY29uc3QgVGFibGVPcHRpb25zRGlhbG9nU2VydmljZTogVmFsdWVQcm92aWRlciA9IHsgcHJvdmlkZTogJ0RvY3VtZW50RWRpdG9yVGFibGVPcHRpb25zRGlhbG9nJywgdXNlVmFsdWU6IFRhYmxlT3B0aW9uc0RpYWxvZ307XG5leHBvcnQgY29uc3QgQ2VsbE9wdGlvbnNEaWFsb2dTZXJ2aWNlOiBWYWx1ZVByb3ZpZGVyID0geyBwcm92aWRlOiAnRG9jdW1lbnRFZGl0b3JDZWxsT3B0aW9uc0RpYWxvZycsIHVzZVZhbHVlOiBDZWxsT3B0aW9uc0RpYWxvZ307XG5leHBvcnQgY29uc3QgU3BlbGxDaGVja2VyU2VydmljZTogVmFsdWVQcm92aWRlciA9IHsgcHJvdmlkZTogJ0RvY3VtZW50RWRpdG9yU3BlbGxDaGVja2VyJywgdXNlVmFsdWU6IFNwZWxsQ2hlY2tlcn07XG5leHBvcnQgY29uc3QgU3BlbGxDaGVja0RpYWxvZ1NlcnZpY2U6IFZhbHVlUHJvdmlkZXIgPSB7IHByb3ZpZGU6ICdEb2N1bWVudEVkaXRvclNwZWxsQ2hlY2tEaWFsb2cnLCB1c2VWYWx1ZTogU3BlbGxDaGVja0RpYWxvZ307XG5leHBvcnQgY29uc3QgQ29sbGFib3JhdGl2ZUVkaXRpbmdTZXJ2aWNlOiBWYWx1ZVByb3ZpZGVyID0geyBwcm92aWRlOiAnRG9jdW1lbnRFZGl0b3JDb2xsYWJvcmF0aXZlRWRpdGluZycsIHVzZVZhbHVlOiBDb2xsYWJvcmF0aXZlRWRpdGluZ307XG5leHBvcnQgY29uc3QgQ29sdW1uc0RpYWxvZ1NlcnZpY2U6IFZhbHVlUHJvdmlkZXIgPSB7IHByb3ZpZGU6ICdEb2N1bWVudEVkaXRvckNvbHVtbnNEaWFsb2cnLCB1c2VWYWx1ZTogQ29sdW1uc0RpYWxvZ307XG5leHBvcnQgY29uc3QgQ29sbGFib3JhdGl2ZUVkaXRpbmdIYW5kbGVyU2VydmljZTogVmFsdWVQcm92aWRlciA9IHsgcHJvdmlkZTogJ0RvY3VtZW50RWRpdG9yQ29sbGFib3JhdGl2ZUVkaXRpbmdIYW5kbGVyJywgdXNlVmFsdWU6IENvbGxhYm9yYXRpdmVFZGl0aW5nSGFuZGxlcn07XG5leHBvcnQgY29uc3QgT3B0aW1pemVkU2VydmljZTogVmFsdWVQcm92aWRlciA9IHsgcHJvdmlkZTogJ0RvY3VtZW50RWRpdG9yT3B0aW1pemVkJywgdXNlVmFsdWU6IE9wdGltaXplZH07XG5leHBvcnQgY29uc3QgVGFiRGlhbG9nU2VydmljZTogVmFsdWVQcm92aWRlciA9IHsgcHJvdmlkZTogJ0RvY3VtZW50RWRpdG9yVGFiRGlhbG9nJywgdXNlVmFsdWU6IFRhYkRpYWxvZ307XG5leHBvcnQgY29uc3QgVGV4dEZvcm1GaWVsZERpYWxvZ1NlcnZpY2U6IFZhbHVlUHJvdmlkZXIgPSB7IHByb3ZpZGU6ICdEb2N1bWVudEVkaXRvclRleHRGb3JtRmllbGREaWFsb2cnLCB1c2VWYWx1ZTogVGV4dEZvcm1GaWVsZERpYWxvZ307XG5leHBvcnQgY29uc3QgRHJvcERvd25Gb3JtRmllbGREaWFsb2dTZXJ2aWNlOiBWYWx1ZVByb3ZpZGVyID0geyBwcm92aWRlOiAnRG9jdW1lbnRFZGl0b3JEcm9wRG93bkZvcm1GaWVsZERpYWxvZycsIHVzZVZhbHVlOiBEcm9wRG93bkZvcm1GaWVsZERpYWxvZ307XG5leHBvcnQgY29uc3QgQ2hlY2tCb3hGb3JtRmllbGREaWFsb2dTZXJ2aWNlOiBWYWx1ZVByb3ZpZGVyID0geyBwcm92aWRlOiAnRG9jdW1lbnRFZGl0b3JDaGVja0JveEZvcm1GaWVsZERpYWxvZycsIHVzZVZhbHVlOiBDaGVja0JveEZvcm1GaWVsZERpYWxvZ307XG5cbi8qKlxuICogTmdNb2R1bGUgZGVmaW5pdGlvbiBmb3IgdGhlIERvY3VtZW50RWRpdG9yIGNvbXBvbmVudCB3aXRoIHByb3ZpZGVycy5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBEb2N1bWVudEVkaXRvck1vZHVsZV0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBEb2N1bWVudEVkaXRvck1vZHVsZVxuICAgIF0sXG4gICAgcHJvdmlkZXJzOltcbiAgICAgICAgUHJpbnRTZXJ2aWNlLFxuICAgICAgICBTZmR0RXhwb3J0U2VydmljZSxcbiAgICAgICAgV29yZEV4cG9ydFNlcnZpY2UsXG4gICAgICAgIFRleHRFeHBvcnRTZXJ2aWNlLFxuICAgICAgICBTZWxlY3Rpb25TZXJ2aWNlLFxuICAgICAgICBTZWFyY2hTZXJ2aWNlLFxuICAgICAgICBFZGl0b3JTZXJ2aWNlLFxuICAgICAgICBFZGl0b3JIaXN0b3J5U2VydmljZSxcbiAgICAgICAgT3B0aW9uc1BhbmVTZXJ2aWNlLFxuICAgICAgICBDb250ZXh0TWVudVNlcnZpY2UsXG4gICAgICAgIEltYWdlUmVzaXplclNlcnZpY2UsXG4gICAgICAgIEh5cGVybGlua0RpYWxvZ1NlcnZpY2UsXG4gICAgICAgIFRhYmxlRGlhbG9nU2VydmljZSxcbiAgICAgICAgQm9va21hcmtEaWFsb2dTZXJ2aWNlLFxuICAgICAgICBUYWJsZU9mQ29udGVudHNEaWFsb2dTZXJ2aWNlLFxuICAgICAgICBQYWdlU2V0dXBEaWFsb2dTZXJ2aWNlLFxuICAgICAgICBQYXJhZ3JhcGhEaWFsb2dTZXJ2aWNlLFxuICAgICAgICBMaXN0RGlhbG9nU2VydmljZSxcbiAgICAgICAgU3R5bGVEaWFsb2dTZXJ2aWNlLFxuICAgICAgICBTdHlsZXNEaWFsb2dTZXJ2aWNlLFxuICAgICAgICBCdWxsZXRzQW5kTnVtYmVyaW5nRGlhbG9nU2VydmljZSxcbiAgICAgICAgRm9udERpYWxvZ1NlcnZpY2UsXG4gICAgICAgIFRhYmxlUHJvcGVydGllc0RpYWxvZ1NlcnZpY2UsXG4gICAgICAgIEJvcmRlcnNBbmRTaGFkaW5nRGlhbG9nU2VydmljZSxcbiAgICAgICAgVGFibGVPcHRpb25zRGlhbG9nU2VydmljZSxcbiAgICAgICAgQ2VsbE9wdGlvbnNEaWFsb2dTZXJ2aWNlLFxuICAgICAgICBTcGVsbENoZWNrZXJTZXJ2aWNlLFxuICAgICAgICBTcGVsbENoZWNrRGlhbG9nU2VydmljZSxcbiAgICAgICAgQ29sbGFib3JhdGl2ZUVkaXRpbmdTZXJ2aWNlLFxuICAgICAgICBDb2x1bW5zRGlhbG9nU2VydmljZSxcbiAgICAgICAgQ29sbGFib3JhdGl2ZUVkaXRpbmdIYW5kbGVyU2VydmljZSxcbiAgICAgICAgT3B0aW1pemVkU2VydmljZSxcbiAgICAgICAgVGFiRGlhbG9nU2VydmljZSxcbiAgICAgICAgVGV4dEZvcm1GaWVsZERpYWxvZ1NlcnZpY2UsXG4gICAgICAgIERyb3BEb3duRm9ybUZpZWxkRGlhbG9nU2VydmljZSxcbiAgICAgICAgQ2hlY2tCb3hGb3JtRmllbGREaWFsb2dTZXJ2aWNlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBEb2N1bWVudEVkaXRvckFsbE1vZHVsZSB7IH0iXX0=