@muraai/mnl-form 0.0.1-alpha-32ca3fa → 0.0.1-alpha-11e96eb

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/README.md +5 -5
  2. package/fesm2022/muraai-mnl-form.mjs +152 -145
  3. package/fesm2022/muraai-mnl-form.mjs.map +1 -1
  4. package/lib/{formly-lib/formly-lib.component.d.ts → mnl-form/mnl-form.component.d.ts} +3 -3
  5. package/lib/types/upload-file.d.ts +1 -1
  6. package/lib/workflow-status/ workflow-status.module.d.ts +8 -8
  7. package/lib/workflow-status/workflow-status.component.d.ts +1 -1
  8. package/package.json +4 -5
  9. package/public-api.d.ts +2 -2
  10. package/esm2022/lib/confirmation-dialog/confirmation-dialog.component.mjs +0 -34
  11. package/esm2022/lib/formly-lib/formly-lib.component.mjs +0 -199
  12. package/esm2022/lib/formly-lib/formly-standalone.module.mjs +0 -155
  13. package/esm2022/lib/models/custom-form-field.model.mjs +0 -2
  14. package/esm2022/lib/models/workflow-status.model.mjs +0 -2
  15. package/esm2022/lib/services/graphql.service.mjs +0 -30
  16. package/esm2022/lib/services/scoring.service.mjs +0 -103
  17. package/esm2022/lib/types/action-button-renderer.component.mjs +0 -59
  18. package/esm2022/lib/types/autocomplete-type.component.mjs +0 -68
  19. package/esm2022/lib/types/button.type.mjs +0 -72
  20. package/esm2022/lib/types/comments.type.mjs +0 -102
  21. package/esm2022/lib/types/country-code-input.type.mjs +0 -181
  22. package/esm2022/lib/types/custom-date.type.mjs +0 -20
  23. package/esm2022/lib/types/custom-input.component.mjs +0 -62
  24. package/esm2022/lib/types/date-format.type.mjs +0 -196
  25. package/esm2022/lib/types/expansion-panel.types.mjs +0 -85
  26. package/esm2022/lib/types/formly-field-panel.type.mjs +0 -70
  27. package/esm2022/lib/types/grid-actionable.type.mjs +0 -197
  28. package/esm2022/lib/types/grid-formly-cell.component.mjs +0 -42
  29. package/esm2022/lib/types/grid.type.mjs +0 -125
  30. package/esm2022/lib/types/input.type.mjs +0 -43
  31. package/esm2022/lib/types/mu-helper-text.type.mjs +0 -331
  32. package/esm2022/lib/types/multi-select-autocomplete.mjs +0 -139
  33. package/esm2022/lib/types/multi-select-checkbox.component.mjs +0 -247
  34. package/esm2022/lib/types/radio.type.mjs +0 -71
  35. package/esm2022/lib/types/scrollable-tabs.types.mjs +0 -220
  36. package/esm2022/lib/types/select-api-auto-complete.component.mjs +0 -111
  37. package/esm2022/lib/types/select-autocomplete-redefined.component.mjs +0 -142
  38. package/esm2022/lib/types/select-autocomplete.type.mjs +0 -254
  39. package/esm2022/lib/types/stepper.type.mjs +0 -268
  40. package/esm2022/lib/types/table.types.mjs +0 -79
  41. package/esm2022/lib/types/tabs.types.mjs +0 -293
  42. package/esm2022/lib/types/tabular-form-dialog.component.mjs +0 -331
  43. package/esm2022/lib/types/tabular-form.type.mjs +0 -641
  44. package/esm2022/lib/types/upload-file.mjs +0 -524
  45. package/esm2022/lib/types/view-file-dialog.component.mjs +0 -90
  46. package/esm2022/lib/utils/formly.utils.mjs +0 -105
  47. package/esm2022/lib/validators/custom-email-validator.mjs +0 -18
  48. package/esm2022/lib/validators/ein-validators.mjs +0 -11
  49. package/esm2022/lib/validators/gst-validator.mjs +0 -11
  50. package/esm2022/lib/validators/normal-email-validator.mjs +0 -17
  51. package/esm2022/lib/validators/npi-validator.mjs +0 -11
  52. package/esm2022/lib/validators/pan-validator.mjs +0 -11
  53. package/esm2022/lib/validators/phone-number-validator.mjs +0 -22
  54. package/esm2022/lib/validators/select-validator.mjs +0 -7
  55. package/esm2022/lib/validators/tinSsn-validator.mjs +0 -12
  56. package/esm2022/lib/workflow-status/ workflow-status.module.mjs +0 -52
  57. package/esm2022/lib/workflow-status/workflow-status.component.mjs +0 -70
  58. package/esm2022/lib/wrappers/form-field-description-wrapper.component.mjs +0 -44
  59. package/esm2022/lib/wrappers/form-field-wrapper.component.mjs +0 -34
  60. package/esm2022/lib/wrappers/formly-wrapper-with-old-value.component.mjs +0 -140
  61. package/esm2022/lib/wrappers/prefix-suffix-wrapper.component.mjs +0 -95
  62. package/esm2022/lib/wrappers/prefix-sufix-extension.component.mjs +0 -9
  63. package/esm2022/muraai-mnl-form.mjs +0 -5
  64. package/esm2022/public-api.mjs +0 -12
  65. /package/lib/{formly-lib/formly-standalone.module.d.ts → mnl-form/mnl-form-standalone.module.d.ts} +0 -0
@@ -1,181 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { Component } from '@angular/core';
3
- import { FormControl, FormsModule, ReactiveFormsModule } from '@angular/forms';
4
- import { MatAutocompleteModule } from '@angular/material/autocomplete';
5
- import { MatFormFieldModule } from '@angular/material/form-field';
6
- import { MatInputModule } from '@angular/material/input';
7
- import { MatTooltipModule } from '@angular/material/tooltip';
8
- import { FormlyModule } from '@ngx-formly/core';
9
- import { FieldType, FormlyMaterialModule } from '@ngx-formly/material';
10
- import { map, of, startWith } from 'rxjs';
11
- import * as i0 from "@angular/core";
12
- import * as i1 from "@angular/forms";
13
- import * as i2 from "@angular/common";
14
- import * as i3 from "@angular/material/form-field";
15
- import * as i4 from "@angular/material/input";
16
- import * as i5 from "@ngx-formly/core";
17
- import * as i6 from "@angular/material/autocomplete";
18
- import * as i7 from "@angular/material/core";
19
- import * as i8 from "@angular/material/tooltip";
20
- export class FormlyFieldCountryCodeComponent extends FieldType {
21
- constructor() {
22
- super(...arguments);
23
- this.isFocused = false;
24
- this.hasValue = false;
25
- this.hourCtrl = new FormControl('');
26
- this.hours = [];
27
- }
28
- get control() {
29
- return this.formControl;
30
- }
31
- ngOnInit() {
32
- this.loadCountryCodes();
33
- this.hasValue = (this.control.value !== '' && this.control.value !== undefined);
34
- }
35
- onFocus() {
36
- this.isFocused = true;
37
- this.hasValue = (this.control.value !== '' && this.control.value !== undefined);
38
- }
39
- onBlur() {
40
- this.isFocused = false;
41
- this.hasValue = (this.control.value !== '' && this.control.value !== undefined);
42
- }
43
- onInput() {
44
- this.hasValue = (this.control.value !== '' && this.control.value !== undefined);
45
- }
46
- _filter(options, value) {
47
- const filterValue = (value || '').toLowerCase();
48
- return options?.filter((option) => option.toLowerCase().includes(filterValue));
49
- }
50
- onCountryCodeChange() {
51
- if (this.field && this.field.props?.['countryCodeChange']) {
52
- this.field.props?.['countryCodeChange'](event, this.hourCtrl.value, this.field);
53
- }
54
- }
55
- async loadCountryCodes() {
56
- this.hours = await this.options.formState.getCountryCodesApi;
57
- this.filteredHours$ = this.hourCtrl.valueChanges.pipe(startWith(this.hourCtrl.value || ''), map((value) => this._filter(this.hours, value)));
58
- this.hourCtrl.setValue(this.field.model?.['countryCode']);
59
- if (!this.hourCtrl.value) {
60
- this.hourCtrl.setValue(this.to['countryCode'] || '+91');
61
- }
62
- }
63
- validateInput() {
64
- const options$ = Array.isArray(this.hours) ? of(this.hours) : this.hours || of([]);
65
- options$.subscribe((options) => {
66
- const isValidOption = options.some((option) => option.split('+')[1] === (this.hourCtrl.value?.includes('+') ? this.hourCtrl.value?.split('+')[1] : this.hourCtrl.value));
67
- if (!isValidOption) {
68
- this.hourCtrl.setValue('');
69
- }
70
- });
71
- }
72
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormlyFieldCountryCodeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
73
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: FormlyFieldCountryCodeComponent, isStandalone: true, selector: "mu-country-code-phone", host: { classAttribute: "w-full grid" }, usesInheritance: true, ngImport: i0, template: `
74
- <div class="flex flex-nowrap items-center gap-3 w-full">
75
- <mat-form-field appearance="outline" [ngStyle]="{'width': to['codeWidth'] || '20%'}">
76
- <mat-label matTooltip="Country Code">Code</mat-label>
77
- <input
78
- type="text"
79
- matInput
80
- [readonly]="to.readonly || to.disabled || to['disableCountryCode']"
81
- [required]="to.required || false"
82
- [disabled]="to.disabled || to['disableCountryCode'] || false"
83
- [formControl]="hourCtrl"
84
- [matAutocomplete]="autoHour"
85
- (input)="onCountryCodeChange()"
86
- (blur)="validateInput()"
87
- />
88
- <mat-autocomplete #autoHour="matAutocomplete" (optionSelected)="onCountryCodeChange()">
89
- <mat-option
90
- *ngFor="let hour of filteredHours$ | async"
91
- [value]="hour"
92
- >
93
- {{ hour }}
94
- </mat-option>
95
- </mat-autocomplete>
96
- </mat-form-field>
97
- <mat-form-field appearance="outline" [ngStyle]="{'width': to['phoneNumberWidth'] || '75%'}">
98
- <mat-label>{{to.label}}</mat-label>
99
- <input
100
- fxFlex
101
- matInput
102
- [type]="to.type || 'number'"
103
- [required]="to.required || false"
104
- [formControl]="formControl"
105
- [formlyAttributes]="field"
106
- [placeholder]="to.placeholder ?? ''"
107
- [readonly]="to.readonly"
108
- [disabled]="to.disabled || false"
109
- (focus)="onFocus()"
110
- (blur)="onBlur()"
111
- (input)="onInput()"
112
- />
113
- </mat-form-field>
114
- </div>
115
- <mat-error *ngIf="formControl.invalid && formControl.touched">
116
- {{ field.validation?.messages?.['required'] || field.validation?.messages?.['phoneValidation']}}
117
- </mat-error>
118
- `, isInline: true, styles: [".vertical-line{display:inline-block;width:1px;height:18px;background-color:#000;margin-top:3px;margin-right:8px;vertical-align:middle}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { 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.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4.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: FormlyModule }, { kind: "directive", type: i5.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { kind: "ngmodule", type: FormlyMaterialModule }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i6.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i7.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i6.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i8.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] }); }
119
- }
120
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormlyFieldCountryCodeComponent, decorators: [{
121
- type: Component,
122
- args: [{ selector: 'mu-country-code-phone', standalone: true, imports: [
123
- FormsModule,
124
- CommonModule,
125
- ReactiveFormsModule,
126
- MatFormFieldModule,
127
- MatInputModule,
128
- FormlyModule,
129
- FormlyMaterialModule,
130
- MatAutocompleteModule,
131
- MatTooltipModule
132
- ], host: {
133
- class: 'w-full grid'
134
- }, template: `
135
- <div class="flex flex-nowrap items-center gap-3 w-full">
136
- <mat-form-field appearance="outline" [ngStyle]="{'width': to['codeWidth'] || '20%'}">
137
- <mat-label matTooltip="Country Code">Code</mat-label>
138
- <input
139
- type="text"
140
- matInput
141
- [readonly]="to.readonly || to.disabled || to['disableCountryCode']"
142
- [required]="to.required || false"
143
- [disabled]="to.disabled || to['disableCountryCode'] || false"
144
- [formControl]="hourCtrl"
145
- [matAutocomplete]="autoHour"
146
- (input)="onCountryCodeChange()"
147
- (blur)="validateInput()"
148
- />
149
- <mat-autocomplete #autoHour="matAutocomplete" (optionSelected)="onCountryCodeChange()">
150
- <mat-option
151
- *ngFor="let hour of filteredHours$ | async"
152
- [value]="hour"
153
- >
154
- {{ hour }}
155
- </mat-option>
156
- </mat-autocomplete>
157
- </mat-form-field>
158
- <mat-form-field appearance="outline" [ngStyle]="{'width': to['phoneNumberWidth'] || '75%'}">
159
- <mat-label>{{to.label}}</mat-label>
160
- <input
161
- fxFlex
162
- matInput
163
- [type]="to.type || 'number'"
164
- [required]="to.required || false"
165
- [formControl]="formControl"
166
- [formlyAttributes]="field"
167
- [placeholder]="to.placeholder ?? ''"
168
- [readonly]="to.readonly"
169
- [disabled]="to.disabled || false"
170
- (focus)="onFocus()"
171
- (blur)="onBlur()"
172
- (input)="onInput()"
173
- />
174
- </mat-form-field>
175
- </div>
176
- <mat-error *ngIf="formControl.invalid && formControl.touched">
177
- {{ field.validation?.messages?.['required'] || field.validation?.messages?.['phoneValidation']}}
178
- </mat-error>
179
- `, styles: [".vertical-line{display:inline-block;width:1px;height:18px;background-color:#000;margin-top:3px;margin-right:8px;vertical-align:middle}\n"] }]
180
- }] });
181
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRyeS1jb2RlLWlucHV0LnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3JtLWxpYi9zcmMvbGliL3R5cGVzL2NvdW50cnktY29kZS1pbnB1dC50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9FLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQW1CLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsR0FBRyxFQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7QUE2RXRELE1BQU0sT0FBTywrQkFBZ0MsU0FBUSxTQUEwQjtJQTNFL0U7O1FBNEVFLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixhQUFRLEdBQUcsSUFBSSxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDL0IsVUFBSyxHQUFhLEVBQUUsQ0FBQztLQTJEdEI7SUF4REMsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsV0FBMEIsQ0FBQztJQUN6QyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssS0FBSyxFQUFFLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEtBQUssU0FBUyxDQUFDLENBQUM7SUFDbEYsQ0FBQztJQUNELE9BQU87UUFDTCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEtBQUssRUFBRSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxLQUFLLEVBQUUsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssS0FBSyxTQUFTLENBQUMsQ0FBQztJQUNsRixDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssS0FBSyxFQUFFLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEtBQUssU0FBUyxDQUFDLENBQUM7SUFDbEYsQ0FBQztJQUVPLE9BQU8sQ0FBQyxPQUFpQixFQUFFLEtBQWE7UUFDOUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDaEQsT0FBTyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FDaEMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FDM0MsQ0FBQztJQUNKLENBQUM7SUFFRCxtQkFBbUI7UUFDakIsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsbUJBQW1CLENBQUMsRUFBRSxDQUFDO1lBQzFELElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xGLENBQUM7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLGdCQUFnQjtRQUNwQixJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUM7UUFDN0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQ25ELFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsRUFDcEMsR0FBRyxDQUFDLENBQUMsS0FBVSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FDckQsQ0FBQztRQUNGLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztRQUMxRCxJQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFBO1FBQ3pELENBQUM7SUFDSCxDQUFDO0lBRUQsYUFBYTtRQUNULE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNuRixRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDN0IsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDekssSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUNuQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUM3QixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOytHQTlEVSwrQkFBK0I7bUdBQS9CLCtCQUErQixpSkExRGhDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E2Q1QsaU5BMURDLFdBQVcsbW5CQUNYLFlBQVkseVlBQ1osbUJBQW1CLGlOQUNuQixrQkFBa0IsdVlBQ2xCLGNBQWMsMFdBQ2QsWUFBWSxxSkFDWixvQkFBb0IsOEJBQ3BCLHFCQUFxQix3MUJBQ3JCLGdCQUFnQjs7NEZBK0RQLCtCQUErQjtrQkEzRTNDLFNBQVM7K0JBQ0UsdUJBQXVCLGNBQ3JCLElBQUksV0FDUDt3QkFDUCxXQUFXO3dCQUNYLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBQ2xCLGNBQWM7d0JBQ2QsWUFBWTt3QkFDWixvQkFBb0I7d0JBQ3BCLHFCQUFxQjt3QkFDckIsZ0JBQWdCO3FCQUNqQixRQUNLO3dCQUNKLEtBQUssRUFBRSxhQUFhO3FCQUNyQixZQUNTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E2Q1QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcbmltcG9ydCB7IEZpZWxkVHlwZUNvbmZpZywgRm9ybWx5TW9kdWxlIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5pbXBvcnQgeyBGaWVsZFR5cGUsIEZvcm1seU1hdGVyaWFsTW9kdWxlIH0gZnJvbSAnQG5neC1mb3JtbHkvbWF0ZXJpYWwnO1xuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlLCBvZiwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ211LWNvdW50cnktY29kZS1waG9uZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgRm9ybWx5TW9kdWxlLFxuICAgIEZvcm1seU1hdGVyaWFsTW9kdWxlLFxuICAgIE1hdEF1dG9jb21wbGV0ZU1vZHVsZSxcbiAgICBNYXRUb29sdGlwTW9kdWxlXG4gIF0sXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ3ctZnVsbCBncmlkJ1xuICB9LFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtbm93cmFwIGl0ZW1zLWNlbnRlciBnYXAtMyB3LWZ1bGxcIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCIgW25nU3R5bGVdPVwieyd3aWR0aCc6IHRvWydjb2RlV2lkdGgnXSB8fCAnMjAlJ31cIj5cbiAgICAgICAgPG1hdC1sYWJlbCBtYXRUb29sdGlwPVwiQ291bnRyeSBDb2RlXCI+Q29kZTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgIFtyZWFkb25seV09XCJ0by5yZWFkb25seSB8fCB0by5kaXNhYmxlZCB8fCB0b1snZGlzYWJsZUNvdW50cnlDb2RlJ11cIlxuICAgICAgICAgICAgW3JlcXVpcmVkXT1cInRvLnJlcXVpcmVkIHx8IGZhbHNlXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJ0by5kaXNhYmxlZCB8fCB0b1snZGlzYWJsZUNvdW50cnlDb2RlJ10gfHwgZmFsc2VcIlxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImhvdXJDdHJsXCJcbiAgICAgICAgICAgIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b0hvdXJcIlxuICAgICAgICAgICAgKGlucHV0KT1cIm9uQ291bnRyeUNvZGVDaGFuZ2UoKVwiXG4gICAgICAgICAgICAoYmx1cik9XCJ2YWxpZGF0ZUlucHV0KClcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPG1hdC1hdXRvY29tcGxldGUgI2F1dG9Ib3VyPVwibWF0QXV0b2NvbXBsZXRlXCIgKG9wdGlvblNlbGVjdGVkKT1cIm9uQ291bnRyeUNvZGVDaGFuZ2UoKVwiPlxuICAgICAgICAgICAgPG1hdC1vcHRpb25cbiAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGhvdXIgb2YgZmlsdGVyZWRIb3VycyQgfCBhc3luY1wiXG4gICAgICAgICAgICAgIFt2YWx1ZV09XCJob3VyXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3sgaG91ciB9fVxuICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgIDwvbWF0LWF1dG9jb21wbGV0ZT5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiIFtuZ1N0eWxlXT1cInsnd2lkdGgnOiB0b1sncGhvbmVOdW1iZXJXaWR0aCddIHx8ICc3NSUnfVwiPlxuICAgICAgICA8bWF0LWxhYmVsPnt7dG8ubGFiZWx9fTwvbWF0LWxhYmVsPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBmeEZsZXhcbiAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgIFt0eXBlXT1cInRvLnR5cGUgfHwgJ251bWJlcidcIlxuICAgICAgICAgIFtyZXF1aXJlZF09XCJ0by5yZXF1aXJlZCB8fCBmYWxzZVwiXG4gICAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgICAgICAgICBbZm9ybWx5QXR0cmlidXRlc109XCJmaWVsZFwiXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInRvLnBsYWNlaG9sZGVyID8/ICcnXCJcbiAgICAgICAgICBbcmVhZG9ubHldPVwidG8ucmVhZG9ubHlcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJ0by5kaXNhYmxlZCB8fCBmYWxzZVwiXG4gICAgICAgICAgKGZvY3VzKT1cIm9uRm9jdXMoKVwiXG4gICAgICAgICAgKGJsdXIpPVwib25CbHVyKClcIlxuICAgICAgICAgIChpbnB1dCk9XCJvbklucHV0KClcIlxuICAgICAgICAvPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUNvbnRyb2wuaW52YWxpZCAmJiBmb3JtQ29udHJvbC50b3VjaGVkXCI+XG4gICAgICB7eyBmaWVsZC52YWxpZGF0aW9uPy5tZXNzYWdlcz8uWydyZXF1aXJlZCddIHx8IGZpZWxkLnZhbGlkYXRpb24/Lm1lc3NhZ2VzPy5bJ3Bob25lVmFsaWRhdGlvbiddfX1cbiAgICA8L21hdC1lcnJvcj5cbiAgYCxcbiAgc3R5bGVzOiBgXG4gIC52ZXJ0aWNhbC1saW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDFweDtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICBtYXJnaW4tdG9wOiAzcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbiAgYFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtbHlGaWVsZENvdW50cnlDb2RlQ29tcG9uZW50IGV4dGVuZHMgRmllbGRUeXBlPEZpZWxkVHlwZUNvbmZpZz4gaW1wbGVtZW50cyBPbkluaXR7XG4gIGlzRm9jdXNlZCA9IGZhbHNlO1xuICBoYXNWYWx1ZSA9IGZhbHNlO1xuICBob3VyQ3RybCA9IG5ldyBGb3JtQ29udHJvbCgnJyk7XG4gIGhvdXJzOiBzdHJpbmdbXSA9IFtdO1xuICBmaWx0ZXJlZEhvdXJzJCE6IE9ic2VydmFibGU8c3RyaW5nW10+O1xuXG4gIGdldCBjb250cm9sKCk6IEZvcm1Db250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtQ29udHJvbCBhcyBGb3JtQ29udHJvbDtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMubG9hZENvdW50cnlDb2RlcygpO1xuICAgIHRoaXMuaGFzVmFsdWUgPSAodGhpcy5jb250cm9sLnZhbHVlICE9PSAnJyAmJiB0aGlzLmNvbnRyb2wudmFsdWUgIT09IHVuZGVmaW5lZCk7ICAgIFxuICB9XG4gIG9uRm9jdXMoKSB7XG4gICAgdGhpcy5pc0ZvY3VzZWQgPSB0cnVlO1xuICAgIHRoaXMuaGFzVmFsdWUgPSAodGhpcy5jb250cm9sLnZhbHVlICE9PSAnJyAmJiB0aGlzLmNvbnRyb2wudmFsdWUgIT09IHVuZGVmaW5lZCk7XG4gIH1cblxuICBvbkJsdXIoKSB7XG4gICAgdGhpcy5pc0ZvY3VzZWQgPSBmYWxzZTtcbiAgICB0aGlzLmhhc1ZhbHVlID0gKHRoaXMuY29udHJvbC52YWx1ZSAhPT0gJycgJiYgdGhpcy5jb250cm9sLnZhbHVlICE9PSB1bmRlZmluZWQpO1xuICB9XG5cbiAgb25JbnB1dCgpIHtcbiAgICB0aGlzLmhhc1ZhbHVlID0gKHRoaXMuY29udHJvbC52YWx1ZSAhPT0gJycgJiYgdGhpcy5jb250cm9sLnZhbHVlICE9PSB1bmRlZmluZWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZmlsdGVyKG9wdGlvbnM6IHN0cmluZ1tdLCB2YWx1ZTogc3RyaW5nKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IGZpbHRlclZhbHVlID0gKHZhbHVlIHx8ICcnKS50b0xvd2VyQ2FzZSgpO1xuICAgIHJldHVybiBvcHRpb25zPy5maWx0ZXIoKG9wdGlvbikgPT5cbiAgICAgIG9wdGlvbi50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGZpbHRlclZhbHVlKVxuICAgICk7XG4gIH1cblxuICBvbkNvdW50cnlDb2RlQ2hhbmdlKCkge1xuICAgIGlmICh0aGlzLmZpZWxkICYmIHRoaXMuZmllbGQucHJvcHM/LlsnY291bnRyeUNvZGVDaGFuZ2UnXSkge1xuICAgICAgdGhpcy5maWVsZC5wcm9wcz8uWydjb3VudHJ5Q29kZUNoYW5nZSddKGV2ZW50LCB0aGlzLmhvdXJDdHJsLnZhbHVlLCB0aGlzLmZpZWxkKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBsb2FkQ291bnRyeUNvZGVzKCkge1xuICAgIHRoaXMuaG91cnMgPSBhd2FpdCB0aGlzLm9wdGlvbnMuZm9ybVN0YXRlLmdldENvdW50cnlDb2Rlc0FwaTtcbiAgICB0aGlzLmZpbHRlcmVkSG91cnMkID0gdGhpcy5ob3VyQ3RybC52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgIHN0YXJ0V2l0aCh0aGlzLmhvdXJDdHJsLnZhbHVlIHx8ICcnKSxcbiAgICAgIG1hcCgodmFsdWU6IGFueSkgPT4gdGhpcy5fZmlsdGVyKHRoaXMuaG91cnMsIHZhbHVlKSlcbiAgICApO1xuICAgIHRoaXMuaG91ckN0cmwuc2V0VmFsdWUodGhpcy5maWVsZC5tb2RlbD8uWydjb3VudHJ5Q29kZSddKTtcbiAgICBpZighdGhpcy5ob3VyQ3RybC52YWx1ZSkge1xuICAgICAgdGhpcy5ob3VyQ3RybC5zZXRWYWx1ZSh0aGlzLnRvWydjb3VudHJ5Q29kZSddIHx8ICcrOTEnKVxuICAgIH1cbiAgfVxuXG4gIHZhbGlkYXRlSW5wdXQoKSB7XG4gICAgICBjb25zdCBvcHRpb25zJCA9IEFycmF5LmlzQXJyYXkodGhpcy5ob3VycykgPyBvZih0aGlzLmhvdXJzKSA6IHRoaXMuaG91cnMgfHwgb2YoW10pO1xuICAgICAgb3B0aW9ucyQuc3Vic2NyaWJlKChvcHRpb25zKSA9PiB7XG4gICAgICAgIGNvbnN0IGlzVmFsaWRPcHRpb24gPSBvcHRpb25zLnNvbWUoKG9wdGlvbikgPT4gb3B0aW9uLnNwbGl0KCcrJylbMV0gPT09ICh0aGlzLmhvdXJDdHJsLnZhbHVlPy5pbmNsdWRlcygnKycpID8gdGhpcy5ob3VyQ3RybC52YWx1ZT8uc3BsaXQoJysnKVsxXSA6IHRoaXMuaG91ckN0cmwudmFsdWUpKTtcbiAgICAgICAgaWYgKCFpc1ZhbGlkT3B0aW9uKSB7XG4gICAgICAgICAgdGhpcy5ob3VyQ3RybC5zZXRWYWx1ZSgnJyk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG59Il19
@@ -1,20 +0,0 @@
1
- import { NativeDateAdapter } from '@angular/material/core';
2
- export class CustomDate extends NativeDateAdapter {
3
- parse(value) {
4
- if (typeof value === 'string' && value.trim()) {
5
- const [day, month, year] = value.split('-');
6
- const date = new Date(`${month} ${day}, ${year}`);
7
- return isNaN(date.getTime()) ? null : date;
8
- }
9
- return null;
10
- }
11
- format(date, displayFormat) {
12
- if (!date)
13
- return '';
14
- const day = date.getDate().toString().padStart(2, '0');
15
- const month = date.toLocaleString('en-US', { month: 'short' });
16
- const year = date.getFullYear();
17
- return `${day}-${month}-${year}`;
18
- }
19
- }
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWRhdGUudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Zvcm0tbGliL3NyYy9saWIvdHlwZXMvY3VzdG9tLWRhdGUudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUUzRCxNQUFNLE9BQU8sVUFBVyxTQUFRLGlCQUFpQjtJQUN0QyxLQUFLLENBQUMsS0FBVTtRQUN2QixJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUM5QyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzVDLE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsS0FBSyxJQUFJLEdBQUcsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ2xELE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUM3QyxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBQ1EsTUFBTSxDQUFDLElBQVUsRUFBRSxhQUFxQjtRQUMvQyxJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU8sRUFBRSxDQUFDO1FBQ3JCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDL0QsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2hDLE9BQU8sR0FBRyxHQUFHLElBQUksS0FBSyxJQUFJLElBQUksRUFBRSxDQUFDO0lBQ25DLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5hdGl2ZURhdGVBZGFwdGVyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG4gXG5leHBvcnQgY2xhc3MgQ3VzdG9tRGF0ZSBleHRlbmRzIE5hdGl2ZURhdGVBZGFwdGVyIHtcbiAgb3ZlcnJpZGUgcGFyc2UodmFsdWU6IGFueSk6IERhdGUgfCBudWxsIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiB2YWx1ZS50cmltKCkpIHtcbiAgICAgIGNvbnN0IFtkYXksIG1vbnRoLCB5ZWFyXSA9IHZhbHVlLnNwbGl0KCctJyk7XG4gICAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoYCR7bW9udGh9ICR7ZGF5fSwgJHt5ZWFyfWApO1xuICAgICAgcmV0dXJuIGlzTmFOKGRhdGUuZ2V0VGltZSgpKSA/IG51bGwgOiBkYXRlO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBvdmVycmlkZSBmb3JtYXQoZGF0ZTogRGF0ZSwgZGlzcGxheUZvcm1hdDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoIWRhdGUpIHJldHVybiAnJztcbiAgICBjb25zdCBkYXkgPSBkYXRlLmdldERhdGUoKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyk7XG4gICAgY29uc3QgbW9udGggPSBkYXRlLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycsIHsgbW9udGg6ICdzaG9ydCcgfSk7XG4gICAgY29uc3QgeWVhciA9IGRhdGUuZ2V0RnVsbFllYXIoKTtcbiAgICByZXR1cm4gYCR7ZGF5fS0ke21vbnRofS0ke3llYXJ9YDtcbiAgfVxufSJdfQ==
@@ -1,62 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { Component } from '@angular/core';
3
- import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
- import { FieldType, FormlyModule } from '@ngx-formly/core';
5
- import { FormlyMaterialModule } from '@ngx-formly/material';
6
- import { MatInputModule } from '@angular/material/input';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/common";
9
- import * as i2 from "@angular/material/input";
10
- import * as i3 from "@angular/forms";
11
- import * as i4 from "@ngx-formly/core";
12
- export class CustomInputComponent extends FieldType {
13
- get control() {
14
- return this.formControl;
15
- }
16
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CustomInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
17
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: CustomInputComponent, isStandalone: true, selector: "mu-formly-field-custom-input", usesInheritance: true, ngImport: i0, template: `
18
- <input
19
- matInput
20
- *ngIf="to.type !== 'textarea'; else textarea"
21
- [type]="to.type || 'text'"
22
- [formControl]="control"
23
- [formlyAttributes]="field"
24
- class="form-control"
25
- />
26
- <ng-template #textarea>
27
- <textarea
28
- matInput
29
- [formControl]="control"
30
- [formlyAttributes]="field"
31
- class="form-control"
32
- ></textarea>
33
- </ng-template>
34
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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: 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: "ngmodule", type: FormlyModule }, { kind: "directive", type: i4.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormlyMaterialModule }] }); }
35
- }
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CustomInputComponent, decorators: [{
37
- type: Component,
38
- args: [{
39
- selector: 'mu-formly-field-custom-input',
40
- standalone: true,
41
- imports: [CommonModule, MatInputModule, FormsModule, FormlyModule, ReactiveFormsModule, FormlyMaterialModule],
42
- template: `
43
- <input
44
- matInput
45
- *ngIf="to.type !== 'textarea'; else textarea"
46
- [type]="to.type || 'text'"
47
- [formControl]="control"
48
- [formlyAttributes]="field"
49
- class="form-control"
50
- />
51
- <ng-template #textarea>
52
- <textarea
53
- matInput
54
- [formControl]="control"
55
- [formlyAttributes]="field"
56
- class="form-control"
57
- ></textarea>
58
- </ng-template>
59
- `,
60
- }]
61
- }] });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Zvcm0tbGliL3NyYy9saWIvdHlwZXMvY3VzdG9tLWlucHV0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUzRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7OztBQXlCekQsTUFBTSxPQUFPLG9CQUFxQixTQUFRLFNBQVM7SUFDakQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsV0FBMEIsQ0FBQztJQUN6QyxDQUFDOytHQUhVLG9CQUFvQjttR0FBcEIsb0JBQW9CLCtHQW5CckI7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUJULDJEQWxCUyxZQUFZLGtJQUFFLGNBQWMsMFdBQUUsV0FBVyxzWkFBRSxZQUFZLHFKQUFFLG1CQUFtQixpTkFBRSxvQkFBb0I7OzRGQW9Cakcsb0JBQW9CO2tCQXZCaEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsOEJBQThCO29CQUN4QyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLG1CQUFtQixFQUFFLG9CQUFvQixDQUFDO29CQUM3RyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUJUO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGaWVsZFR5cGUsIEZvcm1seU1vZHVsZSB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGb3JtbHlNYXRlcmlhbE1vZHVsZSB9IGZyb20gJ0BuZ3gtZm9ybWx5L21hdGVyaWFsJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtdS1mb3JtbHktZmllbGQtY3VzdG9tLWlucHV0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0SW5wdXRNb2R1bGUsIEZvcm1zTW9kdWxlLCBGb3JtbHlNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIEZvcm1seU1hdGVyaWFsTW9kdWxlXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8aW5wdXRcbiAgICAgIG1hdElucHV0XG4gICAgICAqbmdJZj1cInRvLnR5cGUgIT09ICd0ZXh0YXJlYSc7IGVsc2UgdGV4dGFyZWFcIlxuICAgICAgW3R5cGVdPVwidG8udHlwZSB8fCAndGV4dCdcIlxuICAgICAgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIlxuICAgICAgW2Zvcm1seUF0dHJpYnV0ZXNdPVwiZmllbGRcIlxuICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgIC8+XG4gICAgPG5nLXRlbXBsYXRlICN0ZXh0YXJlYT5cbiAgICAgIDx0ZXh0YXJlYVxuICAgICAgICBtYXRJbnB1dFxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiXG4gICAgICAgIFtmb3JtbHlBdHRyaWJ1dGVzXT1cImZpZWxkXCJcbiAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgPjwvdGV4dGFyZWE+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgQ3VzdG9tSW5wdXRDb21wb25lbnQgZXh0ZW5kcyBGaWVsZFR5cGUge1xuICBnZXQgY29udHJvbCgpOiBGb3JtQ29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUNvbnRyb2wgYXMgRm9ybUNvbnRyb2w7XG4gIH1cbn1cbiJdfQ==
@@ -1,196 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { Component } from '@angular/core';
3
- import { FormControl, ReactiveFormsModule } from '@angular/forms';
4
- import { MatAutocompleteModule } from '@angular/material/autocomplete';
5
- import { MatFormFieldModule } from '@angular/material/form-field';
6
- import { MatInputModule } from '@angular/material/input';
7
- import { FieldType, FormlyModule } from '@ngx-formly/core';
8
- import { map, startWith } from 'rxjs';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "@angular/forms";
11
- import * as i2 from "@angular/material/form-field";
12
- import * as i3 from "@angular/material/input";
13
- import * as i4 from "@angular/common";
14
- import * as i5 from "@angular/material/autocomplete";
15
- import * as i6 from "@angular/material/core";
16
- export class FormlyFieldTimeComponent extends FieldType {
17
- constructor() {
18
- super(...arguments);
19
- this.hours = Array.from({ length: 24 }, (_, i) => i.toString().padStart(2, '0'));
20
- this.minutes = Array.from({ length: 60 }, (_, i) => i.toString().padStart(2, '0'));
21
- this.hourCtrl = new FormControl('');
22
- this.minuteCtrl = new FormControl('');
23
- }
24
- get control() {
25
- return this.formControl;
26
- }
27
- ngOnInit() {
28
- const modelTime = this.formControl.value;
29
- if (modelTime && modelTime.includes(':')) {
30
- const [h, m] = modelTime.split(':');
31
- this.hourCtrl.setValue(h);
32
- this.minuteCtrl.setValue(m);
33
- }
34
- this.filteredHours$ = this.hourCtrl.valueChanges.pipe(startWith(this.hourCtrl.value || ''), map((value) => this._filter(this.hours, value)));
35
- this.filteredMinutes$ = this.minuteCtrl.valueChanges.pipe(startWith(this.minuteCtrl.value || ''), map((value) => this._filter(this.minutes, value)));
36
- this.hourCtrl.valueChanges.subscribe((value) => {
37
- if (!this.hours.includes(value)) {
38
- this.hourCtrl.setErrors({ invalidHour: true });
39
- }
40
- else {
41
- this.hourCtrl.setErrors(null);
42
- }
43
- this.updateModel();
44
- });
45
- this.minuteCtrl.valueChanges.subscribe((value) => {
46
- if (!this.minutes.includes(value)) {
47
- this.minuteCtrl.setErrors({ invalidMinute: true });
48
- }
49
- else {
50
- this.minuteCtrl.setErrors(null);
51
- }
52
- this.updateModel();
53
- });
54
- }
55
- updateModel() {
56
- const h = this.hourCtrl.value;
57
- const m = this.minuteCtrl.value;
58
- if (this.hours.includes(h) && this.minutes.includes(m)) {
59
- this.formControl.setValue(`${h}:${m}`);
60
- }
61
- else {
62
- this.formControl.setValue(null); // Prevent saving invalid input
63
- }
64
- }
65
- _filter(options, value) {
66
- const filterValue = (value || '').toLowerCase();
67
- return options.filter((option) => option.toLowerCase().includes(filterValue));
68
- }
69
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormlyFieldTimeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
70
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: FormlyFieldTimeComponent, isStandalone: true, selector: "mu-formly-field-time", usesInheritance: true, ngImport: i0, template: `
71
- <div class="flex flex-col gap-2">
72
- <div class="flex gap-4">
73
- <mat-form-field appearance="outline" class="w-25">
74
- <mat-label>Hour</mat-label>
75
- <input
76
- type="text"
77
- matInput
78
- [readonly]="to.readonly || to.disabled"
79
- [required]="to.required || false"
80
- [disabled]="to.disabled || false"
81
- [formControl]="hourCtrl"
82
- [matAutocomplete]="autoHour"
83
- />
84
- <mat-autocomplete #autoHour="matAutocomplete">
85
- <mat-option
86
- *ngFor="let hour of filteredHours$ | async"
87
- [value]="hour"
88
- >
89
- {{ hour }}
90
- </mat-option>
91
- </mat-autocomplete>
92
- <mat-error class="text-[12px]" *ngIf="formControl.invalid && formControl.touched">
93
- {{ field.validation?.messages?.['required'] || 'This field is required' }}
94
- </mat-error>
95
- <mat-hint>{{to.description || 'Time in 24 hour format'}}</mat-hint>
96
- </mat-form-field>
97
- <span> : </span>
98
- <mat-form-field appearance="outline" class="w-25">
99
- <mat-label>Minute</mat-label>
100
- <input
101
- type="text"
102
- matInput
103
- [readonly]="to.readonly || to.disabled"
104
- [required]="to.required || false"
105
- [disabled]="to.disabled || false"
106
- [formControl]="minuteCtrl"
107
- [matAutocomplete]="autoMinute"
108
- />
109
- <mat-autocomplete #autoMinute="matAutocomplete">
110
- <mat-option
111
- *ngFor="let minute of filteredMinutes$ | async"
112
- [value]="minute"
113
- >
114
- {{ minute }}
115
- </mat-option>
116
- </mat-autocomplete>
117
- <mat-error class="text-[12px]" *ngIf="formControl.invalid && formControl.touched">
118
- {{ field.validation?.messages?.['required'] || 'This field is required' }}
119
- </mat-error>
120
- </mat-form-field>
121
- </div>
122
-
123
- </div>
124
- `, isInline: true, 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.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i3.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: FormlyModule }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i5.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i6.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i5.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }] }); }
125
- }
126
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormlyFieldTimeComponent, decorators: [{
127
- type: Component,
128
- args: [{
129
- selector: 'mu-formly-field-time',
130
- standalone: true,
131
- imports: [
132
- ReactiveFormsModule,
133
- MatFormFieldModule,
134
- MatInputModule,
135
- FormlyModule,
136
- CommonModule,
137
- MatAutocompleteModule,
138
- ],
139
- template: `
140
- <div class="flex flex-col gap-2">
141
- <div class="flex gap-4">
142
- <mat-form-field appearance="outline" class="w-25">
143
- <mat-label>Hour</mat-label>
144
- <input
145
- type="text"
146
- matInput
147
- [readonly]="to.readonly || to.disabled"
148
- [required]="to.required || false"
149
- [disabled]="to.disabled || false"
150
- [formControl]="hourCtrl"
151
- [matAutocomplete]="autoHour"
152
- />
153
- <mat-autocomplete #autoHour="matAutocomplete">
154
- <mat-option
155
- *ngFor="let hour of filteredHours$ | async"
156
- [value]="hour"
157
- >
158
- {{ hour }}
159
- </mat-option>
160
- </mat-autocomplete>
161
- <mat-error class="text-[12px]" *ngIf="formControl.invalid && formControl.touched">
162
- {{ field.validation?.messages?.['required'] || 'This field is required' }}
163
- </mat-error>
164
- <mat-hint>{{to.description || 'Time in 24 hour format'}}</mat-hint>
165
- </mat-form-field>
166
- <span> : </span>
167
- <mat-form-field appearance="outline" class="w-25">
168
- <mat-label>Minute</mat-label>
169
- <input
170
- type="text"
171
- matInput
172
- [readonly]="to.readonly || to.disabled"
173
- [required]="to.required || false"
174
- [disabled]="to.disabled || false"
175
- [formControl]="minuteCtrl"
176
- [matAutocomplete]="autoMinute"
177
- />
178
- <mat-autocomplete #autoMinute="matAutocomplete">
179
- <mat-option
180
- *ngFor="let minute of filteredMinutes$ | async"
181
- [value]="minute"
182
- >
183
- {{ minute }}
184
- </mat-option>
185
- </mat-autocomplete>
186
- <mat-error class="text-[12px]" *ngIf="formControl.invalid && formControl.touched">
187
- {{ field.validation?.messages?.['required'] || 'This field is required' }}
188
- </mat-error>
189
- </mat-form-field>
190
- </div>
191
-
192
- </div>
193
- `,
194
- }]
195
- }] });
196
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1mb3JtYXQudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Zvcm0tbGliL3NyYy9saWIvdHlwZXMvZGF0ZS1mb3JtYXQudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0QsT0FBTyxFQUFFLEdBQUcsRUFBYyxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7O0FBcUVsRCxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsU0FBUztJQW5FdkQ7O1FBd0VFLFVBQUssR0FBYSxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQ3BELENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUM5QixDQUFDO1FBQ0YsWUFBTyxHQUFhLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FDdEQsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVB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bk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IEZpZWxkVHlwZSwgRm9ybWx5TW9kdWxlIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5pbXBvcnQgeyBtYXAsIE9ic2VydmFibGUsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtdS1mb3JtbHktZmllbGQtdGltZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBGb3JtbHlNb2R1bGUsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdEF1dG9jb21wbGV0ZU1vZHVsZSxcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtMlwiPlxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggZ2FwLTRcIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCIgY2xhc3M9XCJ3LTI1XCI+XG4gICAgICAgICAgPG1hdC1sYWJlbD5Ib3VyPC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgW3JlYWRvbmx5XT1cInRvLnJlYWRvbmx5IHx8IHRvLmRpc2FibGVkXCJcbiAgICAgICAgICAgIFtyZXF1aXJlZF09XCJ0by5yZXF1aXJlZCB8fCBmYWxzZVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwidG8uZGlzYWJsZWQgfHwgZmFsc2VcIlxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImhvdXJDdHJsXCJcbiAgICAgICAgICAgIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b0hvdXJcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPG1hdC1hdXRvY29tcGxldGUgI2F1dG9Ib3VyPVwibWF0QXV0b2NvbXBsZXRlXCI+XG4gICAgICAgICAgICA8bWF0LW9wdGlvblxuICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgaG91ciBvZiBmaWx0ZXJlZEhvdXJzJCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgW3ZhbHVlXT1cImhvdXJcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyBob3VyIH19XG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxuICAgICAgICAgIDxtYXQtZXJyb3IgY2xhc3M9XCJ0ZXh0LVsxMnB4XVwiICpuZ0lmPVwiZm9ybUNvbnRyb2wuaW52YWxpZCAmJiBmb3JtQ29udHJvbC50b3VjaGVkXCI+XG4gICAgICAgICAgICB7eyBmaWVsZC52YWxpZGF0aW9uPy5tZXNzYWdlcz8uWydyZXF1aXJlZCddIHx8ICdUaGlzIGZpZWxkIGlzIHJlcXVpcmVkJyB9fVxuICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgIDxtYXQtaGludD57e3RvLmRlc2NyaXB0aW9uIHx8ICdUaW1lIGluIDI0IGhvdXIgZm9ybWF0J319PC9tYXQtaGludD5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPHNwYW4+IDogPC9zcGFuPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIiBjbGFzcz1cInctMjVcIj5cbiAgICAgICAgICA8bWF0LWxhYmVsPk1pbnV0ZTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgIFtyZWFkb25seV09XCJ0by5yZWFkb25seSB8fCB0by5kaXNhYmxlZFwiXG4gICAgICAgICAgICBbcmVxdWlyZWRdPVwidG8ucmVxdWlyZWQgfHwgZmFsc2VcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cInRvLmRpc2FibGVkIHx8IGZhbHNlXCJcbiAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJtaW51dGVDdHJsXCJcbiAgICAgICAgICAgIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b01pbnV0ZVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8bWF0LWF1dG9jb21wbGV0ZSAjYXV0b01pbnV0ZT1cIm1hdEF1dG9jb21wbGV0ZVwiPlxuICAgICAgICAgICAgPG1hdC1vcHRpb25cbiAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG1pbnV0ZSBvZiBmaWx0ZXJlZE1pbnV0ZXMkIHwgYXN5bmNcIlxuICAgICAgICAgICAgICBbdmFsdWVdPVwibWludXRlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3sgbWludXRlIH19XG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxuICAgICAgICAgIDxtYXQtZXJyb3IgY2xhc3M9XCJ0ZXh0LVsxMnB4XVwiICpuZ0lmPVwiZm9ybUNvbnRyb2wuaW52YWxpZCAmJiBmb3JtQ29udHJvbC50b3VjaGVkXCI+XG4gICAgICAgICAgICB7eyBmaWVsZC52YWxpZGF0aW9uPy5tZXNzYWdlcz8uWydyZXF1aXJlZCddIHx8ICdUaGlzIGZpZWxkIGlzIHJlcXVpcmVkJyB9fVxuICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgICBcbiAgICA8L2Rpdj5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybWx5RmllbGRUaW1lQ29tcG9uZW50IGV4dGVuZHMgRmllbGRUeXBlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgZ2V0IGNvbnRyb2woKTogRm9ybUNvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLmZvcm1Db250cm9sIGFzIEZvcm1Db250cm9sO1xuICB9XG5cbiAgaG91cnM6IHN0cmluZ1tdID0gQXJyYXkuZnJvbSh7IGxlbmd0aDogMjQgfSwgKF8sIGkpID0+XG4gICAgaS50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJylcbiAgKTtcbiAgbWludXRlczogc3RyaW5nW10gPSBBcnJheS5mcm9tKHsgbGVuZ3RoOiA2MCB9LCAoXywgaSkgPT5cbiAgICBpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKVxuICApO1xuXG4gIGhvdXJDdHJsID0gbmV3IEZvcm1Db250cm9sKCcnKTtcbiAgbWludXRlQ3RybCA9IG5ldyBGb3JtQ29udHJvbCgnJyk7XG5cbiAgZmlsdGVyZWRIb3VycyQhOiBPYnNlcnZhYmxlPHN0cmluZ1tdPjtcbiAgZmlsdGVyZWRNaW51dGVzJCE6IE9ic2VydmFibGU8c3RyaW5nW10+O1xuXG4gIG5nT25Jbml0KCkge1xuICAgIGNvbnN0IG1vZGVsVGltZSA9IHRoaXMuZm9ybUNvbnRyb2wudmFsdWU7XG4gICAgaWYgKG1vZGVsVGltZSAmJiBtb2RlbFRpbWUuaW5jbHVkZXMoJzonKSkge1xuICAgICAgY29uc3QgW2gsIG1dID0gbW9kZWxUaW1lLnNwbGl0KCc6Jyk7XG4gICAgICB0aGlzLmhvdXJDdHJsLnNldFZhbHVlKGgpO1xuICAgICAgdGhpcy5taW51dGVDdHJsLnNldFZhbHVlKG0pO1xuICAgIH1cblxuICAgIHRoaXMuZmlsdGVyZWRIb3VycyQgPSB0aGlzLmhvdXJDdHJsLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgc3RhcnRXaXRoKHRoaXMuaG91ckN0cmwudmFsdWUgfHwgJycpLFxuICAgICAgbWFwKCh2YWx1ZTogYW55KSA9PiB0aGlzLl9maWx0ZXIodGhpcy5ob3VycywgdmFsdWUpKVxuICAgICk7XG5cbiAgICB0aGlzLmZpbHRlcmVkTWludXRlcyQgPSB0aGlzLm1pbnV0ZUN0cmwudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICBzdGFydFdpdGgodGhpcy5taW51dGVDdHJsLnZhbHVlIHx8ICcnKSxcbiAgICAgIG1hcCgodmFsdWU6IGFueSkgPT4gdGhpcy5fZmlsdGVyKHRoaXMubWludXRlcywgdmFsdWUpKVxuICAgICk7XG5cbiAgICB0aGlzLmhvdXJDdHJsLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHZhbHVlOiBhbnkpID0+IHtcbiAgICAgIGlmICghdGhpcy5ob3Vycy5pbmNsdWRlcyh2YWx1ZSkpIHtcbiAgICAgICAgdGhpcy5ob3VyQ3RybC5zZXRFcnJvcnMoeyBpbnZhbGlkSG91cjogdHJ1ZSB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuaG91ckN0cmwuc2V0RXJyb3JzKG51bGwpO1xuICAgICAgfVxuICAgICAgdGhpcy51cGRhdGVNb2RlbCgpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5taW51dGVDdHJsLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHZhbHVlOiBhbnkpID0+IHtcbiAgICAgIGlmICghdGhpcy5taW51dGVzLmluY2x1ZGVzKHZhbHVlKSkge1xuICAgICAgICB0aGlzLm1pbnV0ZUN0cmwuc2V0RXJyb3JzKHsgaW52YWxpZE1pbnV0ZTogdHJ1ZSB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMubWludXRlQ3RybC5zZXRFcnJvcnMobnVsbCk7XG4gICAgICB9XG4gICAgICB0aGlzLnVwZGF0ZU1vZGVsKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZU1vZGVsKCkge1xuICAgIGNvbnN0IGggPSB0aGlzLmhvdXJDdHJsLnZhbHVlIGFzIHN0cmluZztcbiAgICBjb25zdCBtID0gdGhpcy5taW51dGVDdHJsLnZhbHVlIGFzIHN0cmluZztcblxuICAgIGlmICh0aGlzLmhvdXJzLmluY2x1ZGVzKGgpICYmIHRoaXMubWludXRlcy5pbmNsdWRlcyhtKSkge1xuICAgICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZShgJHtofToke219YCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUobnVsbCk7IC8vIFByZXZlbnQgc2F2aW5nIGludmFsaWQgaW5wdXRcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9maWx0ZXIob3B0aW9uczogc3RyaW5nW10sIHZhbHVlOiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgZmlsdGVyVmFsdWUgPSAodmFsdWUgfHwgJycpLnRvTG93ZXJDYXNlKCk7XG4gICAgcmV0dXJuIG9wdGlvbnMuZmlsdGVyKChvcHRpb24pID0+XG4gICAgICBvcHRpb24udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhmaWx0ZXJWYWx1ZSlcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -1,85 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { Component, ViewEncapsulation } from '@angular/core';
3
- import { MatExpansionModule } from '@angular/material/expansion';
4
- import { MatFormFieldModule } from '@angular/material/form-field';
5
- import { MatIconModule } from '@angular/material/icon';
6
- import { FieldType, FormlyModule } from '@ngx-formly/core';
7
- import { FormlyMaterialModule } from '@ngx-formly/material';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "@angular/material/expansion";
10
- import * as i2 from "@ngx-formly/core";
11
- export class FormlyFieldExpansionPanelComponent extends FieldType {
12
- constructor() {
13
- super(...arguments);
14
- this.field = {};
15
- }
16
- get expanded() {
17
- const conditionKey = this.field?.props?.collapseConditionKey;
18
- const conditionValue = this.field?.props?.collapseConditionValue;
19
- if (conditionKey && conditionValue !== undefined) {
20
- const currentValue = this.formControl?.value?.[conditionKey];
21
- return currentValue !== conditionValue;
22
- }
23
- return this.field?.props?.expanded || false;
24
- }
25
- set expanded(value) {
26
- if (this.field?.props) {
27
- this.field.props.expanded = value;
28
- }
29
- }
30
- ngOnInit() {
31
- this.formControl.valueChanges.subscribe(() => {
32
- this.expanded = this.expanded;
33
- });
34
- }
35
- isValid(field) {
36
- if (field.key) {
37
- return field?.formControl?.valid || true;
38
- }
39
- return field.fieldGroup ? field.fieldGroup.every((fieldItem) => this.isValid(fieldItem)) : true;
40
- }
41
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormlyFieldExpansionPanelComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
42
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: FormlyFieldExpansionPanelComponent, isStandalone: true, selector: "mu-formly-field-expansion-panel", usesInheritance: true, ngImport: i0, template: `<mat-accordion class="example-headers-align" multi>
43
- <mat-expansion-panel [expanded]="field?.props?.expanded || false">
44
- <mat-expansion-panel-header [class]="[field?.props?.backgroundColor]">
45
- <mat-panel-title [class]="[field?.props?.color]"> {{field?.props?.label}} </mat-panel-title>
46
- <mat-panel-description [class]="[field?.props?.color]">
47
- {{field?.props?.description ?? ''}}
48
- </mat-panel-description>
49
- </mat-expansion-panel-header>
50
- @for(fieldItem of field?.fieldGroup; track fieldItem){
51
- <formly-field [field]="fieldItem"></formly-field>
52
- }
53
- </mat-expansion-panel>
54
- </mat-accordion>`, isInline: true, dependencies: [{ kind: "ngmodule", type: MatFormFieldModule }, { kind: "ngmodule", type: MatExpansionModule }, { kind: "directive", type: i1.MatAccordion, selector: "mat-accordion", inputs: ["hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { kind: "component", type: i1.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i1.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: i1.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "directive", type: i1.MatExpansionPanelDescription, selector: "mat-panel-description" }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: FormlyMaterialModule }, { kind: "ngmodule", type: FormlyModule }, { kind: "component", type: i2.FormlyField, selector: "formly-field", inputs: ["field"] }, { kind: "ngmodule", type: CommonModule }], encapsulation: i0.ViewEncapsulation.None }); }
55
- }
56
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormlyFieldExpansionPanelComponent, decorators: [{
57
- type: Component,
58
- args: [{
59
- selector: 'mu-formly-field-expansion-panel',
60
- standalone: true,
61
- encapsulation: ViewEncapsulation.None,
62
- imports: [
63
- MatFormFieldModule,
64
- MatExpansionModule,
65
- MatIconModule,
66
- FormlyMaterialModule,
67
- FormlyModule,
68
- CommonModule
69
- ],
70
- template: `<mat-accordion class="example-headers-align" multi>
71
- <mat-expansion-panel [expanded]="field?.props?.expanded || false">
72
- <mat-expansion-panel-header [class]="[field?.props?.backgroundColor]">
73
- <mat-panel-title [class]="[field?.props?.color]"> {{field?.props?.label}} </mat-panel-title>
74
- <mat-panel-description [class]="[field?.props?.color]">
75
- {{field?.props?.description ?? ''}}
76
- </mat-panel-description>
77
- </mat-expansion-panel-header>
78
- @for(fieldItem of field?.fieldGroup; track fieldItem){
79
- <formly-field [field]="fieldItem"></formly-field>
80
- }
81
- </mat-expansion-panel>
82
- </mat-accordion>`
83
- }]
84
- }] });
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5zaW9uLXBhbmVsLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybS1saWIvc3JjL2xpYi90eXBlcy9leHBhbnNpb24tcGFuZWwudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQVUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZELE9BQU8sRUFBRSxTQUFTLEVBQWdFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3pILE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7O0FBNkI1RCxNQUFNLE9BQU8sa0NBQW1DLFNBQVEsU0FBUztJQTNCakU7O1FBNEJhLFVBQUssR0FBUSxFQUFFLENBQUM7S0ErQjFCO0lBN0JDLElBQUksUUFBUTtRQUNWLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLG9CQUFvQixDQUFDO1FBQzdELE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLHNCQUFzQixDQUFDO1FBQ2pFLElBQUksWUFBWSxJQUFJLGNBQWMsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNqRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssRUFBRSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzdELE9BQU8sWUFBWSxLQUFLLGNBQWMsQ0FBQztRQUN6QyxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxRQUFRLElBQUksS0FBSyxDQUFDO0lBQzlDLENBQUM7SUFFRCxJQUFJLFFBQVEsQ0FBQyxLQUFjO1FBQ3pCLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3BDLENBQUM7SUFDSCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDM0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUF3QjtRQUM5QixJQUFJLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNkLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLElBQUksSUFBSSxDQUFDO1FBQzNDLENBQUM7UUFFRCxPQUFPLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNsRyxDQUFDOytHQS9CUSxrQ0FBa0M7bUdBQWxDLGtDQUFrQyxrSEFmakM7Ozs7Ozs7Ozs7OztxQkFZTywyREFuQmIsa0JBQWtCLDhCQUNsQixrQkFBa0Isd3RCQUNsQixhQUFhLDhCQUNiLG9CQUFvQiw4QkFDcEIsWUFBWSx3SEFDWixZQUFZOzs0RkFpQlAsa0NBQWtDO2tCQTNCOUMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsaUNBQWlDO29CQUMzQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLE9BQU8sRUFBRTt3QkFDTCxrQkFBa0I7d0JBQ2xCLGtCQUFrQjt3QkFDbEIsYUFBYTt3QkFDYixvQkFBb0I7d0JBQ3BCLFlBQVk7d0JBQ1osWUFBWTtxQkFDZjtvQkFDRCxRQUFRLEVBQUU7Ozs7Ozs7Ozs7OztxQkFZTztpQkFDcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge01hdEV4cGFuc2lvbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZXhwYW5zaW9uJztcbmltcG9ydCB7TWF0Rm9ybUZpZWxkTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IEJyb3dzZXJBbmltYXRpb25zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci9hbmltYXRpb25zJztcbmltcG9ydCB7IEZpZWxkVHlwZSwgRm9ybWx5RmllbGQsIEZvcm1seUZpZWxkQ29uZmlnLCBGb3JtbHlGaWVsZFByb3BzLCBGb3JtbHlGb3JtLCBGb3JtbHlNb2R1bGUgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcbmltcG9ydCB7IEZvcm1seU1hdGVyaWFsTW9kdWxlIH0gZnJvbSAnQG5neC1mb3JtbHkvbWF0ZXJpYWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ211LWZvcm1seS1maWVsZC1leHBhbnNpb24tcGFuZWwnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICAgICAgTWF0RXhwYW5zaW9uTW9kdWxlLFxuICAgICAgICBNYXRJY29uTW9kdWxlLFxuICAgICAgICBGb3JtbHlNYXRlcmlhbE1vZHVsZSxcbiAgICAgICAgRm9ybWx5TW9kdWxlLFxuICAgICAgICBDb21tb25Nb2R1bGVcbiAgICBdLFxuICAgIHRlbXBsYXRlOiBgPG1hdC1hY2NvcmRpb24gY2xhc3M9XCJleGFtcGxlLWhlYWRlcnMtYWxpZ25cIiBtdWx0aT5cbiAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbCBbZXhwYW5kZWRdPVwiZmllbGQ/LnByb3BzPy5leHBhbmRlZCB8fCBmYWxzZVwiPlxuICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIFtjbGFzc109XCJbZmllbGQ/LnByb3BzPy5iYWNrZ3JvdW5kQ29sb3JdXCI+XG4gICAgICAgIDxtYXQtcGFuZWwtdGl0bGUgW2NsYXNzXT1cIltmaWVsZD8ucHJvcHM/LmNvbG9yXVwiPiB7e2ZpZWxkPy5wcm9wcz8ubGFiZWx9fSA8L21hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgPG1hdC1wYW5lbC1kZXNjcmlwdGlvbiBbY2xhc3NdPVwiW2ZpZWxkPy5wcm9wcz8uY29sb3JdXCI+XG4gICAgICAgICAge3tmaWVsZD8ucHJvcHM/LmRlc2NyaXB0aW9uID8/ICcnfX1cbiAgICAgICAgPC9tYXQtcGFuZWwtZGVzY3JpcHRpb24+XG4gICAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgQGZvcihmaWVsZEl0ZW0gb2YgZmllbGQ/LmZpZWxkR3JvdXA7IHRyYWNrIGZpZWxkSXRlbSl7XG4gICAgICAgICAgPGZvcm1seS1maWVsZCBbZmllbGRdPVwiZmllbGRJdGVtXCI+PC9mb3JtbHktZmllbGQ+XG4gICAgICB9XG4gICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgIDwvbWF0LWFjY29yZGlvbj5gXG59KVxuXG5leHBvcnQgY2xhc3MgRm9ybWx5RmllbGRFeHBhbnNpb25QYW5lbENvbXBvbmVudCBleHRlbmRzIEZpZWxkVHlwZSBpbXBsZW1lbnRzIE9uSW5pdHtcbiAgICBvdmVycmlkZSBmaWVsZCA6IGFueT0ge307XG5cbiAgICBnZXQgZXhwYW5kZWQoKTogYm9vbGVhbiB7XG4gICAgICBjb25zdCBjb25kaXRpb25LZXkgPSB0aGlzLmZpZWxkPy5wcm9wcz8uY29sbGFwc2VDb25kaXRpb25LZXk7XG4gICAgICBjb25zdCBjb25kaXRpb25WYWx1ZSA9IHRoaXMuZmllbGQ/LnByb3BzPy5jb2xsYXBzZUNvbmRpdGlvblZhbHVlOyAgXG4gICAgICBpZiAoY29uZGl0aW9uS2V5ICYmIGNvbmRpdGlvblZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29uc3QgY3VycmVudFZhbHVlID0gdGhpcy5mb3JtQ29udHJvbD8udmFsdWU/Lltjb25kaXRpb25LZXldO1xuICAgICAgICByZXR1cm4gY3VycmVudFZhbHVlICE9PSBjb25kaXRpb25WYWx1ZTsgXG4gICAgICB9ICBcbiAgICAgIHJldHVybiB0aGlzLmZpZWxkPy5wcm9wcz8uZXhwYW5kZWQgfHwgZmFsc2U7XG4gICAgfVxuICAgXG4gICAgc2V0IGV4cGFuZGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICBpZiAodGhpcy5maWVsZD8ucHJvcHMpIHtcbiAgICAgICAgdGhpcy5maWVsZC5wcm9wcy5leHBhbmRlZCA9IHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIG5nT25Jbml0KCkgeyBcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuZXhwYW5kZWQgPSB0aGlzLmV4cGFuZGVkOyBcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlzVmFsaWQoZmllbGQ6IEZvcm1seUZpZWxkQ29uZmlnKTogYm9vbGVhbiB7XG4gICAgICBpZiAoZmllbGQua2V5KSB7XG4gICAgICAgIHJldHVybiBmaWVsZD8uZm9ybUNvbnRyb2w/LnZhbGlkIHx8IHRydWU7XG4gICAgICB9XG4gIFxuICAgICAgcmV0dXJuIGZpZWxkLmZpZWxkR3JvdXAgPyBmaWVsZC5maWVsZEdyb3VwLmV2ZXJ5KChmaWVsZEl0ZW0pID0+IHRoaXMuaXNWYWxpZChmaWVsZEl0ZW0pKSA6IHRydWU7XG4gICAgfVxuICB9Il19