ng-tailwind 6.3.0 → 6.4.0

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 (106) hide show
  1. package/fesm2022/ng-tailwind.mjs +356 -344
  2. package/fesm2022/ng-tailwind.mjs.map +1 -1
  3. package/package.json +1 -3
  4. package/esm2022/animations/ngt-angular-animations.mjs +0 -34
  5. package/esm2022/base/ngt-base-ng-model.mjs +0 -90
  6. package/esm2022/components/ngt-action/ngt-action.component.mjs +0 -96
  7. package/esm2022/components/ngt-action/ngt-action.module.mjs +0 -28
  8. package/esm2022/components/ngt-button/ngt-button.component.mjs +0 -142
  9. package/esm2022/components/ngt-button/ngt-button.module.mjs +0 -28
  10. package/esm2022/components/ngt-checkbox/ngt-checkbox.component.mjs +0 -192
  11. package/esm2022/components/ngt-checkbox/ngt-checkbox.module.mjs +0 -28
  12. package/esm2022/components/ngt-content/ngt-content.component.mjs +0 -32
  13. package/esm2022/components/ngt-content/ngt-content.module.mjs +0 -20
  14. package/esm2022/components/ngt-context-menu/ngt-context-menu.component.mjs +0 -25
  15. package/esm2022/components/ngt-context-menu/ngt-context-menu.directive.mjs +0 -89
  16. package/esm2022/components/ngt-context-menu/ngt-context-menu.module.mjs +0 -33
  17. package/esm2022/components/ngt-datatable/ngt-datatable.component.mjs +0 -472
  18. package/esm2022/components/ngt-datatable/ngt-datatable.module.mjs +0 -99
  19. package/esm2022/components/ngt-datatable/ngt-tbody/ngt-tbody.component.mjs +0 -57
  20. package/esm2022/components/ngt-datatable/ngt-td/ngt-td.component.mjs +0 -62
  21. package/esm2022/components/ngt-datatable/ngt-td-check/ngt-td-check.component.mjs +0 -113
  22. package/esm2022/components/ngt-datatable/ngt-th/ngt-th.component.mjs +0 -228
  23. package/esm2022/components/ngt-datatable/ngt-th-check/ngt-th-check.component.mjs +0 -127
  24. package/esm2022/components/ngt-datatable/ngt-thead/ngt-thead.component.mjs +0 -55
  25. package/esm2022/components/ngt-datatable/ngt-tr/ngt-tr.component.mjs +0 -86
  26. package/esm2022/components/ngt-date/ngt-date.component.mjs +0 -435
  27. package/esm2022/components/ngt-date/ngt-date.module.mjs +0 -40
  28. package/esm2022/components/ngt-dropdown/ngt-dropdown-container/ngt-dropdown-container.component.mjs +0 -19
  29. package/esm2022/components/ngt-dropdown/ngt-dropdown.component.mjs +0 -205
  30. package/esm2022/components/ngt-dropdown/ngt-dropdown.module.mjs +0 -21
  31. package/esm2022/components/ngt-dropzone/custom-dropzone-preview/custom-dropzone-preview.component.mjs +0 -54
  32. package/esm2022/components/ngt-dropzone/ngt-dropzone-file-viewer/ngt-dropzone-file-viewer.component.mjs +0 -66
  33. package/esm2022/components/ngt-dropzone/ngt-dropzone-view/ngt-dropzone-view.component.mjs +0 -94
  34. package/esm2022/components/ngt-dropzone/ngt-dropzone.component.mjs +0 -496
  35. package/esm2022/components/ngt-dropzone/ngt-dropzone.meta.mjs +0 -24
  36. package/esm2022/components/ngt-dropzone/ngt-dropzone.module.mjs +0 -55
  37. package/esm2022/components/ngt-floating-button/ngt-floating-button.component.mjs +0 -119
  38. package/esm2022/components/ngt-floating-button/ngt-floating-button.module.mjs +0 -28
  39. package/esm2022/components/ngt-form/ngt-form-validation-message/ngt-form-validation-message.component.mjs +0 -22
  40. package/esm2022/components/ngt-form/ngt-form.component.mjs +0 -207
  41. package/esm2022/components/ngt-form/ngt-form.module.mjs +0 -29
  42. package/esm2022/components/ngt-header-nav/ngt-header-nav.component.mjs +0 -39
  43. package/esm2022/components/ngt-header-nav/ngt-header-nav.module.mjs +0 -20
  44. package/esm2022/components/ngt-helper/ngt-helper.component.mjs +0 -69
  45. package/esm2022/components/ngt-helper/ngt-helper.module.mjs +0 -28
  46. package/esm2022/components/ngt-input/ngt-input.component.mjs +0 -844
  47. package/esm2022/components/ngt-input/ngt-input.module.mjs +0 -47
  48. package/esm2022/components/ngt-modal/ngt-modal-body/ngt-modal-body.component.mjs +0 -46
  49. package/esm2022/components/ngt-modal/ngt-modal-footer/ngt-modal-footer.component.mjs +0 -33
  50. package/esm2022/components/ngt-modal/ngt-modal-header/ngt-modal-header.component.mjs +0 -40
  51. package/esm2022/components/ngt-modal/ngt-modal.component.mjs +0 -122
  52. package/esm2022/components/ngt-modal/ngt-modal.module.mjs +0 -39
  53. package/esm2022/components/ngt-multi-select/ngt-multi-select.component.mjs +0 -503
  54. package/esm2022/components/ngt-multi-select/ngt-multi-select.module.mjs +0 -52
  55. package/esm2022/components/ngt-pagination/ngt-pagination.component.mjs +0 -162
  56. package/esm2022/components/ngt-pagination/ngt-pagination.module.mjs +0 -36
  57. package/esm2022/components/ngt-popover/ngt-popover-tooltip/ngt-popover-tooltip.component.mjs +0 -59
  58. package/esm2022/components/ngt-popover/ngt-popover.component.mjs +0 -85
  59. package/esm2022/components/ngt-popover/ngt-popover.directive.mjs +0 -130
  60. package/esm2022/components/ngt-popover/ngt-popover.module.mjs +0 -36
  61. package/esm2022/components/ngt-portlet/ngt-portlet-body/ngt-portlet-body.component.mjs +0 -34
  62. package/esm2022/components/ngt-portlet/ngt-portlet-footer/ngt-portlet-footer.component.mjs +0 -35
  63. package/esm2022/components/ngt-portlet/ngt-portlet-header/ngt-portlet-header.component.mjs +0 -57
  64. package/esm2022/components/ngt-portlet/ngt-portlet.component.mjs +0 -74
  65. package/esm2022/components/ngt-portlet/ngt-portlet.module.mjs +0 -47
  66. package/esm2022/components/ngt-radio-button/ngt-radio-button-container/ngt-radio-button-container.component.mjs +0 -19
  67. package/esm2022/components/ngt-radio-button/ngt-radio-button.component.mjs +0 -153
  68. package/esm2022/components/ngt-radio-button/ngt-radio-button.module.mjs +0 -29
  69. package/esm2022/components/ngt-section/ngt-section.component.mjs +0 -151
  70. package/esm2022/components/ngt-section/ngt-section.module.mjs +0 -32
  71. package/esm2022/components/ngt-select/ngt-select.component.mjs +0 -670
  72. package/esm2022/components/ngt-select/ngt-select.directive.mjs +0 -36
  73. package/esm2022/components/ngt-select/ngt-select.module.mjs +0 -65
  74. package/esm2022/components/ngt-shining/ngt-shining.component.mjs +0 -40
  75. package/esm2022/components/ngt-shining/ngt-shining.module.mjs +0 -20
  76. package/esm2022/components/ngt-sidenav/ngt-sidenav.component.mjs +0 -132
  77. package/esm2022/components/ngt-sidenav/ngt-sidenav.module.mjs +0 -20
  78. package/esm2022/components/ngt-slider/ngt-slider.component.mjs +0 -100
  79. package/esm2022/components/ngt-slider/ngt-slider.module.mjs +0 -24
  80. package/esm2022/components/ngt-svg/ngt-svg.component.mjs +0 -53
  81. package/esm2022/components/ngt-svg/ngt-svg.module.mjs +0 -24
  82. package/esm2022/components/ngt-tag/ngt-tag.component.mjs +0 -37
  83. package/esm2022/components/ngt-tag/ngt-tag.module.mjs +0 -24
  84. package/esm2022/components/ngt-textarea/ngt-textarea.component.mjs +0 -238
  85. package/esm2022/components/ngt-textarea/ngt-textarea.module.mjs +0 -43
  86. package/esm2022/components/ngt-validation/ngt-validation.component.mjs +0 -26
  87. package/esm2022/components/ngt-validation/ngt-validation.module.mjs +0 -20
  88. package/esm2022/directives/ngt-stylizable/ngt-stylizable.directive.mjs +0 -299
  89. package/esm2022/directives/ngt-stylizable/ngt-stylizable.module.mjs +0 -20
  90. package/esm2022/enums/size.enum.mjs +0 -11
  91. package/esm2022/helpers/enum/enum.mjs +0 -7
  92. package/esm2022/helpers/form/form.mjs +0 -14
  93. package/esm2022/helpers/input-mask/input-mask.helper.mjs +0 -26
  94. package/esm2022/helpers/promise/promise-helper.mjs +0 -4
  95. package/esm2022/helpers/routing/route.mjs +0 -11
  96. package/esm2022/helpers/uuid.mjs +0 -10
  97. package/esm2022/ng-tailwind.mjs +0 -5
  98. package/esm2022/public-api.mjs +0 -127
  99. package/esm2022/services/http/ngt-attachment-http.service.mjs +0 -3
  100. package/esm2022/services/http/ngt-http-form.service.mjs +0 -3
  101. package/esm2022/services/http/ngt-http-resource.service.mjs +0 -3
  102. package/esm2022/services/http/ngt-http-validation.service.mjs +0 -3
  103. package/esm2022/services/http/ngt-http.service.mjs +0 -3
  104. package/esm2022/services/http/ngt-translate.service.mjs +0 -3
  105. package/esm2022/services/ngt-stylizable/ngt-stylizable.service.mjs +0 -279
  106. package/esm2022/services/validation/ngt-ability-validation.service.mjs +0 -3
@@ -1,24 +0,0 @@
1
- ;
2
- export var NgtDropzoneFileTypeEnum;
3
- (function (NgtDropzoneFileTypeEnum) {
4
- NgtDropzoneFileTypeEnum["DOC"] = "DOC";
5
- NgtDropzoneFileTypeEnum["PDF"] = "PDF";
6
- NgtDropzoneFileTypeEnum["XLS"] = "XLS";
7
- NgtDropzoneFileTypeEnum["DWG"] = "DWG";
8
- NgtDropzoneFileTypeEnum["OTHER"] = "OTHER";
9
- })(NgtDropzoneFileTypeEnum || (NgtDropzoneFileTypeEnum = {}));
10
- export var NgtDropzonePreviewType;
11
- (function (NgtDropzonePreviewType) {
12
- NgtDropzonePreviewType["DEFAULT"] = "DEFAULT";
13
- NgtDropzonePreviewType["IMAGE"] = "IMAGE";
14
- NgtDropzonePreviewType["VIDEO"] = "VIDEO";
15
- })(NgtDropzonePreviewType || (NgtDropzonePreviewType = {}));
16
- export var NgtDropzoneErrorType;
17
- (function (NgtDropzoneErrorType) {
18
- NgtDropzoneErrorType["DEFAULT"] = "DEFAULT";
19
- NgtDropzoneErrorType["SIZE"] = "SIZE";
20
- NgtDropzoneErrorType["NO_MULTIPLE"] = "NO_MULTIPLE";
21
- NgtDropzoneErrorType["ITEMS_LIMIT"] = "ITEMS_LIMIT";
22
- NgtDropzoneErrorType["TYPE"] = "TYPE";
23
- })(NgtDropzoneErrorType || (NgtDropzoneErrorType = {}));
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LWRyb3B6b25lLm1ldGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy10YWlsd2luZC9zcmMvY29tcG9uZW50cy9uZ3QtZHJvcHpvbmUvbmd0LWRyb3B6b25lLm1ldGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0MsQ0FBQztBQUVGLE1BQU0sQ0FBTixJQUFZLHVCQU1YO0FBTkQsV0FBWSx1QkFBdUI7SUFDL0Isc0NBQVcsQ0FBQTtJQUNYLHNDQUFXLENBQUE7SUFDWCxzQ0FBVyxDQUFBO0lBQ1gsc0NBQVcsQ0FBQTtJQUNYLDBDQUFlLENBQUE7QUFDbkIsQ0FBQyxFQU5XLHVCQUF1QixLQUF2Qix1QkFBdUIsUUFNbEM7QUFFRCxNQUFNLENBQU4sSUFBWSxzQkFJWDtBQUpELFdBQVksc0JBQXNCO0lBQzlCLDZDQUFtQixDQUFBO0lBQ25CLHlDQUFlLENBQUE7SUFDZix5Q0FBZSxDQUFBO0FBQ25CLENBQUMsRUFKVyxzQkFBc0IsS0FBdEIsc0JBQXNCLFFBSWpDO0FBRUQsTUFBTSxDQUFOLElBQVksb0JBTVg7QUFORCxXQUFZLG9CQUFvQjtJQUM1QiwyQ0FBbUIsQ0FBQTtJQUNuQixxQ0FBYSxDQUFBO0lBQ2IsbURBQTJCLENBQUE7SUFDM0IsbURBQTJCLENBQUE7SUFDM0IscUNBQWEsQ0FBQTtBQUNqQixDQUFDLEVBTlcsb0JBQW9CLEtBQXBCLG9CQUFvQixRQU0vQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgTmd0RHJvcHpvbmVGaWxlIHtcbiAgICBkb3dubG9hZFVybDogc3RyaW5nO1xuICAgIHByZXZpZXdVcmw6IHN0cmluZztcbiAgICB0aHVtYm5haWxVcmw6IHN0cmluZztcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgbWltZVR5cGU6IHN0cmluZztcbiAgICBmaWxlU2l6ZTogYW55O1xufTtcblxuZXhwb3J0IGVudW0gTmd0RHJvcHpvbmVGaWxlVHlwZUVudW0ge1xuICAgIERPQyA9ICdET0MnLFxuICAgIFBERiA9ICdQREYnLFxuICAgIFhMUyA9ICdYTFMnLFxuICAgIERXRyA9ICdEV0cnLFxuICAgIE9USEVSID0gJ09USEVSJ1xufVxuXG5leHBvcnQgZW51bSBOZ3REcm9wem9uZVByZXZpZXdUeXBlIHtcbiAgICBERUZBVUxUID0gJ0RFRkFVTFQnLFxuICAgIElNQUdFID0gJ0lNQUdFJyxcbiAgICBWSURFTyA9ICdWSURFTydcbn1cblxuZXhwb3J0IGVudW0gTmd0RHJvcHpvbmVFcnJvclR5cGUge1xuICAgIERFRkFVTFQgPSAnREVGQVVMVCcsXG4gICAgU0laRSA9ICdTSVpFJyxcbiAgICBOT19NVUxUSVBMRSA9ICdOT19NVUxUSVBMRScsXG4gICAgSVRFTVNfTElNSVQgPSAnSVRFTVNfTElNSVQnLFxuICAgIFRZUEUgPSAnVFlQRSdcbn1cbiJdfQ==
@@ -1,55 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { NgModule } from '@angular/core';
3
- import { FormsModule } from '@angular/forms';
4
- import { EloverdeDocViewerModule } from 'eloverde-doc-viewer';
5
- import { NgxDropzoneModule } from 'ngx-dropzone';
6
- import { NgtHelperModule } from '../ngt-helper/ngt-helper.module';
7
- import { NgtSvgModule } from '../ngt-svg/ngt-svg.module';
8
- import { NgtValidationModule } from '../ngt-validation/ngt-validation.module';
9
- import { CustomDropzonePreviewComponent } from './custom-dropzone-preview/custom-dropzone-preview.component';
10
- import { NgtDropzoneFileViewerComponent } from './ngt-dropzone-file-viewer/ngt-dropzone-file-viewer.component';
11
- import { NgtDropzoneViewComponent } from './ngt-dropzone-view/ngt-dropzone-view.component';
12
- import { NgtDropzoneComponent } from './ngt-dropzone.component';
13
- import * as i0 from "@angular/core";
14
- export class NgtDropzoneModule {
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgtDropzoneModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
16
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: NgtDropzoneModule, declarations: [NgtDropzoneComponent,
17
- NgtDropzoneFileViewerComponent,
18
- NgtDropzoneViewComponent,
19
- CustomDropzonePreviewComponent], imports: [CommonModule,
20
- FormsModule,
21
- NgtValidationModule,
22
- NgxDropzoneModule,
23
- NgtSvgModule,
24
- EloverdeDocViewerModule,
25
- NgtHelperModule], exports: [NgtDropzoneComponent] }); }
26
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgtDropzoneModule, imports: [CommonModule,
27
- FormsModule,
28
- NgtValidationModule,
29
- NgxDropzoneModule,
30
- NgtSvgModule,
31
- EloverdeDocViewerModule,
32
- NgtHelperModule] }); }
33
- }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgtDropzoneModule, decorators: [{
35
- type: NgModule,
36
- args: [{
37
- exports: [NgtDropzoneComponent],
38
- declarations: [
39
- NgtDropzoneComponent,
40
- NgtDropzoneFileViewerComponent,
41
- NgtDropzoneViewComponent,
42
- CustomDropzonePreviewComponent,
43
- ],
44
- imports: [
45
- CommonModule,
46
- FormsModule,
47
- NgtValidationModule,
48
- NgxDropzoneModule,
49
- NgtSvgModule,
50
- EloverdeDocViewerModule,
51
- NgtHelperModule
52
- ]
53
- }]
54
- }] });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LWRyb3B6b25lLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXRhaWx3aW5kL3NyYy9jb21wb25lbnRzL25ndC1kcm9wem9uZS9uZ3QtZHJvcHpvbmUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUM3RyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUMvRyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUMzRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFvQmhFLE1BQU0sT0FBTyxpQkFBaUI7K0dBQWpCLGlCQUFpQjtnSEFBakIsaUJBQWlCLGlCQWZ0QixvQkFBb0I7WUFDcEIsOEJBQThCO1lBQzlCLHdCQUF3QjtZQUN4Qiw4QkFBOEIsYUFHOUIsWUFBWTtZQUNaLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsaUJBQWlCO1lBQ2pCLFlBQVk7WUFDWix1QkFBdUI7WUFDdkIsZUFBZSxhQWRULG9CQUFvQjtnSEFpQnJCLGlCQUFpQixZQVR0QixZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixpQkFBaUI7WUFDakIsWUFBWTtZQUNaLHVCQUF1QjtZQUN2QixlQUFlOzs0RkFHVixpQkFBaUI7a0JBbEI3QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLG9CQUFvQixDQUFDO29CQUMvQixZQUFZLEVBQUU7d0JBQ1Ysb0JBQW9CO3dCQUNwQiw4QkFBOEI7d0JBQzlCLHdCQUF3Qjt3QkFDeEIsOEJBQThCO3FCQUNqQztvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsaUJBQWlCO3dCQUNqQixZQUFZO3dCQUNaLHVCQUF1Qjt3QkFDdkIsZUFBZTtxQkFDbEI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRWxvdmVyZGVEb2NWaWV3ZXJNb2R1bGUgfSBmcm9tICdlbG92ZXJkZS1kb2Mtdmlld2VyJztcbmltcG9ydCB7IE5neERyb3B6b25lTW9kdWxlIH0gZnJvbSAnbmd4LWRyb3B6b25lJztcblxuaW1wb3J0IHsgTmd0SGVscGVyTW9kdWxlIH0gZnJvbSAnLi4vbmd0LWhlbHBlci9uZ3QtaGVscGVyLm1vZHVsZSc7XG5pbXBvcnQgeyBOZ3RTdmdNb2R1bGUgfSBmcm9tICcuLi9uZ3Qtc3ZnL25ndC1zdmcubW9kdWxlJztcbmltcG9ydCB7IE5ndFZhbGlkYXRpb25Nb2R1bGUgfSBmcm9tICcuLi9uZ3QtdmFsaWRhdGlvbi9uZ3QtdmFsaWRhdGlvbi5tb2R1bGUnO1xuaW1wb3J0IHsgQ3VzdG9tRHJvcHpvbmVQcmV2aWV3Q29tcG9uZW50IH0gZnJvbSAnLi9jdXN0b20tZHJvcHpvbmUtcHJldmlldy9jdXN0b20tZHJvcHpvbmUtcHJldmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmd0RHJvcHpvbmVGaWxlVmlld2VyQ29tcG9uZW50IH0gZnJvbSAnLi9uZ3QtZHJvcHpvbmUtZmlsZS12aWV3ZXIvbmd0LWRyb3B6b25lLWZpbGUtdmlld2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOZ3REcm9wem9uZVZpZXdDb21wb25lbnQgfSBmcm9tICcuL25ndC1kcm9wem9uZS12aWV3L25ndC1kcm9wem9uZS12aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOZ3REcm9wem9uZUNvbXBvbmVudCB9IGZyb20gJy4vbmd0LWRyb3B6b25lLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgZXhwb3J0czogW05ndERyb3B6b25lQ29tcG9uZW50XSxcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgTmd0RHJvcHpvbmVDb21wb25lbnQsXG4gICAgICAgIE5ndERyb3B6b25lRmlsZVZpZXdlckNvbXBvbmVudCxcbiAgICAgICAgTmd0RHJvcHpvbmVWaWV3Q29tcG9uZW50LFxuICAgICAgICBDdXN0b21Ecm9wem9uZVByZXZpZXdDb21wb25lbnQsXG4gICAgXSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIE5ndFZhbGlkYXRpb25Nb2R1bGUsXG4gICAgICAgIE5neERyb3B6b25lTW9kdWxlLFxuICAgICAgICBOZ3RTdmdNb2R1bGUsXG4gICAgICAgIEVsb3ZlcmRlRG9jVmlld2VyTW9kdWxlLFxuICAgICAgICBOZ3RIZWxwZXJNb2R1bGVcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIE5ndERyb3B6b25lTW9kdWxlIHsgfVxuIl19
@@ -1,119 +0,0 @@
1
- import { animate, state, style, transition, trigger } from '@angular/animations';
2
- import { Component, Input, Optional, Self } from '@angular/core';
3
- import { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../../directives/ngt-stylizable/ngt-stylizable.directive";
6
- import * as i2 from "@angular/common";
7
- import * as i3 from "@angular/router";
8
- import * as i4 from "../ngt-svg/ngt-svg.component";
9
- export var NgtFloatingButtonType;
10
- (function (NgtFloatingButtonType) {
11
- NgtFloatingButtonType["NAVIGATION"] = "NAVIGATION";
12
- NgtFloatingButtonType["ACTION"] = "ACTION";
13
- })(NgtFloatingButtonType || (NgtFloatingButtonType = {}));
14
- export class NgtFloatingButtonComponent {
15
- constructor(injector, ngtStylizableDirective) {
16
- this.injector = injector;
17
- this.ngtStylizableDirective = ngtStylizableDirective;
18
- this.withAnimation = false;
19
- this.isOpen = false;
20
- if (this.ngtStylizableDirective) {
21
- this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();
22
- }
23
- else {
24
- this.ngtStyle = new NgtStylizableService();
25
- }
26
- this.ngtStyle.load(this.injector, 'NgtFloatingButton', {
27
- color: {
28
- bg: 'bg-blue-500',
29
- text: 'text-white',
30
- },
31
- px: 'px-4',
32
- py: 'py-4',
33
- h: 'h-12',
34
- w: 'w-12'
35
- });
36
- }
37
- toggleMenu() {
38
- this.isOpen = !(this.isOpen);
39
- }
40
- openExternalLink(url) {
41
- window.open(url, "_blank");
42
- this.toggleMenu();
43
- }
44
- onClick(event, menu) {
45
- event.stopPropagation();
46
- this.toggleMenu();
47
- if (typeof menu.action === 'function') {
48
- return menu.action();
49
- }
50
- throw new Error('Action must be a function!');
51
- }
52
- isTypeAction(menu) {
53
- return menu.type == NgtFloatingButtonType.ACTION;
54
- }
55
- isTypeNavigation(menu) {
56
- return menu.type == NgtFloatingButtonType.NAVIGATION;
57
- }
58
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgtFloatingButtonComponent, deps: [{ token: i0.Injector }, { token: i1.NgtStylizableDirective, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
59
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: NgtFloatingButtonComponent, selector: "ngt-floating-button", inputs: { menus: "menus", icon: "icon", label: "label", withAnimation: "withAnimation" }, ngImport: i0, template: "<button (click)=\"toggleMenu()\" *ngIf=\"isOpen\" tabindex=\"-1\"\n class=\"fixed z-10 inset-0 h-full w-full bg-black opacity-0 cursor-default\"></button>\n\n<div class=\"{{ ngtStyle.compile(['w']) }} rounded-full relative z-20\" *ngIf=\"isOpen\" @fadeY>\n <ng-container *ngFor=\"let menu of menus; let i = index\">\n <div class=\"my-2 rounded-full shadow-xl\">\n <a *ngIf=\"isTypeNavigation(menu)\" [routerLink]=\"menu.externalLink ? null : menu.url\"\n (click)='menu.externalLink ? openExternalLink(menu.url) : toggleMenu()' title=\"{{ menu.tooltip }}\"\n class=\"{{ ngtStyle.compile(['h', 'w', 'color.bg', 'color.text']) }} flex items-center justify-center rounded-full hover:opacity-75\">\n <span *ngIf=\"menu.name\"\n class=\"text-xs font-semibold {{ menu.icon ? 'pr-2' : '' }}\">{{ menu.name }}</span>\n <ngt-svg *ngIf=\"menu.icon\" [src]='menu.icon' class=\"fill-current\"></ngt-svg>\n </a>\n\n <div *ngIf=\"isTypeAction(menu)\" title=\"{{ menu.tooltip }}\" (click)='onClick($event, menu)'\n class=\"{{ ngtStyle.compile(['h', 'w', 'color.bg', 'color.text']) }} flex items-center justify-center rounded-full hover:opacity-75 cursor-pointer\">\n <span *ngIf=\"menu.name\"\n class=\"text-xs font-semibold {{ menu.icon ? 'pr-2' : '' }}\">{{ menu.name }}</span>\n <ngt-svg *ngIf=\"menu.icon\" [src]='menu.icon' class=\"fill-current\"></ngt-svg>\n </div>\n </div>\n </ng-container>\n</div>\n\n<!-- Abrir menu -->\n<div (click)=\"toggleMenu()\"\n class=\"flex z-20 justify-center {{ ngtStyle.compile(['h', 'w', 'color.bg', 'color.text', 'px', 'py']) }} focus:outline-none hover:opacity-75 cursor-pointer rounded-full outline-none\">\n <span *ngIf=\"label\"\n class=\"{{ icon ? 'pr-2' : '' }} self-center text-center text-xs font-semibold w-full\">{{ label }}</span>\n <ngt-svg *ngIf=\"icon\" [@openClose]=\"withAnimation ? isOpen ? 'open' : 'closed' : ''\" [src]='icon'\n class=\"fill-current\"></ngt-svg>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i4.NgtSvgComponent, selector: "ngt-svg", inputs: ["src", "class"] }], animations: [
60
- trigger('fadeY', [
61
- state('void', style({ opacity: 0, transform: 'translateY(10px)' })),
62
- transition(':enter, :leave', [
63
- animate(300)
64
- ])
65
- ]),
66
- trigger('openClose', [
67
- state('open', style({
68
- transform: 'rotate(180deg)'
69
- })),
70
- state('closed', style({
71
- transform: 'rotate(-180deg)'
72
- })),
73
- transition('open => closed', [
74
- animate('0.5s ease-in')
75
- ]),
76
- transition('closed => open', [
77
- animate('0.5s ease-in')
78
- ]),
79
- ]),
80
- ] }); }
81
- }
82
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgtFloatingButtonComponent, decorators: [{
83
- type: Component,
84
- args: [{ selector: 'ngt-floating-button', animations: [
85
- trigger('fadeY', [
86
- state('void', style({ opacity: 0, transform: 'translateY(10px)' })),
87
- transition(':enter, :leave', [
88
- animate(300)
89
- ])
90
- ]),
91
- trigger('openClose', [
92
- state('open', style({
93
- transform: 'rotate(180deg)'
94
- })),
95
- state('closed', style({
96
- transform: 'rotate(-180deg)'
97
- })),
98
- transition('open => closed', [
99
- animate('0.5s ease-in')
100
- ]),
101
- transition('closed => open', [
102
- animate('0.5s ease-in')
103
- ]),
104
- ]),
105
- ], template: "<button (click)=\"toggleMenu()\" *ngIf=\"isOpen\" tabindex=\"-1\"\n class=\"fixed z-10 inset-0 h-full w-full bg-black opacity-0 cursor-default\"></button>\n\n<div class=\"{{ ngtStyle.compile(['w']) }} rounded-full relative z-20\" *ngIf=\"isOpen\" @fadeY>\n <ng-container *ngFor=\"let menu of menus; let i = index\">\n <div class=\"my-2 rounded-full shadow-xl\">\n <a *ngIf=\"isTypeNavigation(menu)\" [routerLink]=\"menu.externalLink ? null : menu.url\"\n (click)='menu.externalLink ? openExternalLink(menu.url) : toggleMenu()' title=\"{{ menu.tooltip }}\"\n class=\"{{ ngtStyle.compile(['h', 'w', 'color.bg', 'color.text']) }} flex items-center justify-center rounded-full hover:opacity-75\">\n <span *ngIf=\"menu.name\"\n class=\"text-xs font-semibold {{ menu.icon ? 'pr-2' : '' }}\">{{ menu.name }}</span>\n <ngt-svg *ngIf=\"menu.icon\" [src]='menu.icon' class=\"fill-current\"></ngt-svg>\n </a>\n\n <div *ngIf=\"isTypeAction(menu)\" title=\"{{ menu.tooltip }}\" (click)='onClick($event, menu)'\n class=\"{{ ngtStyle.compile(['h', 'w', 'color.bg', 'color.text']) }} flex items-center justify-center rounded-full hover:opacity-75 cursor-pointer\">\n <span *ngIf=\"menu.name\"\n class=\"text-xs font-semibold {{ menu.icon ? 'pr-2' : '' }}\">{{ menu.name }}</span>\n <ngt-svg *ngIf=\"menu.icon\" [src]='menu.icon' class=\"fill-current\"></ngt-svg>\n </div>\n </div>\n </ng-container>\n</div>\n\n<!-- Abrir menu -->\n<div (click)=\"toggleMenu()\"\n class=\"flex z-20 justify-center {{ ngtStyle.compile(['h', 'w', 'color.bg', 'color.text', 'px', 'py']) }} focus:outline-none hover:opacity-75 cursor-pointer rounded-full outline-none\">\n <span *ngIf=\"label\"\n class=\"{{ icon ? 'pr-2' : '' }} self-center text-center text-xs font-semibold w-full\">{{ label }}</span>\n <ngt-svg *ngIf=\"icon\" [@openClose]=\"withAnimation ? isOpen ? 'open' : 'closed' : ''\" [src]='icon'\n class=\"fill-current\"></ngt-svg>\n</div>\n" }]
106
- }], ctorParameters: () => [{ type: i0.Injector }, { type: i1.NgtStylizableDirective, decorators: [{
107
- type: Self
108
- }, {
109
- type: Optional
110
- }] }], propDecorators: { menus: [{
111
- type: Input
112
- }], icon: [{
113
- type: Input
114
- }], label: [{
115
- type: Input
116
- }], withAnimation: [{
117
- type: Input
118
- }] } });
119
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LWZsb2F0aW5nLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy10YWlsd2luZC9zcmMvY29tcG9uZW50cy9uZ3QtZmxvYXRpbmctYnV0dG9uL25ndC1mbG9hdGluZy1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdGFpbHdpbmQvc3JjL2NvbXBvbmVudHMvbmd0LWZsb2F0aW5nLWJ1dHRvbi9uZ3QtZmxvYXRpbmctYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakYsT0FBTyxFQUFFLFNBQVMsRUFBWSxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7Ozs7O0FBWTVGLE1BQU0sQ0FBTixJQUFZLHFCQUdYO0FBSEQsV0FBWSxxQkFBcUI7SUFDN0Isa0RBQXlCLENBQUE7SUFDekIsMENBQWlCLENBQUE7QUFDckIsQ0FBQyxFQUhXLHFCQUFxQixLQUFyQixxQkFBcUIsUUFHaEM7QUE2QkQsTUFBTSxPQUFPLDBCQUEwQjtJQVNuQyxZQUNZLFFBQWtCLEVBQ0Usc0JBQThDO1FBRGxFLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDRSwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBUDlELGtCQUFhLEdBQVksS0FBSyxDQUFDO1FBRXhDLFdBQU0sR0FBWSxLQUFLLENBQUM7UUFPM0IsSUFBSSxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1FBQzFFLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLG9CQUFvQixFQUFFLENBQUM7UUFDL0MsQ0FBQztRQUVELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsbUJBQW1CLEVBQUU7WUFDbkQsS0FBSyxFQUFFO2dCQUNILEVBQUUsRUFBRSxhQUFhO2dCQUNqQixJQUFJLEVBQUUsWUFBWTthQUNyQjtZQUNELEVBQUUsRUFBRSxNQUFNO1lBQ1YsRUFBRSxFQUFFLE1BQU07WUFDVixDQUFDLEVBQUUsTUFBTTtZQUNULENBQUMsRUFBRSxNQUFNO1NBQ1osQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLFVBQVU7UUFDYixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVNLGdCQUFnQixDQUFDLEdBQVc7UUFDL0IsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFTSxPQUFPLENBQUMsS0FBWSxFQUFFLElBQTJCO1FBQ3BELEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFFbEIsSUFBSSxPQUFPLElBQUksQ0FBQyxNQUFNLEtBQUssVUFBVSxFQUFFLENBQUM7WUFDcEMsT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDekIsQ0FBQztRQUVELE1BQU0sSUFBSSxLQUFLLENBQUMsNEJBQTRCLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRU0sWUFBWSxDQUFDLElBQTJCO1FBQzNDLE9BQU8sSUFBSSxDQUFDLElBQUksSUFBSSxxQkFBcUIsQ0FBQyxNQUFNLENBQUM7SUFDckQsQ0FBQztJQUVNLGdCQUFnQixDQUFDLElBQTJCO1FBQy9DLE9BQU8sSUFBSSxDQUFDLElBQUksSUFBSSxxQkFBcUIsQ0FBQyxVQUFVLENBQUM7SUFDekQsQ0FBQzsrR0F6RFEsMEJBQTBCO21HQUExQiwwQkFBMEIscUpDaER2QyxzbUVBZ0NBLGdsQkRSZ0I7WUFDUixPQUFPLENBQUMsT0FBTyxFQUFFO2dCQUNiLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO2dCQUNuRSxVQUFVLENBQUMsZ0JBQWdCLEVBQUU7b0JBQ3pCLE9BQU8sQ0FBQyxHQUFHLENBQUM7aUJBQ2YsQ0FBQzthQUNMLENBQUM7WUFFRixPQUFPLENBQUMsV0FBVyxFQUFFO2dCQUNqQixLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQztvQkFDaEIsU0FBUyxFQUFFLGdCQUFnQjtpQkFDOUIsQ0FBQyxDQUFDO2dCQUNILEtBQUssQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDO29CQUNsQixTQUFTLEVBQUUsaUJBQWlCO2lCQUMvQixDQUFDLENBQUM7Z0JBQ0gsVUFBVSxDQUFDLGdCQUFnQixFQUFFO29CQUN6QixPQUFPLENBQUMsY0FBYyxDQUFDO2lCQUMxQixDQUFDO2dCQUNGLFVBQVUsQ0FBQyxnQkFBZ0IsRUFBRTtvQkFDekIsT0FBTyxDQUFDLGNBQWMsQ0FBQztpQkFDMUIsQ0FBQzthQUNMLENBQUM7U0FDTDs7NEZBRVEsMEJBQTBCO2tCQTNCdEMsU0FBUzsrQkFDSSxxQkFBcUIsY0FFbkI7d0JBQ1IsT0FBTyxDQUFDLE9BQU8sRUFBRTs0QkFDYixLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FBQzs0QkFDbkUsVUFBVSxDQUFDLGdCQUFnQixFQUFFO2dDQUN6QixPQUFPLENBQUMsR0FBRyxDQUFDOzZCQUNmLENBQUM7eUJBQ0wsQ0FBQzt3QkFFRixPQUFPLENBQUMsV0FBVyxFQUFFOzRCQUNqQixLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQztnQ0FDaEIsU0FBUyxFQUFFLGdCQUFnQjs2QkFDOUIsQ0FBQyxDQUFDOzRCQUNILEtBQUssQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDO2dDQUNsQixTQUFTLEVBQUUsaUJBQWlCOzZCQUMvQixDQUFDLENBQUM7NEJBQ0gsVUFBVSxDQUFDLGdCQUFnQixFQUFFO2dDQUN6QixPQUFPLENBQUMsY0FBYyxDQUFDOzZCQUMxQixDQUFDOzRCQUNGLFVBQVUsQ0FBQyxnQkFBZ0IsRUFBRTtnQ0FDekIsT0FBTyxDQUFDLGNBQWMsQ0FBQzs2QkFDMUIsQ0FBQzt5QkFDTCxDQUFDO3FCQUNMOzswQkFhSSxJQUFJOzswQkFBSSxRQUFRO3lDQVZMLEtBQUs7c0JBQXBCLEtBQUs7Z0JBQ1UsSUFBSTtzQkFBbkIsS0FBSztnQkFDVSxLQUFLO3NCQUFwQixLQUFLO2dCQUNVLGFBQWE7c0JBQTVCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0b3IsIElucHV0LCBPcHRpb25hbCwgU2VsZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBOZ3RTdHlsaXphYmxlRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9uZ3Qtc3R5bGl6YWJsZS9uZ3Qtc3R5bGl6YWJsZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTmd0U3R5bGl6YWJsZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9uZ3Qtc3R5bGl6YWJsZS9uZ3Qtc3R5bGl6YWJsZS5zZXJ2aWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBOZ3RGbG9hdGluZ0J1dHRvbk1lbnUge1xuICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgdHlwZTogTmd0RmxvYXRpbmdCdXR0b25UeXBlO1xuICAgIGljb24/OiBzdHJpbmc7XG4gICAgdG9vbHRpcD86IHN0cmluZztcbiAgICBleHRlcm5hbExpbms/OiBib29sZWFuO1xuICAgIHVybD86IHN0cmluZztcbiAgICBhY3Rpb24/OiBGdW5jdGlvbjtcbn1cblxuZXhwb3J0IGVudW0gTmd0RmxvYXRpbmdCdXR0b25UeXBlIHtcbiAgICBOQVZJR0FUSU9OID0gJ05BVklHQVRJT04nLFxuICAgIEFDVElPTiA9ICdBQ1RJT04nXG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmd0LWZsb2F0aW5nLWJ1dHRvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL25ndC1mbG9hdGluZy1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICAgIGFuaW1hdGlvbnM6IFtcbiAgICAgICAgdHJpZ2dlcignZmFkZVknLCBbXG4gICAgICAgICAgICBzdGF0ZSgndm9pZCcsIHN0eWxlKHsgb3BhY2l0eTogMCwgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgxMHB4KScgfSkpLFxuICAgICAgICAgICAgdHJhbnNpdGlvbignOmVudGVyLCA6bGVhdmUnLCBbXG4gICAgICAgICAgICAgICAgYW5pbWF0ZSgzMDApXG4gICAgICAgICAgICBdKVxuICAgICAgICBdKSxcblxuICAgICAgICB0cmlnZ2VyKCdvcGVuQ2xvc2UnLCBbXG4gICAgICAgICAgICBzdGF0ZSgnb3BlbicsIHN0eWxlKHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06ICdyb3RhdGUoMTgwZGVnKSdcbiAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgIHN0YXRlKCdjbG9zZWQnLCBzdHlsZSh7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiAncm90YXRlKC0xODBkZWcpJ1xuICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgdHJhbnNpdGlvbignb3BlbiA9PiBjbG9zZWQnLCBbXG4gICAgICAgICAgICAgICAgYW5pbWF0ZSgnMC41cyBlYXNlLWluJylcbiAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgdHJhbnNpdGlvbignY2xvc2VkID0+IG9wZW4nLCBbXG4gICAgICAgICAgICAgICAgYW5pbWF0ZSgnMC41cyBlYXNlLWluJylcbiAgICAgICAgICAgIF0pLFxuICAgICAgICBdKSxcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIE5ndEZsb2F0aW5nQnV0dG9uQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBwdWJsaWMgbWVudXM6IEFycmF5PE5ndEZsb2F0aW5nQnV0dG9uTWVudT47XG4gICAgQElucHV0KCkgcHVibGljIGljb246IHN0cmluZztcbiAgICBASW5wdXQoKSBwdWJsaWMgbGFiZWw6IHN0cmluZztcbiAgICBASW5wdXQoKSBwdWJsaWMgd2l0aEFuaW1hdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgcHVibGljIGlzT3BlbjogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBuZ3RTdHlsZTogTmd0U3R5bGl6YWJsZVNlcnZpY2U7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBAU2VsZigpIEBPcHRpb25hbCgpIHByaXZhdGUgbmd0U3R5bGl6YWJsZURpcmVjdGl2ZTogTmd0U3R5bGl6YWJsZURpcmVjdGl2ZSxcbiAgICApIHtcbiAgICAgICAgaWYgKHRoaXMubmd0U3R5bGl6YWJsZURpcmVjdGl2ZSkge1xuICAgICAgICAgICAgdGhpcy5uZ3RTdHlsZSA9IHRoaXMubmd0U3R5bGl6YWJsZURpcmVjdGl2ZS5nZXROZ3RTdHlsaXphYmxlU2VydmljZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5uZ3RTdHlsZSA9IG5ldyBOZ3RTdHlsaXphYmxlU2VydmljZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5uZ3RTdHlsZS5sb2FkKHRoaXMuaW5qZWN0b3IsICdOZ3RGbG9hdGluZ0J1dHRvbicsIHtcbiAgICAgICAgICAgIGNvbG9yOiB7XG4gICAgICAgICAgICAgICAgYmc6ICdiZy1ibHVlLTUwMCcsXG4gICAgICAgICAgICAgICAgdGV4dDogJ3RleHQtd2hpdGUnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHB4OiAncHgtNCcsXG4gICAgICAgICAgICBweTogJ3B5LTQnLFxuICAgICAgICAgICAgaDogJ2gtMTInLFxuICAgICAgICAgICAgdzogJ3ctMTInXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyB0b2dnbGVNZW51KCkge1xuICAgICAgICB0aGlzLmlzT3BlbiA9ICEodGhpcy5pc09wZW4pO1xuICAgIH1cblxuICAgIHB1YmxpYyBvcGVuRXh0ZXJuYWxMaW5rKHVybDogc3RyaW5nKSB7XG4gICAgICAgIHdpbmRvdy5vcGVuKHVybCwgXCJfYmxhbmtcIik7XG4gICAgICAgIHRoaXMudG9nZ2xlTWVudSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkNsaWNrKGV2ZW50OiBFdmVudCwgbWVudTogTmd0RmxvYXRpbmdCdXR0b25NZW51KSB7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLnRvZ2dsZU1lbnUoKTtcblxuICAgICAgICBpZiAodHlwZW9mIG1lbnUuYWN0aW9uID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICByZXR1cm4gbWVudS5hY3Rpb24oKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignQWN0aW9uIG11c3QgYmUgYSBmdW5jdGlvbiEnKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNUeXBlQWN0aW9uKG1lbnU6IE5ndEZsb2F0aW5nQnV0dG9uTWVudSkge1xuICAgICAgICByZXR1cm4gbWVudS50eXBlID09IE5ndEZsb2F0aW5nQnV0dG9uVHlwZS5BQ1RJT047XG4gICAgfVxuXG4gICAgcHVibGljIGlzVHlwZU5hdmlnYXRpb24obWVudTogTmd0RmxvYXRpbmdCdXR0b25NZW51KSB7XG4gICAgICAgIHJldHVybiBtZW51LnR5cGUgPT0gTmd0RmxvYXRpbmdCdXR0b25UeXBlLk5BVklHQVRJT047XG4gICAgfVxufVxuIiwiPGJ1dHRvbiAoY2xpY2spPVwidG9nZ2xlTWVudSgpXCIgKm5nSWY9XCJpc09wZW5cIiB0YWJpbmRleD1cIi0xXCJcbiAgICBjbGFzcz1cImZpeGVkIHotMTAgaW5zZXQtMCBoLWZ1bGwgdy1mdWxsIGJnLWJsYWNrIG9wYWNpdHktMCBjdXJzb3ItZGVmYXVsdFwiPjwvYnV0dG9uPlxuXG48ZGl2IGNsYXNzPVwie3sgbmd0U3R5bGUuY29tcGlsZShbJ3cnXSkgfX0gcm91bmRlZC1mdWxsIHJlbGF0aXZlIHotMjBcIiAqbmdJZj1cImlzT3BlblwiIEBmYWRlWT5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBtZW51IG9mIG1lbnVzOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJteS0yIHJvdW5kZWQtZnVsbCBzaGFkb3cteGxcIj5cbiAgICAgICAgICAgIDxhICpuZ0lmPVwiaXNUeXBlTmF2aWdhdGlvbihtZW51KVwiIFtyb3V0ZXJMaW5rXT1cIm1lbnUuZXh0ZXJuYWxMaW5rID8gbnVsbCA6IG1lbnUudXJsXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPSdtZW51LmV4dGVybmFsTGluayA/IG9wZW5FeHRlcm5hbExpbmsobWVudS51cmwpIDogdG9nZ2xlTWVudSgpJyB0aXRsZT1cInt7IG1lbnUudG9vbHRpcCB9fVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ7eyBuZ3RTdHlsZS5jb21waWxlKFsnaCcsICd3JywgJ2NvbG9yLmJnJywgJ2NvbG9yLnRleHQnXSkgfX0gZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1mdWxsIGhvdmVyOm9wYWNpdHktNzVcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIm1lbnUubmFtZVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC14cyBmb250LXNlbWlib2xkIHt7IG1lbnUuaWNvbiA/ICdwci0yJyA6ICcnIH19XCI+e3sgbWVudS5uYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxuZ3Qtc3ZnICpuZ0lmPVwibWVudS5pY29uXCIgW3NyY109J21lbnUuaWNvbicgY2xhc3M9XCJmaWxsLWN1cnJlbnRcIj48L25ndC1zdmc+XG4gICAgICAgICAgICA8L2E+XG5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpc1R5cGVBY3Rpb24obWVudSlcIiB0aXRsZT1cInt7IG1lbnUudG9vbHRpcCB9fVwiIChjbGljayk9J29uQ2xpY2soJGV2ZW50LCBtZW51KSdcbiAgICAgICAgICAgICAgICBjbGFzcz1cInt7IG5ndFN0eWxlLmNvbXBpbGUoWydoJywgJ3cnLCAnY29sb3IuYmcnLCAnY29sb3IudGV4dCddKSB9fSBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLWZ1bGwgaG92ZXI6b3BhY2l0eS03NSBjdXJzb3ItcG9pbnRlclwiPlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwibWVudS5uYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LXhzIGZvbnQtc2VtaWJvbGQge3sgbWVudS5pY29uID8gJ3ByLTInIDogJycgfX1cIj57eyBtZW51Lm5hbWUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPG5ndC1zdmcgKm5nSWY9XCJtZW51Lmljb25cIiBbc3JjXT0nbWVudS5pY29uJyBjbGFzcz1cImZpbGwtY3VycmVudFwiPjwvbmd0LXN2Zz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48IS0tIEFicmlyIG1lbnUgLS0+XG48ZGl2IChjbGljayk9XCJ0b2dnbGVNZW51KClcIlxuICAgIGNsYXNzPVwiZmxleCB6LTIwIGp1c3RpZnktY2VudGVyIHt7IG5ndFN0eWxlLmNvbXBpbGUoWydoJywgJ3cnLCAnY29sb3IuYmcnLCAnY29sb3IudGV4dCcsICdweCcsICdweSddKSB9fSBmb2N1czpvdXRsaW5lLW5vbmUgaG92ZXI6b3BhY2l0eS03NSBjdXJzb3ItcG9pbnRlciByb3VuZGVkLWZ1bGwgb3V0bGluZS1ub25lXCI+XG4gICAgPHNwYW4gKm5nSWY9XCJsYWJlbFwiXG4gICAgICAgIGNsYXNzPVwie3sgaWNvbiA/ICdwci0yJyA6ICcnIH19IHNlbGYtY2VudGVyIHRleHQtY2VudGVyIHRleHQteHMgZm9udC1zZW1pYm9sZCB3LWZ1bGxcIj57eyBsYWJlbCB9fTwvc3Bhbj5cbiAgICA8bmd0LXN2ZyAqbmdJZj1cImljb25cIiBbQG9wZW5DbG9zZV09XCJ3aXRoQW5pbWF0aW9uID8gaXNPcGVuID8gJ29wZW4nIDogJ2Nsb3NlZCcgOiAnJ1wiIFtzcmNdPSdpY29uJ1xuICAgICAgICBjbGFzcz1cImZpbGwtY3VycmVudFwiPjwvbmd0LXN2Zz5cbjwvZGl2PlxuIl19
@@ -1,28 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { NgModule } from '@angular/core';
3
- import { RouterModule } from '@angular/router';
4
- import { NgtSvgModule } from '../ngt-svg/ngt-svg.module';
5
- import { NgtFloatingButtonComponent } from './ngt-floating-button.component';
6
- import * as i0 from "@angular/core";
7
- export class NgtFloatingButtonModule {
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgtFloatingButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: NgtFloatingButtonModule, declarations: [NgtFloatingButtonComponent], imports: [CommonModule,
10
- RouterModule,
11
- NgtSvgModule], exports: [NgtFloatingButtonComponent] }); }
12
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgtFloatingButtonModule, imports: [CommonModule,
13
- RouterModule,
14
- NgtSvgModule] }); }
15
- }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgtFloatingButtonModule, decorators: [{
17
- type: NgModule,
18
- args: [{
19
- declarations: [NgtFloatingButtonComponent],
20
- exports: [NgtFloatingButtonComponent],
21
- imports: [
22
- CommonModule,
23
- RouterModule,
24
- NgtSvgModule
25
- ]
26
- }]
27
- }] });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LWZsb2F0aW5nLWJ1dHRvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy10YWlsd2luZC9zcmMvY29tcG9uZW50cy9uZ3QtZmxvYXRpbmctYnV0dG9uL25ndC1mbG9hdGluZy1idXR0b24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUM7O0FBVzdFLE1BQU0sT0FBTyx1QkFBdUI7K0dBQXZCLHVCQUF1QjtnSEFBdkIsdUJBQXVCLGlCQVJqQiwwQkFBMEIsYUFHckMsWUFBWTtZQUNaLFlBQVk7WUFDWixZQUFZLGFBSk4sMEJBQTBCO2dIQU8zQix1QkFBdUIsWUFMNUIsWUFBWTtZQUNaLFlBQVk7WUFDWixZQUFZOzs0RkFHUCx1QkFBdUI7a0JBVG5DLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLENBQUMsMEJBQTBCLENBQUM7b0JBQzFDLE9BQU8sRUFBRSxDQUFDLDBCQUEwQixDQUFDO29CQUNyQyxPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixZQUFZO3dCQUNaLFlBQVk7cUJBQ2Y7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IE5ndFN2Z01vZHVsZSB9IGZyb20gJy4uL25ndC1zdmcvbmd0LXN2Zy5tb2R1bGUnO1xuaW1wb3J0IHsgTmd0RmxvYXRpbmdCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL25ndC1mbG9hdGluZy1idXR0b24uY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtOZ3RGbG9hdGluZ0J1dHRvbkNvbXBvbmVudF0sXG4gICAgZXhwb3J0czogW05ndEZsb2F0aW5nQnV0dG9uQ29tcG9uZW50XSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgUm91dGVyTW9kdWxlLFxuICAgICAgICBOZ3RTdmdNb2R1bGVcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIE5ndEZsb2F0aW5nQnV0dG9uTW9kdWxlIHsgfVxuIl19
@@ -1,22 +0,0 @@
1
- import { Component, Input, Optional } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../../../services/http/ngt-translate.service";
4
- import * as i2 from "@angular/common";
5
- export class NgtFormValidationMessageComponent {
6
- constructor(ngtTranslateService) {
7
- this.ngtTranslateService = ngtTranslateService;
8
- }
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgtFormValidationMessageComponent, deps: [{ token: i1.NgtTranslateService, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
10
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: NgtFormValidationMessageComponent, selector: "ngt-form-validation-message", inputs: { canShowValidationMessage: "canShowValidationMessage", message: "message" }, ngImport: i0, template: "<div *ngIf=\"canShowValidationMessage\" class=\"mb-5 p-2 rounded bg-red-500 text-white text-xs\">\n {{ message || ngtTranslateService.ngtFormDefaultValidationMessage }}\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
11
- }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgtFormValidationMessageComponent, decorators: [{
13
- type: Component,
14
- args: [{ selector: 'ngt-form-validation-message', template: "<div *ngIf=\"canShowValidationMessage\" class=\"mb-5 p-2 rounded bg-red-500 text-white text-xs\">\n {{ message || ngtTranslateService.ngtFormDefaultValidationMessage }}\n</div>\n" }]
15
- }], ctorParameters: () => [{ type: i1.NgtTranslateService, decorators: [{
16
- type: Optional
17
- }] }], propDecorators: { canShowValidationMessage: [{
18
- type: Input
19
- }], message: [{
20
- type: Input
21
- }] } });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LWZvcm0tdmFsaWRhdGlvbi1tZXNzYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXRhaWx3aW5kL3NyYy9jb21wb25lbnRzL25ndC1mb3JtL25ndC1mb3JtLXZhbGlkYXRpb24tbWVzc2FnZS9uZ3QtZm9ybS12YWxpZGF0aW9uLW1lc3NhZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdGFpbHdpbmQvc3JjL2NvbXBvbmVudHMvbmd0LWZvcm0vbmd0LWZvcm0tdmFsaWRhdGlvbi1tZXNzYWdlL25ndC1mb3JtLXZhbGlkYXRpb24tbWVzc2FnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFRM0QsTUFBTSxPQUFPLGlDQUFpQztJQUkxQyxZQUVXLG1CQUF3QztRQUF4Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO0lBQy9DLENBQUM7K0dBUEksaUNBQWlDO21HQUFqQyxpQ0FBaUMseUpDUjlDLHVMQUdBOzs0RkRLYSxpQ0FBaUM7a0JBSjdDLFNBQVM7K0JBQ0ksNkJBQTZCOzswQkFRbEMsUUFBUTt5Q0FKRyx3QkFBd0I7c0JBQXZDLEtBQUs7Z0JBQ1UsT0FBTztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE5ndFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9odHRwL25ndC10cmFuc2xhdGUuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmd0LWZvcm0tdmFsaWRhdGlvbi1tZXNzYWdlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbmd0LWZvcm0tdmFsaWRhdGlvbi1tZXNzYWdlLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgTmd0Rm9ybVZhbGlkYXRpb25NZXNzYWdlQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBwdWJsaWMgY2FuU2hvd1ZhbGlkYXRpb25NZXNzYWdlOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBtZXNzYWdlOiBzdHJpbmc7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIHB1YmxpYyBuZ3RUcmFuc2xhdGVTZXJ2aWNlOiBOZ3RUcmFuc2xhdGVTZXJ2aWNlXG4gICAgKSB7IH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJjYW5TaG93VmFsaWRhdGlvbk1lc3NhZ2VcIiBjbGFzcz1cIm1iLTUgcC0yIHJvdW5kZWQgYmctcmVkLTUwMCB0ZXh0LXdoaXRlIHRleHQteHNcIj5cbiAgICB7eyBtZXNzYWdlIHx8IG5ndFRyYW5zbGF0ZVNlcnZpY2Uubmd0Rm9ybURlZmF1bHRWYWxpZGF0aW9uTWVzc2FnZSB9fVxuPC9kaXY+XG4iXX0=
@@ -1,207 +0,0 @@
1
- import { Component, EventEmitter, Host, Input, Optional, Output, } from '@angular/core';
2
- import { Observable } from 'rxjs';
3
- import { isValidNgForm } from '../../helpers/form/form';
4
- import { getIdFromUri } from '../../helpers/routing/route';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/router";
7
- import * as i2 from "@angular/forms";
8
- import * as i3 from "../../services/http/ngt-http-form.service";
9
- import * as i4 from "../../services/validation/ngt-ability-validation.service";
10
- import * as i5 from "@angular/common";
11
- import * as i6 from "./ngt-form-validation-message/ngt-form-validation-message.component";
12
- ;
13
- export var NgtFormState;
14
- (function (NgtFormState) {
15
- NgtFormState["CREATING"] = "CREATING";
16
- NgtFormState["EDITING"] = "EDITING";
17
- })(NgtFormState || (NgtFormState = {}));
18
- ;
19
- export class NgtFormComponent {
20
- static { this.onSubmitInvalidForm = new EventEmitter; }
21
- constructor(router, route, formContainer, ngForm, changeDetector, ngtHttpFormService, ngtAbilityValidationService) {
22
- this.router = router;
23
- this.route = route;
24
- this.formContainer = formContainer;
25
- this.ngForm = ngForm;
26
- this.changeDetector = changeDetector;
27
- this.ngtHttpFormService = ngtHttpFormService;
28
- this.ngtAbilityValidationService = ngtAbilityValidationService;
29
- this.guessFormState = true;
30
- this.message = '';
31
- this.routeIdentifier = 'id';
32
- this.onCreating = new EventEmitter;
33
- this.onEditing = new EventEmitter;
34
- this.onLoadingChange = new EventEmitter;
35
- this.onShiningChange = new EventEmitter;
36
- this.setupComponent = new EventEmitter;
37
- this.onResourceLoadingError = new EventEmitter;
38
- this.subscriptions = [];
39
- }
40
- ngOnInit() {
41
- if (this.guessFormState) {
42
- this.subscriptions.push(this.determineFormState().subscribe(() => {
43
- this.setupComponent.emit();
44
- }));
45
- }
46
- else {
47
- this.setupComponent.emit();
48
- }
49
- this.subscriptions.push(this.ngForm.ngSubmit.subscribe(() => {
50
- if (!this.ngForm.valid) {
51
- NgtFormComponent.onSubmitInvalidForm.emit(this.ngForm);
52
- }
53
- }));
54
- }
55
- async ngAfterViewInit() {
56
- if (this.isDisabled === undefined && this.ngtAbilityValidationService) {
57
- this.isDisabled = !(await this.ngtAbilityValidationService.hasManagePermission());
58
- this.changeDetector.detectChanges();
59
- }
60
- }
61
- ngOnDestroy() {
62
- this.destroySubscriptions();
63
- }
64
- isCreating() {
65
- return this.formState === NgtFormState.CREATING;
66
- }
67
- isEditing() {
68
- return this.formState === NgtFormState.EDITING;
69
- }
70
- isLoading() {
71
- return this.loading;
72
- }
73
- isShining() {
74
- return this.shining;
75
- }
76
- canShowValidationMessage() {
77
- return this.formContainer &&
78
- this.formContainer['submitted'] &&
79
- this.formContainer.status != 'VALID' &&
80
- this.formContainer.status != 'DISABLED';
81
- }
82
- setShining(shining) {
83
- this.shining = shining;
84
- this.onShiningChange.emit(this.shining);
85
- }
86
- setLoading(loading) {
87
- this.loading = loading;
88
- this.onLoadingChange.emit(this.loading);
89
- }
90
- setFormState(state, triggerChange = true) {
91
- this.formState = state;
92
- if (triggerChange) {
93
- this.triggerFormStateChange();
94
- }
95
- }
96
- getFormState() {
97
- return this.formState;
98
- }
99
- triggerFormStateChange() {
100
- if (this.isEditing()) {
101
- this.triggerFormEditing();
102
- }
103
- else if (this.isCreating()) {
104
- this.triggerFormCreating();
105
- }
106
- }
107
- formHasChanges() {
108
- return this.ngForm.dirty;
109
- }
110
- saveResource() {
111
- return new Observable((observer) => {
112
- if (isValidNgForm(this.ngForm)) {
113
- this.setLoading(true);
114
- this.subscriptions.push(this.ngtHttpFormService.saveResource(this.resource)
115
- .subscribe((response) => {
116
- this.setLoading(false);
117
- observer.next(response);
118
- observer.complete();
119
- }));
120
- }
121
- else {
122
- observer.error();
123
- }
124
- });
125
- }
126
- triggerFormCreating() {
127
- this.onCreating.emit();
128
- }
129
- triggerFormEditing() {
130
- if (this.uriId && this.resource) {
131
- this.setLoading(true);
132
- this.setShining(true);
133
- this.subscriptions.push(this.ngtHttpFormService.loadResourceById(this.resource, this.uriId)
134
- .subscribe((resource) => {
135
- this.setLoading(false);
136
- this.setShining(false);
137
- this.onEditing.emit(resource);
138
- setTimeout(() => this.ngForm.form.markAsPristine(), 1500);
139
- }, (error) => {
140
- this.setLoading(false);
141
- this.setShining(false);
142
- this.onResourceLoadingError.emit(error);
143
- }));
144
- return;
145
- }
146
- this.onEditing.emit(null);
147
- }
148
- determineFormState() {
149
- return new Observable((observer) => {
150
- this.subscriptions.push(getIdFromUri(this.route, this.routeIdentifier).subscribe((id) => {
151
- this.uriId = id;
152
- if (this.uriId) {
153
- this.setFormState(NgtFormState.EDITING);
154
- }
155
- else {
156
- this.setFormState(NgtFormState.CREATING);
157
- }
158
- observer.next(null);
159
- }));
160
- });
161
- }
162
- destroySubscriptions() {
163
- this.subscriptions.forEach(subscription => subscription.unsubscribe());
164
- this.subscriptions = [];
165
- }
166
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgtFormComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.ControlContainer, host: true, optional: true }, { token: i2.NgForm, host: true, optional: true }, { token: i0.ChangeDetectorRef }, { token: i3.NgtHttpFormService }, { token: i4.NgtAbilityValidationService, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
167
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: NgtFormComponent, selector: "ngt-form", inputs: { guessFormState: "guessFormState", message: "message", routeIdentifier: "routeIdentifier", resource: "resource", customLayout: "customLayout", isDisabled: "isDisabled" }, outputs: { onCreating: "onCreating", onEditing: "onEditing", onLoadingChange: "onLoadingChange", onShiningChange: "onShiningChange", setupComponent: "setupComponent", onResourceLoadingError: "onResourceLoadingError" }, ngImport: i0, template: "<ngt-form-validation-message *ngIf='!customLayout' [canShowValidationMessage]=\"canShowValidationMessage()\"\n [message]=\"message\">\n</ngt-form-validation-message>\n\n<fieldset [disabled]=\"isDisabled\" style=\"min-inline-size: 100% !important\">\n <ng-content></ng-content>\n</fieldset>", dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.NgtFormValidationMessageComponent, selector: "ngt-form-validation-message", inputs: ["canShowValidationMessage", "message"] }] }); }
168
- }
169
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgtFormComponent, decorators: [{
170
- type: Component,
171
- args: [{ selector: 'ngt-form', template: "<ngt-form-validation-message *ngIf='!customLayout' [canShowValidationMessage]=\"canShowValidationMessage()\"\n [message]=\"message\">\n</ngt-form-validation-message>\n\n<fieldset [disabled]=\"isDisabled\" style=\"min-inline-size: 100% !important\">\n <ng-content></ng-content>\n</fieldset>" }]
172
- }], ctorParameters: () => [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.ControlContainer, decorators: [{
173
- type: Optional
174
- }, {
175
- type: Host
176
- }] }, { type: i2.NgForm, decorators: [{
177
- type: Optional
178
- }, {
179
- type: Host
180
- }] }, { type: i0.ChangeDetectorRef }, { type: i3.NgtHttpFormService }, { type: i4.NgtAbilityValidationService, decorators: [{
181
- type: Optional
182
- }] }], propDecorators: { guessFormState: [{
183
- type: Input
184
- }], message: [{
185
- type: Input
186
- }], routeIdentifier: [{
187
- type: Input
188
- }], resource: [{
189
- type: Input
190
- }], customLayout: [{
191
- type: Input
192
- }], isDisabled: [{
193
- type: Input
194
- }], onCreating: [{
195
- type: Output
196
- }], onEditing: [{
197
- type: Output
198
- }], onLoadingChange: [{
199
- type: Output
200
- }], onShiningChange: [{
201
- type: Output
202
- }], setupComponent: [{
203
- type: Output
204
- }], onResourceLoadingError: [{
205
- type: Output
206
- }] } });
207
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdGFpbHdpbmQvc3JjL2NvbXBvbmVudHMvbmd0LWZvcm0vbmd0LWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdGFpbHdpbmQvc3JjL2NvbXBvbmVudHMvbmd0LWZvcm0vbmd0LWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdILFNBQVMsRUFDVCxZQUFZLEVBQ1osSUFBSSxFQUNKLEtBQUssRUFHTCxRQUFRLEVBQ1IsTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxVQUFVLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBRWhELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7Ozs7O0FBRTRDLENBQUM7QUFFeEcsTUFBTSxDQUFOLElBQVksWUFHWDtBQUhELFdBQVksWUFBWTtJQUNwQixxQ0FBcUIsQ0FBQTtJQUNyQixtQ0FBbUIsQ0FBQTtBQUN2QixDQUFDLEVBSFcsWUFBWSxLQUFaLFlBQVksUUFHdkI7QUFBQSxDQUFDO0FBTUYsTUFBTSxPQUFPLGdCQUFnQjthQUNYLHdCQUFtQixHQUF5QixJQUFJLFlBQVksQUFBekMsQ0FBMEM7SUF1QjNFLFlBQ1csTUFBYyxFQUNkLEtBQXFCLEVBR3JCLGFBQStCLEVBRy9CLE1BQWMsRUFFYixjQUFpQyxFQUNqQyxrQkFBc0MsRUFHdEMsMkJBQXdEO1FBYnpELFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUdyQixrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFHL0IsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUViLG1CQUFjLEdBQWQsY0FB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QixLQUFLO2dCQUNVLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ1UsZUFBZTtzQkFBOUIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLFlBQVk7c0JBQTNCLEtBQUs7Z0JBQ1UsVUFBVTtzQkFBekIsS0FBSztnQkFFVyxVQUFVO3NCQUExQixNQUFNO2dCQUNVLFNBQVM7c0JBQXpCLE1BQU07Z0JBQ1UsZUFBZTtzQkFBL0IsTUFBTTtnQkFDVSxlQUFlO3NCQUEvQixNQUFNO2dCQUNVLGNBQWM7c0JBQTlCLE1BQU07Z0JBQ1Usc0JBQXNCO3NCQUF0QyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdCxcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sQ29udGFpbmVyLCBOZ0Zvcm0gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBpc1ZhbGlkTmdGb3JtIH0gZnJvbSAnLi4vLi4vaGVscGVycy9mb3JtL2Zvcm0nO1xuaW1wb3J0IHsgZ2V0SWRGcm9tVXJpIH0gZnJvbSAnLi4vLi4vaGVscGVycy9yb3V0aW5nL3JvdXRlJztcbmltcG9ydCB7IE5ndEh0dHBGb3JtU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2h0dHAvbmd0LWh0dHAtZm9ybS5zZXJ2aWNlJztcbmltcG9ydCB7IE5ndEFiaWxpdHlWYWxpZGF0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3ZhbGlkYXRpb24vbmd0LWFiaWxpdHktdmFsaWRhdGlvbi5zZXJ2aWNlJzs7XG5cbmV4cG9ydCBlbnVtIE5ndEZvcm1TdGF0ZSB7XG4gICAgQ1JFQVRJTkcgPSAnQ1JFQVRJTkcnLFxuICAgIEVESVRJTkcgPSAnRURJVElORydcbn07XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmd0LWZvcm0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9uZ3QtZm9ybS5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIE5ndEZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgcHVibGljIHN0YXRpYyBvblN1Ym1pdEludmFsaWRGb3JtOiBFdmVudEVtaXR0ZXI8TmdGb3JtPiA9IG5ldyBFdmVudEVtaXR0ZXI7XG5cbiAgICBASW5wdXQoKSBwdWJsaWMgZ3Vlc3NGb3JtU3RhdGU6IGJvb2xlYW4gPSB0cnVlO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBtZXNzYWdlOiBzdHJpbmcgPSAnJztcbiAgICBASW5wdXQoKSBwdWJsaWMgcm91dGVJZGVudGlmaWVyOiBzdHJpbmcgPSAnaWQnO1xuICAgIEBJbnB1dCgpIHB1YmxpYyByZXNvdXJjZTogYW55O1xuICAgIEBJbnB1dCgpIHB1YmxpYyBjdXN0b21MYXlvdXQ6IGJvb2xlYW47XG4gICAgQElucHV0KCkgcHVibGljIGlzRGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgICBAT3V0cHV0KCkgcHVibGljIG9uQ3JlYXRpbmc6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjtcbiAgICBAT3V0cHV0KCkgcHVibGljIG9uRWRpdGluZzogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgb25Mb2FkaW5nQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgb25TaGluaW5nQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgc2V0dXBDb21wb25lbnQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjtcbiAgICBAT3V0cHV0KCkgcHVibGljIG9uUmVzb3VyY2VMb2FkaW5nRXJyb3I6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjtcblxuICAgIHB1YmxpYyBmb3JtU3RhdGU6IE5ndEZvcm1TdGF0ZTtcbiAgICBwdWJsaWMgdXJpSWQ6IGFueTtcblxuICAgIHByaXZhdGUgbG9hZGluZzogYm9vbGVhbjtcbiAgICBwcml2YXRlIHNoaW5pbmc6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiBBcnJheTxTdWJzY3JpcHRpb24+ID0gW107XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgcHVibGljIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcblxuICAgICAgICBAT3B0aW9uYWwoKSBASG9zdCgpXG4gICAgICAgIHB1YmxpYyBmb3JtQ29udGFpbmVyOiBDb250cm9sQ29udGFpbmVyLFxuXG4gICAgICAgIEBPcHRpb25hbCgpIEBIb3N0KClcbiAgICAgICAgcHVibGljIG5nRm9ybTogTmdGb3JtLFxuXG4gICAgICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIG5ndEh0dHBGb3JtU2VydmljZTogTmd0SHR0cEZvcm1TZXJ2aWNlLFxuXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIHByaXZhdGUgbmd0QWJpbGl0eVZhbGlkYXRpb25TZXJ2aWNlOiBOZ3RBYmlsaXR5VmFsaWRhdGlvblNlcnZpY2VcbiAgICApIHsgfVxuXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xuICAgICAgICBpZiAodGhpcy5ndWVzc0Zvcm1TdGF0ZSkge1xuICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICAgICAgICAgICAgdGhpcy5kZXRlcm1pbmVGb3JtU3RhdGUoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldHVwQ29tcG9uZW50LmVtaXQoKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2V0dXBDb21wb25lbnQuZW1pdCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICAgICAgICB0aGlzLm5nRm9ybS5uZ1N1Ym1pdC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5uZ0Zvcm0udmFsaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgTmd0Rm9ybUNvbXBvbmVudC5vblN1Ym1pdEludmFsaWRGb3JtLmVtaXQodGhpcy5uZ0Zvcm0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIG5nQWZ0ZXJWaWV3SW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgaWYgKHRoaXMuaXNEaXNhYmxlZCA9PT0gdW5kZWZpbmVkICYmIHRoaXMubmd0QWJpbGl0eVZhbGlkYXRpb25TZXJ2aWNlKSB7XG4gICAgICAgICAgICB0aGlzLmlzRGlzYWJsZWQgPSAhKGF3YWl0IHRoaXMubmd0QWJpbGl0eVZhbGlkYXRpb25TZXJ2aWNlLmhhc01hbmFnZVBlcm1pc3Npb24oKSk7XG5cbiAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLmRlc3Ryb3lTdWJzY3JpcHRpb25zKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGlzQ3JlYXRpbmcoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1TdGF0ZSA9PT0gTmd0Rm9ybVN0YXRlLkNSRUFUSU5HO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc0VkaXRpbmcoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1TdGF0ZSA9PT0gTmd0Rm9ybVN0YXRlLkVESVRJTkc7XG4gICAgfVxuXG4gICAgcHVibGljIGlzTG9hZGluZygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubG9hZGluZztcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNTaGluaW5nKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zaGluaW5nO1xuICAgIH1cblxuICAgIHB1YmxpYyBjYW5TaG93VmFsaWRhdGlvbk1lc3NhZ2UoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1Db250YWluZXIgJiZcbiAgICAgICAgICAgIHRoaXMuZm9ybUNvbnRhaW5lclsnc3VibWl0dGVkJ10gJiZcbiAgICAgICAgICAgIHRoaXMuZm9ybUNvbnRhaW5lci5zdGF0dXMgIT0gJ1ZBTElEJyAmJlxuICAgICAgICAgICAgdGhpcy5mb3JtQ29udGFpbmVyLnN0YXR1cyAhPSAnRElTQUJMRUQnO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRTaGluaW5nKHNoaW5pbmc6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5zaGluaW5nID0gc2hpbmluZztcbiAgICAgICAgdGhpcy5vblNoaW5pbmdDaGFuZ2UuZW1pdCh0aGlzLnNoaW5pbmcpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRMb2FkaW5nKGxvYWRpbmc6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gbG9hZGluZztcbiAgICAgICAgdGhpcy5vbkxvYWRpbmdDaGFuZ2UuZW1pdCh0aGlzLmxvYWRpbmcpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRGb3JtU3RhdGUoc3RhdGU6IE5ndEZvcm1TdGF0ZSwgdHJpZ2dlckNoYW5nZTogYm9vbGVhbiA9IHRydWUpIHtcbiAgICAgICAgdGhpcy5mb3JtU3RhdGUgPSBzdGF0ZTtcblxuICAgICAgICBpZiAodHJpZ2dlckNoYW5nZSkge1xuICAgICAgICAgICAgdGhpcy50cmlnZ2VyRm9ybVN0YXRlQ2hhbmdlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Rm9ybVN0YXRlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5mb3JtU3RhdGU7XG4gICAgfVxuXG4gICAgcHVibGljIHRyaWdnZXJGb3JtU3RhdGVDaGFuZ2UoKSB7XG4gICAgICAgIGlmICh0aGlzLmlzRWRpdGluZygpKSB7XG4gICAgICAgICAgICB0aGlzLnRyaWdnZXJGb3JtRWRpdGluZygpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXNDcmVhdGluZygpKSB7XG4gICAgICAgICAgICB0aGlzLnRyaWdnZXJGb3JtQ3JlYXRpbmcoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBmb3JtSGFzQ2hhbmdlcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmdGb3JtLmRpcnR5O1xuICAgIH1cblxuICAgIHB1YmxpYyBzYXZlUmVzb3VyY2UoKSB7XG4gICAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgob2JzZXJ2ZXIpID0+IHtcbiAgICAgICAgICAgIGlmIChpc1ZhbGlkTmdGb3JtKHRoaXMubmdGb3JtKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0TG9hZGluZyh0cnVlKTtcblxuICAgICAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLm5ndEh0dHBGb3JtU2VydmljZS5zYXZlUmVzb3VyY2UodGhpcy5yZXNvdXJjZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldExvYWRpbmcoZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9ic2VydmVyLm5leHQocmVzcG9uc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIG9ic2VydmVyLmVycm9yKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCB0cmlnZ2VyRm9ybUNyZWF0aW5nKCkge1xuICAgICAgICB0aGlzLm9uQ3JlYXRpbmcuZW1pdCgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCB0cmlnZ2VyRm9ybUVkaXRpbmcoKSB7XG4gICAgICAgIGlmICh0aGlzLnVyaUlkICYmIHRoaXMucmVzb3VyY2UpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0TG9hZGluZyh0cnVlKTtcbiAgICAgICAgICAgIHRoaXMuc2V0U2hpbmluZyh0cnVlKTtcblxuICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICAgICAgICAgICAgdGhpcy5uZ3RIdHRwRm9ybVNlcnZpY2UubG9hZFJlc291cmNlQnlJZCh0aGlzLnJlc291cmNlLCB0aGlzLnVyaUlkKVxuICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICAgICAgICAgICAgKHJlc291cmNlOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldExvYWRpbmcoZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0U2hpbmluZyhmYWxzZSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9uRWRpdGluZy5lbWl0KHJlc291cmNlKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5uZ0Zvcm0uZm9ybS5tYXJrQXNQcmlzdGluZSgpLCAxNTAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAoZXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldExvYWRpbmcoZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0U2hpbmluZyhmYWxzZSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9uUmVzb3VyY2VMb2FkaW5nRXJyb3IuZW1pdChlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub25FZGl0aW5nLmVtaXQobnVsbCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkZXRlcm1pbmVGb3JtU3RhdGUoKSB7XG4gICAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgob2JzZXJ2ZXIpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgICAgICAgICAgIGdldElkRnJvbVVyaSh0aGlzLnJvdXRlLCB0aGlzLnJvdXRlSWRlbnRpZmllcikuc3Vic2NyaWJlKChpZDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXJpSWQgPSBpZDtcblxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy51cmlJZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRGb3JtU3RhdGUoTmd0Rm9ybVN0YXRlLkVESVRJTkcpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRGb3JtU3RhdGUoTmd0Rm9ybVN0YXRlLkNSRUFUSU5HKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmVyLm5leHQobnVsbCk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZGVzdHJveVN1YnNjcmlwdGlvbnMoKSB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHN1YnNjcmlwdGlvbiA9PiBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSk7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucyA9IFtdO1xuICAgIH1cbn1cbiIsIjxuZ3QtZm9ybS12YWxpZGF0aW9uLW1lc3NhZ2UgKm5nSWY9JyFjdXN0b21MYXlvdXQnIFtjYW5TaG93VmFsaWRhdGlvbk1lc3NhZ2VdPVwiY2FuU2hvd1ZhbGlkYXRpb25NZXNzYWdlKClcIlxuICAgIFttZXNzYWdlXT1cIm1lc3NhZ2VcIj5cbjwvbmd0LWZvcm0tdmFsaWRhdGlvbi1tZXNzYWdlPlxuXG48ZmllbGRzZXQgW2Rpc2FibGVkXT1cImlzRGlzYWJsZWRcIiBzdHlsZT1cIm1pbi1pbmxpbmUtc2l6ZTogMTAwJSAhaW1wb3J0YW50XCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9maWVsZHNldD4iXX0=
@@ -1,29 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { NgModule } from '@angular/core';
3
- import { NgtFormValidationMessageComponent } from './ngt-form-validation-message/ngt-form-validation-message.component';
4
- import { NgtFormComponent } from './ngt-form.component';
5
- import * as i0 from "@angular/core";
6
- export class NgtFormModule {
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgtFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: NgtFormModule, declarations: [NgtFormComponent,
9
- NgtFormValidationMessageComponent], imports: [CommonModule], exports: [NgtFormComponent,
10
- NgtFormValidationMessageComponent] }); }
11
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgtFormModule, imports: [CommonModule] }); }
12
- }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgtFormModule, decorators: [{
14
- type: NgModule,
15
- args: [{
16
- imports: [
17
- CommonModule
18
- ],
19
- declarations: [
20
- NgtFormComponent,
21
- NgtFormValidationMessageComponent
22
- ],
23
- exports: [
24
- NgtFormComponent,
25
- NgtFormValidationMessageComponent
26
- ]
27
- }]
28
- }] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LWZvcm0ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdGFpbHdpbmQvc3JjL2NvbXBvbmVudHMvbmd0LWZvcm0vbmd0LWZvcm0ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHFFQUFxRSxDQUFDO0FBQ3hILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQWdCeEQsTUFBTSxPQUFPLGFBQWE7K0dBQWIsYUFBYTtnSEFBYixhQUFhLGlCQVRsQixnQkFBZ0I7WUFDaEIsaUNBQWlDLGFBSmpDLFlBQVksYUFPWixnQkFBZ0I7WUFDaEIsaUNBQWlDO2dIQUk1QixhQUFhLFlBWmxCLFlBQVk7OzRGQVlQLGFBQWE7a0JBZHpCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLFlBQVk7cUJBQ2Y7b0JBQ0QsWUFBWSxFQUFFO3dCQUNWLGdCQUFnQjt3QkFDaEIsaUNBQWlDO3FCQUNwQztvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsZ0JBQWdCO3dCQUNoQixpQ0FBaUM7cUJBQ3BDO2lCQUVKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE5ndEZvcm1WYWxpZGF0aW9uTWVzc2FnZUNvbXBvbmVudCB9IGZyb20gJy4vbmd0LWZvcm0tdmFsaWRhdGlvbi1tZXNzYWdlL25ndC1mb3JtLXZhbGlkYXRpb24tbWVzc2FnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmd0Rm9ybUNvbXBvbmVudCB9IGZyb20gJy4vbmd0LWZvcm0uY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZVxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIE5ndEZvcm1Db21wb25lbnQsXG4gICAgICAgIE5ndEZvcm1WYWxpZGF0aW9uTWVzc2FnZUNvbXBvbmVudFxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBOZ3RGb3JtQ29tcG9uZW50LFxuICAgICAgICBOZ3RGb3JtVmFsaWRhdGlvbk1lc3NhZ2VDb21wb25lbnRcbiAgICBdXG5cbn0pXG5leHBvcnQgY2xhc3MgTmd0Rm9ybU1vZHVsZSB7IH1cbiJdfQ==
@@ -1,39 +0,0 @@
1
- import { Component, Input, Optional, Self, ViewChild } from '@angular/core';
2
- import { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../../directives/ngt-stylizable/ngt-stylizable.directive";
5
- export class NgtHeaderNavComponent {
6
- constructor(injector, ngtStylizableDirective) {
7
- this.injector = injector;
8
- this.ngtStylizableDirective = ngtStylizableDirective;
9
- if (this.ngtStylizableDirective) {
10
- this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();
11
- }
12
- else {
13
- this.ngtStyle = new NgtStylizableService();
14
- }
15
- this.ngtStyle.load(this.injector, 'HeaderNav', {
16
- h: 'h-auto',
17
- color: {}
18
- });
19
- }
20
- ngAfterViewInit() {
21
- this.element.nativeElement.classList.add('tail-animate-fade-up');
22
- }
23
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgtHeaderNavComponent, deps: [{ token: i0.Injector }, { token: i1.NgtStylizableDirective, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
24
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: NgtHeaderNavComponent, selector: "ngt-header-nav", inputs: { ngtStyle: "ngtStyle" }, viewQueries: [{ propertyName: "element", first: true, predicate: ["element"], descendants: true, static: true }], ngImport: i0, template: "<section class=\"flex\">\n <nav class=\"w-full relative {{ ngtStyle.compile(['color.bg']) }}\" #element>\n <div class=\"h-full\">\n <!-- Float Left -->\n <div class=\"float-left flex\">\n <ng-content select=\"[left-header]\"></ng-content>\n </div>\n \n <!-- Float Right -->\n <div class=\"float-right flex h-full\">\n <ng-content select=\"[right-header]\"></ng-content>\n </div>\n \n <!-- Fallback -->\n <ng-content></ng-content>\n </div>\n </nav>\n</section>" }); }
25
- }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgtHeaderNavComponent, decorators: [{
27
- type: Component,
28
- args: [{ selector: 'ngt-header-nav', template: "<section class=\"flex\">\n <nav class=\"w-full relative {{ ngtStyle.compile(['color.bg']) }}\" #element>\n <div class=\"h-full\">\n <!-- Float Left -->\n <div class=\"float-left flex\">\n <ng-content select=\"[left-header]\"></ng-content>\n </div>\n \n <!-- Float Right -->\n <div class=\"float-right flex h-full\">\n <ng-content select=\"[right-header]\"></ng-content>\n </div>\n \n <!-- Fallback -->\n <ng-content></ng-content>\n </div>\n </nav>\n</section>" }]
29
- }], ctorParameters: () => [{ type: i0.Injector }, { type: i1.NgtStylizableDirective, decorators: [{
30
- type: Self
31
- }, {
32
- type: Optional
33
- }] }], propDecorators: { element: [{
34
- type: ViewChild,
35
- args: ['element', { static: true }]
36
- }], ngtStyle: [{
37
- type: Input
38
- }] } });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LWhlYWRlci1uYXYuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdGFpbHdpbmQvc3JjL2NvbXBvbmVudHMvbmd0LWhlYWRlci1uYXYvbmd0LWhlYWRlci1uYXYuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdGFpbHdpbmQvc3JjL2NvbXBvbmVudHMvbmd0LWhlYWRlci1uYXYvbmd0LWhlYWRlci1uYXYuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBd0IsS0FBSyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR2xHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDOzs7QUFNNUYsTUFBTSxPQUFPLHFCQUFxQjtJQUs5QixZQUNZLFFBQWtCLEVBQ0Usc0JBQThDO1FBRGxFLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDRSwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBRTFFLElBQUksSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztRQUMxRSxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxvQkFBb0IsRUFBRSxDQUFDO1FBQy9DLENBQUM7UUFFRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLFdBQVcsRUFBRTtZQUMzQyxDQUFDLEVBQUUsUUFBUTtZQUNYLEtBQUssRUFBRSxFQUFFO1NBQ1osQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLGVBQWU7UUFDbEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7K0dBdkJRLHFCQUFxQjttR0FBckIscUJBQXFCLDBNQ1RsQyx5aUJBaUJVOzs0RkRSRyxxQkFBcUI7a0JBSmpDLFNBQVM7K0JBQ0ksZ0JBQWdCOzswQkFVckIsSUFBSTs7MEJBQUksUUFBUTt5Q0FOMEIsT0FBTztzQkFBckQsU0FBUzt1QkFBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUV0QixRQUFRO3NCQUF2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbmplY3RvciwgSW5wdXQsIE9wdGlvbmFsLCBTZWxmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTmd0U3R5bGl6YWJsZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvbmd0LXN0eWxpemFibGUvbmd0LXN0eWxpemFibGUuZGlyZWN0aXZlJztcbmltcG9ydCB7IE5ndFN0eWxpemFibGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbmd0LXN0eWxpemFibGUvbmd0LXN0eWxpemFibGUuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmd0LWhlYWRlci1uYXYnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9uZ3QtaGVhZGVyLW5hdi5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgTmd0SGVhZGVyTmF2Q29tcG9uZW50IHtcbiAgICBAVmlld0NoaWxkKCdlbGVtZW50JywgeyBzdGF0aWM6IHRydWUgfSkgcHVibGljIGVsZW1lbnQ6IEVsZW1lbnRSZWY7XG5cbiAgICBASW5wdXQoKSBwdWJsaWMgbmd0U3R5bGU6IE5ndFN0eWxpemFibGVTZXJ2aWNlO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgQFNlbGYoKSBAT3B0aW9uYWwoKSBwcml2YXRlIG5ndFN0eWxpemFibGVEaXJlY3RpdmU6IE5ndFN0eWxpemFibGVEaXJlY3RpdmVcbiAgICApIHtcbiAgICAgICAgaWYgKHRoaXMubmd0U3R5bGl6YWJsZURpcmVjdGl2ZSkge1xuICAgICAgICAgICAgdGhpcy5uZ3RTdHlsZSA9IHRoaXMubmd0U3R5bGl6YWJsZURpcmVjdGl2ZS5nZXROZ3RTdHlsaXphYmxlU2VydmljZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5uZ3RTdHlsZSA9IG5ldyBOZ3RTdHlsaXphYmxlU2VydmljZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5uZ3RTdHlsZS5sb2FkKHRoaXMuaW5qZWN0b3IsICdIZWFkZXJOYXYnLCB7XG4gICAgICAgICAgICBoOiAnaC1hdXRvJyxcbiAgICAgICAgICAgIGNvbG9yOiB7fVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKCd0YWlsLWFuaW1hdGUtZmFkZS11cCcpO1xuICAgIH1cbn1cbiIsIjxzZWN0aW9uIGNsYXNzPVwiZmxleFwiPlxuICAgIDxuYXYgY2xhc3M9XCJ3LWZ1bGwgcmVsYXRpdmUge3sgbmd0U3R5bGUuY29tcGlsZShbJ2NvbG9yLmJnJ10pIH19XCIgI2VsZW1lbnQ+XG4gICAgICA8ZGl2IGNsYXNzPVwiaC1mdWxsXCI+XG4gICAgICAgIDwhLS0gRmxvYXQgTGVmdCAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsb2F0LWxlZnQgZmxleFwiPlxuICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltsZWZ0LWhlYWRlcl1cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvZGl2PlxuICBcbiAgICAgICAgPCEtLSBGbG9hdCBSaWdodCAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsb2F0LXJpZ2h0IGZsZXggaC1mdWxsXCI+XG4gICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3JpZ2h0LWhlYWRlcl1cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvZGl2PlxuICBcbiAgICAgICAgPCEtLSBGYWxsYmFjayAtLT5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPC9kaXY+XG4gICAgPC9uYXY+XG48L3NlY3Rpb24+Il19