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.
- package/fesm2022/ng-tailwind.mjs +356 -344
- package/fesm2022/ng-tailwind.mjs.map +1 -1
- package/package.json +1 -3
- package/esm2022/animations/ngt-angular-animations.mjs +0 -34
- package/esm2022/base/ngt-base-ng-model.mjs +0 -90
- package/esm2022/components/ngt-action/ngt-action.component.mjs +0 -96
- package/esm2022/components/ngt-action/ngt-action.module.mjs +0 -28
- package/esm2022/components/ngt-button/ngt-button.component.mjs +0 -142
- package/esm2022/components/ngt-button/ngt-button.module.mjs +0 -28
- package/esm2022/components/ngt-checkbox/ngt-checkbox.component.mjs +0 -192
- package/esm2022/components/ngt-checkbox/ngt-checkbox.module.mjs +0 -28
- package/esm2022/components/ngt-content/ngt-content.component.mjs +0 -32
- package/esm2022/components/ngt-content/ngt-content.module.mjs +0 -20
- package/esm2022/components/ngt-context-menu/ngt-context-menu.component.mjs +0 -25
- package/esm2022/components/ngt-context-menu/ngt-context-menu.directive.mjs +0 -89
- package/esm2022/components/ngt-context-menu/ngt-context-menu.module.mjs +0 -33
- package/esm2022/components/ngt-datatable/ngt-datatable.component.mjs +0 -472
- package/esm2022/components/ngt-datatable/ngt-datatable.module.mjs +0 -99
- package/esm2022/components/ngt-datatable/ngt-tbody/ngt-tbody.component.mjs +0 -57
- package/esm2022/components/ngt-datatable/ngt-td/ngt-td.component.mjs +0 -62
- package/esm2022/components/ngt-datatable/ngt-td-check/ngt-td-check.component.mjs +0 -113
- package/esm2022/components/ngt-datatable/ngt-th/ngt-th.component.mjs +0 -228
- package/esm2022/components/ngt-datatable/ngt-th-check/ngt-th-check.component.mjs +0 -127
- package/esm2022/components/ngt-datatable/ngt-thead/ngt-thead.component.mjs +0 -55
- package/esm2022/components/ngt-datatable/ngt-tr/ngt-tr.component.mjs +0 -86
- package/esm2022/components/ngt-date/ngt-date.component.mjs +0 -435
- package/esm2022/components/ngt-date/ngt-date.module.mjs +0 -40
- package/esm2022/components/ngt-dropdown/ngt-dropdown-container/ngt-dropdown-container.component.mjs +0 -19
- package/esm2022/components/ngt-dropdown/ngt-dropdown.component.mjs +0 -205
- package/esm2022/components/ngt-dropdown/ngt-dropdown.module.mjs +0 -21
- package/esm2022/components/ngt-dropzone/custom-dropzone-preview/custom-dropzone-preview.component.mjs +0 -54
- package/esm2022/components/ngt-dropzone/ngt-dropzone-file-viewer/ngt-dropzone-file-viewer.component.mjs +0 -66
- package/esm2022/components/ngt-dropzone/ngt-dropzone-view/ngt-dropzone-view.component.mjs +0 -94
- package/esm2022/components/ngt-dropzone/ngt-dropzone.component.mjs +0 -496
- package/esm2022/components/ngt-dropzone/ngt-dropzone.meta.mjs +0 -24
- package/esm2022/components/ngt-dropzone/ngt-dropzone.module.mjs +0 -55
- package/esm2022/components/ngt-floating-button/ngt-floating-button.component.mjs +0 -119
- package/esm2022/components/ngt-floating-button/ngt-floating-button.module.mjs +0 -28
- package/esm2022/components/ngt-form/ngt-form-validation-message/ngt-form-validation-message.component.mjs +0 -22
- package/esm2022/components/ngt-form/ngt-form.component.mjs +0 -207
- package/esm2022/components/ngt-form/ngt-form.module.mjs +0 -29
- package/esm2022/components/ngt-header-nav/ngt-header-nav.component.mjs +0 -39
- package/esm2022/components/ngt-header-nav/ngt-header-nav.module.mjs +0 -20
- package/esm2022/components/ngt-helper/ngt-helper.component.mjs +0 -69
- package/esm2022/components/ngt-helper/ngt-helper.module.mjs +0 -28
- package/esm2022/components/ngt-input/ngt-input.component.mjs +0 -844
- package/esm2022/components/ngt-input/ngt-input.module.mjs +0 -47
- package/esm2022/components/ngt-modal/ngt-modal-body/ngt-modal-body.component.mjs +0 -46
- package/esm2022/components/ngt-modal/ngt-modal-footer/ngt-modal-footer.component.mjs +0 -33
- package/esm2022/components/ngt-modal/ngt-modal-header/ngt-modal-header.component.mjs +0 -40
- package/esm2022/components/ngt-modal/ngt-modal.component.mjs +0 -122
- package/esm2022/components/ngt-modal/ngt-modal.module.mjs +0 -39
- package/esm2022/components/ngt-multi-select/ngt-multi-select.component.mjs +0 -503
- package/esm2022/components/ngt-multi-select/ngt-multi-select.module.mjs +0 -52
- package/esm2022/components/ngt-pagination/ngt-pagination.component.mjs +0 -162
- package/esm2022/components/ngt-pagination/ngt-pagination.module.mjs +0 -36
- package/esm2022/components/ngt-popover/ngt-popover-tooltip/ngt-popover-tooltip.component.mjs +0 -59
- package/esm2022/components/ngt-popover/ngt-popover.component.mjs +0 -85
- package/esm2022/components/ngt-popover/ngt-popover.directive.mjs +0 -130
- package/esm2022/components/ngt-popover/ngt-popover.module.mjs +0 -36
- package/esm2022/components/ngt-portlet/ngt-portlet-body/ngt-portlet-body.component.mjs +0 -34
- package/esm2022/components/ngt-portlet/ngt-portlet-footer/ngt-portlet-footer.component.mjs +0 -35
- package/esm2022/components/ngt-portlet/ngt-portlet-header/ngt-portlet-header.component.mjs +0 -57
- package/esm2022/components/ngt-portlet/ngt-portlet.component.mjs +0 -74
- package/esm2022/components/ngt-portlet/ngt-portlet.module.mjs +0 -47
- package/esm2022/components/ngt-radio-button/ngt-radio-button-container/ngt-radio-button-container.component.mjs +0 -19
- package/esm2022/components/ngt-radio-button/ngt-radio-button.component.mjs +0 -153
- package/esm2022/components/ngt-radio-button/ngt-radio-button.module.mjs +0 -29
- package/esm2022/components/ngt-section/ngt-section.component.mjs +0 -151
- package/esm2022/components/ngt-section/ngt-section.module.mjs +0 -32
- package/esm2022/components/ngt-select/ngt-select.component.mjs +0 -670
- package/esm2022/components/ngt-select/ngt-select.directive.mjs +0 -36
- package/esm2022/components/ngt-select/ngt-select.module.mjs +0 -65
- package/esm2022/components/ngt-shining/ngt-shining.component.mjs +0 -40
- package/esm2022/components/ngt-shining/ngt-shining.module.mjs +0 -20
- package/esm2022/components/ngt-sidenav/ngt-sidenav.component.mjs +0 -132
- package/esm2022/components/ngt-sidenav/ngt-sidenav.module.mjs +0 -20
- package/esm2022/components/ngt-slider/ngt-slider.component.mjs +0 -100
- package/esm2022/components/ngt-slider/ngt-slider.module.mjs +0 -24
- package/esm2022/components/ngt-svg/ngt-svg.component.mjs +0 -53
- package/esm2022/components/ngt-svg/ngt-svg.module.mjs +0 -24
- package/esm2022/components/ngt-tag/ngt-tag.component.mjs +0 -37
- package/esm2022/components/ngt-tag/ngt-tag.module.mjs +0 -24
- package/esm2022/components/ngt-textarea/ngt-textarea.component.mjs +0 -238
- package/esm2022/components/ngt-textarea/ngt-textarea.module.mjs +0 -43
- package/esm2022/components/ngt-validation/ngt-validation.component.mjs +0 -26
- package/esm2022/components/ngt-validation/ngt-validation.module.mjs +0 -20
- package/esm2022/directives/ngt-stylizable/ngt-stylizable.directive.mjs +0 -299
- package/esm2022/directives/ngt-stylizable/ngt-stylizable.module.mjs +0 -20
- package/esm2022/enums/size.enum.mjs +0 -11
- package/esm2022/helpers/enum/enum.mjs +0 -7
- package/esm2022/helpers/form/form.mjs +0 -14
- package/esm2022/helpers/input-mask/input-mask.helper.mjs +0 -26
- package/esm2022/helpers/promise/promise-helper.mjs +0 -4
- package/esm2022/helpers/routing/route.mjs +0 -11
- package/esm2022/helpers/uuid.mjs +0 -10
- package/esm2022/ng-tailwind.mjs +0 -5
- package/esm2022/public-api.mjs +0 -127
- package/esm2022/services/http/ngt-attachment-http.service.mjs +0 -3
- package/esm2022/services/http/ngt-http-form.service.mjs +0 -3
- package/esm2022/services/http/ngt-http-resource.service.mjs +0 -3
- package/esm2022/services/http/ngt-http-validation.service.mjs +0 -3
- package/esm2022/services/http/ngt-http.service.mjs +0 -3
- package/esm2022/services/http/ngt-translate.service.mjs +0 -3
- package/esm2022/services/ngt-stylizable/ngt-stylizable.service.mjs +0 -279
- 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LWZsb2F0aW5nLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy10YWlsd2luZC9zcmMvY29tcG9uZW50cy9uZ3QtZmxvYXRpbmctYnV0dG9uL25ndC1mbG9hdGluZy1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdGFpbHdpbmQvc3JjL2NvbXBvbmVudHMvbmd0LWZsb2F0aW5nLWJ1dHRvbi9uZ3QtZmxvYXRpbmctYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakYsT0FBTyxFQUFFLFNBQVMsRUFBWSxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7Ozs7O0FBWTVGLE1BQU0sQ0FBTixJQUFZLHFCQUdYO0FBSEQsV0FBWSxxQkFBcUI7SUFDN0Isa0RBQXlCLENBQUE7SUFDekIsMENBQWlCLENBQUE7QUFDckIsQ0FBQyxFQUhXLHFCQUFxQixLQUFyQixxQkFBcUIsUUFHaEM7QUE2QkQsTUFBTSxPQUFPLDBCQUEwQjtJQVNuQyxZQUNZLFFBQWtCLEVBQ0Usc0JBQThDO1FBRGxFLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDRSwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBUDlELGtCQUFhLEdBQVksS0FBSyxDQUFDO1FBRXhDLFdBQU0sR0FBWSxLQUFLLENBQUM7UUFPM0IsSUFBSSxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIs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TUFBTSxFQUFFLEtBQUssQ0FBQztnQ0FDaEIsU0FBUyxFQUFFLGdCQUFnQjs2QkFDOUIsQ0FBQyxDQUFDOzRCQUNILEtBQUssQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDO2dDQUNsQixTQUFTLEVBQUUsaUJBQWlCOzZCQUMvQixDQUFDLENBQUM7NEJBQ0gsVUFBVSxDQUFDLGdCQUFnQixFQUFFO2dDQUN6QixPQUFPLENBQUMsY0FBYyxDQUFDOzZCQUMxQixDQUFDOzRCQUNGLFVBQVUsQ0FBQyxnQkFBZ0IsRUFBRTtnQ0FDekIsT0FBTyxDQUFDLGNBQWMsQ0FBQzs2QkFDMUIsQ0FBQzt5QkFDTCxDQUFDO3FCQUNMOzswQkFhSSxJQUFJOzswQkFBSSxRQUFRO3lDQVZMLEtBQUs7c0JBQXBCLEtBQUs7Z0JBQ1UsSUFBSTtzQkFBbkIsS0FBSztnQkFDVSxLQUFLO3NCQUFwQixLQUFLO2dCQUNVLGFBQWE7c0JBQTVCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0b3IsIElucHV0LCBPcHRpb25hbCwgU2VsZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBOZ3RTdHlsaXphYmxlRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9uZ3Qtc3R5bGl6YWJsZS9uZ3Qtc3R5bGl6YWJsZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTmd0U3R5bGl6YWJsZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9uZ3Qtc3R5bGl6YWJsZS9uZ3Qtc3R5bGl6YWJsZS5zZXJ2aWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBOZ3RGbG9hdGluZ0J1dHRvbk1lbnUge1xuICAgIG5hbWU/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
|