ng-tailwind 6.3.0 → 6.4.1

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 (107) hide show
  1. package/components/ngt-multi-select/ngt-multi-select.component.d.ts +2 -1
  2. package/fesm2022/ng-tailwind.mjs +361 -346
  3. package/fesm2022/ng-tailwind.mjs.map +1 -1
  4. package/package.json +1 -3
  5. package/esm2022/animations/ngt-angular-animations.mjs +0 -34
  6. package/esm2022/base/ngt-base-ng-model.mjs +0 -90
  7. package/esm2022/components/ngt-action/ngt-action.component.mjs +0 -96
  8. package/esm2022/components/ngt-action/ngt-action.module.mjs +0 -28
  9. package/esm2022/components/ngt-button/ngt-button.component.mjs +0 -142
  10. package/esm2022/components/ngt-button/ngt-button.module.mjs +0 -28
  11. package/esm2022/components/ngt-checkbox/ngt-checkbox.component.mjs +0 -192
  12. package/esm2022/components/ngt-checkbox/ngt-checkbox.module.mjs +0 -28
  13. package/esm2022/components/ngt-content/ngt-content.component.mjs +0 -32
  14. package/esm2022/components/ngt-content/ngt-content.module.mjs +0 -20
  15. package/esm2022/components/ngt-context-menu/ngt-context-menu.component.mjs +0 -25
  16. package/esm2022/components/ngt-context-menu/ngt-context-menu.directive.mjs +0 -89
  17. package/esm2022/components/ngt-context-menu/ngt-context-menu.module.mjs +0 -33
  18. package/esm2022/components/ngt-datatable/ngt-datatable.component.mjs +0 -472
  19. package/esm2022/components/ngt-datatable/ngt-datatable.module.mjs +0 -99
  20. package/esm2022/components/ngt-datatable/ngt-tbody/ngt-tbody.component.mjs +0 -57
  21. package/esm2022/components/ngt-datatable/ngt-td/ngt-td.component.mjs +0 -62
  22. package/esm2022/components/ngt-datatable/ngt-td-check/ngt-td-check.component.mjs +0 -113
  23. package/esm2022/components/ngt-datatable/ngt-th/ngt-th.component.mjs +0 -228
  24. package/esm2022/components/ngt-datatable/ngt-th-check/ngt-th-check.component.mjs +0 -127
  25. package/esm2022/components/ngt-datatable/ngt-thead/ngt-thead.component.mjs +0 -55
  26. package/esm2022/components/ngt-datatable/ngt-tr/ngt-tr.component.mjs +0 -86
  27. package/esm2022/components/ngt-date/ngt-date.component.mjs +0 -435
  28. package/esm2022/components/ngt-date/ngt-date.module.mjs +0 -40
  29. package/esm2022/components/ngt-dropdown/ngt-dropdown-container/ngt-dropdown-container.component.mjs +0 -19
  30. package/esm2022/components/ngt-dropdown/ngt-dropdown.component.mjs +0 -205
  31. package/esm2022/components/ngt-dropdown/ngt-dropdown.module.mjs +0 -21
  32. package/esm2022/components/ngt-dropzone/custom-dropzone-preview/custom-dropzone-preview.component.mjs +0 -54
  33. package/esm2022/components/ngt-dropzone/ngt-dropzone-file-viewer/ngt-dropzone-file-viewer.component.mjs +0 -66
  34. package/esm2022/components/ngt-dropzone/ngt-dropzone-view/ngt-dropzone-view.component.mjs +0 -94
  35. package/esm2022/components/ngt-dropzone/ngt-dropzone.component.mjs +0 -496
  36. package/esm2022/components/ngt-dropzone/ngt-dropzone.meta.mjs +0 -24
  37. package/esm2022/components/ngt-dropzone/ngt-dropzone.module.mjs +0 -55
  38. package/esm2022/components/ngt-floating-button/ngt-floating-button.component.mjs +0 -119
  39. package/esm2022/components/ngt-floating-button/ngt-floating-button.module.mjs +0 -28
  40. package/esm2022/components/ngt-form/ngt-form-validation-message/ngt-form-validation-message.component.mjs +0 -22
  41. package/esm2022/components/ngt-form/ngt-form.component.mjs +0 -207
  42. package/esm2022/components/ngt-form/ngt-form.module.mjs +0 -29
  43. package/esm2022/components/ngt-header-nav/ngt-header-nav.component.mjs +0 -39
  44. package/esm2022/components/ngt-header-nav/ngt-header-nav.module.mjs +0 -20
  45. package/esm2022/components/ngt-helper/ngt-helper.component.mjs +0 -69
  46. package/esm2022/components/ngt-helper/ngt-helper.module.mjs +0 -28
  47. package/esm2022/components/ngt-input/ngt-input.component.mjs +0 -844
  48. package/esm2022/components/ngt-input/ngt-input.module.mjs +0 -47
  49. package/esm2022/components/ngt-modal/ngt-modal-body/ngt-modal-body.component.mjs +0 -46
  50. package/esm2022/components/ngt-modal/ngt-modal-footer/ngt-modal-footer.component.mjs +0 -33
  51. package/esm2022/components/ngt-modal/ngt-modal-header/ngt-modal-header.component.mjs +0 -40
  52. package/esm2022/components/ngt-modal/ngt-modal.component.mjs +0 -122
  53. package/esm2022/components/ngt-modal/ngt-modal.module.mjs +0 -39
  54. package/esm2022/components/ngt-multi-select/ngt-multi-select.component.mjs +0 -503
  55. package/esm2022/components/ngt-multi-select/ngt-multi-select.module.mjs +0 -52
  56. package/esm2022/components/ngt-pagination/ngt-pagination.component.mjs +0 -162
  57. package/esm2022/components/ngt-pagination/ngt-pagination.module.mjs +0 -36
  58. package/esm2022/components/ngt-popover/ngt-popover-tooltip/ngt-popover-tooltip.component.mjs +0 -59
  59. package/esm2022/components/ngt-popover/ngt-popover.component.mjs +0 -85
  60. package/esm2022/components/ngt-popover/ngt-popover.directive.mjs +0 -130
  61. package/esm2022/components/ngt-popover/ngt-popover.module.mjs +0 -36
  62. package/esm2022/components/ngt-portlet/ngt-portlet-body/ngt-portlet-body.component.mjs +0 -34
  63. package/esm2022/components/ngt-portlet/ngt-portlet-footer/ngt-portlet-footer.component.mjs +0 -35
  64. package/esm2022/components/ngt-portlet/ngt-portlet-header/ngt-portlet-header.component.mjs +0 -57
  65. package/esm2022/components/ngt-portlet/ngt-portlet.component.mjs +0 -74
  66. package/esm2022/components/ngt-portlet/ngt-portlet.module.mjs +0 -47
  67. package/esm2022/components/ngt-radio-button/ngt-radio-button-container/ngt-radio-button-container.component.mjs +0 -19
  68. package/esm2022/components/ngt-radio-button/ngt-radio-button.component.mjs +0 -153
  69. package/esm2022/components/ngt-radio-button/ngt-radio-button.module.mjs +0 -29
  70. package/esm2022/components/ngt-section/ngt-section.component.mjs +0 -151
  71. package/esm2022/components/ngt-section/ngt-section.module.mjs +0 -32
  72. package/esm2022/components/ngt-select/ngt-select.component.mjs +0 -670
  73. package/esm2022/components/ngt-select/ngt-select.directive.mjs +0 -36
  74. package/esm2022/components/ngt-select/ngt-select.module.mjs +0 -65
  75. package/esm2022/components/ngt-shining/ngt-shining.component.mjs +0 -40
  76. package/esm2022/components/ngt-shining/ngt-shining.module.mjs +0 -20
  77. package/esm2022/components/ngt-sidenav/ngt-sidenav.component.mjs +0 -132
  78. package/esm2022/components/ngt-sidenav/ngt-sidenav.module.mjs +0 -20
  79. package/esm2022/components/ngt-slider/ngt-slider.component.mjs +0 -100
  80. package/esm2022/components/ngt-slider/ngt-slider.module.mjs +0 -24
  81. package/esm2022/components/ngt-svg/ngt-svg.component.mjs +0 -53
  82. package/esm2022/components/ngt-svg/ngt-svg.module.mjs +0 -24
  83. package/esm2022/components/ngt-tag/ngt-tag.component.mjs +0 -37
  84. package/esm2022/components/ngt-tag/ngt-tag.module.mjs +0 -24
  85. package/esm2022/components/ngt-textarea/ngt-textarea.component.mjs +0 -238
  86. package/esm2022/components/ngt-textarea/ngt-textarea.module.mjs +0 -43
  87. package/esm2022/components/ngt-validation/ngt-validation.component.mjs +0 -26
  88. package/esm2022/components/ngt-validation/ngt-validation.module.mjs +0 -20
  89. package/esm2022/directives/ngt-stylizable/ngt-stylizable.directive.mjs +0 -299
  90. package/esm2022/directives/ngt-stylizable/ngt-stylizable.module.mjs +0 -20
  91. package/esm2022/enums/size.enum.mjs +0 -11
  92. package/esm2022/helpers/enum/enum.mjs +0 -7
  93. package/esm2022/helpers/form/form.mjs +0 -14
  94. package/esm2022/helpers/input-mask/input-mask.helper.mjs +0 -26
  95. package/esm2022/helpers/promise/promise-helper.mjs +0 -4
  96. package/esm2022/helpers/routing/route.mjs +0 -11
  97. package/esm2022/helpers/uuid.mjs +0 -10
  98. package/esm2022/ng-tailwind.mjs +0 -5
  99. package/esm2022/public-api.mjs +0 -127
  100. package/esm2022/services/http/ngt-attachment-http.service.mjs +0 -3
  101. package/esm2022/services/http/ngt-http-form.service.mjs +0 -3
  102. package/esm2022/services/http/ngt-http-resource.service.mjs +0 -3
  103. package/esm2022/services/http/ngt-http-validation.service.mjs +0 -3
  104. package/esm2022/services/http/ngt-http.service.mjs +0 -3
  105. package/esm2022/services/http/ngt-translate.service.mjs +0 -3
  106. package/esm2022/services/ngt-stylizable/ngt-stylizable.service.mjs +0 -279
  107. package/esm2022/services/validation/ngt-ability-validation.service.mjs +0 -3
@@ -1,40 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { NgModule } from '@angular/core';
3
- import { FormsModule } from '@angular/forms';
4
- import { EvDatePickerModule } from 'ev-date-picker';
5
- import { NgtHelperModule } from '../ngt-helper/ngt-helper.module';
6
- import { NgtShiningModule } from '../ngt-shining/ngt-shining.module';
7
- import { NgtValidationModule } from '../ngt-validation/ngt-validation.module';
8
- import { NgtDateComponent } from './ngt-date.component';
9
- import * as i0 from "@angular/core";
10
- export class NgtDateModule {
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgtDateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
12
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: NgtDateModule, declarations: [NgtDateComponent], imports: [CommonModule,
13
- FormsModule,
14
- EvDatePickerModule,
15
- NgtValidationModule,
16
- NgtShiningModule,
17
- NgtHelperModule], exports: [NgtDateComponent] }); }
18
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgtDateModule, imports: [CommonModule,
19
- FormsModule,
20
- EvDatePickerModule,
21
- NgtValidationModule,
22
- NgtShiningModule,
23
- NgtHelperModule] }); }
24
- }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgtDateModule, decorators: [{
26
- type: NgModule,
27
- args: [{
28
- declarations: [NgtDateComponent],
29
- exports: [NgtDateComponent],
30
- imports: [
31
- CommonModule,
32
- FormsModule,
33
- EvDatePickerModule,
34
- NgtValidationModule,
35
- NgtShiningModule,
36
- NgtHelperModule,
37
- ]
38
- }]
39
- }] });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LWRhdGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdGFpbHdpbmQvc3JjL2NvbXBvbmVudHMvbmd0LWRhdGUvbmd0LWRhdGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBY3hELE1BQU0sT0FBTyxhQUFhOytHQUFiLGFBQWE7Z0hBQWIsYUFBYSxpQkFYUCxnQkFBZ0IsYUFHM0IsWUFBWTtZQUNaLFdBQVc7WUFDWCxrQkFBa0I7WUFDbEIsbUJBQW1CO1lBQ25CLGdCQUFnQjtZQUNoQixlQUFlLGFBUFQsZ0JBQWdCO2dIQVVqQixhQUFhLFlBUmxCLFlBQVk7WUFDWixXQUFXO1lBQ1gsa0JBQWtCO1lBQ2xCLG1CQUFtQjtZQUNuQixnQkFBZ0I7WUFDaEIsZUFBZTs7NEZBR1YsYUFBYTtrQkFaekIsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDaEMsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7b0JBQzNCLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLGdCQUFnQjt3QkFDaEIsZUFBZTtxQkFDbEI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBFdkRhdGVQaWNrZXJNb2R1bGUgfSBmcm9tICdldi1kYXRlLXBpY2tlcic7XG5pbXBvcnQgeyBOZ3RIZWxwZXJNb2R1bGUgfSBmcm9tICcuLi9uZ3QtaGVscGVyL25ndC1oZWxwZXIubW9kdWxlJztcbmltcG9ydCB7IE5ndFNoaW5pbmdNb2R1bGUgfSBmcm9tICcuLi9uZ3Qtc2hpbmluZy9uZ3Qtc2hpbmluZy5tb2R1bGUnO1xuaW1wb3J0IHsgTmd0VmFsaWRhdGlvbk1vZHVsZSB9IGZyb20gJy4uL25ndC12YWxpZGF0aW9uL25ndC12YWxpZGF0aW9uLm1vZHVsZSc7XG5pbXBvcnQgeyBOZ3REYXRlQ29tcG9uZW50IH0gZnJvbSAnLi9uZ3QtZGF0ZS5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW05ndERhdGVDb21wb25lbnRdLFxuICAgIGV4cG9ydHM6IFtOZ3REYXRlQ29tcG9uZW50XSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIEV2RGF0ZVBpY2tlck1vZHVsZSxcbiAgICAgICAgTmd0VmFsaWRhdGlvbk1vZHVsZSxcbiAgICAgICAgTmd0U2hpbmluZ01vZHVsZSxcbiAgICAgICAgTmd0SGVscGVyTW9kdWxlLFxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgTmd0RGF0ZU1vZHVsZSB7IH1cbiJdfQ==
@@ -1,19 +0,0 @@
1
- import { Component, EventEmitter, Output } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class NgtDropdownContainerComponent {
4
- constructor() {
5
- this.onActiveDropdownChange = new EventEmitter();
6
- }
7
- setActiveDropdown(activeDropdown) {
8
- this.onActiveDropdownChange.emit(activeDropdown);
9
- }
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgtDropdownContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: NgtDropdownContainerComponent, selector: "[ngt-dropdown-container]", outputs: { onActiveDropdownChange: "onActiveDropdownChange" }, ngImport: i0, template: "<ng-content></ng-content>" }); }
12
- }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgtDropdownContainerComponent, decorators: [{
14
- type: Component,
15
- args: [{ selector: '[ngt-dropdown-container]', template: "<ng-content></ng-content>" }]
16
- }], propDecorators: { onActiveDropdownChange: [{
17
- type: Output
18
- }] } });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LWRyb3Bkb3duLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy10YWlsd2luZC9zcmMvY29tcG9uZW50cy9uZ3QtZHJvcGRvd24vbmd0LWRyb3Bkb3duLWNvbnRhaW5lci9uZ3QtZHJvcGRvd24tY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXRhaWx3aW5kL3NyYy9jb21wb25lbnRzL25ndC1kcm9wZG93bi9uZ3QtZHJvcGRvd24tY29udGFpbmVyL25ndC1kcm9wZG93bi1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU1oRSxNQUFNLE9BQU8sNkJBQTZCO0lBSjFDO1FBS3FCLDJCQUFzQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7S0FLaEU7SUFIVSxpQkFBaUIsQ0FBQyxjQUFjO1FBQ25DLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDckQsQ0FBQzsrR0FMUSw2QkFBNkI7bUdBQTdCLDZCQUE2QiwrSENOMUMsMkJBQXlCOzs0RkRNWiw2QkFBNkI7a0JBSnpDLFNBQVM7K0JBQ0ksMEJBQTBCOzhCQUluQixzQkFBc0I7c0JBQXRDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnW25ndC1kcm9wZG93bi1jb250YWluZXJdJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbmd0LWRyb3Bkb3duLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgTmd0RHJvcGRvd25Db250YWluZXJDb21wb25lbnQge1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgb25BY3RpdmVEcm9wZG93bkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIHB1YmxpYyBzZXRBY3RpdmVEcm9wZG93bihhY3RpdmVEcm9wZG93bikge1xuICAgICAgICB0aGlzLm9uQWN0aXZlRHJvcGRvd25DaGFuZ2UuZW1pdChhY3RpdmVEcm9wZG93bik7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PiJdfQ==
@@ -1,205 +0,0 @@
1
- import { animate, state, style, transition, trigger } from '@angular/animations';
2
- import { Component, EventEmitter, Input, Optional, Output, SkipSelf, ViewChild, } from '@angular/core';
3
- import { getEnumFromString } from '../../helpers/enum/enum';
4
- import { uuid } from '../../helpers/uuid';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "./ngt-dropdown-container/ngt-dropdown-container.component";
7
- import * as i2 from "@angular/common";
8
- export var NgtDropdownOpenMethod;
9
- (function (NgtDropdownOpenMethod) {
10
- NgtDropdownOpenMethod["CLICK"] = "CLICK";
11
- NgtDropdownOpenMethod["POPOVER_CLICK"] = "POPOVER_CLICK";
12
- NgtDropdownOpenMethod["RIGHT_CLICK"] = "RIGHT_CLICK";
13
- NgtDropdownOpenMethod["HOVER"] = "HOVER";
14
- })(NgtDropdownOpenMethod || (NgtDropdownOpenMethod = {}));
15
- export class NgtDropdownComponent {
16
- constructor(ngtDropdownContainer, changeDetector) {
17
- this.ngtDropdownContainer = ngtDropdownContainer;
18
- this.changeDetector = changeDetector;
19
- this.autoYReverse = true;
20
- this.closeTimeout = 1000;
21
- this.openMethod = NgtDropdownOpenMethod.HOVER;
22
- this.onToggle = new EventEmitter();
23
- this.onHostClick = new EventEmitter();
24
- this.name = uuid();
25
- this.isBindingYPosition = true;
26
- this.isBindingXPosition = true;
27
- this.subscriptions = [];
28
- if (this.ngtDropdownContainer) {
29
- this.subscriptions.push(this.ngtDropdownContainer.onActiveDropdownChange.subscribe((activeDropdown) => {
30
- this.isOpen = (activeDropdown.name === this.name);
31
- }));
32
- }
33
- }
34
- ngOnChanges(changes) {
35
- if (changes.openMethod) {
36
- this.openMethod = getEnumFromString(changes.openMethod.currentValue, NgtDropdownOpenMethod);
37
- }
38
- }
39
- ngOnDestroy() {
40
- this.destroySubscriptions();
41
- }
42
- open() {
43
- this.isOpen = true;
44
- this.ngtDropdownContainer?.setActiveDropdown(this);
45
- this.changeDetector.detectChanges();
46
- this.bindContainerXPosition();
47
- this.bindContainerYPosition();
48
- this.onToggle.emit(this.isOpen);
49
- }
50
- closeOnSelectOption() {
51
- if (this.closeOnClick) {
52
- this.close();
53
- }
54
- }
55
- close() {
56
- this.isOpen = false;
57
- this.containerXPosition = null;
58
- this.containerYPosition = null;
59
- this.onToggle.emit(this.isOpen);
60
- }
61
- toggle() {
62
- setTimeout(() => {
63
- if (this.isOpen) {
64
- this.close();
65
- }
66
- else {
67
- this.open();
68
- }
69
- });
70
- }
71
- onHover(host, container) {
72
- if (this.openMethod == NgtDropdownOpenMethod.HOVER && host && container) {
73
- this.open();
74
- this.watchHover(host, container);
75
- }
76
- }
77
- onClick(event, host, container) {
78
- this.onHostClick?.emit();
79
- if (this.isClickMethod()) {
80
- event.preventDefault();
81
- event.stopPropagation();
82
- this.toggle();
83
- }
84
- if (this.openMethod == NgtDropdownOpenMethod.POPOVER_CLICK) {
85
- this.watchHover(host, container);
86
- }
87
- }
88
- onRightClick(event) {
89
- if (this.openMethod == NgtDropdownOpenMethod.RIGHT_CLICK) {
90
- event.preventDefault();
91
- event.stopPropagation();
92
- this.toggle();
93
- }
94
- }
95
- shouldReverseXPosition() {
96
- if (!this.autoXReverse || this.reverseXPosition !== undefined) {
97
- return this.reverseXPosition;
98
- }
99
- if (this.isOpen && !this.isBindingXPosition) {
100
- this.isXPositionReversed = !(this.containerXPosition > document.documentElement.clientWidth);
101
- return this.isXPositionReversed;
102
- }
103
- }
104
- shouldReverseYPosition() {
105
- if (!this.autoYReverse || this.reverseYPosition !== undefined) {
106
- return this.reverseYPosition;
107
- }
108
- if (this.isOpen && !this.isBindingYPosition) {
109
- this.isYPositionReversed = this.containerYPosition > (document.documentElement.clientHeight * 0.9);
110
- return this.isYPositionReversed;
111
- }
112
- }
113
- bindContainerXPosition() {
114
- if (!this.containerXPosition && this.containerRef.nativeElement.offsetWidth) {
115
- this.isBindingXPosition = true;
116
- setTimeout(() => {
117
- this.containerXPosition = this.containerRef.nativeElement.getBoundingClientRect().x
118
- + this.containerRef.nativeElement.offsetWidth;
119
- this.isBindingXPosition = false;
120
- this.changeDetector.detectChanges();
121
- });
122
- }
123
- }
124
- bindContainerYPosition() {
125
- if (!this.containerYPosition && this.containerRef?.nativeElement.offsetHeight) {
126
- this.isBindingYPosition = true;
127
- setTimeout(() => {
128
- this.containerYPosition = this.containerRef.nativeElement.getBoundingClientRect().y
129
- + this.containerRef.nativeElement.offsetHeight;
130
- this.isBindingYPosition = false;
131
- this.changeDetector.detectChanges();
132
- });
133
- }
134
- }
135
- watchHover(host, container) {
136
- const interval = setInterval(() => {
137
- if (!host || !container || !this.isInHover(host, container)) {
138
- this.close();
139
- clearInterval(interval);
140
- }
141
- }, this.closeTimeout);
142
- }
143
- isInHover(host, container) {
144
- return host.parentElement.querySelector(':hover') == host ||
145
- container.parentElement.querySelector(':hover') == container;
146
- }
147
- destroySubscriptions() {
148
- this.subscriptions.forEach(subscription => subscription.unsubscribe());
149
- this.subscriptions = [];
150
- }
151
- isClickMethod() {
152
- return this.openMethod == NgtDropdownOpenMethod.CLICK
153
- || this.openMethod == NgtDropdownOpenMethod.POPOVER_CLICK;
154
- }
155
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgtDropdownComponent, deps: [{ token: i1.NgtDropdownContainerComponent, optional: true, skipSelf: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
156
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: NgtDropdownComponent, selector: "ngt-dropdown", inputs: { scrollable: "scrollable", autoXReverse: "autoXReverse", autoYReverse: "autoYReverse", reverseXPosition: "reverseXPosition", reverseYPosition: "reverseYPosition", closeOnClick: "closeOnClick", closeTimeout: "closeTimeout", openMethod: "openMethod" }, outputs: { onToggle: "onToggle", onHostClick: "onHostClick" }, viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"sm:relative\">\n <div (mouseenter)=\"onHover(host, container)\" (click)=\"onClick($event, host, container)\"\n (contextmenu)=\"onRightClick($event)\" #host>\n <ng-content select='[host]'></ng-content>\n </div>\n\n <div [hidden]='!isOpen'\n class=\"{{ shouldReverseYPosition() ? 'mb-12 bottom-0' : 'mt-4' }} {{ shouldReverseXPosition() ? 'left-0': 'right-0' }} ngt-dropdown-container sm:mr-0 mr-3 max-w-xs absolute\"\n [@openClose]=\"isOpen ? 'open' : 'closed'\" (mouseenter)=\"onHover(host, container)\"\n (click)='closeOnSelectOption()' style=\"z-index: 1100 !important;\" #container>\n\n <div *ngIf=\"isOpen\" class=\"flex flex-col\" [ngClass]=\"{ 'h-52 overflow-auto':scrollable }\">\n <ng-content select='[container]'></ng-content>\n </div>\n </div>\n</div>\n\n<button *ngIf=\"isOpen && openMethod != 'HOVER'\" type=\"button\"\n class=\"fixed z-40 inset-0 h-full w-full opacity-0 cursor-default\" (click)='toggle()'>\n</button>", styles: [".ngt-dropdown-container{max-height:30rem;width:max-content}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], animations: [
157
- trigger('openClose', [
158
- state('open', style({ opacity: 1, transform: 'translateY(0px)' })),
159
- state('closed', style({ opacity: 0, transform: 'translateY(-10px)' })),
160
- transition('closed => open', [
161
- animate(300)
162
- ]),
163
- ]),
164
- ] }); }
165
- }
166
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgtDropdownComponent, decorators: [{
167
- type: Component,
168
- args: [{ selector: 'ngt-dropdown', animations: [
169
- trigger('openClose', [
170
- state('open', style({ opacity: 1, transform: 'translateY(0px)' })),
171
- state('closed', style({ opacity: 0, transform: 'translateY(-10px)' })),
172
- transition('closed => open', [
173
- animate(300)
174
- ]),
175
- ]),
176
- ], template: "<div class=\"sm:relative\">\n <div (mouseenter)=\"onHover(host, container)\" (click)=\"onClick($event, host, container)\"\n (contextmenu)=\"onRightClick($event)\" #host>\n <ng-content select='[host]'></ng-content>\n </div>\n\n <div [hidden]='!isOpen'\n class=\"{{ shouldReverseYPosition() ? 'mb-12 bottom-0' : 'mt-4' }} {{ shouldReverseXPosition() ? 'left-0': 'right-0' }} ngt-dropdown-container sm:mr-0 mr-3 max-w-xs absolute\"\n [@openClose]=\"isOpen ? 'open' : 'closed'\" (mouseenter)=\"onHover(host, container)\"\n (click)='closeOnSelectOption()' style=\"z-index: 1100 !important;\" #container>\n\n <div *ngIf=\"isOpen\" class=\"flex flex-col\" [ngClass]=\"{ 'h-52 overflow-auto':scrollable }\">\n <ng-content select='[container]'></ng-content>\n </div>\n </div>\n</div>\n\n<button *ngIf=\"isOpen && openMethod != 'HOVER'\" type=\"button\"\n class=\"fixed z-40 inset-0 h-full w-full opacity-0 cursor-default\" (click)='toggle()'>\n</button>", styles: [".ngt-dropdown-container{max-height:30rem;width:max-content}\n"] }]
177
- }], ctorParameters: () => [{ type: i1.NgtDropdownContainerComponent, decorators: [{
178
- type: Optional
179
- }, {
180
- type: SkipSelf
181
- }] }, { type: i0.ChangeDetectorRef }], propDecorators: { containerRef: [{
182
- type: ViewChild,
183
- args: ['container', { static: true }]
184
- }], scrollable: [{
185
- type: Input
186
- }], autoXReverse: [{
187
- type: Input
188
- }], autoYReverse: [{
189
- type: Input
190
- }], reverseXPosition: [{
191
- type: Input
192
- }], reverseYPosition: [{
193
- type: Input
194
- }], closeOnClick: [{
195
- type: Input
196
- }], closeTimeout: [{
197
- type: Input
198
- }], openMethod: [{
199
- type: Input
200
- }], onToggle: [{
201
- type: Output
202
- }], onHostClick: [{
203
- type: Output
204
- }] } });
205
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXRhaWx3aW5kL3NyYy9jb21wb25lbnRzL25ndC1kcm9wZG93bi9uZ3QtZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdGFpbHdpbmQvc3JjL2NvbXBvbmVudHMvbmd0LWRyb3Bkb3duL25ndC1kcm9wZG93bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFFSCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxFQUVOLFFBQVEsRUFDUixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7O0FBRzFDLE1BQU0sQ0FBTixJQUFZLHFCQUtYO0FBTEQsV0FBWSxxQkFBcUI7SUFDN0Isd0NBQWUsQ0FBQTtJQUNmLHdEQUErQixDQUFBO0lBQy9CLG9EQUEyQixDQUFBO0lBQzNCLHdDQUFlLENBQUE7QUFDbkIsQ0FBQyxFQUxXLHFCQUFxQixLQUFyQixxQkFBcUIsUUFLaEM7QUFnQkQsTUFBTSxPQUFPLG9CQUFvQjtJQTBCN0IsWUFFWSxvQkFBbUQsRUFDbkQsY0FBaUM7UUFEakMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUErQjtRQUNuRCxtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUF4QjdCLGlCQUFZLEdBQVksSUFBSSxDQUFDO1FBSTdCLGlCQUFZLEdBQVcsSUFBSSxDQUFDO1FBQzVCLGVBQVUsR0FBMEIs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QkFFVyxRQUFRO3NCQUF4QixNQUFNO2dCQUNVLFdBQVc7c0JBQTNCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPcHRpb25hbCxcbiAgICBPdXRwdXQsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBTa2lwU2VsZixcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IGdldEVudW1Gcm9tU3RyaW5nIH0gZnJvbSAnLi4vLi4vaGVscGVycy9lbnVtL2VudW0nO1xuaW1wb3J0IHsgdXVpZCB9IGZyb20gJy4uLy4uL2hlbHBlcnMvdXVpZCc7XG5pbXBvcnQgeyBOZ3REcm9wZG93bkNvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vbmd0LWRyb3Bkb3duLWNvbnRhaW5lci9uZ3QtZHJvcGRvd24tY29udGFpbmVyLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBlbnVtIE5ndERyb3Bkb3duT3Blbk1ldGhvZCB7XG4gICAgQ0xJQ0sgPSAnQ0xJQ0snLFxuICAgIFBPUE9WRVJfQ0xJQ0sgPSAnUE9QT1ZFUl9DTElDSycsXG4gICAgUklHSFRfQ0xJQ0sgPSAnUklHSFRfQ0xJQ0snLFxuICAgIEhPVkVSID0gJ0hPVkVSJ1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25ndC1kcm9wZG93bicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL25ndC1kcm9wZG93bi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbmd0LWRyb3Bkb3duLmNvbXBvbmVudC5jc3MnXSxcbiAgICBhbmltYXRpb25zOiBbXG4gICAgICAgIHRyaWdnZXIoJ29wZW5DbG9zZScsIFtcbiAgICAgICAgICAgIHN0YXRlKCdvcGVuJywgc3R5bGUoeyBvcGFjaXR5OiAxLCB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDBweCknIH0pKSxcbiAgICAgICAgICAgIHN0YXRlKCdjbG9zZWQnLCBzdHlsZSh7IG9wYWNpdHk6IDAsIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoLTEwcHgpJyB9KSksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCdjbG9zZWQgPT4gb3BlbicsIFtcbiAgICAgICAgICAgICAgICBhbmltYXRlKDMwMClcbiAgICAgICAgICAgIF0pLFxuICAgICAgICBdKSxcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIE5ndERyb3Bkb3duQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgICBAVmlld0NoaWxkKCdjb250YWluZXInLCB7IHN0YXRpYzogdHJ1ZSB9KSBwdWJsaWMgY29udGFpbmVyUmVmOiBFbGVtZW50UmVmO1xuXG4gICAgQElucHV0KCkgcHVibGljIHNjcm9sbGFibGU6IGJvb2xlYW47XG4gICAgQElucHV0KCkgcHVibGljIGF1dG9YUmV2ZXJzZTogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBwdWJsaWMgYXV0b1lSZXZlcnNlOiBib29sZWFuID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBwdWJsaWMgcmV2ZXJzZVhQb3NpdGlvbjogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBwdWJsaWMgcmV2ZXJzZVlQb3NpdGlvbjogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBwdWJsaWMgY2xvc2VPbkNsaWNrOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBjbG9zZVRpbWVvdXQ6IG51bWJlciA9IDEwMDA7XG4gICAgQElucHV0KCkgcHVibGljIG9wZW5NZXRob2Q6IE5ndERyb3Bkb3duT3Blbk1ldGhvZCA9IE5ndERyb3Bkb3duT3Blbk1ldGhvZC5IT1ZFUjtcblxuICAgIEBPdXRwdXQoKSBwdWJsaWMgb25Ub2dnbGU6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIG9uSG9zdENsaWNrOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIHB1YmxpYyBuYW1lOiBzdHJpbmcgPSB1dWlkKCk7XG4gICAgcHVibGljIGlzT3BlbjogYm9vbGVhbjtcbiAgICBwdWJsaWMgaXNZUG9zaXRpb25SZXZlcnNlZDogYm9vbGVhbjtcbiAgICBwdWJsaWMgaXNYUG9zaXRpb25SZXZlcnNlZDogYm9vbGVhbjtcbiAgICBwdWJsaWMgaXNCaW5kaW5nWVBvc2l0aW9uOiBib29sZWFuID0gdHJ1ZTtcbiAgICBwdWJsaWMgaXNCaW5kaW5nWFBvc2l0aW9uOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIHByaXZhdGUgc3Vic2NyaXB0aW9uczogQXJyYXk8U3Vic2NyaXB0aW9uPiA9IFtdO1xuICAgIHByaXZhdGUgY29udGFpbmVyWFBvc2l0aW9uOiBudW1iZXI7XG4gICAgcHJpdmF0ZSBjb250YWluZXJZUG9zaXRpb246IG51bWJlcjtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKCkgQFNraXBTZWxmKClcbiAgICAgICAgcHJpdmF0ZSBuZ3REcm9wZG93bkNvbnRhaW5lcjogTmd0RHJvcGRvd25Db250YWluZXJDb21wb25lbnQsXG4gICAgICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmXG4gICAgKSB7XG4gICAgICAgIGlmICh0aGlzLm5ndERyb3Bkb3duQ29udGFpbmVyKSB7XG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgICAgICAgICAgICB0aGlzLm5ndERyb3Bkb3duQ29udGFpbmVyLm9uQWN0aXZlRHJvcGRvd25DaGFuZ2Uuc3Vic2NyaWJlKChhY3RpdmVEcm9wZG93bjogTmd0RHJvcGRvd25Db21wb25lbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc09wZW4gPSAoYWN0aXZlRHJvcGRvd24ubmFtZSA9PT0gdGhpcy5uYW1lKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChjaGFuZ2VzLm9wZW5NZXRob2QpIHtcbiAgICAgICAgICAgIHRoaXMub3Blbk1ldGhvZCA9IGdldEVudW1Gcm9tU3RyaW5nKGNoYW5nZXMub3Blbk1ldGhvZC5jdXJyZW50VmFsdWUsIE5ndERyb3Bkb3duT3Blbk1ldGhvZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveVN1YnNjcmlwdGlvbnMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3BlbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc09wZW4gPSB0cnVlO1xuICAgICAgICB0aGlzLm5ndERyb3Bkb3duQ29udGFpbmVyPy5zZXRBY3RpdmVEcm9wZG93bih0aGlzKTtcblxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcblxuICAgICAgICB0aGlzLmJpbmRDb250YWluZXJYUG9zaXRpb24oKTtcbiAgICAgICAgdGhpcy5iaW5kQ29udGFpbmVyWVBvc2l0aW9uKCk7XG5cbiAgICAgICAgdGhpcy5vblRvZ2dsZS5lbWl0KHRoaXMuaXNPcGVuKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xvc2VPblNlbGVjdE9wdGlvbigpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuY2xvc2VPbkNsaWNrKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNPcGVuID0gZmFsc2U7XG4gICAgICAgIHRoaXMuY29udGFpbmVyWFBvc2l0aW9uID0gbnVsbDtcbiAgICAgICAgdGhpcy5jb250YWluZXJZUG9zaXRpb24gPSBudWxsO1xuXG4gICAgICAgIHRoaXMub25Ub2dnbGUuZW1pdCh0aGlzLmlzT3Blbik7XG4gICAgfVxuXG4gICAgcHVibGljIHRvZ2dsZSgpOiB2b2lkIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5pc09wZW4pIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMub3BlbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25Ib3Zlcihob3N0OiBhbnksIGNvbnRhaW5lcjogYW55KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm9wZW5NZXRob2QgPT0gTmd0RHJvcGRvd25PcGVuTWV0aG9kLkhPVkVSICYmIGhvc3QgJiYgY29udGFpbmVyKSB7XG4gICAgICAgICAgICB0aGlzLm9wZW4oKTtcbiAgICAgICAgICAgIHRoaXMud2F0Y2hIb3Zlcihob3N0LCBjb250YWluZXIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG9uQ2xpY2soZXZlbnQ6IEV2ZW50LCBob3N0OiBhbnksIGNvbnRhaW5lcjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ib3N0Q2xpY2s/LmVtaXQoKTtcblxuICAgICAgICBpZiAodGhpcy5pc0NsaWNrTWV0aG9kKCkpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICAgICAgdGhpcy50b2dnbGUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLm9wZW5NZXRob2QgPT0gTmd0RHJvcGRvd25PcGVuTWV0aG9kLlBPUE9WRVJfQ0xJQ0spIHtcbiAgICAgICAgICAgIHRoaXMud2F0Y2hIb3Zlcihob3N0LCBjb250YWluZXIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG9uUmlnaHRDbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMub3Blbk1ldGhvZCA9PSBOZ3REcm9wZG93bk9wZW5NZXRob2QuUklHSFRfQ0xJQ0spIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIHRoaXMudG9nZ2xlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgc2hvdWxkUmV2ZXJzZVhQb3NpdGlvbigpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCF0aGlzLmF1dG9YUmV2ZXJzZSB8fCB0aGlzLnJldmVyc2VYUG9zaXRpb24gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucmV2ZXJzZVhQb3NpdGlvbjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmlzT3BlbiAmJiAhdGhpcy5pc0JpbmRpbmdYUG9zaXRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuaXNYUG9zaXRpb25SZXZlcnNlZCA9ICEodGhpcy5jb250YWluZXJYUG9zaXRpb24gPiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgpO1xuXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5pc1hQb3NpdGlvblJldmVyc2VkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHNob3VsZFJldmVyc2VZUG9zaXRpb24oKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghdGhpcy5hdXRvWVJldmVyc2UgfHwgdGhpcy5yZXZlcnNlWVBvc2l0aW9uICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnJldmVyc2VZUG9zaXRpb247XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5pc09wZW4gJiYgIXRoaXMuaXNCaW5kaW5nWVBvc2l0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmlzWVBvc2l0aW9uUmV2ZXJzZWQgPSB0aGlzLmNvbnRhaW5lcllQb3NpdGlvbiA+IChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0ICogMC45KTtcblxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaXNZUG9zaXRpb25SZXZlcnNlZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgYmluZENvbnRhaW5lclhQb3NpdGlvbigpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmNvbnRhaW5lclhQb3NpdGlvbiAmJiB0aGlzLmNvbnRhaW5lclJlZi5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoKSB7XG4gICAgICAgICAgICB0aGlzLmlzQmluZGluZ1hQb3NpdGlvbiA9IHRydWU7XG5cbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY29udGFpbmVyWFBvc2l0aW9uID0gdGhpcy5jb250YWluZXJSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS54XG4gICAgICAgICAgICAgICAgICAgICsgdGhpcy5jb250YWluZXJSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aDtcblxuICAgICAgICAgICAgICAgIHRoaXMuaXNCaW5kaW5nWFBvc2l0aW9uID0gZmFsc2U7XG5cbiAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBiaW5kQ29udGFpbmVyWVBvc2l0aW9uKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuY29udGFpbmVyWVBvc2l0aW9uICYmIHRoaXMuY29udGFpbmVyUmVmPy5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodCkge1xuICAgICAgICAgICAgdGhpcy5pc0JpbmRpbmdZUG9zaXRpb24gPSB0cnVlO1xuXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRhaW5lcllQb3NpdGlvbiA9IHRoaXMuY29udGFpbmVyUmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkueVxuICAgICAgICAgICAgICAgICAgICArIHRoaXMuY29udGFpbmVyUmVmLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xuXG4gICAgICAgICAgICAgICAgdGhpcy5pc0JpbmRpbmdZUG9zaXRpb24gPSBmYWxzZTtcblxuICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHdhdGNoSG92ZXIoaG9zdDogYW55LCBjb250YWluZXI6IGFueSk6IHZvaWQge1xuICAgICAgICBjb25zdCBpbnRlcnZhbCA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgICAgICAgIGlmICghaG9zdCB8fCAhY29udGFpbmVyIHx8ICF0aGlzLmlzSW5Ib3Zlcihob3N0LCBjb250YWluZXIpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoaW50ZXJ2YWwpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCB0aGlzLmNsb3NlVGltZW91dCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc0luSG92ZXIoaG9zdDogYW55LCBjb250YWluZXI6IGFueSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gaG9zdC5wYXJlbnRFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJzpob3ZlcicpID09IGhvc3QgfHxcbiAgICAgICAgICAgIGNvbnRhaW5lci5wYXJlbnRFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJzpob3ZlcicpID09IGNvbnRhaW5lcjtcbiAgICB9XG5cbiAgICBwcml2YXRlIGRlc3Ryb3lTdWJzY3JpcHRpb25zKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaChzdWJzY3JpcHRpb24gPT4gc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCkpO1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMgPSBbXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzQ2xpY2tNZXRob2QoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wZW5NZXRob2QgPT0gTmd0RHJvcGRvd25PcGVuTWV0aG9kLkNMSUNLXG4gICAgICAgICAgICB8fCB0aGlzLm9wZW5NZXRob2QgPT0gTmd0RHJvcGRvd25PcGVuTWV0aG9kLlBPUE9WRVJfQ0xJQ0s7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInNtOnJlbGF0aXZlXCI+XG4gICAgPGRpdiAobW91c2VlbnRlcik9XCJvbkhvdmVyKGhvc3QsIGNvbnRhaW5lcilcIiAoY2xpY2spPVwib25DbGljaygkZXZlbnQsIGhvc3QsIGNvbnRhaW5lcilcIlxuICAgICAgICAoY29udGV4dG1lbnUpPVwib25SaWdodENsaWNrKCRldmVudClcIiAjaG9zdD5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PSdbaG9zdF0nPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgW2hpZGRlbl09JyFpc09wZW4nXG4gICAgICAgIGNsYXNzPVwie3sgc2hvdWxkUmV2ZXJzZVlQb3NpdGlvbigpID8gJ21iLTEyIGJvdHRvbS0wJyA6ICdtdC00JyB9fSB7eyBzaG91bGRSZXZlcnNlWFBvc2l0aW9uKCkgPyAnbGVmdC0wJzogJ3JpZ2h0LTAnIH19IG5ndC1kcm9wZG93bi1jb250YWluZXIgc206bXItMCBtci0zIG1heC13LXhzIGFic29sdXRlXCJcbiAgICAgICAgW0BvcGVuQ2xvc2VdPVwiaXNPcGVuID8gJ29wZW4nIDogJ2Nsb3NlZCdcIiAobW91c2VlbnRlcik9XCJvbkhvdmVyKGhvc3QsIGNvbnRhaW5lcilcIlxuICAgICAgICAoY2xpY2spPSdjbG9zZU9uU2VsZWN0T3B0aW9uKCknIHN0eWxlPVwiei1pbmRleDogMTEwMCAhaW1wb3J0YW50O1wiICNjb250YWluZXI+XG5cbiAgICAgICAgPGRpdiAqbmdJZj1cImlzT3BlblwiIGNsYXNzPVwiZmxleCBmbGV4LWNvbFwiIFtuZ0NsYXNzXT1cInsgJ2gtNTIgb3ZlcmZsb3ctYXV0byc6c2Nyb2xsYWJsZSB9XCI+XG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9J1tjb250YWluZXJdJz48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG5cbjxidXR0b24gKm5nSWY9XCJpc09wZW4gJiYgb3Blbk1ldGhvZCAhPSAnSE9WRVInXCIgdHlwZT1cImJ1dHRvblwiXG4gICAgY2xhc3M9XCJmaXhlZCB6LTQwIGluc2V0LTAgaC1mdWxsIHctZnVsbCBvcGFjaXR5LTAgY3Vyc29yLWRlZmF1bHRcIiAoY2xpY2spPSd0b2dnbGUoKSc+XG48L2J1dHRvbj4iXX0=
@@ -1,21 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { NgModule } from '@angular/core';
3
- import { NgtDropdownContainerComponent } from './ngt-dropdown-container/ngt-dropdown-container.component';
4
- import { NgtDropdownComponent } from './ngt-dropdown.component';
5
- import * as i0 from "@angular/core";
6
- export class NgtDropdownModule {
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgtDropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: NgtDropdownModule, declarations: [NgtDropdownComponent, NgtDropdownContainerComponent], imports: [CommonModule], exports: [NgtDropdownComponent, NgtDropdownContainerComponent] }); }
9
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgtDropdownModule, imports: [CommonModule] }); }
10
- }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgtDropdownModule, decorators: [{
12
- type: NgModule,
13
- args: [{
14
- declarations: [NgtDropdownComponent, NgtDropdownContainerComponent],
15
- exports: [NgtDropdownComponent, NgtDropdownContainerComponent],
16
- imports: [
17
- CommonModule
18
- ]
19
- }]
20
- }] });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LWRyb3Bkb3duLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXRhaWx3aW5kL3NyYy9jb21wb25lbnRzL25ndC1kcm9wZG93bi9uZ3QtZHJvcGRvd24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQzFHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQVNoRSxNQUFNLE9BQU8saUJBQWlCOytHQUFqQixpQkFBaUI7Z0hBQWpCLGlCQUFpQixpQkFOWCxvQkFBb0IsRUFBRSw2QkFBNkIsYUFHOUQsWUFBWSxhQUZOLG9CQUFvQixFQUFFLDZCQUE2QjtnSEFLcEQsaUJBQWlCLFlBSHRCLFlBQVk7OzRGQUdQLGlCQUFpQjtrQkFQN0IsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSw2QkFBNkIsQ0FBQztvQkFDbkUsT0FBTyxFQUFFLENBQUMsb0JBQW9CLEVBQUUsNkJBQTZCLENBQUM7b0JBQzlELE9BQU8sRUFBRTt3QkFDTCxZQUFZO3FCQUNmO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE5ndERyb3Bkb3duQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9uZ3QtZHJvcGRvd24tY29udGFpbmVyL25ndC1kcm9wZG93bi1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE5ndERyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi9uZ3QtZHJvcGRvd24uY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtOZ3REcm9wZG93bkNvbXBvbmVudCwgTmd0RHJvcGRvd25Db250YWluZXJDb21wb25lbnRdLFxuICAgIGV4cG9ydHM6IFtOZ3REcm9wZG93bkNvbXBvbmVudCwgTmd0RHJvcGRvd25Db250YWluZXJDb21wb25lbnRdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBOZ3REcm9wZG93bk1vZHVsZSB7IH1cbiJdfQ==
@@ -1,54 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import { NgxDropzonePreviewComponent } from 'ngx-dropzone';
3
- import { NgtDropzoneFileTypeEnum } from '../ngt-dropzone.meta';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/platform-browser";
6
- import * as i2 from "@angular/common";
7
- import * as i3 from "ngx-dropzone";
8
- export class CustomDropzonePreviewComponent extends NgxDropzonePreviewComponent {
9
- constructor(sanitizer) {
10
- super(sanitizer);
11
- this.sanitizer = sanitizer;
12
- }
13
- ngOnInit() {
14
- if (!this.file) {
15
- console.error('No file to read. Please provide a file using the [file] Input property.');
16
- return;
17
- }
18
- this.bindFileType();
19
- }
20
- bindFileType() {
21
- if (this.file.type.includes('.sheet')) {
22
- this.fileType = NgtDropzoneFileTypeEnum.XLS;
23
- }
24
- else if (this.file.type.includes('pdf')) {
25
- this.fileType = NgtDropzoneFileTypeEnum.PDF;
26
- }
27
- else if (this.file.type.includes('.document')) {
28
- this.fileType = NgtDropzoneFileTypeEnum.DOC;
29
- }
30
- else if (this.file.type.includes('.dwg')) {
31
- this.fileType = NgtDropzoneFileTypeEnum.DWG;
32
- }
33
- else {
34
- this.fileType = NgtDropzoneFileTypeEnum.OTHER;
35
- }
36
- }
37
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomDropzonePreviewComponent, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
38
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CustomDropzonePreviewComponent, selector: "custom-dropzone-preview", providers: [
39
- {
40
- provide: NgxDropzonePreviewComponent,
41
- useExisting: CustomDropzonePreviewComponent
42
- }
43
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"flex flex-col items-center w-48 cursor-pointer hover:opacity-75\">\n <div class=\"w-full flex justify-center border-2 rounded py-4 text-6xl\">\n <svg *ngIf=\"fileType == 'OTHER'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path class=\"heroicon-ui\" fill=\"#4a5568\"\n d=\"M6 2h9a1 1 0 0 1 .7.3l4 4a1 1 0 0 1 .3.7v13a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4c0-1.1.9-2 2-2zm9 2.41V7h2.59L15 4.41zM18 9h-3a2 2 0 0 1-2-2V4H6v16h12V9zm-2 7a1 1 0 0 1-1 1H9a1 1 0 0 1 0-2h6a1 1 0 0 1 1 1zm0-4a1 1 0 0 1-1 1H9a1 1 0 0 1 0-2h6a1 1 0 0 1 1 1zm-5-4a1 1 0 0 1-1 1H9a1 1 0 1 1 0-2h1a1 1 0 0 1 1 1z\" />\n </svg>\n\n <svg *ngIf=\"fileType == 'DOC'\" fill=\"#4a5568\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path\n d=\"M14.4 0l-9.6 0c-1.33,0 -2.4,1.08 -2.4,2.4l0 19.2c0,1.33 1.07,2.4 2.4,2.4l14.4 0c1.33,0 2.4,-1.07 2.4,-2.4l0 -14.4 -7.2 -7.2 0 0zm4.8 21.6l-14.4 0 0 -19.2 8.4 0 0 6 6 0 0 13.2 0 0zm-0.78 -12l-2.52 10.8 -1.68 0 -2.16 -8.15 -2.16 8.15 -1.68 0 -2.64 -10.8 1.8 0 1.68 8.17 2.16 -8.17 1.56 0 2.16 8.17 1.68 -8.17 1.8 0z\" />\n </svg>\n\n <svg *ngIf=\"fileType == 'XLS'\" fill=\"#4a5568\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path\n d=\"M14.4 0l-9.6 0c-1.33,0 -2.4,1.08 -2.4,2.4l0 19.2c0,1.33 1.07,2.4 2.4,2.4l14.4 0c1.33,0 2.4,-1.07 2.4,-2.4l0 -14.4 -7.2 -7.2 0 0zm4.8 21.6l-14.4 0 0 -19.2 8.4 0 0 6 6 0 0 13.2 0 0zm-6.12 -6.6l3.48 5.4 -2.16 0 -2.4 -4.08 -2.4 4.08 -2.16 0 3.48 -5.4 -3.48 -5.4 2.16 0 2.4 4.08 2.4 -4.08 2.16 0 -3.48 5.4z\" />\n </svg>\n\n <svg *ngIf=\"fileType == 'PDF'\" fill=\"#4a5568\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path\n d=\"M14.4 0l7.2 7.2 0 14.4c0,1.32 -1.08,2.4 -2.4,2.4l-14.4 0c-1.32,0 -2.4,-1.08 -2.4,-2.4l0 -19.2c0,-1.32 1.08,-2.4 2.4,-2.4l9.6 0 0 0zm4.8 21.6l0 -13.2 -6 0 0 -6 -8.4 0 0 19.2 14.4 0 0 0zm-8.5 -9.23c-0.28,-0.92 -0.92,-3.87 0.76,-3.92 1.68,-0.05 0.58,3.74 0.58,3.74 0.46,1.79 2.42,3.07 2.42,3.07 0.6,-0.18 4.02,-0.57 3.54,1.21 -0.52,1.77 -4.2,0.1 -4.2,0.1 -2.34,0.17 -4.09,0.8 -4.09,0.8 -1.36,2.53 -2.94,3.63 -3.59,2.56 -0.8,-1.33 2.56,-3.04 2.56,-3.04 1.74,-2.83 2,-4.47 2.02,-4.52l0 0zm0.78 1.01c-0.48,1.56 -1.44,3.23 -1.44,3.23 1.02,-0.41 3.26,-0.88 3.26,-0.88 -1.37,-1.2 -1.79,-2.34 -1.82,-2.35l0 0zm3.77 2.6c0,0 2.1,0.79 2.15,0.47 0.08,-0.32 -1.6,-0.61 -2.15,-0.47l0 0zm-6.79 1.79c-0.93,0.36 -1.81,1.9 -1.6,1.9 0.22,0.01 1.1,-0.72 1.6,-1.9l0 0zm3.02 -6.66c0,-0.06 0.52,-2.01 0,-2.07 -0.36,-0.04 -0.01,2.02 0,2.07z\" />\n </svg>\n\n <svg *ngIf=\"fileType == 'DWG'\" version=\"1.0\" xmlns=\"http://www.w3.org/2000/svg\" width=\"512.000000pt\" height=\"512.000000pt\"\n viewBox=\"0 0 512.000000 512.000000\" preserveAspectRatio=\"xMidYMid meet\">\n <g transform=\"translate(0.000000,512.000000) scale(0.100000,-0.100000)\" fill=\"#4a5568\" stroke=\"none\">\n <path\n d=\"M830 5104 c-42 -18 -86 -58 -108 -99 -15 -27 -17 -109 -20 -871 l-3 -842 -92 -4 c-112 -5 -179 -32 -235 -92 -81 -88 -77 -39 -77 -946 0 -801 0 -805 21 -851 54 -116 140 -169 291 -177 l92 -5 3 -536 c3 -588 1 -562 65 -623 65 -62 -61 -58 1793 -58 1854 0 1728 -4 1793 58 64 61 62 35 65 623 l3 536 92 5 c151 8 237 61 291 177 21 46 21 50 21 851 0 907 4 858 -77 946 -56 60 -123 87 -235 92 l-93 4 -1 302 c-1 165 -4 312 -8 326 -8 30 -994 1160 -1033 1184 -24 15 -138 16 -1270 16 -1088 -1 -1247 -3 -1278 -16z m2400 -714 l0 -530 29 -32 29 -33 466 -3 466 -3 0 -249 0 -250 -1660 0 -1660 0 0 815 0 815 1165 0 1165 0 0 -530z m1093 -1516 c87 -16 127 -32 127 -48 -1 -17 -48 -197 -54 -203 -2 -3 -27 2 -54 11 -131 44 -323 40 -429 -9 -72 -33 -146 -110 -174 -182 -27 -72 -36 -204 -19 -282 26 -120 110 -221 217 -261 70 -26 193 -36 251 -21 l42 12 0 124 0 125 -95 0 -95 0 0 110 0 110 230 0 230 0 0 -320 0 -320 -27 -11 c-16 -6 -71 -20 -123 -32 -129 -29 -401 -31 -500 -4 -116 33 -189 74 -266 151 -114 114 -164 244 -164 426 0 265 115 460 331 563 52 25 117 50 144 57 122 30 283 31 428 4z m-3042 -12 c304 -82 457 -320 419 -653 -35 -312 -215 -491 -545 -544 -94 -16 -317 -20 -448 -9 l-77 7 0 602 0 603 83 10 c45 6 174 9 287 7 170 -2 218 -6 281 -23z m808 -34 c16 -81 96 -524 127 -705 15 -90 29 -161 31 -160 2 2 14 66 28 143 20 116 101 518 145 722 l12 52 147 0 147 0 28 -147 c67 -356 104 -564 116 -648 13 -92 29 -144 30 -95 0 42 47 310 107 608 l56 282 138 0 c77 0 139 -3 139 -7 0 -5 -217 -853 -301 -1175 l-10 -38 -149 0 c-133 0 -149 2 -154 18 -13 44 -127 653 -141 759 -9 65 -18 119 -19 120 -1 2 -12 -55 -24 -125 -13 -70 -55 -272 -94 -449 l-71 -323 -152 0 -151 0 -142 598 c-78 328 -142 603 -142 610 0 9 36 12 144 12 l145 0 10 -52z m2131 -2088 l0 -480 -1660 0 -1660 0 0 480 0 480 1660 0 1660 0 0 -480z\" />\n\n <path\n d=\"M923 2673 l-23 -4 0 -399 0 -399 43 -6 c60 -9 200 12 261 39 140 63 212 207 204 411 -3 86 -8 109 -34 165 -51 108 -128 167 -249 189 -57 11 -157 13 -202 4z\" />\n </g>\n </svg>\n </div>\n</div>\n\n<ngx-dropzone-remove-badge *ngIf=\"removable\" (click)=\"_remove($event)\" style=\"top: -15px !important;\">\n</ngx-dropzone-remove-badge>", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.NgxDropzoneRemoveBadgeComponent, selector: "ngx-dropzone-remove-badge" }] }); }
44
- }
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomDropzonePreviewComponent, decorators: [{
46
- type: Component,
47
- args: [{ selector: 'custom-dropzone-preview', providers: [
48
- {
49
- provide: NgxDropzonePreviewComponent,
50
- useExisting: CustomDropzonePreviewComponent
51
- }
52
- ], template: "<div class=\"flex flex-col items-center w-48 cursor-pointer hover:opacity-75\">\n <div class=\"w-full flex justify-center border-2 rounded py-4 text-6xl\">\n <svg *ngIf=\"fileType == 'OTHER'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path class=\"heroicon-ui\" fill=\"#4a5568\"\n d=\"M6 2h9a1 1 0 0 1 .7.3l4 4a1 1 0 0 1 .3.7v13a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4c0-1.1.9-2 2-2zm9 2.41V7h2.59L15 4.41zM18 9h-3a2 2 0 0 1-2-2V4H6v16h12V9zm-2 7a1 1 0 0 1-1 1H9a1 1 0 0 1 0-2h6a1 1 0 0 1 1 1zm0-4a1 1 0 0 1-1 1H9a1 1 0 0 1 0-2h6a1 1 0 0 1 1 1zm-5-4a1 1 0 0 1-1 1H9a1 1 0 1 1 0-2h1a1 1 0 0 1 1 1z\" />\n </svg>\n\n <svg *ngIf=\"fileType == 'DOC'\" fill=\"#4a5568\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path\n d=\"M14.4 0l-9.6 0c-1.33,0 -2.4,1.08 -2.4,2.4l0 19.2c0,1.33 1.07,2.4 2.4,2.4l14.4 0c1.33,0 2.4,-1.07 2.4,-2.4l0 -14.4 -7.2 -7.2 0 0zm4.8 21.6l-14.4 0 0 -19.2 8.4 0 0 6 6 0 0 13.2 0 0zm-0.78 -12l-2.52 10.8 -1.68 0 -2.16 -8.15 -2.16 8.15 -1.68 0 -2.64 -10.8 1.8 0 1.68 8.17 2.16 -8.17 1.56 0 2.16 8.17 1.68 -8.17 1.8 0z\" />\n </svg>\n\n <svg *ngIf=\"fileType == 'XLS'\" fill=\"#4a5568\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path\n d=\"M14.4 0l-9.6 0c-1.33,0 -2.4,1.08 -2.4,2.4l0 19.2c0,1.33 1.07,2.4 2.4,2.4l14.4 0c1.33,0 2.4,-1.07 2.4,-2.4l0 -14.4 -7.2 -7.2 0 0zm4.8 21.6l-14.4 0 0 -19.2 8.4 0 0 6 6 0 0 13.2 0 0zm-6.12 -6.6l3.48 5.4 -2.16 0 -2.4 -4.08 -2.4 4.08 -2.16 0 3.48 -5.4 -3.48 -5.4 2.16 0 2.4 4.08 2.4 -4.08 2.16 0 -3.48 5.4z\" />\n </svg>\n\n <svg *ngIf=\"fileType == 'PDF'\" fill=\"#4a5568\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path\n d=\"M14.4 0l7.2 7.2 0 14.4c0,1.32 -1.08,2.4 -2.4,2.4l-14.4 0c-1.32,0 -2.4,-1.08 -2.4,-2.4l0 -19.2c0,-1.32 1.08,-2.4 2.4,-2.4l9.6 0 0 0zm4.8 21.6l0 -13.2 -6 0 0 -6 -8.4 0 0 19.2 14.4 0 0 0zm-8.5 -9.23c-0.28,-0.92 -0.92,-3.87 0.76,-3.92 1.68,-0.05 0.58,3.74 0.58,3.74 0.46,1.79 2.42,3.07 2.42,3.07 0.6,-0.18 4.02,-0.57 3.54,1.21 -0.52,1.77 -4.2,0.1 -4.2,0.1 -2.34,0.17 -4.09,0.8 -4.09,0.8 -1.36,2.53 -2.94,3.63 -3.59,2.56 -0.8,-1.33 2.56,-3.04 2.56,-3.04 1.74,-2.83 2,-4.47 2.02,-4.52l0 0zm0.78 1.01c-0.48,1.56 -1.44,3.23 -1.44,3.23 1.02,-0.41 3.26,-0.88 3.26,-0.88 -1.37,-1.2 -1.79,-2.34 -1.82,-2.35l0 0zm3.77 2.6c0,0 2.1,0.79 2.15,0.47 0.08,-0.32 -1.6,-0.61 -2.15,-0.47l0 0zm-6.79 1.79c-0.93,0.36 -1.81,1.9 -1.6,1.9 0.22,0.01 1.1,-0.72 1.6,-1.9l0 0zm3.02 -6.66c0,-0.06 0.52,-2.01 0,-2.07 -0.36,-0.04 -0.01,2.02 0,2.07z\" />\n </svg>\n\n <svg *ngIf=\"fileType == 'DWG'\" version=\"1.0\" xmlns=\"http://www.w3.org/2000/svg\" width=\"512.000000pt\" height=\"512.000000pt\"\n viewBox=\"0 0 512.000000 512.000000\" preserveAspectRatio=\"xMidYMid meet\">\n <g transform=\"translate(0.000000,512.000000) scale(0.100000,-0.100000)\" fill=\"#4a5568\" stroke=\"none\">\n <path\n d=\"M830 5104 c-42 -18 -86 -58 -108 -99 -15 -27 -17 -109 -20 -871 l-3 -842 -92 -4 c-112 -5 -179 -32 -235 -92 -81 -88 -77 -39 -77 -946 0 -801 0 -805 21 -851 54 -116 140 -169 291 -177 l92 -5 3 -536 c3 -588 1 -562 65 -623 65 -62 -61 -58 1793 -58 1854 0 1728 -4 1793 58 64 61 62 35 65 623 l3 536 92 5 c151 8 237 61 291 177 21 46 21 50 21 851 0 907 4 858 -77 946 -56 60 -123 87 -235 92 l-93 4 -1 302 c-1 165 -4 312 -8 326 -8 30 -994 1160 -1033 1184 -24 15 -138 16 -1270 16 -1088 -1 -1247 -3 -1278 -16z m2400 -714 l0 -530 29 -32 29 -33 466 -3 466 -3 0 -249 0 -250 -1660 0 -1660 0 0 815 0 815 1165 0 1165 0 0 -530z m1093 -1516 c87 -16 127 -32 127 -48 -1 -17 -48 -197 -54 -203 -2 -3 -27 2 -54 11 -131 44 -323 40 -429 -9 -72 -33 -146 -110 -174 -182 -27 -72 -36 -204 -19 -282 26 -120 110 -221 217 -261 70 -26 193 -36 251 -21 l42 12 0 124 0 125 -95 0 -95 0 0 110 0 110 230 0 230 0 0 -320 0 -320 -27 -11 c-16 -6 -71 -20 -123 -32 -129 -29 -401 -31 -500 -4 -116 33 -189 74 -266 151 -114 114 -164 244 -164 426 0 265 115 460 331 563 52 25 117 50 144 57 122 30 283 31 428 4z m-3042 -12 c304 -82 457 -320 419 -653 -35 -312 -215 -491 -545 -544 -94 -16 -317 -20 -448 -9 l-77 7 0 602 0 603 83 10 c45 6 174 9 287 7 170 -2 218 -6 281 -23z m808 -34 c16 -81 96 -524 127 -705 15 -90 29 -161 31 -160 2 2 14 66 28 143 20 116 101 518 145 722 l12 52 147 0 147 0 28 -147 c67 -356 104 -564 116 -648 13 -92 29 -144 30 -95 0 42 47 310 107 608 l56 282 138 0 c77 0 139 -3 139 -7 0 -5 -217 -853 -301 -1175 l-10 -38 -149 0 c-133 0 -149 2 -154 18 -13 44 -127 653 -141 759 -9 65 -18 119 -19 120 -1 2 -12 -55 -24 -125 -13 -70 -55 -272 -94 -449 l-71 -323 -152 0 -151 0 -142 598 c-78 328 -142 603 -142 610 0 9 36 12 144 12 l145 0 10 -52z m2131 -2088 l0 -480 -1660 0 -1660 0 0 480 0 480 1660 0 1660 0 0 -480z\" />\n\n <path\n d=\"M923 2673 l-23 -4 0 -399 0 -399 43 -6 c60 -9 200 12 261 39 140 63 212 207 204 411 -3 86 -8 109 -34 165 -51 108 -128 167 -249 189 -57 11 -157 13 -202 4z\" />\n </g>\n </svg>\n </div>\n</div>\n\n<ngx-dropzone-remove-badge *ngIf=\"removable\" (click)=\"_remove($event)\" style=\"top: -15px !important;\">\n</ngx-dropzone-remove-badge>" }]
53
- }], ctorParameters: () => [{ type: i1.DomSanitizer }] });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWRyb3B6b25lLXByZXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdGFpbHdpbmQvc3JjL2NvbXBvbmVudHMvbmd0LWRyb3B6b25lL2N1c3RvbS1kcm9wem9uZS1wcmV2aWV3L2N1c3RvbS1kcm9wem9uZS1wcmV2aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXRhaWx3aW5kL3NyYy9jb21wb25lbnRzL25ndC1kcm9wem9uZS9jdXN0b20tZHJvcHpvbmUtcHJldmlldy9jdXN0b20tZHJvcHpvbmUtcHJldmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRWxELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUUzRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7QUFZL0QsTUFBTSxPQUFPLDhCQUErQixTQUFRLDJCQUEyQjtJQUczRSxZQUEwQixTQUF1QjtRQUM3QyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFESyxjQUFTLEdBQVQsU0FBUyxDQUFjO0lBRWpELENBQUM7SUFFTSxRQUFRO1FBQ1gsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNiLE9BQU8sQ0FBQyxLQUFLLENBQUMseUVBQXlFLENBQUMsQ0FBQztZQUV6RixPQUFPO1FBQ1gsQ0FBQztRQUVELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRU8sWUFBWTtRQUNoQixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxRQUFRLEdBQUcsdUJBQXVCLENBQUMsR0FBRyxDQUFDO1FBQ2hELENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3hDLElBQUksQ0FBQyxRQUFRLEdBQUcsdUJBQXVCLENBQUMsR0FBRyxDQUFDO1FBQ2hELENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQzlDLElBQUksQ0FBQyxRQUFRLEdBQUcsdUJBQXVCLENBQUMsR0FBRyxDQUFDO1FBQ2hELENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ3pDLElBQUksQ0FBQyxRQUFRLEdBQUcsdUJBQXVCLENBQUMsR0FBRyxDQUFDO1FBQ2hELENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLFFBQVEsR0FBRyx1QkFBdUIsQ0FBQyxLQUFLLENBQUM7UUFDbEQsQ0FBQztJQUNMLENBQUM7K0dBN0JRLDhCQUE4QjttR0FBOUIsOEJBQThCLGtEQVA1QjtZQUNQO2dCQUNJLE9BQU8sRUFBRSwyQkFBMkI7Z0JBQ3BDLFdBQVcsRUFBRSw4QkFBOEI7YUFDOUM7U0FDSixpRENkTCxpbUtBb0M0Qjs7NEZEcEJmLDhCQUE4QjtrQkFWMUMsU0FBUzsrQkFDSSx5QkFBeUIsYUFFeEI7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLDJCQUEyQjs0QkFDcEMsV0FBVyxnQ0FBZ0M7eUJBQzlDO3FCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgTmd4RHJvcHpvbmVQcmV2aWV3Q29tcG9uZW50IH0gZnJvbSAnbmd4LWRyb3B6b25lJztcblxuaW1wb3J0IHsgTmd0RHJvcHpvbmVGaWxlVHlwZUVudW0gfSBmcm9tICcuLi9uZ3QtZHJvcHpvbmUubWV0YSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnY3VzdG9tLWRyb3B6b25lLXByZXZpZXcnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jdXN0b20tZHJvcHpvbmUtcHJldmlldy5jb21wb25lbnQuaHRtbCcsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5neERyb3B6b25lUHJldmlld0NvbXBvbmVudCxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBDdXN0b21Ecm9wem9uZVByZXZpZXdDb21wb25lbnRcbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgQ3VzdG9tRHJvcHpvbmVQcmV2aWV3Q29tcG9uZW50IGV4dGVuZHMgTmd4RHJvcHpvbmVQcmV2aWV3Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBwdWJsaWMgZmlsZVR5cGU6IE5ndERyb3B6b25lRmlsZVR5cGVFbnVtO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHB1YmxpYyBzYW5pdGl6ZXI6IERvbVNhbml0aXplcikge1xuICAgICAgICBzdXBlcihzYW5pdGl6ZXIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmZpbGUpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ05vIGZpbGUgdG8gcmVhZC4gUGxlYXNlIHByb3ZpZGUgYSBmaWxlIHVzaW5nIHRoZSBbZmlsZV0gSW5wdXQgcHJvcGVydHkuJyk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYmluZEZpbGVUeXBlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBiaW5kRmlsZVR5cGUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmZpbGUudHlwZS5pbmNsdWRlcygnLnNoZWV0JykpIHtcbiAgICAgICAgICAgIHRoaXMuZmlsZVR5cGUgPSBOZ3REcm9wem9uZUZpbGVUeXBlRW51bS5YTFM7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5maWxlLnR5cGUuaW5jbHVkZXMoJ3BkZicpKSB7XG4gICAgICAgICAgICB0aGlzLmZpbGVUeXBlID0gTmd0RHJvcHpvbmVGaWxlVHlwZUVudW0uUERGO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuZmlsZS50eXBlLmluY2x1ZGVzKCcuZG9jdW1lbnQnKSkge1xuICAgICAgICAgICAgdGhpcy5maWxlVHlwZSA9IE5ndERyb3B6b25lRmlsZVR5cGVFbnVtLkRPQztcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmZpbGUudHlwZS5pbmNsdWRlcygnLmR3ZycpKSB7XG4gICAgICAgICAgICB0aGlzLmZpbGVUeXBlID0gTmd0RHJvcHpvbmVGaWxlVHlwZUVudW0uRFdHO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5maWxlVHlwZSA9IE5ndERyb3B6b25lRmlsZVR5cGVFbnVtLk9USEVSO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgaXRlbXMtY2VudGVyIHctNDggY3Vyc29yLXBvaW50ZXIgaG92ZXI6b3BhY2l0eS03NVwiPlxuICAgIDxkaXYgY2xhc3M9XCJ3LWZ1bGwgZmxleCBqdXN0aWZ5LWNlbnRlciBib3JkZXItMiByb3VuZGVkIHB5LTQgdGV4dC02eGxcIj5cbiAgICAgICAgPHN2ZyAqbmdJZj1cImZpbGVUeXBlID09ICdPVEhFUidcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPlxuICAgICAgICAgICAgPHBhdGggY2xhc3M9XCJoZXJvaWNvbi11aVwiIGZpbGw9XCIjNGE1NTY4XCJcbiAgICAgICAgICAgICAgICBkPVwiTTYgMmg5YTEgMSAwIDAgMSAuNy4zbDQgNGExIDEgMCAwIDEgLjMuN3YxM2EyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTItMlY0YzAtMS4xLjktMiAyLTJ6bTkgMi40MVY3aDIuNTlMMTUgNC40MXpNMTggOWgtM2EyIDIgMCAwIDEtMi0yVjRINnYxNmgxMlY5em0tMiA3YTEgMSAwIDAgMS0xIDFIOWExIDEgMCAwIDEgMC0yaDZhMSAxIDAgMCAxIDEgMXptMC00YTEgMSAwIDAgMS0xIDFIOWExIDEgMCAwIDEgMC0yaDZhMSAxIDAgMCAxIDEgMXptLTUtNGExIDEgMCAwIDEtMSAxSDlhMSAxIDAgMSAxIDAtMmgxYTEgMSAwIDAgMSAxIDF6XCIgLz5cbiAgICAgICAgPC9zdmc+XG5cbiAgICAgICAgPHN2ZyAqbmdJZj1cImZpbGVUeXBlID09ICdET0MnXCIgZmlsbD1cIiM0YTU1NjhcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICBkPVwiTTE0LjQgMGwtOS42IDBjLTEuMzMsMCAtMi40LDEuMDggLTIuNCwyLjRsMCAxOS4yYzAsMS4zMyAxLjA3LDIuNCAyLjQsMi40bDE0LjQgMGMxLjMzLDAgMi40LC0xLjA3IDIuNCwtMi40bDAgLTE0LjQgLTcuMiAtNy4yIDAgMHptNC44IDIxLjZsLTE0LjQgMCAwIC0xOS4yIDguNCAwIDAgNiA2IDAgMCAxMy4yIDAgMHptLTAuNzggLTEybC0yLjUyIDEwLjggLTEuNjggMCAtMi4xNiAtOC4xNSAtMi4xNiA4LjE1IC0xLjY4IDAgLTIuNjQgLTEwLjggMS44IDAgMS42OCA4LjE3IDIuMTYgLTguMTcgMS41NiAwIDIuMTYgOC4xNyAxLjY4IC04LjE3IDEuOCAwelwiIC8+XG4gICAgICAgIDwvc3ZnPlxuXG4gICAgICAgIDxzdmcgKm5nSWY9XCJmaWxlVHlwZSA9PSAnWExTJ1wiIGZpbGw9XCIjNGE1NTY4XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgZD1cIk0xNC40IDBsLTkuNiAwYy0xLjMzLDAgLTIuNCwxLjA4IC0yLjQsMi40bDAgMTkuMmMwLDEuMzMgMS4wNywyLjQgMi40LDIuNGwxNC40IDBjMS4zMywwIDIuNCwtMS4wNyAyLjQsLTIuNGwwIC0xNC40IC03LjIgLTcuMiAwIDB6bTQuOCAyMS42bC0xNC40IDAgMCAtMTkuMiA4LjQgMCAwIDYgNiAwIDAgMTMuMiAwIDB6bS02LjEyIC02LjZsMy40OCA1LjQgLTIuMTYgMCAtMi40IC00LjA4IC0yLjQgNC4wOCAtMi4xNiAwIDMuNDggLTUuNCAtMy40OCAtNS40IDIuMTYgMCAyLjQgNC4wOCAyLjQgLTQuMDggMi4xNiAwIC0zLjQ4IDUuNHpcIiAvPlxuICAgICAgICA8L3N2Zz5cblxuICAgICAgICA8c3ZnICpuZ0lmPVwiZmlsZVR5cGUgPT0gJ1BERidcIiBmaWxsPVwiIzRhNTU2OFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgIGQ9XCJNMTQuNCAwbDcuMiA3LjIgMCAxNC40YzAsMS4zMiAtMS4wOCwyLjQgLTIuNCwyLjRsLTE0LjQgMGMtMS4zMiwwIC0yLjQsLTEuMDggLTIuNCwtMi40bDAgLTE5LjJjMCwtMS4zMiAxLjA4LC0yLjQgMi40LC0yLjRsOS42IDAgMCAwem00LjggMjEuNmwwIC0xMy4yIC02IDAgMCAtNiAtOC40IDAgMCAxOS4yIDE0LjQgMCAwIDB6bS04LjUgLTkuMjNjLTAuMjgsLTAuOTIgLTAuOTIsLTMuODcgMC43NiwtMy45MiAxLjY4LC0wLjA1IDAuNTgsMy43NCAwLjU4LDMuNzQgMC40NiwxLjc5IDIuNDIsMy4wNyAyLjQyLDMuMDcgMC42LC0wLjE4IDQuMDIsLTAuNTcgMy41NCwxLjIxIC0wLjUyLDEuNzcgLTQuMiwwLjEgLTQuMiwwLjEgLTIuMzQsMC4xNyAtNC4wOSwwLjggLTQuMDksMC44IC0xLjM2LDIuNTMgLTIuOTQsMy42MyAtMy41OSwyLjU2IC0wLjgsLTEuMzMgMi41NiwtMy4wNCAyLjU2LC0zLjA0IDEuNzQsLTIuODMgMiwtNC40NyAyLjAyLC00LjUybDAgMHptMC43OCAxLjAxYy0wLjQ4LDEuNTYgLTEuNDQsMy4yMyAtMS40NCwzLjIzIDEuMDIsLTAuNDEgMy4yNiwtMC44OCAzLjI2LC0wLjg4IC0xLjM3LC0xLjIgLTEuNzksLTIuMzQgLTEuODIsLTIuMzVsMCAwem0zLjc3IDIuNmMwLDAgMi4xLDAuNzkgMi4xNSwwLjQ3IDAuMDgsLTAuMzIgLTEuNiwtMC42MSAtMi4xNSwtMC40N2wwIDB6bS02Ljc5IDEuNzljLTAuOTMsMC4zNiAtMS44MSwxLjkgLTEuNiwxLjkgMC4yMiwwLjAxIDEuMSwtMC43MiAxLjYsLTEuOWwwIDB6bTMuMDIgLTYuNjZjMCwtMC4wNiAwLjUyLC0yLjAxIDAsLTIuMDcgLTAuMzYsLTAuMDQgLTAuMDEsMi4wMiAwLDIuMDd6XCIgLz5cbiAgICAgICAgPC9zdmc+XG5cbiAgICAgICAgPHN2ZyAqbmdJZj1cImZpbGVUeXBlID09ICdEV0cnXCIgdmVyc2lvbj1cIjEuMFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjUxMi4wMDAwMDBwdFwiIGhlaWdodD1cIjUxMi4wMDAwMDBwdFwiXG4gICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDUxMi4wMDAwMDAgNTEyLjAwMDAwMFwiIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWlkWU1pZCBtZWV0XCI+XG4gICAgICAgICAgICA8ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMC4wMDAwMDAsNTEyLjAwMDAwMCkgc2NhbGUoMC4xMDAwMDAsLTAuMTAwMDAwKVwiIGZpbGw9XCIjNGE1NTY4XCIgc3Ryb2tlPVwibm9uZVwiPlxuICAgICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgICAgIGQ9XCJNODMwIDUxMDQgYy00MiAtMTggLTg2IC01OCAtMTA4IC05OSAtMTUgLTI3IC0xNyAtMTA5IC0yMCAtODcxIGwtMyAtODQyIC05MiAtNCBjLTExMiAtNSAtMTc5IC0zMiAtMjM1IC05MiAtODEgLTg4IC03NyAtMzkgLTc3IC05NDYgMCAtODAxIDAgLTgwNSAyMSAtODUxIDU0IC0xMTYgMTQwIC0xNjkgMjkxIC0xNzcgbDkyIC01IDMgLTUzNiBjMyAtNTg4IDEgLTU2MiA2NSAtNjIzIDY1IC02MiAtNjEgLTU4IDE3OTMgLTU4IDE4NTQgMCAxNzI4IC00IDE3OTMgNTggNjQgNjEgNjIgMzUgNjUgNjIzIGwzIDUzNiA5MiA1IGMxNTEgOCAyMzcgNjEgMjkxIDE3NyAyMSA0NiAyMSA1MCAyMSA4NTEgMCA5MDcgNCA4NTggLTc3IDk0NiAtNTYgNjAgLTEyMyA4NyAtMjM1IDkyIGwtOTMgNCAtMSAzMDIgYy0xIDE2NSAtNCAzMTIgLTggMzI2IC04IDMwIC05OTQgMTE2MCAtMTAzMyAxMTg0IC0yNCAxNSAtMTM4IDE2IC0xMjcwIDE2IC0xMDg4IC0xIC0xMjQ3IC0zIC0xMjc4IC0xNnogbTI0MDAgLTcxNCBsMCAtNTMwIDI5IC0zMiAyOSAtMzMgNDY2IC0zIDQ2NiAtMyAwIC0yNDkgMCAtMjUwIC0xNjYwIDAgLTE2NjAgMCAwIDgxNSAwIDgxNSAxMTY1IDAgMTE2NSAwIDAgLTUzMHogbTEwOTMgLTE1MTYgYzg3IC0xNiAxMjcgLTMyIDEyNyAtNDggLTEgLTE3IC00OCAtMTk3IC01NCAtMjAzIC0yIC0zIC0yNyAyIC01NCAxMSAtMTMxIDQ0IC0zMjMgNDAgLTQyOSAtOSAtNzIgLTMzIC0xNDYgLTExMCAtMTc0IC0xODIgLTI3IC03MiAtMzYgLTIwNCAtMTkgLTI4MiAyNiAtMTIwIDExMCAtMjIxIDIxNyAtMjYxIDcwIC0yNiAxOTMgLTM2IDI1MSAtMjEgbDQyIDEyIDAgMTI0IDAgMTI1IC05NSAwIC05NSAwIDAgMTEwIDAgMTEwIDIzMCAwIDIzMCAwIDAgLTMyMCAwIC0zMjAgLTI3IC0xMSBjLTE2IC02IC03MSAtMjAgLTEyMyAtMzIgLTEyOSAtMjkgLTQwMSAtMzEgLTUwMCAtNCAtMTE2IDMzIC0xODkgNzQgLTI2NiAxNTEgLTExNCAxMTQgLTE2NCAyNDQgLTE2NCA0MjYgMCAyNjUgMTE1IDQ2MCAzMzEgNTYzIDUyIDI1IDExNyA1MCAxNDQgNTcgMTIyIDMwIDI4MyAzMSA0MjggNHogbS0zMDQyIC0xMiBjMzA0IC04MiA0NTcgLTMyMCA0MTkgLTY1MyAtMzUgLTMxMiAtMjE1IC00OTEgLTU0NSAtNTQ0IC05NCAtMTYgLTMxNyAtMjAgLTQ0OCAtOSBsLTc3IDcgMCA2MDIgMCA2MDMgODMgMTAgYzQ1IDYgMTc0IDkgMjg3IDcgMTcwIC0yIDIxOCAtNiAyODEgLTIzeiBtODA4IC0zNCBjMTYgLTgxIDk2IC01MjQgMTI3IC03MDUgMTUgLTkwIDI5IC0xNjEgMzEgLTE2MCAyIDIgMTQgNjYgMjggMTQzIDIwIDExNiAxMDEgNTE4IDE0NSA3MjIgbDEyIDUyIDE0NyAwIDE0NyAwIDI4IC0xNDcgYzY3IC0zNTYgMTA0IC01NjQgMTE2IC02NDggMTMgLTkyIDI5IC0xNDQgMzAgLTk1IDAgNDIgNDcgMzEwIDEwNyA2MDggbDU2IDI4MiAxMzggMCBjNzcgMCAxMzkgLTMgMTM5IC03IDAgLTUgLTIxNyAtODUzIC0zMDEgLTExNzUgbC0xMCAtMzggLTE0OSAwIGMtMTMzIDAgLTE0OSAyIC0xNTQgMTggLTEzIDQ0IC0xMjcgNjUzIC0xNDEgNzU5IC05IDY1IC0xOCAxMTkgLTE5IDEyMCAtMSAyIC0xMiAtNTUgLTI0IC0xMjUgLTEzIC03MCAtNTUgLTI3MiAtOTQgLTQ0OSBsLTcxIC0zMjMgLTE1MiAwIC0xNTEgMCAtMTQyIDU5OCBjLTc4IDMyOCAtMTQyIDYwMyAtMTQyIDYxMCAwIDkgMzYgMTIgMTQ0IDEyIGwxNDUgMCAxMCAtNTJ6IG0yMTMxIC0yMDg4IGwwIC00ODAgLTE2NjAgMCAtMTY2MCAwIDAgNDgwIDAgNDgwIDE2NjAgMCAxNjYwIDAgMCAtNDgwelwiIC8+XG5cbiAgICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgICAgICBkPVwiTTkyMyAyNjczIGwtMjMgLTQgMCAtMzk5IDAgLTM5OSA0MyAtNiBjNjAgLTkgMjAwIDEyIDI2MSAzOSAxNDAgNjMgMjEyIDIwNyAyMDQgNDExIC0zIDg2IC04IDEwOSAtMzQgMTY1IC01MSAxMDggLTEyOCAxNjcgLTI0OSAxODkgLTU3IDExIC0xNTcgMTMgLTIwMiA0elwiIC8+XG4gICAgICAgICAgICA8L2c+XG4gICAgICAgIDwvc3ZnPlxuICAgIDwvZGl2PlxuPC9kaXY+XG5cbjxuZ3gtZHJvcHpvbmUtcmVtb3ZlLWJhZGdlICpuZ0lmPVwicmVtb3ZhYmxlXCIgKGNsaWNrKT1cIl9yZW1vdmUoJGV2ZW50KVwiIHN0eWxlPVwidG9wOiAtMTVweCAhaW1wb3J0YW50O1wiPlxuPC9uZ3gtZHJvcHpvbmUtcmVtb3ZlLWJhZGdlPiJdfQ==
@@ -1,66 +0,0 @@
1
- import { Component, EventEmitter, HostListener, Input, Output, ViewChild } from '@angular/core';
2
- import { EloverdeDocViewerComponent } from 'eloverde-doc-viewer';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../../../services/http/ngt-translate.service";
5
- import * as i2 from "@angular/common";
6
- import * as i3 from "eloverde-doc-viewer";
7
- export class NgtDropzoneFileViewerComponent {
8
- constructor(ngtTranslateService) {
9
- this.ngtTranslateService = ngtTranslateService;
10
- this.disableContent = 'none';
11
- this.canDownloadFile = true;
12
- this.onClose = new EventEmitter();
13
- this.maxFileSize = 30000000; /** 30 MB */
14
- }
15
- keyEvent(event) {
16
- if (event.code == 'Escape') {
17
- this.canShowViewer = false;
18
- setTimeout(() => this.onClose.emit(), 500);
19
- }
20
- }
21
- init() {
22
- if (this.fileSize < this.maxFileSize) {
23
- this.loading = true;
24
- this.canShowViewer = true;
25
- }
26
- }
27
- close() {
28
- this.canShowViewer = false;
29
- this.onClose.emit();
30
- }
31
- handleClose() {
32
- this.onClose.emit();
33
- }
34
- downloadFile() {
35
- let file = document.createElement("a");
36
- file.target = '_blank';
37
- file.href = this.url;
38
- file.setAttribute("download", this.fileName);
39
- file.click();
40
- }
41
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgtDropzoneFileViewerComponent, deps: [{ token: i1.NgtTranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
42
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: NgtDropzoneFileViewerComponent, selector: "ngt-dropzone-file-viewer", inputs: { url: "url", fileName: "fileName", fileSize: "fileSize", disableContent: "disableContent", canDownloadFile: "canDownloadFile" }, outputs: { onClose: "onClose" }, host: { listeners: { "window:keydown": "keyEvent($event)" } }, viewQueries: [{ propertyName: "eloverdeDocViewer", first: true, predicate: EloverdeDocViewerComponent, descendants: true }], ngImport: i0, template: "<div style=\"width:100%; height: 100%;\">\n <div style=\"width:100%; height: 100%;\">\n <div class=\"w-full py-5 pr-10\">\n <div class=\"w-full flex justify-end text-2xl\">\n <div *ngIf=\"canDownloadFile\" class=\"cursor-pointer\" (click)=\"downloadFile()\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\">\n <path fill=\"#fff\" d=\"M13 8V2H7v6H2l8 8 8-8h-5zM0 18h20v2H0v-2z\" />\n </svg>\n </div>\n\n &nbsp;&nbsp;&nbsp;\n\n <div class=\"cursor-pointer\" (click)=\"close()\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path fill=\"#fff\"\n d=\"M24 2.42l-2.42 -2.42 -9.58 9.58 -9.58 -9.58 -2.42 2.42 9.58 9.58 -9.58 9.58 2.42 2.42 9.58 -9.58 9.58 9.58 2.42 -2.42 -9.58 -9.58 9.58 -9.58z\" />\n </svg>\n </div>\n\n </div>\n\n <div class=\"w-full justify-center text-center text-2xl font-mono text-white\">\n {{ fileName }}\n </div>\n </div>\n\n <div *ngIf=\"fileSize > maxFileSize\" class=\"flex w-full h-full justify-center items-center\">\n <div class=\"flex flex-col w-auto bg-gray-700 rounded-lg p-6\" style=\"max-width: 80%;\">\n <p class=\"text-white font-medium text-center w-full\">\n {{\n canDownloadFile\n ? ngtTranslateService.ngtFileTooLargeForPreview\n : ngtTranslateService.ngtFileTooLargeForPreviewNoDownloadPermission\n }}\n </p>\n\n <div *ngIf=\"canDownloadFile\" class=\"cursor-pointer mt-5 text-2xl self-center border rounded p-2\"\n (click)=\"downloadFile()\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\">\n <path fill=\"#fff\" d=\"M13 8V2H7v6H2l8 8 8-8h-5zM0 18h20v2H0v-2z\" />\n </svg>\n </div>\n </div>\n </div>\n\n <div class=\"px-10\" style=\"width:100%; height: 83%;\" *ngIf=\"canShowViewer\">\n <eloverde-doc-viewer class=\"h-full w-full flex justify-center\" [url]=\"url\" [disableContent]=\"disableContent\"\n (loaded)=\"loading = false\" (onClose)=\"handleClose()\">\n </eloverde-doc-viewer>\n </div>\n </div>\n</div>\n\n<div *ngIf=\"loading\" class=\"flex fixed inset-0 justify-center items-center w-full h-full cursor-wait z-50\">\n <div class=\"div-loader\"></div>\n</div>", styles: [":host{background:#00000080;color:#fff;position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:10000000}.div-loader{width:5rem;height:5rem;border:5px solid #89C43F38;border-top-color:#89c43f;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.EloverdeDocViewerComponent, selector: "eloverde-doc-viewer", inputs: ["url", "queryParams", "viewerUrl", "googleCheckInterval", "googleMaxChecks", "disableContent", "googleCheckContentLoaded", "viewer", "overrideLocalhost"], outputs: ["loaded", "onClose"] }] }); }
43
- }
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgtDropzoneFileViewerComponent, decorators: [{
45
- type: Component,
46
- args: [{ selector: 'ngt-dropzone-file-viewer', template: "<div style=\"width:100%; height: 100%;\">\n <div style=\"width:100%; height: 100%;\">\n <div class=\"w-full py-5 pr-10\">\n <div class=\"w-full flex justify-end text-2xl\">\n <div *ngIf=\"canDownloadFile\" class=\"cursor-pointer\" (click)=\"downloadFile()\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\">\n <path fill=\"#fff\" d=\"M13 8V2H7v6H2l8 8 8-8h-5zM0 18h20v2H0v-2z\" />\n </svg>\n </div>\n\n &nbsp;&nbsp;&nbsp;\n\n <div class=\"cursor-pointer\" (click)=\"close()\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path fill=\"#fff\"\n d=\"M24 2.42l-2.42 -2.42 -9.58 9.58 -9.58 -9.58 -2.42 2.42 9.58 9.58 -9.58 9.58 2.42 2.42 9.58 -9.58 9.58 9.58 2.42 -2.42 -9.58 -9.58 9.58 -9.58z\" />\n </svg>\n </div>\n\n </div>\n\n <div class=\"w-full justify-center text-center text-2xl font-mono text-white\">\n {{ fileName }}\n </div>\n </div>\n\n <div *ngIf=\"fileSize > maxFileSize\" class=\"flex w-full h-full justify-center items-center\">\n <div class=\"flex flex-col w-auto bg-gray-700 rounded-lg p-6\" style=\"max-width: 80%;\">\n <p class=\"text-white font-medium text-center w-full\">\n {{\n canDownloadFile\n ? ngtTranslateService.ngtFileTooLargeForPreview\n : ngtTranslateService.ngtFileTooLargeForPreviewNoDownloadPermission\n }}\n </p>\n\n <div *ngIf=\"canDownloadFile\" class=\"cursor-pointer mt-5 text-2xl self-center border rounded p-2\"\n (click)=\"downloadFile()\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\">\n <path fill=\"#fff\" d=\"M13 8V2H7v6H2l8 8 8-8h-5zM0 18h20v2H0v-2z\" />\n </svg>\n </div>\n </div>\n </div>\n\n <div class=\"px-10\" style=\"width:100%; height: 83%;\" *ngIf=\"canShowViewer\">\n <eloverde-doc-viewer class=\"h-full w-full flex justify-center\" [url]=\"url\" [disableContent]=\"disableContent\"\n (loaded)=\"loading = false\" (onClose)=\"handleClose()\">\n </eloverde-doc-viewer>\n </div>\n </div>\n</div>\n\n<div *ngIf=\"loading\" class=\"flex fixed inset-0 justify-center items-center w-full h-full cursor-wait z-50\">\n <div class=\"div-loader\"></div>\n</div>", styles: [":host{background:#00000080;color:#fff;position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:10000000}.div-loader{width:5rem;height:5rem;border:5px solid #89C43F38;border-top-color:#89c43f;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}\n"] }]
47
- }], ctorParameters: () => [{ type: i1.NgtTranslateService }], propDecorators: { eloverdeDocViewer: [{
48
- type: ViewChild,
49
- args: [EloverdeDocViewerComponent]
50
- }], url: [{
51
- type: Input
52
- }], fileName: [{
53
- type: Input
54
- }], fileSize: [{
55
- type: Input
56
- }], disableContent: [{
57
- type: Input
58
- }], canDownloadFile: [{
59
- type: Input
60
- }], onClose: [{
61
- type: Output
62
- }], keyEvent: [{
63
- type: HostListener,
64
- args: ['window:keydown', ['$event']]
65
- }] } });
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LWRyb3B6b25lLWZpbGUtdmlld2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXRhaWx3aW5kL3NyYy9jb21wb25lbnRzL25ndC1kcm9wem9uZS9uZ3QtZHJvcHpvbmUtZmlsZS12aWV3ZXIvbmd0LWRyb3B6b25lLWZpbGUtdmlld2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXRhaWx3aW5kL3NyYy9jb21wb25lbnRzL25ndC1kcm9wem9uZS9uZ3QtZHJvcHpvbmUtZmlsZS12aWV3ZXIvbmd0LWRyb3B6b25lLWZpbGUtdmlld2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7QUFTakUsTUFBTSxPQUFPLDhCQUE4QjtJQWV2QyxZQUNXLG1CQUF3QztRQUF4Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBVm5DLG1CQUFjLEdBQVcsTUFBTSxDQUFDO1FBQ2hDLG9CQUFlLEdBQVksSUFBSSxDQUFDO1FBRS9CLFlBQU8sR0FBdUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUkzRCxnQkFBVyxHQUFXLFFBQVEsQ0FBQyxDQUFDLFlBQVk7SUFJL0MsQ0FBQztJQUdFLFFBQVEsQ0FBQyxLQUFvQjtRQUNoQyxJQUFJLEtBQUssQ0FBQyxJQUFJLElBQUksUUFBUSxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7WUFFM0IsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDL0MsQ0FBQztJQUNMLENBQUM7SUFFTSxJQUFJO1FBQ1AsSUFBSSxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUNwQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztRQUM5QixDQUFDO0lBQ0wsQ0FBQztJQUVNLEtBQUs7UUFDUixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUMzQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFTSxXQUFXO1FBQ2QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRU0sWUFBWTtRQUNmLElBQUksSUFBSSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFdkMsSUFBSSxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUM7UUFDdkIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDakIsQ0FBQzsrR0FuRFEsOEJBQThCO21HQUE5Qiw4QkFBOEIsNlZBQzVCLDBCQUEwQixnRENYekMsNm9GQXVETTs7NEZEN0NPLDhCQUE4QjtrQkFMMUMsU0FBUzsrQkFDSSwwQkFBMEI7d0ZBS1UsaUJBQWlCO3NCQUE5RCxTQUFTO3VCQUFDLDBCQUEwQjtnQkFFckIsR0FBRztzQkFBbEIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsY0FBYztzQkFBN0IsS0FBSztnQkFDVSxlQUFlO3NCQUE5QixLQUFLO2dCQUVXLE9BQU87c0JBQXZCLE1BQU07Z0JBV0EsUUFBUTtzQkFEZCxZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFbG92ZXJkZURvY1ZpZXdlckNvbXBvbmVudCB9IGZyb20gJ2Vsb3ZlcmRlLWRvYy12aWV3ZXInO1xuXG5pbXBvcnQgeyBOZ3RUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaHR0cC9uZ3QtdHJhbnNsYXRlLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25ndC1kcm9wem9uZS1maWxlLXZpZXdlcicsXG4gICAgc3R5bGVVcmxzOiBbJy4vbmd0LWRyb3B6b25lLWZpbGUtdmlld2VyLmNvbXBvbmVudC5jc3MnXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbmd0LWRyb3B6b25lLWZpbGUtdmlld2VyLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBOZ3REcm9wem9uZUZpbGVWaWV3ZXJDb21wb25lbnQge1xuICAgIEBWaWV3Q2hpbGQoRWxvdmVyZGVEb2NWaWV3ZXJDb21wb25lbnQpIHB1YmxpYyBlbG92ZXJkZURvY1ZpZXdlcjogRWxvdmVyZGVEb2NWaWV3ZXJDb21wb25lbnQ7XG5cbiAgICBASW5wdXQoKSBwdWJsaWMgdXJsOiBzdHJpbmc7XG4gICAgQElucHV0KCkgcHVibGljIGZpbGVOYW1lOiBzdHJpbmc7XG4gICAgQElucHV0KCkgcHVibGljIGZpbGVTaXplOiBudW1iZXI7XG4gICAgQElucHV0KCkgcHVibGljIGRpc2FibGVDb250ZW50OiBzdHJpbmcgPSAnbm9uZSc7XG4gICAgQElucHV0KCkgcHVibGljIGNhbkRvd25sb2FkRmlsZTogYm9vbGVhbiA9IHRydWU7XG5cbiAgICBAT3V0cHV0KCkgcHVibGljIG9uQ2xvc2U6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIHB1YmxpYyBjYW5TaG93Vmlld2VyOiBib29sZWFuO1xuICAgIHB1YmxpYyBsb2FkaW5nOiBib29sZWFuO1xuICAgIHB1YmxpYyBtYXhGaWxlU2l6ZTogbnVtYmVyID0gMzAwMDAwMDA7IC8qKiAzMCBNQiAqL1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgbmd0VHJhbnNsYXRlU2VydmljZTogTmd0VHJhbnNsYXRlU2VydmljZVxuICAgICkgeyB9XG5cbiAgICBASG9zdExpc3RlbmVyKCd3aW5kb3c6a2V5ZG93bicsIFsnJGV2ZW50J10pXG4gICAgcHVibGljIGtleUV2ZW50KGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGlmIChldmVudC5jb2RlID09ICdFc2NhcGUnKSB7XG4gICAgICAgICAgICB0aGlzLmNhblNob3dWaWV3ZXIgPSBmYWxzZTtcblxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLm9uQ2xvc2UuZW1pdCgpLCA1MDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGluaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmZpbGVTaXplIDwgdGhpcy5tYXhGaWxlU2l6ZSkge1xuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuY2FuU2hvd1ZpZXdlciA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2FuU2hvd1ZpZXdlciA9IGZhbHNlO1xuICAgICAgICB0aGlzLm9uQ2xvc2UuZW1pdCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBoYW5kbGVDbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNsb3NlLmVtaXQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZG93bmxvYWRGaWxlKCk6IHZvaWQge1xuICAgICAgICBsZXQgZmlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJhXCIpO1xuXG4gICAgICAgIGZpbGUudGFyZ2V0ID0gJ19ibGFuayc7XG4gICAgICAgIGZpbGUuaHJlZiA9IHRoaXMudXJsO1xuICAgICAgICBmaWxlLnNldEF0dHJpYnV0ZShcImRvd25sb2FkXCIsIHRoaXMuZmlsZU5hbWUpO1xuICAgICAgICBmaWxlLmNsaWNrKCk7XG4gICAgfVxufVxuIiwiPGRpdiBzdHlsZT1cIndpZHRoOjEwMCU7IGhlaWdodDogMTAwJTtcIj5cbiAgICA8ZGl2IHN0eWxlPVwid2lkdGg6MTAwJTsgaGVpZ2h0OiAxMDAlO1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidy1mdWxsIHB5LTUgcHItMTBcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LWZ1bGwgZmxleCBqdXN0aWZ5LWVuZCB0ZXh0LTJ4bFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJjYW5Eb3dubG9hZEZpbGVcIiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cImRvd25sb2FkRmlsZSgpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGw9XCIjZmZmXCIgZD1cIk0xMyA4VjJIN3Y2SDJsOCA4IDgtOGgtNXpNMCAxOGgyMHYySDB2LTJ6XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAmbmJzcDsmbmJzcDsmbmJzcDtcblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJjbG9zZSgpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGw9XCIjZmZmXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTI0IDIuNDJsLTIuNDIgLTIuNDIgLTkuNTggOS41OCAtOS41OCAtOS41OCAtMi40MiAyLjQyIDkuNTggOS41OCAtOS41OCA5LjU4IDIuNDIgMi40MiA5LjU4IC05LjU4IDkuNTggOS41OCAyLjQyIC0yLjQyIC05LjU4IC05LjU4IDkuNTggLTkuNTh6XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy1mdWxsIGp1c3RpZnktY2VudGVyIHRleHQtY2VudGVyIHRleHQtMnhsIGZvbnQtbW9ubyB0ZXh0LXdoaXRlXCI+XG4gICAgICAgICAgICAgICAge3sgZmlsZU5hbWUgfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2ICpuZ0lmPVwiZmlsZVNpemUgPiBtYXhGaWxlU2l6ZVwiIGNsYXNzPVwiZmxleCB3LWZ1bGwgaC1mdWxsIGp1c3RpZnktY2VudGVyIGl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgdy1hdXRvIGJnLWdyYXktNzAwIHJvdW5kZWQtbGcgcC02XCIgc3R5bGU9XCJtYXgtd2lkdGg6IDgwJTtcIj5cbiAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInRleHQtd2hpdGUgZm9udC1tZWRpdW0gdGV4dC1jZW50ZXIgdy1mdWxsXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgIGNhbkRvd25sb2FkRmlsZVxuICAgICAgICAgICAgICAgICAgICA/IG5ndFRyYW5zbGF0ZVNlcnZpY2Uubmd0RmlsZVRvb0xhcmdlRm9yUHJldmlld1xuICAgICAgICAgICAgICAgICAgICA6IG5ndFRyYW5zbGF0ZVNlcnZpY2Uubmd0RmlsZVRvb0xhcmdlRm9yUHJldmlld05vRG93bmxvYWRQZXJtaXNzaW9uXG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgPC9wPlxuXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImNhbkRvd25sb2FkRmlsZVwiIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXIgbXQtNSB0ZXh0LTJ4bCBzZWxmLWNlbnRlciBib3JkZXIgcm91bmRlZCBwLTJcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZG93bmxvYWRGaWxlKClcIj5cbiAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbD1cIiNmZmZcIiBkPVwiTTEzIDhWMkg3djZIMmw4IDggOC04aC01ek0wIDE4aDIwdjJIMHYtMnpcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwicHgtMTBcIiBzdHlsZT1cIndpZHRoOjEwMCU7IGhlaWdodDogODMlO1wiICpuZ0lmPVwiY2FuU2hvd1ZpZXdlclwiPlxuICAgICAgICAgICAgPGVsb3ZlcmRlLWRvYy12aWV3ZXIgY2xhc3M9XCJoLWZ1bGwgdy1mdWxsIGZsZXgganVzdGlmeS1jZW50ZXJcIiBbdXJsXT1cInVybFwiIFtkaXNhYmxlQ29udGVudF09XCJkaXNhYmxlQ29udGVudFwiXG4gICAgICAgICAgICAgICAgKGxvYWRlZCk9XCJsb2FkaW5nID0gZmFsc2VcIiAob25DbG9zZSk9XCJoYW5kbGVDbG9zZSgpXCI+XG4gICAgICAgICAgICA8L2Vsb3ZlcmRlLWRvYy12aWV3ZXI+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG5cbjxkaXYgKm5nSWY9XCJsb2FkaW5nXCIgY2xhc3M9XCJmbGV4IGZpeGVkIGluc2V0LTAganVzdGlmeS1jZW50ZXIgaXRlbXMtY2VudGVyIHctZnVsbCBoLWZ1bGwgY3Vyc29yLXdhaXQgei01MFwiPlxuICAgIDxkaXYgY2xhc3M9XCJkaXYtbG9hZGVyXCI+PC9kaXY+XG48L2Rpdj4iXX0=