ng-tailwind 6.2.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/components/ngt-checkbox/ngt-checkbox.component.d.ts +6 -6
- package/components/ngt-datatable/ngt-datatable.component.d.ts +24 -24
- package/components/ngt-date/ngt-date.component.d.ts +8 -8
- package/components/ngt-dropdown/ngt-dropdown.component.d.ts +6 -6
- package/components/ngt-floating-button/ngt-floating-button.component.d.ts +13 -13
- package/components/ngt-form/ngt-form.component.d.ts +4 -4
- package/components/ngt-popover/ngt-popover-tooltip/ngt-popover-tooltip.component.d.ts +5 -5
- package/components/ngt-popover/ngt-popover.component.d.ts +6 -6
- package/components/ngt-select/ngt-select.component.d.ts +8 -8
- package/components/ngt-shining/ngt-shining.component.d.ts +6 -6
- package/components/ngt-slider/ngt-slider.component.d.ts +6 -6
- package/components/ngt-svg/ngt-svg.module.d.ts +2 -3
- package/fesm2022/ng-tailwind.mjs +464 -455
- package/fesm2022/ng-tailwind.mjs.map +1 -1
- package/package.json +1 -3
- package/services/http/ngt-http-validation.service.d.ts +3 -5
- 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 -470
- 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 -436
- 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 -28
- 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: "17.3.12", ngImport: i0, type: NgtDropzoneModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
16
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", 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: "17.3.12", 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: "17.3.12", 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 class NgtFloatingButtonComponent {
|
|
10
|
-
constructor(injector, ngtStylizableDirective) {
|
|
11
|
-
this.injector = injector;
|
|
12
|
-
this.ngtStylizableDirective = ngtStylizableDirective;
|
|
13
|
-
this.withAnimation = false;
|
|
14
|
-
this.isOpen = false;
|
|
15
|
-
if (this.ngtStylizableDirective) {
|
|
16
|
-
this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();
|
|
17
|
-
}
|
|
18
|
-
else {
|
|
19
|
-
this.ngtStyle = new NgtStylizableService();
|
|
20
|
-
}
|
|
21
|
-
this.ngtStyle.load(this.injector, 'NgtFloatingButton', {
|
|
22
|
-
color: {
|
|
23
|
-
bg: 'bg-blue-500',
|
|
24
|
-
text: 'text-white',
|
|
25
|
-
},
|
|
26
|
-
px: 'px-4',
|
|
27
|
-
py: 'py-4',
|
|
28
|
-
h: 'h-12',
|
|
29
|
-
w: 'w-12'
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
toggleMenu() {
|
|
33
|
-
this.isOpen = !(this.isOpen);
|
|
34
|
-
}
|
|
35
|
-
openExternalLink(url) {
|
|
36
|
-
window.open(url, "_blank");
|
|
37
|
-
this.toggleMenu();
|
|
38
|
-
}
|
|
39
|
-
onClick(event, menu) {
|
|
40
|
-
event.stopPropagation();
|
|
41
|
-
this.toggleMenu();
|
|
42
|
-
if (typeof menu.action === 'function') {
|
|
43
|
-
return menu.action();
|
|
44
|
-
}
|
|
45
|
-
throw new Error('Action must be a function!');
|
|
46
|
-
}
|
|
47
|
-
isTypeAction(menu) {
|
|
48
|
-
return menu.type == NgtFloatingButtonType.ACTION;
|
|
49
|
-
}
|
|
50
|
-
isTypeNavigation(menu) {
|
|
51
|
-
return menu.type == NgtFloatingButtonType.NAVIGATION;
|
|
52
|
-
}
|
|
53
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgtFloatingButtonComponent, deps: [{ token: i0.Injector }, { token: i1.NgtStylizableDirective, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
54
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", 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: [
|
|
55
|
-
trigger('fadeY', [
|
|
56
|
-
state('void', style({ opacity: 0, transform: 'translateY(10px)' })),
|
|
57
|
-
transition(':enter, :leave', [
|
|
58
|
-
animate(300)
|
|
59
|
-
])
|
|
60
|
-
]),
|
|
61
|
-
trigger('openClose', [
|
|
62
|
-
state('open', style({
|
|
63
|
-
transform: 'rotate(180deg)'
|
|
64
|
-
})),
|
|
65
|
-
state('closed', style({
|
|
66
|
-
transform: 'rotate(-180deg)'
|
|
67
|
-
})),
|
|
68
|
-
transition('open => closed', [
|
|
69
|
-
animate('0.5s ease-in')
|
|
70
|
-
]),
|
|
71
|
-
transition('closed => open', [
|
|
72
|
-
animate('0.5s ease-in')
|
|
73
|
-
]),
|
|
74
|
-
]),
|
|
75
|
-
] }); }
|
|
76
|
-
}
|
|
77
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgtFloatingButtonComponent, decorators: [{
|
|
78
|
-
type: Component,
|
|
79
|
-
args: [{ selector: 'ngt-floating-button', animations: [
|
|
80
|
-
trigger('fadeY', [
|
|
81
|
-
state('void', style({ opacity: 0, transform: 'translateY(10px)' })),
|
|
82
|
-
transition(':enter, :leave', [
|
|
83
|
-
animate(300)
|
|
84
|
-
])
|
|
85
|
-
]),
|
|
86
|
-
trigger('openClose', [
|
|
87
|
-
state('open', style({
|
|
88
|
-
transform: 'rotate(180deg)'
|
|
89
|
-
})),
|
|
90
|
-
state('closed', style({
|
|
91
|
-
transform: 'rotate(-180deg)'
|
|
92
|
-
})),
|
|
93
|
-
transition('open => closed', [
|
|
94
|
-
animate('0.5s ease-in')
|
|
95
|
-
]),
|
|
96
|
-
transition('closed => open', [
|
|
97
|
-
animate('0.5s ease-in')
|
|
98
|
-
]),
|
|
99
|
-
]),
|
|
100
|
-
], 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" }]
|
|
101
|
-
}], ctorParameters: () => [{ type: i0.Injector }, { type: i1.NgtStylizableDirective, decorators: [{
|
|
102
|
-
type: Self
|
|
103
|
-
}, {
|
|
104
|
-
type: Optional
|
|
105
|
-
}] }], propDecorators: { menus: [{
|
|
106
|
-
type: Input
|
|
107
|
-
}], icon: [{
|
|
108
|
-
type: Input
|
|
109
|
-
}], label: [{
|
|
110
|
-
type: Input
|
|
111
|
-
}], withAnimation: [{
|
|
112
|
-
type: Input
|
|
113
|
-
}] } });
|
|
114
|
-
export var NgtFloatingButtonType;
|
|
115
|
-
(function (NgtFloatingButtonType) {
|
|
116
|
-
NgtFloatingButtonType["NAVIGATION"] = "NAVIGATION";
|
|
117
|
-
NgtFloatingButtonType["ACTION"] = "ACTION";
|
|
118
|
-
})(NgtFloatingButtonType || (NgtFloatingButtonType = {}));
|
|
119
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LWZsb2F0aW5nLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy10YWlsd2luZC9zcmMvY29tcG9uZW50cy9uZ3QtZmxvYXRpbmctYnV0dG9uL25ndC1mbG9hdGluZy1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdGFpbHdpbmQvc3JjL2NvbXBvbmVudHMvbmd0LWZsb2F0aW5nLWJ1dHRvbi9uZ3QtZmxvYXRpbmctYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakYsT0FBTyxFQUFFLFNBQVMsRUFBWSxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7Ozs7O0FBNkI1RixNQUFNLE9BQU8sMEJBQTBCO0lBU25DLFlBQ1ksUUFBa0IsRUFDRSxzQkFBOEM7UUFEbEUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNFLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFQOUQsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFFeEMsV0FBTSxHQUFZLEtBQUssQ0FBQztRQU8zQixJQUFJLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1lBQzlCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLHVCQUF1QixFQUFFLENBQUM7UUFDMUUsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksb0JBQW9CLEVBQUUsQ0FBQztRQUMvQyxDQUFDO1FBRUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENB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OzZCQUMvQixDQUFDLENBQUM7NEJBQ0gsVUFBVSxDQUFDLGdCQUFnQixFQUFFO2dDQUN6QixPQUFPLENBQUMsY0FBYyxDQUFDOzZCQUMxQixDQUFDOzRCQUNGLFVBQVUsQ0FBQyxnQkFBZ0IsRUFBRTtnQ0FDekIsT0FBTyxDQUFDLGNBQWMsQ0FBQzs2QkFDMUIsQ0FBQzt5QkFDTCxDQUFDO3FCQUNMOzswQkFhSSxJQUFJOzswQkFBSSxRQUFRO3lDQVZMLEtBQUs7c0JBQXBCLEtBQUs7Z0JBQ1UsSUFBSTtzQkFBbkIsS0FBSztnQkFDVSxLQUFLO3NCQUFwQixLQUFLO2dCQUNVLGFBQWE7c0JBQTVCLEtBQUs7O0FBa0VWLE1BQU0sQ0FBTixJQUFZLHFCQUdYO0FBSEQsV0FBWSxxQkFBcUI7SUFDN0Isa0RBQXlCLENBQUE7SUFDekIsMENBQWlCLENBQUE7QUFDckIsQ0FBQyxFQUhXLHFCQUFxQixLQUFyQixxQkFBcUIsUUFHaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0b3IsIElucHV0LCBPcHRpb25hbCwgU2VsZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBOZ3RTdHlsaXphYmxlRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9uZ3Qtc3R5bGl6YWJsZS9uZ3Qtc3R5bGl6YWJsZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTmd0U3R5bGl6YWJsZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9uZ3Qtc3R5bGl6YWJsZS9uZ3Qtc3R5bGl6YWJsZS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduZ3QtZmxvYXRpbmctYnV0dG9uJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbmd0LWZsb2F0aW5nLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgYW5pbWF0aW9uczogW1xuICAgICAgICB0cmlnZ2VyKCdmYWRlWScsIFtcbiAgICAgICAgICAgIHN0YXRlKCd2b2lkJywgc3R5bGUoeyBvcGFjaXR5OiAwLCB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDEwcHgpJyB9KSksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCc6ZW50ZXIsIDpsZWF2ZScsIFtcbiAgICAgICAgICAgICAgICBhbmltYXRlKDMwMClcbiAgICAgICAgICAgIF0pXG4gICAgICAgIF0pLFxuXG4gICAgICAgIHRyaWdnZXIoJ29wZW5DbG9zZScsIFtcbiAgICAgICAgICAgIHN0YXRlKCdvcGVuJywgc3R5bGUoe1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogJ3JvdGF0ZSgxODBkZWcpJ1xuICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgc3RhdGUoJ2Nsb3NlZCcsIHN0eWxlKHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06ICdyb3RhdGUoLTE4MGRlZyknXG4gICAgICAgICAgICB9KSksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCdvcGVuID0+IGNsb3NlZCcsIFtcbiAgICAgICAgICAgICAgICBhbmltYXRlKCcwLjVzIGVhc2UtaW4nKVxuICAgICAgICAgICAgXSksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCdjbG9zZWQgPT4gb3BlbicsIFtcbiAgICAgICAgICAgICAgICBhbmltYXRlKCcwLjVzIGVhc2UtaW4nKVxuICAgICAgICAgICAgXSksXG4gICAgICAgIF0pLFxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgTmd0RmxvYXRpbmdCdXR0b25Db21wb25lbnQge1xuICAgIEBJbnB1dCgpIHB1YmxpYyBtZW51czogQXJyYXk8Tmd0RmxvYXRpbmdCdXR0b25NZW51PjtcbiAgICBASW5wdXQoKSBwdWJsaWMgaWNvbjogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBsYWJlbDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHB1YmxpYyB3aXRoQW5pbWF0aW9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBwdWJsaWMgaXNPcGVuOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHVibGljIG5ndFN0eWxlOiBOZ3RTdHlsaXphYmxlU2VydmljZTtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIEBTZWxmKCkgQE9wdGlvbmFsKCkgcHJpdmF0ZSBuZ3RTdHlsaXphYmxlRGlyZWN0aXZlOiBOZ3RTdHlsaXphYmxlRGlyZWN0aXZlLFxuICAgICkge1xuICAgICAgICBpZiAodGhpcy5uZ3RTdHlsaXphYmxlRGlyZWN0aXZlKSB7XG4gICAgICAgICAgICB0aGlzLm5ndFN0eWxlID0gdGhpcy5uZ3RTdHlsaXphYmxlRGlyZWN0aXZlLmdldE5ndFN0eWxpemFibGVTZXJ2aWNlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm5ndFN0eWxlID0gbmV3IE5ndFN0eWxpemFibGVTZXJ2aWNlKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm5ndFN0eWxlLmxvYWQodGhpcy5pbmplY3RvciwgJ05ndEZsb2F0aW5nQnV0dG9uJywge1xuICAgICAgICAgICAgY29sb3I6IHtcbiAgICAgICAgICAgICAgICBiZzogJ2JnLWJsdWUtNTAwJyxcbiAgICAgICAgICAgICAgICB0ZXh0OiAndGV4dC13aGl0ZScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcHg6ICdweC00JyxcbiAgICAgICAgICAgIHB5OiAncHktNCcsXG4gICAgICAgICAgICBoOiAnaC0xMicsXG4gICAgICAgICAgICB3OiAndy0xMidcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHRvZ2dsZU1lbnUoKSB7XG4gICAgICAgIHRoaXMuaXNPcGVuID0gISh0aGlzLmlzT3Blbik7XG4gICAgfVxuXG4gICAgcHVibGljIG9wZW5FeHRlcm5hbExpbmsodXJsOiBzdHJpbmcpIHtcbiAgICAgICAgd2luZG93Lm9wZW4odXJsLCBcIl9ibGFua1wiKTtcbiAgICAgICAgdGhpcy50b2dnbGVNZW51KCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uQ2xpY2soZXZlbnQ6IEV2ZW50LCBtZW51OiBOZ3RGbG9hdGluZ0J1dHRvbk1lbnUpIHtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHRoaXMudG9nZ2xlTWVudSgpO1xuXG4gICAgICAgIGlmICh0eXBlb2YgbWVudS5hY3Rpb24gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHJldHVybiBtZW51LmFjdGlvbigpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdBY3Rpb24gbXVzdCBiZSBhIGZ1bmN0aW9uIScpO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc1R5cGVBY3Rpb24obWVudTogTmd0RmxvYXRpbmdCdXR0b25NZW51KSB7XG4gICAgICAgIHJldHVybiBtZW51LnR5cGUgPT0gTmd0RmxvYXRpbmdCdXR0b25UeXBlLkFDVElPTjtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNUeXBlTmF2aWdhdGlvbihtZW51OiBOZ3RGbG9hdGluZ0J1dHRvbk1lbnUpIHtcbiAgICAgICAgcmV0dXJuIG1lbnUudHlwZSA9PSBOZ3RGbG9hdGluZ0J1dHRvblR5cGUuTkFWSUdBVElPTjtcbiAgICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmd0RmxvYXRpbmdCdXR0b25NZW51IHtcbiAgICBuYW1lPzogc3RyaW5nO1xuICAgIHR5cGU6IE5ndEZsb2F0aW5nQnV0dG9uVHlwZTtcbiAgICBpY29uPzogc3RyaW5nO1xuICAgIHRvb2x0aXA/OiBzdHJpbmc7XG4gICAgZXh0ZXJuYWxMaW5rPzogYm9vbGVhbjtcbiAgICB1cmw/OiBzdHJpbmc7XG4gICAgYWN0aW9uPzogRnVuY3Rpb247XG59XG5cbmV4cG9ydCBlbnVtIE5ndEZsb2F0aW5nQnV0dG9uVHlwZSB7XG4gICAgTkFWSUdBVElPTiA9ICdOQVZJR0FUSU9OJyxcbiAgICBBQ1RJT04gPSAnQUNUSU9OJ1xufVxuIiwiPGJ1dHRvbiAoY2xpY2spPVwidG9nZ2xlTWVudSgpXCIgKm5nSWY9XCJpc09wZW5cIiB0YWJpbmRleD1cIi0xXCJcbiAgICBjbGFzcz1cImZpeGVkIHotMTAgaW5zZXQtMCBoLWZ1bGwgdy1mdWxsIGJnLWJsYWNrIG9wYWNpdHktMCBjdXJzb3ItZGVmYXVsdFwiPjwvYnV0dG9uPlxuXG48ZGl2IGNsYXNzPVwie3sgbmd0U3R5bGUuY29tcGlsZShbJ3cnXSkgfX0gcm91bmRlZC1mdWxsIHJlbGF0aXZlIHotMjBcIiAqbmdJZj1cImlzT3BlblwiIEBmYWRlWT5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBtZW51IG9mIG1lbnVzOyBsZXQgaSA9IGluZGV4XCI+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: "17.3.12", ngImport: i0, type: NgtFloatingButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
9
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", 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: "17.3.12", ngImport: i0, type: NgtFloatingButtonModule, imports: [CommonModule,
|
|
13
|
-
RouterModule,
|
|
14
|
-
NgtSvgModule] }); }
|
|
15
|
-
}
|
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", 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: "17.3.12", 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: "17.3.12", 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: "17.3.12", 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 class NgtFormComponent {
|
|
14
|
-
static { this.onSubmitInvalidForm = new EventEmitter; }
|
|
15
|
-
constructor(router, route, formContainer, ngForm, changeDetector, ngtHttpFormService, ngtAbilityValidationService) {
|
|
16
|
-
this.router = router;
|
|
17
|
-
this.route = route;
|
|
18
|
-
this.formContainer = formContainer;
|
|
19
|
-
this.ngForm = ngForm;
|
|
20
|
-
this.changeDetector = changeDetector;
|
|
21
|
-
this.ngtHttpFormService = ngtHttpFormService;
|
|
22
|
-
this.ngtAbilityValidationService = ngtAbilityValidationService;
|
|
23
|
-
this.guessFormState = true;
|
|
24
|
-
this.message = '';
|
|
25
|
-
this.routeIdentifier = 'id';
|
|
26
|
-
this.onCreating = new EventEmitter;
|
|
27
|
-
this.onEditing = new EventEmitter;
|
|
28
|
-
this.onLoadingChange = new EventEmitter;
|
|
29
|
-
this.onShiningChange = new EventEmitter;
|
|
30
|
-
this.setupComponent = new EventEmitter;
|
|
31
|
-
this.onResourceLoadingError = new EventEmitter;
|
|
32
|
-
this.subscriptions = [];
|
|
33
|
-
}
|
|
34
|
-
ngOnInit() {
|
|
35
|
-
if (this.guessFormState) {
|
|
36
|
-
this.subscriptions.push(this.determineFormState().subscribe(() => {
|
|
37
|
-
this.setupComponent.emit();
|
|
38
|
-
}));
|
|
39
|
-
}
|
|
40
|
-
else {
|
|
41
|
-
this.setupComponent.emit();
|
|
42
|
-
}
|
|
43
|
-
this.subscriptions.push(this.ngForm.ngSubmit.subscribe(() => {
|
|
44
|
-
if (!this.ngForm.valid) {
|
|
45
|
-
NgtFormComponent.onSubmitInvalidForm.emit(this.ngForm);
|
|
46
|
-
}
|
|
47
|
-
}));
|
|
48
|
-
}
|
|
49
|
-
async ngAfterViewInit() {
|
|
50
|
-
if (this.isDisabled === undefined && this.ngtAbilityValidationService) {
|
|
51
|
-
this.isDisabled = !(await this.ngtAbilityValidationService.hasManagePermission());
|
|
52
|
-
this.changeDetector.detectChanges();
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
ngOnDestroy() {
|
|
56
|
-
this.destroySubscriptions();
|
|
57
|
-
}
|
|
58
|
-
isCreating() {
|
|
59
|
-
return this.formState === NgtFormState.CREATING;
|
|
60
|
-
}
|
|
61
|
-
isEditing() {
|
|
62
|
-
return this.formState === NgtFormState.EDITING;
|
|
63
|
-
}
|
|
64
|
-
isLoading() {
|
|
65
|
-
return this.loading;
|
|
66
|
-
}
|
|
67
|
-
isShining() {
|
|
68
|
-
return this.shining;
|
|
69
|
-
}
|
|
70
|
-
canShowValidationMessage() {
|
|
71
|
-
return this.formContainer &&
|
|
72
|
-
this.formContainer['submitted'] &&
|
|
73
|
-
this.formContainer.status != 'VALID' &&
|
|
74
|
-
this.formContainer.status != 'DISABLED';
|
|
75
|
-
}
|
|
76
|
-
setShining(shining) {
|
|
77
|
-
this.shining = shining;
|
|
78
|
-
this.onShiningChange.emit(this.shining);
|
|
79
|
-
}
|
|
80
|
-
setLoading(loading) {
|
|
81
|
-
this.loading = loading;
|
|
82
|
-
this.onLoadingChange.emit(this.loading);
|
|
83
|
-
}
|
|
84
|
-
setFormState(state, triggerChange = true) {
|
|
85
|
-
this.formState = state;
|
|
86
|
-
if (triggerChange) {
|
|
87
|
-
this.triggerFormStateChange();
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
getFormState() {
|
|
91
|
-
return this.formState;
|
|
92
|
-
}
|
|
93
|
-
triggerFormStateChange() {
|
|
94
|
-
if (this.isEditing()) {
|
|
95
|
-
this.triggerFormEditing();
|
|
96
|
-
}
|
|
97
|
-
else if (this.isCreating()) {
|
|
98
|
-
this.triggerFormCreating();
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
formHasChanges() {
|
|
102
|
-
return this.ngForm.dirty;
|
|
103
|
-
}
|
|
104
|
-
saveResource() {
|
|
105
|
-
return new Observable((observer) => {
|
|
106
|
-
if (isValidNgForm(this.ngForm)) {
|
|
107
|
-
this.setLoading(true);
|
|
108
|
-
this.subscriptions.push(this.ngtHttpFormService.saveResource(this.resource)
|
|
109
|
-
.subscribe((response) => {
|
|
110
|
-
this.setLoading(false);
|
|
111
|
-
observer.next(response);
|
|
112
|
-
observer.complete();
|
|
113
|
-
}));
|
|
114
|
-
}
|
|
115
|
-
else {
|
|
116
|
-
observer.error();
|
|
117
|
-
}
|
|
118
|
-
});
|
|
119
|
-
}
|
|
120
|
-
triggerFormCreating() {
|
|
121
|
-
this.onCreating.emit();
|
|
122
|
-
}
|
|
123
|
-
triggerFormEditing() {
|
|
124
|
-
if (this.uriId && this.resource) {
|
|
125
|
-
this.setLoading(true);
|
|
126
|
-
this.setShining(true);
|
|
127
|
-
this.subscriptions.push(this.ngtHttpFormService.loadResourceById(this.resource, this.uriId)
|
|
128
|
-
.subscribe((resource) => {
|
|
129
|
-
this.setLoading(false);
|
|
130
|
-
this.setShining(false);
|
|
131
|
-
this.onEditing.emit(resource);
|
|
132
|
-
setTimeout(() => this.ngForm.form.markAsPristine(), 1500);
|
|
133
|
-
}, (error) => {
|
|
134
|
-
this.setLoading(false);
|
|
135
|
-
this.setShining(false);
|
|
136
|
-
this.onResourceLoadingError.emit(error);
|
|
137
|
-
}));
|
|
138
|
-
return;
|
|
139
|
-
}
|
|
140
|
-
this.onEditing.emit(null);
|
|
141
|
-
}
|
|
142
|
-
determineFormState() {
|
|
143
|
-
return new Observable((observer) => {
|
|
144
|
-
this.subscriptions.push(getIdFromUri(this.route, this.routeIdentifier).subscribe((id) => {
|
|
145
|
-
this.uriId = id;
|
|
146
|
-
if (this.uriId) {
|
|
147
|
-
this.setFormState(NgtFormState.EDITING);
|
|
148
|
-
}
|
|
149
|
-
else {
|
|
150
|
-
this.setFormState(NgtFormState.CREATING);
|
|
151
|
-
}
|
|
152
|
-
observer.next(null);
|
|
153
|
-
}));
|
|
154
|
-
});
|
|
155
|
-
}
|
|
156
|
-
destroySubscriptions() {
|
|
157
|
-
this.subscriptions.forEach(subscription => subscription.unsubscribe());
|
|
158
|
-
this.subscriptions = [];
|
|
159
|
-
}
|
|
160
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", 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 }); }
|
|
161
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", 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"] }] }); }
|
|
162
|
-
}
|
|
163
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgtFormComponent, decorators: [{
|
|
164
|
-
type: Component,
|
|
165
|
-
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>" }]
|
|
166
|
-
}], ctorParameters: () => [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.ControlContainer, decorators: [{
|
|
167
|
-
type: Optional
|
|
168
|
-
}, {
|
|
169
|
-
type: Host
|
|
170
|
-
}] }, { type: i2.NgForm, decorators: [{
|
|
171
|
-
type: Optional
|
|
172
|
-
}, {
|
|
173
|
-
type: Host
|
|
174
|
-
}] }, { type: i0.ChangeDetectorRef }, { type: i3.NgtHttpFormService }, { type: i4.NgtAbilityValidationService, decorators: [{
|
|
175
|
-
type: Optional
|
|
176
|
-
}] }], propDecorators: { guessFormState: [{
|
|
177
|
-
type: Input
|
|
178
|
-
}], message: [{
|
|
179
|
-
type: Input
|
|
180
|
-
}], routeIdentifier: [{
|
|
181
|
-
type: Input
|
|
182
|
-
}], resource: [{
|
|
183
|
-
type: Input
|
|
184
|
-
}], customLayout: [{
|
|
185
|
-
type: Input
|
|
186
|
-
}], isDisabled: [{
|
|
187
|
-
type: Input
|
|
188
|
-
}], onCreating: [{
|
|
189
|
-
type: Output
|
|
190
|
-
}], onEditing: [{
|
|
191
|
-
type: Output
|
|
192
|
-
}], onLoadingChange: [{
|
|
193
|
-
type: Output
|
|
194
|
-
}], onShiningChange: [{
|
|
195
|
-
type: Output
|
|
196
|
-
}], setupComponent: [{
|
|
197
|
-
type: Output
|
|
198
|
-
}], onResourceLoadingError: [{
|
|
199
|
-
type: Output
|
|
200
|
-
}] } });
|
|
201
|
-
export var NgtFormState;
|
|
202
|
-
(function (NgtFormState) {
|
|
203
|
-
NgtFormState["CREATING"] = "CREATING";
|
|
204
|
-
NgtFormState["EDITING"] = "EDITING";
|
|
205
|
-
})(NgtFormState || (NgtFormState = {}));
|
|
206
|
-
;
|
|
207
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdGFpbHdpbmQvc3JjL2NvbXBvbmVudHMvbmd0LWZvcm0vbmd0LWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdGFpbHdpbmQvc3JjL2NvbXBvbmVudHMvbmd0LWZvcm0vbmd0LWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdILFNBQVMsRUFDVCxZQUFZLEVBQ1osSUFBSSxFQUNKLEtBQUssRUFHTCxRQUFRLEVBQ1IsTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxVQUFVLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBRWhELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7Ozs7O0FBRTRDLENBQUM7QUFNeEcsTUFBTSxPQUFPLGdCQUFnQjthQUNYLHdCQUFtQixHQUF5QixJQUFJLFlBQVksQUFBekMsQ0FBMEM7SUF1QjNFLFlBQ1csTUFBYyxFQUNkLEtBQXFCLEVBR3JCLGFBQStCLEVBRy9CLE1BQWMsRUFFYixjQUFpQyxFQUNqQyxrQkFBc0MsRUFHdEMsMkJBQXdEO1FBYnpELFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUdyQixrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFHL0IsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUViLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQUNqQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBR3RDLGdDQUEyQixHQUEzQiwyQkFBMkIsQ0FBNkI7UUFuQ3BELG1CQUFjLEdBQVksSUFBSSxDQUFDO1FBQy9CLFlBQU8sR0FBVyxFQUFFLENB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QkFFVyxVQUFVO3NCQUExQixNQUFNO2dCQUNVLFNBQVM7c0JBQXpCLE1BQU07Z0JBQ1UsZUFBZTtzQkFBL0IsTUFBTTtnQkFDVSxlQUFlO3NCQUEvQixNQUFNO2dCQUNVLGNBQWM7c0JBQTlCLE1BQU07Z0JBQ1Usc0JBQXNCO3NCQUF0QyxNQUFNOztBQWlNWCxNQUFNLENBQU4sSUFBWSxZQUdYO0FBSEQsV0FBWSxZQUFZO0lBQ3BCLHFDQUFxQixDQUFBO0lBQ3JCLG1DQUFtQixDQUFBO0FBQ3ZCLENBQUMsRUFIVyxZQUFZLEtBQVosWUFBWSxRQUd2QjtBQUFBLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0LFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xDb250YWluZXIsIE5nRm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IGlzVmFsaWROZ0Zvcm0gfSBmcm9tICcuLi8uLi9oZWxwZXJzL2Zvcm0vZm9ybSc7XG5pbXBvcnQgeyBnZXRJZEZyb21VcmkgfSBmcm9tICcuLi8uLi9oZWxwZXJzL3JvdXRpbmcvcm91dGUnO1xuaW1wb3J0IHsgTmd0SHR0cEZvcm1TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaHR0cC9uZ3QtaHR0cC1mb3JtLnNlcnZpY2UnO1xuaW1wb3J0IHsgTmd0QWJpbGl0eVZhbGlkYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdmFsaWRhdGlvbi9uZ3QtYWJpbGl0eS12YWxpZGF0aW9uLnNlcnZpY2UnOztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduZ3QtZm9ybScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL25ndC1mb3JtLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgTmd0Rm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcbiAgICBwdWJsaWMgc3RhdGljIG9uU3VibWl0SW52YWxpZEZvcm06IEV2ZW50RW1pdHRlcjxOZ0Zvcm0+ID0gbmV3IEV2ZW50RW1pdHRlcjtcblxuICAgIEBJbnB1dCgpIHB1YmxpYyBndWVzc0Zvcm1TdGF0ZTogYm9vbGVhbiA9IHRydWU7XG4gICAgQElucHV0KCkgcHVibGljIG1lc3NhZ2U6IHN0cmluZyA9ICcnO1xuICAgIEBJbnB1dCgpIHB1YmxpYyByb3V0ZUlkZW50aWZpZXI6IHN0cmluZyA9ICdpZCc7XG4gICAgQElucHV0KCkgcHVibGljIHJlc291cmNlOiBhbnk7XG4gICAgQElucHV0KCkgcHVibGljIGN1c3RvbUxheW91dDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBwdWJsaWMgaXNEaXNhYmxlZDogYm9vbGVhbjtcblxuICAgIEBPdXRwdXQoKSBwdWJsaWMgb25DcmVhdGluZzogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgb25FZGl0aW5nOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI7XG4gICAgQE91dHB1dCgpIHB1YmxpYyBvbkxvYWRpbmdDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI7XG4gICAgQE91dHB1dCgpIHB1YmxpYyBvblNoaW5pbmdDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI7XG4gICAgQE91dHB1dCgpIHB1YmxpYyBzZXR1cENvbXBvbmVudDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgb25SZXNvdXJjZUxvYWRpbmdFcnJvcjogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyO1xuXG4gICAgcHVibGljIGZvcm1TdGF0ZTogTmd0Rm9ybVN0YXRlO1xuICAgIHB1YmxpYyB1cmlJZDogYW55O1xuXG4gICAgcHJpdmF0ZSBsb2FkaW5nOiBib29sZWFuO1xuICAgIHByaXZhdGUgc2hpbmluZzogYm9vbGVhbjtcbiAgICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IEFycmF5PFN1YnNjcmlwdGlvbj4gPSBbXTtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIHJvdXRlcjogUm91dGVyLFxuICAgICAgICBwdWJsaWMgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuXG4gICAgICAgIEBPcHRpb25hbCgpIEBIb3N0KClcbiAgICAgICAgcHVibGljIGZvcm1Db250YWluZXI6IENvbnRyb2xDb250YWluZXIsXG5cbiAgICAgICAgQE9wdGlvbmFsKCkgQEhvc3QoKVxuICAgICAgICBwdWJsaWMgbmdGb3JtOiBOZ0Zvcm0sXG5cbiAgICAgICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgbmd0SHR0cEZvcm1TZXJ2aWNlOiBOZ3RIdHRwRm9ybVNlcnZpY2UsXG5cbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgcHJpdmF0ZSBuZ3RBYmlsaXR5VmFsaWRhdGlvblNlcnZpY2U6IE5ndEFiaWxpdHlWYWxpZGF0aW9uU2VydmljZVxuICAgICkgeyB9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgICAgIGlmICh0aGlzLmd1ZXNzRm9ybVN0YXRlKSB7XG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgICAgICAgICAgICB0aGlzLmRldGVybWluZUZvcm1TdGF0ZSgpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0dXBDb21wb25lbnQuZW1pdCgpO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZXR1cENvbXBvbmVudC5lbWl0KCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgICAgICAgIHRoaXMubmdGb3JtLm5nU3VibWl0LnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLm5nRm9ybS52YWxpZCkge1xuICAgICAgICAgICAgICAgICAgICBOZ3RGb3JtQ29tcG9uZW50Lm9uU3VibWl0SW52YWxpZEZvcm0uZW1pdCh0aGlzLm5nRm9ybSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgbmdBZnRlclZpZXdJbml0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBpZiAodGhpcy5pc0Rpc2FibGVkID09PSB1bmRlZmluZWQgJiYgdGhpcy5uZ3RBYmlsaXR5VmFsaWRhdGlvblNlcnZpY2UpIHtcbiAgICAgICAgICAgIHRoaXMuaXNEaXNhYmxlZCA9ICEoYXdhaXQgdGhpcy5uZ3RBYmlsaXR5VmFsaWRhdGlvblNlcnZpY2UuaGFzTWFuYWdlUGVybWlzc2lvbigpKTtcblxuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuZGVzdHJveVN1YnNjcmlwdGlvbnMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNDcmVhdGluZygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybVN0YXRlID09PSBOZ3RGb3JtU3RhdGUuQ1JFQVRJTkc7XG4gICAgfVxuXG4gICAgcHVibGljIGlzRWRpdGluZygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybVN0YXRlID09PSBOZ3RGb3JtU3RhdGUuRURJVElORztcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNMb2FkaW5nKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5sb2FkaW5nO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc1NoaW5pbmcoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNoaW5pbmc7XG4gICAgfVxuXG4gICAgcHVibGljIGNhblNob3dWYWxpZGF0aW9uTWVzc2FnZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybUNvbnRhaW5lciAmJlxuICAgICAgICAgICAgdGhpcy5mb3JtQ29udGFpbmVyWydzdWJtaXR0ZWQnXSAmJlxuICAgICAgICAgICAgdGhpcy5mb3JtQ29udGFpbmVyLnN0YXR1cyAhPSAnVkFMSUQnICYmXG4gICAgICAgICAgICB0aGlzLmZvcm1Db250YWluZXIuc3RhdHVzICE9ICdESVNBQkxFRCc7XG4gICAgfVxuXG4gICAgcHVibGljIHNldFNoaW5pbmcoc2hpbmluZzogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnNoaW5pbmcgPSBzaGluaW5nO1xuICAgICAgICB0aGlzLm9uU2hpbmluZ0NoYW5nZS5lbWl0KHRoaXMuc2hpbmluZyk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldExvYWRpbmcobG9hZGluZzogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSBsb2FkaW5nO1xuICAgICAgICB0aGlzLm9uTG9hZGluZ0NoYW5nZS5lbWl0KHRoaXMubG9hZGluZyk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldEZvcm1TdGF0ZShzdGF0ZTogTmd0Rm9ybVN0YXRlLCB0cmlnZ2VyQ2hhbmdlOiBib29sZWFuID0gdHJ1ZSkge1xuICAgICAgICB0aGlzLmZvcm1TdGF0ZSA9IHN0YXRlO1xuXG4gICAgICAgIGlmICh0cmlnZ2VyQ2hhbmdlKSB7XG4gICAgICAgICAgICB0aGlzLnRyaWdnZXJGb3JtU3RhdGVDaGFuZ2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXRGb3JtU3RhdGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1TdGF0ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdHJpZ2dlckZvcm1TdGF0ZUNoYW5nZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNFZGl0aW5nKCkpIHtcbiAgICAgICAgICAgIHRoaXMudHJpZ2dlckZvcm1FZGl0aW5nKCk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5pc0NyZWF0aW5nKCkpIHtcbiAgICAgICAgICAgIHRoaXMudHJpZ2dlckZvcm1DcmVhdGluZygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGZvcm1IYXNDaGFuZ2VzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5uZ0Zvcm0uZGlydHk7XG4gICAgfVxuXG4gICAgcHVibGljIHNhdmVSZXNvdXJjZSgpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChvYnNlcnZlcikgPT4ge1xuICAgICAgICAgICAgaWYgKGlzVmFsaWROZ0Zvcm0odGhpcy5uZ0Zvcm0pKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRMb2FkaW5nKHRydWUpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubmd0SHR0cEZvcm1TZXJ2aWNlLnNhdmVSZXNvdXJjZSh0aGlzLnJlc291cmNlKVxuICAgICAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0TG9hZGluZyhmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dChyZXNwb25zZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgb2JzZXJ2ZXIuZXJyb3IoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHRyaWdnZXJGb3JtQ3JlYXRpbmcoKSB7XG4gICAgICAgIHRoaXMub25DcmVhdGluZy5lbWl0KCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHRyaWdnZXJGb3JtRWRpdGluZygpIHtcbiAgICAgICAgaWYgKHRoaXMudXJpSWQgJiYgdGhpcy5yZXNvdXJjZSkge1xuICAgICAgICAgICAgdGhpcy5zZXRMb2FkaW5nKHRydWUpO1xuICAgICAgICAgICAgdGhpcy5zZXRTaGluaW5nKHRydWUpO1xuXG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgICAgICAgICAgICB0aGlzLm5ndEh0dHBGb3JtU2VydmljZS5sb2FkUmVzb3VyY2VCeUlkKHRoaXMucmVzb3VyY2UsIHRoaXMudXJpSWQpXG4gICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgICAgICAgICAocmVzb3VyY2U6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0TG9hZGluZyhmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRTaGluaW5nKGZhbHNlKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub25FZGl0aW5nLmVtaXQocmVzb3VyY2UpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLm5nRm9ybS5mb3JtLm1hcmtBc1ByaXN0aW5lKCksIDE1MDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0TG9hZGluZyhmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRTaGluaW5nKGZhbHNlKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub25SZXNvdXJjZUxvYWRpbmdFcnJvci5lbWl0KGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5vbkVkaXRpbmcuZW1pdChudWxsKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGRldGVybWluZUZvcm1TdGF0ZSgpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChvYnNlcnZlcikgPT4ge1xuICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICAgICAgICAgICAgZ2V0SWRGcm9tVXJpKHRoaXMucm91dGUsIHRoaXMucm91dGVJZGVudGlmaWVyKS5zdWJzY3JpYmUoKGlkOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy51cmlJZCA9IGlkO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnVyaUlkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldEZvcm1TdGF0ZShOZ3RGb3JtU3RhdGUuRURJVElORyk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldEZvcm1TdGF0ZShOZ3RGb3JtU3RhdGUuQ1JFQVRJTkcpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dChudWxsKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkZXN0cm95U3Vic2NyaXB0aW9ucygpIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2goc3Vic2NyaXB0aW9uID0+IHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpKTtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zID0gW107XG4gICAgfVxufVxuXG5leHBvcnQgZW51bSBOZ3RGb3JtU3RhdGUge1xuICAgIENSRUFUSU5HID0gJ0NSRUFUSU5HJyxcbiAgICBFRElUSU5HID0gJ0VESVRJTkcnXG59O1xuIiwiPG5ndC1mb3JtLXZhbGlkYXRpb24tbWVzc2FnZSAqbmdJZj0nIWN1c3RvbUxheW91dCcgW2NhblNob3dWYWxpZGF0aW9uTWVzc2FnZV09XCJjYW5TaG93VmFsaWRhdGlvbk1lc3NhZ2UoKVwiXG4gICAgW21lc3NhZ2VdPVwibWVzc2FnZVwiPlxuPC9uZ3QtZm9ybS12YWxpZGF0aW9uLW1lc3NhZ2U+XG5cbjxmaWVsZHNldCBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZFwiIHN0eWxlPVwibWluLWlubGluZS1zaXplOiAxMDAlICFpbXBvcnRhbnRcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2ZpZWxkc2V0PiJdfQ==
|
|
@@ -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: "17.3.12", ngImport: i0, type: NgtFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
8
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", 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: "17.3.12", ngImport: i0, type: NgtFormModule, imports: [CommonModule] }); }
|
|
12
|
-
}
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", 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: "17.3.12", 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: "17.3.12", 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: "17.3.12", 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
|