@ajf/material 18.4.1 → 18.5.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/README.md +167 -2
- package/audio/src/audio-module.d.ts +7 -6
- package/esm2022/audio/src/audio-module.mjs +22 -4
- package/esm2022/audio/src/audio.mjs +6 -6
- package/esm2022/barcode/barcode.mjs +3 -3
- package/esm2022/calendar/calendar.mjs +2 -2
- package/esm2022/checkbox-group/checkbox-group-item.mjs +3 -3
- package/esm2022/form-builder/form-builder-service.mjs +4 -2
- package/esm2022/form-builder/node-properties.mjs +3 -13
- package/esm2022/forms/boolean-field.mjs +6 -5
- package/esm2022/forms/current-slide.mjs +92 -0
- package/esm2022/forms/date-input-field.mjs +7 -9
- package/esm2022/forms/display-field.mjs +2 -2
- package/esm2022/forms/empty-field.mjs +3 -3
- package/esm2022/forms/field-row.mjs +117 -0
- package/esm2022/forms/field.mjs +2 -2
- package/esm2022/forms/form.mjs +107 -13
- package/esm2022/forms/forms-module.mjs +26 -3
- package/esm2022/forms/input-field.mjs +6 -8
- package/esm2022/forms/multiple-choice-field.mjs +45 -10
- package/esm2022/forms/public_api.mjs +6 -1
- package/esm2022/forms/range-field.mjs +5 -6
- package/esm2022/forms/rep-strip.mjs +61 -0
- package/esm2022/forms/single-choice-field.mjs +26 -11
- package/esm2022/forms/slide-header.mjs +68 -0
- package/esm2022/forms/slide-stats.mjs +148 -0
- package/esm2022/forms/table-field.mjs +2 -2
- package/esm2022/forms/text-field.mjs +2 -2
- package/esm2022/forms/video-url-field.mjs +6 -8
- package/esm2022/geolocation/geolocation.mjs +4 -6
- package/esm2022/page-slider/page-slider.mjs +3 -3
- package/esm2022/signature/signature.mjs +5 -6
- package/esm2022/time/time-module.mjs +22 -4
- package/esm2022/time/time.mjs +4 -4
- package/fesm2022/ajf-material-audio.mjs +27 -9
- package/fesm2022/ajf-material-audio.mjs.map +1 -1
- package/fesm2022/ajf-material-barcode.mjs +2 -2
- package/fesm2022/ajf-material-barcode.mjs.map +1 -1
- package/fesm2022/ajf-material-calendar.mjs +2 -2
- package/fesm2022/ajf-material-calendar.mjs.map +1 -1
- package/fesm2022/ajf-material-checkbox-group.mjs +2 -2
- package/fesm2022/ajf-material-checkbox-group.mjs.map +1 -1
- package/fesm2022/ajf-material-form-builder.mjs +5 -13
- package/fesm2022/ajf-material-form-builder.mjs.map +1 -1
- package/fesm2022/ajf-material-forms.mjs +712 -99
- package/fesm2022/ajf-material-forms.mjs.map +1 -1
- package/fesm2022/ajf-material-geolocation.mjs +5 -7
- package/fesm2022/ajf-material-geolocation.mjs.map +1 -1
- package/fesm2022/ajf-material-page-slider.mjs +2 -2
- package/fesm2022/ajf-material-page-slider.mjs.map +1 -1
- package/fesm2022/ajf-material-signature.mjs +7 -8
- package/fesm2022/ajf-material-signature.mjs.map +1 -1
- package/fesm2022/ajf-material-time.mjs +24 -6
- package/fesm2022/ajf-material-time.mjs.map +1 -1
- package/forms/_theming.scss +142 -0
- package/forms/current-slide.d.ts +61 -0
- package/forms/field-row.d.ts +63 -0
- package/forms/form.d.ts +40 -3
- package/forms/forms-module.d.ts +57 -51
- package/forms/multiple-choice-field.d.ts +15 -1
- package/forms/public_api.d.ts +5 -0
- package/forms/rep-strip.d.ts +52 -0
- package/forms/single-choice-field.d.ts +7 -0
- package/forms/slide-header.d.ts +61 -0
- package/forms/slide-stats.d.ts +76 -0
- package/package.json +2 -2
- package/time/time-module.d.ts +4 -3
|
@@ -26,19 +26,20 @@ import * as i1 from "@ajf/core/forms";
|
|
|
26
26
|
import * as i2 from "@angular/common";
|
|
27
27
|
import * as i3 from "@angular/material/slide-toggle";
|
|
28
28
|
import * as i4 from "@angular/forms";
|
|
29
|
-
import * as i5 from "
|
|
29
|
+
import * as i5 from "@ngneat/transloco";
|
|
30
|
+
import * as i6 from "./warning-alert-service";
|
|
30
31
|
export class AjfBooleanFieldComponent extends AjfBaseFieldComponent {
|
|
31
32
|
constructor(cdr, service, was) {
|
|
32
33
|
super(cdr, service, was);
|
|
33
34
|
}
|
|
34
35
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AjfBooleanFieldComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.AjfFormRendererService }, { token: AJF_WARNING_ALERT_SERVICE }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
35
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AjfBooleanFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<
|
|
36
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AjfBooleanFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"control | async as ctrl\">\n <mat-slide-toggle [formControl]=\"ctrl!\"></mat-slide-toggle>\n <span class=\"ajf-bool-label\">{{ (ctrl.value ? 'Yes' : 'No') | transloco }}</span>\n</ng-container>\n", styles: ["ajf-field .ajf-bool-label{color:var(--ajf-text);font-size:14px}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: i5.TranslocoPipe, name: "transloco" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
36
37
|
}
|
|
37
38
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AjfBooleanFieldComponent, decorators: [{
|
|
38
39
|
type: Component,
|
|
39
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<
|
|
40
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.AjfFormRendererService }, { type:
|
|
40
|
+
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ng-container *ngIf=\"control | async as ctrl\">\n <mat-slide-toggle [formControl]=\"ctrl!\"></mat-slide-toggle>\n <span class=\"ajf-bool-label\">{{ (ctrl.value ? 'Yes' : 'No') | transloco }}</span>\n</ng-container>\n", styles: ["ajf-field .ajf-bool-label{color:var(--ajf-text);font-size:14px}\n"] }]
|
|
41
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.AjfFormRendererService }, { type: i6.AjfWarningAlertService, decorators: [{
|
|
41
42
|
type: Inject,
|
|
42
43
|
args: [AJF_WARNING_ALERT_SERVICE]
|
|
43
44
|
}] }] });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vbGVhbi1maWVsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hdGVyaWFsL2Zvcm1zL3NyYy9ib29sZWFuLWZpZWxkLnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0ZXJpYWwvZm9ybXMvc3JjL2Jvb2xlYW4tZmllbGQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7QUFFSCxPQUFPLEVBQ0wseUJBQXlCLEVBQ3pCLHFCQUFxQixHQUV0QixNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7O0FBU3ZCLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxxQkFBcUI7SUFDakUsWUFDRSxHQUFzQixFQUN0QixPQUErQixFQUNJLEdBQTJCO1FBRTlELEtBQUssQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzNCLENBQUM7K0dBUFUsd0JBQXdCLHlGQUl6Qix5QkFBeUI7bUdBSnhCLHdCQUF3QiwyRUMxQ3JDLDZOQUlBOzs0RkRzQ2Esd0JBQXdCO2tCQU5wQyxTQUFTO3NDQUdTLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUk7OzBCQU1sQyxNQUFNOzJCQUFDLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAoQykgR251Y29vcCBzb2MuIGNvb3AuXG4gKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEFkdmFuY2VkIEpTT04gZm9ybXMgKGFqZikuXG4gKlxuICogQWR2YW5jZWQgSlNPTiBmb3JtcyAoYWpmKSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3JcbiAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsXG4gKiBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIEFkdmFuY2VkIEpTT04gZm9ybXMgKGFqZikgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEFmZmVyb1xuICogR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCBBZHZhbmNlZCBKU09OIGZvcm1zIChhamYpLlxuICogSWYgbm90LCBzZWUgaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLy5cbiAqXG4gKi9cblxuaW1wb3J0IHtcbiAgQUpGX1dBUk5JTkdfQUxFUlRfU0VSVklDRSxcbiAgQWpmQmFzZUZpZWxkQ29tcG9uZW50LFxuICBBamZGb3JtUmVuZGVyZXJTZXJ2aWNlLFxufSBmcm9tICdAYWpmL2NvcmUvZm9ybXMnO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEluamVjdCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge0FqZldhcm5pbmdBbGVydFNlcnZpY2V9IGZyb20gJy4vd2FybmluZy1hbGVydC1zZXJ2aWNlJztcbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJ2Jvb2xlYW4tZmllbGQuaHRtbCcsXG4gIHN0eWxlVXJsczogWydib29sZWFuLWZpZWxkLnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIEFqZkJvb2xlYW5GaWVsZENvbXBvbmVudCBleHRlbmRzIEFqZkJhc2VGaWVsZENvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgc2VydmljZTogQWpmRm9ybVJlbmRlcmVyU2VydmljZSxcbiAgICBASW5qZWN0KEFKRl9XQVJOSU5HX0FMRVJUX1NFUlZJQ0UpIHdhczogQWpmV2FybmluZ0FsZXJ0U2VydmljZSxcbiAgKSB7XG4gICAgc3VwZXIoY2RyLCBzZXJ2aWNlLCB3YXMpO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiY29udHJvbCB8IGFzeW5jIGFzIGN0cmxcIj5cbiAgPG1hdC1zbGlkZS10b2dnbGUgW2Zvcm1Db250cm9sXT1cImN0cmwhXCI+PC9tYXQtc2xpZGUtdG9nZ2xlPlxuICA8c3BhbiBjbGFzcz1cImFqZi1ib29sLWxhYmVsXCI+e3sgKGN0cmwudmFsdWUgPyAnWWVzJyA6ICdObycpIHwgdHJhbnNsb2NvIH19PC9zcGFuPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright (C) Gnucoop soc. coop.
|
|
4
|
+
*
|
|
5
|
+
* This file is part of the Advanced JSON forms (ajf).
|
|
6
|
+
*
|
|
7
|
+
* Advanced JSON forms (ajf) is free software: you can redistribute it and/or
|
|
8
|
+
* modify it under the terms of the GNU Affero General Public License as
|
|
9
|
+
* published by the Free Software Foundation, either version 3 of the License,
|
|
10
|
+
* or (at your option) any later version.
|
|
11
|
+
*
|
|
12
|
+
* Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
|
|
13
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
14
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
|
|
15
|
+
* General Public License for more details.
|
|
16
|
+
*
|
|
17
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
18
|
+
* along with Advanced JSON forms (ajf).
|
|
19
|
+
* If not, see http://www.gnu.org/licenses/.
|
|
20
|
+
*
|
|
21
|
+
*/
|
|
22
|
+
import { isRepeatingSlideInstance, } from '@ajf/core/forms';
|
|
23
|
+
import { Pipe } from '@angular/core';
|
|
24
|
+
import * as i0 from "@angular/core";
|
|
25
|
+
const pageCount = (slide) => isRepeatingSlideInstance(slide) ? Math.max(1, slide.reps) : 1;
|
|
26
|
+
/**
|
|
27
|
+
* Resolve the page slider's current page into a slide.
|
|
28
|
+
*
|
|
29
|
+
* The renderer lays out one page per slide, and one page per repetition of a
|
|
30
|
+
* repeating slide, optionally preceded by a start message page -- the same
|
|
31
|
+
* arithmetic the error navigation in `AjfFormRenderer` performs.
|
|
32
|
+
*
|
|
33
|
+
* Impure, because slide visibility and repetition counts are mutated in place.
|
|
34
|
+
* The result is memoized so that the pipe keeps handing back the same object
|
|
35
|
+
* while nothing has moved: returning a fresh one on every check would trip
|
|
36
|
+
* Angular's "expression has changed after it was checked" guard.
|
|
37
|
+
*/
|
|
38
|
+
export class AjfCurrentSlidePipe {
|
|
39
|
+
constructor() {
|
|
40
|
+
this._last = null;
|
|
41
|
+
}
|
|
42
|
+
transform(slides, currentPage, hasStartMessage, hasEndMessage = false) {
|
|
43
|
+
const visible = (slides || []).filter(s => s.visible !== false);
|
|
44
|
+
const offset = hasStartMessage ? 1 : 0;
|
|
45
|
+
const next = {
|
|
46
|
+
slide: null,
|
|
47
|
+
repIndex: 0,
|
|
48
|
+
reps: 0,
|
|
49
|
+
displayNumber: Math.max(1, (currentPage || 0) + 1),
|
|
50
|
+
total: visible.length,
|
|
51
|
+
pages: offset +
|
|
52
|
+
(hasEndMessage ? 1 : 0) +
|
|
53
|
+
visible.reduce((count, slide) => count + pageCount(slide), 0),
|
|
54
|
+
};
|
|
55
|
+
let page = (currentPage || 0) - offset;
|
|
56
|
+
if (page >= 0) {
|
|
57
|
+
for (let i = 0; i < visible.length; i++) {
|
|
58
|
+
const slide = visible[i];
|
|
59
|
+
const pages = pageCount(slide);
|
|
60
|
+
if (page < pages) {
|
|
61
|
+
next.slide = slide;
|
|
62
|
+
next.repIndex = page;
|
|
63
|
+
next.reps = isRepeatingSlideInstance(slide)
|
|
64
|
+
? slide.reps
|
|
65
|
+
: 0;
|
|
66
|
+
next.displayNumber = i + 1 + offset;
|
|
67
|
+
break;
|
|
68
|
+
}
|
|
69
|
+
page -= pages;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
const last = this._last;
|
|
73
|
+
if (last != null &&
|
|
74
|
+
last.slide === next.slide &&
|
|
75
|
+
last.repIndex === next.repIndex &&
|
|
76
|
+
last.reps === next.reps &&
|
|
77
|
+
last.displayNumber === next.displayNumber &&
|
|
78
|
+
last.total === next.total &&
|
|
79
|
+
last.pages === next.pages) {
|
|
80
|
+
return last;
|
|
81
|
+
}
|
|
82
|
+
this._last = next;
|
|
83
|
+
return next;
|
|
84
|
+
}
|
|
85
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AjfCurrentSlidePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
86
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: AjfCurrentSlidePipe, name: "ajfCurrentSlide", pure: false }); }
|
|
87
|
+
}
|
|
88
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AjfCurrentSlidePipe, decorators: [{
|
|
89
|
+
type: Pipe,
|
|
90
|
+
args: [{ name: 'ajfCurrentSlide', pure: false }]
|
|
91
|
+
}] });
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVudC1zbGlkZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hdGVyaWFsL2Zvcm1zL3NyYy9jdXJyZW50LXNsaWRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRztBQUVILE9BQU8sRUFHTCx3QkFBd0IsR0FDekIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUMsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQzs7QUFzQmxELE1BQU0sU0FBUyxHQUFHLENBQUMsS0FBdUIsRUFBVSxFQUFFLENBQ3BELHdCQUF3QixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRyxLQUFtQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFFL0Y7Ozs7Ozs7Ozs7O0dBV0c7QUFFSCxNQUFNLE9BQU8sbUJBQW1CO0lBRGhDO1FBRVUsVUFBSyxHQUEyQixJQUFJLENBQUM7S0F1RDlDO0lBckRDLFNBQVMsQ0FDUCxNQUFpQyxFQUNqQyxXQUFtQixFQUNuQixlQUF3QixFQUN4QixnQkFBeUIsS0FBSztRQUU5QixNQUFNLE9BQU8sR0FBRyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxLQUFLLEtBQUssQ0FBQyxDQUFDO1FBQ2hFLE1BQU0sTUFBTSxHQUFHLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkMsTUFBTSxJQUFJLEdBQW9CO1lBQzVCLEtBQUssRUFBRSxJQUFJO1lBQ1gsUUFBUSxFQUFFLENBQUM7WUFDWCxJQUFJLEVBQUUsQ0FBQztZQUNQLGFBQWEsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLFdBQVcsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbEQsS0FBSyxFQUFFLE9BQU8sQ0FBQyxNQUFNO1lBQ3JCLEtBQUssRUFDSCxNQUFNO2dCQUNOLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDdkIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ2hFLENBQUM7UUFFRixJQUFJLElBQUksR0FBRyxDQUFDLFdBQVcsSUFBSSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUM7UUFDdkMsSUFBSSxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDZCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUN4QyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3pCLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDL0IsSUFBSSxJQUFJLEdBQUcsS0FBSyxFQUFFLENBQUM7b0JBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO29CQUNuQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztvQkFDckIsSUFBSSxDQUFDLElBQUksR0FBRyx3QkFBd0IsQ0FBQyxLQUFLLENBQUM7d0JBQ3pDLENBQUMsQ0FBRSxLQUFtQyxDQUFDLElBQUk7d0JBQzNDLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ04sSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQztvQkFDcEMsTUFBTTtnQkFDUixDQUFDO2dCQUNELElBQUksSUFBSSxLQUFLLENBQUM7WUFDaEIsQ0FBQztRQUNILENBQUM7UUFFRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3hCLElBQ0UsSUFBSSxJQUFJLElBQUk7WUFDWixJQUFJLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxLQUFLO1lBQ3pCLElBQUksQ0FBQyxRQUFRLEtBQUssSUFBSSxDQUFDLFFBQVE7WUFDL0IsSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsSUFBSTtZQUN2QixJQUFJLENBQUMsYUFBYSxLQUFLLElBQUksQ0FBQyxhQUFhO1lBQ3pDLElBQUksQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEtBQUs7WUFDekIsSUFBSSxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsS0FBSyxFQUN6QixDQUFDO1lBQ0QsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBQ0QsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDbEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOytHQXZEVSxtQkFBbUI7NkdBQW5CLG1CQUFtQjs7NEZBQW5CLG1CQUFtQjtrQkFEL0IsSUFBSTttQkFBQyxFQUFDLElBQUksRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IChDKSBHbnVjb29wIHNvYy4gY29vcC5cbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWR2YW5jZWQgSlNPTiBmb3JtcyAoYWpmKS5cbiAqXG4gKiBBZHZhbmNlZCBKU09OIGZvcm1zIChhamYpIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vclxuICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSxcbiAqIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogQWR2YW5jZWQgSlNPTiBmb3JtcyAoYWpmKSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZSBHTlUgQWZmZXJvXG4gKiBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBhbG9uZyB3aXRoIEFkdmFuY2VkIEpTT04gZm9ybXMgKGFqZikuXG4gKiBJZiBub3QsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvLlxuICpcbiAqL1xuXG5pbXBvcnQge1xuICBBamZSZXBlYXRpbmdTbGlkZUluc3RhbmNlLFxuICBBamZTbGlkZUluc3RhbmNlLFxuICBpc1JlcGVhdGluZ1NsaWRlSW5zdGFuY2UsXG59IGZyb20gJ0BhamYvY29yZS9mb3Jtcyc7XG5pbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKiogV2hpY2ggc2xpZGUgdGhlIHBhZ2Ugc2xpZGVyIGlzIGN1cnJlbnRseSBzaG93aW5nLCBhbmQgd2hlcmUgaXQgc2l0cy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWpmQ3VycmVudFNsaWRlIHtcbiAgLyoqIE51bGwgd2hpbGUgYSBzdGFydCBvciBlbmQgbWVzc2FnZSBwYWdlIGlzIG9uIHNjcmVlbi4gKi9cbiAgc2xpZGU6IEFqZlNsaWRlSW5zdGFuY2UgfCBudWxsO1xuICAvKiogVGhlIHJlcGV0aXRpb24gb24gc2NyZWVuLCB6ZXJvIGJhc2VkOyAwIGZvciBhIG5vbi1yZXBlYXRpbmcgc2xpZGUuICovXG4gIHJlcEluZGV4OiBudW1iZXI7XG4gIC8qKiBIb3cgbWFueSByZXBldGl0aW9ucyB0aGUgc2xpZGUgaGFzOyAwIHdoZW4gaXQgZG9lcyBub3QgcmVwZWF0LiAqL1xuICByZXBzOiBudW1iZXI7XG4gIC8qKiBUaGUgc2xpZGUncyBvcmRpbmFsIGFtb25nIHRoZSB2aXNpYmxlIG9uZXMsIGZvciB0aGUgaGVhZGVyIGJhZGdlLiAqL1xuICBkaXNwbGF5TnVtYmVyOiBudW1iZXI7XG4gIC8qKiBIb3cgbWFueSB2aXNpYmxlIHNsaWRlcyB0aGUgZm9ybSBoYXMuICovXG4gIHRvdGFsOiBudW1iZXI7XG4gIC8qKlxuICAgKiBIb3cgbWFueSBwYWdlcyB0aGUgc2xpZGVyIGhvbGRzOiBvbmUgcGVyIHZpc2libGUgc2xpZGUsIG9uZSBwZXIgcmVwZXRpdGlvblxuICAgKiBvZiBhIHJlcGVhdGluZyBzbGlkZSwgcGx1cyB0aGUgc3RhcnQgYW5kIGVuZCBtZXNzYWdlIHBhZ2VzLiBOb3RoaW5nIHRvXG4gICAqIG5hdmlnYXRlIHRvIHdoZW4gdGhpcyBpcyAxLlxuICAgKi9cbiAgcGFnZXM6IG51bWJlcjtcbn1cblxuY29uc3QgcGFnZUNvdW50ID0gKHNsaWRlOiBBamZTbGlkZUluc3RhbmNlKTogbnVtYmVyID0+XG4gIGlzUmVwZWF0aW5nU2xpZGVJbnN0YW5jZShzbGlkZSkgPyBNYXRoLm1heCgxLCAoc2xpZGUgYXMgQWpmUmVwZWF0aW5nU2xpZGVJbnN0YW5jZSkucmVwcykgOiAxO1xuXG4vKipcbiAqIFJlc29sdmUgdGhlIHBhZ2Ugc2xpZGVyJ3MgY3VycmVudCBwYWdlIGludG8gYSBzbGlkZS5cbiAqXG4gKiBUaGUgcmVuZGVyZXIgbGF5cyBvdXQgb25lIHBhZ2UgcGVyIHNsaWRlLCBhbmQgb25lIHBhZ2UgcGVyIHJlcGV0aXRpb24gb2YgYVxuICogcmVwZWF0aW5nIHNsaWRlLCBvcHRpb25hbGx5IHByZWNlZGVkIGJ5IGEgc3RhcnQgbWVzc2FnZSBwYWdlIC0tIHRoZSBzYW1lXG4gKiBhcml0aG1ldGljIHRoZSBlcnJvciBuYXZpZ2F0aW9uIGluIGBBamZGb3JtUmVuZGVyZXJgIHBlcmZvcm1zLlxuICpcbiAqIEltcHVyZSwgYmVjYXVzZSBzbGlkZSB2aXNpYmlsaXR5IGFuZCByZXBldGl0aW9uIGNvdW50cyBhcmUgbXV0YXRlZCBpbiBwbGFjZS5cbiAqIFRoZSByZXN1bHQgaXMgbWVtb2l6ZWQgc28gdGhhdCB0aGUgcGlwZSBrZWVwcyBoYW5kaW5nIGJhY2sgdGhlIHNhbWUgb2JqZWN0XG4gKiB3aGlsZSBub3RoaW5nIGhhcyBtb3ZlZDogcmV0dXJuaW5nIGEgZnJlc2ggb25lIG9uIGV2ZXJ5IGNoZWNrIHdvdWxkIHRyaXBcbiAqIEFuZ3VsYXIncyBcImV4cHJlc3Npb24gaGFzIGNoYW5nZWQgYWZ0ZXIgaXQgd2FzIGNoZWNrZWRcIiBndWFyZC5cbiAqL1xuQFBpcGUoe25hbWU6ICdhamZDdXJyZW50U2xpZGUnLCBwdXJlOiBmYWxzZX0pXG5leHBvcnQgY2xhc3MgQWpmQ3VycmVudFNsaWRlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBwcml2YXRlIF9sYXN0OiBBamZDdXJyZW50U2xpZGUgfCBudWxsID0gbnVsbDtcblxuICB0cmFuc2Zvcm0oXG4gICAgc2xpZGVzOiBBamZTbGlkZUluc3RhbmNlW10gfCBudWxsLFxuICAgIGN1cnJlbnRQYWdlOiBudW1iZXIsXG4gICAgaGFzU3RhcnRNZXNzYWdlOiBib29sZWFuLFxuICAgIGhhc0VuZE1lc3NhZ2U6IGJvb2xlYW4gPSBmYWxzZSxcbiAgKTogQWpmQ3VycmVudFNsaWRlIHtcbiAgICBjb25zdCB2aXNpYmxlID0gKHNsaWRlcyB8fCBbXSkuZmlsdGVyKHMgPT4gcy52aXNpYmxlICE9PSBmYWxzZSk7XG4gICAgY29uc3Qgb2Zmc2V0ID0gaGFzU3RhcnRNZXNzYWdlID8gMSA6IDA7XG4gICAgY29uc3QgbmV4dDogQWpmQ3VycmVudFNsaWRlID0ge1xuICAgICAgc2xpZGU6IG51bGwsXG4gICAgICByZXBJbmRleDogMCxcbiAgICAgIHJlcHM6IDAsXG4gICAgICBkaXNwbGF5TnVtYmVyOiBNYXRoLm1heCgxLCAoY3VycmVudFBhZ2UgfHwgMCkgKyAxKSxcbiAgICAgIHRvdGFsOiB2aXNpYmxlLmxlbmd0aCxcbiAgICAgIHBhZ2VzOlxuICAgICAgICBvZmZzZXQgK1xuICAgICAgICAoaGFzRW5kTWVzc2FnZSA/IDEgOiAwKSArXG4gICAgICAgIHZpc2libGUucmVkdWNlKChjb3VudCwgc2xpZGUpID0+IGNvdW50ICsgcGFnZUNvdW50KHNsaWRlKSwgMCksXG4gICAgfTtcblxuICAgIGxldCBwYWdlID0gKGN1cnJlbnRQYWdlIHx8IDApIC0gb2Zmc2V0O1xuICAgIGlmIChwYWdlID49IDApIHtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdmlzaWJsZS5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBzbGlkZSA9IHZpc2libGVbaV07XG4gICAgICAgIGNvbnN0IHBhZ2VzID0gcGFnZUNvdW50KHNsaWRlKTtcbiAgICAgICAgaWYgKHBhZ2UgPCBwYWdlcykge1xuICAgICAgICAgIG5leHQuc2xpZGUgPSBzbGlkZTtcbiAgICAgICAgICBuZXh0LnJlcEluZGV4ID0gcGFnZTtcbiAgICAgICAgICBuZXh0LnJlcHMgPSBpc1JlcGVhdGluZ1NsaWRlSW5zdGFuY2Uoc2xpZGUpXG4gICAgICAgICAgICA/IChzbGlkZSBhcyBBamZSZXBlYXRpbmdTbGlkZUluc3RhbmNlKS5yZXBzXG4gICAgICAgICAgICA6IDA7XG4gICAgICAgICAgbmV4dC5kaXNwbGF5TnVtYmVyID0gaSArIDEgKyBvZmZzZXQ7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgcGFnZSAtPSBwYWdlcztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBsYXN0ID0gdGhpcy5fbGFzdDtcbiAgICBpZiAoXG4gICAgICBsYXN0ICE9IG51bGwgJiZcbiAgICAgIGxhc3Quc2xpZGUgPT09IG5leHQuc2xpZGUgJiZcbiAgICAgIGxhc3QucmVwSW5kZXggPT09IG5leHQucmVwSW5kZXggJiZcbiAgICAgIGxhc3QucmVwcyA9PT0gbmV4dC5yZXBzICYmXG4gICAgICBsYXN0LmRpc3BsYXlOdW1iZXIgPT09IG5leHQuZGlzcGxheU51bWJlciAmJlxuICAgICAgbGFzdC50b3RhbCA9PT0gbmV4dC50b3RhbCAmJlxuICAgICAgbGFzdC5wYWdlcyA9PT0gbmV4dC5wYWdlc1xuICAgICkge1xuICAgICAgcmV0dXJuIGxhc3Q7XG4gICAgfVxuICAgIHRoaXMuX2xhc3QgPSBuZXh0O1xuICAgIHJldHVybiBuZXh0O1xuICB9XG59XG4iXX0=
|
|
@@ -27,11 +27,9 @@ import * as i1 from "@ajf/core/forms";
|
|
|
27
27
|
import * as i2 from "@angular/common";
|
|
28
28
|
import * as i3 from "@angular/material/button";
|
|
29
29
|
import * as i4 from "@angular/material/datepicker";
|
|
30
|
-
import * as i5 from "@angular/
|
|
31
|
-
import * as i6 from "@
|
|
32
|
-
import * as i7 from "
|
|
33
|
-
import * as i8 from "@ngneat/transloco";
|
|
34
|
-
import * as i9 from "./warning-alert-service";
|
|
30
|
+
import * as i5 from "@angular/forms";
|
|
31
|
+
import * as i6 from "@ngneat/transloco";
|
|
32
|
+
import * as i7 from "./warning-alert-service";
|
|
35
33
|
export class AjfDateInputFieldComponent extends AjfBaseFieldComponent {
|
|
36
34
|
constructor(cdr, service, was) {
|
|
37
35
|
super(cdr, service, was);
|
|
@@ -40,16 +38,16 @@ export class AjfDateInputFieldComponent extends AjfBaseFieldComponent {
|
|
|
40
38
|
ctrl.setValue(null);
|
|
41
39
|
}
|
|
42
40
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AjfDateInputFieldComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.AjfFormRendererService }, { token: AJF_WARNING_ALERT_SERVICE }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
43
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AjfDateInputFieldComponent, selector: "ng-component", viewQueries: [{ propertyName: "input", first: true, predicate: MatInput, descendants: true }], usesInheritance: true, ngImport: i0, template: "<
|
|
41
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AjfDateInputFieldComponent, selector: "ng-component", viewQueries: [{ propertyName: "input", first: true, predicate: MatInput, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"control | async as ctrl\">\n <span class=\"ajf-input-group ajf-control--mono\">\n <input\n [matDatepicker]=\"picker\"\n [attr.aria-label]=\"instance! | ajfNodeCompleteName\"\n [min]=\"instance!.node.minDate | ajfDateValueString\"\n [max]=\"instance!.node.maxDate | ajfDateValueString\"\n [formControl]=\"ctrl!\"\n readonly\n />\n <mat-datepicker-toggle class=\"ajf-input-group-action\" [for]=\"picker\"></mat-datepicker-toggle>\n </span>\n <mat-datepicker #picker>\n <mat-datepicker-actions>\n <button mat-button type=\"button\" (click)=\"clear(ctrl); picker.close()\">\n {{ 'Clear' | transloco }}\n </button>\n <button mat-raised-button color=\"primary\" matDatepickerApply>{{ 'OK' | transloco }}</button>\n </mat-datepicker-actions>\n </mat-datepicker>\n</ng-container>\n", styles: ["ajf-field .ajf-input-group{width:200px}ajf-field .ajf-input-group .mat-datepicker-toggle{display:inline-flex}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { 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: "component", type: i4.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i4.MatDatepickerActions, selector: "mat-datepicker-actions, mat-date-range-picker-actions" }, { kind: "directive", type: i4.MatDatepickerApply, selector: "[matDatepickerApply], [matDateRangePickerApply]" }, { kind: "directive", type: i5.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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: i6.TranslocoPipe, name: "transloco" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.AjfDateValueStringPipe, name: "ajfDateValueString" }, { kind: "pipe", type: i1.AjfNodeCompleteNamePipe, name: "ajfNodeCompleteName" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
44
42
|
}
|
|
45
43
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AjfDateInputFieldComponent, decorators: [{
|
|
46
44
|
type: Component,
|
|
47
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<
|
|
48
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.AjfFormRendererService }, { type:
|
|
45
|
+
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ng-container *ngIf=\"control | async as ctrl\">\n <span class=\"ajf-input-group ajf-control--mono\">\n <input\n [matDatepicker]=\"picker\"\n [attr.aria-label]=\"instance! | ajfNodeCompleteName\"\n [min]=\"instance!.node.minDate | ajfDateValueString\"\n [max]=\"instance!.node.maxDate | ajfDateValueString\"\n [formControl]=\"ctrl!\"\n readonly\n />\n <mat-datepicker-toggle class=\"ajf-input-group-action\" [for]=\"picker\"></mat-datepicker-toggle>\n </span>\n <mat-datepicker #picker>\n <mat-datepicker-actions>\n <button mat-button type=\"button\" (click)=\"clear(ctrl); picker.close()\">\n {{ 'Clear' | transloco }}\n </button>\n <button mat-raised-button color=\"primary\" matDatepickerApply>{{ 'OK' | transloco }}</button>\n </mat-datepicker-actions>\n </mat-datepicker>\n</ng-container>\n", styles: ["ajf-field .ajf-input-group{width:200px}ajf-field .ajf-input-group .mat-datepicker-toggle{display:inline-flex}\n"] }]
|
|
46
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.AjfFormRendererService }, { type: i7.AjfWarningAlertService, decorators: [{
|
|
49
47
|
type: Inject,
|
|
50
48
|
args: [AJF_WARNING_ALERT_SERVICE]
|
|
51
49
|
}] }], propDecorators: { input: [{
|
|
52
50
|
type: ViewChild,
|
|
53
51
|
args: [MatInput, { static: false }]
|
|
54
52
|
}] } });
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1pbnB1dC1maWVsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hdGVyaWFsL2Zvcm1zL3NyYy9kYXRlLWlucHV0LWZpZWxkLnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0ZXJpYWwvZm9ybXMvc3JjL2RhdGUtaW5wdXQtZmllbGQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7QUFFSCxPQUFPLEVBQ0wseUJBQXlCLEVBQ3pCLHFCQUFxQixHQUd0QixNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7Ozs7O0FBVWpELE1BQU0sT0FBTywwQkFBMkIsU0FBUSxxQkFBMkM7SUFHekYsWUFDRSxHQUFzQixFQUN0QixPQUErQixFQUNJLEdBQTJCO1FBRTlELEtBQUssQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBd0I7UUFDNUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QixDQUFDOytHQWJVLDBCQUEwQix5RkFNM0IseUJBQXlCO21HQU54QiwwQkFBMEIsMkZBQzFCLFFBQVEsdUVDL0NyQixvMkJBcUJBOzs0RkR5QmEsMEJBQTBCO2tCQU50QyxTQUFTO3NDQUdTLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUk7OzBCQVFsQyxNQUFNOzJCQUFDLHlCQUF5Qjt5Q0FMRyxLQUFLO3NCQUExQyxTQUFTO3VCQUFDLFFBQVEsRUFBRSxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgKEMpIEdudWNvb3Agc29jLiBjb29wLlxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBZHZhbmNlZCBKU09OIGZvcm1zIChhamYpLlxuICpcbiAqIEFkdmFuY2VkIEpTT04gZm9ybXMgKGFqZikgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yXG4gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLFxuICogb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBBZHZhbmNlZCBKU09OIGZvcm1zIChhamYpIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlIEdOVSBBZmZlcm9cbiAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGFsb25nIHdpdGggQWR2YW5jZWQgSlNPTiBmb3JtcyAoYWpmKS5cbiAqIElmIG5vdCwgc2VlIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8uXG4gKlxuICovXG5cbmltcG9ydCB7XG4gIEFKRl9XQVJOSU5HX0FMRVJUX1NFUlZJQ0UsXG4gIEFqZkJhc2VGaWVsZENvbXBvbmVudCxcbiAgQWpmRGF0ZUZpZWxkSW5zdGFuY2UsXG4gIEFqZkZvcm1SZW5kZXJlclNlcnZpY2UsXG59IGZyb20gJ0BhamYvY29yZS9mb3Jtcyc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgSW5qZWN0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TWF0SW5wdXR9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7VW50eXBlZEZvcm1Db250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0FqZldhcm5pbmdBbGVydFNlcnZpY2V9IGZyb20gJy4vd2FybmluZy1hbGVydC1zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnZGF0ZS1pbnB1dC1maWVsZC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ2RhdGUtaW5wdXQtZmllbGQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgQWpmRGF0ZUlucHV0RmllbGRDb21wb25lbnQgZXh0ZW5kcyBBamZCYXNlRmllbGRDb21wb25lbnQ8QWpmRGF0ZUZpZWxkSW5zdGFuY2U+IHtcbiAgQFZpZXdDaGlsZChNYXRJbnB1dCwge3N0YXRpYzogZmFsc2V9KSBpbnB1dCE6IE1hdElucHV0O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgc2VydmljZTogQWpmRm9ybVJlbmRlcmVyU2VydmljZSxcbiAgICBASW5qZWN0KEFKRl9XQVJOSU5HX0FMRVJUX1NFUlZJQ0UpIHdhczogQWpmV2FybmluZ0FsZXJ0U2VydmljZSxcbiAgKSB7XG4gICAgc3VwZXIoY2RyLCBzZXJ2aWNlLCB3YXMpO1xuICB9XG5cbiAgY2xlYXIoY3RybDogVW50eXBlZEZvcm1Db250cm9sKTogdm9pZCB7XG4gICAgY3RybC5zZXRWYWx1ZShudWxsKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRyb2wgfCBhc3luYyBhcyBjdHJsXCI+XG4gIDxzcGFuIGNsYXNzPVwiYWpmLWlucHV0LWdyb3VwIGFqZi1jb250cm9sLS1tb25vXCI+XG4gICAgPGlucHV0XG4gICAgICBbbWF0RGF0ZXBpY2tlcl09XCJwaWNrZXJcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJpbnN0YW5jZSEgfCBhamZOb2RlQ29tcGxldGVOYW1lXCJcbiAgICAgIFttaW5dPVwiaW5zdGFuY2UhLm5vZGUubWluRGF0ZSB8IGFqZkRhdGVWYWx1ZVN0cmluZ1wiXG4gICAgICBbbWF4XT1cImluc3RhbmNlIS5ub2RlLm1heERhdGUgfCBhamZEYXRlVmFsdWVTdHJpbmdcIlxuICAgICAgW2Zvcm1Db250cm9sXT1cImN0cmwhXCJcbiAgICAgIHJlYWRvbmx5XG4gICAgLz5cbiAgICA8bWF0LWRhdGVwaWNrZXItdG9nZ2xlIGNsYXNzPVwiYWpmLWlucHV0LWdyb3VwLWFjdGlvblwiIFtmb3JdPVwicGlja2VyXCI+PC9tYXQtZGF0ZXBpY2tlci10b2dnbGU+XG4gIDwvc3Bhbj5cbiAgPG1hdC1kYXRlcGlja2VyICNwaWNrZXI+XG4gICAgPG1hdC1kYXRlcGlja2VyLWFjdGlvbnM+XG4gICAgICA8YnV0dG9uIG1hdC1idXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJjbGVhcihjdHJsKTsgcGlja2VyLmNsb3NlKClcIj5cbiAgICAgICAge3sgJ0NsZWFyJyB8IHRyYW5zbG9jbyB9fVxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIG1hdERhdGVwaWNrZXJBcHBseT57eyAnT0snIHwgdHJhbnNsb2NvIH19PC9idXR0b24+XG4gICAgPC9tYXQtZGF0ZXBpY2tlci1hY3Rpb25zPlxuICA8L21hdC1kYXRlcGlja2VyPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
|
|
@@ -37,11 +37,11 @@ export class AjfDisplayFieldComponent extends AjfInputFieldComponent {
|
|
|
37
37
|
super(cdr, service, was);
|
|
38
38
|
}
|
|
39
39
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AjfDisplayFieldComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.AjfFormRendererService }, { token: AJF_WARNING_ALERT_SERVICE }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
40
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AjfDisplayFieldComponent, selector: "ajf-display-field", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"control | async as ctrl\">\n <ng-container [ngSwitch]=\"instance?.node?.fieldType\">\n\n <!-- String -->\n <span *ngSwitchCase=\"0\">{{ ctrl.value }}</span>\n\n <!-- Textarea with HTML -->\n <div *ngSwitchCase=\"1\" [innerHTML]=\"ctrl.value | safeHtml\"></div>\n\n <!-- Number -->\n <span *ngSwitchCase=\"2\">{{ ctrl.value | number }}</span>\n\n <!-- Boolean -->\n <mat-slide-toggle *ngSwitchCase=\"3\" [checked]=\"ctrl.value\" (click)=\"$event.preventDefault()\"\n (change)=\"$event.source.checked = ctrl.value\" [disableRipple]=\"true\">\n </mat-slide-toggle>\n\n <!-- Default -->\n <span *ngSwitchDefault>{{ ctrl.value }}</span>\n\n </ng-container>\n</ng-container>", styles: ["ajf-display-field
|
|
40
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AjfDisplayFieldComponent, selector: "ajf-display-field", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"control | async as ctrl\">\n <ng-container [ngSwitch]=\"instance?.node?.fieldType\">\n\n <!-- String -->\n <span *ngSwitchCase=\"0\">{{ ctrl.value }}</span>\n\n <!-- Textarea with HTML -->\n <div *ngSwitchCase=\"1\" [innerHTML]=\"ctrl.value | safeHtml\"></div>\n\n <!-- Number -->\n <span *ngSwitchCase=\"2\">{{ ctrl.value | number }}</span>\n\n <!-- Boolean -->\n <mat-slide-toggle *ngSwitchCase=\"3\" [checked]=\"ctrl.value\" (click)=\"$event.preventDefault()\"\n (change)=\"$event.source.checked = ctrl.value\" [disableRipple]=\"true\">\n </mat-slide-toggle>\n\n <!-- Default -->\n <span *ngSwitchDefault>{{ ctrl.value }}</span>\n\n </ng-container>\n</ng-container>", styles: ["ajf-display-field{display:block;color:var(--ajf-text);font-size:14px;line-height:1.5}ajf-display-field>div>:first-child{margin-top:0}ajf-display-field>div>:last-child{margin-bottom:0}ajf-display-field .mat-mdc-slide-toggle{pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i3.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "pipe", type: i4.SafeHtmlPipe, name: "safeHtml" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.DecimalPipe, name: "number" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
41
41
|
}
|
|
42
42
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AjfDisplayFieldComponent, decorators: [{
|
|
43
43
|
type: Component,
|
|
44
|
-
args: [{ selector: 'ajf-display-field', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ng-container *ngIf=\"control | async as ctrl\">\n <ng-container [ngSwitch]=\"instance?.node?.fieldType\">\n\n <!-- String -->\n <span *ngSwitchCase=\"0\">{{ ctrl.value }}</span>\n\n <!-- Textarea with HTML -->\n <div *ngSwitchCase=\"1\" [innerHTML]=\"ctrl.value | safeHtml\"></div>\n\n <!-- Number -->\n <span *ngSwitchCase=\"2\">{{ ctrl.value | number }}</span>\n\n <!-- Boolean -->\n <mat-slide-toggle *ngSwitchCase=\"3\" [checked]=\"ctrl.value\" (click)=\"$event.preventDefault()\"\n (change)=\"$event.source.checked = ctrl.value\" [disableRipple]=\"true\">\n </mat-slide-toggle>\n\n <!-- Default -->\n <span *ngSwitchDefault>{{ ctrl.value }}</span>\n\n </ng-container>\n</ng-container>", styles: ["ajf-display-field
|
|
44
|
+
args: [{ selector: 'ajf-display-field', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ng-container *ngIf=\"control | async as ctrl\">\n <ng-container [ngSwitch]=\"instance?.node?.fieldType\">\n\n <!-- String -->\n <span *ngSwitchCase=\"0\">{{ ctrl.value }}</span>\n\n <!-- Textarea with HTML -->\n <div *ngSwitchCase=\"1\" [innerHTML]=\"ctrl.value | safeHtml\"></div>\n\n <!-- Number -->\n <span *ngSwitchCase=\"2\">{{ ctrl.value | number }}</span>\n\n <!-- Boolean -->\n <mat-slide-toggle *ngSwitchCase=\"3\" [checked]=\"ctrl.value\" (click)=\"$event.preventDefault()\"\n (change)=\"$event.source.checked = ctrl.value\" [disableRipple]=\"true\">\n </mat-slide-toggle>\n\n <!-- Default -->\n <span *ngSwitchDefault>{{ ctrl.value }}</span>\n\n </ng-container>\n</ng-container>", styles: ["ajf-display-field{display:block;color:var(--ajf-text);font-size:14px;line-height:1.5}ajf-display-field>div>:first-child{margin-top:0}ajf-display-field>div>:last-child{margin-bottom:0}ajf-display-field .mat-mdc-slide-toggle{pointer-events:none}\n"] }]
|
|
45
45
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.AjfFormRendererService }, { type: undefined, decorators: [{
|
|
46
46
|
type: Inject,
|
|
47
47
|
args: [AJF_WARNING_ALERT_SERVICE]
|
|
@@ -31,13 +31,13 @@ export class AjfEmptyFieldComponent extends AjfBaseFieldComponent {
|
|
|
31
31
|
super(cdr, service, was);
|
|
32
32
|
}
|
|
33
33
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AjfEmptyFieldComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.AjfFormRendererService }, { token: AJF_WARNING_ALERT_SERVICE }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
34
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AjfEmptyFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<
|
|
34
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AjfEmptyFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<!-- The field row renders the label; this block carries only the note body. -->\n<div class=\"ajf-note\" *ngIf=\"instance\" [innerHTML]=\"instance.node.HTML | transloco\"></div>\n", styles: ["ajf-field .ajf-note{box-sizing:border-box;width:100%;padding:12px 16px;border-left:3px solid var(--ajf-accent);background:var(--ajf-band);color:var(--ajf-text);font-size:14px;line-height:1.5}ajf-field .ajf-note>:first-child{margin-top:0}ajf-field .ajf-note>:last-child{margin-bottom:0}ajf-field .ajf-note strong,ajf-field .ajf-note b{font-weight:600}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.TranslocoPipe, name: "transloco" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
35
35
|
}
|
|
36
36
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AjfEmptyFieldComponent, decorators: [{
|
|
37
37
|
type: Component,
|
|
38
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<
|
|
38
|
+
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<!-- The field row renders the label; this block carries only the note body. -->\n<div class=\"ajf-note\" *ngIf=\"instance\" [innerHTML]=\"instance.node.HTML | transloco\"></div>\n", styles: ["ajf-field .ajf-note{box-sizing:border-box;width:100%;padding:12px 16px;border-left:3px solid var(--ajf-accent);background:var(--ajf-band);color:var(--ajf-text);font-size:14px;line-height:1.5}ajf-field .ajf-note>:first-child{margin-top:0}ajf-field .ajf-note>:last-child{margin-bottom:0}ajf-field .ajf-note strong,ajf-field .ajf-note b{font-weight:600}\n"] }]
|
|
39
39
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.AjfFormRendererService }, { type: i4.AjfWarningAlertService, decorators: [{
|
|
40
40
|
type: Inject,
|
|
41
41
|
args: [AJF_WARNING_ALERT_SERVICE]
|
|
42
42
|
}] }] });
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wdHktZmllbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRlcmlhbC9mb3Jtcy9zcmMvZW1wdHktZmllbGQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRlcmlhbC9mb3Jtcy9zcmMvZW1wdHktZmllbGQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7QUFFSCxPQUFPLEVBQ0wseUJBQXlCLEVBQ3pCLHFCQUFxQixHQUd0QixNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7Ozs7OztBQVV2QixNQUFNLE9BQU8sc0JBQXVCLFNBQVEscUJBQTRDO0lBQ3RGLFlBQ0UsR0FBc0IsRUFDdEIsT0FBK0IsRUFDSSxHQUEyQjtRQUU5RCxLQUFLLENBQUMsR0FBRyxFQUFFLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztJQUMzQixDQUFDOytHQVBVLHNCQUFzQix5RkFJdkIseUJBQXlCO21HQUp4QixzQkFBc0IsMkVDNUNuQyxzTEFFQTs7NEZEMENhLHNCQUFzQjtrQkFObEMsU0FBUztzQ0FHUyx1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJOzswQkFNbEMsTUFBTTsyQkFBQyx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgKEMpIEdudWNvb3Agc29jLiBjb29wLlxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBZHZhbmNlZCBKU09OIGZvcm1zIChhamYpLlxuICpcbiAqIEFkdmFuY2VkIEpTT04gZm9ybXMgKGFqZikgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yXG4gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLFxuICogb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBBZHZhbmNlZCBKU09OIGZvcm1zIChhamYpIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlIEdOVSBBZmZlcm9cbiAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGFsb25nIHdpdGggQWR2YW5jZWQgSlNPTiBmb3JtcyAoYWpmKS5cbiAqIElmIG5vdCwgc2VlIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8uXG4gKlxuICovXG5cbmltcG9ydCB7XG4gIEFKRl9XQVJOSU5HX0FMRVJUX1NFUlZJQ0UsXG4gIEFqZkJhc2VGaWVsZENvbXBvbmVudCxcbiAgQWpmRW1wdHlGaWVsZEluc3RhbmNlLFxuICBBamZGb3JtUmVuZGVyZXJTZXJ2aWNlLFxufSBmcm9tICdAYWpmL2NvcmUvZm9ybXMnO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEluamVjdCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge0FqZldhcm5pbmdBbGVydFNlcnZpY2V9IGZyb20gJy4vd2FybmluZy1hbGVydC1zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnZW1wdHktZmllbGQuaHRtbCcsXG4gIHN0eWxlVXJsczogWydlbXB0eS1maWVsZC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBBamZFbXB0eUZpZWxkQ29tcG9uZW50IGV4dGVuZHMgQWpmQmFzZUZpZWxkQ29tcG9uZW50PEFqZkVtcHR5RmllbGRJbnN0YW5jZT4ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHNlcnZpY2U6IEFqZkZvcm1SZW5kZXJlclNlcnZpY2UsXG4gICAgQEluamVjdChBSkZfV0FSTklOR19BTEVSVF9TRVJWSUNFKSB3YXM6IEFqZldhcm5pbmdBbGVydFNlcnZpY2UsXG4gICkge1xuICAgIHN1cGVyKGNkciwgc2VydmljZSwgd2FzKTtcbiAgfVxufVxuIiwiPCEtLSBUaGUgZmllbGQgcm93IHJlbmRlcnMgdGhlIGxhYmVsOyB0aGlzIGJsb2NrIGNhcnJpZXMgb25seSB0aGUgbm90ZSBib2R5LiAtLT5cbjxkaXYgY2xhc3M9XCJhamYtbm90ZVwiICpuZ0lmPVwiaW5zdGFuY2VcIiBbaW5uZXJIVE1MXT1cImluc3RhbmNlLm5vZGUuSFRNTCB8IHRyYW5zbG9jb1wiPjwvZGl2PlxuIl19
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright (C) Gnucoop soc. coop.
|
|
4
|
+
*
|
|
5
|
+
* This file is part of the Advanced JSON forms (ajf).
|
|
6
|
+
*
|
|
7
|
+
* Advanced JSON forms (ajf) is free software: you can redistribute it and/or
|
|
8
|
+
* modify it under the terms of the GNU Affero General Public License as
|
|
9
|
+
* published by the Free Software Foundation, either version 3 of the License,
|
|
10
|
+
* or (at your option) any later version.
|
|
11
|
+
*
|
|
12
|
+
* Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
|
|
13
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
14
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
|
|
15
|
+
* General Public License for more details.
|
|
16
|
+
*
|
|
17
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
18
|
+
* along with Advanced JSON forms (ajf).
|
|
19
|
+
* If not, see http://www.gnu.org/licenses/.
|
|
20
|
+
*
|
|
21
|
+
*/
|
|
22
|
+
import { AjfFieldType, AjfNodeType } from '@ajf/core/forms';
|
|
23
|
+
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
24
|
+
import { ChangeDetectionStrategy, Component, HostBinding, Input, ViewEncapsulation, } from '@angular/core';
|
|
25
|
+
import { Subscription } from 'rxjs';
|
|
26
|
+
import * as i0 from "@angular/core";
|
|
27
|
+
import * as i1 from "@angular/common";
|
|
28
|
+
import * as i2 from "@angular/material/icon";
|
|
29
|
+
import * as i3 from "@angular/material/tooltip";
|
|
30
|
+
import * as i4 from "./field";
|
|
31
|
+
import * as i5 from "@ngneat/transloco";
|
|
32
|
+
import * as i6 from "@ajf/core/forms";
|
|
33
|
+
/**
|
|
34
|
+
* One field of a slide, laid out as a row: type badge, label, control, and a
|
|
35
|
+
* right-hand column carrying either the field description or its validation
|
|
36
|
+
* error.
|
|
37
|
+
*
|
|
38
|
+
* Both the plain and the repeating slide branches of the renderer render through
|
|
39
|
+
* this component, so the row layout is defined in exactly one place.
|
|
40
|
+
*/
|
|
41
|
+
export class AjfFieldRow {
|
|
42
|
+
set instance(instance) {
|
|
43
|
+
this._instance = instance;
|
|
44
|
+
// Validity, visibility and the error list are mutated in place on the
|
|
45
|
+
// instance, so the row has to be told to re-check itself the same way the
|
|
46
|
+
// field components do.
|
|
47
|
+
this._instanceSub.unsubscribe();
|
|
48
|
+
this._instanceSub = instance
|
|
49
|
+
? instance.updatedEvt.subscribe(() => this._cdr.markForCheck())
|
|
50
|
+
: Subscription.EMPTY;
|
|
51
|
+
}
|
|
52
|
+
get instance() {
|
|
53
|
+
return this._instance;
|
|
54
|
+
}
|
|
55
|
+
constructor(_cdr) {
|
|
56
|
+
this._cdr = _cdr;
|
|
57
|
+
this._instanceSub = Subscription.EMPTY;
|
|
58
|
+
this._readonly = false;
|
|
59
|
+
}
|
|
60
|
+
ngOnDestroy() {
|
|
61
|
+
this._instanceSub.unsubscribe();
|
|
62
|
+
}
|
|
63
|
+
set readonly(readonly) {
|
|
64
|
+
this._readonly = coerceBooleanProperty(readonly);
|
|
65
|
+
}
|
|
66
|
+
get readonly() {
|
|
67
|
+
return this._readonly;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Rows drop out on the host element rather than inside it, so that a hidden
|
|
71
|
+
* field leaves no empty cell behind when rows are laid out in columns.
|
|
72
|
+
*
|
|
73
|
+
* Three kinds of node carry no information of their own and are kept out of
|
|
74
|
+
* the layout: a container node, which is only a bracket around the fields it
|
|
75
|
+
* holds and has no fieldType to render; a formula field with no label, which
|
|
76
|
+
* only feeds other fields; and a note with no body -- the renderer synthesises
|
|
77
|
+
* one of those to carry a node group's label, and a group is meant to show
|
|
78
|
+
* nothing of itself.
|
|
79
|
+
*/
|
|
80
|
+
get hidden() {
|
|
81
|
+
const node = this.instance?.node;
|
|
82
|
+
// Truthy, not `=== false`: a visibility condition is an arbitrary expression
|
|
83
|
+
// and the renderer stores whatever it returns, so an unanswered field can
|
|
84
|
+
// leave `visible` at null rather than at false.
|
|
85
|
+
if (node == null || !this.instance.visible) {
|
|
86
|
+
return true;
|
|
87
|
+
}
|
|
88
|
+
if (node.nodeType !== AjfNodeType.AjfField) {
|
|
89
|
+
return true;
|
|
90
|
+
}
|
|
91
|
+
if (node.fieldType === AjfFieldType.Empty) {
|
|
92
|
+
return !node.HTML;
|
|
93
|
+
}
|
|
94
|
+
return node.fieldType === AjfFieldType.Formula && node.label === '';
|
|
95
|
+
}
|
|
96
|
+
/** Notes render their own block and never get a control border around it. */
|
|
97
|
+
get isNote() {
|
|
98
|
+
return this.instance?.node.fieldType === AjfFieldType.Empty;
|
|
99
|
+
}
|
|
100
|
+
get required() {
|
|
101
|
+
return this.instance?.node.validation?.notEmpty != null;
|
|
102
|
+
}
|
|
103
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AjfFieldRow, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
104
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AjfFieldRow, selector: "ajf-field-row", inputs: { instance: "instance", readonly: "readonly" }, host: { properties: { "class.ajf-hidden-row": "this.hidden" } }, ngImport: i0, template: "<div\n *ngIf=\"!hidden\"\n class=\"ajf-field-row\"\n [class.ajf-invalid]=\"!instance.valid\"\n [class.ajf-readonly]=\"readonly\"\n [class.ajf-note-row]=\"isNote\"\n [ngClass]=\"'ajf-' + instance.node.size + ' ajf-field-type-' + instance.node.fieldType\"\n>\n <div class=\"ajf-field-label\">\n <span class=\"ajf-field-label-line\">\n <label [attr.id]=\"instance.node.name\" [innerHTML]=\"instance.node.label | transloco\"></label>\n <span class=\"ajf-required\" *ngIf=\"required\" aria-hidden=\"true\">*</span>\n <mat-icon\n class=\"ajf-hint-icon\"\n *ngIf=\"instance.node.hint as hint\"\n [matTooltip]=\"hint | transloco\"\n matTooltipPosition=\"right\"\n >{{ instance.node.hintIcon || 'help' }}</mat-icon\n >\n </span>\n <!-- A note carries prose, not a value, so naming its type says nothing. -->\n <ng-container *ngIf=\"!isNote\">\n <span class=\"ajf-field-type-name\" *ngIf=\"instance | ajfFieldTypeLabel as type\"\n >{{ type.name | transloco }}<ng-container *ngIf=\"type.detailValue\"> ·\n {{ type.detailValue }}<ng-container *ngIf=\"type.detailUnit\">\n {{ type.detailUnit | transloco }}</ng-container\n ></ng-container\n ></span\n >\n </ng-container>\n </div>\n\n <div class=\"ajf-field-control\">\n <ajf-field\n [instance]=\"instance\"\n [readonly]=\"readonly\"\n [id]=\"'field_entry_' + instance.node.id\"\n ></ajf-field>\n </div>\n\n <div class=\"ajf-field-side\">\n <span class=\"ajf-field-error-message\" *ngIf=\"!instance.valid\">{{\n instance | ajfAsFieldInstanceErrors | transloco\n }}</span>\n <span class=\"ajf-field-hint-text\" *ngIf=\"instance.valid && instance.node.description\">{{\n instance.node.description | transloco\n }}</span>\n </div>\n</div>\n", styles: ["ajf-field-row{display:block}ajf-field-row.ajf-hidden-row{display:none}ajf-field-row .ajf-field-row{display:flex;flex-wrap:nowrap;align-items:flex-start;gap:var(--ajf-gap);box-sizing:border-box;padding:10px 20px;border-bottom:1px solid var(--ajf-border);background:var(--ajf-surface);font-family:var(--ajf-font-sans)}ajf-field-row .ajf-field-label{display:flex;flex:0 0 var(--ajf-label-col);flex-direction:column;justify-content:center;gap:2px;min-height:var(--ajf-control-h);max-width:var(--ajf-label-col)}ajf-field-row .ajf-field-label .ajf-field-label-line{display:flex;align-items:center;gap:6px}ajf-field-row .ajf-field-label label{color:var(--ajf-text);font-size:14px;font-weight:500;line-height:1.35}ajf-field-row .ajf-field-label .ajf-field-type-name{color:var(--ajf-text-muted);font-size:12px;line-height:1.3}ajf-field-row .ajf-field-label .ajf-required{color:var(--ajf-danger);font-weight:600}ajf-field-row .ajf-field-label .ajf-hint-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;color:var(--ajf-text-muted);font-size:16px;line-height:1;cursor:help}ajf-field-row .ajf-field-control{display:flex;flex:1 1 auto;flex-wrap:wrap;align-items:center;gap:8px;min-width:0}ajf-field-row .ajf-field-control>ajf-field{flex:1 1 auto;min-width:0}ajf-field-row .ajf-field-side{display:flex;flex:0 0 var(--ajf-side-col);align-items:center;min-height:var(--ajf-control-h);max-width:var(--ajf-side-col)}ajf-field-row .ajf-field-side .ajf-field-hint-text{color:var(--ajf-text-muted);font-size:13px}ajf-field-row .ajf-field-side .ajf-field-error-message{color:var(--ajf-danger);font-size:13px}ajf-field-row .ajf-normal .ajf-field-control{max-width:none}ajf-field-row .ajf-small .ajf-field-control{max-width:420px}ajf-field-row .ajf-smaller .ajf-field-control{max-width:320px}ajf-field-row .ajf-tiny .ajf-field-control{max-width:220px}ajf-field-row .ajf-mini .ajf-field-control{max-width:140px}ajf-field-row .ajf-field-row.ajf-invalid{background:color-mix(in srgb,var(--ajf-danger-bg) 45%,var(--ajf-surface))}ajf-field-row .ajf-field-row.ajf-invalid .ajf-control,ajf-field-row .ajf-field-row.ajf-invalid input.ajf-control,ajf-field-row .ajf-field-row.ajf-invalid .mat-mdc-select-trigger{border-color:var(--ajf-danger)}ajf-field-row .ajf-field-row.ajf-readonly .ajf-field-side{flex-basis:auto}ajf-field-row .ajf-note-row .ajf-field-control,ajf-field-row .ajf-field-type-1 .ajf-field-control,ajf-field-row .ajf-field-type-11 .ajf-field-control{max-width:none}@media (width <= 900px){ajf-field-row .ajf-field-row{flex-wrap:wrap;padding:12px 16px}ajf-field-row .ajf-field-label,ajf-field-row .ajf-field-side{flex-basis:100%;max-width:none;min-height:0}ajf-field-row .ajf-field-control{flex-basis:100%}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i4.AjfFormField, selector: "ajf-field,ajf-form-field" }, { kind: "pipe", type: i5.TranslocoPipe, name: "transloco" }, { kind: "pipe", type: i6.AjfAsFieldInstanceErrorsPipe, name: "ajfAsFieldInstanceErrors" }, { kind: "pipe", type: i6.AjfFieldTypeLabelPipe, name: "ajfFieldTypeLabel" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
105
|
+
}
|
|
106
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AjfFieldRow, decorators: [{
|
|
107
|
+
type: Component,
|
|
108
|
+
args: [{ selector: 'ajf-field-row', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div\n *ngIf=\"!hidden\"\n class=\"ajf-field-row\"\n [class.ajf-invalid]=\"!instance.valid\"\n [class.ajf-readonly]=\"readonly\"\n [class.ajf-note-row]=\"isNote\"\n [ngClass]=\"'ajf-' + instance.node.size + ' ajf-field-type-' + instance.node.fieldType\"\n>\n <div class=\"ajf-field-label\">\n <span class=\"ajf-field-label-line\">\n <label [attr.id]=\"instance.node.name\" [innerHTML]=\"instance.node.label | transloco\"></label>\n <span class=\"ajf-required\" *ngIf=\"required\" aria-hidden=\"true\">*</span>\n <mat-icon\n class=\"ajf-hint-icon\"\n *ngIf=\"instance.node.hint as hint\"\n [matTooltip]=\"hint | transloco\"\n matTooltipPosition=\"right\"\n >{{ instance.node.hintIcon || 'help' }}</mat-icon\n >\n </span>\n <!-- A note carries prose, not a value, so naming its type says nothing. -->\n <ng-container *ngIf=\"!isNote\">\n <span class=\"ajf-field-type-name\" *ngIf=\"instance | ajfFieldTypeLabel as type\"\n >{{ type.name | transloco }}<ng-container *ngIf=\"type.detailValue\"> ·\n {{ type.detailValue }}<ng-container *ngIf=\"type.detailUnit\">\n {{ type.detailUnit | transloco }}</ng-container\n ></ng-container\n ></span\n >\n </ng-container>\n </div>\n\n <div class=\"ajf-field-control\">\n <ajf-field\n [instance]=\"instance\"\n [readonly]=\"readonly\"\n [id]=\"'field_entry_' + instance.node.id\"\n ></ajf-field>\n </div>\n\n <div class=\"ajf-field-side\">\n <span class=\"ajf-field-error-message\" *ngIf=\"!instance.valid\">{{\n instance | ajfAsFieldInstanceErrors | transloco\n }}</span>\n <span class=\"ajf-field-hint-text\" *ngIf=\"instance.valid && instance.node.description\">{{\n instance.node.description | transloco\n }}</span>\n </div>\n</div>\n", styles: ["ajf-field-row{display:block}ajf-field-row.ajf-hidden-row{display:none}ajf-field-row .ajf-field-row{display:flex;flex-wrap:nowrap;align-items:flex-start;gap:var(--ajf-gap);box-sizing:border-box;padding:10px 20px;border-bottom:1px solid var(--ajf-border);background:var(--ajf-surface);font-family:var(--ajf-font-sans)}ajf-field-row .ajf-field-label{display:flex;flex:0 0 var(--ajf-label-col);flex-direction:column;justify-content:center;gap:2px;min-height:var(--ajf-control-h);max-width:var(--ajf-label-col)}ajf-field-row .ajf-field-label .ajf-field-label-line{display:flex;align-items:center;gap:6px}ajf-field-row .ajf-field-label label{color:var(--ajf-text);font-size:14px;font-weight:500;line-height:1.35}ajf-field-row .ajf-field-label .ajf-field-type-name{color:var(--ajf-text-muted);font-size:12px;line-height:1.3}ajf-field-row .ajf-field-label .ajf-required{color:var(--ajf-danger);font-weight:600}ajf-field-row .ajf-field-label .ajf-hint-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;color:var(--ajf-text-muted);font-size:16px;line-height:1;cursor:help}ajf-field-row .ajf-field-control{display:flex;flex:1 1 auto;flex-wrap:wrap;align-items:center;gap:8px;min-width:0}ajf-field-row .ajf-field-control>ajf-field{flex:1 1 auto;min-width:0}ajf-field-row .ajf-field-side{display:flex;flex:0 0 var(--ajf-side-col);align-items:center;min-height:var(--ajf-control-h);max-width:var(--ajf-side-col)}ajf-field-row .ajf-field-side .ajf-field-hint-text{color:var(--ajf-text-muted);font-size:13px}ajf-field-row .ajf-field-side .ajf-field-error-message{color:var(--ajf-danger);font-size:13px}ajf-field-row .ajf-normal .ajf-field-control{max-width:none}ajf-field-row .ajf-small .ajf-field-control{max-width:420px}ajf-field-row .ajf-smaller .ajf-field-control{max-width:320px}ajf-field-row .ajf-tiny .ajf-field-control{max-width:220px}ajf-field-row .ajf-mini .ajf-field-control{max-width:140px}ajf-field-row .ajf-field-row.ajf-invalid{background:color-mix(in srgb,var(--ajf-danger-bg) 45%,var(--ajf-surface))}ajf-field-row .ajf-field-row.ajf-invalid .ajf-control,ajf-field-row .ajf-field-row.ajf-invalid input.ajf-control,ajf-field-row .ajf-field-row.ajf-invalid .mat-mdc-select-trigger{border-color:var(--ajf-danger)}ajf-field-row .ajf-field-row.ajf-readonly .ajf-field-side{flex-basis:auto}ajf-field-row .ajf-note-row .ajf-field-control,ajf-field-row .ajf-field-type-1 .ajf-field-control,ajf-field-row .ajf-field-type-11 .ajf-field-control{max-width:none}@media (width <= 900px){ajf-field-row .ajf-field-row{flex-wrap:wrap;padding:12px 16px}ajf-field-row .ajf-field-label,ajf-field-row .ajf-field-side{flex-basis:100%;max-width:none;min-height:0}ajf-field-row .ajf-field-control{flex-basis:100%}}\n"] }]
|
|
109
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { instance: [{
|
|
110
|
+
type: Input
|
|
111
|
+
}], readonly: [{
|
|
112
|
+
type: Input
|
|
113
|
+
}], hidden: [{
|
|
114
|
+
type: HostBinding,
|
|
115
|
+
args: ['class.ajf-hidden-row']
|
|
116
|
+
}] } });
|
|
117
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtcm93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0ZXJpYWwvZm9ybXMvc3JjL2ZpZWxkLXJvdy50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hdGVyaWFsL2Zvcm1zL3NyYy9maWVsZC1yb3cuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7QUFFSCxPQUFPLEVBQWtDLFlBQVksRUFBRSxXQUFXLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRixPQUFPLEVBQWUscUJBQXFCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsS0FBSyxFQUVMLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDOzs7Ozs7OztBQUVsQzs7Ozs7OztHQU9HO0FBUUgsTUFBTSxPQUFPLFdBQVc7SUFDdEIsSUFDSSxRQUFRLENBQUMsUUFBMEI7UUFDckMsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDMUIsc0VBQXNFO1FBQ3RFLDBFQUEwRTtRQUMxRSx1QkFBdUI7UUFDdkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNoQyxJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVE7WUFDMUIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDL0QsQ0FBQyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUM7SUFDekIsQ0FBQztJQUNELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBSUQsWUFBb0IsSUFBdUI7UUFBdkIsU0FBSSxHQUFKLElBQUksQ0FBbUI7UUFGbkMsaUJBQVksR0FBaUIsWUFBWSxDQUFDLEtBQUssQ0FBQztRQWVoRCxjQUFTLEdBQUcsS0FBSyxDQUFDO0lBYm9CLENBQUM7SUFFL0MsV0FBVztRQUNULElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQ0ksUUFBUSxDQUFDLFFBQWlCO1FBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcscUJBQXFCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUNELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBR0Q7Ozs7Ozs7Ozs7T0FVRztJQUNILElBQ0ksTUFBTTtRQUNSLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDO1FBQ2pDLDZFQUE2RTtRQUM3RSwwRUFBMEU7UUFDMUUsZ0RBQWdEO1FBQ2hELElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDM0MsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUMzQyxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzFDLE9BQU8sQ0FBRSxJQUFzQixDQUFDLElBQUksQ0FBQztRQUN2QyxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsU0FBUyxLQUFLLFlBQVksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxFQUFFLENBQUM7SUFDdEUsQ0FBQztJQUVELDZFQUE2RTtJQUM3RSxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsS0FBSyxZQUFZLENBQUMsS0FBSyxDQUFDO0lBQzlELENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxRQUFRLElBQUksSUFBSSxDQUFDO0lBQzFELENBQUM7K0dBckVVLFdBQVc7bUdBQVgsV0FBVyw4S0NsRHhCLG8wREFpREE7OzRGRENhLFdBQVc7a0JBUHZCLFNBQVM7K0JBQ0UsZUFBZSxtQkFHUix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJO3NGQUlqQyxRQUFRO3NCQURYLEtBQUs7Z0JBd0JGLFFBQVE7c0JBRFgsS0FBSztnQkFxQkYsTUFBTTtzQkFEVCxXQUFXO3VCQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAoQykgR251Y29vcCBzb2MuIGNvb3AuXG4gKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEFkdmFuY2VkIEpTT04gZm9ybXMgKGFqZikuXG4gKlxuICogQWR2YW5jZWQgSlNPTiBmb3JtcyAoYWpmKSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3JcbiAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsXG4gKiBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIEFkdmFuY2VkIEpTT04gZm9ybXMgKGFqZikgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEFmZmVyb1xuICogR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCBBZHZhbmNlZCBKU09OIGZvcm1zIChhamYpLlxuICogSWYgbm90LCBzZWUgaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLy5cbiAqXG4gKi9cblxuaW1wb3J0IHtBamZFbXB0eUZpZWxkLCBBamZGaWVsZEluc3RhbmNlLCBBamZGaWVsZFR5cGUsIEFqZk5vZGVUeXBlfSBmcm9tICdAYWpmL2NvcmUvZm9ybXMnO1xuaW1wb3J0IHtCb29sZWFuSW5wdXQsIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eX0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqIE9uZSBmaWVsZCBvZiBhIHNsaWRlLCBsYWlkIG91dCBhcyBhIHJvdzogdHlwZSBiYWRnZSwgbGFiZWwsIGNvbnRyb2wsIGFuZCBhXG4gKiByaWdodC1oYW5kIGNvbHVtbiBjYXJyeWluZyBlaXRoZXIgdGhlIGZpZWxkIGRlc2NyaXB0aW9uIG9yIGl0cyB2YWxpZGF0aW9uXG4gKiBlcnJvci5cbiAqXG4gKiBCb3RoIHRoZSBwbGFpbiBhbmQgdGhlIHJlcGVhdGluZyBzbGlkZSBicmFuY2hlcyBvZiB0aGUgcmVuZGVyZXIgcmVuZGVyIHRocm91Z2hcbiAqIHRoaXMgY29tcG9uZW50LCBzbyB0aGUgcm93IGxheW91dCBpcyBkZWZpbmVkIGluIGV4YWN0bHkgb25lIHBsYWNlLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhamYtZmllbGQtcm93JyxcbiAgdGVtcGxhdGVVcmw6ICdmaWVsZC1yb3cuaHRtbCcsXG4gIHN0eWxlVXJsczogWydmaWVsZC1yb3cuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgQWpmRmllbGRSb3cgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBASW5wdXQoKVxuICBzZXQgaW5zdGFuY2UoaW5zdGFuY2U6IEFqZkZpZWxkSW5zdGFuY2UpIHtcbiAgICB0aGlzLl9pbnN0YW5jZSA9IGluc3RhbmNlO1xuICAgIC8vIFZhbGlkaXR5LCB2aXNpYmlsaXR5IGFuZCB0aGUgZXJyb3IgbGlzdCBhcmUgbXV0YXRlZCBpbiBwbGFjZSBvbiB0aGVcbiAgICAvLyBpbnN0YW5jZSwgc28gdGhlIHJvdyBoYXMgdG8gYmUgdG9sZCB0byByZS1jaGVjayBpdHNlbGYgdGhlIHNhbWUgd2F5IHRoZVxuICAgIC8vIGZpZWxkIGNvbXBvbmVudHMgZG8uXG4gICAgdGhpcy5faW5zdGFuY2VTdWIudW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLl9pbnN0YW5jZVN1YiA9IGluc3RhbmNlXG4gICAgICA/IGluc3RhbmNlLnVwZGF0ZWRFdnQuc3Vic2NyaWJlKCgpID0+IHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKSlcbiAgICAgIDogU3Vic2NyaXB0aW9uLkVNUFRZO1xuICB9XG4gIGdldCBpbnN0YW5jZSgpOiBBamZGaWVsZEluc3RhbmNlIHtcbiAgICByZXR1cm4gdGhpcy5faW5zdGFuY2U7XG4gIH1cbiAgcHJpdmF0ZSBfaW5zdGFuY2UhOiBBamZGaWVsZEluc3RhbmNlO1xuICBwcml2YXRlIF9pbnN0YW5jZVN1YjogU3Vic2NyaXB0aW9uID0gU3Vic2NyaXB0aW9uLkVNUFRZO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5faW5zdGFuY2VTdWIudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCByZWFkb25seShyZWFkb25seTogYm9vbGVhbikge1xuICAgIHRoaXMuX3JlYWRvbmx5ID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHJlYWRvbmx5KTtcbiAgfVxuICBnZXQgcmVhZG9ubHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3JlYWRvbmx5O1xuICB9XG4gIHByaXZhdGUgX3JlYWRvbmx5ID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFJvd3MgZHJvcCBvdXQgb24gdGhlIGhvc3QgZWxlbWVudCByYXRoZXIgdGhhbiBpbnNpZGUgaXQsIHNvIHRoYXQgYSBoaWRkZW5cbiAgICogZmllbGQgbGVhdmVzIG5vIGVtcHR5IGNlbGwgYmVoaW5kIHdoZW4gcm93cyBhcmUgbGFpZCBvdXQgaW4gY29sdW1ucy5cbiAgICpcbiAgICogVGhyZWUga2luZHMgb2Ygbm9kZSBjYXJyeSBubyBpbmZvcm1hdGlvbiBvZiB0aGVpciBvd24gYW5kIGFyZSBrZXB0IG91dCBvZlxuICAgKiB0aGUgbGF5b3V0OiBhIGNvbnRhaW5lciBub2RlLCB3aGljaCBpcyBvbmx5IGEgYnJhY2tldCBhcm91bmQgdGhlIGZpZWxkcyBpdFxuICAgKiBob2xkcyBhbmQgaGFzIG5vIGZpZWxkVHlwZSB0byByZW5kZXI7IGEgZm9ybXVsYSBmaWVsZCB3aXRoIG5vIGxhYmVsLCB3aGljaFxuICAgKiBvbmx5IGZlZWRzIG90aGVyIGZpZWxkczsgYW5kIGEgbm90ZSB3aXRoIG5vIGJvZHkgLS0gdGhlIHJlbmRlcmVyIHN5bnRoZXNpc2VzXG4gICAqIG9uZSBvZiB0aG9zZSB0byBjYXJyeSBhIG5vZGUgZ3JvdXAncyBsYWJlbCwgYW5kIGEgZ3JvdXAgaXMgbWVhbnQgdG8gc2hvd1xuICAgKiBub3RoaW5nIG9mIGl0c2VsZi5cbiAgICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MuYWpmLWhpZGRlbi1yb3cnKVxuICBnZXQgaGlkZGVuKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IG5vZGUgPSB0aGlzLmluc3RhbmNlPy5ub2RlO1xuICAgIC8vIFRydXRoeSwgbm90IGA9PT0gZmFsc2VgOiBhIHZpc2liaWxpdHkgY29uZGl0aW9uIGlzIGFuIGFyYml0cmFyeSBleHByZXNzaW9uXG4gICAgLy8gYW5kIHRoZSByZW5kZXJlciBzdG9yZXMgd2hhdGV2ZXIgaXQgcmV0dXJucywgc28gYW4gdW5hbnN3ZXJlZCBmaWVsZCBjYW5cbiAgICAvLyBsZWF2ZSBgdmlzaWJsZWAgYXQgbnVsbCByYXRoZXIgdGhhbiBhdCBmYWxzZS5cbiAgICBpZiAobm9kZSA9PSBudWxsIHx8ICF0aGlzLmluc3RhbmNlLnZpc2libGUpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAobm9kZS5ub2RlVHlwZSAhPT0gQWpmTm9kZVR5cGUuQWpmRmllbGQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAobm9kZS5maWVsZFR5cGUgPT09IEFqZkZpZWxkVHlwZS5FbXB0eSkge1xuICAgICAgcmV0dXJuICEobm9kZSBhcyBBamZFbXB0eUZpZWxkKS5IVE1MO1xuICAgIH1cbiAgICByZXR1cm4gbm9kZS5maWVsZFR5cGUgPT09IEFqZkZpZWxkVHlwZS5Gb3JtdWxhICYmIG5vZGUubGFiZWwgPT09ICcnO1xuICB9XG5cbiAgLyoqIE5vdGVzIHJlbmRlciB0aGVpciBvd24gYmxvY2sgYW5kIG5ldmVyIGdldCBhIGNvbnRyb2wgYm9yZGVyIGFyb3VuZCBpdC4gKi9cbiAgZ2V0IGlzTm90ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pbnN0YW5jZT8ubm9kZS5maWVsZFR5cGUgPT09IEFqZkZpZWxkVHlwZS5FbXB0eTtcbiAgfVxuXG4gIGdldCByZXF1aXJlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pbnN0YW5jZT8ubm9kZS52YWxpZGF0aW9uPy5ub3RFbXB0eSAhPSBudWxsO1xuICB9XG5cbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX3JlYWRvbmx5OiBCb29sZWFuSW5wdXQ7XG59XG4iLCI8ZGl2XG4gICpuZ0lmPVwiIWhpZGRlblwiXG4gIGNsYXNzPVwiYWpmLWZpZWxkLXJvd1wiXG4gIFtjbGFzcy5hamYtaW52YWxpZF09XCIhaW5zdGFuY2UudmFsaWRcIlxuICBbY2xhc3MuYWpmLXJlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgW2NsYXNzLmFqZi1ub3RlLXJvd109XCJpc05vdGVcIlxuICBbbmdDbGFzc109XCInYWpmLScgKyBpbnN0YW5jZS5ub2RlLnNpemUgKyAnIGFqZi1maWVsZC10eXBlLScgKyBpbnN0YW5jZS5ub2RlLmZpZWxkVHlwZVwiXG4+XG4gIDxkaXYgY2xhc3M9XCJhamYtZmllbGQtbGFiZWxcIj5cbiAgICA8c3BhbiBjbGFzcz1cImFqZi1maWVsZC1sYWJlbC1saW5lXCI+XG4gICAgICA8bGFiZWwgW2F0dHIuaWRdPVwiaW5zdGFuY2Uubm9kZS5uYW1lXCIgW2lubmVySFRNTF09XCJpbnN0YW5jZS5ub2RlLmxhYmVsIHwgdHJhbnNsb2NvXCI+PC9sYWJlbD5cbiAgICAgIDxzcGFuIGNsYXNzPVwiYWpmLXJlcXVpcmVkXCIgKm5nSWY9XCJyZXF1aXJlZFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPio8L3NwYW4+XG4gICAgICA8bWF0LWljb25cbiAgICAgICAgY2xhc3M9XCJhamYtaGludC1pY29uXCJcbiAgICAgICAgKm5nSWY9XCJpbnN0YW5jZS5ub2RlLmhpbnQgYXMgaGludFwiXG4gICAgICAgIFttYXRUb29sdGlwXT1cImhpbnQgfCB0cmFuc2xvY29cIlxuICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249XCJyaWdodFwiXG4gICAgICAgID57eyBpbnN0YW5jZS5ub2RlLmhpbnRJY29uIHx8ICdoZWxwJyB9fTwvbWF0LWljb25cbiAgICAgID5cbiAgICA8L3NwYW4+XG4gICAgPCEtLSBBIG5vdGUgY2FycmllcyBwcm9zZSwgbm90IGEgdmFsdWUsIHNvIG5hbWluZyBpdHMgdHlwZSBzYXlzIG5vdGhpbmcuIC0tPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNOb3RlXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImFqZi1maWVsZC10eXBlLW5hbWVcIiAqbmdJZj1cImluc3RhbmNlIHwgYWpmRmllbGRUeXBlTGFiZWwgYXMgdHlwZVwiXG4gICAgICAgID57eyB0eXBlLm5hbWUgfCB0cmFuc2xvY28gfX08bmctY29udGFpbmVyICpuZ0lmPVwidHlwZS5kZXRhaWxWYWx1ZVwiPiAmbWlkZG90O1xuICAgICAgICAgIHt7IHR5cGUuZGV0YWlsVmFsdWUgfX08bmctY29udGFpbmVyICpuZ0lmPVwidHlwZS5kZXRhaWxVbml0XCI+XG4gICAgICAgICAgICB7eyB0eXBlLmRldGFpbFVuaXQgfCB0cmFuc2xvY28gfX08L25nLWNvbnRhaW5lclxuICAgICAgICAgID48L25nLWNvbnRhaW5lclxuICAgICAgICA+PC9zcGFuXG4gICAgICA+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJhamYtZmllbGQtY29udHJvbFwiPlxuICAgIDxhamYtZmllbGRcbiAgICAgIFtpbnN0YW5jZV09XCJpbnN0YW5jZVwiXG4gICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgW2lkXT1cIidmaWVsZF9lbnRyeV8nICsgaW5zdGFuY2Uubm9kZS5pZFwiXG4gICAgPjwvYWpmLWZpZWxkPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiYWpmLWZpZWxkLXNpZGVcIj5cbiAgICA8c3BhbiBjbGFzcz1cImFqZi1maWVsZC1lcnJvci1tZXNzYWdlXCIgKm5nSWY9XCIhaW5zdGFuY2UudmFsaWRcIj57e1xuICAgICAgaW5zdGFuY2UgfCBhamZBc0ZpZWxkSW5zdGFuY2VFcnJvcnMgfCB0cmFuc2xvY29cbiAgICB9fTwvc3Bhbj5cbiAgICA8c3BhbiBjbGFzcz1cImFqZi1maWVsZC1oaW50LXRleHRcIiAqbmdJZj1cImluc3RhbmNlLnZhbGlkICYmIGluc3RhbmNlLm5vZGUuZGVzY3JpcHRpb25cIj57e1xuICAgICAgaW5zdGFuY2Uubm9kZS5kZXNjcmlwdGlvbiB8IHRyYW5zbG9jb1xuICAgIH19PC9zcGFuPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
package/esm2022/forms/field.mjs
CHANGED
|
@@ -43,10 +43,10 @@ export class AjfFormField extends CoreFormField {
|
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AjfFormField, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.AjfFieldService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
46
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AjfFormField, selector: "ajf-field,ajf-form-field", usesInheritance: true, ngImport: i0, template: "<div\n *ngIf=\"instance\"\n [ngClass]=\"'ajf-field-' + (instance|ajfNodeCompleteName)\"\n [class.ajf-validated]=\"instance.validationResults|ajfFieldIsValid\"\n (keydown)=\"tabEvent($event, instance)\"\n>\n <ng-template ajf-field-host></ng-template>\n</div>\n<ng-container *ngIf=\"instance && instance.node && instance.node.attachments\">\n <a *ngFor=\"let attachment of instance.node.attachments\"\n [href]=\"attachment.value\" target=\"_blank\">{{attachment.label | transloco}}</a>\n</ng-container>\n<div *ngIf=\"!readonly && instance && instance.validationResults\" class=\"ajf-errors\">\n <ng-container *ngFor=\"let res of instance.validationResults\">\n <div class=\"error\" *ngIf=\"!res.result\">\n {{ res.error|transloco }}\n </div>\n </ng-container>\n</div>\n", styles: ["ajf-field .ajf-choices-container{display:flex;flex-direction:row;flex-wrap:wrap;align-items:stretch}ajf-field .ajf-choices-container ajf-checkbox-group-item{width:100%}ajf-field .ajf-choices-container ajf-checkbox-group-item .mat-mdc-button{display:flex;flex-flow:row wrap;justify-content:flex-start;align-items:center}ajf-field .ajf-item-container{position:relative}ajf-field .ajf-errors{font-style:italic;padding:5px}table{border-collapse:collapse;border-spacing:0}table tr td{position:relative}table tr td span{cursor:text;width:100%;box-sizing:border-box;outline:none;display:inline-block;font-family:inherit;font-size:inherit;line-height:inherit;text-align:center}table tr td input{cursor:text;position:absolute;width:100%;box-sizing:border-box;outline:none;inset:0;display:inline-block;border-top:solid 1px transparent;border-right:solid 1px transparent;border-bottom:solid 1px transparent;border-left:solid 1px transparent;font-family:inherit;font-size:inherit;line-height:inherit;text-align:center}table tr td:last-child span,table tr td:last-child input{border-right-color:#ccc}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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.AjfFieldHost, selector: "[ajf-field-host]" }, { kind: "pipe", type: i4.TranslocoPipe, name: "transloco" }, { kind: "pipe", type: i3.AjfFieldIsValidPipe, name: "ajfFieldIsValid" }, { kind: "pipe", type: i3.AjfNodeCompleteNamePipe, name: "ajfNodeCompleteName" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
46
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AjfFormField, selector: "ajf-field,ajf-form-field", usesInheritance: true, ngImport: i0, template: "<div\n *ngIf=\"instance\"\n [ngClass]=\"'ajf-field-' + (instance|ajfNodeCompleteName)\"\n [class.ajf-validated]=\"instance.validationResults|ajfFieldIsValid\"\n (keydown)=\"tabEvent($event, instance)\"\n>\n <ng-template ajf-field-host></ng-template>\n</div>\n<ng-container *ngIf=\"instance && instance.node && instance.node.attachments\">\n <a *ngFor=\"let attachment of instance.node.attachments\"\n [href]=\"attachment.value\" target=\"_blank\">{{attachment.label | transloco}}</a>\n</ng-container>\n<div *ngIf=\"!readonly && instance && instance.validationResults\" class=\"ajf-errors\">\n <ng-container *ngFor=\"let res of instance.validationResults\">\n <div class=\"error\" *ngIf=\"!res.result\">\n {{ res.error|transloco }}\n </div>\n </ng-container>\n</div>\n", styles: [":root{--ajf-control-h: 44px;--ajf-slider-min-h: 420px;--ajf-label-col: 280px;--ajf-side-col: 260px;--ajf-gap: 12px;--ajf-radius: 4px;--ajf-font-sans: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", sans-serif;--ajf-font-mono: ui-monospace, SFMono-Regular, \"SF Mono\", Menlo, Consolas, monospace;--ajf-bg: var( --mat-sys-surface-container-low, var(--sys-surface-container-low, #f7f5f2) );--ajf-surface: var( --mat-sys-surface, var(--sys-surface, #ffffff) );--ajf-band: var( --mat-sys-surface-container, var(--sys-surface-container, #faf8f5) );--ajf-border: var( --mat-sys-outline-variant, var(--sys-outline-variant, #e6e2dc) );--ajf-border-strong: var( --mat-sys-outline, var(--sys-outline, #d5cfc6) );--ajf-accent: var( --mat-sys-primary, var(--sys-primary, #0f4c5c) );--ajf-accent-fg: var( --mat-sys-on-primary, var(--sys-on-primary, #ffffff) );--ajf-accent-soft: var( --mat-sys-primary-container, var(--sys-primary-container, #e8f1f5) );--ajf-accent-ink: var( --mat-sys-on-primary-container, var(--sys-on-primary-container, #2d6b7f) );--ajf-text: var( --mat-sys-on-surface, var(--sys-on-surface, #1c1a17) );--ajf-text-muted: var( --mat-sys-on-surface-variant, var(--sys-on-surface-variant, #7a736a) );--ajf-danger: var( --mat-sys-error, var(--sys-error, #b8362b) );--ajf-danger-bg: var( --mat-sys-error-container, var(--sys-error-container, #fdf1ef) );--ajf-text-faint: #a49c92;--ajf-accent-hover: #0c3d4a;--ajf-kbd-bg: rgba(255, 255, 255, .22);--ajf-disabled-bg: #e6e2dc;--ajf-disabled-fg: #5a544c}@media (prefers-color-scheme: dark){:root:not(.ajf-light){--ajf-bg: var( --mat-sys-surface-container-low, var(--sys-surface-container-low, #212121) );--ajf-surface: var( --mat-sys-surface, var(--sys-surface, #303030) );--ajf-band: var( --mat-sys-surface-container, var(--sys-surface-container, #303030) );--ajf-border: var( --mat-sys-outline-variant, var(--sys-outline-variant, #424242) );--ajf-border-strong: var( --mat-sys-outline, var(--sys-outline, #505050) );--ajf-accent: var( --mat-sys-primary, var(--sys-primary, #496fca) );--ajf-accent-fg: var( --mat-sys-on-primary, var(--sys-on-primary, #06232b) );--ajf-accent-soft: var( --mat-sys-primary-container, var(--sys-primary-container, #123641) );--ajf-accent-ink: var( --mat-sys-on-primary-container, var(--sys-on-primary-container, #9ad4e4) );--ajf-text: var( --mat-sys-on-surface, var(--sys-on-surface, #f2efe9) );--ajf-text-muted: var( --mat-sys-on-surface-variant, var(--sys-on-surface-variant, #a9a29a) );--ajf-danger: var( --mat-sys-error, var(--sys-error, #ff9b8f) );--ajf-danger-bg: var( --mat-sys-error-container, var(--sys-error-container, #3a201c) );--ajf-text-faint: #7a736a;--ajf-accent-hover: #8fcedf;--ajf-kbd-bg: rgba(0, 0, 0, .22);--ajf-disabled-bg: #424242;--ajf-disabled-fg: #c9c3bb}}.ajf-dark{--ajf-bg: var( --mat-sys-surface-container-low, var(--sys-surface-container-low, #212121) );--ajf-surface: var( --mat-sys-surface, var(--sys-surface, #303030) );--ajf-band: var( --mat-sys-surface-container, var(--sys-surface-container, #303030) );--ajf-border: var( --mat-sys-outline-variant, var(--sys-outline-variant, #424242) );--ajf-border-strong: var( --mat-sys-outline, var(--sys-outline, #505050) );--ajf-accent: var( --mat-sys-primary, var(--sys-primary, #496fca) );--ajf-accent-fg: var( --mat-sys-on-primary, var(--sys-on-primary, #06232b) );--ajf-accent-soft: var( --mat-sys-primary-container, var(--sys-primary-container, #123641) );--ajf-accent-ink: var( --mat-sys-on-primary-container, var(--sys-on-primary-container, #9ad4e4) );--ajf-text: var( --mat-sys-on-surface, var(--sys-on-surface, #f2efe9) );--ajf-text-muted: var( --mat-sys-on-surface-variant, var(--sys-on-surface-variant, #a9a29a) );--ajf-danger: var( --mat-sys-error, var(--sys-error, #ff9b8f) );--ajf-danger-bg: var( --mat-sys-error-container, var(--sys-error-container, #3a201c) );--ajf-text-faint: #7a736a;--ajf-accent-hover: #8fcedf;--ajf-kbd-bg: rgba(0, 0, 0, .22);--ajf-disabled-bg: #424242;--ajf-disabled-fg: #c9c3bb}.ajf-light{--ajf-bg: var( --mat-sys-surface-container-low, var(--sys-surface-container-low, #f7f5f2) );--ajf-surface: var( --mat-sys-surface, var(--sys-surface, #ffffff) );--ajf-band: var( --mat-sys-surface-container, var(--sys-surface-container, #faf8f5) );--ajf-border: var( --mat-sys-outline-variant, var(--sys-outline-variant, #e6e2dc) );--ajf-border-strong: var( --mat-sys-outline, var(--sys-outline, #d5cfc6) );--ajf-accent: var( --mat-sys-primary, var(--sys-primary, #0f4c5c) );--ajf-accent-fg: var( --mat-sys-on-primary, var(--sys-on-primary, #ffffff) );--ajf-accent-soft: var( --mat-sys-primary-container, var(--sys-primary-container, #e8f1f5) );--ajf-accent-ink: var( --mat-sys-on-primary-container, var(--sys-on-primary-container, #2d6b7f) );--ajf-text: var( --mat-sys-on-surface, var(--sys-on-surface, #1c1a17) );--ajf-text-muted: var( --mat-sys-on-surface-variant, var(--sys-on-surface-variant, #7a736a) );--ajf-danger: var( --mat-sys-error, var(--sys-error, #b8362b) );--ajf-danger-bg: var( --mat-sys-error-container, var(--sys-error-container, #fdf1ef) );--ajf-text-faint: #a49c92;--ajf-accent-hover: #0c3d4a;--ajf-kbd-bg: rgba(255, 255, 255, .22);--ajf-disabled-bg: #e6e2dc;--ajf-disabled-fg: #5a544c}.ajf-form-container,ajf-field{color-scheme:light dark}.ajf-dark .ajf-form-container,.ajf-dark ajf-field{color-scheme:dark}.ajf-light .ajf-form-container,.ajf-light ajf-field{color-scheme:light}.ajf-control{box-sizing:border-box;min-height:var(--ajf-control-h);padding:0 12px;border:1px solid var(--ajf-border-strong);border-radius:var(--ajf-radius);background:var(--ajf-surface);color:var(--ajf-text);font-family:var(--ajf-font-sans);font-size:14px;line-height:calc(var(--ajf-control-h) - 2px);outline:none;width:100%;max-width:360px}.ajf-control:focus,.ajf-control:focus-within{border-color:var(--ajf-accent);box-shadow:0 0 0 2px var(--ajf-accent-soft)}.ajf-control:disabled,.ajf-control[readonly]{color:var(--ajf-text-muted);background:var(--ajf-band)}.ajf-control--mono{font-family:var(--ajf-font-mono);font-size:13px;letter-spacing:.01em}.ajf-control--narrow{max-width:160px}.ajf-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;box-sizing:border-box;min-height:var(--ajf-control-h);padding:0 16px;border:1px solid var(--ajf-border-strong);border-radius:var(--ajf-radius);background:var(--ajf-surface);color:var(--ajf-text);font-family:var(--ajf-font-sans);font-size:14px;cursor:pointer}.ajf-btn:hover:not(:disabled){border-color:var(--ajf-accent)}.ajf-btn:disabled{color:var(--ajf-text-faint);cursor:default}.ajf-btn--primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;box-sizing:border-box;min-height:var(--ajf-control-h);padding:0 16px;border:1px solid var(--ajf-border-strong);border-radius:var(--ajf-radius);background:var(--ajf-surface);color:var(--ajf-text);font-family:var(--ajf-font-sans);font-size:14px;cursor:pointer;border-color:var(--ajf-accent);background:var(--ajf-accent);color:var(--ajf-accent-fg)}.ajf-btn--primary:hover:not(:disabled){border-color:var(--ajf-accent)}.ajf-btn--primary:disabled{color:var(--ajf-text-faint);cursor:default}.ajf-btn--primary:hover:not(:disabled){border-color:var(--ajf-accent-hover);background:var(--ajf-accent-hover)}.ajf-btn--primary:disabled{border-color:var(--ajf-disabled-bg);background:var(--ajf-disabled-bg);color:var(--ajf-disabled-fg)}.ajf-btn--ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;box-sizing:border-box;min-height:var(--ajf-control-h);border:1px solid var(--ajf-border-strong);border-radius:var(--ajf-radius);background:var(--ajf-surface);color:var(--ajf-text);font-family:var(--ajf-font-sans);font-size:14px;cursor:pointer;min-height:auto;padding:0 4px;border-color:transparent;background:none;color:var(--ajf-accent-ink);text-decoration:none}.ajf-btn--ghost:hover:not(:disabled){border-color:var(--ajf-accent)}.ajf-btn--ghost:disabled{color:var(--ajf-text-faint);cursor:default}.ajf-btn--ghost:hover:not(:disabled){border-color:transparent;text-decoration:underline}.ajf-btn--ghost.ajf-danger{color:var(--ajf-danger)}.ajf-segmented{display:inline-flex;flex-wrap:wrap;gap:8px}.ajf-segmented .ajf-segment{display:inline-flex;align-items:center;justify-content:center;gap:8px;box-sizing:border-box;min-height:var(--ajf-control-h);padding:0 16px;border:1px solid var(--ajf-border-strong);border-radius:var(--ajf-radius);background:var(--ajf-surface);color:var(--ajf-text);font-family:var(--ajf-font-sans);font-size:14px;cursor:pointer}.ajf-segmented .ajf-segment:hover:not(:disabled){border-color:var(--ajf-accent)}.ajf-segmented .ajf-segment:disabled{color:var(--ajf-text-faint);cursor:default}.ajf-segmented .ajf-segment.ajf-selected{border-color:var(--ajf-accent);background:var(--ajf-accent);color:var(--ajf-accent-fg)}.ajf-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border-radius:var(--ajf-radius);background:var(--ajf-accent-soft);color:var(--ajf-accent-ink);font-size:13px;white-space:nowrap}.ajf-chip--removable button{display:inline-flex;align-items:center;padding:0;border:0;background:none;color:inherit;cursor:pointer;opacity:.7}.ajf-chip--removable button:hover{opacity:1}.ajf-chip--removable button .mat-icon{width:14px;height:14px;font-size:14px}.ajf-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:var(--ajf-band);color:var(--ajf-text-muted);font-size:12px;white-space:nowrap}.ajf-pill--danger{background:var(--ajf-danger-bg);color:var(--ajf-danger);font-weight:500}.ajf-kbd{padding:1px 5px;border-radius:3px;background:var(--ajf-kbd-bg);font-family:var(--ajf-font-mono);font-size:10px}.ajf-input-group{display:inline-flex;align-items:center;overflow:hidden;box-sizing:border-box;min-height:var(--ajf-control-h);border:1px solid var(--ajf-border-strong);border-radius:var(--ajf-radius);background:var(--ajf-surface);color:var(--ajf-text);font-family:var(--ajf-font-sans);font-size:14px;line-height:calc(var(--ajf-control-h) - 2px);outline:none;padding:0}.ajf-input-group:focus,.ajf-input-group:focus-within{border-color:var(--ajf-accent);box-shadow:0 0 0 2px var(--ajf-accent-soft)}.ajf-input-group:disabled,.ajf-input-group[readonly]{color:var(--ajf-text-muted);background:var(--ajf-band)}.ajf-input-group>input{flex:1 1 auto;min-width:0;height:calc(var(--ajf-control-h) - 2px);padding:0 12px;border:0;background:none;color:inherit;font:inherit;outline:none}.ajf-input-group>.ajf-input-group-action{display:inline-flex;align-items:center;justify-content:center;align-self:stretch;padding:0 8px;border:0;border-left:1px solid var(--ajf-border);background:var(--ajf-band);color:var(--ajf-text-muted);cursor:pointer}.ajf-hatch{background-color:var(--ajf-band);background-image:repeating-linear-gradient(45deg,var(--ajf-border) 0,var(--ajf-border) 1px,transparent 1px,transparent 7px)}.ajf-micro-label{font-family:var(--ajf-font-mono);font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--ajf-text-muted)}ajf-field .mat-mdc-select{box-sizing:border-box;min-height:var(--ajf-control-h);padding:0 12px;border:1px solid var(--ajf-border-strong);border-radius:var(--ajf-radius);background:var(--ajf-surface);color:var(--ajf-text);font-family:var(--ajf-font-sans);font-size:14px;line-height:calc(var(--ajf-control-h) - 2px);outline:none;display:inline-flex;align-items:center;width:auto;min-width:240px;max-width:100%}ajf-field .mat-mdc-select:focus,ajf-field .mat-mdc-select:focus-within{border-color:var(--ajf-accent);box-shadow:0 0 0 2px var(--ajf-accent-soft)}ajf-field .mat-mdc-select:disabled,ajf-field .mat-mdc-select[readonly]{color:var(--ajf-text-muted);background:var(--ajf-band)}ajf-field .mat-mdc-select .mat-mdc-select-trigger{height:auto}ajf-field .mat-mdc-select .mat-mdc-select-value{color:var(--ajf-text);font-size:14px}ajf-field .mat-mdc-select .mat-mdc-select-arrow-wrapper{color:var(--ajf-text-muted)}ajf-field .mat-mdc-select-multiple{min-height:var(--ajf-control-h)}ajf-field .mat-mdc-select-multiple .mat-mdc-select-value{display:flex;flex-wrap:wrap;padding:5px 0}ajf-field .mat-mdc-select-multiple mat-select-trigger{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}ajf-field .mat-mdc-slide-toggle{--mdc-switch-selected-track-color: var(--ajf-accent);--mdc-switch-selected-handle-color: var(--ajf-surface);--mdc-switch-selected-hover-track-color: var(--ajf-accent);--mdc-switch-selected-focus-track-color: var(--ajf-accent);--mdc-switch-selected-pressed-track-color: var(--ajf-accent);--mdc-switch-selected-hover-handle-color: var(--ajf-surface);--mdc-switch-selected-focus-handle-color: var(--ajf-surface);--mdc-switch-selected-pressed-handle-color: var(--ajf-surface)}ajf-field .mat-mdc-slider{--mdc-slider-handle-color: var(--ajf-accent);--mdc-slider-focus-handle-color: var(--ajf-accent);--mdc-slider-hover-handle-color: var(--ajf-accent);--mdc-slider-active-track-color: var(--ajf-accent);--mdc-slider-inactive-track-color: var(--ajf-border);--mdc-slider-with-tick-marks-active-container-color: var(--ajf-accent-fg);--mdc-slider-with-tick-marks-inactive-container-color: var(--ajf-border-strong);--mdc-slider-handle-elevation: none;--mat-slider-ripple-color: var(--ajf-accent)}ajf-field .mat-datepicker-toggle .mat-mdc-icon-button{width:34px;height:34px;padding:5px;color:var(--ajf-text-muted)}ajf-field{display:block;min-width:0;font-family:var(--ajf-font-sans)}ajf-field .ajf-choices-container{display:flex;flex-direction:row;flex-wrap:wrap;align-items:stretch;gap:8px}ajf-field .ajf-item-container{position:relative}ajf-field .ajf-errors{color:var(--ajf-danger);font-size:13px}ajf-field>a{color:var(--ajf-accent-ink);font-size:13px}ajf-field-row ajf-field .ajf-errors{display:none}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{appearance:none;margin:0}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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.AjfFieldHost, selector: "[ajf-field-host]" }, { kind: "pipe", type: i4.TranslocoPipe, name: "transloco" }, { kind: "pipe", type: i3.AjfFieldIsValidPipe, name: "ajfFieldIsValid" }, { kind: "pipe", type: i3.AjfNodeCompleteNamePipe, name: "ajfNodeCompleteName" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
47
47
|
}
|
|
48
48
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AjfFormField, decorators: [{
|
|
49
49
|
type: Component,
|
|
50
|
-
args: [{ selector: 'ajf-field,ajf-form-field', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div\n *ngIf=\"instance\"\n [ngClass]=\"'ajf-field-' + (instance|ajfNodeCompleteName)\"\n [class.ajf-validated]=\"instance.validationResults|ajfFieldIsValid\"\n (keydown)=\"tabEvent($event, instance)\"\n>\n <ng-template ajf-field-host></ng-template>\n</div>\n<ng-container *ngIf=\"instance && instance.node && instance.node.attachments\">\n <a *ngFor=\"let attachment of instance.node.attachments\"\n [href]=\"attachment.value\" target=\"_blank\">{{attachment.label | transloco}}</a>\n</ng-container>\n<div *ngIf=\"!readonly && instance && instance.validationResults\" class=\"ajf-errors\">\n <ng-container *ngFor=\"let res of instance.validationResults\">\n <div class=\"error\" *ngIf=\"!res.result\">\n {{ res.error|transloco }}\n </div>\n </ng-container>\n</div>\n", styles: ["ajf-field .ajf-choices-container{display:flex;flex-direction:row;flex-wrap:wrap;align-items:stretch}ajf-field .ajf-choices-container ajf-checkbox-group-item{width:100%}ajf-field .ajf-choices-container ajf-checkbox-group-item .mat-mdc-button{display:flex;flex-flow:row wrap;justify-content:flex-start;align-items:center}ajf-field .ajf-item-container{position:relative}ajf-field .ajf-errors{font-style:italic;padding:5px}table{border-collapse:collapse;border-spacing:0}table tr td{position:relative}table tr td span{cursor:text;width:100%;box-sizing:border-box;outline:none;display:inline-block;font-family:inherit;font-size:inherit;line-height:inherit;text-align:center}table tr td input{cursor:text;position:absolute;width:100%;box-sizing:border-box;outline:none;inset:0;display:inline-block;border-top:solid 1px transparent;border-right:solid 1px transparent;border-bottom:solid 1px transparent;border-left:solid 1px transparent;font-family:inherit;font-size:inherit;line-height:inherit;text-align:center}table tr td:last-child span,table tr td:last-child input{border-right-color:#ccc}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}\n"] }]
|
|
50
|
+
args: [{ selector: 'ajf-field,ajf-form-field', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div\n *ngIf=\"instance\"\n [ngClass]=\"'ajf-field-' + (instance|ajfNodeCompleteName)\"\n [class.ajf-validated]=\"instance.validationResults|ajfFieldIsValid\"\n (keydown)=\"tabEvent($event, instance)\"\n>\n <ng-template ajf-field-host></ng-template>\n</div>\n<ng-container *ngIf=\"instance && instance.node && instance.node.attachments\">\n <a *ngFor=\"let attachment of instance.node.attachments\"\n [href]=\"attachment.value\" target=\"_blank\">{{attachment.label | transloco}}</a>\n</ng-container>\n<div *ngIf=\"!readonly && instance && instance.validationResults\" class=\"ajf-errors\">\n <ng-container *ngFor=\"let res of instance.validationResults\">\n <div class=\"error\" *ngIf=\"!res.result\">\n {{ res.error|transloco }}\n </div>\n </ng-container>\n</div>\n", styles: [":root{--ajf-control-h: 44px;--ajf-slider-min-h: 420px;--ajf-label-col: 280px;--ajf-side-col: 260px;--ajf-gap: 12px;--ajf-radius: 4px;--ajf-font-sans: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", sans-serif;--ajf-font-mono: ui-monospace, SFMono-Regular, \"SF Mono\", Menlo, Consolas, monospace;--ajf-bg: var( --mat-sys-surface-container-low, var(--sys-surface-container-low, #f7f5f2) );--ajf-surface: var( --mat-sys-surface, var(--sys-surface, #ffffff) );--ajf-band: var( --mat-sys-surface-container, var(--sys-surface-container, #faf8f5) );--ajf-border: var( --mat-sys-outline-variant, var(--sys-outline-variant, #e6e2dc) );--ajf-border-strong: var( --mat-sys-outline, var(--sys-outline, #d5cfc6) );--ajf-accent: var( --mat-sys-primary, var(--sys-primary, #0f4c5c) );--ajf-accent-fg: var( --mat-sys-on-primary, var(--sys-on-primary, #ffffff) );--ajf-accent-soft: var( --mat-sys-primary-container, var(--sys-primary-container, #e8f1f5) );--ajf-accent-ink: var( --mat-sys-on-primary-container, var(--sys-on-primary-container, #2d6b7f) );--ajf-text: var( --mat-sys-on-surface, var(--sys-on-surface, #1c1a17) );--ajf-text-muted: var( --mat-sys-on-surface-variant, var(--sys-on-surface-variant, #7a736a) );--ajf-danger: var( --mat-sys-error, var(--sys-error, #b8362b) );--ajf-danger-bg: var( --mat-sys-error-container, var(--sys-error-container, #fdf1ef) );--ajf-text-faint: #a49c92;--ajf-accent-hover: #0c3d4a;--ajf-kbd-bg: rgba(255, 255, 255, .22);--ajf-disabled-bg: #e6e2dc;--ajf-disabled-fg: #5a544c}@media (prefers-color-scheme: dark){:root:not(.ajf-light){--ajf-bg: var( --mat-sys-surface-container-low, var(--sys-surface-container-low, #212121) );--ajf-surface: var( --mat-sys-surface, var(--sys-surface, #303030) );--ajf-band: var( --mat-sys-surface-container, var(--sys-surface-container, #303030) );--ajf-border: var( --mat-sys-outline-variant, var(--sys-outline-variant, #424242) );--ajf-border-strong: var( --mat-sys-outline, var(--sys-outline, #505050) );--ajf-accent: var( --mat-sys-primary, var(--sys-primary, #496fca) );--ajf-accent-fg: var( --mat-sys-on-primary, var(--sys-on-primary, #06232b) );--ajf-accent-soft: var( --mat-sys-primary-container, var(--sys-primary-container, #123641) );--ajf-accent-ink: var( --mat-sys-on-primary-container, var(--sys-on-primary-container, #9ad4e4) );--ajf-text: var( --mat-sys-on-surface, var(--sys-on-surface, #f2efe9) );--ajf-text-muted: var( --mat-sys-on-surface-variant, var(--sys-on-surface-variant, #a9a29a) );--ajf-danger: var( --mat-sys-error, var(--sys-error, #ff9b8f) );--ajf-danger-bg: var( --mat-sys-error-container, var(--sys-error-container, #3a201c) );--ajf-text-faint: #7a736a;--ajf-accent-hover: #8fcedf;--ajf-kbd-bg: rgba(0, 0, 0, .22);--ajf-disabled-bg: #424242;--ajf-disabled-fg: #c9c3bb}}.ajf-dark{--ajf-bg: var( --mat-sys-surface-container-low, var(--sys-surface-container-low, #212121) );--ajf-surface: var( --mat-sys-surface, var(--sys-surface, #303030) );--ajf-band: var( --mat-sys-surface-container, var(--sys-surface-container, #303030) );--ajf-border: var( --mat-sys-outline-variant, var(--sys-outline-variant, #424242) );--ajf-border-strong: var( --mat-sys-outline, var(--sys-outline, #505050) );--ajf-accent: var( --mat-sys-primary, var(--sys-primary, #496fca) );--ajf-accent-fg: var( --mat-sys-on-primary, var(--sys-on-primary, #06232b) );--ajf-accent-soft: var( --mat-sys-primary-container, var(--sys-primary-container, #123641) );--ajf-accent-ink: var( --mat-sys-on-primary-container, var(--sys-on-primary-container, #9ad4e4) );--ajf-text: var( --mat-sys-on-surface, var(--sys-on-surface, #f2efe9) );--ajf-text-muted: var( --mat-sys-on-surface-variant, var(--sys-on-surface-variant, #a9a29a) );--ajf-danger: var( --mat-sys-error, var(--sys-error, #ff9b8f) );--ajf-danger-bg: var( --mat-sys-error-container, var(--sys-error-container, #3a201c) );--ajf-text-faint: #7a736a;--ajf-accent-hover: #8fcedf;--ajf-kbd-bg: rgba(0, 0, 0, .22);--ajf-disabled-bg: #424242;--ajf-disabled-fg: #c9c3bb}.ajf-light{--ajf-bg: var( --mat-sys-surface-container-low, var(--sys-surface-container-low, #f7f5f2) );--ajf-surface: var( --mat-sys-surface, var(--sys-surface, #ffffff) );--ajf-band: var( --mat-sys-surface-container, var(--sys-surface-container, #faf8f5) );--ajf-border: var( --mat-sys-outline-variant, var(--sys-outline-variant, #e6e2dc) );--ajf-border-strong: var( --mat-sys-outline, var(--sys-outline, #d5cfc6) );--ajf-accent: var( --mat-sys-primary, var(--sys-primary, #0f4c5c) );--ajf-accent-fg: var( --mat-sys-on-primary, var(--sys-on-primary, #ffffff) );--ajf-accent-soft: var( --mat-sys-primary-container, var(--sys-primary-container, #e8f1f5) );--ajf-accent-ink: var( --mat-sys-on-primary-container, var(--sys-on-primary-container, #2d6b7f) );--ajf-text: var( --mat-sys-on-surface, var(--sys-on-surface, #1c1a17) );--ajf-text-muted: var( --mat-sys-on-surface-variant, var(--sys-on-surface-variant, #7a736a) );--ajf-danger: var( --mat-sys-error, var(--sys-error, #b8362b) );--ajf-danger-bg: var( --mat-sys-error-container, var(--sys-error-container, #fdf1ef) );--ajf-text-faint: #a49c92;--ajf-accent-hover: #0c3d4a;--ajf-kbd-bg: rgba(255, 255, 255, .22);--ajf-disabled-bg: #e6e2dc;--ajf-disabled-fg: #5a544c}.ajf-form-container,ajf-field{color-scheme:light dark}.ajf-dark .ajf-form-container,.ajf-dark ajf-field{color-scheme:dark}.ajf-light .ajf-form-container,.ajf-light ajf-field{color-scheme:light}.ajf-control{box-sizing:border-box;min-height:var(--ajf-control-h);padding:0 12px;border:1px solid var(--ajf-border-strong);border-radius:var(--ajf-radius);background:var(--ajf-surface);color:var(--ajf-text);font-family:var(--ajf-font-sans);font-size:14px;line-height:calc(var(--ajf-control-h) - 2px);outline:none;width:100%;max-width:360px}.ajf-control:focus,.ajf-control:focus-within{border-color:var(--ajf-accent);box-shadow:0 0 0 2px var(--ajf-accent-soft)}.ajf-control:disabled,.ajf-control[readonly]{color:var(--ajf-text-muted);background:var(--ajf-band)}.ajf-control--mono{font-family:var(--ajf-font-mono);font-size:13px;letter-spacing:.01em}.ajf-control--narrow{max-width:160px}.ajf-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;box-sizing:border-box;min-height:var(--ajf-control-h);padding:0 16px;border:1px solid var(--ajf-border-strong);border-radius:var(--ajf-radius);background:var(--ajf-surface);color:var(--ajf-text);font-family:var(--ajf-font-sans);font-size:14px;cursor:pointer}.ajf-btn:hover:not(:disabled){border-color:var(--ajf-accent)}.ajf-btn:disabled{color:var(--ajf-text-faint);cursor:default}.ajf-btn--primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;box-sizing:border-box;min-height:var(--ajf-control-h);padding:0 16px;border:1px solid var(--ajf-border-strong);border-radius:var(--ajf-radius);background:var(--ajf-surface);color:var(--ajf-text);font-family:var(--ajf-font-sans);font-size:14px;cursor:pointer;border-color:var(--ajf-accent);background:var(--ajf-accent);color:var(--ajf-accent-fg)}.ajf-btn--primary:hover:not(:disabled){border-color:var(--ajf-accent)}.ajf-btn--primary:disabled{color:var(--ajf-text-faint);cursor:default}.ajf-btn--primary:hover:not(:disabled){border-color:var(--ajf-accent-hover);background:var(--ajf-accent-hover)}.ajf-btn--primary:disabled{border-color:var(--ajf-disabled-bg);background:var(--ajf-disabled-bg);color:var(--ajf-disabled-fg)}.ajf-btn--ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;box-sizing:border-box;min-height:var(--ajf-control-h);border:1px solid var(--ajf-border-strong);border-radius:var(--ajf-radius);background:var(--ajf-surface);color:var(--ajf-text);font-family:var(--ajf-font-sans);font-size:14px;cursor:pointer;min-height:auto;padding:0 4px;border-color:transparent;background:none;color:var(--ajf-accent-ink);text-decoration:none}.ajf-btn--ghost:hover:not(:disabled){border-color:var(--ajf-accent)}.ajf-btn--ghost:disabled{color:var(--ajf-text-faint);cursor:default}.ajf-btn--ghost:hover:not(:disabled){border-color:transparent;text-decoration:underline}.ajf-btn--ghost.ajf-danger{color:var(--ajf-danger)}.ajf-segmented{display:inline-flex;flex-wrap:wrap;gap:8px}.ajf-segmented .ajf-segment{display:inline-flex;align-items:center;justify-content:center;gap:8px;box-sizing:border-box;min-height:var(--ajf-control-h);padding:0 16px;border:1px solid var(--ajf-border-strong);border-radius:var(--ajf-radius);background:var(--ajf-surface);color:var(--ajf-text);font-family:var(--ajf-font-sans);font-size:14px;cursor:pointer}.ajf-segmented .ajf-segment:hover:not(:disabled){border-color:var(--ajf-accent)}.ajf-segmented .ajf-segment:disabled{color:var(--ajf-text-faint);cursor:default}.ajf-segmented .ajf-segment.ajf-selected{border-color:var(--ajf-accent);background:var(--ajf-accent);color:var(--ajf-accent-fg)}.ajf-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border-radius:var(--ajf-radius);background:var(--ajf-accent-soft);color:var(--ajf-accent-ink);font-size:13px;white-space:nowrap}.ajf-chip--removable button{display:inline-flex;align-items:center;padding:0;border:0;background:none;color:inherit;cursor:pointer;opacity:.7}.ajf-chip--removable button:hover{opacity:1}.ajf-chip--removable button .mat-icon{width:14px;height:14px;font-size:14px}.ajf-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:var(--ajf-band);color:var(--ajf-text-muted);font-size:12px;white-space:nowrap}.ajf-pill--danger{background:var(--ajf-danger-bg);color:var(--ajf-danger);font-weight:500}.ajf-kbd{padding:1px 5px;border-radius:3px;background:var(--ajf-kbd-bg);font-family:var(--ajf-font-mono);font-size:10px}.ajf-input-group{display:inline-flex;align-items:center;overflow:hidden;box-sizing:border-box;min-height:var(--ajf-control-h);border:1px solid var(--ajf-border-strong);border-radius:var(--ajf-radius);background:var(--ajf-surface);color:var(--ajf-text);font-family:var(--ajf-font-sans);font-size:14px;line-height:calc(var(--ajf-control-h) - 2px);outline:none;padding:0}.ajf-input-group:focus,.ajf-input-group:focus-within{border-color:var(--ajf-accent);box-shadow:0 0 0 2px var(--ajf-accent-soft)}.ajf-input-group:disabled,.ajf-input-group[readonly]{color:var(--ajf-text-muted);background:var(--ajf-band)}.ajf-input-group>input{flex:1 1 auto;min-width:0;height:calc(var(--ajf-control-h) - 2px);padding:0 12px;border:0;background:none;color:inherit;font:inherit;outline:none}.ajf-input-group>.ajf-input-group-action{display:inline-flex;align-items:center;justify-content:center;align-self:stretch;padding:0 8px;border:0;border-left:1px solid var(--ajf-border);background:var(--ajf-band);color:var(--ajf-text-muted);cursor:pointer}.ajf-hatch{background-color:var(--ajf-band);background-image:repeating-linear-gradient(45deg,var(--ajf-border) 0,var(--ajf-border) 1px,transparent 1px,transparent 7px)}.ajf-micro-label{font-family:var(--ajf-font-mono);font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--ajf-text-muted)}ajf-field .mat-mdc-select{box-sizing:border-box;min-height:var(--ajf-control-h);padding:0 12px;border:1px solid var(--ajf-border-strong);border-radius:var(--ajf-radius);background:var(--ajf-surface);color:var(--ajf-text);font-family:var(--ajf-font-sans);font-size:14px;line-height:calc(var(--ajf-control-h) - 2px);outline:none;display:inline-flex;align-items:center;width:auto;min-width:240px;max-width:100%}ajf-field .mat-mdc-select:focus,ajf-field .mat-mdc-select:focus-within{border-color:var(--ajf-accent);box-shadow:0 0 0 2px var(--ajf-accent-soft)}ajf-field .mat-mdc-select:disabled,ajf-field .mat-mdc-select[readonly]{color:var(--ajf-text-muted);background:var(--ajf-band)}ajf-field .mat-mdc-select .mat-mdc-select-trigger{height:auto}ajf-field .mat-mdc-select .mat-mdc-select-value{color:var(--ajf-text);font-size:14px}ajf-field .mat-mdc-select .mat-mdc-select-arrow-wrapper{color:var(--ajf-text-muted)}ajf-field .mat-mdc-select-multiple{min-height:var(--ajf-control-h)}ajf-field .mat-mdc-select-multiple .mat-mdc-select-value{display:flex;flex-wrap:wrap;padding:5px 0}ajf-field .mat-mdc-select-multiple mat-select-trigger{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}ajf-field .mat-mdc-slide-toggle{--mdc-switch-selected-track-color: var(--ajf-accent);--mdc-switch-selected-handle-color: var(--ajf-surface);--mdc-switch-selected-hover-track-color: var(--ajf-accent);--mdc-switch-selected-focus-track-color: var(--ajf-accent);--mdc-switch-selected-pressed-track-color: var(--ajf-accent);--mdc-switch-selected-hover-handle-color: var(--ajf-surface);--mdc-switch-selected-focus-handle-color: var(--ajf-surface);--mdc-switch-selected-pressed-handle-color: var(--ajf-surface)}ajf-field .mat-mdc-slider{--mdc-slider-handle-color: var(--ajf-accent);--mdc-slider-focus-handle-color: var(--ajf-accent);--mdc-slider-hover-handle-color: var(--ajf-accent);--mdc-slider-active-track-color: var(--ajf-accent);--mdc-slider-inactive-track-color: var(--ajf-border);--mdc-slider-with-tick-marks-active-container-color: var(--ajf-accent-fg);--mdc-slider-with-tick-marks-inactive-container-color: var(--ajf-border-strong);--mdc-slider-handle-elevation: none;--mat-slider-ripple-color: var(--ajf-accent)}ajf-field .mat-datepicker-toggle .mat-mdc-icon-button{width:34px;height:34px;padding:5px;color:var(--ajf-text-muted)}ajf-field{display:block;min-width:0;font-family:var(--ajf-font-sans)}ajf-field .ajf-choices-container{display:flex;flex-direction:row;flex-wrap:wrap;align-items:stretch;gap:8px}ajf-field .ajf-item-container{position:relative}ajf-field .ajf-errors{color:var(--ajf-danger);font-size:13px}ajf-field>a{color:var(--ajf-accent-ink);font-size:13px}ajf-field-row ajf-field .ajf-errors{display:none}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{appearance:none;margin:0}\n"] }]
|
|
51
51
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.AjfFieldService }] });
|
|
52
52
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRlcmlhbC9mb3Jtcy9zcmMvZmllbGQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRlcmlhbC9mb3Jtcy9zcmMvZmllbGQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7QUFFSCxPQUFPLEVBR0wsWUFBWSxJQUFJLGFBQWEsR0FDOUIsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QixPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7Ozs7OztBQVd2QixNQUFNLE9BQU8sWUFBYSxTQUFRLGFBQWE7SUFHN0MsWUFBWSxHQUFzQixFQUFFLFlBQTZCO1FBQy9ELEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNYLElBQUksQ0FBQyxhQUFhLEdBQUcsWUFBWSxDQUFDLGFBQWEsQ0FBQztJQUNsRCxDQUFDO0lBRUQsUUFBUSxDQUFDLEdBQWtCLEVBQUUsUUFBMEI7UUFDckQsSUFBSSxHQUFHLENBQUMsSUFBSSxJQUFJLEtBQUs7WUFBRSxPQUFPO1FBQzlCLE1BQU0sVUFBVSxHQUFZLEdBQUcsQ0FBQyxRQUFRLENBQUM7UUFDekMsTUFBTSxVQUFVLEdBQUcsY0FBYyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRS9GLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsSUFBSSxVQUFVLEVBQUUsQ0FBZ0IsQ0FBQztRQUU5RSxJQUFJLGFBQWEsSUFBSSxJQUFJLElBQUksUUFBUSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQzlDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNyQixHQUFHLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsQ0FBQztJQUNILENBQUM7K0dBbkJVLFlBQVk7bUdBQVosWUFBWSx1RkM1Q3pCLCt4QkFtQkE7OzRGRHlCYSxZQUFZO2tCQVB4QixTQUFTOytCQUNFLDBCQUEwQixtQkFHbkIsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAoQykgR251Y29vcCBzb2MuIGNvb3AuXG4gKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEFkdmFuY2VkIEpTT04gZm9ybXMgKGFqZikuXG4gKlxuICogQWR2YW5jZWQgSlNPTiBmb3JtcyAoYWpmKSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3JcbiAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsXG4gKiBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIEFkdmFuY2VkIEpTT04gZm9ybXMgKGFqZikgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEFmZmVyb1xuICogR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCBBZHZhbmNlZCBKU09OIGZvcm1zIChhamYpLlxuICogSWYgbm90LCBzZWUgaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLy5cbiAqXG4gKi9cblxuaW1wb3J0IHtcbiAgQWpmRmllbGRDb21wb25lbnRzTWFwLFxuICBBamZGaWVsZEluc3RhbmNlLFxuICBBamZGb3JtRmllbGQgYXMgQ29yZUZvcm1GaWVsZCxcbn0gZnJvbSAnQGFqZi9jb3JlL2Zvcm1zJztcbmltcG9ydCB7Qm9vbGVhbklucHV0fSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtBamZGaWVsZFNlcnZpY2V9IGZyb20gJy4vZmllbGQtc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FqZi1maWVsZCxhamYtZm9ybS1maWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnZmllbGQuaHRtbCcsXG4gIHN0eWxlVXJsczogWydmaWVsZC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBBamZGb3JtRmllbGQgZXh0ZW5kcyBDb3JlRm9ybUZpZWxkIHtcbiAgcmVhZG9ubHkgY29tcG9uZW50c01hcDogQWpmRmllbGRDb21wb25lbnRzTWFwO1xuXG4gIGNvbnN0cnVjdG9yKGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIGZpZWxkU2VydmljZTogQWpmRmllbGRTZXJ2aWNlKSB7XG4gICAgc3VwZXIoY2RyKTtcbiAgICB0aGlzLmNvbXBvbmVudHNNYXAgPSBmaWVsZFNlcnZpY2UuY29tcG9uZW50c01hcDtcbiAgfVxuXG4gIHRhYkV2ZW50KGV2dDogS2V5Ym9hcmRFdmVudCwgaW5zdGFuY2U6IEFqZkZpZWxkSW5zdGFuY2UpIHtcbiAgICBpZiAoZXZ0LmNvZGUgIT0gJ1RhYicpIHJldHVybjtcbiAgICBjb25zdCBpc1NoaWZ0S2V5OiBib29sZWFuID0gZXZ0LnNoaWZ0S2V5O1xuICAgIGNvbnN0IGNhcmRJZE5leHQgPSAnZmllbGRfZW50cnlfJyArIChpc1NoaWZ0S2V5ID8gaW5zdGFuY2Uubm9kZS5pZCAtIDEgOiBpbnN0YW5jZS5ub2RlLmlkICsgMSk7XG5cbiAgICBjb25zdCB0YXJnZXRFbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgIyR7Y2FyZElkTmV4dH1gKSBhcyBIVE1MRWxlbWVudDtcblxuICAgIGlmICh0YXJnZXRFbGVtZW50ID09IG51bGwgfHwgaW5zdGFuY2UgPT0gbnVsbCkge1xuICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBldnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX3JlYWRvbmx5OiBCb29sZWFuSW5wdXQ7XG59XG4iLCI8ZGl2XG4gICAgKm5nSWY9XCJpbnN0YW5jZVwiXG4gICAgW25nQ2xhc3NdPVwiJ2FqZi1maWVsZC0nICsgKGluc3RhbmNlfGFqZk5vZGVDb21wbGV0ZU5hbWUpXCJcbiAgICBbY2xhc3MuYWpmLXZhbGlkYXRlZF09XCJpbnN0YW5jZS52YWxpZGF0aW9uUmVzdWx0c3xhamZGaWVsZElzVmFsaWRcIlxuICAgIChrZXlkb3duKT1cInRhYkV2ZW50KCRldmVudCwgaW5zdGFuY2UpXCJcbj5cbiAgPG5nLXRlbXBsYXRlIGFqZi1maWVsZC1ob3N0PjwvbmctdGVtcGxhdGU+XG48L2Rpdj5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJpbnN0YW5jZSAmJiBpbnN0YW5jZS5ub2RlICYmIGluc3RhbmNlLm5vZGUuYXR0YWNobWVudHNcIj5cbiAgPGEgKm5nRm9yPVwibGV0IGF0dGFjaG1lbnQgb2YgaW5zdGFuY2Uubm9kZS5hdHRhY2htZW50c1wiXG4gICAgW2hyZWZdPVwiYXR0YWNobWVudC52YWx1ZVwiIHRhcmdldD1cIl9ibGFua1wiPnt7YXR0YWNobWVudC5sYWJlbCB8IHRyYW5zbG9jb319PC9hPlxuPC9uZy1jb250YWluZXI+XG48ZGl2ICpuZ0lmPVwiIXJlYWRvbmx5ICYmIGluc3RhbmNlICYmIGluc3RhbmNlLnZhbGlkYXRpb25SZXN1bHRzXCIgY2xhc3M9XCJhamYtZXJyb3JzXCI+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHJlcyBvZiBpbnN0YW5jZS52YWxpZGF0aW9uUmVzdWx0c1wiPlxuICAgIDxkaXYgY2xhc3M9XCJlcnJvclwiICpuZ0lmPVwiIXJlcy5yZXN1bHRcIj5cbiAgICAgIHt7IHJlcy5lcnJvcnx0cmFuc2xvY28gfX1cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cbiJdfQ==
|