@syncfusion/ej2-angular-filemanager 22.1.34 → 22.1.35

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 (49) hide show
  1. package/README.md +106 -27
  2. package/esm2020/src/file-manager/filemanager-all.module.mjs +7 -4
  3. package/esm2020/src/file-manager/filemanager.component.mjs +10 -3
  4. package/esm2020/src/index.mjs +2 -2
  5. package/fesm2015/syncfusion-ej2-angular-filemanager.mjs +16 -6
  6. package/fesm2015/syncfusion-ej2-angular-filemanager.mjs.map +1 -1
  7. package/fesm2020/syncfusion-ej2-angular-filemanager.mjs +16 -6
  8. package/fesm2020/syncfusion-ej2-angular-filemanager.mjs.map +1 -1
  9. package/package.json +1 -1
  10. package/schematics/utils/lib-details.ts +2 -2
  11. package/src/file-manager/filemanager-all.module.d.ts +1 -0
  12. package/src/file-manager/filemanager.component.d.ts +1 -1
  13. package/src/index.d.ts +1 -1
  14. package/styles/bootstrap-dark.css +1 -0
  15. package/styles/bootstrap.css +1 -0
  16. package/styles/bootstrap4.css +1 -0
  17. package/styles/bootstrap5-dark.css +1 -0
  18. package/styles/bootstrap5.css +1 -0
  19. package/styles/fabric-dark.css +1 -0
  20. package/styles/fabric.css +1 -0
  21. package/styles/file-manager/_layout.scss +2 -4
  22. package/styles/file-manager/_material3-definition.scss +7 -8
  23. package/styles/file-manager/bootstrap-dark.css +1 -0
  24. package/styles/file-manager/bootstrap.css +1 -0
  25. package/styles/file-manager/bootstrap4.css +1 -0
  26. package/styles/file-manager/bootstrap5-dark.css +1 -0
  27. package/styles/file-manager/bootstrap5.css +1 -0
  28. package/styles/file-manager/fabric-dark.css +1 -0
  29. package/styles/file-manager/fabric.css +1 -0
  30. package/styles/file-manager/fluent-dark.css +1 -0
  31. package/styles/file-manager/fluent.css +1 -0
  32. package/styles/file-manager/highcontrast-light.css +1 -0
  33. package/styles/file-manager/highcontrast.css +1 -0
  34. package/styles/file-manager/material-dark.css +1 -0
  35. package/styles/file-manager/material.css +1 -0
  36. package/styles/file-manager/material3-dark.css +10 -9
  37. package/styles/file-manager/material3.css +10 -9
  38. package/styles/file-manager/tailwind-dark.css +1 -0
  39. package/styles/file-manager/tailwind.css +1 -0
  40. package/styles/fluent-dark.css +1 -0
  41. package/styles/fluent.css +1 -0
  42. package/styles/highcontrast-light.css +1 -0
  43. package/styles/highcontrast.css +1 -0
  44. package/styles/material-dark.css +1 -0
  45. package/styles/material.css +1 -0
  46. package/styles/material3-dark.css +10 -9
  47. package/styles/material3.css +10 -9
  48. package/styles/tailwind-dark.css +1 -0
  49. package/styles/tailwind.css +1 -0
package/README.md CHANGED
@@ -1,52 +1,131 @@
1
- # ej2-angular-filemanager
1
+ # Angular File Manager Component
2
2
 
3
- The `File Manager` is a graphical user interface component used to manage the file system. It enables the user to perform common file operations such as accessing, editing, uploading, downloading, and sorting files and folders. This component also allows easy navigation for browsing or selecting a file or folder from the file system.
3
+ The [Angular File Manager](https://www.syncfusion.com/angular-components/angular-file-manager?utm_source=npm&utm_medium=listing&utm_campaign=angular-filemanager-npm) component is a graphical user interface that allows users to manage their file system in an intuitive and efficient manner. With this component, you can easily access, edit, upload, download, and organize files and folders. It also offers a convenient way to browse and select items from the file system.
4
4
 
5
+ <p align="center">
6
+ <a href="https://ej2.syncfusion.com/angular/documentation/file-manager/getting-started/?utm_source=npm&utm_medium=listing&utm_campaign=angular-filemanager-npm">Getting Started</a> .
7
+ <a href="https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_medium=listing&utm_campaign=angular-filemanager-npm#/material/file-manager/overview">Online demos</a> .
8
+ <a href="https://www.syncfusion.com/angular-components/angular-file-manager?utm_source=npm&utm_medium=listing&utm_campaign=angular-filemanager-npm">Learn more</a>
9
+ </p>
5
10
 
6
- > This is a commercial product and requires a paid license for possession or use. Syncfusion’s licensed software, including this component, is subject to the terms and conditions of Syncfusion's [EULA](https://www.syncfusion.com/eula/es/). To acquire a license, you can purchase one at [https://www.syncfusion.com/sales/products](https://www.syncfusion.com/sales/products) or start a free 30-day trial [here](https://www.syncfusion.com/account/manage-trials/start-trials).
11
+ <p align="center">
12
+ <img src="https://raw.githubusercontent.com/SyncfusionExamples/nuget-img/master/angular/angular-filemanager.png">
13
+ </P>
7
14
 
8
- > 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.
15
+ <p align="center">
16
+ Trusted by the world's leading companies
17
+ <a href="https://www.syncfusion.com/">
18
+ <img src="https://raw.githubusercontent.com/SyncfusionExamples/nuget-img/master/syncfusion/syncfusion-trusted-companies.webp" alt="Bootstrap logo">
19
+ </a>
20
+ </p>
9
21
 
10
22
  ## Setup
11
23
 
12
- To install `FileManager` and its dependent packages, use the following command.
24
+ You can use [Angular CLI](https://github.com/angular/angular-cli) to setup your Angular applications. To install Angular CLI use the following command.
13
25
 
14
- ```sh
15
- npm install @syncfusion/ej2-angular-filemanager
26
+ ```bash
27
+ npm install -g @angular/cli
16
28
  ```
17
29
 
18
- ## Components included
30
+ Create a new Angular application using below Angular CLI command.
19
31
 
20
- Following list of components are available in the package
32
+ ```bash
33
+ ng new my-app
34
+ cd my-app
35
+ ```
36
+
37
+ ### Adding Syncfusion File Manager package
38
+
39
+ All Syncfusion Angular packages are published in [npmjs.com](https://www.npmjs.com/~syncfusionorg) registry. To install Angular File Manager package, use the following command.
40
+
41
+ ```bash
42
+ ng add @syncfusion/ej2-angular-filemanager
43
+ ```
44
+
45
+ The above command does the below configuration to your Angular app.
21
46
 
22
- * File Manager - performs common file operations such as accessing, editing, upload, download and sorting files and folders. This component also allows easy navigation for browsing or selecting a file or folder from the file system.
47
+ * Adds `@syncfusion/ej2-angular-filemanager` package and its peer dependencies to your `package.json` file.
48
+ * Import the `FileManagerModule` in your application module `app.module.ts`.
49
+ * Register the Syncfusion UI Default theme in the `angular.json` file.
23
50
 
51
+ This makes it easy to add the Syncfusion Angular File Manager module to your project and start using it in your application.
24
52
 
25
- ## Key Features
53
+ ### Add Angular File Manager component
26
54
 
27
- * File Manager
55
+ In src/app/app.component.ts, use `<ejs-filemanager>` selector in `template` attribute of `@Component` directive to render the Syncfusion Angular File Manager component.
56
+
57
+ Add the File Manager component snippet in **app.component.html** as follows.
58
+
59
+ ```html
60
+ <ejs-filemanager id='default-filemanager' [ajaxSettings]='ajaxSettings'>
61
+ </ejs-filemanager>
62
+ ```
63
+
64
+ Refer the File Manager component snippet in **app.component.ts** as follows.
65
+
66
+ ```typescript
67
+ import { Component } from '@angular/core';
68
+ @Component({
69
+ selector: 'app-root',
70
+ styleUrls: ['app/app.component.css'],
71
+ templateUrl: 'app/app.component.html'
72
+ })
73
+ export class AppComponent {
74
+ public hostUrl: string = 'https://ej2-aspcore-service.azurewebsites.net/';
75
+ public ajaxSettings: object = {
76
+ url: this.hostUrl + 'api/FileManager/FileOperations'
77
+ };
78
+ }
79
+ ```
80
+
81
+ ## Supported frameworks
82
+
83
+ The File Manager component is also offered in following list of frameworks,
84
+
85
+ | [<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; |
86
+ | :-----: | :-----: | :-----: | :-----: | :-----: |
87
+
88
+ ## Showcase samples
89
+
90
+ * Expense Tracker - [Source](https://github.com/syncfusion/ej2-showcase-angular-expensetracker?utm_source=npm&utm_medium=listing&utm_campaign=angular-filemanager-npm), [Live Demo](https://ej2.syncfusion.com/showcase/angular/expensetracker/#/dashboard?utm_source=npm&utm_medium=listing&utm_campaign=angular-filemanager-npm)
91
+ * Loan Calculator - [Source](https://github.com/syncfusion/ej2-sample-ng-loancalculator?utm_source=npm&utm_medium=listing&utm_campaign=angular-filemanager-npm), [Live Demo](https://ej2.syncfusion.com/showcase/angular/loancalculator/?utm_source=npm&utm_medium=listing&utm_campaign=angular-filemanager-npm)
92
+
93
+ ## Key features
28
94
 
29
- * **Different Views** - Provides detailed and large icon views.
30
- * **Context menu support** - Provides detailed and large icon views.
31
- * **Custom toolbar support** - Customize the toolbar to provide only necessary features.
32
- * **Multiple file selection** - Select multiple files simultaneously.
33
- * **Accessibility** - Features built-in accessibility support that makes all features accessible through keyboard interaction, screen readers, or other assistive technology devices.
34
- * **Localization** - Translate file names to any supported language.
95
+ * [File and directory management](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_medium=listing&utm_campaign=angular-file-manager-npm#/bootstrap5/file-manager/directory-upload): The component allows users to upload, download, rename, sort, cut, copy, and paste files and directories.
96
+ * [Multiple layout options](https://ej2.syncfusion.com/angular/documentation/file-manager/user-interface/?utm_source=npm&utm_medium=listing&utm_campaign=angular-file-manager-npm#view): The component supports both large icons view and details view layout, giving users the ability to choose the display option that works best for them.
97
+ * [Multiple file providers](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_medium=listing&utm_campaign=angular-file-manager-npm#/bootstrap5/file-manager/azure-service): The component supports a range of file providers, including Amazon S3, MS Azure, NodeJS, Google file systems, and local physical file providers, giving users flexibility in how they store and access their files.
98
+ * [Search functionality](https://ej2.syncfusion.com/angular/documentation/file-manager/file-operations/?utm_source=npm&utm_medium=listing&utm_campaign=angular-file-manager-npm#search): The component includes a search feature that allows users to easily locate specific files within their file system.
99
+ * [Customizable interface](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_medium=listing&utm_campaign=angular-file-manager-npm#/bootstrap5/file-manager/custom): The component's interface can be customized to fit the needs and preferences of users, allowing for a personalized experience.
100
+ * [Responsive design](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_medium=listing&utm_campaign=angular-file-manager-npm#/bootstrap5/file-manager/overview): The component is designed to be responsive, ensuring that it works seamlessly across a range of devices and screen sizes.
101
+ * [Easy integration](https://ej2.syncfusion.com/angular/documentation/file-manager/getting-started/?utm_source=npm&utm_medium=listing&utm_campaign=angular-file-manager-npm): The component is easy to integrate into existing projects, making it a convenient and straightforward solution for file management.
102
+ * [Context menu](https://ej2.syncfusion.com/angular/documentation/file-manager/user-interface/?utm_source=npm&utm_medium=listing&utm_campaign=angular-file-manager-npm#context-menu): The component includes a context menu that allows users to quickly and easily access file management options.
103
+ * [Toolbar](https://ej2.syncfusion.com/angular/documentation/file-manager/user-interface/?utm_source=npm&utm_medium=listing&utm_campaign=angular-file-manager-npm#toolbar): The component's toolbar provides a flexible way to manage file operations, making it easy for users to perform common tasks.
104
+ * [Access control](https://ej2.syncfusion.com/angular/documentation/file-manager/access-control/?utm_source=npm&utm_medium=listing&utm_campaign=angular-file-manager-npm): The component allows users to define a set of access rules for their folders and files, giving them control over who can access specific resources.
105
+ * [Multiple file selection](https://ej2.syncfusion.com/angular/documentation/file-manager/multiple-selection/?utm_source=npm&utm_medium=listing&utm_campaign=angular-file-manager-npm): The component supports the selection of multiple files, making it easy for users to perform bulk operations.
106
+ * [Localization](https://ej2.syncfusion.com/angular/documentation/file-manager/localization/?utm_source=npm&utm_medium=listing&utm_campaign=angular-file-manager-npm): The component supports localization, allowing it to be used in a variety of languages and regions.
107
+ * [Accessibility](https://ej2.syncfusion.com/angular/documentation/file-manager/accessibility/?utm_source=npm&utm_medium=listing&utm_campaign=angular-file-manager-npm): The component is designed with accessibility in mind, ensuring that it is usable by users with disabilities.
35
108
 
36
109
  ## Support
37
110
 
38
- Product support is available for through following mediums.
111
+ Product support is available through following mediums.
39
112
 
40
- * Creating incident in Syncfusion [Direct-trac](https://www.syncfusion.com/support/directtrac/incidents?utm_source=npm&utm_campaign=filemanager) support system or [Community forum](https://www.syncfusion.com/forums/essential-js2?utm_source=npm&utm_campaign=filemanager).
41
- * New [GitHub issue](https://github.com/syncfusion/ej2-angular-ui-components/issues/new).
42
- * Ask your query in [Stack Overflow](https://stackoverflow.com/?utm_source=npm&utm_campaign=filemanager) with tag `syncfusion` and `ej2`.
113
+ * [Support ticket](https://support.syncfusion.com/support/tickets/create) - Guaranteed Response in 24 hours | Unlimited tickets | Holiday support
114
+ * [Community forum](https://www.syncfusion.com/forums/angular-js2?utm_source=npm&utm_medium=listing&utm_campaign=angular-filemanager-npm)
115
+ * [GitHub issues](https://github.com/syncfusion/ej2-angular-ui-components/issues/new)
116
+ * [Request feature or report bug](https://www.syncfusion.com/feedback/angular?utm_source=npm&utm_medium=listing&utm_campaign=angular-filemanager-npm)
117
+ * Live chat
43
118
 
44
- ## License
119
+ ## Changelog
45
120
 
46
- Check the license detail [here](https://github.com/syncfusion/ej2-angular-ui-components/blob/master/license?utm_source=npm&utm_campaign=filemanager).
121
+ Check the changelog [here](https://github.com/syncfusion/ej2-angular-ui-components/blob/master/components/filemanager/CHANGELOG.md?utm_source=npm&utm_campaign=filemanager). Get minor improvements and bug fixes every week to stay up to date with frequent updates.
47
122
 
48
- ## Changelog
123
+ ## License and copyright
124
+
125
+ > This is a commercial product and requires a paid license for possession or use. Syncfusion’s licensed software, including this component, is subject to the terms and conditions of Syncfusion's [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).
126
+
127
+ > 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.
49
128
 
50
- Check the changelog [here](https://github.com/syncfusion/ej2-angular-ui-components/blob/master/components/filemanager/CHANGELOG.md?utm_source=npm&utm_campaign=filemanager)
129
+ See [LICENSE FILE](https://github.com/syncfusion/ej2-angular-ui-components/blob/master/license?utm_source=npm&utm_campaign=filemanager) for more info.
51
130
 
52
- © Copyright 2023 Syncfusion, Inc. All Rights Reserved. The Syncfusion Essential Studio license and copyright applies to this distribution.
131
+ &copy; Copyright 2022 Syncfusion, Inc. All Rights Reserved. The Syncfusion Essential Studio license and copyright applies to this distribution.
@@ -1,7 +1,7 @@
1
1
  import { NgModule } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import { FileManagerModule } from './filemanager.module';
4
- import { DetailsView, NavigationPane, LargeIconsView, Toolbar, ContextMenu, BreadCrumbBar } from '@syncfusion/ej2-filemanager';
4
+ import { DetailsView, NavigationPane, LargeIconsView, Toolbar, ContextMenu, BreadCrumbBar, Virtualization } from '@syncfusion/ej2-filemanager';
5
5
  import * as i0 from "@angular/core";
6
6
  export const DetailsViewService = { provide: 'FileManagerDetailsView', useValue: DetailsView };
7
7
  export const NavigationPaneService = { provide: 'FileManagerNavigationPane', useValue: NavigationPane };
@@ -9,6 +9,7 @@ export const LargeIconsViewService = { provide: 'FileManagerLargeIconsView', use
9
9
  export const ToolbarService = { provide: 'FileManagerToolbar', useValue: Toolbar };
10
10
  export const ContextMenuService = { provide: 'FileManagerContextMenu', useValue: ContextMenu };
11
11
  export const BreadCrumbBarService = { provide: 'FileManagerBreadCrumbBar', useValue: BreadCrumbBar };
12
+ export const VirtualizationService = { provide: 'FileManagerVirtualization', useValue: Virtualization };
12
13
  /**
13
14
  * NgModule definition for the FileManager component with providers.
14
15
  */
@@ -22,7 +23,8 @@ FileManagerAllModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", ve
22
23
  LargeIconsViewService,
23
24
  ToolbarService,
24
25
  ContextMenuService,
25
- BreadCrumbBarService
26
+ BreadCrumbBarService,
27
+ VirtualizationService
26
28
  ], imports: [[CommonModule, FileManagerModule], FileManagerModule] });
27
29
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: FileManagerAllModule, decorators: [{
28
30
  type: NgModule,
@@ -37,8 +39,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
37
39
  LargeIconsViewService,
38
40
  ToolbarService,
39
41
  ContextMenuService,
40
- BreadCrumbBarService
42
+ BreadCrumbBarService,
43
+ VirtualizationService
41
44
  ]
42
45
  }]
43
46
  }] });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZW1hbmFnZXItYWxsLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWxlLW1hbmFnZXIvZmlsZW1hbmFnZXItYWxsLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFDLFdBQVcsRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFDLE1BQU0sNkJBQTZCLENBQUE7O0FBRzVILE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFrQixFQUFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFDLENBQUM7QUFDN0csTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQWtCLEVBQUUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUMsQ0FBQztBQUN0SCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBa0IsRUFBRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBQyxDQUFDO0FBQ3RILE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBa0IsRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBQyxDQUFDO0FBQ2pHLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFrQixFQUFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFDLENBQUM7QUFDN0csTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQWtCLEVBQUUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUMsQ0FBQztBQUVuSDs7R0FFRztBQWVILE1BQU0sT0FBTyxvQkFBb0I7O2lIQUFwQixvQkFBb0I7a0hBQXBCLG9CQUFvQixZQWJuQixZQUFZLEVBQUUsaUJBQWlCLGFBRXJDLGlCQUFpQjtrSEFXWixvQkFBb0IsYUFUbkI7UUFDTixrQkFBa0I7UUFDbEIscUJBQXFCO1FBQ3JCLHFCQUFxQjtRQUNyQixjQUFjO1FBQ2Qsa0JBQWtCO1FBQ2xCLG9CQUFvQjtLQUN2QixZQVhRLENBQUMsWUFBWSxFQUFFLGlCQUFpQixDQUFDLEVBRXRDLGlCQUFpQjsyRkFXWixvQkFBb0I7a0JBZGhDLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGlCQUFpQixDQUFDO29CQUMxQyxPQUFPLEVBQUU7d0JBQ0wsaUJBQWlCO3FCQUNwQjtvQkFDRCxTQUFTLEVBQUM7d0JBQ04sa0JBQWtCO3dCQUNsQixxQkFBcUI7d0JBQ3JCLHFCQUFxQjt3QkFDckIsY0FBYzt3QkFDZCxrQkFBa0I7d0JBQ2xCLG9CQUFvQjtxQkFDdkI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgVmFsdWVQcm92aWRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZpbGVNYW5hZ2VyQ29tcG9uZW50IH0gZnJvbSAnLi9maWxlbWFuYWdlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmlsZU1hbmFnZXJNb2R1bGUgfSBmcm9tICcuL2ZpbGVtYW5hZ2VyLm1vZHVsZSc7XG5pbXBvcnQge0RldGFpbHNWaWV3LCBOYXZpZ2F0aW9uUGFuZSwgTGFyZ2VJY29uc1ZpZXcsIFRvb2xiYXIsIENvbnRleHRNZW51LCBCcmVhZENydW1iQmFyfSBmcm9tICdAc3luY2Z1c2lvbi9lajItZmlsZW1hbmFnZXInXG5cblxuZXhwb3J0IGNvbnN0IERldGFpbHNWaWV3U2VydmljZTogVmFsdWVQcm92aWRlciA9IHsgcHJvdmlkZTogJ0ZpbGVNYW5hZ2VyRGV0YWlsc1ZpZXcnLCB1c2VWYWx1ZTogRGV0YWlsc1ZpZXd9O1xuZXhwb3J0IGNvbnN0IE5hdmlnYXRpb25QYW5lU2VydmljZTogVmFsdWVQcm92aWRlciA9IHsgcHJvdmlkZTogJ0ZpbGVNYW5hZ2VyTmF2aWdhdGlvblBhbmUnLCB1c2VWYWx1ZTogTmF2aWdhdGlvblBhbmV9O1xuZXhwb3J0IGNvbnN0IExhcmdlSWNvbnNWaWV3U2VydmljZTogVmFsdWVQcm92aWRlciA9IHsgcHJvdmlkZTogJ0ZpbGVNYW5hZ2VyTGFyZ2VJY29uc1ZpZXcnLCB1c2VWYWx1ZTogTGFyZ2VJY29uc1ZpZXd9O1xuZXhwb3J0IGNvbnN0IFRvb2xiYXJTZXJ2aWNlOiBWYWx1ZVByb3ZpZGVyID0geyBwcm92aWRlOiAnRmlsZU1hbmFnZXJUb29sYmFyJywgdXNlVmFsdWU6IFRvb2xiYXJ9O1xuZXhwb3J0IGNvbnN0IENvbnRleHRNZW51U2VydmljZTogVmFsdWVQcm92aWRlciA9IHsgcHJvdmlkZTogJ0ZpbGVNYW5hZ2VyQ29udGV4dE1lbnUnLCB1c2VWYWx1ZTogQ29udGV4dE1lbnV9O1xuZXhwb3J0IGNvbnN0IEJyZWFkQ3J1bWJCYXJTZXJ2aWNlOiBWYWx1ZVByb3ZpZGVyID0geyBwcm92aWRlOiAnRmlsZU1hbmFnZXJCcmVhZENydW1iQmFyJywgdXNlVmFsdWU6IEJyZWFkQ3J1bWJCYXJ9O1xuXG4vKipcbiAqIE5nTW9kdWxlIGRlZmluaXRpb24gZm9yIHRoZSBGaWxlTWFuYWdlciBjb21wb25lbnQgd2l0aCBwcm92aWRlcnMuXG4gKi9cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRmlsZU1hbmFnZXJNb2R1bGVdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgRmlsZU1hbmFnZXJNb2R1bGVcbiAgICBdLFxuICAgIHByb3ZpZGVyczpbXG4gICAgICAgIERldGFpbHNWaWV3U2VydmljZSxcbiAgICAgICAgTmF2aWdhdGlvblBhbmVTZXJ2aWNlLFxuICAgICAgICBMYXJnZUljb25zVmlld1NlcnZpY2UsXG4gICAgICAgIFRvb2xiYXJTZXJ2aWNlLFxuICAgICAgICBDb250ZXh0TWVudVNlcnZpY2UsXG4gICAgICAgIEJyZWFkQ3J1bWJCYXJTZXJ2aWNlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBGaWxlTWFuYWdlckFsbE1vZHVsZSB7IH0iXX0=
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZW1hbmFnZXItYWxsLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWxlLW1hbmFnZXIvZmlsZW1hbmFnZXItYWxsLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFDLFdBQVcsRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBQyxNQUFNLDZCQUE2QixDQUFBOztBQUc1SSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBa0IsRUFBRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBQyxDQUFDO0FBQzdHLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFrQixFQUFFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFDLENBQUM7QUFDdEgsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQWtCLEVBQUUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUMsQ0FBQztBQUN0SCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQWtCLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUMsQ0FBQztBQUNqRyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBa0IsRUFBRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBQyxDQUFDO0FBQzdHLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFrQixFQUFFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFDLENBQUM7QUFDbkgsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQWtCLEVBQUUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUMsQ0FBQztBQUV0SDs7R0FFRztBQWdCSCxNQUFNLE9BQU8sb0JBQW9COztpSEFBcEIsb0JBQW9CO2tIQUFwQixvQkFBb0IsWUFkbkIsWUFBWSxFQUFFLGlCQUFpQixhQUVyQyxpQkFBaUI7a0hBWVosb0JBQW9CLGFBVm5CO1FBQ04sa0JBQWtCO1FBQ2xCLHFCQUFxQjtRQUNyQixxQkFBcUI7UUFDckIsY0FBYztRQUNkLGtCQUFrQjtRQUNsQixvQkFBb0I7UUFDcEIscUJBQXFCO0tBQ3hCLFlBWlEsQ0FBQyxZQUFZLEVBQUUsaUJBQWlCLENBQUMsRUFFdEMsaUJBQWlCOzJGQVlaLG9CQUFvQjtrQkFmaEMsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsaUJBQWlCLENBQUM7b0JBQzFDLE9BQU8sRUFBRTt3QkFDTCxpQkFBaUI7cUJBQ3BCO29CQUNELFNBQVMsRUFBQzt3QkFDTixrQkFBa0I7d0JBQ2xCLHFCQUFxQjt3QkFDckIscUJBQXFCO3dCQUNyQixjQUFjO3dCQUNkLGtCQUFrQjt3QkFDbEIsb0JBQW9CO3dCQUNwQixxQkFBcUI7cUJBQ3hCO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIFZhbHVlUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGaWxlTWFuYWdlckNvbXBvbmVudCB9IGZyb20gJy4vZmlsZW1hbmFnZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEZpbGVNYW5hZ2VyTW9kdWxlIH0gZnJvbSAnLi9maWxlbWFuYWdlci5tb2R1bGUnO1xuaW1wb3J0IHtEZXRhaWxzVmlldywgTmF2aWdhdGlvblBhbmUsIExhcmdlSWNvbnNWaWV3LCBUb29sYmFyLCBDb250ZXh0TWVudSwgQnJlYWRDcnVtYkJhciwgVmlydHVhbGl6YXRpb259IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1maWxlbWFuYWdlcidcblxuXG5leHBvcnQgY29uc3QgRGV0YWlsc1ZpZXdTZXJ2aWNlOiBWYWx1ZVByb3ZpZGVyID0geyBwcm92aWRlOiAnRmlsZU1hbmFnZXJEZXRhaWxzVmlldycsIHVzZVZhbHVlOiBEZXRhaWxzVmlld307XG5leHBvcnQgY29uc3QgTmF2aWdhdGlvblBhbmVTZXJ2aWNlOiBWYWx1ZVByb3ZpZGVyID0geyBwcm92aWRlOiAnRmlsZU1hbmFnZXJOYXZpZ2F0aW9uUGFuZScsIHVzZVZhbHVlOiBOYXZpZ2F0aW9uUGFuZX07XG5leHBvcnQgY29uc3QgTGFyZ2VJY29uc1ZpZXdTZXJ2aWNlOiBWYWx1ZVByb3ZpZGVyID0geyBwcm92aWRlOiAnRmlsZU1hbmFnZXJMYXJnZUljb25zVmlldycsIHVzZVZhbHVlOiBMYXJnZUljb25zVmlld307XG5leHBvcnQgY29uc3QgVG9vbGJhclNlcnZpY2U6IFZhbHVlUHJvdmlkZXIgPSB7IHByb3ZpZGU6ICdGaWxlTWFuYWdlclRvb2xiYXInLCB1c2VWYWx1ZTogVG9vbGJhcn07XG5leHBvcnQgY29uc3QgQ29udGV4dE1lbnVTZXJ2aWNlOiBWYWx1ZVByb3ZpZGVyID0geyBwcm92aWRlOiAnRmlsZU1hbmFnZXJDb250ZXh0TWVudScsIHVzZVZhbHVlOiBDb250ZXh0TWVudX07XG5leHBvcnQgY29uc3QgQnJlYWRDcnVtYkJhclNlcnZpY2U6IFZhbHVlUHJvdmlkZXIgPSB7IHByb3ZpZGU6ICdGaWxlTWFuYWdlckJyZWFkQ3J1bWJCYXInLCB1c2VWYWx1ZTogQnJlYWRDcnVtYkJhcn07XG5leHBvcnQgY29uc3QgVmlydHVhbGl6YXRpb25TZXJ2aWNlOiBWYWx1ZVByb3ZpZGVyID0geyBwcm92aWRlOiAnRmlsZU1hbmFnZXJWaXJ0dWFsaXphdGlvbicsIHVzZVZhbHVlOiBWaXJ0dWFsaXphdGlvbn07XG5cbi8qKlxuICogTmdNb2R1bGUgZGVmaW5pdGlvbiBmb3IgdGhlIEZpbGVNYW5hZ2VyIGNvbXBvbmVudCB3aXRoIHByb3ZpZGVycy5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGaWxlTWFuYWdlck1vZHVsZV0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBGaWxlTWFuYWdlck1vZHVsZVxuICAgIF0sXG4gICAgcHJvdmlkZXJzOltcbiAgICAgICAgRGV0YWlsc1ZpZXdTZXJ2aWNlLFxuICAgICAgICBOYXZpZ2F0aW9uUGFuZVNlcnZpY2UsXG4gICAgICAgIExhcmdlSWNvbnNWaWV3U2VydmljZSxcbiAgICAgICAgVG9vbGJhclNlcnZpY2UsXG4gICAgICAgIENvbnRleHRNZW51U2VydmljZSxcbiAgICAgICAgQnJlYWRDcnVtYkJhclNlcnZpY2UsXG4gICAgICAgIFZpcnR1YWxpemF0aW9uU2VydmljZVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgRmlsZU1hbmFnZXJBbGxNb2R1bGUgeyB9Il19
@@ -3,7 +3,7 @@ import { Component, ChangeDetectionStrategy } from '@angular/core';
3
3
  import { ComponentBase, ComponentMixins, setValue } from '@syncfusion/ej2-angular-base';
4
4
  import { FileManager } from '@syncfusion/ej2-filemanager';
5
5
  import * as i0 from "@angular/core";
6
- export const inputs = ['ajaxSettings', 'allowDragAndDrop', 'allowMultiSelection', 'contextMenuSettings', 'cssClass', 'detailsViewSettings', 'enableHtmlSanitizer', 'enablePersistence', 'enableRtl', 'height', 'locale', 'navigationPaneSettings', 'path', 'popupTarget', 'rootAliasName', 'searchSettings', 'selectedItems', 'showFileExtension', 'showHiddenItems', 'showThumbnail', 'sortBy', 'sortOrder', 'toolbarSettings', 'uploadSettings', 'view', 'width'];
6
+ export const inputs = ['ajaxSettings', 'allowDragAndDrop', 'allowMultiSelection', 'contextMenuSettings', 'cssClass', 'detailsViewSettings', 'enableHtmlSanitizer', 'enablePersistence', 'enableRtl', 'enableVirtualization', 'height', 'locale', 'navigationPaneSettings', 'path', 'popupTarget', 'rootAliasName', 'searchSettings', 'selectedItems', 'showFileExtension', 'showHiddenItems', 'showItemCheckBoxes', 'showThumbnail', 'sortBy', 'sortOrder', 'toolbarSettings', 'uploadSettings', 'view', 'width'];
7
7
  export const outputs = ['beforeDownload', 'beforeImageLoad', 'beforePopupClose', 'beforePopupOpen', 'beforeSend', 'created', 'destroyed', 'failure', 'fileDragStart', 'fileDragStop', 'fileDragging', 'fileDropped', 'fileLoad', 'fileOpen', 'fileSelect', 'fileSelection', 'menuClick', 'menuOpen', 'popupClose', 'popupOpen', 'success', 'toolbarClick', 'toolbarCreate', 'uploadListCreate'];
8
8
  export const twoWays = [''];
9
9
  /**
@@ -63,6 +63,13 @@ let FileManagerComponent = class FileManagerComponent extends FileManager {
63
63
  }
64
64
  }
65
65
  catch { }
66
+ try {
67
+ let mod = this.injector.get('FileManagerVirtualization');
68
+ if (this.injectedModules.indexOf(mod) === -1) {
69
+ this.injectedModules.push(mod);
70
+ }
71
+ }
72
+ catch { }
66
73
  this.registerEvents(outputs);
67
74
  this.addTwoWay.call(this, twoWays);
68
75
  setValue('currentInstance', this, this.viewContainerRef);
@@ -82,7 +89,7 @@ let FileManagerComponent = class FileManagerComponent extends FileManager {
82
89
  }
83
90
  };
84
91
  FileManagerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: FileManagerComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ViewContainerRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
85
- FileManagerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: FileManagerComponent, selector: "ejs-filemanager", inputs: { ajaxSettings: "ajaxSettings", allowDragAndDrop: "allowDragAndDrop", allowMultiSelection: "allowMultiSelection", contextMenuSettings: "contextMenuSettings", cssClass: "cssClass", detailsViewSettings: "detailsViewSettings", enableHtmlSanitizer: "enableHtmlSanitizer", enablePersistence: "enablePersistence", enableRtl: "enableRtl", height: "height", locale: "locale", navigationPaneSettings: "navigationPaneSettings", path: "path", popupTarget: "popupTarget", rootAliasName: "rootAliasName", searchSettings: "searchSettings", selectedItems: "selectedItems", showFileExtension: "showFileExtension", showHiddenItems: "showHiddenItems", showThumbnail: "showThumbnail", sortBy: "sortBy", sortOrder: "sortOrder", toolbarSettings: "toolbarSettings", uploadSettings: "uploadSettings", view: "view", width: "width" }, outputs: { beforeDownload: "beforeDownload", beforeImageLoad: "beforeImageLoad", beforePopupClose: "beforePopupClose", beforePopupOpen: "beforePopupOpen", beforeSend: "beforeSend", created: "created", destroyed: "destroyed", failure: "failure", fileDragStart: "fileDragStart", fileDragStop: "fileDragStop", fileDragging: "fileDragging", fileDropped: "fileDropped", fileLoad: "fileLoad", fileOpen: "fileOpen", fileSelect: "fileSelect", fileSelection: "fileSelection", menuClick: "menuClick", menuOpen: "menuOpen", popupClose: "popupClose", popupOpen: "popupOpen", success: "success", toolbarClick: "toolbarClick", toolbarCreate: "toolbarCreate", uploadListCreate: "uploadListCreate" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
92
+ FileManagerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: FileManagerComponent, selector: "ejs-filemanager", inputs: { ajaxSettings: "ajaxSettings", allowDragAndDrop: "allowDragAndDrop", allowMultiSelection: "allowMultiSelection", contextMenuSettings: "contextMenuSettings", cssClass: "cssClass", detailsViewSettings: "detailsViewSettings", enableHtmlSanitizer: "enableHtmlSanitizer", enablePersistence: "enablePersistence", enableRtl: "enableRtl", enableVirtualization: "enableVirtualization", height: "height", locale: "locale", navigationPaneSettings: "navigationPaneSettings", path: "path", popupTarget: "popupTarget", rootAliasName: "rootAliasName", searchSettings: "searchSettings", selectedItems: "selectedItems", showFileExtension: "showFileExtension", showHiddenItems: "showHiddenItems", showItemCheckBoxes: "showItemCheckBoxes", showThumbnail: "showThumbnail", sortBy: "sortBy", sortOrder: "sortOrder", toolbarSettings: "toolbarSettings", uploadSettings: "uploadSettings", view: "view", width: "width" }, outputs: { beforeDownload: "beforeDownload", beforeImageLoad: "beforeImageLoad", beforePopupClose: "beforePopupClose", beforePopupOpen: "beforePopupOpen", beforeSend: "beforeSend", created: "created", destroyed: "destroyed", failure: "failure", fileDragStart: "fileDragStart", fileDragStop: "fileDragStop", fileDragging: "fileDragging", fileDropped: "fileDropped", fileLoad: "fileLoad", fileOpen: "fileOpen", fileSelect: "fileSelect", fileSelection: "fileSelection", menuClick: "menuClick", menuOpen: "menuOpen", popupClose: "popupClose", popupOpen: "popupOpen", success: "success", toolbarClick: "toolbarClick", toolbarCreate: "toolbarCreate", uploadListCreate: "uploadListCreate" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
86
93
  FileManagerComponent = __decorate([
87
94
  ComponentMixins([ComponentBase])
88
95
  ], FileManagerComponent);
@@ -98,4 +105,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
98
105
  queries: {}
99
106
  }]
100
107
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ViewContainerRef }, { type: i0.Injector }]; } });
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZW1hbmFnZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2ZpbGUtbWFuYWdlci9maWxlbWFuYWdlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWdDLHVCQUF1QixFQUFpRCxNQUFNLGVBQWUsQ0FBQztBQUNoSixPQUFPLEVBQUUsYUFBYSxFQUErQixlQUFlLEVBQTBCLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdJLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFJMUQsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFhLENBQUMsY0FBYyxFQUFDLGtCQUFrQixFQUFDLHFCQUFxQixFQUFDLHFCQUFxQixFQUFDLFVBQVUsRUFBQyxxQkFBcUIsRUFBQyxxQkFBcUIsRUFBQyxtQkFBbUIsRUFBQyxXQUFXLEVBQUMsUUFBUSxFQUFDLFFBQVEsRUFBQyx3QkFBd0IsRUFBQyxNQUFNLEVBQUMsYUFBYSxFQUFDLGVBQWUsRUFBQyxnQkFBZ0IsRUFBQyxlQUFlLEVBQUMsbUJBQW1CLEVBQUMsaUJBQWlCLEVBQUMsZUFBZSxFQUFDLFFBQVEsRUFBQyxXQUFXLEVBQUMsaUJBQWlCLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxFQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3JiLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBYSxDQUFDLGdCQUFnQixFQUFDLGlCQUFpQixFQUFDLGtCQUFrQixFQUFDLGlCQUFpQixFQUFDLFlBQVksRUFBQyxTQUFTLEVBQUMsV0FBVyxFQUFDLFNBQVMsRUFBQyxlQUFlLEVBQUMsY0FBYyxFQUFDLGNBQWMsRUFBQyxhQUFhLEVBQUMsVUFBVSxFQUFDLFVBQVUsRUFBQyxZQUFZLEVBQUMsZUFBZSxFQUFDLFdBQVcsRUFBQyxVQUFVLEVBQUMsWUFBWSxFQUFDLFdBQVcsRUFBQyxTQUFTLEVBQUMsY0FB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QUFjLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ25DLFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLE9BQU8sR0FBSSxJQUFJLGFBQWEsRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFTSxRQUFRO1FBQ1gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVNLGVBQWU7UUFDbEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVNLFdBQVc7UUFDZCxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRU0scUJBQXFCO1FBRXhCLElBQUksQ0FBQyxPQUFPLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0MsQ0FBQztDQUlKLENBQUE7aUhBckdZLG9CQUFvQjtxR0FBcEIsb0JBQW9CLDZpREFQbkIsRUFBRTtBQU9ILG9CQUFvQjtJQURoQyxlQUFlLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQztHQUNwQixvQkFBb0IsQ0FxR2hDO1NBckdZLG9CQUFvQjsyRkFBcEIsb0JBQW9CO2tCQVhoQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLE1BQU0sRUFBRSxNQUFNO29CQUNkLE9BQU8sRUFBRSxPQUFPO29CQUNoQixRQUFRLEVBQUUsRUFBRTtvQkFDWixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsT0FBTyxFQUFFLEVBRVI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIFZpZXdDb250YWluZXJSZWYsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBRdWVyeUxpc3QsIFJlbmRlcmVyMiwgSW5qZWN0b3IsIFZhbHVlUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudEJhc2UsIElDb21wb25lbnRCYXNlLCBhcHBseU1peGlucywgQ29tcG9uZW50TWl4aW5zLCBQcm9wZXJ0eUNvbGxlY3Rpb25JbmZvLCBzZXRWYWx1ZSB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWJhc2UnO1xuaW1wb3J0IHsgRmlsZU1hbmFnZXIgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItZmlsZW1hbmFnZXInO1xuXG5cblxuZXhwb3J0IGNvbnN0IGlucHV0czogc3RyaW5nW10gPSBbJ2FqYXhTZXR0aW5ncycsJ2FsbG93RHJhZ0FuZERyb3AnLCdhbGxvd011bHRpU2VsZWN0aW9uJywnY29udGV4dE1lbnVTZXR0aW5ncycsJ2Nzc0NsYXNzJywnZGV0YWlsc1ZpZXdTZXR0aW5ncycsJ2VuYWJsZUh0bWxTYW5pdGl6ZXInLCdlbmFibGVQZXJzaXN0ZW5jZScsJ2VuYWJsZVJ0bCcsJ2hlaWdodCcsJ2xvY2FsZScsJ25hdmlnYXRpb25QYW5lU2V0dGluZ3MnLCdwYXRoJywncG9wdXBUYXJnZXQnLCdyb290QWxpYXNOYW1lJywnc2VhcmNoU2V0dGluZ3MnLCdzZWxlY3RlZEl0ZW1zJywnc2hvd0ZpbGVFeHRlbnNpb24nLCdzaG93SGlkZGVuSXRlbXMnLCdzaG93VGh1bWJuYWlsJywnc29ydEJ5Jywnc29ydE9yZGVyJywndG9vbGJhclNldHRpbmdzJywndXBsb2FkU2V0dGluZ3MnLCd2aWV3Jywnd2lkdGgnXTtcbmV4cG9ydCBjb25zdCBvdXRwdXRzOiBzdHJpbmdbXSA9IFsnYmVmb3JlRG93bmxvYWQnLCdiZWZvcmVJbWFnZUxvYWQnLCdiZWZvcmVQb3B1cENsb3NlJywnYmVmb3JlUG9wdXBPcGVuJywnYmVmb3JlU2VuZCcsJ2NyZWF0ZWQnLCdkZXN0cm95ZWQnLCdmYWlsdXJlJywnZmlsZURyYWdTdGFydCcsJ2ZpbGVEcmFnU3RvcCcsJ2ZpbGVEcmFnZ2luZycsJ2ZpbGVEcm9wcGVkJywnZmlsZUxvYWQnLCdmaWxlT3BlbicsJ2ZpbGVTZWxlY3QnLCdmaWxlU2VsZWN0aW9uJywnbWVudUNsaWNrJywnbWVudU9wZW4nLCdwb3B1cENsb3NlJywncG9wdXBPcGVuJywnc3VjY2VzcycsJ3Rvb2xiYXJDbGljaycsJ3Rvb2xiYXJDcmVhdGUnLCd1cGxvYWRMaXN0Q3JlYXRlJ107XG5leHBvcnQgY29uc3QgdHdvV2F5czogc3RyaW5nW10gPSBbJyddO1xuXG4vKipcbiAgKiBSZXByZXNlbnRzIHRoZSBFc3NlbnRpYWwgSlMgMiBBbmd1bGFyIEZpbGVNYW5hZ2VyIENvbXBvbmVudC5cbiAqIGBgYGh0bWxcbiAqIDxlanMtZmlsZW1hbmFnZXIgc2hvd1RodW1ibmFpbD0nZmFsc2UnPjwvZWpzLWZpbGVtYW5hZ2VyPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZWpzLWZpbGVtYW5hZ2VyJyxcbiAgICBpbnB1dHM6IGlucHV0cyxcbiAgICBvdXRwdXRzOiBvdXRwdXRzLFxuICAgIHRlbXBsYXRlOiAnJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBxdWVyaWVzOiB7XG5cbiAgICB9XG59KVxuQENvbXBvbmVudE1peGlucyhbQ29tcG9uZW50QmFzZV0pXG5leHBvcnQgY2xhc3MgRmlsZU1hbmFnZXJDb21wb25lbnQgZXh0ZW5kcyBGaWxlTWFuYWdlciBpbXBsZW1lbnRzIElDb21wb25lbnRCYXNlIHtcbiAgICBwdWJsaWMgY29udGV4dCA6IGFueTtcbiAgICBwdWJsaWMgdGFnT2JqZWN0czogYW55O1xuXHRiZWZvcmVEb3dubG9hZDogYW55O1xuXHRiZWZvcmVJbWFnZUxvYWQ6IGFueTtcblx0YmVmb3JlUG9wdXBDbG9zZTogYW55O1xuXHRiZWZvcmVQb3B1cE9wZW46IGFueTtcblx0YmVmb3JlU2VuZDogYW55O1xuXHRjcmVhdGVkOiBhbnk7XG5cdGRlc3Ryb3llZDogYW55O1xuXHRmYWlsdXJlOiBhbnk7XG5cdGZpbGVEcmFnU3RhcnQ6IGFueTtcblx0ZmlsZURyYWdTdG9wOiBhbnk7XG5cdGZpbGVEcmFnZ2luZzogYW55O1xuXHRmaWxlRHJvcHBlZDogYW55O1xuXHRmaWxlTG9hZDogYW55O1xuXHRmaWxlT3BlbjogYW55O1xuXHRmaWxlU2VsZWN0OiBhbnk7XG5cdGZpbGVTZWxlY3Rpb246IGFueTtcblx0bWVudUNsaWNrOiBhbnk7XG5cdG1lbnVPcGVuOiBhbnk7XG5cdHBvcHVwQ2xvc2U6IGFueTtcblx0cG9wdXBPcGVuOiBhbnk7XG5cdHN1Y2Nlc3M6IGFueTtcblx0dG9vbGJhckNsaWNrOiBhbnk7XG5cdHRvb2xiYXJDcmVhdGU6IGFueTtcblx0cHVibGljIHVwbG9hZExpc3RDcmVhdGU6IGFueTtcblxuXG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIG5nRWxlOiBFbGVtZW50UmVmLCBwcml2YXRlIHNyZW5kZXJlcjogUmVuZGVyZXIyLCBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6Vmlld0NvbnRhaW5lclJlZiwgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5lbGVtZW50ID0gdGhpcy5uZ0VsZS5uYXRpdmVFbGVtZW50O1xuICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcyA9IHRoaXMuaW5qZWN0ZWRNb2R1bGVzIHx8IFtdO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnRmlsZU1hbmFnZXJEZXRhaWxzVmlldycpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnRmlsZU1hbmFnZXJOYXZpZ2F0aW9uUGFuZScpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnRmlsZU1hbmFnZXJMYXJnZUljb25zVmlldycpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnRmlsZU1hbmFnZXJUb29sYmFyJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdGaWxlTWFuYWdlckNvbnRleHRNZW51Jyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdGaWxlTWFuYWdlckJyZWFkQ3J1bWJCYXInKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cclxuICAgICAgICB0aGlzLnJlZ2lzdGVyRXZlbnRzKG91dHB1dHMpO1xuICAgICAgICB0aGlzLmFkZFR3b1dheS5jYWxsKHRoaXMsIHR3b1dheXMpO1xuICAgICAgICBzZXRWYWx1ZSgnY3VycmVudEluc3RhbmNlJywgdGhpcywgdGhpcy52aWV3Q29udGFpbmVyUmVmKTtcbiAgICAgICAgdGhpcy5jb250ZXh0ICA9IG5ldyBDb21wb25lbnRCYXNlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmNvbnRleHQubmdPbkluaXQodGhpcyk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb250ZXh0Lm5nQWZ0ZXJWaWV3SW5pdCh0aGlzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29udGV4dC5uZ09uRGVzdHJveSh0aGlzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xuICAgICAgICBcbiAgICAgICAgdGhpcy5jb250ZXh0Lm5nQWZ0ZXJDb250ZW50Q2hlY2tlZCh0aGlzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVnaXN0ZXJFdmVudHM6IChldmVudExpc3Q6IHN0cmluZ1tdKSA9PiB2b2lkO1xuICAgIHB1YmxpYyBhZGRUd29XYXk6IChwcm9wTGlzdDogc3RyaW5nW10pID0+IHZvaWQ7XG59XG5cbiJdfQ==
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZW1hbmFnZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2ZpbGUtbWFuYWdlci9maWxlbWFuYWdlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWdDLHVCQUF1QixFQUFpRCxNQUFNLGVBQWUsQ0FBQztBQUNoSixPQUFPLEVBQUUsYUFBYSxFQUErQixlQUFlLEVBQTBCLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdJLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFJMUQsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFhLENBQUMsY0FBYyxFQUFDLGtCQUFrQixFQUFDLHFCQUFxQixFQUFDLHFCQUFxQixFQUFDLFVBQVUsRUFBQyxxQkFBcUIsRUFBQyxxQkFBcUIsRUFBQyxtQkFBbUIsRUFBQyxXQUFXLEVBQUMsc0JBQXNCLEVBQUMsUUFBUSxFQUFDLFFBQVEsRUFBQyx3QkFBd0IsRUFBQyxNQUFNLEVBQUMsYUFBYSxFQUFDLGVBQWUsRUFBQyxnQkFBZ0IsRUFBQyxlQUFlLEVBQUMsbUJBQW1CLEVBQUMsaUJBQWlCLEVBQUMsb0JBQW9CLEVBQUMsZUFBZSxFQUFDLFFBQVEsRUFBQyxXQUFXLEVBQUMsaUJBQWlCLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxFQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ2plLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBYSxDQUFDLGdCQUFnQixFQUFDLGlCQUFpQixFQUFDLGtCQUFrQixFQUFDLGlCQUFpQixFQUFDLFlBQVksRUFBQyxTQUFTLEVBQUMsV0FBVyxFQUFDLFNBQVMsRUFBQyxlQUFlLEVBQUMsY0FBYyxFQUFDLGNBQWMsRUFBQyxhQUFhLEVBQUMsVUFBVSxFQUFDLFVBQVUsRUFBQyxZQUFZLEVBQUMsZUFBZSxFQUFDLFdBQVcsRUFBQyxVQUFVLEVBQUMsWUFBWSxFQUFD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U0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixNQUFNLEVBQUUsTUFBTTtvQkFDZCxPQUFPLEVBQUUsT0FBTztvQkFDaEIsUUFBUSxFQUFFLEVBQUU7b0JBQ1osZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLE9BQU8sRUFBRSxFQUVSO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBWaWV3Q29udGFpbmVyUmVmLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgUXVlcnlMaXN0LCBSZW5kZXJlcjIsIEluamVjdG9yLCBWYWx1ZVByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnRCYXNlLCBJQ29tcG9uZW50QmFzZSwgYXBwbHlNaXhpbnMsIENvbXBvbmVudE1peGlucywgUHJvcGVydHlDb2xsZWN0aW9uSW5mbywgc2V0VmFsdWUgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItYW5ndWxhci1iYXNlJztcbmltcG9ydCB7IEZpbGVNYW5hZ2VyIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWZpbGVtYW5hZ2VyJztcblxuXG5cbmV4cG9ydCBjb25zdCBpbnB1dHM6IHN0cmluZ1tdID0gWydhamF4U2V0dGluZ3MnLCdhbGxvd0RyYWdBbmREcm9wJywnYWxsb3dNdWx0aVNlbGVjdGlvbicsJ2NvbnRleHRNZW51U2V0dGluZ3MnLCdjc3NDbGFzcycsJ2RldGFpbHNWaWV3U2V0dGluZ3MnLCdlbmFibGVIdG1sU2FuaXRpemVyJywnZW5hYmxlUGVyc2lzdGVuY2UnLCdlbmFibGVSdGwnLCdlbmFibGVWaXJ0dWFsaXphdGlvbicsJ2hlaWdodCcsJ2xvY2FsZScsJ25hdmlnYXRpb25QYW5lU2V0dGluZ3MnLCdwYXRoJywncG9wdXBUYXJnZXQnLCdyb290QWxpYXNOYW1lJywnc2VhcmNoU2V0dGluZ3MnLCdzZWxlY3RlZEl0ZW1zJywnc2hvd0ZpbGVFeHRlbnNpb24nLCdzaG93SGlkZGVuSXRlbXMnLCdzaG93SXRlbUNoZWNrQm94ZXMnLCdzaG93VGh1bWJuYWlsJywnc29ydEJ5Jywnc29ydE9yZGVyJywndG9vbGJhclNldHRpbmdzJywndXBsb2FkU2V0dGluZ3MnLCd2aWV3Jywnd2lkdGgnXTtcbmV4cG9ydCBjb25zdCBvdXRwdXRzOiBzdHJpbmdbXSA9IFsnYmVmb3JlRG93bmxvYWQnLCdiZWZvcmVJbWFnZUxvYWQnLCdiZWZvcmVQb3B1cENsb3NlJywnYmVmb3JlUG9wdXBPcGVuJywnYmVmb3JlU2VuZCcsJ2NyZWF0ZWQnLCdkZXN0cm95ZWQnLCdmYWlsdXJlJywnZmlsZURyYWdTdGFydCcsJ2ZpbGVEcmFnU3RvcCcsJ2ZpbGVEcmFnZ2luZycsJ2ZpbGVEcm9wcGVkJywnZmlsZUxvYWQnLCdmaWxlT3BlbicsJ2ZpbGVTZWxlY3QnLCdmaWxlU2VsZWN0aW9uJywnbWVudUNsaWNrJywnbWVudU9wZW4nLCdwb3B1cENsb3NlJywncG9wdXBPcGVuJywnc3VjY2VzcycsJ3Rvb2xiYXJDbGljaycsJ3Rvb2xiYXJDcmVhdGUnLCd1cGxvYWRMaXN0Q3JlYXRlJ107XG5leHBvcnQgY29uc3QgdHdvV2F5czogc3RyaW5nW10gPSBbJyddO1xuXG4vKipcbiAgKiBSZXByZXNlbnRzIHRoZSBFc3NlbnRpYWwgSlMgMiBBbmd1bGFyIEZpbGVNYW5hZ2VyIENvbXBvbmVudC5cbiAqIGBgYGh0bWxcbiAqIDxlanMtZmlsZW1hbmFnZXIgc2hvd1RodW1ibmFpbD0nZmFsc2UnPjwvZWpzLWZpbGVtYW5hZ2VyPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZWpzLWZpbGVtYW5hZ2VyJyxcbiAgICBpbnB1dHM6IGlucHV0cyxcbiAgICBvdXRwdXRzOiBvdXRwdXRzLFxuICAgIHRlbXBsYXRlOiAnJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBxdWVyaWVzOiB7XG5cbiAgICB9XG59KVxuQENvbXBvbmVudE1peGlucyhbQ29tcG9uZW50QmFzZV0pXG5leHBvcnQgY2xhc3MgRmlsZU1hbmFnZXJDb21wb25lbnQgZXh0ZW5kcyBGaWxlTWFuYWdlciBpbXBsZW1lbnRzIElDb21wb25lbnRCYXNlIHtcbiAgICBwdWJsaWMgY29udGV4dCA6IGFueTtcbiAgICBwdWJsaWMgdGFnT2JqZWN0czogYW55O1xuXHRiZWZvcmVEb3dubG9hZDogYW55O1xuXHRiZWZvcmVJbWFnZUxvYWQ6IGFueTtcblx0YmVmb3JlUG9wdXBDbG9zZTogYW55O1xuXHRiZWZvcmVQb3B1cE9wZW46IGFueTtcblx0YmVmb3JlU2VuZDogYW55O1xuXHRjcmVhdGVkOiBhbnk7XG5cdGRlc3Ryb3llZDogYW55O1xuXHRmYWlsdXJlOiBhbnk7XG5cdGZpbGVEcmFnU3RhcnQ6IGFueTtcblx0ZmlsZURyYWdTdG9wOiBhbnk7XG5cdGZpbGVEcmFnZ2luZzogYW55O1xuXHRmaWxlRHJvcHBlZDogYW55O1xuXHRmaWxlTG9hZDogYW55O1xuXHRmaWxlT3BlbjogYW55O1xuXHRmaWxlU2VsZWN0OiBhbnk7XG5cdGZpbGVTZWxlY3Rpb246IGFueTtcblx0bWVudUNsaWNrOiBhbnk7XG5cdG1lbnVPcGVuOiBhbnk7XG5cdHBvcHVwQ2xvc2U6IGFueTtcblx0cG9wdXBPcGVuOiBhbnk7XG5cdHN1Y2Nlc3M6IGFueTtcblx0dG9vbGJhckNsaWNrOiBhbnk7XG5cdHRvb2xiYXJDcmVhdGU6IGFueTtcblx0cHVibGljIHVwbG9hZExpc3RDcmVhdGU6IGFueTtcblxuXG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIG5nRWxlOiBFbGVtZW50UmVmLCBwcml2YXRlIHNyZW5kZXJlcjogUmVuZGVyZXIyLCBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6Vmlld0NvbnRhaW5lclJlZiwgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5lbGVtZW50ID0gdGhpcy5uZ0VsZS5uYXRpdmVFbGVtZW50O1xuICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcyA9IHRoaXMuaW5qZWN0ZWRNb2R1bGVzIHx8IFtdO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnRmlsZU1hbmFnZXJEZXRhaWxzVmlldycpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnRmlsZU1hbmFnZXJOYXZpZ2F0aW9uUGFuZScpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnRmlsZU1hbmFnZXJMYXJnZUljb25zVmlldycpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnRmlsZU1hbmFnZXJUb29sYmFyJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdGaWxlTWFuYWdlckNvbnRleHRNZW51Jyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdGaWxlTWFuYWdlckJyZWFkQ3J1bWJCYXInKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0ZpbGVNYW5hZ2VyVmlydHVhbGl6YXRpb24nKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cclxuICAgICAgICB0aGlzLnJlZ2lzdGVyRXZlbnRzKG91dHB1dHMpO1xuICAgICAgICB0aGlzLmFkZFR3b1dheS5jYWxsKHRoaXMsIHR3b1dheXMpO1xuICAgICAgICBzZXRWYWx1ZSgnY3VycmVudEluc3RhbmNlJywgdGhpcywgdGhpcy52aWV3Q29udGFpbmVyUmVmKTtcbiAgICAgICAgdGhpcy5jb250ZXh0ICA9IG5ldyBDb21wb25lbnRCYXNlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmNvbnRleHQubmdPbkluaXQodGhpcyk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb250ZXh0Lm5nQWZ0ZXJWaWV3SW5pdCh0aGlzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29udGV4dC5uZ09uRGVzdHJveSh0aGlzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xuICAgICAgICBcbiAgICAgICAgdGhpcy5jb250ZXh0Lm5nQWZ0ZXJDb250ZW50Q2hlY2tlZCh0aGlzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVnaXN0ZXJFdmVudHM6IChldmVudExpc3Q6IHN0cmluZ1tdKSA9PiB2b2lkO1xuICAgIHB1YmxpYyBhZGRUd29XYXk6IChwcm9wTGlzdDogc3RyaW5nW10pID0+IHZvaWQ7XG59XG5cbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  export { FileManagerComponent } from './file-manager/filemanager.component';
2
2
  export { FileManagerModule } from './file-manager/filemanager.module';
3
- export { FileManagerAllModule, DetailsViewService, NavigationPaneService, LargeIconsViewService, ToolbarService, ContextMenuService, BreadCrumbBarService } from './file-manager/filemanager-all.module';
3
+ export { FileManagerAllModule, DetailsViewService, NavigationPaneService, LargeIconsViewService, ToolbarService, ContextMenuService, BreadCrumbBarService, VirtualizationService } from './file-manager/filemanager-all.module';
4
4
  export * from '@syncfusion/ej2-filemanager';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGtCQUFrQixFQUFFLHFCQUFxQixFQUFFLHFCQUFxQixFQUFFLGNBQWMsRUFBRSxrQkFBa0IsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3pNLGNBQWMsNkJBQTZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBGaWxlTWFuYWdlckNvbXBvbmVudH0gZnJvbSAnLi9maWxlLW1hbmFnZXIvZmlsZW1hbmFnZXIuY29tcG9uZW50JztcbmV4cG9ydCB7IEZpbGVNYW5hZ2VyTW9kdWxlIH0gZnJvbSAnLi9maWxlLW1hbmFnZXIvZmlsZW1hbmFnZXIubW9kdWxlJztcbmV4cG9ydCB7IEZpbGVNYW5hZ2VyQWxsTW9kdWxlLCBEZXRhaWxzVmlld1NlcnZpY2UsIE5hdmlnYXRpb25QYW5lU2VydmljZSwgTGFyZ2VJY29uc1ZpZXdTZXJ2aWNlLCBUb29sYmFyU2VydmljZSwgQ29udGV4dE1lbnVTZXJ2aWNlLCBCcmVhZENydW1iQmFyU2VydmljZSB9IGZyb20gJy4vZmlsZS1tYW5hZ2VyL2ZpbGVtYW5hZ2VyLWFsbC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnQHN5bmNmdXNpb24vZWoyLWZpbGVtYW5hZ2VyJzsiXX0=
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGtCQUFrQixFQUFFLHFCQUFxQixFQUFFLHFCQUFxQixFQUFFLGNBQWMsRUFBRSxrQkFBa0IsRUFBRSxvQkFBb0IsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ2hPLGNBQWMsNkJBQTZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBGaWxlTWFuYWdlckNvbXBvbmVudH0gZnJvbSAnLi9maWxlLW1hbmFnZXIvZmlsZW1hbmFnZXIuY29tcG9uZW50JztcbmV4cG9ydCB7IEZpbGVNYW5hZ2VyTW9kdWxlIH0gZnJvbSAnLi9maWxlLW1hbmFnZXIvZmlsZW1hbmFnZXIubW9kdWxlJztcbmV4cG9ydCB7IEZpbGVNYW5hZ2VyQWxsTW9kdWxlLCBEZXRhaWxzVmlld1NlcnZpY2UsIE5hdmlnYXRpb25QYW5lU2VydmljZSwgTGFyZ2VJY29uc1ZpZXdTZXJ2aWNlLCBUb29sYmFyU2VydmljZSwgQ29udGV4dE1lbnVTZXJ2aWNlLCBCcmVhZENydW1iQmFyU2VydmljZSwgVmlydHVhbGl6YXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9maWxlLW1hbmFnZXIvZmlsZW1hbmFnZXItYWxsLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICdAc3luY2Z1c2lvbi9lajItZmlsZW1hbmFnZXInOyJdfQ==
@@ -2,11 +2,11 @@ import { __decorate } from 'tslib';
2
2
  import * as i0 from '@angular/core';
3
3
  import { Component, ChangeDetectionStrategy, NgModule } from '@angular/core';
4
4
  import { setValue, ComponentBase, ComponentMixins } from '@syncfusion/ej2-angular-base';
5
- import { FileManager, DetailsView, NavigationPane, LargeIconsView, Toolbar, ContextMenu, BreadCrumbBar } from '@syncfusion/ej2-filemanager';
5
+ import { FileManager, DetailsView, NavigationPane, LargeIconsView, Toolbar, ContextMenu, BreadCrumbBar, Virtualization } from '@syncfusion/ej2-filemanager';
6
6
  export * from '@syncfusion/ej2-filemanager';
7
7
  import { CommonModule } from '@angular/common';
8
8
 
9
- const inputs = ['ajaxSettings', 'allowDragAndDrop', 'allowMultiSelection', 'contextMenuSettings', 'cssClass', 'detailsViewSettings', 'enableHtmlSanitizer', 'enablePersistence', 'enableRtl', 'height', 'locale', 'navigationPaneSettings', 'path', 'popupTarget', 'rootAliasName', 'searchSettings', 'selectedItems', 'showFileExtension', 'showHiddenItems', 'showThumbnail', 'sortBy', 'sortOrder', 'toolbarSettings', 'uploadSettings', 'view', 'width'];
9
+ const inputs = ['ajaxSettings', 'allowDragAndDrop', 'allowMultiSelection', 'contextMenuSettings', 'cssClass', 'detailsViewSettings', 'enableHtmlSanitizer', 'enablePersistence', 'enableRtl', 'enableVirtualization', 'height', 'locale', 'navigationPaneSettings', 'path', 'popupTarget', 'rootAliasName', 'searchSettings', 'selectedItems', 'showFileExtension', 'showHiddenItems', 'showItemCheckBoxes', 'showThumbnail', 'sortBy', 'sortOrder', 'toolbarSettings', 'uploadSettings', 'view', 'width'];
10
10
  const outputs = ['beforeDownload', 'beforeImageLoad', 'beforePopupClose', 'beforePopupOpen', 'beforeSend', 'created', 'destroyed', 'failure', 'fileDragStart', 'fileDragStop', 'fileDragging', 'fileDropped', 'fileLoad', 'fileOpen', 'fileSelect', 'fileSelection', 'menuClick', 'menuOpen', 'popupClose', 'popupOpen', 'success', 'toolbarClick', 'toolbarCreate', 'uploadListCreate'];
11
11
  const twoWays = [''];
12
12
  /**
@@ -66,6 +66,13 @@ let FileManagerComponent = class FileManagerComponent extends FileManager {
66
66
  }
67
67
  }
68
68
  catch (_f) { }
69
+ try {
70
+ let mod = this.injector.get('FileManagerVirtualization');
71
+ if (this.injectedModules.indexOf(mod) === -1) {
72
+ this.injectedModules.push(mod);
73
+ }
74
+ }
75
+ catch (_g) { }
69
76
  this.registerEvents(outputs);
70
77
  this.addTwoWay.call(this, twoWays);
71
78
  setValue('currentInstance', this, this.viewContainerRef);
@@ -85,7 +92,7 @@ let FileManagerComponent = class FileManagerComponent extends FileManager {
85
92
  }
86
93
  };
87
94
  FileManagerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: FileManagerComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ViewContainerRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
88
- FileManagerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: FileManagerComponent, selector: "ejs-filemanager", inputs: { ajaxSettings: "ajaxSettings", allowDragAndDrop: "allowDragAndDrop", allowMultiSelection: "allowMultiSelection", contextMenuSettings: "contextMenuSettings", cssClass: "cssClass", detailsViewSettings: "detailsViewSettings", enableHtmlSanitizer: "enableHtmlSanitizer", enablePersistence: "enablePersistence", enableRtl: "enableRtl", height: "height", locale: "locale", navigationPaneSettings: "navigationPaneSettings", path: "path", popupTarget: "popupTarget", rootAliasName: "rootAliasName", searchSettings: "searchSettings", selectedItems: "selectedItems", showFileExtension: "showFileExtension", showHiddenItems: "showHiddenItems", showThumbnail: "showThumbnail", sortBy: "sortBy", sortOrder: "sortOrder", toolbarSettings: "toolbarSettings", uploadSettings: "uploadSettings", view: "view", width: "width" }, outputs: { beforeDownload: "beforeDownload", beforeImageLoad: "beforeImageLoad", beforePopupClose: "beforePopupClose", beforePopupOpen: "beforePopupOpen", beforeSend: "beforeSend", created: "created", destroyed: "destroyed", failure: "failure", fileDragStart: "fileDragStart", fileDragStop: "fileDragStop", fileDragging: "fileDragging", fileDropped: "fileDropped", fileLoad: "fileLoad", fileOpen: "fileOpen", fileSelect: "fileSelect", fileSelection: "fileSelection", menuClick: "menuClick", menuOpen: "menuOpen", popupClose: "popupClose", popupOpen: "popupOpen", success: "success", toolbarClick: "toolbarClick", toolbarCreate: "toolbarCreate", uploadListCreate: "uploadListCreate" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
95
+ FileManagerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: FileManagerComponent, selector: "ejs-filemanager", inputs: { ajaxSettings: "ajaxSettings", allowDragAndDrop: "allowDragAndDrop", allowMultiSelection: "allowMultiSelection", contextMenuSettings: "contextMenuSettings", cssClass: "cssClass", detailsViewSettings: "detailsViewSettings", enableHtmlSanitizer: "enableHtmlSanitizer", enablePersistence: "enablePersistence", enableRtl: "enableRtl", enableVirtualization: "enableVirtualization", height: "height", locale: "locale", navigationPaneSettings: "navigationPaneSettings", path: "path", popupTarget: "popupTarget", rootAliasName: "rootAliasName", searchSettings: "searchSettings", selectedItems: "selectedItems", showFileExtension: "showFileExtension", showHiddenItems: "showHiddenItems", showItemCheckBoxes: "showItemCheckBoxes", showThumbnail: "showThumbnail", sortBy: "sortBy", sortOrder: "sortOrder", toolbarSettings: "toolbarSettings", uploadSettings: "uploadSettings", view: "view", width: "width" }, outputs: { beforeDownload: "beforeDownload", beforeImageLoad: "beforeImageLoad", beforePopupClose: "beforePopupClose", beforePopupOpen: "beforePopupOpen", beforeSend: "beforeSend", created: "created", destroyed: "destroyed", failure: "failure", fileDragStart: "fileDragStart", fileDragStop: "fileDragStop", fileDragging: "fileDragging", fileDropped: "fileDropped", fileLoad: "fileLoad", fileOpen: "fileOpen", fileSelect: "fileSelect", fileSelection: "fileSelection", menuClick: "menuClick", menuOpen: "menuOpen", popupClose: "popupClose", popupOpen: "popupOpen", success: "success", toolbarClick: "toolbarClick", toolbarCreate: "toolbarCreate", uploadListCreate: "uploadListCreate" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
89
96
  FileManagerComponent = __decorate([
90
97
  ComponentMixins([ComponentBase])
91
98
  ], FileManagerComponent);
@@ -128,6 +135,7 @@ const LargeIconsViewService = { provide: 'FileManagerLargeIconsView', useValue:
128
135
  const ToolbarService = { provide: 'FileManagerToolbar', useValue: Toolbar };
129
136
  const ContextMenuService = { provide: 'FileManagerContextMenu', useValue: ContextMenu };
130
137
  const BreadCrumbBarService = { provide: 'FileManagerBreadCrumbBar', useValue: BreadCrumbBar };
138
+ const VirtualizationService = { provide: 'FileManagerVirtualization', useValue: Virtualization };
131
139
  /**
132
140
  * NgModule definition for the FileManager component with providers.
133
141
  */
@@ -141,7 +149,8 @@ FileManagerAllModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", ve
141
149
  LargeIconsViewService,
142
150
  ToolbarService,
143
151
  ContextMenuService,
144
- BreadCrumbBarService
152
+ BreadCrumbBarService,
153
+ VirtualizationService
145
154
  ], imports: [[CommonModule, FileManagerModule], FileManagerModule] });
146
155
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: FileManagerAllModule, decorators: [{
147
156
  type: NgModule,
@@ -156,7 +165,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
156
165
  LargeIconsViewService,
157
166
  ToolbarService,
158
167
  ContextMenuService,
159
- BreadCrumbBarService
168
+ BreadCrumbBarService,
169
+ VirtualizationService
160
170
  ]
161
171
  }]
162
172
  }] });
@@ -167,5 +177,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
167
177
  * Generated bundle index. Do not edit.
168
178
  */
169
179
 
170
- export { BreadCrumbBarService, ContextMenuService, DetailsViewService, FileManagerAllModule, FileManagerComponent, FileManagerModule, LargeIconsViewService, NavigationPaneService, ToolbarService };
180
+ export { BreadCrumbBarService, ContextMenuService, DetailsViewService, FileManagerAllModule, FileManagerComponent, FileManagerModule, LargeIconsViewService, NavigationPaneService, ToolbarService, VirtualizationService };
171
181
  //# sourceMappingURL=syncfusion-ej2-angular-filemanager.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"syncfusion-ej2-angular-filemanager.mjs","sources":["../../src/file-manager/filemanager.component.ts","../../src/file-manager/filemanager.module.ts","../../src/file-manager/filemanager-all.module.ts","../../public_api.ts","../../syncfusion-ej2-angular-filemanager.ts"],"sourcesContent":["import { Component, ElementRef, ViewContainerRef, ChangeDetectionStrategy, QueryList, Renderer2, Injector, ValueProvider } from '@angular/core';\nimport { ComponentBase, IComponentBase, applyMixins, ComponentMixins, PropertyCollectionInfo, setValue } from '@syncfusion/ej2-angular-base';\nimport { FileManager } from '@syncfusion/ej2-filemanager';\n\n\n\nexport const inputs: string[] = ['ajaxSettings','allowDragAndDrop','allowMultiSelection','contextMenuSettings','cssClass','detailsViewSettings','enableHtmlSanitizer','enablePersistence','enableRtl','height','locale','navigationPaneSettings','path','popupTarget','rootAliasName','searchSettings','selectedItems','showFileExtension','showHiddenItems','showThumbnail','sortBy','sortOrder','toolbarSettings','uploadSettings','view','width'];\nexport const outputs: string[] = ['beforeDownload','beforeImageLoad','beforePopupClose','beforePopupOpen','beforeSend','created','destroyed','failure','fileDragStart','fileDragStop','fileDragging','fileDropped','fileLoad','fileOpen','fileSelect','fileSelection','menuClick','menuOpen','popupClose','popupOpen','success','toolbarClick','toolbarCreate','uploadListCreate'];\nexport const twoWays: string[] = [''];\n\n/**\n * Represents the Essential JS 2 Angular FileManager Component.\n * ```html\n * <ejs-filemanager showThumbnail='false'></ejs-filemanager>\n * ```\n */\n@Component({\n selector: 'ejs-filemanager',\n inputs: inputs,\n outputs: outputs,\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush,\n queries: {\n\n }\n})\n@ComponentMixins([ComponentBase])\nexport class FileManagerComponent extends FileManager implements IComponentBase {\n public context : any;\n public tagObjects: any;\n\tbeforeDownload: any;\n\tbeforeImageLoad: any;\n\tbeforePopupClose: any;\n\tbeforePopupOpen: any;\n\tbeforeSend: any;\n\tcreated: any;\n\tdestroyed: any;\n\tfailure: any;\n\tfileDragStart: any;\n\tfileDragStop: any;\n\tfileDragging: any;\n\tfileDropped: any;\n\tfileLoad: any;\n\tfileOpen: any;\n\tfileSelect: any;\n\tfileSelection: any;\n\tmenuClick: any;\n\tmenuOpen: any;\n\tpopupClose: any;\n\tpopupOpen: any;\n\tsuccess: any;\n\ttoolbarClick: any;\n\ttoolbarCreate: any;\n\tpublic uploadListCreate: any;\n\n\n\n constructor(private ngEle: ElementRef, private srenderer: Renderer2, private viewContainerRef:ViewContainerRef, private injector: Injector) {\n super();\n this.element = this.ngEle.nativeElement;\n this.injectedModules = this.injectedModules || [];\n try {\n let mod = this.injector.get('FileManagerDetailsView');\n if(this.injectedModules.indexOf(mod) === -1) {\n this.injectedModules.push(mod)\n }\n } catch { }\n\r try {\n let mod = this.injector.get('FileManagerNavigationPane');\n if(this.injectedModules.indexOf(mod) === -1) {\n this.injectedModules.push(mod)\n }\n } catch { }\n\r try {\n let mod = this.injector.get('FileManagerLargeIconsView');\n if(this.injectedModules.indexOf(mod) === -1) {\n this.injectedModules.push(mod)\n }\n } catch { }\n\r try {\n let mod = this.injector.get('FileManagerToolbar');\n if(this.injectedModules.indexOf(mod) === -1) {\n this.injectedModules.push(mod)\n }\n } catch { }\n\r try {\n let mod = this.injector.get('FileManagerContextMenu');\n if(this.injectedModules.indexOf(mod) === -1) {\n this.injectedModules.push(mod)\n }\n } catch { }\n\r try {\n let mod = this.injector.get('FileManagerBreadCrumbBar');\n if(this.injectedModules.indexOf(mod) === -1) {\n this.injectedModules.push(mod)\n }\n } catch { }\n\r\n this.registerEvents(outputs);\n this.addTwoWay.call(this, twoWays);\n setValue('currentInstance', this, this.viewContainerRef);\n this.context = new ComponentBase();\n }\n\n public ngOnInit() {\n this.context.ngOnInit(this);\n }\n\n public ngAfterViewInit(): void {\n this.context.ngAfterViewInit(this);\n }\n\n public ngOnDestroy(): void {\n this.context.ngOnDestroy(this);\n }\n\n public ngAfterContentChecked(): void {\n \n this.context.ngAfterContentChecked(this);\n }\n\n public registerEvents: (eventList: string[]) => void;\n public addTwoWay: (propList: string[]) => void;\n}\n\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FileManagerComponent } from './filemanager.component';\n\n/**\n * NgModule definition for the FileManager component.\n */\n@NgModule({\n imports: [CommonModule],\n declarations: [\n FileManagerComponent\n ],\n exports: [\n FileManagerComponent\n ]\n})\nexport class FileManagerModule { }","import { NgModule, ValueProvider } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FileManagerComponent } from './filemanager.component';\nimport { FileManagerModule } from './filemanager.module';\nimport {DetailsView, NavigationPane, LargeIconsView, Toolbar, ContextMenu, BreadCrumbBar} from '@syncfusion/ej2-filemanager'\n\n\nexport const DetailsViewService: ValueProvider = { provide: 'FileManagerDetailsView', useValue: DetailsView};\nexport const NavigationPaneService: ValueProvider = { provide: 'FileManagerNavigationPane', useValue: NavigationPane};\nexport const LargeIconsViewService: ValueProvider = { provide: 'FileManagerLargeIconsView', useValue: LargeIconsView};\nexport const ToolbarService: ValueProvider = { provide: 'FileManagerToolbar', useValue: Toolbar};\nexport const ContextMenuService: ValueProvider = { provide: 'FileManagerContextMenu', useValue: ContextMenu};\nexport const BreadCrumbBarService: ValueProvider = { provide: 'FileManagerBreadCrumbBar', useValue: BreadCrumbBar};\n\n/**\n * NgModule definition for the FileManager component with providers.\n */\n@NgModule({\n imports: [CommonModule, FileManagerModule],\n exports: [\n FileManagerModule\n ],\n providers:[\n DetailsViewService,\n NavigationPaneService,\n LargeIconsViewService,\n ToolbarService,\n ContextMenuService,\n BreadCrumbBarService\n ]\n})\nexport class FileManagerAllModule { }","// Mapping root file for package generation\nexport * from './src/index';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"syncfusion-ej2-angular-filemanager.mjs","sources":["../../src/file-manager/filemanager.component.ts","../../src/file-manager/filemanager.module.ts","../../src/file-manager/filemanager-all.module.ts","../../public_api.ts","../../syncfusion-ej2-angular-filemanager.ts"],"sourcesContent":["import { Component, ElementRef, ViewContainerRef, ChangeDetectionStrategy, QueryList, Renderer2, Injector, ValueProvider } from '@angular/core';\nimport { ComponentBase, IComponentBase, applyMixins, ComponentMixins, PropertyCollectionInfo, setValue } from '@syncfusion/ej2-angular-base';\nimport { FileManager } from '@syncfusion/ej2-filemanager';\n\n\n\nexport const inputs: string[] = ['ajaxSettings','allowDragAndDrop','allowMultiSelection','contextMenuSettings','cssClass','detailsViewSettings','enableHtmlSanitizer','enablePersistence','enableRtl','enableVirtualization','height','locale','navigationPaneSettings','path','popupTarget','rootAliasName','searchSettings','selectedItems','showFileExtension','showHiddenItems','showItemCheckBoxes','showThumbnail','sortBy','sortOrder','toolbarSettings','uploadSettings','view','width'];\nexport const outputs: string[] = ['beforeDownload','beforeImageLoad','beforePopupClose','beforePopupOpen','beforeSend','created','destroyed','failure','fileDragStart','fileDragStop','fileDragging','fileDropped','fileLoad','fileOpen','fileSelect','fileSelection','menuClick','menuOpen','popupClose','popupOpen','success','toolbarClick','toolbarCreate','uploadListCreate'];\nexport const twoWays: string[] = [''];\n\n/**\n * Represents the Essential JS 2 Angular FileManager Component.\n * ```html\n * <ejs-filemanager showThumbnail='false'></ejs-filemanager>\n * ```\n */\n@Component({\n selector: 'ejs-filemanager',\n inputs: inputs,\n outputs: outputs,\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush,\n queries: {\n\n }\n})\n@ComponentMixins([ComponentBase])\nexport class FileManagerComponent extends FileManager implements IComponentBase {\n public context : any;\n public tagObjects: any;\n\tbeforeDownload: any;\n\tbeforeImageLoad: any;\n\tbeforePopupClose: any;\n\tbeforePopupOpen: any;\n\tbeforeSend: any;\n\tcreated: any;\n\tdestroyed: any;\n\tfailure: any;\n\tfileDragStart: any;\n\tfileDragStop: any;\n\tfileDragging: any;\n\tfileDropped: any;\n\tfileLoad: any;\n\tfileOpen: any;\n\tfileSelect: any;\n\tfileSelection: any;\n\tmenuClick: any;\n\tmenuOpen: any;\n\tpopupClose: any;\n\tpopupOpen: any;\n\tsuccess: any;\n\ttoolbarClick: any;\n\ttoolbarCreate: any;\n\tpublic uploadListCreate: any;\n\n\n\n constructor(private ngEle: ElementRef, private srenderer: Renderer2, private viewContainerRef:ViewContainerRef, private injector: Injector) {\n super();\n this.element = this.ngEle.nativeElement;\n this.injectedModules = this.injectedModules || [];\n try {\n let mod = this.injector.get('FileManagerDetailsView');\n if(this.injectedModules.indexOf(mod) === -1) {\n this.injectedModules.push(mod)\n }\n } catch { }\n\r try {\n let mod = this.injector.get('FileManagerNavigationPane');\n if(this.injectedModules.indexOf(mod) === -1) {\n this.injectedModules.push(mod)\n }\n } catch { }\n\r try {\n let mod = this.injector.get('FileManagerLargeIconsView');\n if(this.injectedModules.indexOf(mod) === -1) {\n this.injectedModules.push(mod)\n }\n } catch { }\n\r try {\n let mod = this.injector.get('FileManagerToolbar');\n if(this.injectedModules.indexOf(mod) === -1) {\n this.injectedModules.push(mod)\n }\n } catch { }\n\r try {\n let mod = this.injector.get('FileManagerContextMenu');\n if(this.injectedModules.indexOf(mod) === -1) {\n this.injectedModules.push(mod)\n }\n } catch { }\n\r try {\n let mod = this.injector.get('FileManagerBreadCrumbBar');\n if(this.injectedModules.indexOf(mod) === -1) {\n this.injectedModules.push(mod)\n }\n } catch { }\n\r try {\n let mod = this.injector.get('FileManagerVirtualization');\n if(this.injectedModules.indexOf(mod) === -1) {\n this.injectedModules.push(mod)\n }\n } catch { }\n\r\n this.registerEvents(outputs);\n this.addTwoWay.call(this, twoWays);\n setValue('currentInstance', this, this.viewContainerRef);\n this.context = new ComponentBase();\n }\n\n public ngOnInit() {\n this.context.ngOnInit(this);\n }\n\n public ngAfterViewInit(): void {\n this.context.ngAfterViewInit(this);\n }\n\n public ngOnDestroy(): void {\n this.context.ngOnDestroy(this);\n }\n\n public ngAfterContentChecked(): void {\n \n this.context.ngAfterContentChecked(this);\n }\n\n public registerEvents: (eventList: string[]) => void;\n public addTwoWay: (propList: string[]) => void;\n}\n\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FileManagerComponent } from './filemanager.component';\n\n/**\n * NgModule definition for the FileManager component.\n */\n@NgModule({\n imports: [CommonModule],\n declarations: [\n FileManagerComponent\n ],\n exports: [\n FileManagerComponent\n ]\n})\nexport class FileManagerModule { }","import { NgModule, ValueProvider } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FileManagerComponent } from './filemanager.component';\nimport { FileManagerModule } from './filemanager.module';\nimport {DetailsView, NavigationPane, LargeIconsView, Toolbar, ContextMenu, BreadCrumbBar, Virtualization} from '@syncfusion/ej2-filemanager'\n\n\nexport const DetailsViewService: ValueProvider = { provide: 'FileManagerDetailsView', useValue: DetailsView};\nexport const NavigationPaneService: ValueProvider = { provide: 'FileManagerNavigationPane', useValue: NavigationPane};\nexport const LargeIconsViewService: ValueProvider = { provide: 'FileManagerLargeIconsView', useValue: LargeIconsView};\nexport const ToolbarService: ValueProvider = { provide: 'FileManagerToolbar', useValue: Toolbar};\nexport const ContextMenuService: ValueProvider = { provide: 'FileManagerContextMenu', useValue: ContextMenu};\nexport const BreadCrumbBarService: ValueProvider = { provide: 'FileManagerBreadCrumbBar', useValue: BreadCrumbBar};\nexport const VirtualizationService: ValueProvider = { provide: 'FileManagerVirtualization', useValue: Virtualization};\n\n/**\n * NgModule definition for the FileManager component with providers.\n */\n@NgModule({\n imports: [CommonModule, FileManagerModule],\n exports: [\n FileManagerModule\n ],\n providers:[\n DetailsViewService,\n NavigationPaneService,\n LargeIconsViewService,\n ToolbarService,\n ContextMenuService,\n BreadCrumbBarService,\n VirtualizationService\n ]\n})\nexport class FileManagerAllModule { }","// Mapping root file for package generation\nexport * from './src/index';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -2,11 +2,11 @@ import { __decorate } from 'tslib';
2
2
  import * as i0 from '@angular/core';
3
3
  import { Component, ChangeDetectionStrategy, NgModule } from '@angular/core';
4
4
  import { setValue, ComponentBase, ComponentMixins } from '@syncfusion/ej2-angular-base';
5
- import { FileManager, DetailsView, NavigationPane, LargeIconsView, Toolbar, ContextMenu, BreadCrumbBar } from '@syncfusion/ej2-filemanager';
5
+ import { FileManager, DetailsView, NavigationPane, LargeIconsView, Toolbar, ContextMenu, BreadCrumbBar, Virtualization } from '@syncfusion/ej2-filemanager';
6
6
  export * from '@syncfusion/ej2-filemanager';
7
7
  import { CommonModule } from '@angular/common';
8
8
 
9
- const inputs = ['ajaxSettings', 'allowDragAndDrop', 'allowMultiSelection', 'contextMenuSettings', 'cssClass', 'detailsViewSettings', 'enableHtmlSanitizer', 'enablePersistence', 'enableRtl', 'height', 'locale', 'navigationPaneSettings', 'path', 'popupTarget', 'rootAliasName', 'searchSettings', 'selectedItems', 'showFileExtension', 'showHiddenItems', 'showThumbnail', 'sortBy', 'sortOrder', 'toolbarSettings', 'uploadSettings', 'view', 'width'];
9
+ const inputs = ['ajaxSettings', 'allowDragAndDrop', 'allowMultiSelection', 'contextMenuSettings', 'cssClass', 'detailsViewSettings', 'enableHtmlSanitizer', 'enablePersistence', 'enableRtl', 'enableVirtualization', 'height', 'locale', 'navigationPaneSettings', 'path', 'popupTarget', 'rootAliasName', 'searchSettings', 'selectedItems', 'showFileExtension', 'showHiddenItems', 'showItemCheckBoxes', 'showThumbnail', 'sortBy', 'sortOrder', 'toolbarSettings', 'uploadSettings', 'view', 'width'];
10
10
  const outputs = ['beforeDownload', 'beforeImageLoad', 'beforePopupClose', 'beforePopupOpen', 'beforeSend', 'created', 'destroyed', 'failure', 'fileDragStart', 'fileDragStop', 'fileDragging', 'fileDropped', 'fileLoad', 'fileOpen', 'fileSelect', 'fileSelection', 'menuClick', 'menuOpen', 'popupClose', 'popupOpen', 'success', 'toolbarClick', 'toolbarCreate', 'uploadListCreate'];
11
11
  const twoWays = [''];
12
12
  /**
@@ -66,6 +66,13 @@ let FileManagerComponent = class FileManagerComponent extends FileManager {
66
66
  }
67
67
  }
68
68
  catch { }
69
+ try {
70
+ let mod = this.injector.get('FileManagerVirtualization');
71
+ if (this.injectedModules.indexOf(mod) === -1) {
72
+ this.injectedModules.push(mod);
73
+ }
74
+ }
75
+ catch { }
69
76
  this.registerEvents(outputs);
70
77
  this.addTwoWay.call(this, twoWays);
71
78
  setValue('currentInstance', this, this.viewContainerRef);
@@ -85,7 +92,7 @@ let FileManagerComponent = class FileManagerComponent extends FileManager {
85
92
  }
86
93
  };
87
94
  FileManagerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: FileManagerComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ViewContainerRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
88
- FileManagerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: FileManagerComponent, selector: "ejs-filemanager", inputs: { ajaxSettings: "ajaxSettings", allowDragAndDrop: "allowDragAndDrop", allowMultiSelection: "allowMultiSelection", contextMenuSettings: "contextMenuSettings", cssClass: "cssClass", detailsViewSettings: "detailsViewSettings", enableHtmlSanitizer: "enableHtmlSanitizer", enablePersistence: "enablePersistence", enableRtl: "enableRtl", height: "height", locale: "locale", navigationPaneSettings: "navigationPaneSettings", path: "path", popupTarget: "popupTarget", rootAliasName: "rootAliasName", searchSettings: "searchSettings", selectedItems: "selectedItems", showFileExtension: "showFileExtension", showHiddenItems: "showHiddenItems", showThumbnail: "showThumbnail", sortBy: "sortBy", sortOrder: "sortOrder", toolbarSettings: "toolbarSettings", uploadSettings: "uploadSettings", view: "view", width: "width" }, outputs: { beforeDownload: "beforeDownload", beforeImageLoad: "beforeImageLoad", beforePopupClose: "beforePopupClose", beforePopupOpen: "beforePopupOpen", beforeSend: "beforeSend", created: "created", destroyed: "destroyed", failure: "failure", fileDragStart: "fileDragStart", fileDragStop: "fileDragStop", fileDragging: "fileDragging", fileDropped: "fileDropped", fileLoad: "fileLoad", fileOpen: "fileOpen", fileSelect: "fileSelect", fileSelection: "fileSelection", menuClick: "menuClick", menuOpen: "menuOpen", popupClose: "popupClose", popupOpen: "popupOpen", success: "success", toolbarClick: "toolbarClick", toolbarCreate: "toolbarCreate", uploadListCreate: "uploadListCreate" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
95
+ FileManagerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: FileManagerComponent, selector: "ejs-filemanager", inputs: { ajaxSettings: "ajaxSettings", allowDragAndDrop: "allowDragAndDrop", allowMultiSelection: "allowMultiSelection", contextMenuSettings: "contextMenuSettings", cssClass: "cssClass", detailsViewSettings: "detailsViewSettings", enableHtmlSanitizer: "enableHtmlSanitizer", enablePersistence: "enablePersistence", enableRtl: "enableRtl", enableVirtualization: "enableVirtualization", height: "height", locale: "locale", navigationPaneSettings: "navigationPaneSettings", path: "path", popupTarget: "popupTarget", rootAliasName: "rootAliasName", searchSettings: "searchSettings", selectedItems: "selectedItems", showFileExtension: "showFileExtension", showHiddenItems: "showHiddenItems", showItemCheckBoxes: "showItemCheckBoxes", showThumbnail: "showThumbnail", sortBy: "sortBy", sortOrder: "sortOrder", toolbarSettings: "toolbarSettings", uploadSettings: "uploadSettings", view: "view", width: "width" }, outputs: { beforeDownload: "beforeDownload", beforeImageLoad: "beforeImageLoad", beforePopupClose: "beforePopupClose", beforePopupOpen: "beforePopupOpen", beforeSend: "beforeSend", created: "created", destroyed: "destroyed", failure: "failure", fileDragStart: "fileDragStart", fileDragStop: "fileDragStop", fileDragging: "fileDragging", fileDropped: "fileDropped", fileLoad: "fileLoad", fileOpen: "fileOpen", fileSelect: "fileSelect", fileSelection: "fileSelection", menuClick: "menuClick", menuOpen: "menuOpen", popupClose: "popupClose", popupOpen: "popupOpen", success: "success", toolbarClick: "toolbarClick", toolbarCreate: "toolbarCreate", uploadListCreate: "uploadListCreate" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
89
96
  FileManagerComponent = __decorate([
90
97
  ComponentMixins([ComponentBase])
91
98
  ], FileManagerComponent);
@@ -128,6 +135,7 @@ const LargeIconsViewService = { provide: 'FileManagerLargeIconsView', useValue:
128
135
  const ToolbarService = { provide: 'FileManagerToolbar', useValue: Toolbar };
129
136
  const ContextMenuService = { provide: 'FileManagerContextMenu', useValue: ContextMenu };
130
137
  const BreadCrumbBarService = { provide: 'FileManagerBreadCrumbBar', useValue: BreadCrumbBar };
138
+ const VirtualizationService = { provide: 'FileManagerVirtualization', useValue: Virtualization };
131
139
  /**
132
140
  * NgModule definition for the FileManager component with providers.
133
141
  */
@@ -141,7 +149,8 @@ FileManagerAllModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", ve
141
149
  LargeIconsViewService,
142
150
  ToolbarService,
143
151
  ContextMenuService,
144
- BreadCrumbBarService
152
+ BreadCrumbBarService,
153
+ VirtualizationService
145
154
  ], imports: [[CommonModule, FileManagerModule], FileManagerModule] });
146
155
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: FileManagerAllModule, decorators: [{
147
156
  type: NgModule,
@@ -156,7 +165,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
156
165
  LargeIconsViewService,
157
166
  ToolbarService,
158
167
  ContextMenuService,
159
- BreadCrumbBarService
168
+ BreadCrumbBarService,
169
+ VirtualizationService
160
170
  ]
161
171
  }]
162
172
  }] });
@@ -167,5 +177,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
167
177
  * Generated bundle index. Do not edit.
168
178
  */
169
179
 
170
- export { BreadCrumbBarService, ContextMenuService, DetailsViewService, FileManagerAllModule, FileManagerComponent, FileManagerModule, LargeIconsViewService, NavigationPaneService, ToolbarService };
180
+ export { BreadCrumbBarService, ContextMenuService, DetailsViewService, FileManagerAllModule, FileManagerComponent, FileManagerModule, LargeIconsViewService, NavigationPaneService, ToolbarService, VirtualizationService };
171
181
  //# sourceMappingURL=syncfusion-ej2-angular-filemanager.mjs.map