@rlucan/ui 18.2.3 → 19.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/fesm2022/rlucan-ui.mjs +158 -160
  2. package/fesm2022/rlucan-ui.mjs.map +1 -1
  3. package/package.json +11 -13
  4. package/esm2022/lib/action-button/action-button.component.mjs +0 -99
  5. package/esm2022/lib/action-icon/action-icon.component.mjs +0 -37
  6. package/esm2022/lib/auto-complete/auto-complete.component.mjs +0 -405
  7. package/esm2022/lib/autocomplete/autocomplete.component.mjs +0 -391
  8. package/esm2022/lib/avatar/avatar.component.mjs +0 -34
  9. package/esm2022/lib/button/button.component.mjs +0 -57
  10. package/esm2022/lib/checkbox/checkbox.component.mjs +0 -39
  11. package/esm2022/lib/checkbox-group/checkbox-group.component.mjs +0 -91
  12. package/esm2022/lib/currency/currency.component.mjs +0 -151
  13. package/esm2022/lib/date/date.component.mjs +0 -68
  14. package/esm2022/lib/dialog/dialog.component.mjs +0 -37
  15. package/esm2022/lib/directives/force-visibility/force-visibility.directive.mjs +0 -104
  16. package/esm2022/lib/editor/editor.component.mjs +0 -119
  17. package/esm2022/lib/elements/burger/burger.component.mjs +0 -21
  18. package/esm2022/lib/elements/expander/expander.component.mjs +0 -28
  19. package/esm2022/lib/elements/validation-message/validation-message.component.mjs +0 -47
  20. package/esm2022/lib/file/file.component.mjs +0 -177
  21. package/esm2022/lib/file-uploader/ui-file-uploader.component.mjs +0 -424
  22. package/esm2022/lib/input/input.component.mjs +0 -265
  23. package/esm2022/lib/input-autocomplete/input-autocomplete.component.mjs +0 -277
  24. package/esm2022/lib/layouts/base/ui-base-layout.component.mjs +0 -22
  25. package/esm2022/lib/layouts/base/ui-base.component.mjs +0 -74
  26. package/esm2022/lib/layouts/simple/ui-simple-layout.component.mjs +0 -18
  27. package/esm2022/lib/layouts/simple/ui-simple.component.mjs +0 -166
  28. package/esm2022/lib/radio/radio.component.mjs +0 -21
  29. package/esm2022/lib/radio-group/radio-group.component.mjs +0 -58
  30. package/esm2022/lib/select/select.component.mjs +0 -126
  31. package/esm2022/lib/services/message-box.service.mjs +0 -149
  32. package/esm2022/lib/services/toast.service.mjs +0 -23
  33. package/esm2022/lib/services/ui-file.service.mjs +0 -72
  34. package/esm2022/lib/services/ui-translate.service.mjs +0 -32
  35. package/esm2022/lib/submit-button/submit-button.component.mjs +0 -72
  36. package/esm2022/lib/table/table.component.mjs +0 -97
  37. package/esm2022/lib/text-area/text-area.component.mjs +0 -46
  38. package/esm2022/lib/ui.model.mjs +0 -2
  39. package/esm2022/lib/ui.module.mjs +0 -274
  40. package/esm2022/public-api.mjs +0 -36
  41. package/esm2022/rlucan-ui.mjs +0 -5
@@ -1,39 +0,0 @@
1
- import { Component, Input, Optional, Self } from '@angular/core';
2
- import { UiSimpleComponent } from '../layouts/simple/ui-simple.component';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/forms";
5
- import * as i2 from "@angular/common";
6
- import * as i3 from "@angular/material/checkbox";
7
- import * as i4 from "../layouts/simple/ui-simple-layout.component";
8
- export class CheckboxComponent extends UiSimpleComponent {
9
- constructor(ngControl) {
10
- super(ngControl);
11
- this.ngControl = ngControl;
12
- this.color = 'primary';
13
- this.useInputMessages = 'never';
14
- }
15
- ngOnInit() {
16
- super.ngOnInit();
17
- if (this.label) {
18
- this.text = this.label;
19
- this.label = undefined;
20
- }
21
- }
22
- setDisabledState(isDisabled) {
23
- }
24
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: CheckboxComponent, deps: [{ token: i1.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
25
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.1", type: CheckboxComponent, selector: "ui-checkbox", inputs: { color: "color", useInputMessages: "useInputMessages" }, usesInheritance: true, ngImport: i0, template: "<ui-simple-layout [ctx]=\"this\">\r\n\r\n <div class=\"control-container\">\r\n <mat-checkbox [formControl]=\"componentFormControl\" [color]=\"color\" [class]=\"size\">\r\n <div *ngIf=\"!text\"><ng-content></ng-content></div>\r\n <div *ngIf=\"text\" [innerHTML]=\"text\"></div>\r\n </mat-checkbox>\r\n <div *ngIf=\"hint\" class=\"hint\" [innerHTML]=\"hint\"></div>\r\n </div>\r\n</ui-simple-layout>\r\n", styles: [":host{display:flex}:host ::ng-deep .mat-checkbox{display:flex}:host ::ng-deep .hint{font-size:.8em;padding-top:.1em;padding-left:2.05em}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4.UiSimpleLayoutComponent, selector: "ui-simple-layout", inputs: ["ctx"] }] }); }
26
- }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: CheckboxComponent, decorators: [{
28
- type: Component,
29
- args: [{ selector: 'ui-checkbox', template: "<ui-simple-layout [ctx]=\"this\">\r\n\r\n <div class=\"control-container\">\r\n <mat-checkbox [formControl]=\"componentFormControl\" [color]=\"color\" [class]=\"size\">\r\n <div *ngIf=\"!text\"><ng-content></ng-content></div>\r\n <div *ngIf=\"text\" [innerHTML]=\"text\"></div>\r\n </mat-checkbox>\r\n <div *ngIf=\"hint\" class=\"hint\" [innerHTML]=\"hint\"></div>\r\n </div>\r\n</ui-simple-layout>\r\n", styles: [":host{display:flex}:host ::ng-deep .mat-checkbox{display:flex}:host ::ng-deep .hint{font-size:.8em;padding-top:.1em;padding-left:2.05em}\n"] }]
30
- }], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
31
- type: Optional
32
- }, {
33
- type: Self
34
- }] }], propDecorators: { color: [{
35
- type: Input
36
- }], useInputMessages: [{
37
- type: Input
38
- }] } });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLEtBQUssRUFBVSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTVGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7Ozs7QUFZMUUsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGlCQUFpQjtJQU90RCxZQUF1QyxTQUFvQjtRQUN6RCxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFEb0IsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUxsRCxVQUFLLEdBQWtDLFNBQVMsQ0FBQztRQUNqRCxxQkFBZ0IsR0FBb0MsT0FBTyxDQUFDO0lBTXJFLENBQUM7SUFFRCxRQUFRO1FBQ04sS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDO1FBQ3pCLENBQUM7SUFDSCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsVUFBbUI7SUFDcEMsQ0FBQzs4R0FwQlUsaUJBQWlCO2tHQUFqQixpQkFBaUIsNElDZDlCLHlhQVVBOzsyRkRJYSxpQkFBaUI7a0JBVjdCLFNBQVM7K0JBQ0UsYUFBYTs7MEJBZ0JWLFFBQVE7OzBCQUFJLElBQUk7eUNBTHBCLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3QsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25Jbml0LCBPcHRpb25hbCwgU2VsZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFVpU2ltcGxlQ29tcG9uZW50IH0gZnJvbSAnLi4vbGF5b3V0cy9zaW1wbGUvdWktc2ltcGxlLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3VpLWNoZWNrYm94JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3guY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NoZWNrYm94LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgLy8gcHJvdmlkZXJzOiBbe1xyXG4gIC8vICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgLy8gICBtdWx0aTogdHJ1ZSxcclxuICAvLyAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENoZWNrYm94Q29tcG9uZW50KSxcclxuICAvLyB9XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hlY2tib3hDb21wb25lbnQgZXh0ZW5kcyBVaVNpbXBsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBJbnB1dCgpIGNvbG9yOiAncHJpbWFyeScgfCAnYWNjZW50JyB8ICd3YXJuJyA9ICdwcmltYXJ5JztcclxuICBASW5wdXQoKSB1c2VJbnB1dE1lc3NhZ2VzOiAnbmV2ZXInIHwgJ2Fsd2F5cycgfCAnb25kZW1hbmQnID0gJ25ldmVyJztcclxuXHJcbiAgdGV4dDtcclxuXHJcbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQFNlbGYoKSBwdWJsaWMgbmdDb250cm9sOiBOZ0NvbnRyb2wpIHtcclxuICAgIHN1cGVyKG5nQ29udHJvbCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICBpZiAodGhpcy5sYWJlbCkge1xyXG4gICAgICB0aGlzLnRleHQgPSB0aGlzLmxhYmVsO1xyXG4gICAgICB0aGlzLmxhYmVsID0gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgfVxyXG59XHJcbiIsIjx1aS1zaW1wbGUtbGF5b3V0IFtjdHhdPVwidGhpc1wiPlxyXG5cclxuICA8ZGl2IGNsYXNzPVwiY29udHJvbC1jb250YWluZXJcIj5cclxuICAgIDxtYXQtY2hlY2tib3ggW2Zvcm1Db250cm9sXT1cImNvbXBvbmVudEZvcm1Db250cm9sXCIgW2NvbG9yXT1cImNvbG9yXCIgW2NsYXNzXT1cInNpemVcIj5cclxuICAgICAgPGRpdiAqbmdJZj1cIiF0ZXh0XCI+PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PjwvZGl2PlxyXG4gICAgICA8ZGl2ICpuZ0lmPVwidGV4dFwiIFtpbm5lckhUTUxdPVwidGV4dFwiPjwvZGl2PlxyXG4gICAgPC9tYXQtY2hlY2tib3g+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiaGludFwiIGNsYXNzPVwiaGludFwiIFtpbm5lckhUTUxdPVwiaGludFwiPjwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L3VpLXNpbXBsZS1sYXlvdXQ+XHJcbiJdfQ==
@@ -1,91 +0,0 @@
1
- import { Component, Input, Optional, Self } from '@angular/core';
2
- import { UiSimpleComponent } from '../layouts/simple/ui-simple.component';
3
- import { UntypedFormControl, Validators } from '@angular/forms';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/forms";
6
- import * as i2 from "@angular/common";
7
- import * as i3 from "../checkbox/checkbox.component";
8
- import * as i4 from "../layouts/simple/ui-simple-layout.component";
9
- // export interface CheckboxGroupOption {
10
- // value: any,
11
- // label: string,
12
- // hint?: string
13
- // }
14
- export class CheckboxGroupComponent extends UiSimpleComponent {
15
- constructor(control) {
16
- super(control);
17
- this.control = control;
18
- this.displayAttribute = 'label';
19
- this.hintAttribute = 'hint';
20
- this.optionEnabled = (option) => true;
21
- }
22
- // ngOnInit(): void {
23
- // super.ngOnInit();
24
- // }
25
- ngOnChanges(changes) {
26
- super.ngOnChanges(changes);
27
- if (changes.options) {
28
- this.cbxs = [];
29
- this.valueMode = Array.isArray(this.control.value) ? 'array' : 'object';
30
- Object.keys(changes.options.currentValue).forEach(k => {
31
- const v = changes.options.currentValue[k];
32
- const ct = new UntypedFormControl(this.valueMode === 'array' ? this.control.value.includes(v) : this.control.value[k] === true);
33
- if (!this.optionEnabled(v)) {
34
- ct.disable();
35
- }
36
- ct.valueChanges.subscribe(() => {
37
- const value = this.valueMode === 'array' ? [] : {};
38
- let hasChecked = false;
39
- this.cbxs.forEach((cbx) => {
40
- const checked = cbx.control.value;
41
- hasChecked = hasChecked || checked;
42
- if (this.valueMode === 'array') {
43
- if (checked) {
44
- value.push(cbx.value.value);
45
- }
46
- }
47
- else {
48
- value[cbx.key] = checked;
49
- }
50
- });
51
- this.componentFormControl.markAsTouched();
52
- this.componentFormControl.setValue(value);
53
- if (this.componentFormControl.hasValidator(Validators.required) && !hasChecked) {
54
- this.componentFormControl.setErrors({ cbGroupRequired: true });
55
- }
56
- else {
57
- this.componentFormControl.setErrors(null);
58
- }
59
- });
60
- this.cbxs.push({
61
- control: ct,
62
- value: this.valueAttribute ? v[this.valueAttribute] : v,
63
- label: this.displayAttribute ? v[this.displayAttribute] : v,
64
- hint: this.hintAttribute ? v[this.hintAttribute] : undefined,
65
- key: this.valueMode === 'object' ? k : undefined
66
- });
67
- });
68
- }
69
- }
70
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: CheckboxGroupComponent, deps: [{ token: i1.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
71
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.1", type: CheckboxGroupComponent, selector: "ui-checkbox-group", inputs: { valueAttribute: "valueAttribute", displayAttribute: "displayAttribute", hintAttribute: "hintAttribute", options: "options", optionEnabled: "optionEnabled" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ui-simple-layout [ctx]=\"this\">\r\n\r\n<ui-checkbox *ngFor=\"let cbx of cbxs\" [formControl]=\"cbx.control\" [label]=\"cbx.label\" [hint]=\"cbx.hint\"></ui-checkbox>\r\n\r\n</ui-simple-layout>\r\n", styles: [":host ui-checkbox{margin-top:.2em;margin-bottom:.2em}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.CheckboxComponent, selector: "ui-checkbox", inputs: ["color", "useInputMessages"] }, { kind: "component", type: i4.UiSimpleLayoutComponent, selector: "ui-simple-layout", inputs: ["ctx"] }] }); }
72
- }
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: CheckboxGroupComponent, decorators: [{
74
- type: Component,
75
- args: [{ selector: 'ui-checkbox-group', template: "<ui-simple-layout [ctx]=\"this\">\r\n\r\n<ui-checkbox *ngFor=\"let cbx of cbxs\" [formControl]=\"cbx.control\" [label]=\"cbx.label\" [hint]=\"cbx.hint\"></ui-checkbox>\r\n\r\n</ui-simple-layout>\r\n", styles: [":host ui-checkbox{margin-top:.2em;margin-bottom:.2em}\n"] }]
76
- }], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
77
- type: Optional
78
- }, {
79
- type: Self
80
- }] }], propDecorators: { valueAttribute: [{
81
- type: Input
82
- }], displayAttribute: [{
83
- type: Input
84
- }], hintAttribute: [{
85
- type: Input
86
- }], options: [{
87
- type: Input
88
- }], optionEnabled: [{
89
- type: Input
90
- }] } });
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jaGVja2JveC1ncm91cC9jaGVja2JveC1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NoZWNrYm94LWdyb3VwL2NoZWNrYm94LWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFhLFFBQVEsRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBYSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBRTNFLHlDQUF5QztBQUN6QyxnQkFBZ0I7QUFDaEIsbUJBQW1CO0FBQ25CLGtCQUFrQjtBQUNsQixJQUFJO0FBY0osTUFBTSxPQUFPLHNCQUF1QixTQUFRLGlCQUFpQjtJQWEzRCxZQUF1QyxPQUFrQjtRQUN2RCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFEc0IsWUFBTyxHQUFQLE9BQU8sQ0FBVztRQU5oRCxxQkFBZ0IsR0FBRyxPQUFPLENBQUM7UUFDM0Isa0JBQWEsR0FBRyxNQUFNLENBQUM7UUFHdkIsa0JBQWEsR0FBRyxDQUFDLE1BQVcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDO0lBSS9DLENBQUM7SUFFRCxxQkFBcUI7SUFDckIsc0JBQXNCO0lBQ3RCLElBQUk7SUFFSixXQUFXLENBQUMsT0FBc0I7UUFDaEMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQixJQUFJLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztZ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Q0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUztvQkFDNUQsR0FBRyxFQUFFLElBQUksQ0FBQyxTQUFTLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7aUJBQ2pELENBQUMsQ0FBQTtZQUNKLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7OEdBL0RVLHNCQUFzQjtrR0FBdEIsc0JBQXNCLDZRQ3RCbkMsd01BS0E7OzJGRGlCYSxzQkFBc0I7a0JBWmxDLFNBQVM7K0JBQ0UsbUJBQW1COzswQkF3QmhCLFFBQVE7OzBCQUFJLElBQUk7eUNBUHBCLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBRUcsT0FBTztzQkFBZixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMsIE9wdGlvbmFsLCBTZWxmLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFVpU2ltcGxlQ29tcG9uZW50IH0gZnJvbSAnLi4vbGF5b3V0cy9zaW1wbGUvdWktc2ltcGxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVudHlwZWRGb3JtQ29udHJvbCwgTmdDb250cm9sLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuLy8gZXhwb3J0IGludGVyZmFjZSBDaGVja2JveEdyb3VwT3B0aW9uIHtcclxuLy8gICB2YWx1ZTogYW55LFxyXG4vLyAgIGxhYmVsOiBzdHJpbmcsXHJcbi8vICAgaGludD86IHN0cmluZ1xyXG4vLyB9XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3VpLWNoZWNrYm94LWdyb3VwJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NoZWNrYm94LWdyb3VwLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgLy8gcHJvdmlkZXJzOiBbXHJcbiAgLy8gICB7XHJcbiAgLy8gICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXHJcbiAgLy8gICAgIG11bHRpOiB0cnVlLFxyXG4gIC8vICAgICB1c2VFeGlzdGluZzogQ2hlY2tib3hHcm91cENvbXBvbmVudFxyXG4gIC8vICAgfVxyXG4gIC8vIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIENoZWNrYm94R3JvdXBDb21wb25lbnQgZXh0ZW5kcyBVaVNpbXBsZUNvbXBvbmVudCBpbXBsZW1lbnRzIC8qT25Jbml0LCAqL09uQ2hhbmdlcyB7IC8vIH0sIFZhbGlkYXRvciB7XHJcblxyXG4gIGNieHM6IGFueTtcclxuXHJcbiAgcHJpdmF0ZSB2YWx1ZU1vZGU6ICdhcnJheScgfCAnb2JqZWN0JztcclxuXHJcbiAgQElucHV0KCkgdmFsdWVBdHRyaWJ1dGU6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSBkaXNwbGF5QXR0cmlidXRlID0gJ2xhYmVsJztcclxuICBASW5wdXQoKSBoaW50QXR0cmlidXRlID0gJ2hpbnQnO1xyXG5cclxuICBASW5wdXQoKSBvcHRpb25zOiBhbnlbXTtcclxuICBASW5wdXQoKSBvcHRpb25FbmFibGVkID0gKG9wdGlvbjogYW55KSA9PiB0cnVlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBAU2VsZigpIHB1YmxpYyBjb250cm9sOiBOZ0NvbnRyb2wpIHtcclxuICAgIHN1cGVyKGNvbnRyb2wpO1xyXG4gIH1cclxuXHJcbiAgLy8gbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgLy8gICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gIC8vIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgc3VwZXIubmdPbkNoYW5nZXMoY2hhbmdlcyk7XHJcbiAgICBpZiAoY2hhbmdlcy5vcHRpb25zKSB7XHJcbiAgICAgIHRoaXMuY2J4cyA9IFtdO1xyXG4gICAgICB0aGlzLnZhbHVlTW9kZSA9IEFycmF5LmlzQXJyYXkodGhpcy5jb250cm9sLnZhbHVlKSA/ICdhcnJheScgOiAnb2JqZWN0JztcclxuICAgICAgT2JqZWN0LmtleXMoY2hhbmdlcy5vcHRpb25zLmN1cnJlbnRWYWx1ZSkuZm9yRWFjaChrID0+IHtcclxuICAgICAgICBjb25zdCB2ID0gY2hhbmdlcy5vcHRpb25zLmN1cnJlbnRWYWx1ZVtrXTtcclxuICAgICAgICBjb25zdCBjdCA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wodGhpcy52YWx1ZU1vZGUgPT09ICdhcnJheScgPyB0aGlzLmNvbnRyb2wudmFsdWUuaW5jbHVkZXModikgOiB0aGlzLmNvbnRyb2wudmFsdWVba10gPT09IHRydWUpO1xyXG4gICAgICAgIGlmICghdGhpcy5vcHRpb25FbmFibGVkKHYpKSB7XHJcbiAgICAgICAgICBjdC5kaXNhYmxlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGN0LnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnZhbHVlTW9kZSA9PT0gJ2FycmF5JyA/IFtdIDoge307XHJcbiAgICAgICAgICBsZXQgaGFzQ2hlY2tlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5jYnhzLmZvckVhY2goKGNieCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBjaGVja2VkID0gY2J4LmNvbnRyb2wudmFsdWU7XHJcbiAgICAgICAgICAgIGhhc0NoZWNrZWQgPSBoYXNDaGVja2VkIHx8IGNoZWNrZWQ7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnZhbHVlTW9kZSA9PT0gJ2FycmF5Jykge1xyXG4gICAgICAgICAgICAgIGlmIChjaGVja2VkKSB7XHJcbiAgICAgICAgICAgICAgICAodmFsdWUgYXMgYW55W10pLnB1c2goY2J4LnZhbHVlLnZhbHVlKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgdmFsdWVbY2J4LmtleV0gPSBjaGVja2VkO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIHRoaXMuY29tcG9uZW50Rm9ybUNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xyXG4gICAgICAgICAgdGhpcy5jb21wb25lbnRGb3JtQ29udHJvbC5zZXRWYWx1ZSh2YWx1ZSk7XHJcbiAgICAgICAgICBpZiAodGhpcy5jb21wb25lbnRGb3JtQ29udHJvbC5oYXNWYWxpZGF0b3IoVmFsaWRhdG9ycy5yZXF1aXJlZCkgJiYgIWhhc0NoZWNrZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5jb21wb25lbnRGb3JtQ29udHJvbC5zZXRFcnJvcnMoe2NiR3JvdXBSZXF1aXJlZDogdHJ1ZX0pO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5jb21wb25lbnRGb3JtQ29udHJvbC5zZXRFcnJvcnMobnVsbCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5jYnhzLnB1c2goe1xyXG4gICAgICAgICAgY29udHJvbDogY3QsXHJcbiAgICAgICAgICB2YWx1ZTogdGhpcy52YWx1ZUF0dHJpYnV0ZSA/IHZbdGhpcy52YWx1ZUF0dHJpYnV0ZV0gOiB2LFxyXG4gICAgICAgICAgbGFiZWw6IHRoaXMuZGlzcGxheUF0dHJpYnV0ZSA/IHZbdGhpcy5kaXNwbGF5QXR0cmlidXRlXSA6IHYsXHJcbiAgICAgICAgICBoaW50OiB0aGlzLmhpbnRBdHRyaWJ1dGUgPyB2W3RoaXMuaGludEF0dHJpYnV0ZV0gOiB1bmRlZmluZWQsXHJcbiAgICAgICAgICBrZXk6IHRoaXMudmFsdWVNb2RlID09PSAnb2JqZWN0JyA/IGsgOiB1bmRlZmluZWRcclxuICAgICAgICB9KVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIHJlZ2lzdGVyT25WYWxpZGF0b3JDaGFuZ2UoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcclxuICAvLyB9XHJcbiAgLy9cclxuICAvLyB2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XHJcbiAgLy8gICBjb25zb2xlLmxvZygndmFsaWRhdGUnKTtcclxuICAvLyAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgLy8gfVxyXG59XHJcbiIsIjx1aS1zaW1wbGUtbGF5b3V0IFtjdHhdPVwidGhpc1wiPlxyXG5cclxuPHVpLWNoZWNrYm94ICpuZ0Zvcj1cImxldCBjYnggb2YgY2J4c1wiIFtmb3JtQ29udHJvbF09XCJjYnguY29udHJvbFwiIFtsYWJlbF09XCJjYngubGFiZWxcIiBbaGludF09XCJjYnguaGludFwiPjwvdWktY2hlY2tib3g+XHJcblxyXG48L3VpLXNpbXBsZS1sYXlvdXQ+XHJcbiJdfQ==
@@ -1,151 +0,0 @@
1
- import { Component, Host, HostBinding, Input, Optional, SkipSelf } from '@angular/core';
2
- import { UiBaseComponent } from '../layouts/base/ui-base.component';
3
- import { UntypedFormControl, UntypedFormGroup, NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/forms";
6
- import * as i2 from "@angular/common";
7
- import * as i3 from "../input/input.component";
8
- import * as i4 from "../select/select.component";
9
- import * as i5 from "../layouts/base/ui-base-layout.component";
10
- export class CurrencyComponent extends UiBaseComponent {
11
- // @HostBinding('class')
12
- // get sizeClass(): string {
13
- // return this.size;
14
- // }
15
- constructor(controlContainer) {
16
- super();
17
- this.controlContainer = controlContainer;
18
- this.currencies = [];
19
- this.currencyDisabled = false;
20
- this.panelClass = 'ui-currency';
21
- this.amountHidden = false;
22
- this.formGroup = new UntypedFormGroup({
23
- amount: new UntypedFormControl(),
24
- currency: new UntypedFormControl()
25
- });
26
- this.hasFocus = false;
27
- this.onChange = (value) => { };
28
- }
29
- ngOnInit() {
30
- super.ngOnInit();
31
- this.formGroup.valueChanges.subscribe(v => this.onChange(v));
32
- // this.formGroup = new FormGroup({
33
- // amount: new FormControl(this.control?.value.amount),
34
- // currency: new FormControl(this.currencies.find(c => c.code === this.control?.value.currency.code))
35
- // });
36
- // this.formGroup.valueChanges.subscribe(v => {
37
- // this.onChange(this.formGroup?.getRawValue());
38
- // });
39
- if (this.currencyDisabled) {
40
- this.formGroup.get('currency')?.disable();
41
- }
42
- // this.ngControl.control.statusChanges.subscribe(s => {
43
- // if (s === 'INVALID') {
44
- // // this.formGroup?.get('amount')?.setErrors(this.control?.errors || null);
45
- // this.formGroup?.get('currency')?.markAsTouched();
46
- // // this.formGroup?.get('currency')?.setErrors(this.control?.errors || null);
47
- // }
48
- // if (s === 'DISABLED') {
49
- // this.formGroup?.disable({emitEvent: false});
50
- // }
51
- // if (s === 'VALID') {
52
- // this.formGroup?.enable({emitEvent: false});
53
- // if (this.currencyDisabled) {
54
- // this.formGroup?.get('currency')?.disable({emitEvent: false});
55
- // }
56
- // }
57
- // });
58
- this.parentFormControl = this.controlContainer.control.get(this.formControlName);
59
- }
60
- // bindValidators(validators) {
61
- // console.log('binding validators', validators);
62
- // if (this.formGroup) {
63
- // this.formGroup.get('amount').setValidators(validators);
64
- // this.formGroup.get('currency').markAsTouched();
65
- // this.formGroup.get('currency').setErrors(validators);
66
- // }
67
- // }
68
- get isInvalid() {
69
- return this.parentFormControl.invalid;
70
- }
71
- get validationErrors() {
72
- return this.parentFormControl.errors;
73
- }
74
- focusChanged(hasFocus) {
75
- this.hasFocus = hasFocus;
76
- }
77
- registerOnChange(fn) {
78
- this.onChange = fn;
79
- }
80
- registerOnTouched(fn) {
81
- }
82
- registerOnValidatorChange(fn) {
83
- }
84
- setDisabledState(isDisabled) {
85
- if (isDisabled) {
86
- this.formGroup.get('amount').disable();
87
- if (!this.currencyDisabled) {
88
- this.formGroup.get('currency').disable();
89
- }
90
- }
91
- else {
92
- this.formGroup.get('amount').enable();
93
- if (!this.currencyDisabled) {
94
- this.formGroup.get('currency').enable();
95
- }
96
- }
97
- }
98
- validate(control) {
99
- return undefined;
100
- }
101
- writeValue(obj) {
102
- this.formGroup.setValue(obj);
103
- }
104
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: CurrencyComponent, deps: [{ token: i1.ControlContainer, host: true, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component }); }
105
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.1", type: CurrencyComponent, selector: "ui-currency", inputs: { currencies: "currencies", currencyDisabled: "currencyDisabled", formControlName: "formControlName", panelClass: "panelClass", amountHidden: "amountHidden" }, host: { properties: { "class.amount-hidden": "this.amountHidden", "class.focus": "this.hasFocus" } }, providers: [{
106
- provide: NG_VALUE_ACCESSOR,
107
- multi: true,
108
- useExisting: CurrencyComponent
109
- }, {
110
- provide: NG_VALIDATORS,
111
- multi: true,
112
- useExisting: CurrencyComponent
113
- }
114
- ], usesInheritance: true, ngImport: i0, template: "<ui-base-layout [ctx]=\"this\">\r\n\r\n<div class=\"control-container\" [formGroup]=\"formGroup\">\r\n <ui-input *ngIf=\"!amountHidden\" [textAlign]=\"'right'\" [formControlName]=\"'amount'\" [placeholder]=\"placeholder\" #input [useInputMessages]=\"'never'\" (focusChanged)=\"focusChanged($event)\"></ui-input>\r\n <ui-select [panelClass]=\"panelClass\" [formControlName]=\"'currency'\" [displayAttribute]=\"'symbol'\" [options]=\"currencies\" [useInputMessages]=\"'never'\"></ui-select>\r\n</div>\r\n\r\n</ui-base-layout>\r\n\r\n", styles: [":host{display:block}:host.amount-hidden ui-select{padding-left:.7em}:host .control-container{display:flex;border-style:solid}:host .control-container ui-input{flex:1 1 100%}:host .control-container ui-select{flex-grow:0;flex-shrink:1}:host ::ng-deep .mat-mdc-select-trigger{padding-left:.2em}:host ::ng-deep input{text-align:right;padding-right:.2em}:host ::ng-deep input,:host ::ng-deep .mat-mdc-select-trigger{border-width:0}:host.large ui-select{flex-basis:4.5em}:host.larger ui-select{flex-basis:5em}:host.normal ui-select{flex-basis:5.5em}:host.smaller ui-select{flex-basis:6em}:host.small ui-select{flex-basis:6em}:host.amount-hidden.large ui-select{flex-basis:5.2em}:host.amount-hidden.larger ui-select{flex-basis:4.7em}:host.amount-hidden.normal ui-select{flex-basis:4.2em}:host.amount-hidden.smaller ui-select{flex-basis:3.8em}:host.amount-hidden.smaller ui-select ::ng-deep .mat-mdc-select-trigger{width:3.2em}:host.amount-hidden.small ui-select{flex-basis:3.5em}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i3.InputComponent, selector: "ui-input", inputs: ["prefixIcon", "suffixIcon", "type", "clearButton", "activeIcons", "forceHasPrefix", "forceHasSuffix", "textAlign"], outputs: ["focusChanged", "keyPressed"] }, { kind: "component", type: i4.SelectComponent, selector: "ui-select", inputs: ["multiple", "triggerFormatter", "valueAttribute", "resetText", "displayAttribute", "options", "optionFormatter", "optionTemplateRef", "triggerTemplateRef", "panelClass", "allowEmptySelection", "trackBy"] }, { kind: "component", type: i5.UiBaseLayoutComponent, selector: "ui-base-layout", inputs: ["ctx"] }] }); }
115
- }
116
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: CurrencyComponent, decorators: [{
117
- type: Component,
118
- args: [{ selector: 'ui-currency', providers: [{
119
- provide: NG_VALUE_ACCESSOR,
120
- multi: true,
121
- useExisting: CurrencyComponent
122
- }, {
123
- provide: NG_VALIDATORS,
124
- multi: true,
125
- useExisting: CurrencyComponent
126
- }
127
- ], template: "<ui-base-layout [ctx]=\"this\">\r\n\r\n<div class=\"control-container\" [formGroup]=\"formGroup\">\r\n <ui-input *ngIf=\"!amountHidden\" [textAlign]=\"'right'\" [formControlName]=\"'amount'\" [placeholder]=\"placeholder\" #input [useInputMessages]=\"'never'\" (focusChanged)=\"focusChanged($event)\"></ui-input>\r\n <ui-select [panelClass]=\"panelClass\" [formControlName]=\"'currency'\" [displayAttribute]=\"'symbol'\" [options]=\"currencies\" [useInputMessages]=\"'never'\"></ui-select>\r\n</div>\r\n\r\n</ui-base-layout>\r\n\r\n", styles: [":host{display:block}:host.amount-hidden ui-select{padding-left:.7em}:host .control-container{display:flex;border-style:solid}:host .control-container ui-input{flex:1 1 100%}:host .control-container ui-select{flex-grow:0;flex-shrink:1}:host ::ng-deep .mat-mdc-select-trigger{padding-left:.2em}:host ::ng-deep input{text-align:right;padding-right:.2em}:host ::ng-deep input,:host ::ng-deep .mat-mdc-select-trigger{border-width:0}:host.large ui-select{flex-basis:4.5em}:host.larger ui-select{flex-basis:5em}:host.normal ui-select{flex-basis:5.5em}:host.smaller ui-select{flex-basis:6em}:host.small ui-select{flex-basis:6em}:host.amount-hidden.large ui-select{flex-basis:5.2em}:host.amount-hidden.larger ui-select{flex-basis:4.7em}:host.amount-hidden.normal ui-select{flex-basis:4.2em}:host.amount-hidden.smaller ui-select{flex-basis:3.8em}:host.amount-hidden.smaller ui-select ::ng-deep .mat-mdc-select-trigger{width:3.2em}:host.amount-hidden.small ui-select{flex-basis:3.5em}\n"] }]
128
- }], ctorParameters: () => [{ type: i1.ControlContainer, decorators: [{
129
- type: Optional
130
- }, {
131
- type: Host
132
- }, {
133
- type: SkipSelf
134
- }] }], propDecorators: { currencies: [{
135
- type: Input
136
- }], currencyDisabled: [{
137
- type: Input
138
- }], formControlName: [{
139
- type: Input
140
- }], panelClass: [{
141
- type: Input
142
- }], amountHidden: [{
143
- type: HostBinding,
144
- args: ['class.amount-hidden']
145
- }, {
146
- type: Input
147
- }], hasFocus: [{
148
- type: HostBinding,
149
- args: ['class.focus']
150
- }] } });
151
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3kuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jdXJyZW5jeS9jdXJyZW5jeS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2N1cnJlbmN5L2N1cnJlbmN5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDcEUsT0FBTyxFQUdMLGtCQUFrQixFQUNsQixnQkFBZ0IsRUFDaEIsYUFBYSxFQUNiLGlCQUFpQixFQUdsQixNQUFNLGdCQUFnQixDQUFDOzs7Ozs7O0FBaUJ4QixNQUFNLE9BQU8saUJBQWtCLFNBQVEsZUFBZTtJQW9CcEQsd0JBQXdCO0lBQ3hCLDRCQUE0QjtJQUM1QixzQkFBc0I7SUFDdEIsSUFBSTtJQUVKLFlBQXNELGdCQUFrQztRQUN0RixLQUFLLEVBQUUsQ0FBQztRQUQ0QyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBdkIvRSxlQUFVLEdBQWlDLEVBQUUsQ0FBQztRQUM5QyxxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFFekIsZUFBVSxHQUFHLGFBQWEsQ0FBQztRQUczQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUU5QixjQUFTLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQztZQUMvQixNQUFNLEVBQUUsSUFBSSxrQkFBa0IsRUFBRTtZQUNoQyxRQUFRLEVBQUUsSUFBSSxrQkFBa0IsRUFBRTtTQUNuQyxDQUFDLENBQUM7UUFLSCxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBV2pCLGFBQVEsR0FBRyxDQUFDLEtBQUssRUFBRSxFQUFFLEdBQUUs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RSxpQkFBaUI7YUFDL0IsRUFBRTtnQkFDRCxPQUFPLEVBQUUsYUFBYTtnQkFDdEIsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsV0FBVyxFQUFFLGlCQUFpQjthQUMvQjtTQUNBLGlEQzFCSCx1aEJBU0E7OzJGRG1CYSxpQkFBaUI7a0JBZjdCLFNBQVM7K0JBQ0UsYUFBYSxhQUdaLENBQUM7NEJBQ1YsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsS0FBSyxFQUFFLElBQUk7NEJBQ1gsV0FBVyxtQkFBbUI7eUJBQy9CLEVBQUU7NEJBQ0QsT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLEtBQUssRUFBRSxJQUFJOzRCQUNYLFdBQVcsbUJBQW1CO3lCQUMvQjtxQkFDQTs7MEJBMkJZLFFBQVE7OzBCQUFJLElBQUk7OzBCQUFJLFFBQVE7eUNBdkJoQyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBR0csWUFBWTtzQkFEcEIsV0FBVzt1QkFBQyxxQkFBcUI7O3NCQUNqQyxLQUFLO2dCQVVOLFFBQVE7c0JBRFAsV0FBVzt1QkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0LCBIb3N0QmluZGluZywgSW5wdXQsIE9uSW5pdCwgT3B0aW9uYWwsIFNraXBTZWxmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFVpQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uL2xheW91dHMvYmFzZS91aS1iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgQWJzdHJhY3RDb250cm9sLCBDb250cm9sQ29udGFpbmVyLFxyXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxyXG4gIFVudHlwZWRGb3JtQ29udHJvbCxcclxuICBVbnR5cGVkRm9ybUdyb3VwLCBGb3JtR3JvdXBEaXJlY3RpdmUsXHJcbiAgTkdfVkFMSURBVE9SUyxcclxuICBOR19WQUxVRV9BQ0NFU1NPUixcclxuICBWYWxpZGF0aW9uRXJyb3JzLFxyXG4gIFZhbGlkYXRvclxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndWktY3VycmVuY3knLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jdXJyZW5jeS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbICcuL2N1cnJlbmN5LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbe1xyXG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICBtdWx0aTogdHJ1ZSxcclxuICAgIHVzZUV4aXN0aW5nOiBDdXJyZW5jeUNvbXBvbmVudFxyXG4gIH0sIHtcclxuICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXHJcbiAgICBtdWx0aTogdHJ1ZSxcclxuICAgIHVzZUV4aXN0aW5nOiBDdXJyZW5jeUNvbXBvbmVudFxyXG4gIH1cclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDdXJyZW5jeUNvbXBvbmVudCBleHRlbmRzIFVpQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIFZhbGlkYXRvciB7XHJcblxyXG4gIEBJbnB1dCgpIGN1cnJlbmNpZXM6IFBhcnRpYWw8eyBjb2RlOiBzdHJpbmc7IH0+W10gPSBbXTtcclxuICBASW5wdXQoKSBjdXJyZW5jeURpc2FibGVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZm9ybUNvbnRyb2xOYW1lOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcGFuZWxDbGFzcyA9ICd1aS1jdXJyZW5jeSc7XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuYW1vdW50LWhpZGRlbicpXHJcbiAgQElucHV0KCkgYW1vdW50SGlkZGVuID0gZmFsc2U7XHJcblxyXG4gIGZvcm1Hcm91cCA9IG5ldyBVbnR5cGVkRm9ybUdyb3VwKHtcclxuICAgIGFtb3VudDogbmV3IFVudHlwZWRGb3JtQ29udHJvbCgpLFxyXG4gICAgY3VycmVuY3k6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKVxyXG4gIH0pO1xyXG5cclxuICBwYXJlbnRGb3JtQ29udHJvbDogQWJzdHJhY3RDb250cm9sO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZvY3VzJylcclxuICBoYXNGb2N1cyA9IGZhbHNlO1xyXG5cclxuICAvLyBASG9zdEJpbmRpbmcoJ2NsYXNzJylcclxuICAvLyBnZXQgc2l6ZUNsYXNzKCk6IHN0cmluZyB7XHJcbiAgLy8gICByZXR1cm4gdGhpcy5zaXplO1xyXG4gIC8vIH1cclxuXHJcbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQEhvc3QoKSBAU2tpcFNlbGYoKSBwcm90ZWN0ZWQgY29udHJvbENvbnRhaW5lcjogQ29udHJvbENvbnRhaW5lcikge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG9uQ2hhbmdlID0gKHZhbHVlKSA9PiB7fTtcclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgdGhpcy5mb3JtR3JvdXAudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2ID0+IHRoaXMub25DaGFuZ2UodikpO1xyXG4gICAgLy8gdGhpcy5mb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHtcclxuICAgIC8vICAgYW1vdW50OiBuZXcgRm9ybUNvbnRyb2wodGhpcy5jb250cm9sPy52YWx1ZS5hbW91bnQpLFxyXG4gICAgLy8gICBjdXJyZW5jeTogbmV3IEZvcm1Db250cm9sKHRoaXMuY3VycmVuY2llcy5maW5kKGMgPT4gYy5jb2RlID09PSB0aGlzLmNvbnRyb2w/LnZhbHVlLmN1cnJlbmN5LmNvZGUpKVxyXG4gICAgLy8gfSk7XHJcbiAgICAvLyB0aGlzLmZvcm1Hcm91cC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHYgPT4ge1xyXG4gICAgLy8gICB0aGlzLm9uQ2hhbmdlKHRoaXMuZm9ybUdyb3VwPy5nZXRSYXdWYWx1ZSgpKTtcclxuICAgIC8vIH0pO1xyXG4gICAgaWYgKHRoaXMuY3VycmVuY3lEaXNhYmxlZCkge1xyXG4gICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoJ2N1cnJlbmN5Jyk/LmRpc2FibGUoKTtcclxuICAgIH1cclxuICAgIC8vIHRoaXMubmdDb250cm9sLmNvbnRyb2wuc3RhdHVzQ2hhbmdlcy5zdWJzY3JpYmUocyA9PiB7XHJcbiAgICAvLyAgIGlmIChzID09PSAnSU5WQUxJRCcpIHtcclxuICAgIC8vICAgICAvLyB0aGlzLmZvcm1Hcm91cD8uZ2V0KCdhbW91bnQnKT8uc2V0RXJyb3JzKHRoaXMuY29udHJvbD8uZXJyb3JzIHx8IG51bGwpO1xyXG4gICAgLy8gICAgIHRoaXMuZm9ybUdyb3VwPy5nZXQoJ2N1cnJlbmN5Jyk/Lm1hcmtBc1RvdWNoZWQoKTtcclxuICAgIC8vICAgICAvLyB0aGlzLmZvcm1Hcm91cD8uZ2V0KCdjdXJyZW5jeScpPy5zZXRFcnJvcnModGhpcy5jb250cm9sPy5lcnJvcnMgfHwgbnVsbCk7XHJcbiAgICAvLyAgIH1cclxuICAgIC8vICAgaWYgKHMgPT09ICdESVNBQkxFRCcpIHtcclxuICAgIC8vICAgICB0aGlzLmZvcm1Hcm91cD8uZGlzYWJsZSh7ZW1pdEV2ZW50OiBmYWxzZX0pO1xyXG4gICAgLy8gICB9XHJcbiAgICAvLyAgIGlmIChzID09PSAnVkFMSUQnKSB7XHJcbiAgICAvLyAgICAgdGhpcy5mb3JtR3JvdXA/LmVuYWJsZSh7ZW1pdEV2ZW50OiBmYWxzZX0pO1xyXG4gICAgLy8gICAgIGlmICh0aGlzLmN1cnJlbmN5RGlzYWJsZWQpIHtcclxuICAgIC8vICAgICAgIHRoaXMuZm9ybUdyb3VwPy5nZXQoJ2N1cnJlbmN5Jyk/LmRpc2FibGUoe2VtaXRFdmVudDogZmFsc2V9KTtcclxuICAgIC8vICAgICB9XHJcbiAgICAvLyAgIH1cclxuICAgIC8vIH0pO1xyXG4gICAgdGhpcy5wYXJlbnRGb3JtQ29udHJvbCA9ICh0aGlzLmNvbnRyb2xDb250YWluZXIgYXMgRm9ybUdyb3VwRGlyZWN0aXZlKS5jb250cm9sLmdldCh0aGlzLmZvcm1Db250cm9sTmFtZSk7XHJcbiAgfVxyXG5cclxuICAvLyBiaW5kVmFsaWRhdG9ycyh2YWxpZGF0b3JzKSB7XHJcbiAgLy8gICBjb25zb2xlLmxvZygnYmluZGluZyB2YWxpZGF0b3JzJywgdmFsaWRhdG9ycyk7XHJcbiAgLy8gICBpZiAodGhpcy5mb3JtR3JvdXApIHtcclxuICAvLyAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KCdhbW91bnQnKS5zZXRWYWxpZGF0b3JzKHZhbGlkYXRvcnMpO1xyXG4gIC8vICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoJ2N1cnJlbmN5JykubWFya0FzVG91Y2hlZCgpO1xyXG4gIC8vICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoJ2N1cnJlbmN5Jykuc2V0RXJyb3JzKHZhbGlkYXRvcnMpO1xyXG4gIC8vICAgfVxyXG4gIC8vIH1cclxuXHJcbiAgZ2V0IGlzSW52YWxpZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnBhcmVudEZvcm1Db250cm9sLmludmFsaWQ7XHJcbiAgfVxyXG5cclxuICBnZXQgdmFsaWRhdGlvbkVycm9ycygpOiBWYWxpZGF0aW9uRXJyb3JzIHtcclxuICAgIHJldHVybiB0aGlzLnBhcmVudEZvcm1Db250cm9sLmVycm9ycztcclxuICB9XHJcblxyXG4gIGZvY3VzQ2hhbmdlZChoYXNGb2N1czogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5oYXNGb2N1cyA9IGhhc0ZvY3VzO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVmFsaWRhdG9yQ2hhbmdlKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgfVxyXG5cclxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIGlmIChpc0Rpc2FibGVkKSB7XHJcbiAgICAgIHRoaXMuZm9ybUdyb3VwLmdldCgnYW1vdW50JykuZGlzYWJsZSgpO1xyXG4gICAgICBpZiAoIXRoaXMuY3VycmVuY3lEaXNhYmxlZCkge1xyXG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldCgnY3VycmVuY3knKS5kaXNhYmxlKCk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZm9ybUdyb3VwLmdldCgnYW1vdW50JykuZW5hYmxlKCk7XHJcbiAgICAgIGlmICghdGhpcy5jdXJyZW5jeURpc2FibGVkKSB7XHJcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KCdjdXJyZW5jeScpLmVuYWJsZSgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5mb3JtR3JvdXAuc2V0VmFsdWUob2JqKTtcclxuICB9XHJcbn1cclxuIiwiPHVpLWJhc2UtbGF5b3V0IFtjdHhdPVwidGhpc1wiPlxyXG5cclxuPGRpdiBjbGFzcz1cImNvbnRyb2wtY29udGFpbmVyXCIgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIj5cclxuICA8dWktaW5wdXQgKm5nSWY9XCIhYW1vdW50SGlkZGVuXCIgW3RleHRBbGlnbl09XCIncmlnaHQnXCIgW2Zvcm1Db250cm9sTmFtZV09XCInYW1vdW50J1wiIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiICNpbnB1dCBbdXNlSW5wdXRNZXNzYWdlc109XCInbmV2ZXInXCIgKGZvY3VzQ2hhbmdlZCk9XCJmb2N1c0NoYW5nZWQoJGV2ZW50KVwiPjwvdWktaW5wdXQ+XHJcbiAgPHVpLXNlbGVjdCBbcGFuZWxDbGFzc109XCJwYW5lbENsYXNzXCIgW2Zvcm1Db250cm9sTmFtZV09XCInY3VycmVuY3knXCIgW2Rpc3BsYXlBdHRyaWJ1dGVdPVwiJ3N5bWJvbCdcIiBbb3B0aW9uc109XCJjdXJyZW5jaWVzXCIgW3VzZUlucHV0TWVzc2FnZXNdPVwiJ25ldmVyJ1wiPjwvdWktc2VsZWN0PlxyXG48L2Rpdj5cclxuXHJcbjwvdWktYmFzZS1sYXlvdXQ+XHJcblxyXG4iXX0=
@@ -1,68 +0,0 @@
1
- import { Component, EventEmitter, Optional, Output, Self, ViewChild } from '@angular/core';
2
- import { UiSimpleComponent } from '../layouts/simple/ui-simple.component';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/forms";
5
- import * as i2 from "@angular/common";
6
- import * as i3 from "@angular/material/icon";
7
- import * as i4 from "@angular/material/datepicker";
8
- import * as i5 from "../layouts/simple/ui-simple-layout.component";
9
- export class DateComponent extends UiSimpleComponent {
10
- constructor(ngControl) {
11
- super(ngControl);
12
- this.ngControl = ngControl;
13
- // @Input() placeholder: string | undefined;
14
- // @Input() control;
15
- // // @Input() controlName;
16
- // @Input() label;
17
- // @Input() type;
18
- // @Input() floatLabel;
19
- this.doKeyup = new EventEmitter();
20
- this.hasFocus = false;
21
- this.controlTypeName = 'date';
22
- this.opening = false;
23
- }
24
- open() {
25
- this.hasFocus = true;
26
- // this.opening = true;
27
- // this.picker.open();
28
- // setTimeout(() => {
29
- // this.input.nativeElement.focus();
30
- // this.opening = false;
31
- // }); // , 150);
32
- }
33
- close() {
34
- this.hasFocus = false;
35
- // if (!this.opening) {
36
- // this.picker.close();h
37
- // }
38
- }
39
- keyup() {
40
- this.doKeyup.emit();
41
- // this.onChange(this.control.value);
42
- }
43
- writeValue(obj) { }
44
- registerOnChange(fn) {
45
- this.onChange = fn;
46
- }
47
- registerOnTouched(fn) { }
48
- setDisabledState(isDisabled) { }
49
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: DateComponent, deps: [{ token: i1.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
50
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.1", type: DateComponent, selector: "ui-date", outputs: { doKeyup: "doKeyup" }, viewQueries: [{ propertyName: "picker", first: true, predicate: ["picker"], descendants: true }, { propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ui-simple-layout [ctx]=\"this\">\r\n\r\n<div class=\"control-container has-suffix active-icons\" [ngClass]=\"{'has-focus': hasFocus}\">\r\n <input #input (blur)=\"close()\" (focus)=\"open()\" [matDatepicker]=\"picker\" [placeholder]=\"placeholder\" [formControl]=\"componentFormControl\" (keyup)=\"keyup()\">\r\n <mat-icon slot=\"suffix\" (click)=\"picker.open()\" [ngClass]=\"{disabled: componentFormControl.disabled}\">today</mat-icon>\r\n <mat-datepicker #picker></mat-datepicker>\r\n</div>\r\n\r\n</ui-simple-layout>\r\n", styles: [":host{display:flex;flex-direction:column;width:100%}:host .control-container{width:100%;position:relative}:host .control-container.has-prefix ::ng-deep input,:host .control-container.has-prefix ::ng-deep textarea,:host .control-container.has-prefix ::ng-deep .mat-mdc-select-trigger{padding-left:1.8em}:host .control-container.has-suffix:not(.has-clear-icon) ::ng-deep input,:host .control-container.has-suffix:not(.has-clear-icon) ::ng-deep textarea,:host .control-container.has-suffix:not(.has-clear-icon) ::ng-deep .mat-mdc-select-trigger{padding-right:1.8em}:host .control-container.has-clear-icon:not(.has-suffix) ::ng-deep input,:host .control-container.has-clear-icon:not(.has-suffix) ::ng-deep textarea,:host .control-container.has-clear-icon:not(.has-suffix) ::ng-deep .mat-mdc-select-trigger{padding-right:1.8em}:host .control-container.has-suffix.has-clear-icon ::ng-deep input,:host .control-container.has-suffix.has-clear-icon ::ng-deep textarea,:host .control-container.has-suffix.has-clear-icon ::ng-deep .mat-mdc-select-trigger{padding-right:3.6em}:host .control-container.has-suffix.has-clear-icon ::ng-deep .clear-icon{right:1.4em!important}:host ::ng-deep [slot=suffix],:host ::ng-deep .clear-icon,:host ::ng-deep .suffix-icon{position:absolute;-webkit-user-select:none;user-select:none;transition:color .25s;top:calc(50% - .5em);right:.2em;width:1em;height:1em;font-size:1.5em}:host ::ng-deep [slot=suffix]:not(.disabled),:host ::ng-deep .clear-icon:not(.disabled),:host ::ng-deep .suffix-icon:not(.disabled){cursor:pointer}:host ::ng-deep [slot=prefix],:host ::ng-deep .prefix-icon{position:absolute;-webkit-user-select:none;user-select:none;transition:color .25s;top:calc(50% - .5em);left:.2em;width:1em;height:1em;font-size:1.5em}:host ::ng-deep [slot=prefix]:not(.disabled),:host ::ng-deep .prefix-icon:not(.disabled){cursor:pointer}:host ::ng-deep input,:host ::ng-deep textarea,:host ::ng-deep .mat-mdc-select-trigger,:host ::ng-deep .editor-wrapper{resize:none;width:100%;line-height:1.2em;font-size:1em;outline:none;border-style:solid;transition:border-color 333ms}:host ::ng-deep textarea.autoresize{box-sizing:content-box;width:calc(100% - 1.4em)}:host ::ng-deep ::ng-deep .mat-select-trigger,:host ::ng-deep ::ng-deep .mat-mdc-select-trigger{height:100%}:host ::ng-deep ::ng-deep .mat-select-value,:host ::ng-deep ::ng-deep .mat-mdc-select-value{vertical-align:middle}::ng-deep ui-input{display:block}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i4.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i5.UiSimpleLayoutComponent, selector: "ui-simple-layout", inputs: ["ctx"] }] }); }
51
- }
52
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: DateComponent, decorators: [{
53
- type: Component,
54
- args: [{ selector: 'ui-date', template: "<ui-simple-layout [ctx]=\"this\">\r\n\r\n<div class=\"control-container has-suffix active-icons\" [ngClass]=\"{'has-focus': hasFocus}\">\r\n <input #input (blur)=\"close()\" (focus)=\"open()\" [matDatepicker]=\"picker\" [placeholder]=\"placeholder\" [formControl]=\"componentFormControl\" (keyup)=\"keyup()\">\r\n <mat-icon slot=\"suffix\" (click)=\"picker.open()\" [ngClass]=\"{disabled: componentFormControl.disabled}\">today</mat-icon>\r\n <mat-datepicker #picker></mat-datepicker>\r\n</div>\r\n\r\n</ui-simple-layout>\r\n", styles: [":host{display:flex;flex-direction:column;width:100%}:host .control-container{width:100%;position:relative}:host .control-container.has-prefix ::ng-deep input,:host .control-container.has-prefix ::ng-deep textarea,:host .control-container.has-prefix ::ng-deep .mat-mdc-select-trigger{padding-left:1.8em}:host .control-container.has-suffix:not(.has-clear-icon) ::ng-deep input,:host .control-container.has-suffix:not(.has-clear-icon) ::ng-deep textarea,:host .control-container.has-suffix:not(.has-clear-icon) ::ng-deep .mat-mdc-select-trigger{padding-right:1.8em}:host .control-container.has-clear-icon:not(.has-suffix) ::ng-deep input,:host .control-container.has-clear-icon:not(.has-suffix) ::ng-deep textarea,:host .control-container.has-clear-icon:not(.has-suffix) ::ng-deep .mat-mdc-select-trigger{padding-right:1.8em}:host .control-container.has-suffix.has-clear-icon ::ng-deep input,:host .control-container.has-suffix.has-clear-icon ::ng-deep textarea,:host .control-container.has-suffix.has-clear-icon ::ng-deep .mat-mdc-select-trigger{padding-right:3.6em}:host .control-container.has-suffix.has-clear-icon ::ng-deep .clear-icon{right:1.4em!important}:host ::ng-deep [slot=suffix],:host ::ng-deep .clear-icon,:host ::ng-deep .suffix-icon{position:absolute;-webkit-user-select:none;user-select:none;transition:color .25s;top:calc(50% - .5em);right:.2em;width:1em;height:1em;font-size:1.5em}:host ::ng-deep [slot=suffix]:not(.disabled),:host ::ng-deep .clear-icon:not(.disabled),:host ::ng-deep .suffix-icon:not(.disabled){cursor:pointer}:host ::ng-deep [slot=prefix],:host ::ng-deep .prefix-icon{position:absolute;-webkit-user-select:none;user-select:none;transition:color .25s;top:calc(50% - .5em);left:.2em;width:1em;height:1em;font-size:1.5em}:host ::ng-deep [slot=prefix]:not(.disabled),:host ::ng-deep .prefix-icon:not(.disabled){cursor:pointer}:host ::ng-deep input,:host ::ng-deep textarea,:host ::ng-deep .mat-mdc-select-trigger,:host ::ng-deep .editor-wrapper{resize:none;width:100%;line-height:1.2em;font-size:1em;outline:none;border-style:solid;transition:border-color 333ms}:host ::ng-deep textarea.autoresize{box-sizing:content-box;width:calc(100% - 1.4em)}:host ::ng-deep ::ng-deep .mat-select-trigger,:host ::ng-deep ::ng-deep .mat-mdc-select-trigger{height:100%}:host ::ng-deep ::ng-deep .mat-select-value,:host ::ng-deep ::ng-deep .mat-mdc-select-value{vertical-align:middle}::ng-deep ui-input{display:block}\n"] }]
55
- }], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
56
- type: Optional
57
- }, {
58
- type: Self
59
- }] }], propDecorators: { doKeyup: [{
60
- type: Output
61
- }], picker: [{
62
- type: ViewChild,
63
- args: ['picker']
64
- }], input: [{
65
- type: ViewChild,
66
- args: ['input']
67
- }] } });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2RhdGUvZGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2RhdGUvZGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBZSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7Ozs7Ozs7QUFlMUUsTUFBTSxPQUFPLGFBQWMsU0FBUSxpQkFBaUI7SUFvQmxELFlBQXVDLFNBQW9CO1FBQ3pELEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQURvQixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBbkIzRCw0Q0FBNEM7UUFDNUMsb0JBQW9CO1FBQ3BCLDJCQUEyQjtRQUMzQixrQkFBa0I7UUFDbEIsaUJBQWlCO1FBQ2pCLHVCQUF1QjtRQUViLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBTXZDLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFakIsb0JBQWUsR0FBRyxNQUFNLENBQUM7UUFFekIsWUFBTyxHQUFHLEtBQUssQ0FBQztJQUloQixDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLHVCQUF1QjtRQUN2QixzQkFBc0I7UUFDdEIscUJBQXFCO1FBQ3JCLHNDQUFzQztRQUN0QywwQkFBMEI7UUFDMUIsaUJBQWlCO0lBQ25CLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsdUJBQXVCO1FBQ3ZCLDBCQUEwQjtRQUMxQixJQUFJO0lBQ04sQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3BCLHFDQUFxQztJQUN2QyxDQUFDO0lBRUQsVUFBVSxDQUFDLEdBQVEsSUFBVSxDQUFDO0lBRTlCLGdCQUFnQixDQUFDLEVBQU87UUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQU8sSUFBVSxDQUFDO0lBRXBDLGdCQUFnQixDQUFDLFVBQW1CLElBQVUsQ0FBQzs4R0F0RHBDLGFBQWE7a0dBQWIsYUFBYSwwUkNqQjFCLGtoQkFTQTs7MkZEUWEsYUFBYTtrQkFiekIsU0FBUzsrQkFDRSxTQUFTOzswQkFnQ04sUUFBUTs7MEJBQUksSUFBSTt5Q0FabkIsT0FBTztzQkFBaEIsTUFBTTtnQkFFYyxNQUFNO3NCQUExQixTQUFTO3VCQUFDLFFBQVE7Z0JBQ0MsS0FBSztzQkFBeEIsU0FBUzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIE9wdGlvbmFsLCBPdXRwdXQsIFNlbGYsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBVaVNpbXBsZUNvbXBvbmVudCB9IGZyb20gJy4uL2xheW91dHMvc2ltcGxlL3VpLXNpbXBsZS5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd1aS1kYXRlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZGF0ZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbICcuLi9sYXlvdXRzL3NpbXBsZS91aS1zaW1wbGUtbGF5b3V0LmNvbXBvbmVudC5zY3NzJ11cclxuICAvLyBwcm92aWRlcnM6IFtcclxuICAvLyAgIHtcclxuICAvLyAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgLy8gICAgIG11bHRpOiB0cnVlLFxyXG4gIC8vICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEYXRlQ29tcG9uZW50KSxcclxuICAvLyAgIH1cclxuICAvLyBdXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgRGF0ZUNvbXBvbmVudCBleHRlbmRzIFVpU2ltcGxlQ29tcG9uZW50IHsgLy8gaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgLy8gQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICAvLyBASW5wdXQoKSBjb250cm9sO1xyXG4gIC8vIC8vIEBJbnB1dCgpIGNvbnRyb2xOYW1lO1xyXG4gIC8vIEBJbnB1dCgpIGxhYmVsO1xyXG4gIC8vIEBJbnB1dCgpIHR5cGU7XHJcbiAgLy8gQElucHV0KCkgZmxvYXRMYWJlbDtcclxuXHJcbiAgQE91dHB1dCgpIGRvS2V5dXAgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ3BpY2tlcicpIHBpY2tlcj86IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgQFZpZXdDaGlsZCgnaW5wdXQnKSBpbnB1dD86IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gIG9uQ2hhbmdlOiBhbnk7XHJcbiAgaGFzRm9jdXMgPSBmYWxzZTtcclxuXHJcbiAgY29udHJvbFR5cGVOYW1lID0gJ2RhdGUnO1xyXG5cclxuICBvcGVuaW5nID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIEBTZWxmKCkgcHVibGljIG5nQ29udHJvbDogTmdDb250cm9sKSB7XHJcbiAgICBzdXBlcihuZ0NvbnRyb2wpO1xyXG4gIH1cclxuXHJcbiAgb3BlbigpOiB2b2lkIHtcclxuICAgIHRoaXMuaGFzRm9jdXMgPSB0cnVlO1xyXG4gICAgLy8gdGhpcy5vcGVuaW5nID0gdHJ1ZTtcclxuICAgIC8vIHRoaXMucGlja2VyLm9wZW4oKTtcclxuICAgIC8vIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgLy8gICB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgIC8vICAgdGhpcy5vcGVuaW5nID0gZmFsc2U7XHJcbiAgICAvLyB9KTsgLy8gLCAxNTApO1xyXG4gIH1cclxuXHJcbiAgY2xvc2UoKTogdm9pZCB7XHJcbiAgICB0aGlzLmhhc0ZvY3VzID0gZmFsc2U7XHJcbiAgICAvLyBpZiAoIXRoaXMub3BlbmluZykge1xyXG4gICAgLy8gICB0aGlzLnBpY2tlci5jbG9zZSgpO2hcclxuICAgIC8vIH1cclxuICB9XHJcblxyXG4gIGtleXVwKCk6IHZvaWQge1xyXG4gICAgdGhpcy5kb0tleXVwLmVtaXQoKTtcclxuICAgIC8vIHRoaXMub25DaGFuZ2UodGhpcy5jb250cm9sLnZhbHVlKTtcclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUob2JqOiBhbnkpOiB2b2lkIHsgfVxyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHsgfVxyXG5cclxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHsgfVxyXG59XHJcbiIsIjx1aS1zaW1wbGUtbGF5b3V0IFtjdHhdPVwidGhpc1wiPlxyXG5cclxuPGRpdiBjbGFzcz1cImNvbnRyb2wtY29udGFpbmVyIGhhcy1zdWZmaXggYWN0aXZlLWljb25zXCIgW25nQ2xhc3NdPVwieydoYXMtZm9jdXMnOiBoYXNGb2N1c31cIj5cclxuICA8aW5wdXQgI2lucHV0IChibHVyKT1cImNsb3NlKClcIiAoZm9jdXMpPVwib3BlbigpXCIgW21hdERhdGVwaWNrZXJdPVwicGlja2VyXCIgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgW2Zvcm1Db250cm9sXT1cImNvbXBvbmVudEZvcm1Db250cm9sXCIgKGtleXVwKT1cImtleXVwKClcIj5cclxuICA8bWF0LWljb24gc2xvdD1cInN1ZmZpeFwiIChjbGljayk9XCJwaWNrZXIub3BlbigpXCIgW25nQ2xhc3NdPVwie2Rpc2FibGVkOiBjb21wb25lbnRGb3JtQ29udHJvbC5kaXNhYmxlZH1cIj50b2RheTwvbWF0LWljb24+XHJcbiAgPG1hdC1kYXRlcGlja2VyICNwaWNrZXI+PC9tYXQtZGF0ZXBpY2tlcj5cclxuPC9kaXY+XHJcblxyXG48L3VpLXNpbXBsZS1sYXlvdXQ+XHJcbiJdfQ==
@@ -1,37 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/material/dialog";
4
- import * as i2 from "@angular/common";
5
- import * as i3 from "@angular/cdk/drag-drop";
6
- import * as i4 from "../action-icon/action-icon.component";
7
- export class DialogComponent {
8
- constructor(dialogRef) {
9
- this.dialogRef = dialogRef;
10
- this.title = '';
11
- this.draggable = false; // true;
12
- this.hideCloseButton = false;
13
- }
14
- clickClose() {
15
- if (!this.close) {
16
- this.dialogRef.close();
17
- }
18
- else {
19
- this.close();
20
- }
21
- }
22
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: DialogComponent, deps: [{ token: i1.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component }); }
23
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.1", type: DialogComponent, selector: "ui-dialog", inputs: { title: "title", draggable: "draggable", hideCloseButton: "hideCloseButton", close: "close" }, ngImport: i0, template: "<ui-action-icon *ngIf=\"title && !hideCloseButton\" (click)=\"clickClose()\" class=\"close-icon\" [matIcon]=\"'close'\" [color]=\"'warn'\"></ui-action-icon>\r\n\r\n<ng-container *ngIf=\"title\">\r\n <h1 class=\"draggable\" cdkDrag cdkDragRootElement=\".cdk-overlay-pane\" cdkDragHandle mat-dialog-title *ngIf=\"draggable\">\r\n {{title}}\r\n </h1>\r\n <h1 mat-dialog-title *ngIf=\"!draggable\">\r\n {{title}}\r\n </h1>\r\n</ng-container>\r\n\r\n<ng-content></ng-content>\r\n", styles: [":host{height:100%;display:flex;flex-direction:column}::ng-deep .mat-mdc-dialog-container{position:relative;overflow:visible!important}::ng-deep .mat-mdc-dialog-container .mdc-dialog__content{line-height:unset!important;letter-spacing:unset!important;color:unset!important}::ng-deep .mat-mdc-dialog-container .mat-mdc-dialog-title{font-size:24px;margin:0 0 5px;padding:12px 16px;border-bottom:1px solid transparent}::ng-deep .mat-mdc-dialog-container .mat-mdc-dialog-title.draggable{cursor:move}::ng-deep .mat-mdc-dialog-container h1{display:flex;align-items:center}::ng-deep .mat-mdc-dialog-container .close-icon{position:absolute;right:16px;top:16px;z-index:1}::ng-deep .mat-mdc-dialog-container .mat-mdc-dialog-actions{display:flex;flex-direction:column;border-top:1px solid transparent;margin-top:5px;padding:0}::ng-deep .mat-mdc-dialog-container .mat-mdc-dialog-actions.mat-dialog-actions{margin:0 -12px -16px}::ng-deep .mat-mdc-dialog-container .mat-mdc-dialog-actions .buttons{display:flex;flex:1 1 auto;justify-content:flex-end;align-items:center;width:100%;padding:8px}::ng-deep .mat-mdc-dialog-container .mat-mdc-dialog-actions .message{flex:1 1 auto;display:flex;flex-wrap:wrap;font-weight:500;font-size:90%;width:100%;padding:6px 8px}::ng-deep .mat-mdc-dialog-container [mat-dialog-content]{position:relative;max-height:calc(100vh - 150px);overflow:auto;scroll-behavior:smooth;display:flex;flex-direction:column;padding:0 6px;outline:none;flex:1}::ng-deep .mat-mdc-dialog-container [mat-dialog-content].mat-dialog-content{margin:0 -12px}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i3.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i3.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: i4.ActionIconComponent, selector: "ui-action-icon", inputs: ["size", "color", "disabled", "busy", "matIcon"] }] }); }
24
- }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: DialogComponent, decorators: [{
26
- type: Component,
27
- args: [{ selector: 'ui-dialog', template: "<ui-action-icon *ngIf=\"title && !hideCloseButton\" (click)=\"clickClose()\" class=\"close-icon\" [matIcon]=\"'close'\" [color]=\"'warn'\"></ui-action-icon>\r\n\r\n<ng-container *ngIf=\"title\">\r\n <h1 class=\"draggable\" cdkDrag cdkDragRootElement=\".cdk-overlay-pane\" cdkDragHandle mat-dialog-title *ngIf=\"draggable\">\r\n {{title}}\r\n </h1>\r\n <h1 mat-dialog-title *ngIf=\"!draggable\">\r\n {{title}}\r\n </h1>\r\n</ng-container>\r\n\r\n<ng-content></ng-content>\r\n", styles: [":host{height:100%;display:flex;flex-direction:column}::ng-deep .mat-mdc-dialog-container{position:relative;overflow:visible!important}::ng-deep .mat-mdc-dialog-container .mdc-dialog__content{line-height:unset!important;letter-spacing:unset!important;color:unset!important}::ng-deep .mat-mdc-dialog-container .mat-mdc-dialog-title{font-size:24px;margin:0 0 5px;padding:12px 16px;border-bottom:1px solid transparent}::ng-deep .mat-mdc-dialog-container .mat-mdc-dialog-title.draggable{cursor:move}::ng-deep .mat-mdc-dialog-container h1{display:flex;align-items:center}::ng-deep .mat-mdc-dialog-container .close-icon{position:absolute;right:16px;top:16px;z-index:1}::ng-deep .mat-mdc-dialog-container .mat-mdc-dialog-actions{display:flex;flex-direction:column;border-top:1px solid transparent;margin-top:5px;padding:0}::ng-deep .mat-mdc-dialog-container .mat-mdc-dialog-actions.mat-dialog-actions{margin:0 -12px -16px}::ng-deep .mat-mdc-dialog-container .mat-mdc-dialog-actions .buttons{display:flex;flex:1 1 auto;justify-content:flex-end;align-items:center;width:100%;padding:8px}::ng-deep .mat-mdc-dialog-container .mat-mdc-dialog-actions .message{flex:1 1 auto;display:flex;flex-wrap:wrap;font-weight:500;font-size:90%;width:100%;padding:6px 8px}::ng-deep .mat-mdc-dialog-container [mat-dialog-content]{position:relative;max-height:calc(100vh - 150px);overflow:auto;scroll-behavior:smooth;display:flex;flex-direction:column;padding:0 6px;outline:none;flex:1}::ng-deep .mat-mdc-dialog-container [mat-dialog-content].mat-dialog-content{margin:0 -12px}\n"] }]
28
- }], ctorParameters: () => [{ type: i1.MatDialogRef }], propDecorators: { title: [{
29
- type: Input
30
- }], draggable: [{
31
- type: Input
32
- }], hideCloseButton: [{
33
- type: Input
34
- }], close: [{
35
- type: Input
36
- }] } });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvZGlhbG9nL2RpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2RpYWxvZy9kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7Ozs7OztBQU8vQyxNQUFNLE9BQU8sZUFBZTtJQVExQixZQUFtQixTQUF3QztRQUF4QyxjQUFTLEdBQVQsU0FBUyxDQUErQjtRQU5sRCxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsY0FBUyxHQUFHLEtBQUssQ0FBQyxDQUFDLFFBQVE7UUFDM0Isb0JBQWUsR0FBRyxLQUFLLENBQUM7SUFLakMsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDekIsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDZixDQUFDO0lBQ0gsQ0FBQzs4R0FqQlUsZUFBZTtrR0FBZixlQUFlLHlKQ1I1QixzZUFZQTs7MkZESmEsZUFBZTtrQkFMM0IsU0FBUzsrQkFDRSxXQUFXO2lGQU1aLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtNYXREaWFsb2dSZWZ9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7Q29tcG9uZW50LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3VpLWRpYWxvZycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RpYWxvZy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZGlhbG9nLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIERpYWxvZ0NvbXBvbmVudCB7XHJcblxyXG4gIEBJbnB1dCgpIHRpdGxlID0gJyc7XHJcbiAgQElucHV0KCkgZHJhZ2dhYmxlID0gZmFsc2U7IC8vIHRydWU7XHJcbiAgQElucHV0KCkgaGlkZUNsb3NlQnV0dG9uID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpIGNsb3NlOiAoKCkgPT4gdm9pZCkgfCB1bmRlZmluZWQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxEaWFsb2dDb21wb25lbnQ+KSB7XHJcbiAgfVxyXG5cclxuICBjbGlja0Nsb3NlKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmNsb3NlKSB7XHJcbiAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8dWktYWN0aW9uLWljb24gKm5nSWY9XCJ0aXRsZSAmJiAhaGlkZUNsb3NlQnV0dG9uXCIgKGNsaWNrKT1cImNsaWNrQ2xvc2UoKVwiIGNsYXNzPVwiY2xvc2UtaWNvblwiIFttYXRJY29uXT1cIidjbG9zZSdcIiBbY29sb3JdPVwiJ3dhcm4nXCI+PC91aS1hY3Rpb24taWNvbj5cclxuXHJcbjxuZy1jb250YWluZXIgKm5nSWY9XCJ0aXRsZVwiPlxyXG4gIDxoMSBjbGFzcz1cImRyYWdnYWJsZVwiIGNka0RyYWcgY2RrRHJhZ1Jvb3RFbGVtZW50PVwiLmNkay1vdmVybGF5LXBhbmVcIiBjZGtEcmFnSGFuZGxlIG1hdC1kaWFsb2ctdGl0bGUgKm5nSWY9XCJkcmFnZ2FibGVcIj5cclxuICAgIHt7dGl0bGV9fVxyXG4gIDwvaDE+XHJcbiAgPGgxIG1hdC1kaWFsb2ctdGl0bGUgKm5nSWY9XCIhZHJhZ2dhYmxlXCI+XHJcbiAgICB7e3RpdGxlfX1cclxuICA8L2gxPlxyXG48L25nLWNvbnRhaW5lcj5cclxuXHJcbjxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuIl19
@@ -1,104 +0,0 @@
1
- import { Directive, EventEmitter, Input, Output } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class ForceVisibilityDirective {
4
- static { this.disabled = false; }
5
- constructor(el) {
6
- this.el = el;
7
- this.visibilityPadding = 15;
8
- this.visibilityOnRequestOnly = false;
9
- this.visibilityEmitChange = false;
10
- this.visibilityFromTop = 0;
11
- this.visibilityCheckEnabled = true;
12
- this.visibilityChanged = new EventEmitter();
13
- }
14
- static disableFor(timeoutMs) {
15
- this.disabled = true;
16
- setTimeout(() => this.disabled = false, timeoutMs);
17
- }
18
- ngOnInit() {
19
- if (!this.visibilityOnRequestOnly && !this.visibilityEmitChange) {
20
- setTimeout(() => {
21
- this.forceVisibility();
22
- }, 125);
23
- }
24
- if (this.visibilityEmitChange) {
25
- if (!this.visibilityWithin) {
26
- throw Error('traceVisibilityChanged requires visibilityWithin');
27
- }
28
- else {
29
- this.visible = this.isVisible();
30
- this.visibilityWithin.onscroll = () => {
31
- const v = this.isVisible();
32
- if (v !== this.visible) {
33
- this.visible = v;
34
- this.visibilityChanged.emit(v);
35
- }
36
- };
37
- }
38
- }
39
- }
40
- ngOnChanges(changes) {
41
- if (changes.visibilityCheckEnabled && changes.visibilityCheckEnabled.currentValue !== changes.visibilityCheckEnabled.previousValue) {
42
- this.forceVisibility();
43
- }
44
- }
45
- isVisible() {
46
- const rect = this.el.nativeElement.getBoundingClientRect();
47
- const rectIn = this.visibilityWithin.getBoundingClientRect();
48
- return rect.top + +this.visibilityPadding - rectIn.bottom < 0;
49
- }
50
- forceVisibility() {
51
- if (ForceVisibilityDirective.disabled || !this.visibilityCheckEnabled) {
52
- return;
53
- }
54
- const rect = this.el.nativeElement.getBoundingClientRect();
55
- const padding = +this.visibilityPadding;
56
- if (this.visibilityWithin) {
57
- const rectIn = this.visibilityWithin.getBoundingClientRect();
58
- let diff = rect.top + rect.height + padding - rectIn.bottom;
59
- if (diff > 0) {
60
- this.visibilityWithin.scrollBy(0, diff);
61
- }
62
- else {
63
- diff = rect.top - rectIn.top - padding;
64
- if (diff < 0) {
65
- this.visibilityWithin.scrollBy(0, diff);
66
- }
67
- }
68
- }
69
- else {
70
- if (this.visibilityFromTop !== 0) {
71
- document.getElementsByTagName('app-root')[0].scrollTo(0, rect.top - +this.visibilityFromTop);
72
- }
73
- else {
74
- if (rect.bottom > window.innerHeight) {
75
- document.getElementsByTagName('app-root')[0].scrollBy(0, rect.bottom - window.innerHeight + 15);
76
- }
77
- }
78
- }
79
- }
80
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: ForceVisibilityDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
81
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.1", type: ForceVisibilityDirective, selector: "[uiForceVisibility]", inputs: { visibilityWithin: "visibilityWithin", visibilityPadding: "visibilityPadding", visibilityOnRequestOnly: "visibilityOnRequestOnly", visibilityEmitChange: "visibilityEmitChange", visibilityFromTop: "visibilityFromTop", visibilityCheckEnabled: "visibilityCheckEnabled" }, outputs: { visibilityChanged: "visibilityChanged" }, exportAs: ["ForceVisibilityDirective"], usesOnChanges: true, ngImport: i0 }); }
82
- }
83
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: ForceVisibilityDirective, decorators: [{
84
- type: Directive,
85
- args: [{
86
- selector: '[uiForceVisibility]',
87
- exportAs: 'ForceVisibilityDirective'
88
- }]
89
- }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { visibilityWithin: [{
90
- type: Input
91
- }], visibilityPadding: [{
92
- type: Input
93
- }], visibilityOnRequestOnly: [{
94
- type: Input
95
- }], visibilityEmitChange: [{
96
- type: Input
97
- }], visibilityFromTop: [{
98
- type: Input
99
- }], visibilityCheckEnabled: [{
100
- type: Input
101
- }], visibilityChanged: [{
102
- type: Output
103
- }] } });
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yY2UtdmlzaWJpbGl0eS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2RpcmVjdGl2ZXMvZm9yY2UtdmlzaWJpbGl0eS9mb3JjZS12aXNpYmlsaXR5LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBK0IsTUFBTSxlQUFlLENBQUM7O0FBTW5JLE1BQU0sT0FBTyx3QkFBd0I7YUFFcEIsYUFBUSxHQUFHLEtBQUssQUFBUixDQUFTO0lBYWhDLFlBQW9CLEVBQWM7UUFBZCxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBVnpCLHNCQUFpQixHQUFHLEVBQUUsQ0FBQztRQUN2Qiw0QkFBdUIsR0FBRyxLQUFLLENBQUM7UUFDaEMseUJBQW9CLEdBQUcsS0FBSyxDQUFDO1FBQzdCLHNCQUFpQixHQUFHLENBQUMsQ0FBQztRQUN0QiwyQkFBc0IsR0FBRyxJQUFJLENBQUM7UUFFN0Isc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQUsxRCxDQUFDO0lBR00sTUFBTSxDQUFDLFVBQVUsQ0FBQyxTQUFpQjtRQUN4QyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLHVCQUF1QixJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFDaEUsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDekIsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ1YsQ0FBQztRQUNELElBQUks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Q0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7b0JBQ3JDLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUMsQ0FBQztnQkFDbEcsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQzs4R0FwRlUsd0JBQXdCO2tHQUF4Qix3QkFBd0I7OzJGQUF4Qix3QkFBd0I7a0JBSnBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsUUFBUSxFQUFFLDBCQUEwQjtpQkFDckM7K0VBS1UsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyx1QkFBdUI7c0JBQS9CLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBRUksaUJBQWlCO3NCQUExQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2UsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3VpRm9yY2VWaXNpYmlsaXR5XScsXHJcbiAgZXhwb3J0QXM6ICdGb3JjZVZpc2liaWxpdHlEaXJlY3RpdmUnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGb3JjZVZpc2liaWxpdHlEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcblxyXG4gIHByaXZhdGUgc3RhdGljIGRpc2FibGVkID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpIHZpc2liaWxpdHlXaXRoaW46IEhUTUxFbGVtZW50O1xyXG4gIEBJbnB1dCgpIHZpc2liaWxpdHlQYWRkaW5nID0gMTU7XHJcbiAgQElucHV0KCkgdmlzaWJpbGl0eU9uUmVxdWVzdE9ubHkgPSBmYWxzZTtcclxuICBASW5wdXQoKSB2aXNpYmlsaXR5RW1pdENoYW5nZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHZpc2liaWxpdHlGcm9tVG9wID0gMDtcclxuICBASW5wdXQoKSB2aXNpYmlsaXR5Q2hlY2tFbmFibGVkID0gdHJ1ZTtcclxuXHJcbiAgQE91dHB1dCgpIHZpc2liaWxpdHlDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICBwcml2YXRlIHZpc2libGU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYpIHtcclxuICB9XHJcblxyXG5cclxuICBwdWJsaWMgc3RhdGljIGRpc2FibGVGb3IodGltZW91dE1zOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuZGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmRpc2FibGVkID0gZmFsc2UsIHRpbWVvdXRNcyk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy52aXNpYmlsaXR5T25SZXF1ZXN0T25seSAmJiAhdGhpcy52aXNpYmlsaXR5RW1pdENoYW5nZSkge1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLmZvcmNlVmlzaWJpbGl0eSgpO1xyXG4gICAgICB9LCAxMjUpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMudmlzaWJpbGl0eUVtaXRDaGFuZ2UpIHtcclxuICAgICAgaWYgKCF0aGlzLnZpc2liaWxpdHlXaXRoaW4pIHtcclxuICAgICAgICB0aHJvdyBFcnJvcigndHJhY2VWaXNpYmlsaXR5Q2hhbmdlZCByZXF1aXJlcyB2aXNpYmlsaXR5V2l0aGluJylcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnZpc2libGUgPSB0aGlzLmlzVmlzaWJsZSgpO1xyXG4gICAgICAgIHRoaXMudmlzaWJpbGl0eVdpdGhpbi5vbnNjcm9sbCA9ICgpID0+IHtcclxuICAgICAgICAgIGNvbnN0IHYgPSB0aGlzLmlzVmlzaWJsZSgpO1xyXG4gICAgICAgICAgaWYgKHYgIT09IHRoaXMudmlzaWJsZSkge1xyXG4gICAgICAgICAgICB0aGlzLnZpc2libGUgPSB2O1xyXG4gICAgICAgICAgICB0aGlzLnZpc2liaWxpdHlDaGFuZ2VkLmVtaXQodik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBpZiAoY2hhbmdlcy52aXNpYmlsaXR5Q2hlY2tFbmFibGVkICYmIGNoYW5nZXMudmlzaWJpbGl0eUNoZWNrRW5hYmxlZC5jdXJyZW50VmFsdWUgIT09IGNoYW5nZXMudmlzaWJpbGl0eUNoZWNrRW5hYmxlZC5wcmV2aW91c1ZhbHVlKSB7XHJcbiAgICAgIHRoaXMuZm9yY2VWaXNpYmlsaXR5KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzVmlzaWJsZSgpIHtcclxuICAgIGNvbnN0IHJlY3QgPSAodGhpcy5lbC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIGNvbnN0IHJlY3RJbiA9IHRoaXMudmlzaWJpbGl0eVdpdGhpbi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIHJldHVybiByZWN0LnRvcCArICt0aGlzLnZpc2liaWxpdHlQYWRkaW5nIC0gcmVjdEluLmJvdHRvbSA8IDA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZm9yY2VWaXNpYmlsaXR5KCk6IHZvaWQge1xyXG4gICAgaWYgKEZvcmNlVmlzaWJpbGl0eURpcmVjdGl2ZS5kaXNhYmxlZCB8fCAhdGhpcy52aXNpYmlsaXR5Q2hlY2tFbmFibGVkKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IHJlY3QgPSAodGhpcy5lbC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIGNvbnN0IHBhZGRpbmcgPSArdGhpcy52aXNpYmlsaXR5UGFkZGluZztcclxuICAgIGlmICh0aGlzLnZpc2liaWxpdHlXaXRoaW4pIHtcclxuICAgICAgY29uc3QgcmVjdEluID0gdGhpcy52aXNpYmlsaXR5V2l0aGluLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgICBsZXQgZGlmZiA9IHJlY3QudG9wICsgcmVjdC5oZWlnaHQgKyBwYWRkaW5nIC0gcmVjdEluLmJvdHRvbTtcclxuICAgICAgaWYgKGRpZmYgPiAwKSB7XHJcbiAgICAgICAgdGhpcy52aXNpYmlsaXR5V2l0aGluLnNjcm9sbEJ5KDAsIGRpZmYpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGRpZmYgPSByZWN0LnRvcCAtIHJlY3RJbi50b3AgLSBwYWRkaW5nO1xyXG4gICAgICAgIGlmIChkaWZmIDwgMCkge1xyXG4gICAgICAgICAgdGhpcy52aXNpYmlsaXR5V2l0aGluLnNjcm9sbEJ5KDAsIGRpZmYpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMudmlzaWJpbGl0eUZyb21Ub3AgIT09IDApIHtcclxuICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnYXBwLXJvb3QnKVswXS5zY3JvbGxUbygwLCByZWN0LnRvcCAtICt0aGlzLnZpc2liaWxpdHlGcm9tVG9wKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZiAocmVjdC5ib3R0b20gPiB3aW5kb3cuaW5uZXJIZWlnaHQpIHtcclxuICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdhcHAtcm9vdCcpWzBdLnNjcm9sbEJ5KDAsIHJlY3QuYm90dG9tIC0gd2luZG93LmlubmVySGVpZ2h0ICsgMTUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuIl19