iss-ctrl 0.0.2-beta → 0.0.2-beta-2
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 +17 -15
- package/components/autocomplete/autocomplete.component.d.ts +3 -3
- package/components/base-ctrl.d.ts +1 -3
- package/components/checkbox/checkbox.component.d.ts +3 -3
- package/components/chips/chips.component.d.ts +11 -3
- package/components/ctrl-array/ctrl-array.component.d.ts +3 -3
- package/components/date-picker/date-picker.component.d.ts +3 -3
- package/components/date-range-picker/date-range-picker.component.d.ts +3 -3
- package/components/datetime-picker/datetime-picker.component.d.ts +3 -3
- package/components/datetime-range-picker/datetime-range-picker.component.d.ts +3 -3
- package/components/file-picker/file-picker.component.d.ts +3 -3
- package/components/input/input.component.d.ts +15 -4
- package/components/mobile/mobile.component.d.ts +3 -3
- package/components/note/note.component.d.ts +3 -3
- package/components/plate/PLATE_LETTERS.d.ts +8 -0
- package/components/{plate-number/plate-number.component.d.ts → plate/plate.component.d.ts} +4 -5
- package/components/radio/radio.component.d.ts +3 -3
- package/components/select/select.component.d.ts +8 -6
- package/components/slide-toggle/slide-toggle.component.d.ts +3 -3
- package/components/textarea/textarea.component.d.ts +3 -3
- package/components/time-picker/time-picker.component.d.ts +3 -3
- package/components/toggle-button/toggle-button.component.d.ts +3 -3
- package/esm2022/components/autocomplete/autocomplete.component.mjs +7 -7
- package/esm2022/components/base-ctrl.mjs +7 -7
- package/esm2022/components/checkbox/checkbox.component.mjs +7 -7
- package/esm2022/components/chips/chips.component.mjs +72 -12
- package/esm2022/components/ctrl-array/ctrl-array.component.mjs +7 -7
- package/esm2022/components/date-picker/date-picker.component.mjs +9 -9
- package/esm2022/components/date-range-picker/date-range-picker.component.mjs +7 -7
- package/esm2022/components/datetime-picker/datetime-picker.component.mjs +12 -12
- package/esm2022/components/datetime-range-picker/datetime-range-picker.component.mjs +7 -7
- package/esm2022/components/file-picker/file-picker.component.mjs +7 -7
- package/esm2022/components/hints/hints.component.mjs +3 -3
- package/esm2022/components/input/input.component.mjs +43 -18
- package/esm2022/components/mobile/mobile.component.mjs +9 -9
- package/esm2022/components/note/note.component.mjs +7 -7
- package/esm2022/components/plate/PLATE_LETTERS.mjs +20 -0
- package/esm2022/components/plate/plate.component.mjs +101 -0
- package/esm2022/components/radio/radio.component.mjs +7 -7
- package/esm2022/components/select/select.component.mjs +63 -32
- package/esm2022/components/slide-toggle/slide-toggle.component.mjs +7 -7
- package/esm2022/components/textarea/textarea.component.mjs +23 -11
- package/esm2022/components/time-picker/time-picker.component.mjs +9 -9
- package/esm2022/components/toggle-button/toggle-button.component.mjs +7 -7
- package/esm2022/interfaces/hint-alignment.type.mjs +2 -0
- package/esm2022/interfaces/hint.interface.mjs +1 -1
- package/esm2022/interfaces/option.interface.mjs +1 -1
- package/esm2022/pipes/arabic-number.pipe.mjs +23 -0
- package/esm2022/pipes/plate-letter.pipe.mjs +22 -0
- package/esm2022/public-api.mjs +2 -2
- package/fesm2022/iss-ctrl.mjs +359 -195
- package/fesm2022/iss-ctrl.mjs.map +1 -1
- package/interfaces/hint-alignment.type.d.ts +1 -0
- package/interfaces/hint.interface.d.ts +2 -0
- package/interfaces/option.interface.d.ts +1 -0
- package/package.json +1 -1
- package/pipes/arabic-number.pipe.d.ts +7 -0
- package/pipes/plate-letter.pipe.d.ts +7 -0
- package/public-api.d.ts +1 -1
- package/esm2022/components/plate-number/plate-number.component.mjs +0 -114
|
@@ -1,17 +1,77 @@
|
|
|
1
|
-
import { Component } from "@angular/core";
|
|
2
|
-
import { NG_VALUE_ACCESSOR } from "@angular/forms";
|
|
1
|
+
import { Component, CUSTOM_ELEMENTS_SCHEMA, effect, signal } from "@angular/core";
|
|
2
|
+
import { NG_VALUE_ACCESSOR, ReactiveFormsModule } from "@angular/forms";
|
|
3
3
|
import { BaseCtrl } from "../base-ctrl";
|
|
4
|
+
import { MatFormField } from "@angular/material/form-field";
|
|
5
|
+
import { MatChipGrid, MatChipInput, MatChipRemove, MatChipRow } from "@angular/material/chips";
|
|
6
|
+
import { MatInput } from "@angular/material/input";
|
|
7
|
+
import { toSignal } from "@angular/core/rxjs-interop";
|
|
4
8
|
import * as i0 from "@angular/core";
|
|
5
|
-
export class
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
9
|
+
export class ChipsControl extends BaseCtrl {
|
|
10
|
+
constructor() {
|
|
11
|
+
super(...arguments);
|
|
12
|
+
this.keywords = signal([]);
|
|
13
|
+
this.#ctrlChanges = toSignal(this.ctrl.valueChanges);
|
|
14
|
+
this.#effect = effect(() => {
|
|
15
|
+
if (this.#ctrlChanges()) {
|
|
16
|
+
this.emitValue(this.#stringifyValues());
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
#ctrlChanges;
|
|
21
|
+
#effect;
|
|
22
|
+
writeValue(value) {
|
|
23
|
+
if (typeof value === "string") {
|
|
24
|
+
this.keywords.set(this.#parseValues(value));
|
|
25
|
+
}
|
|
26
|
+
if (value === undefined || value === null) {
|
|
27
|
+
this.keywords.set([]);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
remove(keyword) {
|
|
31
|
+
this.keywords.update((keywords) => {
|
|
32
|
+
const index = keywords.indexOf(keyword);
|
|
33
|
+
if (index < 0) {
|
|
34
|
+
return keywords;
|
|
35
|
+
}
|
|
36
|
+
keywords.splice(index, 1);
|
|
37
|
+
return [...keywords];
|
|
38
|
+
});
|
|
39
|
+
this.emitValue(this.#stringifyValues());
|
|
40
|
+
}
|
|
41
|
+
add(event) {
|
|
42
|
+
const value = (event.value || "").trim();
|
|
43
|
+
if (value) {
|
|
44
|
+
this.keywords.update((keywords) => [...keywords, value]);
|
|
45
|
+
}
|
|
46
|
+
event.chipInput.clear();
|
|
47
|
+
this.emitValue(this.#stringifyValues());
|
|
48
|
+
}
|
|
49
|
+
ngOnDestroy() {
|
|
50
|
+
this.#effect.destroy();
|
|
51
|
+
}
|
|
52
|
+
#stringifyValues() {
|
|
53
|
+
return this.keywords().map((s) => s.trim()).join();
|
|
54
|
+
}
|
|
55
|
+
#parseValues(values) {
|
|
56
|
+
return values.split(",").map((c) => c.trim());
|
|
57
|
+
}
|
|
58
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: ChipsControl, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
59
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: ChipsControl, isStandalone: true, selector: "iss-ctrl-chips", providers: [
|
|
60
|
+
{ provide: NG_VALUE_ACCESSOR, useExisting: ChipsControl, multi: true }
|
|
61
|
+
], usesInheritance: true, ngImport: i0, template: "<mat-form-field>\r\n <input\r\n matInput\r\n [placeholder]=\"placeholder()\"\r\n [matChipInputFor]=\"chipGrid\"\r\n (matChipInputTokenEnd)=\"add($event)\"\r\n />\r\n</mat-form-field>\r\n<mat-chip-grid #chipGrid>\r\n @for (keyword of keywords(); track keyword) {\r\n <mat-chip-row (removed)=\"remove(keyword)\">\r\n {{ keyword }}\r\n <button matChipRemove>\r\n <ds-icon icon=\"trash\" class=\"fc-red\"></ds-icon>\r\n </button>\r\n </mat-chip-row>\r\n }\r\n</mat-chip-grid>\r\n", styles: [""], dependencies: [{ kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: MatChipGrid, selector: "mat-chip-grid", inputs: ["disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "component", type: MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: MatChipRemove, selector: "[matChipRemove]" }] }); }
|
|
10
62
|
}
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type:
|
|
63
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: ChipsControl, decorators: [{
|
|
12
64
|
type: Component,
|
|
13
|
-
args: [{ selector: "iss-ctrl-chips", standalone: true, imports: [
|
|
14
|
-
|
|
15
|
-
|
|
65
|
+
args: [{ selector: "iss-ctrl-chips", standalone: true, imports: [
|
|
66
|
+
MatFormField,
|
|
67
|
+
MatChipGrid,
|
|
68
|
+
MatChipRow,
|
|
69
|
+
ReactiveFormsModule,
|
|
70
|
+
MatChipInput,
|
|
71
|
+
MatInput,
|
|
72
|
+
MatChipRemove
|
|
73
|
+
], providers: [
|
|
74
|
+
{ provide: NG_VALUE_ACCESSOR, useExisting: ChipsControl, multi: true }
|
|
75
|
+
], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<mat-form-field>\r\n <input\r\n matInput\r\n [placeholder]=\"placeholder()\"\r\n [matChipInputFor]=\"chipGrid\"\r\n (matChipInputTokenEnd)=\"add($event)\"\r\n />\r\n</mat-form-field>\r\n<mat-chip-grid #chipGrid>\r\n @for (keyword of keywords(); track keyword) {\r\n <mat-chip-row (removed)=\"remove(keyword)\">\r\n {{ keyword }}\r\n <button matChipRemove>\r\n <ds-icon icon=\"trash\" class=\"fc-red\"></ds-icon>\r\n </button>\r\n </mat-chip-row>\r\n }\r\n</mat-chip-grid>\r\n" }]
|
|
16
76
|
}] });
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXNzLWN0cmwvc3JjL2NvbXBvbmVudHMvY2hpcHMvY2hpcHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXNzLWN0cmwvc3JjL2NvbXBvbmVudHMvY2hpcHMvY2hpcHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLEVBQWdDLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDOUgsT0FBTyxFQUFDLGlCQUFpQixFQUFFLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEUsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUN0QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDMUQsT0FBTyxFQUFDLFdBQVcsRUFBRSxZQUFZLEVBQXFCLGFBQWEsRUFBRSxVQUFVLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNoSCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDakQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDRCQUE0QixDQUFDOztBQXFCcEQsTUFBTSxPQUFPLFlBQWEsU0FBUSxRQUFRO0lBbkIxQzs7UUFvQlcsYUFBUSxHQUE2QixNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDekQsaUJBQVksR0FBbUIsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDaEUsWUFBTyxHQUFjLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDL0IsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQztnQkFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFD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RSxLQUFLLEVBQUUsSUFBSSxFQUFDO3FCQUNyRSxXQUNRLENBQUMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgZWZmZWN0LCBFZmZlY3RSZWYsIE9uRGVzdHJveSwgU2lnbmFsLCBzaWduYWwsIFdyaXRhYmxlU2lnbmFsfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge05HX1ZBTFVFX0FDQ0VTU09SLCBSZWFjdGl2ZUZvcm1zTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHtCYXNlQ3RybH0gZnJvbSBcIi4uL2Jhc2UtY3RybFwiO1xyXG5pbXBvcnQge01hdEZvcm1GaWVsZH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGRcIjtcclxuaW1wb3J0IHtNYXRDaGlwR3JpZCwgTWF0Q2hpcElucHV0LCBNYXRDaGlwSW5wdXRFdmVudCwgTWF0Q2hpcFJlbW92ZSwgTWF0Q2hpcFJvd30gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2NoaXBzXCI7XHJcbmltcG9ydCB7TWF0SW5wdXR9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9pbnB1dFwiO1xyXG5pbXBvcnQge3RvU2lnbmFsfSBmcm9tIFwiQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3BcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImlzcy1jdHJsLWNoaXBzXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9jaGlwcy5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsOiBcIi4vY2hpcHMuY29tcG9uZW50LnNjc3NcIixcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE1hdEZvcm1GaWVsZCxcclxuICAgIE1hdENoaXBHcmlkLFxyXG4gICAgTWF0Q2hpcFJvdyxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBNYXRDaGlwSW5wdXQsXHJcbiAgICBNYXRJbnB1dCxcclxuICAgIE1hdENoaXBSZW1vdmVcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge3Byb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLCB1c2VFeGlzdGluZzogQ2hpcHNDb250cm9sLCBtdWx0aTogdHJ1ZX1cclxuICBdLFxyXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIENoaXBzQ29udHJvbCBleHRlbmRzIEJhc2VDdHJsIGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICByZWFkb25seSBrZXl3b3JkczogV3JpdGFibGVTaWduYWw8c3RyaW5nW10+ID0gc2lnbmFsKFtdKTtcclxuICAjY3RybENoYW5nZXM6IFNpZ25hbDxzdHJpbmc+ID0gdG9TaWduYWwodGhpcy5jdHJsLnZhbHVlQ2hhbmdlcyk7XHJcbiAgI2VmZmVjdDogRWZmZWN0UmVmID0gZWZmZWN0KCgpID0+IHtcclxuICAgIGlmICh0aGlzLiNjdHJsQ2hhbmdlcygpKSB7XHJcbiAgICAgIHRoaXMuZW1pdFZhbHVlKHRoaXMuI3N0cmluZ2lmeVZhbHVlcygpKTtcclxuICAgIH1cclxuICB9KTtcclxuXHJcbiAgb3ZlcnJpZGUgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nIHwgbnVsbCkge1xyXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIikge1xyXG4gICAgICB0aGlzLmtleXdvcmRzLnNldCh0aGlzLiNwYXJzZVZhbHVlcyh2YWx1ZSkpO1xyXG4gICAgfVxyXG4gICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09IG51bGwpIHtcclxuICAgICAgdGhpcy5rZXl3b3Jkcy5zZXQoW10pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVtb3ZlKGtleXdvcmQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5rZXl3b3Jkcy51cGRhdGUoKGtleXdvcmRzOiBzdHJpbmdbXSk6IHN0cmluZ1tdID0+IHtcclxuICAgICAgY29uc3QgaW5kZXg6IG51bWJlciA9IGtleXdvcmRzLmluZGV4T2Yoa2V5d29yZCk7XHJcbiAgICAgIGlmIChpbmRleCA8IDApIHtcclxuICAgICAgICByZXR1cm4ga2V5d29yZHM7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGtleXdvcmRzLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICAgIHJldHVybiBbLi4ua2V5d29yZHNdO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmVtaXRWYWx1ZSh0aGlzLiNzdHJpbmdpZnlWYWx1ZXMoKSk7XHJcbiAgfVxyXG5cclxuICBhZGQoZXZlbnQ6IE1hdENoaXBJbnB1dEV2ZW50KTogdm9pZCB7XHJcbiAgICBjb25zdCB2YWx1ZTogc3RyaW5nID0gKGV2ZW50LnZhbHVlIHx8IFwiXCIpLnRyaW0oKTtcclxuICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICB0aGlzLmtleXdvcmRzLnVwZGF0ZSgoa2V5d29yZHM6IHN0cmluZ1tdKTogc3RyaW5nW10gPT4gWy4uLmtleXdvcmRzLCB2YWx1ZV0pO1xyXG4gICAgfVxyXG4gICAgZXZlbnQuY2hpcElucHV0IS5jbGVhcigpO1xyXG4gICAgdGhpcy5lbWl0VmFsdWUodGhpcy4jc3RyaW5naWZ5VmFsdWVzKCkpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLiNlZmZlY3QuZGVzdHJveSgpO1xyXG4gIH1cclxuXHJcbiAgI3N0cmluZ2lmeVZhbHVlcygpIHtcclxuICAgIHJldHVybiB0aGlzLmtleXdvcmRzKCkubWFwKChzOiBzdHJpbmcpID0+IHMudHJpbSgpKS5qb2luKCk7XHJcbiAgfVxyXG5cclxuICAjcGFyc2VWYWx1ZXModmFsdWVzOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB2YWx1ZXMuc3BsaXQoXCIsXCIpLm1hcCgoYzogc3RyaW5nKSA9PiBjLnRyaW0oKSk7XHJcbiAgfVxyXG59XHJcbiIsIjxtYXQtZm9ybS1maWVsZD5cclxuICA8aW5wdXRcclxuICAgIG1hdElucHV0XHJcbiAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIoKVwiXHJcbiAgICBbbWF0Q2hpcElucHV0Rm9yXT1cImNoaXBHcmlkXCJcclxuICAgIChtYXRDaGlwSW5wdXRUb2tlbkVuZCk9XCJhZGQoJGV2ZW50KVwiXHJcbiAgLz5cclxuPC9tYXQtZm9ybS1maWVsZD5cclxuPG1hdC1jaGlwLWdyaWQgI2NoaXBHcmlkPlxyXG4gIEBmb3IgKGtleXdvcmQgb2Yga2V5d29yZHMoKTsgdHJhY2sga2V5d29yZCkge1xyXG4gICAgPG1hdC1jaGlwLXJvdyAocmVtb3ZlZCk9XCJyZW1vdmUoa2V5d29yZClcIj5cclxuICAgICAge3sga2V5d29yZCB9fVxyXG4gICAgICA8YnV0dG9uIG1hdENoaXBSZW1vdmU+XHJcbiAgICAgICAgPGRzLWljb24gaWNvbj1cInRyYXNoXCIgY2xhc3M9XCJmYy1yZWRcIj48L2RzLWljb24+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9tYXQtY2hpcC1yb3c+XHJcbiAgfVxyXG48L21hdC1jaGlwLWdyaWQ+XHJcbiJdfQ==
|
|
@@ -2,16 +2,16 @@ import { Component } from "@angular/core";
|
|
|
2
2
|
import { NG_VALUE_ACCESSOR } from "@angular/forms";
|
|
3
3
|
import { BaseCtrl } from "../base-ctrl";
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
|
-
export class
|
|
6
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type:
|
|
7
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.0", type:
|
|
8
|
-
{ provide: NG_VALUE_ACCESSOR, useExisting:
|
|
5
|
+
export class CtrlArrayControl extends BaseCtrl {
|
|
6
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: CtrlArrayControl, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
7
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.0", type: CtrlArrayControl, isStandalone: true, selector: "iss-ctrl-ctrl-array", providers: [
|
|
8
|
+
{ provide: NG_VALUE_ACCESSOR, useExisting: CtrlArrayControl, multi: true }
|
|
9
9
|
], usesInheritance: true, ngImport: i0, template: "<p>ctrl-array works!</p>\r\n", styles: [""] }); }
|
|
10
10
|
}
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type:
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: CtrlArrayControl, decorators: [{
|
|
12
12
|
type: Component,
|
|
13
13
|
args: [{ selector: "iss-ctrl-ctrl-array", standalone: true, imports: [], providers: [
|
|
14
|
-
{ provide: NG_VALUE_ACCESSOR, useExisting:
|
|
14
|
+
{ provide: NG_VALUE_ACCESSOR, useExisting: CtrlArrayControl, multi: true }
|
|
15
15
|
], template: "<p>ctrl-array works!</p>\r\n" }]
|
|
16
16
|
}] });
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3RybC1hcnJheS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pc3MtY3RybC9zcmMvY29tcG9uZW50cy9jdHJsLWFycmF5L2N0cmwtYXJyYXkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXNzLWN0cmwvc3JjL2NvbXBvbmVudHMvY3RybC1hcnJheS9jdHJsLWFycmF5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGNBQWMsQ0FBQzs7QUFZdEMsTUFBTSxPQUFPLGdCQUFpQixTQUFRLFFBQVE7OEdBQWpDLGdCQUFnQjtrR0FBaEIsZ0JBQWdCLGtFQUpoQjtZQUNULEVBQUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFDO1NBQ3pFLGlEQ1pILDhCQUNBOzsyRkRhYSxnQkFBZ0I7a0JBVjVCLFNBQVM7K0JBQ0UscUJBQXFCLGNBQ25CLElBQUksV0FDUCxFQUFFLGFBR0E7d0JBQ1QsRUFBQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxrQkFBa0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFDO3FCQUN6RSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50fSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge05HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHtCYXNlQ3RybH0gZnJvbSBcIi4uL2Jhc2UtY3RybFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiaXNzLWN0cmwtY3RybC1hcnJheVwiLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW10sXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9jdHJsLWFycmF5LmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmw6IFwiLi9jdHJsLWFycmF5LmNvbXBvbmVudC5zY3NzXCIsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7cHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsIHVzZUV4aXN0aW5nOiBDdHJsQXJyYXlDb250cm9sLCBtdWx0aTogdHJ1ZX1cclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDdHJsQXJyYXlDb250cm9sIGV4dGVuZHMgQmFzZUN0cmwge1xyXG5cclxufVxyXG4iLCI8cD5jdHJsLWFycmF5IHdvcmtzITwvcD5cclxuIl19
|
|
@@ -14,7 +14,7 @@ import * as i1 from "@angular/material/form-field";
|
|
|
14
14
|
import * as i2 from "@angular/material/input";
|
|
15
15
|
import * as i3 from "@angular/material/datepicker";
|
|
16
16
|
import * as i4 from "@angular/forms";
|
|
17
|
-
export class
|
|
17
|
+
export class DatePickerControl extends BaseCtrl {
|
|
18
18
|
constructor() {
|
|
19
19
|
super(...arguments);
|
|
20
20
|
this.disabledDays = input([]);
|
|
@@ -31,25 +31,25 @@ export class DatePickerComponent extends BaseCtrl {
|
|
|
31
31
|
const selectedDateString = this.#datePipe.transform($event.value, "yyyy-MM-ddTHH:mm:ss") + "Z";
|
|
32
32
|
this.emitValue(selectedDateString);
|
|
33
33
|
}
|
|
34
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type:
|
|
35
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.1.0", type:
|
|
34
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: DatePickerControl, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
35
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.1.0", type: DatePickerControl, isStandalone: true, selector: "iss-ctrl-date-picker", inputs: { disabledDays: { classPropertyName: "disabledDays", publicName: "disabledDays", isSignal: true, isRequired: false, transformFunction: null }, minDate: { classPropertyName: "minDate", publicName: "minDate", isSignal: true, isRequired: false, transformFunction: null }, maxDate: { classPropertyName: "maxDate", publicName: "maxDate", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
|
|
36
36
|
DatePipe,
|
|
37
37
|
{ provide: DateAdapter, useClass: ISSDateAdapter },
|
|
38
38
|
{ provide: MAT_DATE_FORMATS, useValue: DATE_FORMAT_ADAPTER },
|
|
39
39
|
{ provide: MAT_DATE_LOCALE, useValue: enGB },
|
|
40
|
-
{ provide: NG_VALUE_ACCESSOR, useExisting:
|
|
41
|
-
{ provide: NG_VALIDATORS, useExisting:
|
|
40
|
+
{ provide: NG_VALUE_ACCESSOR, useExisting: DatePickerControl, multi: true },
|
|
41
|
+
{ provide: NG_VALIDATORS, useExisting: DatePickerControl, multi: true },
|
|
42
42
|
], usesInheritance: true, ngImport: i0, template: "<mat-form-field>\r\n <input\r\n class=\"cursor-pointer\"\r\n matInput\r\n readonly\r\n [matDatepicker]=\"picker\"\r\n (click)=\"picker.open(); markAsTouched()\"\r\n [formControl]=\"ctrl\"\r\n [min]=\"minDate()\"\r\n [max]=\"maxDate()\"\r\n [placeholder]=\"'dd/mm/yyyy'\"\r\n [matDatepickerFilter]=\"calendarDaysFilter\"\r\n (dateChange)=\"emit($event)\"\r\n />\r\n <mat-datepicker-toggle matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\r\n <mat-datepicker #picker></mat-datepicker>\r\n</mat-form-field>\r\n", styles: ["::ng-deep tr:has(>.mat-calendar-body-label[colspan=\"7\"]){opacity:0!important;display:none}::ng-deep .mat-datepicker-content .mat-calendar{height:unset!important}\n"], dependencies: [{ kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i3.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i3.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i3.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
|
|
43
43
|
}
|
|
44
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type:
|
|
44
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: DatePickerControl, decorators: [{
|
|
45
45
|
type: Component,
|
|
46
46
|
args: [{ selector: "iss-ctrl-date-picker", standalone: true, imports: [MatFormFieldModule, MatInputModule, MatDatepickerModule, MatIconModule, ReactiveFormsModule], providers: [
|
|
47
47
|
DatePipe,
|
|
48
48
|
{ provide: DateAdapter, useClass: ISSDateAdapter },
|
|
49
49
|
{ provide: MAT_DATE_FORMATS, useValue: DATE_FORMAT_ADAPTER },
|
|
50
50
|
{ provide: MAT_DATE_LOCALE, useValue: enGB },
|
|
51
|
-
{ provide: NG_VALUE_ACCESSOR, useExisting:
|
|
52
|
-
{ provide: NG_VALIDATORS, useExisting:
|
|
51
|
+
{ provide: NG_VALUE_ACCESSOR, useExisting: DatePickerControl, multi: true },
|
|
52
|
+
{ provide: NG_VALIDATORS, useExisting: DatePickerControl, multi: true },
|
|
53
53
|
], template: "<mat-form-field>\r\n <input\r\n class=\"cursor-pointer\"\r\n matInput\r\n readonly\r\n [matDatepicker]=\"picker\"\r\n (click)=\"picker.open(); markAsTouched()\"\r\n [formControl]=\"ctrl\"\r\n [min]=\"minDate()\"\r\n [max]=\"maxDate()\"\r\n [placeholder]=\"'dd/mm/yyyy'\"\r\n [matDatepickerFilter]=\"calendarDaysFilter\"\r\n (dateChange)=\"emit($event)\"\r\n />\r\n <mat-datepicker-toggle matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\r\n <mat-datepicker #picker></mat-datepicker>\r\n</mat-form-field>\r\n", styles: ["::ng-deep tr:has(>.mat-calendar-body-label[colspan=\"7\"]){opacity:0!important;display:none}::ng-deep .mat-datepicker-content .mat-calendar{height:unset!important}\n"] }]
|
|
54
54
|
}] });
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXNzLWN0cmwvc3JjL2NvbXBvbmVudHMvZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXNzLWN0cmwvc3JjL2NvbXBvbmVudHMvZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFjLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDdEMsT0FBTyxFQUFDLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBWSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hHLE9BQU8sRUFBQyxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDdEYsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUEwQixtQkFBbUIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQzFGLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFDLG1CQUFtQixFQUFFLGNBQWMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ25FLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0saUJBQWlCLENBQUM7Ozs7OztBQWlCckMsTUFBTSxPQUFPLGlCQUFrQixTQUFRLFFBQVE7SUFmL0M7O1FBZ0JFLGlCQUFZLEdBQTBCLEtBQUssQ0FBVyxFQUFFLENBQUMsQ0FBQztRQUMxRCxZQUFPLEdBQTZCLEtBQUssQ0FBYyxJQUFJLENBQUMsQ0FBQztRQUM3RCxZQUFPLEdBQTZCLEtBQUssQ0FBYyxJQUFJLENBQUMsQ0FBQztRQUM3RCxjQUFTLEdBQWEsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTdCLHVCQUFrQixHQUFHLENBQUMsQ0FBYyxFQUFXLEVBQUU7WUFDekQsTUFBTSxHQUFHLEdBQVcsQ0FBQyxDQUFDLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQy9DLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUM5QyxDQUFDLENBQUM7S0FNSDtJQVhDLFNBQVMsQ0FBOEI7SUFPN0IsSUFBSSxDQUFDLE1BQW9DO1FBQ2pELE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxxQkFBcUIsQ0FBQyxHQUFHLEdBQUcsQ0FBQztRQUMvRixJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDckMsQ0FBQzs4R0FkVSxpQkFBaUI7a0dBQWpCLGlCQUFpQix3ZEFUakI7WUFDVCxRQUFRO1lBQ1IsRUFBQyxPQUFPLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUM7WUFDaEQsRUFBQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLG1CQUFtQixFQUFDO1lBQzFELEVBQUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFDO1lBQzFDLEVBQUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFDO1lBQ3pFLEVBQUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBQztTQUN0RSxpREN6QkgseWlCQWlCQSw4TkRBWSxrQkFBa0IsMFdBQUUsY0FBYywwV0FBRSxtQkFBbUIsaWdCQUFFLGFBQWEsOEJBQUUsbUJBQW1COzsyRkFVMUYsaUJBQWlCO2tCQWY3QixTQUFTOytCQUNFLHNCQUFzQixjQUNwQixJQUFJLFdBR1AsQ0FBQyxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLG1CQUFtQixDQUFDLGFBQzNGO3dCQUNULFFBQVE7d0JBQ1IsRUFBQyxPQUFPLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUM7d0JBQ2hELEVBQUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxtQkFBbUIsRUFBQzt3QkFDMUQsRUFBQyxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUM7d0JBQzFDLEVBQUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsbUJBQW1CLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBQzt3QkFDekUsRUFBQyxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsbUJBQW1CLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBQztxQkFDdEUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgaW5qZWN0LCBpbnB1dCwgSW5wdXRTaWduYWx9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7QmFzZUN0cmx9IGZyb20gXCIuLi9iYXNlLWN0cmxcIjtcclxuaW1wb3J0IHtOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVmFsaWRhdG9yfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHtEYXRlQWRhcHRlciwgTUFUX0RBVEVfRk9STUFUUywgTUFUX0RBVEVfTE9DQUxFfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZVwiO1xyXG5pbXBvcnQge01hdEZvcm1GaWVsZE1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGRcIjtcclxuaW1wb3J0IHtNYXREYXRlcGlja2VySW5wdXRFdmVudCwgTWF0RGF0ZXBpY2tlck1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXJcIjtcclxuaW1wb3J0IHtNYXRJbnB1dE1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2lucHV0XCI7XHJcbmltcG9ydCB7TWF0SWNvbk1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2ljb25cIjtcclxuaW1wb3J0IHtEQVRFX0ZPUk1BVF9BREFQVEVSLCBJU1NEYXRlQWRhcHRlcn0gZnJvbSBcIi4vZGF0ZS1hZGFwdGVyXCI7XHJcbmltcG9ydCB7RGF0ZVBpcGV9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHtlbkdCfSBmcm9tIFwiZGF0ZS1mbnMvbG9jYWxlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJpc3MtY3RybC1kYXRlLXBpY2tlclwiLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9kYXRlLXBpY2tlci5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsOiBcIi4vZGF0ZS1waWNrZXIuY29tcG9uZW50LnNjc3NcIixcclxuICBpbXBvcnRzOiBbTWF0Rm9ybUZpZWxkTW9kdWxlLCBNYXRJbnB1dE1vZHVsZSwgTWF0RGF0ZXBpY2tlck1vZHVsZSwgTWF0SWNvbk1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZV0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBEYXRlUGlwZSxcclxuICAgIHtwcm92aWRlOiBEYXRlQWRhcHRlciwgdXNlQ2xhc3M6IElTU0RhdGVBZGFwdGVyfSxcclxuICAgIHtwcm92aWRlOiBNQVRfREFURV9GT1JNQVRTLCB1c2VWYWx1ZTogREFURV9GT1JNQVRfQURBUFRFUn0sXHJcbiAgICB7cHJvdmlkZTogTUFUX0RBVEVfTE9DQUxFLCB1c2VWYWx1ZTogZW5HQn0sXHJcbiAgICB7cHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsIHVzZUV4aXN0aW5nOiBEYXRlUGlja2VyQ29udHJvbCwgbXVsdGk6IHRydWV9LFxyXG4gICAge3Byb3ZpZGU6IE5HX1ZBTElEQVRPUlMsIHVzZUV4aXN0aW5nOiBEYXRlUGlja2VyQ29udHJvbCwgbXVsdGk6IHRydWV9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEYXRlUGlja2VyQ29udHJvbCBleHRlbmRzIEJhc2VDdHJsIGltcGxlbWVudHMgVmFsaWRhdG9yIHtcclxuICBkaXNhYmxlZERheXM6IElucHV0U2lnbmFsPG51bWJlcltdPiA9IGlucHV0PG51bWJlcltdPihbXSk7XHJcbiAgbWluRGF0ZTogSW5wdXRTaWduYWw8RGF0ZSB8IG51bGw+ID0gaW5wdXQ8RGF0ZSB8IG51bGw+KG51bGwpO1xyXG4gIG1heERhdGU6IElucHV0U2lnbmFsPERhdGUgfCBudWxsPiA9IGlucHV0PERhdGUgfCBudWxsPihudWxsKTtcclxuICAjZGF0ZVBpcGU6IERhdGVQaXBlID0gaW5qZWN0KERhdGVQaXBlKTtcclxuXHJcbiAgcHJvdGVjdGVkIGNhbGVuZGFyRGF5c0ZpbHRlciA9IChkOiBEYXRlIHwgbnVsbCk6IGJvb2xlYW4gPT4ge1xyXG4gICAgY29uc3QgZGF5OiBudW1iZXIgPSAoZCB8fCBuZXcgRGF0ZSgpKS5nZXREYXkoKTtcclxuICAgIHJldHVybiAhKHRoaXMuZGlzYWJsZWREYXlzKCkuaW5jbHVkZXMoZGF5KSk7XHJcbiAgfTtcclxuXHJcbiAgcHJvdGVjdGVkIGVtaXQoJGV2ZW50OiBNYXREYXRlcGlja2VySW5wdXRFdmVudDxhbnk+KSB7XHJcbiAgICBjb25zdCBzZWxlY3RlZERhdGVTdHJpbmcgPSB0aGlzLiNkYXRlUGlwZS50cmFuc2Zvcm0oJGV2ZW50LnZhbHVlLCBcInl5eXktTU0tZGRUSEg6bW06c3NcIikgKyBcIlpcIjtcclxuICAgIHRoaXMuZW1pdFZhbHVlKHNlbGVjdGVkRGF0ZVN0cmluZyk7XHJcbiAgfVxyXG59XHJcbiIsIjxtYXQtZm9ybS1maWVsZD5cclxuICA8aW5wdXRcclxuICAgIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIlxyXG4gICAgbWF0SW5wdXRcclxuICAgIHJlYWRvbmx5XHJcbiAgICBbbWF0RGF0ZXBpY2tlcl09XCJwaWNrZXJcIlxyXG4gICAgKGNsaWNrKT1cInBpY2tlci5vcGVuKCk7IG1hcmtBc1RvdWNoZWQoKVwiXHJcbiAgICBbZm9ybUNvbnRyb2xdPVwiY3RybFwiXHJcbiAgICBbbWluXT1cIm1pbkRhdGUoKVwiXHJcbiAgICBbbWF4XT1cIm1heERhdGUoKVwiXHJcbiAgICBbcGxhY2Vob2xkZXJdPVwiJ2RkL21tL3l5eXknXCJcclxuICAgIFttYXREYXRlcGlja2VyRmlsdGVyXT1cImNhbGVuZGFyRGF5c0ZpbHRlclwiXHJcbiAgICAoZGF0ZUNoYW5nZSk9XCJlbWl0KCRldmVudClcIlxyXG4gIC8+XHJcbiAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZSBtYXRJY29uU3VmZml4IFtmb3JdPVwicGlja2VyXCI+PC9tYXQtZGF0ZXBpY2tlci10b2dnbGU+XHJcbiAgPG1hdC1kYXRlcGlja2VyICNwaWNrZXI+PC9tYXQtZGF0ZXBpY2tlcj5cclxuPC9tYXQtZm9ybS1maWVsZD5cclxuIl19
|
|
@@ -12,7 +12,7 @@ import * as i0 from "@angular/core";
|
|
|
12
12
|
import * as i1 from "@angular/material/form-field";
|
|
13
13
|
import * as i2 from "@angular/material/datepicker";
|
|
14
14
|
import * as i3 from "@angular/forms";
|
|
15
|
-
export class
|
|
15
|
+
export class DateRangePickerControl extends BaseCtrl {
|
|
16
16
|
constructor() {
|
|
17
17
|
super(...arguments);
|
|
18
18
|
this.disabledDays = input([]);
|
|
@@ -77,16 +77,16 @@ export class DateRangePickerComponent extends BaseCtrl {
|
|
|
77
77
|
end: this.#getFormatedEndDate(end)
|
|
78
78
|
};
|
|
79
79
|
}
|
|
80
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type:
|
|
81
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.1.0", type:
|
|
80
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: DateRangePickerControl, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
81
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.1.0", type: DateRangePickerControl, isStandalone: true, selector: "iss-ctrl-date-range-picker", inputs: { disabledDays: { classPropertyName: "disabledDays", publicName: "disabledDays", isSignal: true, isRequired: false, transformFunction: null }, minDate: { classPropertyName: "minDate", publicName: "minDate", isSignal: true, isRequired: false, transformFunction: null }, maxDate: { classPropertyName: "maxDate", publicName: "maxDate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onDateRangeObjectChange: "onDateRangeObjectChange" }, providers: [
|
|
82
82
|
DatePipe,
|
|
83
83
|
{ provide: DateAdapter, useClass: ISSDateAdapter },
|
|
84
84
|
{ provide: MAT_DATE_FORMATS, useValue: DATE_FORMAT_ADAPTER },
|
|
85
85
|
{ provide: MAT_DATE_LOCALE, useValue: enGB },
|
|
86
|
-
{ provide: NG_VALUE_ACCESSOR, useExisting:
|
|
86
|
+
{ provide: NG_VALUE_ACCESSOR, useExisting: DateRangePickerControl, multi: true },
|
|
87
87
|
], usesInheritance: true, ngImport: i0, template: "<mat-form-field>\r\n <mat-date-range-input\r\n [formGroup]=\"range\"\r\n [rangePicker]=\"picker\"\r\n [min]=\"minDate()\"\r\n [max]=\"maxDate()\"\r\n [dateFilter]=\"calendarDaysFilter\"\r\n >\r\n <input\r\n matStartDate\r\n formControlName=\"start\"\r\n placeholder=\"dd/mm/yyyy\"\r\n (click)=\"picker.open(); markAsTouched()\"\r\n />\r\n <input\r\n matEndDate\r\n formControlName=\"end\"\r\n placeholder=\"dd/mm/yyyy\"\r\n (click)=\"picker.open(); markAsTouched()\"\r\n />\r\n </mat-date-range-input>\r\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\r\n <mat-date-range-picker #picker></mat-date-range-picker>\r\n</mat-form-field>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i2.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i2.MatDateRangeInput, selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i2.MatStartDate, selector: "input[matStartDate]", outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i2.MatEndDate, selector: "input[matEndDate]", outputs: ["dateChange", "dateInput"] }, { kind: "component", type: i2.MatDateRangePicker, selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] }); }
|
|
88
88
|
}
|
|
89
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type:
|
|
89
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: DateRangePickerControl, decorators: [{
|
|
90
90
|
type: Component,
|
|
91
91
|
args: [{ selector: "iss-ctrl-date-range-picker", standalone: true, imports: [
|
|
92
92
|
MatFormFieldModule, MatDatepickerModule, FormsModule, ReactiveFormsModule,
|
|
@@ -95,7 +95,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
|
|
|
95
95
|
{ provide: DateAdapter, useClass: ISSDateAdapter },
|
|
96
96
|
{ provide: MAT_DATE_FORMATS, useValue: DATE_FORMAT_ADAPTER },
|
|
97
97
|
{ provide: MAT_DATE_LOCALE, useValue: enGB },
|
|
98
|
-
{ provide: NG_VALUE_ACCESSOR, useExisting:
|
|
98
|
+
{ provide: NG_VALUE_ACCESSOR, useExisting: DateRangePickerControl, multi: true },
|
|
99
99
|
], template: "<mat-form-field>\r\n <mat-date-range-input\r\n [formGroup]=\"range\"\r\n [rangePicker]=\"picker\"\r\n [min]=\"minDate()\"\r\n [max]=\"maxDate()\"\r\n [dateFilter]=\"calendarDaysFilter\"\r\n >\r\n <input\r\n matStartDate\r\n formControlName=\"start\"\r\n placeholder=\"dd/mm/yyyy\"\r\n (click)=\"picker.open(); markAsTouched()\"\r\n />\r\n <input\r\n matEndDate\r\n formControlName=\"end\"\r\n placeholder=\"dd/mm/yyyy\"\r\n (click)=\"picker.open(); markAsTouched()\"\r\n />\r\n </mat-date-range-input>\r\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\r\n <mat-date-range-picker #picker></mat-date-range-picker>\r\n</mat-form-field>\r\n" }]
|
|
100
100
|
}] });
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXNzLWN0cmwvc3JjL2NvbXBvbmVudHMvZGF0ZS1yYW5nZS1waWNrZXIvZGF0ZS1yYW5nZS1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXNzLWN0cmwvc3JjL2NvbXBvbmVudHMvZGF0ZS1yYW5nZS1waWNrZXIvZGF0ZS1yYW5nZS1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFrQyxNQUFNLEVBQW1CLE1BQU0sZUFBZSxDQUFDO0FBQ2pILE9BQU8sRUFBQyxXQUFXLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNHLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDdEMsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDdEYsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDakUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFDLG1CQUFtQixFQUFFLGNBQWMsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ2hGLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNyQyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDOzs7OztBQW1CbEMsTUFBTSxPQUFPLHdCQUF5QixTQUFRLFFBQVE7SUFoQnREOztRQWlCRSxpQkFBWSxHQUEwQixLQUFLLENBQVcsRUFBRSxDQUFDLENBQUM7UUFDMUQsWUFBTyxHQUE2QixLQUFLLENBQWMsSUFBSSxDQUFDLENBQUM7UUFDN0QsWUFBTyxHQUE2QixLQUFLLENBQWMsSUFBSSxDQUFDLENBQUM7UUFDN0QsNEJBQXVCLEdBQThDLE1BQU0sRUFBRSxDQUFDO1FBQ3JFLFVBQUssR0FBYyxJQUFJLFNBQVMsQ0FBQztZQUN4QyxLQUFLLEVBQUUsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDO1lBQzVCLEdBQUcsRUFBRSxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUM7U0FDM0IsQ0FBQyxDQUFDO1FBQ0gsY0FBUyxHQUFhLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN2QyxTQUFJLEdBQWlCLElBQUksWUFBWSxFQUFFLENBQUM7UUE0QjlCLHVCQUFrQixHQUFHLENBQUMsQ0FBYyxFQUFXLEVBQUU7WUFDekQsTUFBTSxHQUFHLEdBQVcsQ0FBQyxDQUFDLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQy9DLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUM5QyxDQUFDLENBQUM7S0E4Qkg7SUE5REMsU0FBUyxDQUE4QjtJQUN2QyxJQUFJLENBQW9DO0lBRXhDLFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FDWCxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUMzQyxJQUFJLE1BQU0sQ0FBQyxLQUFLLElBQUksTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUMvQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUNqRSxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ3ZGLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVRLFVBQVUsQ0FBQyxLQUErQjtRQUNqRCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzlCLE1BQU0sTUFBTSxHQUFhLEtBQUssRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDM0MsTUFBTSxNQUFNLEdBQUc7Z0JBQ2IsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7Z0JBQ2hCLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO2FBQ2YsQ0FBQztZQUNGLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDO1FBQ3BELENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQU9ELFlBQVksQ0FBQyxTQUFlLEVBQUUsT0FBYTtRQUN6QyxJQUFJLEtBQUssR0FBVyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNsRCxJQUFJLEdBQUcsR0FBVyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM5QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsSUFBVTtRQUN6QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxxQkFBcUIsQ0FBQyxHQUFHLEdBQUcsQ0FBQztJQUNyRSxDQUFDO0lBRUQsbUJBQW1CLENBQUMsT0FBYTtRQUMvQixJQUFJLFNBQVMsR0FBUyxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3ZFLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxLQUFXLEVBQUUsR0FBUztRQUN0QyxJQUFJLGFBQWEsR0FBVyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekQsSUFBSSxXQUFXLEdBQVcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hELE9BQU8sR0FBRyxhQUFhLElBQUksV0FBVyxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVELGtCQUFrQixDQUFDLEtBQVcsRUFBRSxHQUFTO1FBQ3ZDLE9BQU87WUFDTCxRQUFRLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDO1lBQ3ZDLEtBQUssRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO1lBQ25DLEdBQUcsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDO1NBQ25DLENBQUM7SUFDSixDQUFDOzhHQXRFVSx3QkFBd0I7a0dBQXhCLHdCQUF3QiwraEJBUnhCO1lBQ1QsUUFBUTtZQUNSLEVBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFDO1lBQ2hELEVBQUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxtQkFBbUIsRUFBQztZQUMxRCxFQUFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBQztZQUMxQyxFQUFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsd0JBQXdCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBQztTQUNqRixpREMxQkgsbXVCQXdCQSx5RERSSSxrQkFBa0IsMFdBQUUsbUJBQW1CLG96QkFBRSxXQUFXLGtqQkFBRSxtQkFBbUI7OzJGQVloRSx3QkFBd0I7a0JBaEJwQyxTQUFTOytCQUNFLDRCQUE0QixjQUMxQixJQUFJLFdBQ1A7d0JBQ1Asa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLG1CQUFtQjtxQkFDMUUsYUFHVTt3QkFDVCxRQUFRO3dCQUNSLEVBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFDO3dCQUNoRCxFQUFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsbUJBQW1CLEVBQUM7d0JBQzFELEVBQUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFDO3dCQUMxQyxFQUFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLDBCQUEwQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUM7cUJBQ2pGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIGluamVjdCwgaW5wdXQsIElucHV0U2lnbmFsLCBPbkRlc3Ryb3ksIE9uSW5pdCwgb3V0cHV0LCBPdXRwdXRFbWl0dGVyUmVmfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0Zvcm1Db250cm9sLCBGb3JtR3JvdXAsIEZvcm1zTW9kdWxlLCBOR19WQUxVRV9BQ0NFU1NPUiwgUmVhY3RpdmVGb3Jtc01vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7QmFzZUN0cmx9IGZyb20gXCIuLi9iYXNlLWN0cmxcIjtcclxuaW1wb3J0IHtEYXRlUGlwZX0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQge0RhdGVBZGFwdGVyLCBNQVRfREFURV9GT1JNQVRTLCBNQVRfREFURV9MT0NBTEV9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9jb3JlXCI7XHJcbmltcG9ydCB7TWF0RGF0ZXBpY2tlck1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXJcIjtcclxuaW1wb3J0IHtNYXRGb3JtRmllbGRNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkXCI7XHJcbmltcG9ydCB7REFURV9GT1JNQVRfQURBUFRFUiwgSVNTRGF0ZUFkYXB0ZXJ9IGZyb20gXCIuLi9kYXRlLXBpY2tlci9kYXRlLWFkYXB0ZXJcIjtcclxuaW1wb3J0IHtlbkdCfSBmcm9tIFwiZGF0ZS1mbnMvbG9jYWxlXCI7XHJcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQge0RhdGVSYW5nZUVtaXNzaW9uT2JqZWN0fSBmcm9tIFwiLi4vLi4vaW50ZXJmYWNlcy9kYXRlLXJhbmdlLWVtaXNzaW9uLW9iamVjdFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiaXNzLWN0cmwtZGF0ZS1yYW5nZS1waWNrZXJcIixcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSwgTWF0RGF0ZXBpY2tlck1vZHVsZSwgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogXCIuL2RhdGUtcmFuZ2UtcGlja2VyLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmw6IFwiLi9kYXRlLXJhbmdlLXBpY2tlci5jb21wb25lbnQuc2Nzc1wiLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgRGF0ZVBpcGUsXHJcbiAgICB7cHJvdmlkZTogRGF0ZUFkYXB0ZXIsIHVzZUNsYXNzOiBJU1NEYXRlQWRhcHRlcn0sXHJcbiAgICB7cHJvdmlkZTogTUFUX0RBVEVfRk9STUFUUywgdXNlVmFsdWU6IERBVEVfRk9STUFUX0FEQVBURVJ9LFxyXG4gICAge3Byb3ZpZGU6IE1BVF9EQVRFX0xPQ0FMRSwgdXNlVmFsdWU6IGVuR0J9LFxyXG4gICAge3Byb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLCB1c2VFeGlzdGluZzogRGF0ZVJhbmdlUGlja2VyQ29tcG9uZW50LCBtdWx0aTogdHJ1ZX0sXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGF0ZVJhbmdlUGlja2VyQ29tcG9uZW50IGV4dGVuZHMgQmFzZUN0cmwgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgZGlzYWJsZWREYXlzOiBJbnB1dFNpZ25hbDxudW1iZXJbXT4gPSBpbnB1dDxudW1iZXJbXT4oW10pO1xyXG4gIG1pbkRhdGU6IElucHV0U2lnbmFsPERhdGUgfCBudWxsPiA9IGlucHV0PERhdGUgfCBudWxsPihudWxsKTtcclxuICBtYXhEYXRlOiBJbnB1dFNpZ25hbDxEYXRlIHwgbnVsbD4gPSBpbnB1dDxEYXRlIHwgbnVsbD4obnVsbCk7XHJcbiAgb25EYXRlUmFuZ2VPYmplY3RDaGFuZ2U6IE91dHB1dEVtaXR0ZXJSZWY8RGF0ZVJhbmdlRW1pc3Npb25PYmplY3Q+ID0gb3V0cHV0KCk7XHJcbiAgcmVhZG9ubHkgcmFuZ2U6IEZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoe1xyXG4gICAgc3RhcnQ6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcclxuICAgIGVuZDogbmV3IEZvcm1Db250cm9sKG51bGwpLFxyXG4gIH0pO1xyXG4gICNkYXRlUGlwZTogRGF0ZVBpcGUgPSBpbmplY3QoRGF0ZVBpcGUpO1xyXG4gICNzdWI6IFN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLiNzdWIuYWRkKFxyXG4gICAgICB0aGlzLnJhbmdlLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHZhbHVlcykgPT4ge1xyXG4gICAgICAgIGlmICh2YWx1ZXMuc3RhcnQgJiYgdmFsdWVzLmVuZCkge1xyXG4gICAgICAgICAgdGhpcy5lbWl0VmFsdWUodGhpcy4jZ2V0RW1pc3Npb25WYWx1ZSh2YWx1ZXMuc3RhcnQsIHZhbHVlcy5lbmQpKTtcclxuICAgICAgICAgIHRoaXMub25EYXRlUmFuZ2VPYmplY3RDaGFuZ2UuZW1pdCh0aGlzLiNnZXRFbWlzc2lvbk9iamVjdCh2YWx1ZXMuc3RhcnQsIHZhbHVlcy5lbmQpKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nIHwgRm9ybURhdGEgfCBudWxsKSB7XHJcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSBcInN0cmluZ1wiKSB7XHJcbiAgICAgIGNvbnN0IHZhbEFycjogc3RyaW5nW10gPSB2YWx1ZT8uc3BsaXQoXCIsXCIpO1xyXG4gICAgICBjb25zdCB2YWxPYmogPSB7XHJcbiAgICAgICAgc3RhcnQ6IHZhbEFyclswXSxcclxuICAgICAgICBlbmQ6IHZhbEFyclsxXSxcclxuICAgICAgfTtcclxuICAgICAgdGhpcy5yYW5nZS5wYXRjaFZhbHVlKHZhbE9iaiwge2VtaXRFdmVudDogZmFsc2V9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy4jc3ViLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgY2FsZW5kYXJEYXlzRmlsdGVyID0gKGQ6IERhdGUgfCBudWxsKTogYm9vbGVhbiA9PiB7XHJcbiAgICBjb25zdCBkYXk6IG51bWJlciA9IChkIHx8IG5ldyBEYXRlKCkpLmdldERheSgpO1xyXG4gICAgcmV0dXJuICEodGhpcy5kaXNhYmxlZERheXMoKS5pbmNsdWRlcyhkYXkpKTtcclxuICB9O1xyXG5cclxuICAjZ2V0RHVyYXRpb24oc3RhcnREYXRlOiBEYXRlLCBlbmREYXRlOiBEYXRlKSB7XHJcbiAgICBsZXQgc3RhcnQ6IG51bWJlciA9IG5ldyBEYXRlKHN0YXJ0RGF0ZSkuZ2V0VGltZSgpO1xyXG4gICAgbGV0IGVuZDogbnVtYmVyID0gbmV3IERhdGUoZW5kRGF0ZSkuZ2V0VGltZSgpO1xyXG4gICAgcmV0dXJuIE1hdGguY2VpbCgoZW5kIC0gc3RhcnQpIC8gKDEwMDAgKiA2MCAqIDYwICogMjQpICsgMSk7XHJcbiAgfVxyXG5cclxuICAjZ2V0Rm9ybWF0ZWREYXRlKGRhdGU6IERhdGUpIHtcclxuICAgIHJldHVybiB0aGlzLiNkYXRlUGlwZS50cmFuc2Zvcm0oZGF0ZSwgXCJ5eXl5LU1NLWRkVEhIOm1tOnNzXCIpICsgXCJaXCI7XHJcbiAgfVxyXG5cclxuICAjZ2V0Rm9ybWF0ZWRFbmREYXRlKGVuZERhdGU6IERhdGUpIHtcclxuICAgIGxldCBpbnB1dERhdGU6IERhdGUgPSBuZXcgRGF0ZShuZXcgRGF0ZShlbmREYXRlKS5zZXRIb3VycygyMywgNTksIDU5KSk7XHJcbiAgICByZXR1cm4gdGhpcy4jZ2V0Rm9ybWF0ZWREYXRlKGlucHV0RGF0ZSk7XHJcbiAgfVxyXG5cclxuICAjZ2V0RW1pc3Npb25WYWx1ZShzdGFydDogRGF0ZSwgZW5kOiBEYXRlKTogc3RyaW5nIHtcclxuICAgIGxldCBmb3JtYXRlZFN0YXJ0OiBzdHJpbmcgPSB0aGlzLiNnZXRGb3JtYXRlZERhdGUoc3RhcnQpO1xyXG4gICAgbGV0IGZvcm1hdGVkRW5kOiBzdHJpbmcgPSB0aGlzLiNnZXRGb3JtYXRlZEVuZERhdGUoZW5kKTtcclxuICAgIHJldHVybiBgJHtmb3JtYXRlZFN0YXJ0fSwke2Zvcm1hdGVkRW5kfWA7XHJcbiAgfVxyXG5cclxuICAjZ2V0RW1pc3Npb25PYmplY3Qoc3RhcnQ6IERhdGUsIGVuZDogRGF0ZSk6IERhdGVSYW5nZUVtaXNzaW9uT2JqZWN0IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGR1cmF0aW9uOiB0aGlzLiNnZXREdXJhdGlvbihzdGFydCwgZW5kKSxcclxuICAgICAgc3RhcnQ6IHRoaXMuI2dldEZvcm1hdGVkRGF0ZShzdGFydCksXHJcbiAgICAgIGVuZDogdGhpcy4jZ2V0Rm9ybWF0ZWRFbmREYXRlKGVuZClcclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiIsIjxtYXQtZm9ybS1maWVsZD5cclxuICA8bWF0LWRhdGUtcmFuZ2UtaW5wdXRcclxuICAgIFtmb3JtR3JvdXBdPVwicmFuZ2VcIlxyXG4gICAgW3JhbmdlUGlja2VyXT1cInBpY2tlclwiXHJcbiAgICBbbWluXT1cIm1pbkRhdGUoKVwiXHJcbiAgICBbbWF4XT1cIm1heERhdGUoKVwiXHJcbiAgICBbZGF0ZUZpbHRlcl09XCJjYWxlbmRhckRheXNGaWx0ZXJcIlxyXG4gID5cclxuICAgIDxpbnB1dFxyXG4gICAgICBtYXRTdGFydERhdGVcclxuICAgICAgZm9ybUNvbnRyb2xOYW1lPVwic3RhcnRcIlxyXG4gICAgICBwbGFjZWhvbGRlcj1cImRkL21tL3l5eXlcIlxyXG4gICAgICAoY2xpY2spPVwicGlja2VyLm9wZW4oKTsgbWFya0FzVG91Y2hlZCgpXCJcclxuICAgIC8+XHJcbiAgICA8aW5wdXRcclxuICAgICAgbWF0RW5kRGF0ZVxyXG4gICAgICBmb3JtQ29udHJvbE5hbWU9XCJlbmRcIlxyXG4gICAgICBwbGFjZWhvbGRlcj1cImRkL21tL3l5eXlcIlxyXG4gICAgICAoY2xpY2spPVwicGlja2VyLm9wZW4oKTsgbWFya0FzVG91Y2hlZCgpXCJcclxuICAgIC8+XHJcbiAgPC9tYXQtZGF0ZS1yYW5nZS1pbnB1dD5cclxuICA8bWF0LWRhdGVwaWNrZXItdG9nZ2xlIG1hdFN1ZmZpeCBbZm9yXT1cInBpY2tlclwiPjwvbWF0LWRhdGVwaWNrZXItdG9nZ2xlPlxyXG4gIDxtYXQtZGF0ZS1yYW5nZS1waWNrZXIgI3BpY2tlcj48L21hdC1kYXRlLXJhbmdlLXBpY2tlcj5cclxuPC9tYXQtZm9ybS1maWVsZD5cclxuIl19
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXNzLWN0cmwvc3JjL2NvbXBvbmVudHMvZGF0ZS1yYW5nZS1waWNrZXIvZGF0ZS1yYW5nZS1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXNzLWN0cmwvc3JjL2NvbXBvbmVudHMvZGF0ZS1yYW5nZS1waWNrZXIvZGF0ZS1yYW5nZS1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFrQyxNQUFNLEVBQW1CLE1BQU0sZUFBZSxDQUFDO0FBQ2pILE9BQU8sRUFBQyxXQUFXLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNHLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDdEMsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDdEYsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDakUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFDLG1CQUFtQixFQUFFLGNBQWMsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ2hGLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNyQyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDOzs7OztBQW1CbEMsTUFBTSxPQUFPLHNCQUF1QixTQUFRLFFBQVE7SUFoQnBEOztRQWlCRSxpQkFBWSxH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QztTQUMvRSxpREMxQkgsbXVCQXdCQSx5RERSSSxrQkFBa0IsMFdBQUUsbUJBQW1CLG96QkFBRSxXQUFXLGtqQkFBRSxtQkFBbUI7OzJGQVloRSxzQkFBc0I7a0JBaEJsQyxTQUFTOytCQUNFLDRCQUE0QixjQUMxQixJQUFJLFdBQ1A7d0JBQ1Asa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLG1CQUFtQjtxQkFDMUUsYUFHVTt3QkFDVCxRQUFRO3dCQUNSLEVBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFDO3dCQUNoRCxFQUFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsbUJBQW1CLEVBQUM7d0JBQzFELEVBQUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFDO3dCQUMxQyxFQUFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLHdCQUF3QixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUM7cUJBQy9FIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIGluamVjdCwgaW5wdXQsIElucHV0U2lnbmFsLCBPbkRlc3Ryb3ksIE9uSW5pdCwgb3V0cHV0LCBPdXRwdXRFbWl0dGVyUmVmfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0Zvcm1Db250cm9sLCBGb3JtR3JvdXAsIEZvcm1zTW9kdWxlLCBOR19WQUxVRV9BQ0NFU1NPUiwgUmVhY3RpdmVGb3Jtc01vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7QmFzZUN0cmx9IGZyb20gXCIuLi9iYXNlLWN0cmxcIjtcclxuaW1wb3J0IHtEYXRlUGlwZX0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQge0RhdGVBZGFwdGVyLCBNQVRfREFURV9GT1JNQVRTLCBNQVRfREFURV9MT0NBTEV9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9jb3JlXCI7XHJcbmltcG9ydCB7TWF0RGF0ZXBpY2tlck1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXJcIjtcclxuaW1wb3J0IHtNYXRGb3JtRmllbGRNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkXCI7XHJcbmltcG9ydCB7REFURV9GT1JNQVRfQURBUFRFUiwgSVNTRGF0ZUFkYXB0ZXJ9IGZyb20gXCIuLi9kYXRlLXBpY2tlci9kYXRlLWFkYXB0ZXJcIjtcclxuaW1wb3J0IHtlbkdCfSBmcm9tIFwiZGF0ZS1mbnMvbG9jYWxlXCI7XHJcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQge0RhdGVSYW5nZUVtaXNzaW9uT2JqZWN0fSBmcm9tIFwiLi4vLi4vaW50ZXJmYWNlcy9kYXRlLXJhbmdlLWVtaXNzaW9uLW9iamVjdFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiaXNzLWN0cmwtZGF0ZS1yYW5nZS1waWNrZXJcIixcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSwgTWF0RGF0ZXBpY2tlck1vZHVsZSwgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogXCIuL2RhdGUtcmFuZ2UtcGlja2VyLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmw6IFwiLi9kYXRlLXJhbmdlLXBpY2tlci5jb21wb25lbnQuc2Nzc1wiLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgRGF0ZVBpcGUsXHJcbiAgICB7cHJvdmlkZTogRGF0ZUFkYXB0ZXIsIHVzZUNsYXNzOiBJU1NEYXRlQWRhcHRlcn0sXHJcbiAgICB7cHJvdmlkZTogTUFUX0RBVEVfRk9STUFUUywgdXNlVmFsdWU6IERBVEVfRk9STUFUX0FEQVBURVJ9LFxyXG4gICAge3Byb3ZpZGU6IE1BVF9EQVRFX0xPQ0FMRSwgdXNlVmFsdWU6IGVuR0J9LFxyXG4gICAge3Byb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLCB1c2VFeGlzdGluZzogRGF0ZVJhbmdlUGlja2VyQ29udHJvbCwgbXVsdGk6IHRydWV9LFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIERhdGVSYW5nZVBpY2tlckNvbnRyb2wgZXh0ZW5kcyBCYXNlQ3RybCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBkaXNhYmxlZERheXM6IElucHV0U2lnbmFsPG51bWJlcltdPiA9IGlucHV0PG51bWJlcltdPihbXSk7XHJcbiAgbWluRGF0ZTogSW5wdXRTaWduYWw8RGF0ZSB8IG51bGw+ID0gaW5wdXQ8RGF0ZSB8IG51bGw+KG51bGwpO1xyXG4gIG1heERhdGU6IElucHV0U2lnbmFsPERhdGUgfCBudWxsPiA9IGlucHV0PERhdGUgfCBudWxsPihudWxsKTtcclxuICBvbkRhdGVSYW5nZU9iamVjdENoYW5nZTogT3V0cHV0RW1pdHRlclJlZjxEYXRlUmFuZ2VFbWlzc2lvbk9iamVjdD4gPSBvdXRwdXQoKTtcclxuICByZWFkb25seSByYW5nZTogRm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cCh7XHJcbiAgICBzdGFydDogbmV3IEZvcm1Db250cm9sKG51bGwpLFxyXG4gICAgZW5kOiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXHJcbiAgfSk7XHJcbiAgI2RhdGVQaXBlOiBEYXRlUGlwZSA9IGluamVjdChEYXRlUGlwZSk7XHJcbiAgI3N1YjogU3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuI3N1Yi5hZGQoXHJcbiAgICAgIHRoaXMucmFuZ2UudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsdWVzKSA9PiB7XHJcbiAgICAgICAgaWYgKHZhbHVlcy5zdGFydCAmJiB2YWx1ZXMuZW5kKSB7XHJcbiAgICAgICAgICB0aGlzLmVtaXRWYWx1ZSh0aGlzLiNnZXRFbWlzc2lvblZhbHVlKHZhbHVlcy5zdGFydCwgdmFsdWVzLmVuZCkpO1xyXG4gICAgICAgICAgdGhpcy5vbkRhdGVSYW5nZU9iamVjdENoYW5nZS5lbWl0KHRoaXMuI2dldEVtaXNzaW9uT2JqZWN0KHZhbHVlcy5zdGFydCwgdmFsdWVzLmVuZCkpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcgfCBGb3JtRGF0YSB8IG51bGwpIHtcclxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIpIHtcclxuICAgICAgY29uc3QgdmFsQXJyOiBzdHJpbmdbXSA9IHZhbHVlPy5zcGxpdChcIixcIik7XHJcbiAgICAgIGNvbnN0IHZhbE9iaiA9IHtcclxuICAgICAgICBzdGFydDogdmFsQXJyWzBdLFxyXG4gICAgICAgIGVuZDogdmFsQXJyWzFdLFxyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLnJhbmdlLnBhdGNoVmFsdWUodmFsT2JqLCB7ZW1pdEV2ZW50OiBmYWxzZX0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLiNzdWIudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBjYWxlbmRhckRheXNGaWx0ZXIgPSAoZDogRGF0ZSB8IG51bGwpOiBib29sZWFuID0+IHtcclxuICAgIGNvbnN0IGRheTogbnVtYmVyID0gKGQgfHwgbmV3IERhdGUoKSkuZ2V0RGF5KCk7XHJcbiAgICByZXR1cm4gISh0aGlzLmRpc2FibGVkRGF5cygpLmluY2x1ZGVzKGRheSkpO1xyXG4gIH07XHJcblxyXG4gICNnZXREdXJhdGlvbihzdGFydERhdGU6IERhdGUsIGVuZERhdGU6IERhdGUpIHtcclxuICAgIGxldCBzdGFydDogbnVtYmVyID0gbmV3IERhdGUoc3RhcnREYXRlKS5nZXRUaW1lKCk7XHJcbiAgICBsZXQgZW5kOiBudW1iZXIgPSBuZXcgRGF0ZShlbmREYXRlKS5nZXRUaW1lKCk7XHJcbiAgICByZXR1cm4gTWF0aC5jZWlsKChlbmQgLSBzdGFydCkgLyAoMTAwMCAqIDYwICogNjAgKiAyNCkgKyAxKTtcclxuICB9XHJcblxyXG4gICNnZXRGb3JtYXRlZERhdGUoZGF0ZTogRGF0ZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuI2RhdGVQaXBlLnRyYW5zZm9ybShkYXRlLCBcInl5eXktTU0tZGRUSEg6bW06c3NcIikgKyBcIlpcIjtcclxuICB9XHJcblxyXG4gICNnZXRGb3JtYXRlZEVuZERhdGUoZW5kRGF0ZTogRGF0ZSkge1xyXG4gICAgbGV0IGlucHV0RGF0ZTogRGF0ZSA9IG5ldyBEYXRlKG5ldyBEYXRlKGVuZERhdGUpLnNldEhvdXJzKDIzLCA1OSwgNTkpKTtcclxuICAgIHJldHVybiB0aGlzLiNnZXRGb3JtYXRlZERhdGUoaW5wdXREYXRlKTtcclxuICB9XHJcblxyXG4gICNnZXRFbWlzc2lvblZhbHVlKHN0YXJ0OiBEYXRlLCBlbmQ6IERhdGUpOiBzdHJpbmcge1xyXG4gICAgbGV0IGZvcm1hdGVkU3RhcnQ6IHN0cmluZyA9IHRoaXMuI2dldEZvcm1hdGVkRGF0ZShzdGFydCk7XHJcbiAgICBsZXQgZm9ybWF0ZWRFbmQ6IHN0cmluZyA9IHRoaXMuI2dldEZvcm1hdGVkRW5kRGF0ZShlbmQpO1xyXG4gICAgcmV0dXJuIGAke2Zvcm1hdGVkU3RhcnR9LCR7Zm9ybWF0ZWRFbmR9YDtcclxuICB9XHJcblxyXG4gICNnZXRFbWlzc2lvbk9iamVjdChzdGFydDogRGF0ZSwgZW5kOiBEYXRlKTogRGF0ZVJhbmdlRW1pc3Npb25PYmplY3Qge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgZHVyYXRpb246IHRoaXMuI2dldER1cmF0aW9uKHN0YXJ0LCBlbmQpLFxyXG4gICAgICBzdGFydDogdGhpcy4jZ2V0Rm9ybWF0ZWREYXRlKHN0YXJ0KSxcclxuICAgICAgZW5kOiB0aGlzLiNnZXRGb3JtYXRlZEVuZERhdGUoZW5kKVxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIiwiPG1hdC1mb3JtLWZpZWxkPlxyXG4gIDxtYXQtZGF0ZS1yYW5nZS1pbnB1dFxyXG4gICAgW2Zvcm1Hcm91cF09XCJyYW5nZVwiXHJcbiAgICBbcmFuZ2VQaWNrZXJdPVwicGlja2VyXCJcclxuICAgIFttaW5dPVwibWluRGF0ZSgpXCJcclxuICAgIFttYXhdPVwibWF4RGF0ZSgpXCJcclxuICAgIFtkYXRlRmlsdGVyXT1cImNhbGVuZGFyRGF5c0ZpbHRlclwiXHJcbiAgPlxyXG4gICAgPGlucHV0XHJcbiAgICAgIG1hdFN0YXJ0RGF0ZVxyXG4gICAgICBmb3JtQ29udHJvbE5hbWU9XCJzdGFydFwiXHJcbiAgICAgIHBsYWNlaG9sZGVyPVwiZGQvbW0veXl5eVwiXHJcbiAgICAgIChjbGljayk9XCJwaWNrZXIub3BlbigpOyBtYXJrQXNUb3VjaGVkKClcIlxyXG4gICAgLz5cclxuICAgIDxpbnB1dFxyXG4gICAgICBtYXRFbmREYXRlXHJcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cImVuZFwiXHJcbiAgICAgIHBsYWNlaG9sZGVyPVwiZGQvbW0veXl5eVwiXHJcbiAgICAgIChjbGljayk9XCJwaWNrZXIub3BlbigpOyBtYXJrQXNUb3VjaGVkKClcIlxyXG4gICAgLz5cclxuICA8L21hdC1kYXRlLXJhbmdlLWlucHV0PlxyXG4gIDxtYXQtZGF0ZXBpY2tlci10b2dnbGUgbWF0U3VmZml4IFtmb3JdPVwicGlja2VyXCI+PC9tYXQtZGF0ZXBpY2tlci10b2dnbGU+XHJcbiAgPG1hdC1kYXRlLXJhbmdlLXBpY2tlciAjcGlja2VyPjwvbWF0LWRhdGUtcmFuZ2UtcGlja2VyPlxyXG48L21hdC1mb3JtLWZpZWxkPlxyXG4iXX0=
|
|
@@ -9,11 +9,11 @@ import { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from "@angular/materia
|
|
|
9
9
|
import { DATE_FORMAT_ADAPTER, ISSDateAdapter } from "../date-picker/date-adapter";
|
|
10
10
|
import { enGB } from "date-fns/locale";
|
|
11
11
|
import { toSignal } from "@angular/core/rxjs-interop";
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
12
|
+
import { TimePickerControl } from "../time-picker/time-picker.component";
|
|
13
|
+
import { DatePickerControl } from "../date-picker/date-picker.component";
|
|
14
14
|
import * as i0 from "@angular/core";
|
|
15
15
|
import * as i1 from "@angular/forms";
|
|
16
|
-
export class
|
|
16
|
+
export class DatetimePickerControl extends BaseCtrl {
|
|
17
17
|
constructor() {
|
|
18
18
|
super(...arguments);
|
|
19
19
|
this.disabledDays = input([]);
|
|
@@ -46,16 +46,16 @@ export class DatetimePickerComponent extends BaseCtrl {
|
|
|
46
46
|
#formatDate(date) {
|
|
47
47
|
return this.#datePipe.transform(date, "yyyy-MM-ddTHH:mm:ss") + "Z";
|
|
48
48
|
}
|
|
49
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type:
|
|
50
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.1.0", type:
|
|
49
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: DatetimePickerControl, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
50
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.1.0", type: DatetimePickerControl, isStandalone: true, selector: "iss-ctrl-datetime-picker", inputs: { disabledDays: { classPropertyName: "disabledDays", publicName: "disabledDays", isSignal: true, isRequired: false, transformFunction: null }, minDate: { classPropertyName: "minDate", publicName: "minDate", isSignal: true, isRequired: false, transformFunction: null }, maxDate: { classPropertyName: "maxDate", publicName: "maxDate", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
|
|
51
51
|
DatePipe,
|
|
52
52
|
{ provide: DateAdapter, useClass: ISSDateAdapter },
|
|
53
53
|
{ provide: MAT_DATE_FORMATS, useValue: DATE_FORMAT_ADAPTER },
|
|
54
54
|
{ provide: MAT_DATE_LOCALE, useValue: enGB },
|
|
55
|
-
{ provide: NG_VALUE_ACCESSOR, useExisting:
|
|
56
|
-
], usesInheritance: true, ngImport: i0, template: "<form [formGroup]=\"datetimePicker\" class=\"d-flex gap-3\">\r\n <iss-ctrl-date-picker class=\"flex-grow-1\" formControlName=\"date\" [minDate]=\"minDate()\" [maxDate]=\"maxDate()\" [disabledDays]=\"disabledDays()\"/>\r\n <iss-ctrl-time-picker class=\"flex-grow-1\" formControlName=\"time\" [min]=\"min()\" [max]=\"max()\"/>\r\n</form>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type:
|
|
55
|
+
{ provide: NG_VALUE_ACCESSOR, useExisting: DatetimePickerControl, multi: true }
|
|
56
|
+
], usesInheritance: true, ngImport: i0, template: "<form [formGroup]=\"datetimePicker\" class=\"d-flex gap-3\">\r\n <iss-ctrl-date-picker class=\"flex-grow-1\" formControlName=\"date\" [minDate]=\"minDate()\" [maxDate]=\"maxDate()\" [disabledDays]=\"disabledDays()\"/>\r\n <iss-ctrl-time-picker class=\"flex-grow-1\" formControlName=\"time\" [min]=\"min()\" [max]=\"max()\"/>\r\n</form>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: TimePickerControl, selector: "iss-ctrl-time-picker" }, { kind: "component", type: DatePickerControl, selector: "iss-ctrl-date-picker", inputs: ["disabledDays", "minDate", "maxDate"] }] }); }
|
|
57
57
|
}
|
|
58
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type:
|
|
58
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: DatetimePickerControl, decorators: [{
|
|
59
59
|
type: Component,
|
|
60
60
|
args: [{ selector: "iss-ctrl-datetime-picker", standalone: true, imports: [
|
|
61
61
|
FormsModule,
|
|
@@ -66,14 +66,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
|
|
|
66
66
|
MatInput,
|
|
67
67
|
MatSuffix,
|
|
68
68
|
ReactiveFormsModule,
|
|
69
|
-
|
|
70
|
-
|
|
69
|
+
TimePickerControl,
|
|
70
|
+
DatePickerControl
|
|
71
71
|
], providers: [
|
|
72
72
|
DatePipe,
|
|
73
73
|
{ provide: DateAdapter, useClass: ISSDateAdapter },
|
|
74
74
|
{ provide: MAT_DATE_FORMATS, useValue: DATE_FORMAT_ADAPTER },
|
|
75
75
|
{ provide: MAT_DATE_LOCALE, useValue: enGB },
|
|
76
|
-
{ provide: NG_VALUE_ACCESSOR, useExisting:
|
|
76
|
+
{ provide: NG_VALUE_ACCESSOR, useExisting: DatetimePickerControl, multi: true }
|
|
77
77
|
], template: "<form [formGroup]=\"datetimePicker\" class=\"d-flex gap-3\">\r\n <iss-ctrl-date-picker class=\"flex-grow-1\" formControlName=\"date\" [minDate]=\"minDate()\" [maxDate]=\"maxDate()\" [disabledDays]=\"disabledDays()\"/>\r\n <iss-ctrl-time-picker class=\"flex-grow-1\" formControlName=\"time\" [min]=\"min()\" [max]=\"max()\"/>\r\n</form>\r\n" }]
|
|
78
78
|
}] });
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUtcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lzcy1jdHJsL3NyYy9jb21wb25lbnRzL2RhdGV0aW1lLXBpY2tlci9kYXRldGltZS1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXNzLWN0cmwvc3JjL2NvbXBvbmVudHMvZGF0ZXRpbWUtcGlja2VyL2RhdGV0aW1lLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBYSxNQUFNLEVBQUUsS0FBSyxFQUF5QixNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ3RDLE9BQU8sRUFBQyxXQUFXLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNHLE9BQU8sRUFBQyxhQUFhLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNwRyxPQUFPLEVBQUMsWUFBWSxFQUFFLFNBQVMsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3JFLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFDLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RixPQUFPLEVBQUMsbUJBQW1CLEVBQUUsY0FBYyxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDaEYsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3JDLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSw0QkFBNEIs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bkIsWUFBWTt3QkFDWixRQUFRO3dCQUNSLFNBQVM7d0JBQ1QsbUJBQW1CO3dCQUNuQixpQkFBaUI7d0JBQ2pCLGlCQUFpQjtxQkFDbEIsYUFHVTt3QkFDVCxRQUFRO3dCQUNSLEVBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFDO3dCQUNoRCxFQUFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsbUJBQW1CLEVBQUM7d0JBQzFELEVBQUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFDO3dCQUMxQyxFQUFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLHVCQUF1QixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUM7cUJBQzlFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIGVmZmVjdCwgRWZmZWN0UmVmLCBpbmplY3QsIGlucHV0LCBJbnB1dFNpZ25hbCwgT25EZXN0cm95fSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0Jhc2VDdHJsfSBmcm9tIFwiLi4vYmFzZS1jdHJsXCI7XHJcbmltcG9ydCB7Rm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgRm9ybXNNb2R1bGUsIE5HX1ZBTFVFX0FDQ0VTU09SLCBSZWFjdGl2ZUZvcm1zTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHtNYXREYXRlcGlja2VyLCBNYXREYXRlcGlja2VySW5wdXQsIE1hdERhdGVwaWNrZXJUb2dnbGV9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyXCI7XHJcbmltcG9ydCB7TWF0Rm9ybUZpZWxkLCBNYXRTdWZmaXh9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkXCI7XHJcbmltcG9ydCB7TWF0SW5wdXR9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9pbnB1dFwiO1xyXG5pbXBvcnQge0RhdGVQaXBlfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7RGF0ZUFkYXB0ZXIsIE1BVF9EQVRFX0ZPUk1BVFMsIE1BVF9EQVRFX0xPQ0FMRX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2NvcmVcIjtcclxuaW1wb3J0IHtEQVRFX0ZPUk1BVF9BREFQVEVSLCBJU1NEYXRlQWRhcHRlcn0gZnJvbSBcIi4uL2RhdGUtcGlja2VyL2RhdGUtYWRhcHRlclwiO1xyXG5pbXBvcnQge2VuR0J9IGZyb20gXCJkYXRlLWZucy9sb2NhbGVcIjtcclxuaW1wb3J0IHt0b1NpZ25hbH0gZnJvbSBcIkBhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wXCI7XHJcbmltcG9ydCB7VGltZVBpY2tlckNvbnRyb2x9IGZyb20gXCIuLi90aW1lLXBpY2tlci90aW1lLXBpY2tlci5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtEYXRlUGlja2VyQ29udHJvbH0gZnJvbSBcIi4uL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLmNvbXBvbmVudFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiaXNzLWN0cmwtZGF0ZXRpbWUtcGlja2VyXCIsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIE1hdERhdGVwaWNrZXIsXHJcbiAgICBNYXREYXRlcGlja2VySW5wdXQsXHJcbiAgICBNYXREYXRlcGlja2VyVG9nZ2xlLFxyXG4gICAgTWF0Rm9ybUZpZWxkLFxyXG4gICAgTWF0SW5wdXQsXHJcbiAgICBNYXRTdWZmaXgsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgVGltZVBpY2tlckNvbnRyb2wsXHJcbiAgICBEYXRlUGlja2VyQ29udHJvbFxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9kYXRldGltZS1waWNrZXIuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybDogXCIuL2RhdGV0aW1lLXBpY2tlci5jb21wb25lbnQuc2Nzc1wiLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgRGF0ZVBpcGUsXHJcbiAgICB7cHJvdmlkZTogRGF0ZUFkYXB0ZXIsIHVzZUNsYXNzOiBJU1NEYXRlQWRhcHRlcn0sXHJcbiAgICB7cHJvdmlkZTogTUFUX0RBVEVfRk9STUFUUywgdXNlVmFsdWU6IERBVEVfRk9STUFUX0FEQVBURVJ9LFxyXG4gICAge3Byb3ZpZGU6IE1BVF9EQVRFX0xPQ0FMRSwgdXNlVmFsdWU6IGVuR0J9LFxyXG4gICAge3Byb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLCB1c2VFeGlzdGluZzogRGF0ZXRpbWVQaWNrZXJDb250cm9sLCBtdWx0aTogdHJ1ZX1cclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEYXRldGltZVBpY2tlckNvbnRyb2wgZXh0ZW5kcyBCYXNlQ3RybCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgZGlzYWJsZWREYXlzOiBJbnB1dFNpZ25hbDxudW1iZXJbXT4gPSBpbnB1dDxudW1iZXJbXT4oW10pO1xyXG4gIG1pbkRhdGU6IElucHV0U2lnbmFsPERhdGUgfCBudWxsPiA9IGlucHV0PERhdGUgfCBudWxsPihudWxsKTtcclxuICBtYXhEYXRlOiBJbnB1dFNpZ25hbDxEYXRlIHwgbnVsbD4gPSBpbnB1dDxEYXRlIHwgbnVsbD4obnVsbCk7XHJcbiAgZGF0ZXRpbWVQaWNrZXI6IEZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoe1xyXG4gICAgZGF0ZTogbmV3IEZvcm1Db250cm9sKCksXHJcbiAgICB0aW1lOiBuZXcgRm9ybUNvbnRyb2woKSxcclxuICB9KTtcclxuICAjZGF0ZVBpcGU6IERhdGVQaXBlID0gaW5qZWN0KERhdGVQaXBlKTtcclxuICAjZm9ybUNoYW5nZXMgPSB0b1NpZ25hbCh0aGlzLmRhdGV0aW1lUGlja2VyLnZhbHVlQ2hhbmdlcyk7XHJcbiAgI2VmZmVjdFJlZjogRWZmZWN0UmVmID0gZWZmZWN0KCgpID0+IHtcclxuICAgIGlmICh0aGlzLiNmb3JtQ2hhbmdlcygpICYmIHRoaXMuI2Zvcm1DaGFuZ2VzKCkuZGF0ZSAmJiB0aGlzLiNmb3JtQ2hhbmdlcygpLnRpbWUpIHtcclxuICAgICAgdGhpcy5lbWl0VmFsdWUodGhpcy4jZ2V0RW1pc3Npb25WYWx1ZSh0aGlzLiNmb3JtQ2hhbmdlcygpLmRhdGUsIHRoaXMuI2Zvcm1DaGFuZ2VzKCkudGltZSkpO1xyXG4gICAgfVxyXG4gIH0pO1xyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuI2VmZmVjdFJlZi5kZXN0cm95KCk7XHJcbiAgfVxyXG5cclxuICAjZ2V0RW1pc3Npb25WYWx1ZShkYXRlOiBzdHJpbmcsIHRpbWU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBkID0gbmV3IERhdGUoZGF0ZSk7XHJcbiAgICBsZXQgdGltZUFycjogc3RyaW5nW10gPSB0aW1lLnNwbGl0KFwiOlwiKTtcclxuICAgIGxldCBkYXRldGltZTogRGF0ZSA9IG5ldyBEYXRlKGQuc2V0SG91cnMoK3RpbWVBcnJbMF0sICt0aW1lQXJyWzFdLCAwKSk7XHJcbiAgICByZXR1cm4gdGhpcy4jZm9ybWF0RGF0ZShkYXRldGltZSk7XHJcbiAgfVxyXG5cclxuICAjZm9ybWF0RGF0ZShkYXRlOiBEYXRlIHwgbnVsbCkge1xyXG4gICAgcmV0dXJuIHRoaXMuI2RhdGVQaXBlLnRyYW5zZm9ybShkYXRlLCBcInl5eXktTU0tZGRUSEg6bW06c3NcIikgKyBcIlpcIjtcclxuICB9XHJcbn1cclxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJkYXRldGltZVBpY2tlclwiIGNsYXNzPVwiZC1mbGV4IGdhcC0zXCI+XHJcbiAgPGlzcy1jdHJsLWRhdGUtcGlja2VyIGNsYXNzPVwiZmxleC1ncm93LTFcIiBmb3JtQ29udHJvbE5hbWU9XCJkYXRlXCIgW21pbkRhdGVdPVwibWluRGF0ZSgpXCIgW21heERhdGVdPVwibWF4RGF0ZSgpXCIgW2Rpc2FibGVkRGF5c109XCJkaXNhYmxlZERheXMoKVwiLz5cclxuICA8aXNzLWN0cmwtdGltZS1waWNrZXIgY2xhc3M9XCJmbGV4LWdyb3ctMVwiIGZvcm1Db250cm9sTmFtZT1cInRpbWVcIiBbbWluXT1cIm1pbigpXCIgW21heF09XCJtYXgoKVwiLz5cclxuPC9mb3JtPlxyXG4iXX0=
|
|
@@ -2,16 +2,16 @@ import { Component } from "@angular/core";
|
|
|
2
2
|
import { BaseCtrl } from "../base-ctrl";
|
|
3
3
|
import { NG_VALUE_ACCESSOR } from "@angular/forms";
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
|
-
export class
|
|
6
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type:
|
|
7
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.0", type:
|
|
8
|
-
{ provide: NG_VALUE_ACCESSOR, useExisting:
|
|
5
|
+
export class DatetimeRangePickerControl extends BaseCtrl {
|
|
6
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: DatetimeRangePickerControl, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
7
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.0", type: DatetimeRangePickerControl, isStandalone: true, selector: "iss-ctrl-datetime-range-picker", providers: [
|
|
8
|
+
{ provide: NG_VALUE_ACCESSOR, useExisting: DatetimeRangePickerControl, multi: true }
|
|
9
9
|
], usesInheritance: true, ngImport: i0, template: "<p>datetime-range-picker works!</p>\r\n", styles: [""] }); }
|
|
10
10
|
}
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type:
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: DatetimeRangePickerControl, decorators: [{
|
|
12
12
|
type: Component,
|
|
13
13
|
args: [{ selector: "iss-ctrl-datetime-range-picker", standalone: true, imports: [], providers: [
|
|
14
|
-
{ provide: NG_VALUE_ACCESSOR, useExisting:
|
|
14
|
+
{ provide: NG_VALUE_ACCESSOR, useExisting: DatetimeRangePickerControl, multi: true }
|
|
15
15
|
], template: "<p>datetime-range-picker works!</p>\r\n" }]
|
|
16
16
|
}] });
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUtcmFuZ2UtcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lzcy1jdHJsL3NyYy9jb21wb25lbnRzL2RhdGV0aW1lLXJhbmdlLXBpY2tlci9kYXRldGltZS1yYW5nZS1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXNzLWN0cmwvc3JjL2NvbXBvbmVudHMvZGF0ZXRpbWUtcmFuZ2UtcGlja2VyL2RhdGV0aW1lLXJhbmdlLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDdEMsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7O0FBWWpELE1BQU0sT0FBTywwQkFBMkIsU0FBUSxRQUFROzhHQUEzQywwQkFBMEI7a0dBQTFCLDBCQUEwQiw2RUFKMUI7WUFDVCxFQUFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsMEJBQTBCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBQztTQUNuRixpRENaSCx5Q0FDQTs7MkZEYWEsMEJBQTBCO2tCQVZ0QyxTQUFTOytCQUNFLGdDQUFnQyxjQUM5QixJQUFJLFdBQ1AsRUFBRSxhQUdBO3dCQUNULEVBQUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsNEJBQTRCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBQztxQkFDbkYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtCYXNlQ3RybH0gZnJvbSBcIi4uL2Jhc2UtY3RybFwiO1xyXG5pbXBvcnQge05HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImlzcy1jdHJsLWRhdGV0aW1lLXJhbmdlLXBpY2tlclwiLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW10sXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9kYXRldGltZS1yYW5nZS1waWNrZXIuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybDogXCIuL2RhdGV0aW1lLXJhbmdlLXBpY2tlci5jb21wb25lbnQuc2Nzc1wiLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge3Byb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLCB1c2VFeGlzdGluZzogRGF0ZXRpbWVSYW5nZVBpY2tlckNvbnRyb2wsIG11bHRpOiB0cnVlfVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIERhdGV0aW1lUmFuZ2VQaWNrZXJDb250cm9sIGV4dGVuZHMgQmFzZUN0cmwge1xyXG5cclxufVxyXG4iLCI8cD5kYXRldGltZS1yYW5nZS1waWNrZXIgd29ya3MhPC9wPlxyXG4iXX0=
|
|
@@ -6,7 +6,7 @@ import { DroppableDirective } from "../../directives/droppable.directive";
|
|
|
6
6
|
import { HintsComponent } from "../hints/hints.component";
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
import * as i1 from "@angular/forms";
|
|
9
|
-
export class
|
|
9
|
+
export class FilePickerControl extends BaseCtrl {
|
|
10
10
|
constructor() {
|
|
11
11
|
super(...arguments);
|
|
12
12
|
this.accept = input();
|
|
@@ -102,12 +102,12 @@ export class FilePickerComponent extends BaseCtrl {
|
|
|
102
102
|
window.URL.revokeObjectURL(fileUrl);
|
|
103
103
|
a.remove();
|
|
104
104
|
}
|
|
105
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type:
|
|
106
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type:
|
|
107
|
-
{ provide: NG_VALUE_ACCESSOR, useExisting:
|
|
105
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: FilePickerControl, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
106
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: FilePickerControl, isStandalone: true, selector: "iss-ctrl-file-picker", inputs: { accept: { classPropertyName: "accept", publicName: "accept", isSignal: true, isRequired: false, transformFunction: null }, showDownloadButton: { classPropertyName: "showDownloadButton", publicName: "showDownloadButton", isSignal: true, isRequired: false, transformFunction: null }, showDeleteButton: { classPropertyName: "showDeleteButton", publicName: "showDeleteButton", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
|
|
107
|
+
{ provide: NG_VALUE_ACCESSOR, useExisting: FilePickerControl, multi: true }
|
|
108
108
|
], usesInheritance: true, ngImport: i0, template: "<ds-file-picker (click)=\"inputFile.click(); markAsTouched()\" droppable (onDrop)=\"captureFile($event)\">\r\n <input\r\n id=\"file\"\r\n type=\"file\"\r\n #inputFile\r\n [style.display]=\"'none'\"\r\n [formControl]=\"ctrl\"\r\n [multiple]=\"multiple()\"\r\n [accept]=\"accept()\"\r\n (change)=\"captureFile($any($event.target).files)\"\r\n />\r\n</ds-file-picker>\r\n\r\n<iss-ctrl-hints [hints]=\"hints()\" [touched]=\"touched()\"/>\r\n@if (attachments().length) {\r\n <section class=\"files-list\">\r\n @for (file of attachments(); track $index) {\r\n <div class=\"file-item-container\">\r\n @if (file) {\r\n <ds-attachments\r\n [matTooltip]=\"file.name\"\r\n [file]=\"file\"\r\n [showDownload]=\"showDownloadButton()\"\r\n [showActions]=\"showDeleteButton()\"\r\n (downloadEvent)=\"onDownload($event)\"\r\n (deleteEvent)=\"onDelete($index)\"\r\n >\r\n </ds-attachments>\r\n }\r\n </div>\r\n }\r\n </section>\r\n}\r\n", styles: [".file-uploader{--uploader-height: 150px;--uploader-width: 100%;--uploader-bg: var(--off-white);--uploader-border: 1px dashed var(--dark-gray);--uploader-radius: var(--box-radius);--uploader-padding: 1rem;height:var(--uploader-height);background-color:var(--uploader-bg);border:var(--uploader-border);border-radius:var(--uploader-radius);padding:var(--uploader-padding);text-align:center;cursor:pointer}.file-uploader--input{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:.75rem}.insideTableStyle{width:272px}.files-list{--file-item-width: 270px;display:grid;grid-template-columns:repeat(auto-fill,var(--file-item-width));grid-gap:.5rem}@media (max-width: 768px){.files-list{grid-template-columns:repeat(auto-fill,minmax(var(--file-item-width),1fr))}}.files-list .file-item-container .file-item{--file-bg: var(--off-white);--file-radius: var(--box-radius);--icon-color: var(--purple);--icon-size: 2rem;--file-border: transparent;display:flex;align-items:center;background-color:var(--file-bg);border:1px solid var(--file-border);border-radius:var(--file-radius);padding:0 1rem;height:70px;gap:.75rem}.files-list .file-item-container .file-item.error{--file-bg: rgba(var(--rgb-red), 10%);--file-border: var(--red);--icon-color: var(--red)}.files-list .file-item-container .file-item .icon{color:var(--icon-color);font-size:var(--icon-size)}.files-list .file-item-container .file-item .file-action{display:flex;align-items:center;gap:.5rem}ds-attachments::part(base){--file-width: 250px}::ng-deep .file-item .name-size{display:flex;flex-direction:column;justify-content:center;flex-grow:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:120px}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: DroppableDirective, selector: "[droppable]", outputs: ["onDrop"] }, { kind: "component", type: HintsComponent, selector: "iss-ctrl-hints", inputs: ["hints", "touched"] }] }); }
|
|
109
109
|
}
|
|
110
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type:
|
|
110
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: FilePickerControl, decorators: [{
|
|
111
111
|
type: Component,
|
|
112
112
|
args: [{ selector: "iss-ctrl-file-picker", standalone: true, imports: [
|
|
113
113
|
ReactiveFormsModule,
|
|
@@ -115,7 +115,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
|
|
|
115
115
|
DroppableDirective,
|
|
116
116
|
HintsComponent,
|
|
117
117
|
], providers: [
|
|
118
|
-
{ provide: NG_VALUE_ACCESSOR, useExisting:
|
|
118
|
+
{ provide: NG_VALUE_ACCESSOR, useExisting: FilePickerControl, multi: true }
|
|
119
119
|
], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<ds-file-picker (click)=\"inputFile.click(); markAsTouched()\" droppable (onDrop)=\"captureFile($event)\">\r\n <input\r\n id=\"file\"\r\n type=\"file\"\r\n #inputFile\r\n [style.display]=\"'none'\"\r\n [formControl]=\"ctrl\"\r\n [multiple]=\"multiple()\"\r\n [accept]=\"accept()\"\r\n (change)=\"captureFile($any($event.target).files)\"\r\n />\r\n</ds-file-picker>\r\n\r\n<iss-ctrl-hints [hints]=\"hints()\" [touched]=\"touched()\"/>\r\n@if (attachments().length) {\r\n <section class=\"files-list\">\r\n @for (file of attachments(); track $index) {\r\n <div class=\"file-item-container\">\r\n @if (file) {\r\n <ds-attachments\r\n [matTooltip]=\"file.name\"\r\n [file]=\"file\"\r\n [showDownload]=\"showDownloadButton()\"\r\n [showActions]=\"showDeleteButton()\"\r\n (downloadEvent)=\"onDownload($event)\"\r\n (deleteEvent)=\"onDelete($index)\"\r\n >\r\n </ds-attachments>\r\n }\r\n </div>\r\n }\r\n </section>\r\n}\r\n", styles: [".file-uploader{--uploader-height: 150px;--uploader-width: 100%;--uploader-bg: var(--off-white);--uploader-border: 1px dashed var(--dark-gray);--uploader-radius: var(--box-radius);--uploader-padding: 1rem;height:var(--uploader-height);background-color:var(--uploader-bg);border:var(--uploader-border);border-radius:var(--uploader-radius);padding:var(--uploader-padding);text-align:center;cursor:pointer}.file-uploader--input{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:.75rem}.insideTableStyle{width:272px}.files-list{--file-item-width: 270px;display:grid;grid-template-columns:repeat(auto-fill,var(--file-item-width));grid-gap:.5rem}@media (max-width: 768px){.files-list{grid-template-columns:repeat(auto-fill,minmax(var(--file-item-width),1fr))}}.files-list .file-item-container .file-item{--file-bg: var(--off-white);--file-radius: var(--box-radius);--icon-color: var(--purple);--icon-size: 2rem;--file-border: transparent;display:flex;align-items:center;background-color:var(--file-bg);border:1px solid var(--file-border);border-radius:var(--file-radius);padding:0 1rem;height:70px;gap:.75rem}.files-list .file-item-container .file-item.error{--file-bg: rgba(var(--rgb-red), 10%);--file-border: var(--red);--icon-color: var(--red)}.files-list .file-item-container .file-item .icon{color:var(--icon-color);font-size:var(--icon-size)}.files-list .file-item-container .file-item .file-action{display:flex;align-items:center;gap:.5rem}ds-attachments::part(base){--file-width: 250px}::ng-deep .file-item .name-size{display:flex;flex-direction:column;justify-content:center;flex-grow:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:120px}\n"] }]
|
|
120
120
|
}] });
|
|
121
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXNzLWN0cmwvc3JjL2NvbXBvbmVudHMvZmlsZS1waWNrZXIvZmlsZS1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXNzLWN0cmwvc3JjL2NvbXBvbmVudHMvZmlsZS1waWNrZXIvZmlsZS1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLEVBQWEsS0FBSyxFQUEwQixNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQzFJLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3RFLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDdEMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBa0J4RCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsUUFBUTtJQWhCakQ7O1FBaUJFLFdBQU0sR0FBb0MsS0FBSyxFQUFFLENBQUM7UUFDbEQsdUJBQWtCLEdBQXlCLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2RCxxQkFBZ0IsR0FBeUIsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNDLGdCQUFXLEdBQTJCLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMzRCxlQUFVLEdBQWMsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNsQyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDOUIsSUFBSSxDQUFDLFNB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LENBQUMsS0FBSyxFQUFFLENBQUM7UUFDVixNQUFNLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDYixDQUFDOzhHQXhHVSxtQkFBbUI7a0dBQW5CLG1CQUFtQixrZ0JBTG5CO1lBQ1QsRUFBQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUM7U0FDNUUsaURDcEJILGdqQ0FpQ0EscXVERHRCSSxtQkFBbUIsMGtCQUNuQixVQUFVLGlSQUNWLGtCQUFrQiw2RUFDbEIsY0FBYzs7MkZBU0wsbUJBQW1CO2tCQWhCL0IsU0FBUzsrQkFDRSxzQkFBc0IsY0FDcEIsSUFBSSxXQUNQO3dCQUNQLG1CQUFtQjt3QkFDbkIsVUFBVTt3QkFDVixrQkFBa0I7d0JBQ2xCLGNBQWM7cUJBQ2YsYUFHVTt3QkFDVCxFQUFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLHFCQUFxQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUM7cUJBQzVFLFdBQ1EsQ0FBQyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBlZmZlY3QsIEVmZmVjdFJlZiwgaW5wdXQsIElucHV0U2lnbmFsLCBPbkRlc3Ryb3ksIHNpZ25hbCwgV3JpdGFibGVTaWduYWx9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7TkdfVkFMVUVfQUNDRVNTT1IsIFJlYWN0aXZlRm9ybXNNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQge0Jhc2VDdHJsfSBmcm9tIFwiLi4vYmFzZS1jdHJsXCI7XHJcbmltcG9ydCB7TWF0VG9vbHRpcH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXBcIjtcclxuaW1wb3J0IHtEcm9wcGFibGVEaXJlY3RpdmV9IGZyb20gXCIuLi8uLi9kaXJlY3RpdmVzL2Ryb3BwYWJsZS5kaXJlY3RpdmVcIjtcclxuaW1wb3J0IHtIaW50c0NvbXBvbmVudH0gZnJvbSBcIi4uL2hpbnRzL2hpbnRzLmNvbXBvbmVudFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiaXNzLWN0cmwtZmlsZS1waWNrZXJcIixcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBNYXRUb29sdGlwLFxyXG4gICAgRHJvcHBhYmxlRGlyZWN0aXZlLFxyXG4gICAgSGludHNDb21wb25lbnQsXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogXCIuL2ZpbGUtcGlja2VyLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmw6IFwiLi9maWxlLXBpY2tlci5jb21wb25lbnQuc2Nzc1wiLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge3Byb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLCB1c2VFeGlzdGluZzogRmlsZVBpY2tlckNvbXBvbmVudCwgbXVsdGk6IHRydWV9XHJcbiAgXSxcclxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV1cclxufSlcclxuZXhwb3J0IGNsYXNzIEZpbGVQaWNrZXJDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ3RybCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgYWNjZXB0OiBJbnB1dFNpZ25hbDxzdHJpbmcgfCB1bmRlZmluZWQ+ID0gaW5wdXQoKTtcclxuICBzaG93RG93bmxvYWRCdXR0b246IElucHV0U2lnbmFsPGJvb2xlYW4+ID0gaW5wdXQodHJ1ZSk7XHJcbiAgc2hvd0RlbGV0ZUJ1dHRvbjogSW5wdXRTaWduYWw8Ym9vbGVhbj4gPSBpbnB1dCh0cnVlKTtcclxuICBwcm90ZWN0ZWQgYXR0YWNobWVudHM6IFdyaXRhYmxlU2lnbmFsPEZpbGVbXT4gPSBzaWduYWwoW10pO1xyXG4gICNlZmZlY3RSZWY6IEVmZmVjdFJlZiA9IGVmZmVjdCgoKSA9PiB7XHJcbiAgICBpZiAodGhpcy5hdHRhY2htZW50cygpLmxlbmd0aCkge1xyXG4gICAgICB0aGlzLmVtaXRWYWx1ZSh0aGlzLiNmb3JtRGF0YUZhY3RvcnkodGhpcy5hdHRhY2htZW50cygpKSk7XHJcbiAgICB9XHJcbiAgfSk7XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy4jZWZmZWN0UmVmLmRlc3Ryb3koKTtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIHdyaXRlVmFsdWUodmFsOiBGb3JtRGF0YSB8IG51bGwpOiB2b2lkIHtcclxuICAgIHRoaXMuI3Jlc2V0KCk7XHJcbiAgICBpZiAodmFsKSB7XHJcbiAgICAgIHRoaXMuYXR0YWNobWVudHMuc2V0KFsuLi50aGlzLmF0dGFjaG1lbnRzKCksIC4uLnRoaXMuI2NvbnZlcnRGb3JtRGF0YVRvRmlsZXModmFsKV0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIG9uRG93bmxvYWQoJGV2ZW50OiBhbnkpIHtcclxuICAgIGNvbnN0IGZpbGVVcmw6IHN0cmluZyA9IHRoaXMuI2NyZWF0ZU9iamVjdFVybCgkZXZlbnQuZGV0YWlsLnZhbHVlKTtcclxuICAgIGNvbnN0IGFuY2hvckVsZW1lbnQ6IEhUTUxBbmNob3JFbGVtZW50ID0gdGhpcy4jY3JlYXRlQW5jaG9yRWxlbWVudChmaWxlVXJsLCAkZXZlbnQuZGV0YWlsLnZhbHVlLm5hbWUpO1xyXG4gICAgdGhpcy4jdXNlQW5jaG9yRWxlbWVudFRoZW5EaXNwb3NlKGFuY2hvckVsZW1lbnQsIGZpbGVVcmwpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIG9uRGVsZXRlKGluZGV4OiBudW1iZXIpIHtcclxuICAgIGNvbnN0IGZpbGVIdG1sRWxlbWVudDogSFRNTElucHV0RWxlbWVudCB8IG51bGwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcImZpbGVcIikgYXMgSFRNTElucHV0RWxlbWVudDtcclxuICAgIGlmIChmaWxlSHRtbEVsZW1lbnQpIHtcclxuICAgICAgZmlsZUh0bWxFbGVtZW50LnZhbHVlID0gXCJcIjtcclxuICAgIH1cclxuICAgIHRoaXMuYXR0YWNobWVudHMudXBkYXRlKChmaWxlczogRmlsZVtdKSA9PiB7XHJcbiAgICAgIHJldHVybiBmaWxlcy5maWx0ZXIoKF86IEZpbGUsIGk6IG51bWJlcik6IGJvb2xlYW4gPT4gaSAhPT0gaW5kZXgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgY2FwdHVyZUZpbGUoJGV2ZW50OiBGaWxlTGlzdCkge1xyXG4gICAgaWYgKCEkZXZlbnQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKCEkZXZlbnQubGVuZ3RoKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMubWFya0FzVG91Y2hlZCgpO1xyXG4gICAgY29uc3QgZmlsZXM6IEZpbGVbXSA9IEFycmF5LmZyb20oJGV2ZW50KTtcclxuICAgIHRoaXMuI3VwZGF0ZUF0dGFjaG1lbnRzKGZpbGVzKTtcclxuICB9XHJcblxyXG4gICNjcmVhdGVPYmplY3RVcmwoZmlsZTogRmlsZSk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBibG9iOiBCbG9iID0gbmV3IEJsb2IoW2ZpbGVdLCB7XHJcbiAgICAgIHR5cGU6IFwiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtXCIsXHJcbiAgICB9KTtcclxuICAgIHJldHVybiB3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcclxuICB9XHJcblxyXG4gICN1cGRhdGVBdHRhY2htZW50cyhzZWxlY3RlZEZpbGVzOiBGaWxlW10pIHtcclxuICAgIGlmICghdGhpcy5tdWx0aXBsZSgpKSB7XHJcbiAgICAgIHRoaXMuYXR0YWNobWVudHMuc2V0KFtdKTtcclxuICAgICAgdGhpcy5hdHRhY2htZW50cygpWzBdID0gc2VsZWN0ZWRGaWxlc1swXTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYXR0YWNobWVudHMudXBkYXRlKChmaWxlczogRmlsZVtdKSA9PiB7XHJcbiAgICAgIGZpbGVzID0gWy4uLmZpbGVzLCAuLi5zZWxlY3RlZEZpbGVzXTtcclxuICAgICAgcmV0dXJuIGZpbGVzO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAjZm9ybURhdGFGYWN0b3J5KGZpbGVzOiBGaWxlW10pOiBGb3JtRGF0YSB7XHJcbiAgICBjb25zdCBmZDogRm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZmlsZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgZmQuYXBwZW5kKFwiZmlsZVwiLCBmaWxlc1tpXSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmQ7XHJcbiAgfVxyXG5cclxuICAjcmVzZXQoKSB7XHJcbiAgICB0aGlzLmF0dGFjaG1lbnRzLnNldChbXSk7XHJcbiAgfVxyXG5cclxuICAjY29udmVydEZvcm1EYXRhVG9GaWxlcyh2YWw6IEZvcm1EYXRhKSB7XHJcbiAgICBsZXQgZmlsZXM6IEZpbGVbXSA9IFtdO1xyXG4gICAgZm9yIChsZXQgcGFpciBvZiB2YWwuZW50cmllcygpKSB7XHJcbiAgICAgIGlmIChwYWlyWzFdIGluc3RhbmNlb2YgRmlsZSkge1xyXG4gICAgICAgIGZpbGVzLnB1c2gocGFpclsxXSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBmaWxlcztcclxuICB9XHJcblxyXG4gICNjcmVhdGVBbmNob3JFbGVtZW50KGZpbGVVcmw6IHN0cmluZywgZmlsZU5hbWU6IHN0cmluZyk6IEhUTUxBbmNob3JFbGVtZW50IHtcclxuICAgIGxldCBhOiBIVE1MQW5jaG9yRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJhXCIpO1xyXG4gICAgYS5zZXRBdHRyaWJ1dGUoXCJzdHlsZVwiLCBcImRpc3BsYXk6IG5vbmVcIik7XHJcbiAgICBhLmhyZWYgPSBmaWxlVXJsO1xyXG4gICAgYS5kb3dubG9hZCA9IGZpbGVOYW1lO1xyXG4gICAgcmV0dXJuIGE7XHJcbiAgfVxyXG5cclxuICAjdXNlQW5jaG9yRWxlbWVudFRoZW5EaXNwb3NlKGE6IEhUTUxBbmNob3JFbGVtZW50LCBmaWxlVXJsOiBzdHJpbmcpIHtcclxuICAgIGEuY2xpY2soKTtcclxuICAgIHdpbmRvdy5VUkwucmV2b2tlT2JqZWN0VVJMKGZpbGVVcmwpO1xyXG4gICAgYS5yZW1vdmUoKTtcclxuICB9XHJcbn1cclxuIiwiPGRzLWZpbGUtcGlja2VyIChjbGljayk9XCJpbnB1dEZpbGUuY2xpY2soKTsgbWFya0FzVG91Y2hlZCgpXCIgZHJvcHBhYmxlIChvbkRyb3ApPVwiY2FwdHVyZUZpbGUoJGV2ZW50KVwiPlxyXG4gIDxpbnB1dFxyXG4gICAgaWQ9XCJmaWxlXCJcclxuICAgIHR5cGU9XCJmaWxlXCJcclxuICAgICNpbnB1dEZpbGVcclxuICAgIFtzdHlsZS5kaXNwbGF5XT1cIidub25lJ1wiXHJcbiAgICBbZm9ybUNvbnRyb2xdPVwiY3RybFwiXHJcbiAgICBbbXVsdGlwbGVdPVwibXVsdGlwbGUoKVwiXHJcbiAgICBbYWNjZXB0XT1cImFjY2VwdCgpXCJcclxuICAgIChjaGFuZ2UpPVwiY2FwdHVyZUZpbGUoJGFueSgkZXZlbnQudGFyZ2V0KS5maWxlcylcIlxyXG4gIC8+XHJcbjwvZHMtZmlsZS1waWNrZXI+XHJcblxyXG48aXNzLWN0cmwtaGludHMgW2hpbnRzXT1cImhpbnRzKClcIiBbdG91Y2hlZF09XCJ0b3VjaGVkKClcIi8+XHJcbkBpZiAoYXR0YWNobWVudHMoKS5sZW5ndGgpIHtcclxuICA8c2VjdGlvbiBjbGFzcz1cImZpbGVzLWxpc3RcIj5cclxuICAgIEBmb3IgKGZpbGUgb2YgYXR0YWNobWVudHMoKTsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWxlLWl0ZW0tY29udGFpbmVyXCI+XHJcbiAgICAgICAgQGlmIChmaWxlKSB7XHJcbiAgICAgICAgICA8ZHMtYXR0YWNobWVudHNcclxuICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwiZmlsZS5uYW1lXCJcclxuICAgICAgICAgICAgW2ZpbGVdPVwiZmlsZVwiXHJcbiAgICAgICAgICAgIFtzaG93RG93bmxvYWRdPVwic2hvd0Rvd25sb2FkQnV0dG9uKClcIlxyXG4gICAgICAgICAgICBbc2hvd0FjdGlvbnNdPVwic2hvd0RlbGV0ZUJ1dHRvbigpXCJcclxuICAgICAgICAgICAgKGRvd25sb2FkRXZlbnQpPVwib25Eb3dubG9hZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgKGRlbGV0ZUV2ZW50KT1cIm9uRGVsZXRlKCRpbmRleClcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgPC9kcy1hdHRhY2htZW50cz5cclxuICAgICAgICB9XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgfVxyXG4gIDwvc2VjdGlvbj5cclxufVxyXG4iXX0=
|
|
121
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXNzLWN0cmwvc3JjL2NvbXBvbmVudHMvZmlsZS1waWNrZXIvZmlsZS1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXNzLWN0cmwvc3JjL2NvbXBvbmVudHMvZmlsZS1waWNrZXIvZmlsZS1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLEVBQWEsS0FBSyxFQUEwQixNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQzFJLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3RFLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDdEMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBa0J4RCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsUUFBUTtJQWhCL0M7O1FBaUJFLFdBQU0sR0FBb0MsS0FBSyxFQUFFLENBQUM7UUFDbEQsdUJBQWtCLEdBQXlCLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2RCxxQkFBZ0IsR0FBeUIsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNDLGdCQUFXLEdBQTJCLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMzRCxlQUFVLEdBQWMsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNsQyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDOUIsSUFBSSxDQUFDLFNB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LENBQUMsS0FBSyxFQUFFLENBQUM7UUFDVixNQUFNLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDYixDQUFDOzhHQXhHVSxpQkFBaUI7a0dBQWpCLGlCQUFpQixrZ0JBTGpCO1lBQ1QsRUFBQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUM7U0FDMUUsaURDcEJILGdqQ0FpQ0EscXVERHRCSSxtQkFBbUIsMGtCQUNuQixVQUFVLGlSQUNWLGtCQUFrQiw2RUFDbEIsY0FBYzs7MkZBU0wsaUJBQWlCO2tCQWhCN0IsU0FBUzsrQkFDRSxzQkFBc0IsY0FDcEIsSUFBSSxXQUNQO3dCQUNQLG1CQUFtQjt3QkFDbkIsVUFBVTt3QkFDVixrQkFBa0I7d0JBQ2xCLGNBQWM7cUJBQ2YsYUFHVTt3QkFDVCxFQUFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLG1CQUFtQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUM7cUJBQzFFLFdBQ1EsQ0FBQyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBlZmZlY3QsIEVmZmVjdFJlZiwgaW5wdXQsIElucHV0U2lnbmFsLCBPbkRlc3Ryb3ksIHNpZ25hbCwgV3JpdGFibGVTaWduYWx9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7TkdfVkFMVUVfQUNDRVNTT1IsIFJlYWN0aXZlRm9ybXNNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQge0Jhc2VDdHJsfSBmcm9tIFwiLi4vYmFzZS1jdHJsXCI7XHJcbmltcG9ydCB7TWF0VG9vbHRpcH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXBcIjtcclxuaW1wb3J0IHtEcm9wcGFibGVEaXJlY3RpdmV9IGZyb20gXCIuLi8uLi9kaXJlY3RpdmVzL2Ryb3BwYWJsZS5kaXJlY3RpdmVcIjtcclxuaW1wb3J0IHtIaW50c0NvbXBvbmVudH0gZnJvbSBcIi4uL2hpbnRzL2hpbnRzLmNvbXBvbmVudFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiaXNzLWN0cmwtZmlsZS1waWNrZXJcIixcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBNYXRUb29sdGlwLFxyXG4gICAgRHJvcHBhYmxlRGlyZWN0aXZlLFxyXG4gICAgSGludHNDb21wb25lbnQsXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogXCIuL2ZpbGUtcGlja2VyLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmw6IFwiLi9maWxlLXBpY2tlci5jb21wb25lbnQuc2Nzc1wiLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge3Byb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLCB1c2VFeGlzdGluZzogRmlsZVBpY2tlckNvbnRyb2wsIG11bHRpOiB0cnVlfVxyXG4gIF0sXHJcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGaWxlUGlja2VyQ29udHJvbCBleHRlbmRzIEJhc2VDdHJsIGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICBhY2NlcHQ6IElucHV0U2lnbmFsPHN0cmluZyB8IHVuZGVmaW5lZD4gPSBpbnB1dCgpO1xyXG4gIHNob3dEb3dubG9hZEJ1dHRvbjogSW5wdXRTaWduYWw8Ym9vbGVhbj4gPSBpbnB1dCh0cnVlKTtcclxuICBzaG93RGVsZXRlQnV0dG9uOiBJbnB1dFNpZ25hbDxib29sZWFuPiA9IGlucHV0KHRydWUpO1xyXG4gIHByb3RlY3RlZCBhdHRhY2htZW50czogV3JpdGFibGVTaWduYWw8RmlsZVtdPiA9IHNpZ25hbChbXSk7XHJcbiAgI2VmZmVjdFJlZjogRWZmZWN0UmVmID0gZWZmZWN0KCgpID0+IHtcclxuICAgIGlmICh0aGlzLmF0dGFjaG1lbnRzKCkubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMuZW1pdFZhbHVlKHRoaXMuI2Zvcm1EYXRhRmFjdG9yeSh0aGlzLmF0dGFjaG1lbnRzKCkpKTtcclxuICAgIH1cclxuICB9KTtcclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLiNlZmZlY3RSZWYuZGVzdHJveSgpO1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgd3JpdGVWYWx1ZSh2YWw6IEZvcm1EYXRhIHwgbnVsbCk6IHZvaWQge1xyXG4gICAgdGhpcy4jcmVzZXQoKTtcclxuICAgIGlmICh2YWwpIHtcclxuICAgICAgdGhpcy5hdHRhY2htZW50cy5zZXQoWy4uLnRoaXMuYXR0YWNobWVudHMoKSwgLi4udGhpcy4jY29udmVydEZvcm1EYXRhVG9GaWxlcyh2YWwpXSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgb25Eb3dubG9hZCgkZXZlbnQ6IGFueSkge1xyXG4gICAgY29uc3QgZmlsZVVybDogc3RyaW5nID0gdGhpcy4jY3JlYXRlT2JqZWN0VXJsKCRldmVudC5kZXRhaWwudmFsdWUpO1xyXG4gICAgY29uc3QgYW5jaG9yRWxlbWVudDogSFRNTEFuY2hvckVsZW1lbnQgPSB0aGlzLiNjcmVhdGVBbmNob3JFbGVtZW50KGZpbGVVcmwsICRldmVudC5kZXRhaWwudmFsdWUubmFtZSk7XHJcbiAgICB0aGlzLiN1c2VBbmNob3JFbGVtZW50VGhlbkRpc3Bvc2UoYW5jaG9yRWxlbWVudCwgZmlsZVVybCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgb25EZWxldGUoaW5kZXg6IG51bWJlcikge1xyXG4gICAgY29uc3QgZmlsZUh0bWxFbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiZmlsZVwiKSBhcyBIVE1MSW5wdXRFbGVtZW50O1xyXG4gICAgaWYgKGZpbGVIdG1sRWxlbWVudCkge1xyXG4gICAgICBmaWxlSHRtbEVsZW1lbnQudmFsdWUgPSBcIlwiO1xyXG4gICAgfVxyXG4gICAgdGhpcy5hdHRhY2htZW50cy51cGRhdGUoKGZpbGVzOiBGaWxlW10pID0+IHtcclxuICAgICAgcmV0dXJuIGZpbGVzLmZpbHRlcigoXzogRmlsZSwgaTogbnVtYmVyKTogYm9vbGVhbiA9PiBpICE9PSBpbmRleCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBjYXB0dXJlRmlsZSgkZXZlbnQ6IEZpbGVMaXN0KSB7XHJcbiAgICBpZiAoISRldmVudCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAoISRldmVudC5sZW5ndGgpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5tYXJrQXNUb3VjaGVkKCk7XHJcbiAgICBjb25zdCBmaWxlczogRmlsZVtdID0gQXJyYXkuZnJvbSgkZXZlbnQpO1xyXG4gICAgdGhpcy4jdXBkYXRlQXR0YWNobWVudHMoZmlsZXMpO1xyXG4gIH1cclxuXHJcbiAgI2NyZWF0ZU9iamVjdFVybChmaWxlOiBGaWxlKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IGJsb2I6IEJsb2IgPSBuZXcgQmxvYihbZmlsZV0sIHtcclxuICAgICAgdHlwZTogXCJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW1cIixcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xyXG4gIH1cclxuXHJcbiAgI3VwZGF0ZUF0dGFjaG1lbnRzKHNlbGVjdGVkRmlsZXM6IEZpbGVbXSkge1xyXG4gICAgaWYgKCF0aGlzLm11bHRpcGxlKCkpIHtcclxuICAgICAgdGhpcy5hdHRhY2htZW50cy5zZXQoW10pO1xyXG4gICAgICB0aGlzLmF0dGFjaG1lbnRzKClbMF0gPSBzZWxlY3RlZEZpbGVzWzBdO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5hdHRhY2htZW50cy51cGRhdGUoKGZpbGVzOiBGaWxlW10pID0+IHtcclxuICAgICAgZmlsZXMgPSBbLi4uZmlsZXMsIC4uLnNlbGVjdGVkRmlsZXNdO1xyXG4gICAgICByZXR1cm4gZmlsZXM7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gICNmb3JtRGF0YUZhY3RvcnkoZmlsZXM6IEZpbGVbXSk6IEZvcm1EYXRhIHtcclxuICAgIGNvbnN0IGZkOiBGb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBmaWxlcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBmZC5hcHBlbmQoXCJmaWxlXCIsIGZpbGVzW2ldKTtcclxuICAgIH1cclxuICAgIHJldHVybiBmZDtcclxuICB9XHJcblxyXG4gICNyZXNldCgpIHtcclxuICAgIHRoaXMuYXR0YWNobWVudHMuc2V0KFtdKTtcclxuICB9XHJcblxyXG4gICNjb252ZXJ0Rm9ybURhdGFUb0ZpbGVzKHZhbDogRm9ybURhdGEpIHtcclxuICAgIGxldCBmaWxlczogRmlsZVtdID0gW107XHJcbiAgICBmb3IgKGxldCBwYWlyIG9mIHZhbC5lbnRyaWVzKCkpIHtcclxuICAgICAgaWYgKHBhaXJbMV0gaW5zdGFuY2VvZiBGaWxlKSB7XHJcbiAgICAgICAgZmlsZXMucHVzaChwYWlyWzFdKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZpbGVzO1xyXG4gIH1cclxuXHJcbiAgI2NyZWF0ZUFuY2hvckVsZW1lbnQoZmlsZVVybDogc3RyaW5nLCBmaWxlTmFtZTogc3RyaW5nKTogSFRNTEFuY2hvckVsZW1lbnQge1xyXG4gICAgbGV0IGE6IEhUTUxBbmNob3JFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImFcIik7XHJcbiAgICBhLnNldEF0dHJpYnV0ZShcInN0eWxlXCIsIFwiZGlzcGxheTogbm9uZVwiKTtcclxuICAgIGEuaHJlZiA9IGZpbGVVcmw7XHJcbiAgICBhLmRvd25sb2FkID0gZmlsZU5hbWU7XHJcbiAgICByZXR1cm4gYTtcclxuICB9XHJcblxyXG4gICN1c2VBbmNob3JFbGVtZW50VGhlbkRpc3Bvc2UoYTogSFRNTEFuY2hvckVsZW1lbnQsIGZpbGVVcmw6IHN0cmluZykge1xyXG4gICAgYS5jbGljaygpO1xyXG4gICAgd2luZG93LlVSTC5yZXZva2VPYmplY3RVUkwoZmlsZVVybCk7XHJcbiAgICBhLnJlbW92ZSgpO1xyXG4gIH1cclxufVxyXG4iLCI8ZHMtZmlsZS1waWNrZXIgKGNsaWNrKT1cImlucHV0RmlsZS5jbGljaygpOyBtYXJrQXNUb3VjaGVkKClcIiBkcm9wcGFibGUgKG9uRHJvcCk9XCJjYXB0dXJlRmlsZSgkZXZlbnQpXCI+XHJcbiAgPGlucHV0XHJcbiAgICBpZD1cImZpbGVcIlxyXG4gICAgdHlwZT1cImZpbGVcIlxyXG4gICAgI2lucHV0RmlsZVxyXG4gICAgW3N0eWxlLmRpc3BsYXldPVwiJ25vbmUnXCJcclxuICAgIFtmb3JtQ29udHJvbF09XCJjdHJsXCJcclxuICAgIFttdWx0aXBsZV09XCJtdWx0aXBsZSgpXCJcclxuICAgIFthY2NlcHRdPVwiYWNjZXB0KClcIlxyXG4gICAgKGNoYW5nZSk9XCJjYXB0dXJlRmlsZSgkYW55KCRldmVudC50YXJnZXQpLmZpbGVzKVwiXHJcbiAgLz5cclxuPC9kcy1maWxlLXBpY2tlcj5cclxuXHJcbjxpc3MtY3RybC1oaW50cyBbaGludHNdPVwiaGludHMoKVwiIFt0b3VjaGVkXT1cInRvdWNoZWQoKVwiLz5cclxuQGlmIChhdHRhY2htZW50cygpLmxlbmd0aCkge1xyXG4gIDxzZWN0aW9uIGNsYXNzPVwiZmlsZXMtbGlzdFwiPlxyXG4gICAgQGZvciAoZmlsZSBvZiBhdHRhY2htZW50cygpOyB0cmFjayAkaW5kZXgpIHtcclxuICAgICAgPGRpdiBjbGFzcz1cImZpbGUtaXRlbS1jb250YWluZXJcIj5cclxuICAgICAgICBAaWYgKGZpbGUpIHtcclxuICAgICAgICAgIDxkcy1hdHRhY2htZW50c1xyXG4gICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJmaWxlLm5hbWVcIlxyXG4gICAgICAgICAgICBbZmlsZV09XCJmaWxlXCJcclxuICAgICAgICAgICAgW3Nob3dEb3dubG9hZF09XCJzaG93RG93bmxvYWRCdXR0b24oKVwiXHJcbiAgICAgICAgICAgIFtzaG93QWN0aW9uc109XCJzaG93RGVsZXRlQnV0dG9uKClcIlxyXG4gICAgICAgICAgICAoZG93bmxvYWRFdmVudCk9XCJvbkRvd25sb2FkKCRldmVudClcIlxyXG4gICAgICAgICAgICAoZGVsZXRlRXZlbnQpPVwib25EZWxldGUoJGluZGV4KVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICA8L2RzLWF0dGFjaG1lbnRzPlxyXG4gICAgICAgIH1cclxuICAgICAgPC9kaXY+XHJcbiAgICB9XHJcbiAgPC9zZWN0aW9uPlxyXG59XHJcbiJdfQ==
|