@falcon-ng/tailwind 0.0.6 → 0.0.7
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/esm2022/lib/component/auto-complete/auto-complete.component.mjs +34 -0
- package/esm2022/lib/component/bottom-sheet/bottom-sheet.component.mjs +30 -0
- package/esm2022/lib/component/button/button.component.mjs +28 -0
- package/esm2022/lib/component/button-toggle/button-toggle.component.mjs +33 -0
- package/{esm2020 → esm2022}/lib/component/checkbox/checkbox.component.mjs +6 -5
- package/esm2022/lib/component/chips/chip.component.mjs +110 -0
- package/esm2022/lib/component/date-picker/date-picker.component.mjs +18 -0
- package/esm2022/lib/component/dialog/dialog.component.mjs +22 -0
- package/esm2022/lib/component/pagination/pagination.component.mjs +96 -0
- package/esm2022/lib/component/progress-bar/progress-bar.component.mjs +21 -0
- package/esm2022/lib/component/progress-spinner/progress-spinner.component.mjs +27 -0
- package/esm2022/lib/component/radio/radio.component.mjs +32 -0
- package/esm2022/lib/component/rich-text-editor/rich-text-editor.component.mjs +16 -0
- package/esm2022/lib/component/select/select.component.mjs +36 -0
- package/esm2022/lib/component/slide-toggle/slide-toggle.component.mjs +15 -0
- package/esm2022/lib/component/slider/slider.component.mjs +16 -0
- package/esm2022/lib/component/snack-bar/snack-bar.component.mjs +12 -0
- package/esm2022/lib/component/table/table.component.mjs +75 -0
- package/esm2022/lib/component/textarea/textarea.component.mjs +17 -0
- package/esm2022/lib/component/textbox/textbox.component.mjs +18 -0
- package/esm2022/lib/control-builder/control-builder.component.mjs +19 -0
- package/esm2022/lib/falcon-core.module.mjs +231 -0
- package/esm2022/lib/model/constant.mjs +33 -0
- package/esm2022/lib/module/angularmaterial.module.mjs +190 -0
- package/esm2022/lib/reactive-field.directive.mjs +29 -0
- package/esm2022/lib/service/appsetting.service.mjs +56 -0
- package/esm2022/lib/service/http/generic-http-client.mjs +198 -0
- package/esm2022/lib/service/http/igeneric-http-client.mjs +11 -0
- package/esm2022/lib/service/logger.service.mjs +79 -0
- package/esm2022/lib/service/open-id/TokenHelperService.mjs +72 -0
- package/esm2022/lib/service/open-id/auth-guard.service.mjs +31 -0
- package/esm2022/lib/service/open-id/auth.service.mjs +155 -0
- package/{fesm2020 → fesm2022}/falcon-ng-tailwind.mjs +287 -287
- package/fesm2022/falcon-ng-tailwind.mjs.map +1 -0
- package/lib/component/button/button.component.d.ts +1 -1
- package/lib/component/chips/chip.component.d.ts +1 -1
- package/lib/component/pagination/pagination.component.d.ts +1 -1
- package/lib/component/progress-bar/progress-bar.component.d.ts +1 -1
- package/lib/component/progress-spinner/progress-spinner.component.d.ts +1 -1
- package/lib/component/table/table.component.d.ts +1 -1
- package/lib/control-builder/control-builder.component.d.ts +1 -1
- package/lib/reactive-field.directive.d.ts +1 -1
- package/lib/service/open-id/auth-guard.service.d.ts +2 -2
- package/package.json +7 -13
- package/esm2020/lib/component/auto-complete/auto-complete.component.mjs +0 -33
- package/esm2020/lib/component/bottom-sheet/bottom-sheet.component.mjs +0 -29
- package/esm2020/lib/component/button/button.component.mjs +0 -27
- package/esm2020/lib/component/button-toggle/button-toggle.component.mjs +0 -32
- package/esm2020/lib/component/chips/chip.component.mjs +0 -109
- package/esm2020/lib/component/date-picker/date-picker.component.mjs +0 -17
- package/esm2020/lib/component/dialog/dialog.component.mjs +0 -21
- package/esm2020/lib/component/pagination/pagination.component.mjs +0 -95
- package/esm2020/lib/component/progress-bar/progress-bar.component.mjs +0 -20
- package/esm2020/lib/component/progress-spinner/progress-spinner.component.mjs +0 -26
- package/esm2020/lib/component/radio/radio.component.mjs +0 -31
- package/esm2020/lib/component/rich-text-editor/rich-text-editor.component.mjs +0 -15
- package/esm2020/lib/component/select/select.component.mjs +0 -35
- package/esm2020/lib/component/slide-toggle/slide-toggle.component.mjs +0 -14
- package/esm2020/lib/component/slider/slider.component.mjs +0 -15
- package/esm2020/lib/component/snack-bar/snack-bar.component.mjs +0 -11
- package/esm2020/lib/component/table/table.component.mjs +0 -74
- package/esm2020/lib/component/textarea/textarea.component.mjs +0 -16
- package/esm2020/lib/component/textbox/textbox.component.mjs +0 -17
- package/esm2020/lib/control-builder/control-builder.component.mjs +0 -18
- package/esm2020/lib/falcon-core.module.mjs +0 -230
- package/esm2020/lib/model/constant.mjs +0 -32
- package/esm2020/lib/module/angularmaterial.module.mjs +0 -189
- package/esm2020/lib/reactive-field.directive.mjs +0 -28
- package/esm2020/lib/service/appsetting.service.mjs +0 -55
- package/esm2020/lib/service/http/generic-http-client.mjs +0 -197
- package/esm2020/lib/service/http/igeneric-http-client.mjs +0 -10
- package/esm2020/lib/service/logger.service.mjs +0 -78
- package/esm2020/lib/service/open-id/TokenHelperService.mjs +0 -71
- package/esm2020/lib/service/open-id/auth-guard.service.mjs +0 -30
- package/esm2020/lib/service/open-id/auth.service.mjs +0 -154
- package/fesm2015/falcon-ng-tailwind.mjs +0 -1988
- package/fesm2015/falcon-ng-tailwind.mjs.map +0 -1
- package/fesm2020/falcon-ng-tailwind.mjs.map +0 -1
- /package/{esm2020 → esm2022}/falcon-ng-tailwind.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/base-control.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/base-form-component.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/control-type/AutoComplete.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/control-type/Button.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/control-type/ButtonToggle.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/control-type/CheckBox.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/control-type/Chip.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/control-type/DatePicker.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/control-type/Divider.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/control-type/Editor.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/control-type/Radio.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/control-type/RichTextEditor.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/control-type/SlideToggle.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/control-type/Slider.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/control-type/Textarea.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/control-type/Textbox.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/control-type/select.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/model/enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/model/environments.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/model/interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/model/ivalidator.mjs +0 -0
- /package/{esm2020 → esm2022}/public-api.mjs +0 -0
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import { FormControl } from "@angular/forms";
|
|
3
|
+
import { map, startWith } from 'rxjs/operators';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/material/autocomplete";
|
|
6
|
+
import * as i2 from "@angular/material/core";
|
|
7
|
+
import * as i3 from "@angular/material/input";
|
|
8
|
+
import * as i4 from "@angular/material/form-field";
|
|
9
|
+
import * as i5 from "@angular/material/tooltip";
|
|
10
|
+
import * as i6 from "@angular/common";
|
|
11
|
+
import * as i7 from "@angular/forms";
|
|
12
|
+
class AutoCompleteComponent {
|
|
13
|
+
constructor() {
|
|
14
|
+
this.autoCompleteControl = new FormControl();
|
|
15
|
+
}
|
|
16
|
+
ngOnInit() {
|
|
17
|
+
this.filteredOptions = this.autoCompleteControl.valueChanges.pipe(startWith(''), map(value => this._filter(value)));
|
|
18
|
+
}
|
|
19
|
+
_filter(value) {
|
|
20
|
+
const filterValue = value.toLowerCase();
|
|
21
|
+
return this.control.options.filter((option) => option?.key?.toLowerCase().includes(filterValue));
|
|
22
|
+
}
|
|
23
|
+
optionSelected(value) {
|
|
24
|
+
this.formGroup?.get(this.control?.formControlName)?.setValue(value);
|
|
25
|
+
}
|
|
26
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: AutoCompleteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: AutoCompleteComponent, selector: "falcon-auto-complete", ngImport: i0, template: "<mat-form-field *ngIf=\"control.appearance != 'plain'; else plainInput\" [appearance]=\"control.appearance\"\n [formGroup]=\"formGroup\" [ngStyle]=\"control.style\" [ngClass]=\"control.class\">\n <mat-label>{{control.label}}</mat-label>\n <input matInput [formControl]=\"autoCompleteControl\" [formControlName]=\"control.formControlName\"\n [placeholder]=\"control.placeHolder\" [type]=\"control.type\" [ngStyle]=\"control.style\" [ngClass]=\"control.class\"\n [matAutocomplete]=\"auto\"\n [required]=\"formGroup.get(control.formControlName)?.errors !== null && formGroup.get(control.formControlName)?.errors?.['required']\">\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)='optionSelected($event.option.viewValue)'>\n <mat-option *ngFor=\"let item of filteredOptions | async\" [value]=\"item.key\">\n {{item.value}}\n </mat-option>\n </mat-autocomplete>\n\n <span matPrefix [matTooltip]=\"control.prefix.toolTipText!\"\n [ngClass]=\"{'material-icons': control.prefix.isIcon}\">{{control.prefix.text}} </span>\n <span matSuffix [matTooltip]=\"control.suffix.toolTipText!\"\n [ngClass]=\"{'material-icons': control.suffix.isIcon}\">{{control.suffix.text}} </span>\n\n <mat-hint>{{control.hint.text}}</mat-hint>\n <ng-container *ngFor=\"let validation of control.validations;\" ngProjectAs=\"mat-error\">\n <mat-error *ngIf=\"formGroup.get(control.formControlName)?.hasError(validation.name)\">{{validation.message}}\n </mat-error>\n </ng-container>\n</mat-form-field>\n\n<ng-template #plainInput>\n <div [formGroup]=\"formGroup\" [ngStyle]=\"control.style\" [ngClass]=\"control.class\">\n <input type=\"text\" [formControl]=\"autoCompleteControl\" [formControlName]=\"control.formControlName\"\n [placeholder]=\"control.placeHolder\" [type]=\"control.type\" [ngStyle]=\"control.style\" [ngClass]=\"control.class\"\n [matAutocomplete]=\"auto\"\n [required]=\"formGroup.get(control.formControlName)?.errors !== null && formGroup.get(control.formControlName)?.errors?.['required']\"\n class=\"bg-gray-200 appearance-none border-2 border-gray-200 rounded w-full py-2 px-4 text-gray-700 leading-tight focus:outline-none focus:bg-white focus:border-purple-500\">\n </div>\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)='optionSelected($event.option.viewValue)'>\n <mat-option *ngFor=\"let item of filteredOptions | async\" [value]=\"item.key\">\n {{item.value}}\n </mat-option>\n </mat-autocomplete>\n</ng-template>", styles: [""], dependencies: [{ kind: "component", type: i1.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple", "hideSingleSelectionIndicator"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i2.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i1.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { 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: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i4.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i4.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i4.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i7.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: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i7.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i7.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i7.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i7.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }] }); }
|
|
28
|
+
}
|
|
29
|
+
export { AutoCompleteComponent };
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: AutoCompleteComponent, decorators: [{
|
|
31
|
+
type: Component,
|
|
32
|
+
args: [{ selector: 'falcon-auto-complete', template: "<mat-form-field *ngIf=\"control.appearance != 'plain'; else plainInput\" [appearance]=\"control.appearance\"\n [formGroup]=\"formGroup\" [ngStyle]=\"control.style\" [ngClass]=\"control.class\">\n <mat-label>{{control.label}}</mat-label>\n <input matInput [formControl]=\"autoCompleteControl\" [formControlName]=\"control.formControlName\"\n [placeholder]=\"control.placeHolder\" [type]=\"control.type\" [ngStyle]=\"control.style\" [ngClass]=\"control.class\"\n [matAutocomplete]=\"auto\"\n [required]=\"formGroup.get(control.formControlName)?.errors !== null && formGroup.get(control.formControlName)?.errors?.['required']\">\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)='optionSelected($event.option.viewValue)'>\n <mat-option *ngFor=\"let item of filteredOptions | async\" [value]=\"item.key\">\n {{item.value}}\n </mat-option>\n </mat-autocomplete>\n\n <span matPrefix [matTooltip]=\"control.prefix.toolTipText!\"\n [ngClass]=\"{'material-icons': control.prefix.isIcon}\">{{control.prefix.text}} </span>\n <span matSuffix [matTooltip]=\"control.suffix.toolTipText!\"\n [ngClass]=\"{'material-icons': control.suffix.isIcon}\">{{control.suffix.text}} </span>\n\n <mat-hint>{{control.hint.text}}</mat-hint>\n <ng-container *ngFor=\"let validation of control.validations;\" ngProjectAs=\"mat-error\">\n <mat-error *ngIf=\"formGroup.get(control.formControlName)?.hasError(validation.name)\">{{validation.message}}\n </mat-error>\n </ng-container>\n</mat-form-field>\n\n<ng-template #plainInput>\n <div [formGroup]=\"formGroup\" [ngStyle]=\"control.style\" [ngClass]=\"control.class\">\n <input type=\"text\" [formControl]=\"autoCompleteControl\" [formControlName]=\"control.formControlName\"\n [placeholder]=\"control.placeHolder\" [type]=\"control.type\" [ngStyle]=\"control.style\" [ngClass]=\"control.class\"\n [matAutocomplete]=\"auto\"\n [required]=\"formGroup.get(control.formControlName)?.errors !== null && formGroup.get(control.formControlName)?.errors?.['required']\"\n class=\"bg-gray-200 appearance-none border-2 border-gray-200 rounded w-full py-2 px-4 text-gray-700 leading-tight focus:outline-none focus:bg-white focus:border-purple-500\">\n </div>\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)='optionSelected($event.option.viewValue)'>\n <mat-option *ngFor=\"let item of filteredOptions | async\" [value]=\"item.key\">\n {{item.value}}\n </mat-option>\n </mat-autocomplete>\n</ng-template>" }]
|
|
33
|
+
}], ctorParameters: function () { return []; } });
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1jb21wbGV0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mYWxjb24tbmcvdGFpbHdpbmQvc3JjL2xpYi9jb21wb25lbnQvYXV0by1jb21wbGV0ZS9hdXRvLWNvbXBsZXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ZhbGNvbi1uZy90YWlsd2luZC9zcmMvbGliL2NvbXBvbmVudC9hdXRvLWNvbXBsZXRlL2F1dG8tY29tcGxldGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFekQsT0FBTyxFQUFDLFdBQVcsRUFBWSxNQUFNLGdCQUFnQixDQUFDO0FBR3RELE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7OztBQUNoRCxNQUthLHFCQUFxQjtJQUloQztRQURBLHdCQUFtQixHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUdqQixRQUFRO1FBQ04sSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDckgsQ0FBQztJQUVPLE9BQU8sQ0FBQyxLQUFhO1FBQzNCLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN4QyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQWdCLEVBQUUsRUFBRSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDN0csQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFVO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsZUFBZSxDQUFDLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RFLENBQUM7OEdBbEJVLHFCQUFxQjtrR0FBckIscUJBQXFCLDREQ1hsQyxpL0VBc0NjOztTRDNCRCxxQkFBcUI7MkZBQXJCLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QmFzZUNvbnRyb2x9IGZyb20gXCIuLi8uLi9iYXNlLWNvbnRyb2xcIjtcbmltcG9ydCB7Rm9ybUNvbnRyb2wsIEZvcm1Hcm91cH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQge0lPcHRpb25zfSBmcm9tIFwiLi4vLi4vbW9kZWwvaW50ZXJmYWNlXCI7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBtYXAsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZhbGNvbi1hdXRvLWNvbXBsZXRlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2F1dG8tY29tcGxldGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hdXRvLWNvbXBsZXRlLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEF1dG9Db21wbGV0ZUNvbXBvbmVudCB7XG4gIGNvbnRyb2whOiBCYXNlQ29udHJvbDxzdHJpbmc+O1xuICBmb3JtR3JvdXAhOiBGb3JtR3JvdXA7XG4gIGF1dG9Db21wbGV0ZUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcbiAgY29uc3RydWN0b3IoKSB7IH1cbiAgZmlsdGVyZWRPcHRpb25zITogT2JzZXJ2YWJsZTxJT3B0aW9uc1tdPjtcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IHRoaXMuYXV0b0NvbXBsZXRlQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShzdGFydFdpdGgoJycpLG1hcCh2YWx1ZSA9PiB0aGlzLl9maWx0ZXIodmFsdWUpKSk7XG4gIH1cblxuICBwcml2YXRlIF9maWx0ZXIodmFsdWU6IHN0cmluZyk6IElPcHRpb25zW10ge1xuICAgIGNvbnN0IGZpbHRlclZhbHVlID0gdmFsdWUudG9Mb3dlckNhc2UoKTtcbiAgICByZXR1cm4gdGhpcy5jb250cm9sLm9wdGlvbnMuZmlsdGVyKChvcHRpb246IElPcHRpb25zKSA9PiBvcHRpb24/LmtleT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhmaWx0ZXJWYWx1ZSkpO1xuICB9XG5cbiAgb3B0aW9uU2VsZWN0ZWQodmFsdWU6IGFueSkge1xuICAgIHRoaXMuZm9ybUdyb3VwPy5nZXQodGhpcy5jb250cm9sPy5mb3JtQ29udHJvbE5hbWUpPy5zZXRWYWx1ZSh2YWx1ZSk7XG4gIH1cbn1cbiIsIjxtYXQtZm9ybS1maWVsZCAqbmdJZj1cImNvbnRyb2wuYXBwZWFyYW5jZSAhPSAncGxhaW4nOyBlbHNlIHBsYWluSW5wdXRcIiBbYXBwZWFyYW5jZV09XCJjb250cm9sLmFwcGVhcmFuY2VcIlxuICBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiIFtuZ1N0eWxlXT1cImNvbnRyb2wuc3R5bGVcIiBbbmdDbGFzc109XCJjb250cm9sLmNsYXNzXCI+XG4gIDxtYXQtbGFiZWw+e3tjb250cm9sLmxhYmVsfX08L21hdC1sYWJlbD5cbiAgPGlucHV0IG1hdElucHV0IFtmb3JtQ29udHJvbF09XCJhdXRvQ29tcGxldGVDb250cm9sXCIgW2Zvcm1Db250cm9sTmFtZV09XCJjb250cm9sLmZvcm1Db250cm9sTmFtZVwiXG4gICAgW3BsYWNlaG9sZGVyXT1cImNvbnRyb2wucGxhY2VIb2xkZXJcIiBbdHlwZV09XCJjb250cm9sLnR5cGVcIiBbbmdTdHlsZV09XCJjb250cm9sLnN0eWxlXCIgW25nQ2xhc3NdPVwiY29udHJvbC5jbGFzc1wiXG4gICAgW21hdEF1dG9jb21wbGV0ZV09XCJhdXRvXCJcbiAgICBbcmVxdWlyZWRdPVwiZm9ybUdyb3VwLmdldChjb250cm9sLmZvcm1Db250cm9sTmFtZSk/LmVycm9ycyAhPT0gbnVsbCAmJiBmb3JtR3JvdXAuZ2V0KGNvbnRyb2wuZm9ybUNvbnRyb2xOYW1lKT8uZXJyb3JzPy5bJ3JlcXVpcmVkJ11cIj5cbiAgPG1hdC1hdXRvY29tcGxldGUgI2F1dG89XCJtYXRBdXRvY29tcGxldGVcIiAob3B0aW9uU2VsZWN0ZWQpPSdvcHRpb25TZWxlY3RlZCgkZXZlbnQub3B0aW9uLnZpZXdWYWx1ZSknPlxuICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBpdGVtIG9mIGZpbHRlcmVkT3B0aW9ucyB8IGFzeW5jXCIgW3ZhbHVlXT1cIml0ZW0ua2V5XCI+XG4gICAgICB7e2l0ZW0udmFsdWV9fVxuICAgIDwvbWF0LW9wdGlvbj5cbiAgPC9tYXQtYXV0b2NvbXBsZXRlPlxuXG4gIDxzcGFuIG1hdFByZWZpeCBbbWF0VG9vbHRpcF09XCJjb250cm9sLnByZWZpeC50b29sVGlwVGV4dCFcIlxuICAgIFtuZ0NsYXNzXT1cInsnbWF0ZXJpYWwtaWNvbnMnOiBjb250cm9sLnByZWZpeC5pc0ljb259XCI+e3tjb250cm9sLnByZWZpeC50ZXh0fX0gJm5ic3A7Jm5ic3A7PC9zcGFuPlxuICA8c3BhbiBtYXRTdWZmaXggW21hdFRvb2x0aXBdPVwiY29udHJvbC5zdWZmaXgudG9vbFRpcFRleHQhXCJcbiAgICBbbmdDbGFzc109XCJ7J21hdGVyaWFsLWljb25zJzogY29udHJvbC5zdWZmaXguaXNJY29ufVwiPnt7Y29udHJvbC5zdWZmaXgudGV4dH19ICZuYnNwOyZuYnNwOzwvc3Bhbj5cblxuICA8bWF0LWhpbnQ+e3tjb250cm9sLmhpbnQudGV4dH19PC9tYXQtaGludD5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgdmFsaWRhdGlvbiBvZiBjb250cm9sLnZhbGlkYXRpb25zO1wiIG5nUHJvamVjdEFzPVwibWF0LWVycm9yXCI+XG4gICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Hcm91cC5nZXQoY29udHJvbC5mb3JtQ29udHJvbE5hbWUpPy5oYXNFcnJvcih2YWxpZGF0aW9uLm5hbWUpXCI+e3t2YWxpZGF0aW9uLm1lc3NhZ2V9fVxuICAgIDwvbWF0LWVycm9yPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbWF0LWZvcm0tZmllbGQ+XG5cbjxuZy10ZW1wbGF0ZSAjcGxhaW5JbnB1dD5cbiAgPGRpdiBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiIFtuZ1N0eWxlXT1cImNvbnRyb2wuc3R5bGVcIiBbbmdDbGFzc109XCJjb250cm9sLmNsYXNzXCI+XG4gICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgW2Zvcm1Db250cm9sXT1cImF1dG9Db21wbGV0ZUNvbnRyb2xcIiBbZm9ybUNvbnRyb2xOYW1lXT1cImNvbnRyb2wuZm9ybUNvbnRyb2xOYW1lXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJjb250cm9sLnBsYWNlSG9sZGVyXCIgW3R5cGVdPVwiY29udHJvbC50eXBlXCIgW25nU3R5bGVdPVwiY29udHJvbC5zdHlsZVwiIFtuZ0NsYXNzXT1cImNvbnRyb2wuY2xhc3NcIlxuICAgICAgW21hdEF1dG9jb21wbGV0ZV09XCJhdXRvXCJcbiAgICAgIFtyZXF1aXJlZF09XCJmb3JtR3JvdXAuZ2V0KGNvbnRyb2wuZm9ybUNvbnRyb2xOYW1lKT8uZXJyb3JzICE9PSBudWxsICYmIGZvcm1Hcm91cC5nZXQoY29udHJvbC5mb3JtQ29udHJvbE5hbWUpPy5lcnJvcnM/LlsncmVxdWlyZWQnXVwiXG4gICAgICBjbGFzcz1cImJnLWdyYXktMjAwIGFwcGVhcmFuY2Utbm9uZSBib3JkZXItMiBib3JkZXItZ3JheS0yMDAgcm91bmRlZCB3LWZ1bGwgcHktMiBweC00IHRleHQtZ3JheS03MDAgbGVhZGluZy10aWdodCBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6Ymctd2hpdGUgZm9jdXM6Ym9yZGVyLXB1cnBsZS01MDBcIj5cbiAgPC9kaXY+XG4gIDxtYXQtYXV0b2NvbXBsZXRlICNhdXRvPVwibWF0QXV0b2NvbXBsZXRlXCIgKG9wdGlvblNlbGVjdGVkKT0nb3B0aW9uU2VsZWN0ZWQoJGV2ZW50Lm9wdGlvbi52aWV3VmFsdWUpJz5cbiAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBmaWx0ZXJlZE9wdGlvbnMgfCBhc3luY1wiIFt2YWx1ZV09XCJpdGVtLmtleVwiPlxuICAgICAge3tpdGVtLnZhbHVlfX1cbiAgICA8L21hdC1vcHRpb24+XG4gIDwvbWF0LWF1dG9jb21wbGV0ZT5cbjwvbmctdGVtcGxhdGU+Il19
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Component, Inject } from '@angular/core';
|
|
2
|
+
import { MAT_BOTTOM_SHEET_DATA } from "@angular/material/bottom-sheet";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/material/bottom-sheet";
|
|
5
|
+
import * as i2 from "@angular/material/core";
|
|
6
|
+
import * as i3 from "@angular/material/list";
|
|
7
|
+
import * as i4 from "@angular/common";
|
|
8
|
+
class BottomSheetComponent {
|
|
9
|
+
constructor(_bottomSheetRef, data) {
|
|
10
|
+
this._bottomSheetRef = _bottomSheetRef;
|
|
11
|
+
this.data = data;
|
|
12
|
+
}
|
|
13
|
+
ngOnInit() {
|
|
14
|
+
}
|
|
15
|
+
click(event, item) {
|
|
16
|
+
this._bottomSheetRef.dismiss(item);
|
|
17
|
+
event.preventDefault();
|
|
18
|
+
}
|
|
19
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: BottomSheetComponent, deps: [{ token: i1.MatBottomSheetRef }, { token: MAT_BOTTOM_SHEET_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
20
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: BottomSheetComponent, selector: "lib-bottom-sheet", ngImport: i0, template: "<mat-nav-list>\n <ng-container *ngFor=\"let item of data\">\n <a [href]=\"item.link\" mat-list-item (click)=\"click($event,item)\">\n <span matListItemTitle>{{item.levelOneText}}</span>\n <span matLine>{{item.levelTwoText}}</span>\n </a>\n </ng-container>\n\n</mat-nav-list>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.MatLine, selector: "[mat-line], [matLine]" }, { kind: "component", type: i3.MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "component", type: i3.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i3.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] }); }
|
|
21
|
+
}
|
|
22
|
+
export { BottomSheetComponent };
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: BottomSheetComponent, decorators: [{
|
|
24
|
+
type: Component,
|
|
25
|
+
args: [{ selector: 'lib-bottom-sheet', template: "<mat-nav-list>\n <ng-container *ngFor=\"let item of data\">\n <a [href]=\"item.link\" mat-list-item (click)=\"click($event,item)\">\n <span matListItemTitle>{{item.levelOneText}}</span>\n <span matLine>{{item.levelTwoText}}</span>\n </a>\n </ng-container>\n\n</mat-nav-list>\n" }]
|
|
26
|
+
}], ctorParameters: function () { return [{ type: i1.MatBottomSheetRef }, { type: undefined, decorators: [{
|
|
27
|
+
type: Inject,
|
|
28
|
+
args: [MAT_BOTTOM_SHEET_DATA]
|
|
29
|
+
}] }]; } });
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm90dG9tLXNoZWV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ZhbGNvbi1uZy90YWlsd2luZC9zcmMvbGliL2NvbXBvbmVudC9ib3R0b20tc2hlZXQvYm90dG9tLXNoZWV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ZhbGNvbi1uZy90YWlsd2luZC9zcmMvbGliL2NvbXBvbmVudC9ib3R0b20tc2hlZXQvYm90dG9tLXNoZWV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2hELE9BQU8sRUFBQyxxQkFBcUIsRUFBb0IsTUFBTSxnQ0FBZ0MsQ0FBQzs7Ozs7O0FBRXhGLE1BS2Esb0JBQW9CO0lBQy9CLFlBQW9CLGVBQXdELEVBQXdDLElBQVM7UUFBekcsb0JBQWUsR0FBZixlQUFlLENBQXlDO1FBQXdDLFNBQUksR0FBSixJQUFJLENBQUs7SUFBSSxDQUFDO0lBRWxJLFFBQVE7SUFDUixDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQWlCLEVBQUUsSUFBVTtRQUNqQyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDekIsQ0FBQzs4R0FUVSxvQkFBb0IsbURBQ3VELHFCQUFxQjtrR0FEaEcsb0JBQW9CLHdEQ1JqQyx3U0FTQTs7U0REYSxvQkFBb0I7MkZBQXBCLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxrQkFBa0I7OzBCQUttRCxNQUFNOzJCQUFDLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNQVRfQk9UVE9NX1NIRUVUX0RBVEEsIE1hdEJvdHRvbVNoZWV0UmVmfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvYm90dG9tLXNoZWV0XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1ib3R0b20tc2hlZXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vYm90dG9tLXNoZWV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYm90dG9tLXNoZWV0LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQm90dG9tU2hlZXRDb21wb25lbnQge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9ib3R0b21TaGVldFJlZjogTWF0Qm90dG9tU2hlZXRSZWY8Qm90dG9tU2hlZXRDb21wb25lbnQ+LCBASW5qZWN0KE1BVF9CT1RUT01fU0hFRVRfREFUQSkgcHVibGljIGRhdGE6IGFueSkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gIH1cblxuICBjbGljayhldmVudDogTW91c2VFdmVudCwgaXRlbSA6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX2JvdHRvbVNoZWV0UmVmLmRpc21pc3MoaXRlbSk7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgfVxufVxuIiwiPG1hdC1uYXYtbGlzdD5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBkYXRhXCI+XG4gICAgPGEgW2hyZWZdPVwiaXRlbS5saW5rXCIgbWF0LWxpc3QtaXRlbSAoY2xpY2spPVwiY2xpY2soJGV2ZW50LGl0ZW0pXCI+XG4gICAgICA8c3BhbiBtYXRMaXN0SXRlbVRpdGxlPnt7aXRlbS5sZXZlbE9uZVRleHR9fTwvc3Bhbj5cbiAgICAgIDxzcGFuIG1hdExpbmU+e3tpdGVtLmxldmVsVHdvVGV4dH19PC9zcGFuPlxuICAgIDwvYT5cbiAgPC9uZy1jb250YWluZXI+XG5cbjwvbWF0LW5hdi1saXN0PlxuIl19
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/material/button";
|
|
4
|
+
import * as i2 from "@angular/material/icon";
|
|
5
|
+
import * as i3 from "@angular/common";
|
|
6
|
+
import * as i4 from "@angular/router";
|
|
7
|
+
class ButtonComponent {
|
|
8
|
+
constructor() {
|
|
9
|
+
this.btnClick = new EventEmitter();
|
|
10
|
+
}
|
|
11
|
+
childBtnClick() {
|
|
12
|
+
this.btnClick.emit("Button Click Event");
|
|
13
|
+
}
|
|
14
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
15
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: ButtonComponent, selector: "falcon-button", inputs: { control: "control", formGroup: "formGroup" }, outputs: { btnClick: "btnClick" }, ngImport: i0, template: "<div [ngStyle]=\"control.style\" [ngClass]=\"control.class\">\n <ng-container [ngSwitch]=\"control.appearance\">\n <button [disabled]=\"control.disabled\" (click)=\"childBtnClick()\"\n [color]=\"control.color\" [ngClass]=\"control.class\"\n [ngStyle]=\"control.style\" mat-button *ngSwitchCase=\"0\">\n <mat-icon *ngIf=\"control?.suffix?.isIcon\" style=\"margin-bottom: 1px;\">\n {{control.suffix.text}}</mat-icon> {{control.label}}\n </button>\n <button [disabled]=\"control.disabled\" (click)=\"childBtnClick()\"\n [type]=\"control.type\" [ngClass]=\"control.class\"\n [color]=\"control.color\" [ngStyle]=\"control.style\"\n mat-raised-button *ngSwitchCase=\"1\">\n <mat-icon *ngIf=\"control.suffix?.isIcon\" style=\"margin-bottom: 1px;\">\n {{control.suffix.text}}</mat-icon> {{control.label}}\n </button>\n <button [disabled]=\"control.disabled\" (click)=\"childBtnClick()\"\n [type]=\"control.type\" [ngClass]=\"control.class\"\n [color]=\"control.color\" [ngStyle]=\"control.style\"\n mat-stroked-button *ngSwitchCase=\"2\">\n <mat-icon *ngIf=\"control.suffix?.isIcon\" style=\"margin-bottom: 1px;\">\n {{control.suffix.text}}</mat-icon> {{control.label}}\n </button>\n <button [disabled]=\"control.disabled\" (click)=\"childBtnClick()\"\n [type]=\"control.type\" [ngClass]=\"control.class\"\n [color]=\"control.color\" [ngStyle]=\"control.style\"\n mat-flat-button *ngSwitchCase=\"3\">\n <mat-icon *ngIf=\"control.suffix.isIcon\" style=\"margin-bottom: 1px;\">\n {{control.suffix.text}}</mat-icon> {{control.label}}\n </button>\n <button [disabled]=\"control.disabled\" (click)=\"childBtnClick()\"\n [type]=\"control.type\" [ngClass]=\"control.class\"\n [color]=\"control.color\" [ngStyle]=\"control.style\"\n mat-icon-button [attr.aria-label]=\"control.label\" *ngSwitchCase=\"4\">\n <mat-icon>{{control.label}}</mat-icon>\n </button>\n <button [disabled]=\"control.disabled\" (click)=\"childBtnClick()\"\n [type]=\"control.type\" [ngClass]=\"control.class\"\n [color]=\"control.color\" [ngStyle]=\"control.style\" mat-fab\n [attr.aria-label]=\"control.label\" *ngSwitchCase=\"5\">\n <mat-icon>{{control.label}}</mat-icon>\n </button>\n <button [disabled]=\"control.disabled\" (click)=\"childBtnClick()\"\n [type]=\"control.type\" [ngClass]=\"control.class\"\n [color]=\"control.color\" [ngStyle]=\"control.style\" mat-mini-fab\n [attr.aria-label]=\"control.label\" *ngSwitchCase=\"6\">\n <mat-icon>{{control.label}}</mat-icon>\n </button>\n <a mat-stroked-button *ngSwitchCase=\"7\" [ngClass]=\"control.class\"\n [ngStyle]=\"control.style\" routerLink=\"[]\">{{control.label}}</a>\n <a mat-stroked-button *ngSwitchCase=\"8\" [ngClass]=\"control.class\"\n [ngStyle]=\"control.style\"\n href=\"{{control.value}}\">{{control.label}}</a>\n </ng-container>\n</div>", styles: [""], dependencies: [{ kind: "component", type: i1.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button]", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i1.MatMiniFabButton, selector: "button[mat-mini-fab]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i1.MatFabButton, selector: "button[mat-fab]", inputs: ["disabled", "disableRipple", "color", "tabIndex", "extended"], exportAs: ["matButton"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i4.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] }); }
|
|
16
|
+
}
|
|
17
|
+
export { ButtonComponent };
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ButtonComponent, decorators: [{
|
|
19
|
+
type: Component,
|
|
20
|
+
args: [{ selector: 'falcon-button', template: "<div [ngStyle]=\"control.style\" [ngClass]=\"control.class\">\n <ng-container [ngSwitch]=\"control.appearance\">\n <button [disabled]=\"control.disabled\" (click)=\"childBtnClick()\"\n [color]=\"control.color\" [ngClass]=\"control.class\"\n [ngStyle]=\"control.style\" mat-button *ngSwitchCase=\"0\">\n <mat-icon *ngIf=\"control?.suffix?.isIcon\" style=\"margin-bottom: 1px;\">\n {{control.suffix.text}}</mat-icon> {{control.label}}\n </button>\n <button [disabled]=\"control.disabled\" (click)=\"childBtnClick()\"\n [type]=\"control.type\" [ngClass]=\"control.class\"\n [color]=\"control.color\" [ngStyle]=\"control.style\"\n mat-raised-button *ngSwitchCase=\"1\">\n <mat-icon *ngIf=\"control.suffix?.isIcon\" style=\"margin-bottom: 1px;\">\n {{control.suffix.text}}</mat-icon> {{control.label}}\n </button>\n <button [disabled]=\"control.disabled\" (click)=\"childBtnClick()\"\n [type]=\"control.type\" [ngClass]=\"control.class\"\n [color]=\"control.color\" [ngStyle]=\"control.style\"\n mat-stroked-button *ngSwitchCase=\"2\">\n <mat-icon *ngIf=\"control.suffix?.isIcon\" style=\"margin-bottom: 1px;\">\n {{control.suffix.text}}</mat-icon> {{control.label}}\n </button>\n <button [disabled]=\"control.disabled\" (click)=\"childBtnClick()\"\n [type]=\"control.type\" [ngClass]=\"control.class\"\n [color]=\"control.color\" [ngStyle]=\"control.style\"\n mat-flat-button *ngSwitchCase=\"3\">\n <mat-icon *ngIf=\"control.suffix.isIcon\" style=\"margin-bottom: 1px;\">\n {{control.suffix.text}}</mat-icon> {{control.label}}\n </button>\n <button [disabled]=\"control.disabled\" (click)=\"childBtnClick()\"\n [type]=\"control.type\" [ngClass]=\"control.class\"\n [color]=\"control.color\" [ngStyle]=\"control.style\"\n mat-icon-button [attr.aria-label]=\"control.label\" *ngSwitchCase=\"4\">\n <mat-icon>{{control.label}}</mat-icon>\n </button>\n <button [disabled]=\"control.disabled\" (click)=\"childBtnClick()\"\n [type]=\"control.type\" [ngClass]=\"control.class\"\n [color]=\"control.color\" [ngStyle]=\"control.style\" mat-fab\n [attr.aria-label]=\"control.label\" *ngSwitchCase=\"5\">\n <mat-icon>{{control.label}}</mat-icon>\n </button>\n <button [disabled]=\"control.disabled\" (click)=\"childBtnClick()\"\n [type]=\"control.type\" [ngClass]=\"control.class\"\n [color]=\"control.color\" [ngStyle]=\"control.style\" mat-mini-fab\n [attr.aria-label]=\"control.label\" *ngSwitchCase=\"6\">\n <mat-icon>{{control.label}}</mat-icon>\n </button>\n <a mat-stroked-button *ngSwitchCase=\"7\" [ngClass]=\"control.class\"\n [ngStyle]=\"control.style\" routerLink=\"[]\">{{control.label}}</a>\n <a mat-stroked-button *ngSwitchCase=\"8\" [ngClass]=\"control.class\"\n [ngStyle]=\"control.style\"\n href=\"{{control.value}}\">{{control.label}}</a>\n </ng-container>\n</div>" }]
|
|
21
|
+
}], propDecorators: { control: [{
|
|
22
|
+
type: Input
|
|
23
|
+
}], formGroup: [{
|
|
24
|
+
type: Input
|
|
25
|
+
}], btnClick: [{
|
|
26
|
+
type: Output
|
|
27
|
+
}] } });
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ZhbGNvbi1uZy90YWlsd2luZC9zcmMvbGliL2NvbXBvbmVudC9idXR0b24vYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ZhbGNvbi1uZy90YWlsd2luZC9zcmMvbGliL2NvbXBvbmVudC9idXR0b24vYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7Ozs7OztBQUlyRSxNQUthLGVBQWU7SUFMNUI7UUFRWSxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztLQUlqRDtJQUhDLGFBQWE7UUFDWCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQzNDLENBQUM7OEdBTlUsZUFBZTtrR0FBZixlQUFlLGdKQ1Q1QixrdUdBcURNOztTRDVDTyxlQUFlOzJGQUFmLGVBQWU7a0JBTDNCLFNBQVM7K0JBQ0UsZUFBZTs4QkFLaEIsT0FBTztzQkFBZixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0ksUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3JtR3JvdXB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHtCYXNlQ29udHJvbH0gZnJvbSBcIi4uLy4uL2Jhc2UtY29udHJvbFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmYWxjb24tYnV0dG9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2J1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2J1dHRvbi5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQnV0dG9uQ29tcG9uZW50IHtcbiAgQElucHV0KCkgY29udHJvbCE6IEJhc2VDb250cm9sPHN0cmluZz47XG4gIEBJbnB1dCgpIGZvcm1Hcm91cCE6IEZvcm1Hcm91cDtcbiAgQE91dHB1dCgpIGJ0bkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIGNoaWxkQnRuQ2xpY2soKSB7XG4gICAgdGhpcy5idG5DbGljay5lbWl0KFwiQnV0dG9uIENsaWNrIEV2ZW50XCIpO1xuICB9XG59XG4iLCI8ZGl2IFtuZ1N0eWxlXT1cImNvbnRyb2wuc3R5bGVcIiBbbmdDbGFzc109XCJjb250cm9sLmNsYXNzXCI+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiY29udHJvbC5hcHBlYXJhbmNlXCI+XG4gICAgICAgIDxidXR0b24gW2Rpc2FibGVkXT1cImNvbnRyb2wuZGlzYWJsZWRcIiAoY2xpY2spPVwiY2hpbGRCdG5DbGljaygpXCJcbiAgICAgICAgICAgIFtjb2xvcl09XCJjb250cm9sLmNvbG9yXCIgW25nQ2xhc3NdPVwiY29udHJvbC5jbGFzc1wiXG4gICAgICAgICAgICBbbmdTdHlsZV09XCJjb250cm9sLnN0eWxlXCIgbWF0LWJ1dHRvbiAqbmdTd2l0Y2hDYXNlPVwiMFwiPlxuICAgICAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwiY29udHJvbD8uc3VmZml4Py5pc0ljb25cIiBzdHlsZT1cIm1hcmdpbi1ib3R0b206IDFweDtcIj5cbiAgICAgICAgICAgICAgICB7e2NvbnRyb2wuc3VmZml4LnRleHR9fTwvbWF0LWljb24+Jm5ic3A7e3tjb250cm9sLmxhYmVsfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gW2Rpc2FibGVkXT1cImNvbnRyb2wuZGlzYWJsZWRcIiAoY2xpY2spPVwiY2hpbGRCdG5DbGljaygpXCJcbiAgICAgICAgICAgIFt0eXBlXT1cImNvbnRyb2wudHlwZVwiIFtuZ0NsYXNzXT1cImNvbnRyb2wuY2xhc3NcIlxuICAgICAgICAgICAgW2NvbG9yXT1cImNvbnRyb2wuY29sb3JcIiBbbmdTdHlsZV09XCJjb250cm9sLnN0eWxlXCJcbiAgICAgICAgICAgIG1hdC1yYWlzZWQtYnV0dG9uICpuZ1N3aXRjaENhc2U9XCIxXCI+XG4gICAgICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJjb250cm9sLnN1ZmZpeD8uaXNJY29uXCIgc3R5bGU9XCJtYXJnaW4tYm90dG9tOiAxcHg7XCI+XG4gICAgICAgICAgICAgICAge3tjb250cm9sLnN1ZmZpeC50ZXh0fX08L21hdC1pY29uPiZuYnNwO3t7Y29udHJvbC5sYWJlbH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIFtkaXNhYmxlZF09XCJjb250cm9sLmRpc2FibGVkXCIgKGNsaWNrKT1cImNoaWxkQnRuQ2xpY2soKVwiXG4gICAgICAgICAgICBbdHlwZV09XCJjb250cm9sLnR5cGVcIiBbbmdDbGFzc109XCJjb250cm9sLmNsYXNzXCJcbiAgICAgICAgICAgIFtjb2xvcl09XCJjb250cm9sLmNvbG9yXCIgW25nU3R5bGVdPVwiY29udHJvbC5zdHlsZVwiXG4gICAgICAgICAgICBtYXQtc3Ryb2tlZC1idXR0b24gKm5nU3dpdGNoQ2FzZT1cIjJcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cImNvbnRyb2wuc3VmZml4Py5pc0ljb25cIiBzdHlsZT1cIm1hcmdpbi1ib3R0b206IDFweDtcIj5cbiAgICAgICAgICAgICAgICB7e2NvbnRyb2wuc3VmZml4LnRleHR9fTwvbWF0LWljb24+Jm5ic3A7e3tjb250cm9sLmxhYmVsfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gW2Rpc2FibGVkXT1cImNvbnRyb2wuZGlzYWJsZWRcIiAoY2xpY2spPVwiY2hpbGRCdG5DbGljaygpXCJcbiAgICAgICAgICAgIFt0eXBlXT1cImNvbnRyb2wudHlwZVwiIFtuZ0NsYXNzXT1cImNvbnRyb2wuY2xhc3NcIlxuICAgICAgICAgICAgW2NvbG9yXT1cImNvbnRyb2wuY29sb3JcIiBbbmdTdHlsZV09XCJjb250cm9sLnN0eWxlXCJcbiAgICAgICAgICAgIG1hdC1mbGF0LWJ1dHRvbiAqbmdTd2l0Y2hDYXNlPVwiM1wiPlxuICAgICAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwiY29udHJvbC5zdWZmaXguaXNJY29uXCIgc3R5bGU9XCJtYXJnaW4tYm90dG9tOiAxcHg7XCI+XG4gICAgICAgICAgICAgICAge3tjb250cm9sLnN1ZmZpeC50ZXh0fX08L21hdC1pY29uPiZuYnNwO3t7Y29udHJvbC5sYWJlbH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIFtkaXNhYmxlZF09XCJjb250cm9sLmRpc2FibGVkXCIgKGNsaWNrKT1cImNoaWxkQnRuQ2xpY2soKVwiXG4gICAgICAgICAgICBbdHlwZV09XCJjb250cm9sLnR5cGVcIiBbbmdDbGFzc109XCJjb250cm9sLmNsYXNzXCJcbiAgICAgICAgICAgIFtjb2xvcl09XCJjb250cm9sLmNvbG9yXCIgW25nU3R5bGVdPVwiY29udHJvbC5zdHlsZVwiXG4gICAgICAgICAgICBtYXQtaWNvbi1idXR0b24gW2F0dHIuYXJpYS1sYWJlbF09XCJjb250cm9sLmxhYmVsXCIgKm5nU3dpdGNoQ2FzZT1cIjRcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbj57e2NvbnRyb2wubGFiZWx9fTwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIFtkaXNhYmxlZF09XCJjb250cm9sLmRpc2FibGVkXCIgKGNsaWNrKT1cImNoaWxkQnRuQ2xpY2soKVwiXG4gICAgICAgICAgICBbdHlwZV09XCJjb250cm9sLnR5cGVcIiBbbmdDbGFzc109XCJjb250cm9sLmNsYXNzXCJcbiAgICAgICAgICAgIFtjb2xvcl09XCJjb250cm9sLmNvbG9yXCIgW25nU3R5bGVdPVwiY29udHJvbC5zdHlsZVwiIG1hdC1mYWJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiY29udHJvbC5sYWJlbFwiICpuZ1N3aXRjaENhc2U9XCI1XCI+XG4gICAgICAgICAgICA8bWF0LWljb24+e3tjb250cm9sLmxhYmVsfX08L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBbZGlzYWJsZWRdPVwiY29udHJvbC5kaXNhYmxlZFwiIChjbGljayk9XCJjaGlsZEJ0bkNsaWNrKClcIlxuICAgICAgICAgICAgW3R5cGVdPVwiY29udHJvbC50eXBlXCIgW25nQ2xhc3NdPVwiY29udHJvbC5jbGFzc1wiXG4gICAgICAgICAgICBbY29sb3JdPVwiY29udHJvbC5jb2xvclwiIFtuZ1N0eWxlXT1cImNvbnRyb2wuc3R5bGVcIiBtYXQtbWluaS1mYWJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiY29udHJvbC5sYWJlbFwiICpuZ1N3aXRjaENhc2U9XCI2XCI+XG4gICAgICAgICAgICA8bWF0LWljb24+e3tjb250cm9sLmxhYmVsfX08L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGEgbWF0LXN0cm9rZWQtYnV0dG9uICpuZ1N3aXRjaENhc2U9XCI3XCIgW25nQ2xhc3NdPVwiY29udHJvbC5jbGFzc1wiXG4gICAgICAgICAgICBbbmdTdHlsZV09XCJjb250cm9sLnN0eWxlXCIgcm91dGVyTGluaz1cIltdXCI+e3tjb250cm9sLmxhYmVsfX08L2E+XG4gICAgICAgIDxhIG1hdC1zdHJva2VkLWJ1dHRvbiAqbmdTd2l0Y2hDYXNlPVwiOFwiIFtuZ0NsYXNzXT1cImNvbnRyb2wuY2xhc3NcIlxuICAgICAgICAgICAgW25nU3R5bGVdPVwiY29udHJvbC5zdHlsZVwiXG4gICAgICAgICAgICBocmVmPVwie3tjb250cm9sLnZhbHVlfX1cIj57e2NvbnRyb2wubGFiZWx9fTwvYT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PiJdfQ==
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Component, EventEmitter, Output } from '@angular/core';
|
|
2
|
+
import { FormControl, FormGroup } from "@angular/forms";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/material/button-toggle";
|
|
5
|
+
import * as i2 from "@angular/material/icon";
|
|
6
|
+
import * as i3 from "@angular/material/form-field";
|
|
7
|
+
import * as i4 from "@angular/common";
|
|
8
|
+
import * as i5 from "@angular/forms";
|
|
9
|
+
class ButtonToggleComponent {
|
|
10
|
+
constructor() {
|
|
11
|
+
this.toggleGroupChange = new EventEmitter();
|
|
12
|
+
}
|
|
13
|
+
ngOnInit() {
|
|
14
|
+
if (this.formGroup === undefined) {
|
|
15
|
+
this.formGroup = new FormGroup({
|
|
16
|
+
default: new FormControl()
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
toggleChange($event) {
|
|
21
|
+
this.toggleGroupChange.emit($event.value);
|
|
22
|
+
}
|
|
23
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ButtonToggleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: ButtonToggleComponent, selector: "falcon-button-toggle", outputs: { toggleGroupChange: "toggleGroupChange" }, ngImport: i0, template: "<div [ngStyle]=\"control.style\" [ngClass]=\"control.class\"\n [formGroup]=\"formGroup\">\n <mat-label [ngStyle]=\"control.style\" [ngClass]=\"control.class\"\n *ngIf=\"control.label != undefined\">\n {{control.label | titlecase}}\n </mat-label>\n <mat-button-toggle-group\n [formControlName]=\"control.formControlName != undefined ? control.formControlName : 'default'\"\n [appearance]=\"control.appearance\" [ngStyle]=\"control.style\"\n [ngClass]=\"control.class\" [attr.aria-label]=\"control.label\"\n class=\"botton-toggle\" (change)=\"toggleChange($event)\">\n <mat-button-toggle *ngFor=\"let item of control.options\" [value]=\"item?.value\"\n [ngStyle]=\"control.style\"\n [ngClass]=\"control.class\">\n <mat-icon [ngClass]=\"item?.class\" aria-hidden=\"false\" aria-label=\"item icon\" *ngIf=\"item?.icon != undefined\">\n {{item?.icon}}\n </mat-icon>\n {{item.viewValue | titlecase}}\n </mat-button-toggle>\n </mat-button-toggle-group>\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i1.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i1.MatButtonToggle, selector: "mat-button-toggle", inputs: ["disableRipple", "aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "appearance", "checked", "disabled"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: i4.TitleCasePipe, name: "titlecase" }] }); }
|
|
25
|
+
}
|
|
26
|
+
export { ButtonToggleComponent };
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ButtonToggleComponent, decorators: [{
|
|
28
|
+
type: Component,
|
|
29
|
+
args: [{ selector: 'falcon-button-toggle', template: "<div [ngStyle]=\"control.style\" [ngClass]=\"control.class\"\n [formGroup]=\"formGroup\">\n <mat-label [ngStyle]=\"control.style\" [ngClass]=\"control.class\"\n *ngIf=\"control.label != undefined\">\n {{control.label | titlecase}}\n </mat-label>\n <mat-button-toggle-group\n [formControlName]=\"control.formControlName != undefined ? control.formControlName : 'default'\"\n [appearance]=\"control.appearance\" [ngStyle]=\"control.style\"\n [ngClass]=\"control.class\" [attr.aria-label]=\"control.label\"\n class=\"botton-toggle\" (change)=\"toggleChange($event)\">\n <mat-button-toggle *ngFor=\"let item of control.options\" [value]=\"item?.value\"\n [ngStyle]=\"control.style\"\n [ngClass]=\"control.class\">\n <mat-icon [ngClass]=\"item?.class\" aria-hidden=\"false\" aria-label=\"item icon\" *ngIf=\"item?.icon != undefined\">\n {{item?.icon}}\n </mat-icon>\n {{item.viewValue | titlecase}}\n </mat-button-toggle>\n </mat-button-toggle-group>\n</div>" }]
|
|
30
|
+
}], propDecorators: { toggleGroupChange: [{
|
|
31
|
+
type: Output
|
|
32
|
+
}] } });
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLXRvZ2dsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mYWxjb24tbmcvdGFpbHdpbmQvc3JjL2xpYi9jb21wb25lbnQvYnV0dG9uLXRvZ2dsZS9idXR0b24tdG9nZ2xlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ZhbGNvbi1uZy90YWlsd2luZC9zcmMvbGliL2NvbXBvbmVudC9idXR0b24tdG9nZ2xlL2J1dHRvbi10b2dnbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQVUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBQyxXQUFXLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7QUFJdEQsTUFLYSxxQkFBcUI7SUFMbEM7UUFRWSxzQkFBaUIsR0FBd0MsSUFBSSxZQUFZLEVBQXlCLENBQUM7S0FZOUc7SUFYQyxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLFNBQVMsRUFBRTtZQUNoQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksU0FBUyxDQUFDO2dCQUM3QixPQUFPLEVBQUUsSUFBSSxXQUFXLEVBQUU7YUFDM0IsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRUQsWUFBWSxDQUFDLE1BQVc7UUFDdEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUMsQ0FBQzs4R0FkVSxxQkFBcUI7a0dBQXJCLHFCQUFxQixpSENWbEMsc2lDQW9CTTs7U0RWTyxxQkFBcUI7MkZBQXJCLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxzQkFBc0I7OEJBT3RCLGlCQUFpQjtzQkFBMUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIE9uSW5pdCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybUNvbnRyb2wsIEZvcm1Hcm91cH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQge0Jhc2VDb250cm9sfSBmcm9tIFwiLi4vLi4vYmFzZS1jb250cm9sXCI7XG5pbXBvcnQge01hdEJ1dHRvblRvZ2dsZUNoYW5nZX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2J1dHRvbi10b2dnbGVcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZmFsY29uLWJ1dHRvbi10b2dnbGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vYnV0dG9uLXRvZ2dsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2J1dHRvbi10b2dnbGUuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQnV0dG9uVG9nZ2xlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgY29udHJvbCE6IEJhc2VDb250cm9sPHN0cmluZz47XG4gIGZvcm1Hcm91cCE6IEZvcm1Hcm91cDtcbiAgQE91dHB1dCgpIHRvZ2dsZUdyb3VwQ2hhbmdlOiBFdmVudEVtaXR0ZXI8TWF0QnV0dG9uVG9nZ2xlQ2hhbmdlPiA9IG5ldyBFdmVudEVtaXR0ZXI8TWF0QnV0dG9uVG9nZ2xlQ2hhbmdlPigpO1xuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5mb3JtR3JvdXAgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5mb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHtcbiAgICAgICAgZGVmYXVsdDogbmV3IEZvcm1Db250cm9sKClcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZUNoYW5nZSgkZXZlbnQ6IGFueSkge1xuICAgIHRoaXMudG9nZ2xlR3JvdXBDaGFuZ2UuZW1pdCgkZXZlbnQudmFsdWUpO1xuICB9XG59XG4iLCI8ZGl2IFtuZ1N0eWxlXT1cImNvbnRyb2wuc3R5bGVcIiBbbmdDbGFzc109XCJjb250cm9sLmNsYXNzXCJcbiAgICAgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIj5cbiAgPG1hdC1sYWJlbCBbbmdTdHlsZV09XCJjb250cm9sLnN0eWxlXCIgW25nQ2xhc3NdPVwiY29udHJvbC5jbGFzc1wiXG4gICAgICAgICAgICAgKm5nSWY9XCJjb250cm9sLmxhYmVsICE9IHVuZGVmaW5lZFwiPlxuICAgIHt7Y29udHJvbC5sYWJlbCB8IHRpdGxlY2FzZX19XG4gIDwvbWF0LWxhYmVsPlxuICA8bWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXBcbiAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImNvbnRyb2wuZm9ybUNvbnRyb2xOYW1lICE9IHVuZGVmaW5lZCA/IGNvbnRyb2wuZm9ybUNvbnRyb2xOYW1lIDogJ2RlZmF1bHQnXCJcbiAgICBbYXBwZWFyYW5jZV09XCJjb250cm9sLmFwcGVhcmFuY2VcIiBbbmdTdHlsZV09XCJjb250cm9sLnN0eWxlXCJcbiAgICBbbmdDbGFzc109XCJjb250cm9sLmNsYXNzXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJjb250cm9sLmxhYmVsXCJcbiAgICBjbGFzcz1cImJvdHRvbi10b2dnbGVcIiAoY2hhbmdlKT1cInRvZ2dsZUNoYW5nZSgkZXZlbnQpXCI+XG4gICAgPG1hdC1idXR0b24tdG9nZ2xlICpuZ0Zvcj1cImxldCBpdGVtIG9mIGNvbnRyb2wub3B0aW9uc1wiIFt2YWx1ZV09XCJpdGVtPy52YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cImNvbnRyb2wuc3R5bGVcIlxuICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJjb250cm9sLmNsYXNzXCI+XG4gICAgICA8bWF0LWljb24gW25nQ2xhc3NdPVwiaXRlbT8uY2xhc3NcIiBhcmlhLWhpZGRlbj1cImZhbHNlXCIgYXJpYS1sYWJlbD1cIml0ZW0gaWNvblwiICpuZ0lmPVwiaXRlbT8uaWNvbiAhPSB1bmRlZmluZWRcIj5cbiAgICAgICAge3tpdGVtPy5pY29ufX1cbiAgICAgIDwvbWF0LWljb24+XG4gICAgICB7e2l0ZW0udmlld1ZhbHVlIHwgdGl0bGVjYXNlfX1cbiAgICA8L21hdC1idXR0b24tdG9nZ2xlPlxuICA8L21hdC1idXR0b24tdG9nZ2xlLWdyb3VwPlxuPC9kaXY+Il19
|
|
@@ -3,16 +3,17 @@ import * as i0 from "@angular/core";
|
|
|
3
3
|
import * as i1 from "@angular/material/checkbox";
|
|
4
4
|
import * as i2 from "@angular/common";
|
|
5
5
|
import * as i3 from "@angular/forms";
|
|
6
|
-
|
|
6
|
+
class CheckboxComponent {
|
|
7
7
|
change($event) {
|
|
8
8
|
if (this.control.event !== undefined)
|
|
9
9
|
this.control?.event?.change?.emit($event);
|
|
10
10
|
}
|
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: CheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: CheckboxComponent, selector: "falcon-checkbox", ngImport: i0, template: "<div [formGroup]=\"formGroup\">\n <mat-checkbox [ngStyle]=\"control.style\" [ngClass]=\"control.class\"\n [color]=\"control.color != null ? control.color : 'accent'\" [labelPosition]=\"control.labelPosition\"\n [formControlName]=\"control.formControlName\" (change)=\"change($event)\">\n {{control.label}}</mat-checkbox>\n</div>", styles: [""], dependencies: [{ kind: "component", type: i1.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { 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"] }] }); }
|
|
11
13
|
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: CheckboxComponent, decorators: [{
|
|
14
|
+
export { CheckboxComponent };
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: CheckboxComponent, decorators: [{
|
|
15
16
|
type: Component,
|
|
16
17
|
args: [{ selector: 'falcon-checkbox', template: "<div [formGroup]=\"formGroup\">\n <mat-checkbox [ngStyle]=\"control.style\" [ngClass]=\"control.class\"\n [color]=\"control.color != null ? control.color : 'accent'\" [labelPosition]=\"control.labelPosition\"\n [formControlName]=\"control.formControlName\" (change)=\"change($event)\">\n {{control.label}}</mat-checkbox>\n</div>" }]
|
|
17
18
|
}] });
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZmFsY29uLW5nL3RhaWx3aW5kL3NyYy9saWIvY29tcG9uZW50L2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ZhbGNvbi1uZy90YWlsd2luZC9zcmMvbGliL2NvbXBvbmVudC9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQUkxQyxNQUthLGlCQUFpQjtJQUc1QixNQUFNLENBQUMsTUFBVztRQUNoQixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxLQUFLLFNBQVM7WUFDbEMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5QyxDQUFDOzhHQU5VLGlCQUFpQjtrR0FBakIsaUJBQWlCLHVEQ1Q5QixrV0FLTTs7U0RJTyxpQkFBaUI7MkZBQWpCLGlCQUFpQjtrQkFMN0IsU0FBUzsrQkFDRSxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEJhc2VDb250cm9sIH0gZnJvbSAnLi4vLi4vYmFzZS1jb250cm9sJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZmFsY29uLWNoZWNrYm94JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NoZWNrYm94LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2hlY2tib3guY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2hlY2tib3hDb21wb25lbnQge1xuICBjb250cm9sITogQmFzZUNvbnRyb2w8c3RyaW5nPjtcbiAgZm9ybUdyb3VwITogRm9ybUdyb3VwO1xuICBjaGFuZ2UoJGV2ZW50OiBhbnkpIHtcbiAgICBpZiAodGhpcy5jb250cm9sLmV2ZW50ICE9PSB1bmRlZmluZWQpXG4gICAgICB0aGlzLmNvbnRyb2w/LmV2ZW50Py5jaGFuZ2U/LmVtaXQoJGV2ZW50KTtcbiAgfVxufVxuIiwiPGRpdiBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiPlxuICAgIDxtYXQtY2hlY2tib3ggW25nU3R5bGVdPVwiY29udHJvbC5zdHlsZVwiIFtuZ0NsYXNzXT1cImNvbnRyb2wuY2xhc3NcIlxuICAgICAgICBbY29sb3JdPVwiY29udHJvbC5jb2xvciAhPSBudWxsID8gY29udHJvbC5jb2xvciA6ICdhY2NlbnQnXCIgW2xhYmVsUG9zaXRpb25dPVwiY29udHJvbC5sYWJlbFBvc2l0aW9uXCJcbiAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJjb250cm9sLmZvcm1Db250cm9sTmFtZVwiIChjaGFuZ2UpPVwiY2hhbmdlKCRldmVudClcIj5cbiAgICAgICAge3tjb250cm9sLmxhYmVsfX08L21hdC1jaGVja2JveD5cbjwvZGl2PiJdfQ==
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { Component, Input, ViewChild } from '@angular/core';
|
|
2
|
+
import { FormControl } from '@angular/forms';
|
|
3
|
+
import { COMMA, ENTER } from '@angular/cdk/keycodes';
|
|
4
|
+
import { map, startWith } from 'rxjs/operators';
|
|
5
|
+
import { moveItemInArray } from '@angular/cdk/drag-drop';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/forms";
|
|
8
|
+
import * as i2 from "@angular/cdk/drag-drop";
|
|
9
|
+
import * as i3 from "@angular/material/autocomplete";
|
|
10
|
+
import * as i4 from "@angular/material/core";
|
|
11
|
+
import * as i5 from "@angular/material/chips";
|
|
12
|
+
import * as i6 from "@angular/material/icon";
|
|
13
|
+
import * as i7 from "@angular/material/input";
|
|
14
|
+
import * as i8 from "@angular/material/form-field";
|
|
15
|
+
import * as i9 from "@angular/common";
|
|
16
|
+
import * as i10 from "@angular/router";
|
|
17
|
+
class ChipComponent {
|
|
18
|
+
constructor(fb) {
|
|
19
|
+
this.fb = fb;
|
|
20
|
+
this.separatorKeysCodes = [ENTER, COMMA];
|
|
21
|
+
this.selectable = true;
|
|
22
|
+
this.removable = true;
|
|
23
|
+
this.addOnBlur = true;
|
|
24
|
+
this.autoCompleteControl = new FormControl('');
|
|
25
|
+
this.filteredOptions = this.autoCompleteControl.valueChanges.pipe(startWith(null), map((value) => value ? this._filter(value) : this.control?.options.slice()));
|
|
26
|
+
}
|
|
27
|
+
ngOnInit() {
|
|
28
|
+
setTimeout(() => {
|
|
29
|
+
if (this.control.chipSelectedOptions.length > 0) {
|
|
30
|
+
this.items = this.formGroup.controls[this.control.formControlName];
|
|
31
|
+
this.control.chipSelectedOptions.forEach((value) => {
|
|
32
|
+
this.items.controls.push(this.createItem(value.value));
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
add(event) {
|
|
38
|
+
const input = event.input;
|
|
39
|
+
const value = event.value;
|
|
40
|
+
if ((value || '').trim()) {
|
|
41
|
+
this.control.chipSelectedOptions.push({
|
|
42
|
+
key: value.trim(),
|
|
43
|
+
value: value.trim(),
|
|
44
|
+
});
|
|
45
|
+
this.items = this.formGroup.get(this.control.formControlName);
|
|
46
|
+
this.items.push(this.createItem(value));
|
|
47
|
+
}
|
|
48
|
+
if (input) {
|
|
49
|
+
input.value = '';
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
createItem(value) {
|
|
53
|
+
return this.fb.group({
|
|
54
|
+
key: value,
|
|
55
|
+
value: value,
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
remove(option) {
|
|
59
|
+
const index = this.control.chipSelectedOptions.indexOf(option);
|
|
60
|
+
if (index >= 0) {
|
|
61
|
+
this.control.chipSelectedOptions.splice(index, 1);
|
|
62
|
+
this.items.removeAt(index);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
optionSelected(event) {
|
|
66
|
+
this.control.chipSelectedOptions.push({
|
|
67
|
+
key: event.option.value,
|
|
68
|
+
value: event.option.value,
|
|
69
|
+
});
|
|
70
|
+
this.items = this.formGroup.get(this.control.formControlName);
|
|
71
|
+
this.items.push(this.createItem(event.option.value));
|
|
72
|
+
this.chipAutoCompleteInput.nativeElement.value = '';
|
|
73
|
+
this.formGroup.get(this.control.formControlName)?.setValue(null);
|
|
74
|
+
}
|
|
75
|
+
_filter(value) {
|
|
76
|
+
if (value !== null) {
|
|
77
|
+
const filterValue = value.toLowerCase();
|
|
78
|
+
return this.control?.options?.filter((option) => option.value.toLowerCase().includes(filterValue));
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
drop(event) {
|
|
82
|
+
moveItemInArray(this.control.options, event.previousIndex, event.currentIndex);
|
|
83
|
+
}
|
|
84
|
+
keyboardEnterEvent(event) {
|
|
85
|
+
if (this.control.event !== undefined)
|
|
86
|
+
this.control.event.keyboardEnter?.emit(event);
|
|
87
|
+
this.chipTextInput.nativeElement.value = '';
|
|
88
|
+
}
|
|
89
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ChipComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
90
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: ChipComponent, selector: "falcon-chip", inputs: { control: "control", formGroup: "formGroup" }, viewQueries: [{ propertyName: "chipAutoCompleteInput", first: true, predicate: ["chipAutoCompleteInput"], descendants: true }, { propertyName: "chipTextInput", first: true, predicate: ["chipTextInput"], descendants: true }, { propertyName: "matAutocomplete", first: true, predicate: ["auto"], descendants: true }], ngImport: i0, template: "<ng-container [ngSwitch]=\"control.type\">\n <mat-form-field class=\"chip-list\" *ngSwitchCase=\"'search'\" [appearance]=\"control.appearance\" [formGroup]=\"formGroup\"\n [ngStyle]=\"control.style\" [ngClass]=\"control.class\">\n <mat-label>{{control.label}}</mat-label>\n <mat-chip-grid #chipGrid aria-label=\"item selection\">\n <mat-chip-row *ngFor=\"let option of control.chipSelectedOptions\" [removable]=\"removable\"\n (removed)=\"remove(option)\">\n {{option.value}}\n <mat-icon matChipRemove *ngIf=\"removable\">cancel</mat-icon>\n </mat-chip-row>\n\n <input matInput #chipAutoCompleteInput [formControl]=\"autoCompleteControl\"\n [formArrayName]=\"control.formControlName\" [placeholder]=\"control.placeHolder\" [ngStyle]=\"control.style\"\n [ngClass]=\"control.class\" [matAutocomplete]=\"auto\" [matChipInputFor]=\"chipGrid\"\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\" (matChipInputTokenEnd)=\"add($event)\"\n [required]=\"formGroup.get(control.formControlName)?.errors !== null && formGroup.get(control.formControlName)?.errors?.['required']\"\n (keyup.enter)=\"keyboardEnterEvent($event)\">\n\n </mat-chip-grid>\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"optionSelected($event)\">\n <mat-option *ngFor=\"let item of filteredOptions | async\" [value]=\"item.key\">\n {{item.value}}\n </mat-option>\n </mat-autocomplete>\n <mat-hint>\n <ng-container *ngIf=\"control.hint.link?.isLink; else elseBlock\">\n <ng-container *ngIf=\"control.hint.link?.queryParams !== undefined; else withoutQueryBlock\">\n <a [routerLink]=\"[control.hint.link?.routerLink]\" [queryParams]=\"{ query: control.hint.link?.queryParams }\"\n routerLinkActive=\"router-link-active\">{{control.hint.text}}</a>\n </ng-container>\n </ng-container>\n <ng-template #elseBlock>\n <span>{{control.hint.text}}</span>\n </ng-template>\n <ng-template #withoutQueryBlock>\n <a [routerLink]=\"[control.hint.link?.routerLink]\"\n routerLinkActive=\"router-link-active\">{{control.hint.text}}</a>\n </ng-template>\n </mat-hint>\n </mat-form-field>\n\n <mat-form-field class=\"chip-list\" *ngSwitchCase=\"'text'\" [appearance]=\"control.appearance\" [formGroup]=\"formGroup\"\n [ngStyle]=\"control.style\" [ngClass]=\"control.class\">\n <mat-label>{{control.label}}</mat-label>\n <mat-chip-grid #chipGrid aria-label=\"item selection\">\n <mat-chip-row *ngFor=\"let option of control.chipSelectedOptions\" [value]=\"selectable\" [removable]=\"removable\"\n (removed)=\"remove(option)\">\n {{option?.value}}\n <mat-icon matChipRemove *ngIf=\"removable\">cancel</mat-icon>\n </mat-chip-row>\n\n <input matInput #chipTextInput [formArrayName]=\"control.formControlName\" multiple\n [placeholder]=\"control.placeHolder\"\n [matChipInputFor]=\"chipGrid\" [ngStyle]=\"control.style\" [ngClass]=\"control.class\"\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\" [matChipInputAddOnBlur]=\"addOnBlur\"\n (matChipInputTokenEnd)=\"add($event)\"\n [required]=\"formGroup.get(control.formControlName)?.errors !== null && formGroup.get(control.formControlName)?.errors?.['required']\"\n (keyup.enter)=\"keyboardEnterEvent($event)\">\n\n </mat-chip-grid>\n </mat-form-field>\n\n <mat-chip-listbox aria-label=\"Chips selection\" *ngSwitchDefault>\n <mat-chip color=\"{{control.color}}\" selected>{{control.label}}</mat-chip>\n </mat-chip-listbox>\n\n\n <mat-chip-set class=\"chip-list\" cdkDropList cdkDropListOrientation=\"horizontal\" (cdkDropListDropped)=\"drop($event)\"\n *ngSwitchCase=\"'dragDrop'\" class=\"example-chip\">\n <mat-chip class=\"example-box\" cdkDrag *ngFor=\"let option of control?.options\">\n {{option?.value}}\n </mat-chip>\n </mat-chip-set>\n\n</ng-container>", styles: [".chip-list{width:100%}\n"], dependencies: [{ kind: "directive", type: i2.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i2.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i3.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple", "hideSingleSelectionIndicator"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i4.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i3.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i5.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["color", "disabled", "disableRipple", "tabIndex", "role", "id", "aria-label", "aria-description", "value", "removable", "highlighted"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "component", type: i5.MatChipGrid, selector: "mat-chip-grid", inputs: ["tabIndex", "disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i5.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "component", type: i5.MatChipListbox, selector: "mat-chip-listbox", inputs: ["tabIndex", "multiple", "aria-orientation", "selectable", "compareWith", "required", "hideSingleSelectionIndicator", "value"], outputs: ["change"] }, { kind: "directive", type: i5.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i5.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["color", "disabled", "disableRipple", "tabIndex", "editable"], outputs: ["edited"] }, { kind: "component", type: i5.MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i7.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: "component", type: i8.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i8.MatLabel, selector: "mat-label" }, { kind: "directive", type: i8.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i9.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i9.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i9.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i9.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i9.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i9.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { 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.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { 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: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "directive", type: i10.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i10.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }] }); }
|
|
91
|
+
}
|
|
92
|
+
export { ChipComponent };
|
|
93
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ChipComponent, decorators: [{
|
|
94
|
+
type: Component,
|
|
95
|
+
args: [{ selector: 'falcon-chip', template: "<ng-container [ngSwitch]=\"control.type\">\n <mat-form-field class=\"chip-list\" *ngSwitchCase=\"'search'\" [appearance]=\"control.appearance\" [formGroup]=\"formGroup\"\n [ngStyle]=\"control.style\" [ngClass]=\"control.class\">\n <mat-label>{{control.label}}</mat-label>\n <mat-chip-grid #chipGrid aria-label=\"item selection\">\n <mat-chip-row *ngFor=\"let option of control.chipSelectedOptions\" [removable]=\"removable\"\n (removed)=\"remove(option)\">\n {{option.value}}\n <mat-icon matChipRemove *ngIf=\"removable\">cancel</mat-icon>\n </mat-chip-row>\n\n <input matInput #chipAutoCompleteInput [formControl]=\"autoCompleteControl\"\n [formArrayName]=\"control.formControlName\" [placeholder]=\"control.placeHolder\" [ngStyle]=\"control.style\"\n [ngClass]=\"control.class\" [matAutocomplete]=\"auto\" [matChipInputFor]=\"chipGrid\"\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\" (matChipInputTokenEnd)=\"add($event)\"\n [required]=\"formGroup.get(control.formControlName)?.errors !== null && formGroup.get(control.formControlName)?.errors?.['required']\"\n (keyup.enter)=\"keyboardEnterEvent($event)\">\n\n </mat-chip-grid>\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"optionSelected($event)\">\n <mat-option *ngFor=\"let item of filteredOptions | async\" [value]=\"item.key\">\n {{item.value}}\n </mat-option>\n </mat-autocomplete>\n <mat-hint>\n <ng-container *ngIf=\"control.hint.link?.isLink; else elseBlock\">\n <ng-container *ngIf=\"control.hint.link?.queryParams !== undefined; else withoutQueryBlock\">\n <a [routerLink]=\"[control.hint.link?.routerLink]\" [queryParams]=\"{ query: control.hint.link?.queryParams }\"\n routerLinkActive=\"router-link-active\">{{control.hint.text}}</a>\n </ng-container>\n </ng-container>\n <ng-template #elseBlock>\n <span>{{control.hint.text}}</span>\n </ng-template>\n <ng-template #withoutQueryBlock>\n <a [routerLink]=\"[control.hint.link?.routerLink]\"\n routerLinkActive=\"router-link-active\">{{control.hint.text}}</a>\n </ng-template>\n </mat-hint>\n </mat-form-field>\n\n <mat-form-field class=\"chip-list\" *ngSwitchCase=\"'text'\" [appearance]=\"control.appearance\" [formGroup]=\"formGroup\"\n [ngStyle]=\"control.style\" [ngClass]=\"control.class\">\n <mat-label>{{control.label}}</mat-label>\n <mat-chip-grid #chipGrid aria-label=\"item selection\">\n <mat-chip-row *ngFor=\"let option of control.chipSelectedOptions\" [value]=\"selectable\" [removable]=\"removable\"\n (removed)=\"remove(option)\">\n {{option?.value}}\n <mat-icon matChipRemove *ngIf=\"removable\">cancel</mat-icon>\n </mat-chip-row>\n\n <input matInput #chipTextInput [formArrayName]=\"control.formControlName\" multiple\n [placeholder]=\"control.placeHolder\"\n [matChipInputFor]=\"chipGrid\" [ngStyle]=\"control.style\" [ngClass]=\"control.class\"\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\" [matChipInputAddOnBlur]=\"addOnBlur\"\n (matChipInputTokenEnd)=\"add($event)\"\n [required]=\"formGroup.get(control.formControlName)?.errors !== null && formGroup.get(control.formControlName)?.errors?.['required']\"\n (keyup.enter)=\"keyboardEnterEvent($event)\">\n\n </mat-chip-grid>\n </mat-form-field>\n\n <mat-chip-listbox aria-label=\"Chips selection\" *ngSwitchDefault>\n <mat-chip color=\"{{control.color}}\" selected>{{control.label}}</mat-chip>\n </mat-chip-listbox>\n\n\n <mat-chip-set class=\"chip-list\" cdkDropList cdkDropListOrientation=\"horizontal\" (cdkDropListDropped)=\"drop($event)\"\n *ngSwitchCase=\"'dragDrop'\" class=\"example-chip\">\n <mat-chip class=\"example-box\" cdkDrag *ngFor=\"let option of control?.options\">\n {{option?.value}}\n </mat-chip>\n </mat-chip-set>\n\n</ng-container>", styles: [".chip-list{width:100%}\n"] }]
|
|
96
|
+
}], ctorParameters: function () { return [{ type: i1.FormBuilder }]; }, propDecorators: { control: [{
|
|
97
|
+
type: Input
|
|
98
|
+
}], formGroup: [{
|
|
99
|
+
type: Input
|
|
100
|
+
}], chipAutoCompleteInput: [{
|
|
101
|
+
type: ViewChild,
|
|
102
|
+
args: ['chipAutoCompleteInput']
|
|
103
|
+
}], chipTextInput: [{
|
|
104
|
+
type: ViewChild,
|
|
105
|
+
args: ['chipTextInput']
|
|
106
|
+
}], matAutocomplete: [{
|
|
107
|
+
type: ViewChild,
|
|
108
|
+
args: ['auto']
|
|
109
|
+
}] } });
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mYWxjb24tbmcvdGFpbHdpbmQvc3JjL2xpYi9jb21wb25lbnQvY2hpcHMvY2hpcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mYWxjb24tbmcvdGFpbHdpbmQvc3JjL2xpYi9jb21wb25lbnQvY2hpcHMvY2hpcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFaEYsT0FBTyxFQUEwQixXQUFXLEVBQWEsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRixPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBT3JELE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFaEQsT0FBTyxFQUFlLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7Ozs7Ozs7QUFFdEUsTUFLYSxhQUFhO0lBZ0J4QixZQUFvQixFQUFlO1FBQWYsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQWIxQix1QkFBa0IsR0FBYSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN2RCxlQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFDakIsY0FBUyxHQUFHLElBQUksQ0FBQztRQUVqQix3QkFBbUIsR0FBRyxJQUFJLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQVN2QyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUMvRCxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQ2YsR0FBRyxDQUFDLENBQUMsS0FBb0IsRUFBRSxFQUFFLENBQzNCLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsS0FBSyxFQUFFLENBQzVELENBQ0YsQ0FBQztJQUVMLENBQUM7SUFFRCxRQUFRO1FBQ0wsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUMvQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUNsQyxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FDaEIsQ0FBQztnQkFDZixJQUFJLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFO29CQUN0RCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDekQsQ0FBQyxDQUFDLENBQUM7YUFDSjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ04sQ0FBQztJQUVELEdBQUcsQ0FBQyxLQUF3QjtRQUN6QixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQzFCLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDMUIsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQztnQkFDcEMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLEVBQUU7Z0JBQ2pCLEtBQUssRUFBRSxLQUFLLENBQUMsSUFBSSxFQUFFO2FBQ3BCLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQzdCLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUNoQixDQUFDO1lBQ2YsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQ3pDO1FBQ0QsSUFBSSxLQUFLLEVBQUU7WUFDVCxLQUFLLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztTQUNsQjtJQUNKLENBQUM7SUFFQSxVQUFVLENBQUMsS0FBYTtRQUN0QixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ25CLEdBQUcsRUFBRSxLQUFLO1lBQ1YsS0FBSyxFQUFFLEtBQUs7U0FDYixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUYsTUFBTSxDQUFDLE1BQWdCO1FBQ3BCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQy9ELElBQUksS0FBSyxJQUFJLENBQUMsRUFBRTtZQUNkLElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNsRCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUM1QjtJQUNKLENBQUM7SUFFRCxjQUFjLENBQUMsS0FBbUM7UUFDL0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUM7WUFDcEMsR0FBRyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSztZQUN2QixLQUFLLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLO1NBQzFCLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQWMsQ0FBQztRQUMzRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMscUJBQXFCLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDcEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVRLE9BQU8sQ0FBQyxLQUFhO1FBQzNCLElBQUksS0FBSyxLQUFLLElBQUksRUFBRTtZQUNsQixNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDeEMsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQyxNQUFnQixFQUFFLEVBQUUsQ0FDeEQsTUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQ2pELENBQUM7U0FDSDtJQUNILENBQUM7SUFFRCxJQUFJLENBQUMsS0FBOEI7UUFDakMsZUFBZSxDQUNiLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUNwQixLQUFLLENBQUMsYUFBYSxFQUNuQixLQUFLLENBQUMsWUFBWSxDQUNuQixDQUFDO0lBQ0osQ0FBQztJQUVGLGtCQUFrQixDQUFDLEtBQVU7UUFDMUIsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssS0FBSyxTQUFTO1lBQ2xDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUMvQyxDQUFDOzhHQXhHVSxhQUFhO2tHQUFiLGFBQWEsc2FDbkIxQix1aElBMEVlOztTRHZERixhQUFhOzJGQUFiLGFBQWE7a0JBTHpCLFNBQVM7K0JBQ0UsYUFBYTtrR0FLZCxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFVTixxQkFBcUI7c0JBRHBCLFNBQVM7dUJBQUMsdUJBQXVCO2dCQUVOLGFBQWE7c0JBQXhDLFNBQVM7dUJBQUMsZUFBZTtnQkFDUCxlQUFlO3NCQUFqQyxTQUFTO3VCQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFzZUNvbnRyb2wgfSBmcm9tICcuLi8uLi9iYXNlLWNvbnRyb2wnO1xuaW1wb3J0IHsgRm9ybUFycmF5LCBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENPTU1BLCBFTlRFUiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJT3B0aW9ucyB9IGZyb20gJy4uLy4uL21vZGVsL2ludGVyZmFjZSc7XG5pbXBvcnQge1xuICBNYXRBdXRvY29tcGxldGUsXG4gIE1hdEF1dG9jb21wbGV0ZVNlbGVjdGVkRXZlbnQsXG59IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQgeyBtYXAsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE1hdENoaXBJbnB1dEV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hpcHMnO1xuaW1wb3J0IHsgQ2RrRHJhZ0Ryb3AsIG1vdmVJdGVtSW5BcnJheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmYWxjb24tY2hpcCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGlwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2hpcC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBDaGlwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgY29udHJvbCE6IEJhc2VDb250cm9sPGFueT47XG4gIEBJbnB1dCgpIGZvcm1Hcm91cCE6IEZvcm1Hcm91cDtcbiAgcmVhZG9ubHkgc2VwYXJhdG9yS2V5c0NvZGVzOiBudW1iZXJbXSA9IFtFTlRFUiwgQ09NTUFdO1xuICBzZWxlY3RhYmxlID0gdHJ1ZTtcbiAgcmVtb3ZhYmxlID0gdHJ1ZTtcbiAgYWRkT25CbHVyID0gdHJ1ZTtcbiAgZmlsdGVyZWRPcHRpb25zOiBPYnNlcnZhYmxlPElPcHRpb25zW10+O1xuICBhdXRvQ29tcGxldGVDb250cm9sID0gbmV3IEZvcm1Db250cm9sKCcnKTtcbiAgcHJpdmF0ZSBpdGVtczogRm9ybUFycmF5O1xuXG4gIEBWaWV3Q2hpbGQoJ2NoaXBBdXRvQ29tcGxldGVJbnB1dCcpXG4gIGNoaXBBdXRvQ29tcGxldGVJbnB1dCE6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG4gIEBWaWV3Q2hpbGQoJ2NoaXBUZXh0SW5wdXQnKSBjaGlwVGV4dElucHV0ITogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcbiAgQFZpZXdDaGlsZCgnYXV0bycpIG1hdEF1dG9jb21wbGV0ZSE6IE1hdEF1dG9jb21wbGV0ZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZiOiBGb3JtQnVpbGRlcikge1xuICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IHRoaXMuYXV0b0NvbXBsZXRlQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgICBzdGFydFdpdGgobnVsbCksXG4gICAgICAgbWFwKCh2YWx1ZTogc3RyaW5nIHwgbnVsbCkgPT5cbiAgICAgICAgIHZhbHVlID8gdGhpcy5fZmlsdGVyKHZhbHVlKSA6IHRoaXMuY29udHJvbD8ub3B0aW9ucy5zbGljZSgpXG4gICAgICAgKVxuICAgICApO1xuXG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgaWYgKHRoaXMuY29udHJvbC5jaGlwU2VsZWN0ZWRPcHRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgIHRoaXMuaXRlbXMgPSB0aGlzLmZvcm1Hcm91cC5jb250cm9sc1tcbiAgICAgICAgICAgdGhpcy5jb250cm9sLmZvcm1Db250cm9sTmFtZVxuICAgICAgICAgXSBhcyBGb3JtQXJyYXk7XG4gICAgICAgICB0aGlzLmNvbnRyb2wuY2hpcFNlbGVjdGVkT3B0aW9ucy5mb3JFYWNoKCh2YWx1ZTogYW55KSA9PiB7XG4gICAgICAgICAgIHRoaXMuaXRlbXMuY29udHJvbHMucHVzaCh0aGlzLmNyZWF0ZUl0ZW0odmFsdWUudmFsdWUpKTtcbiAgICAgICAgIH0pO1xuICAgICAgIH1cbiAgICAgfSk7XG4gIH1cblxuICBhZGQoZXZlbnQ6IE1hdENoaXBJbnB1dEV2ZW50KTogdm9pZCB7XG4gICAgIGNvbnN0IGlucHV0ID0gZXZlbnQuaW5wdXQ7XG4gICAgIGNvbnN0IHZhbHVlID0gZXZlbnQudmFsdWU7XG4gICAgIGlmICgodmFsdWUgfHwgJycpLnRyaW0oKSkge1xuICAgICAgIHRoaXMuY29udHJvbC5jaGlwU2VsZWN0ZWRPcHRpb25zLnB1c2goe1xuICAgICAgICAga2V5OiB2YWx1ZS50cmltKCksXG4gICAgICAgICB2YWx1ZTogdmFsdWUudHJpbSgpLFxuICAgICAgIH0pO1xuICAgICAgIHRoaXMuaXRlbXMgPSB0aGlzLmZvcm1Hcm91cC5nZXQoXG4gICAgICAgICB0aGlzLmNvbnRyb2wuZm9ybUNvbnRyb2xOYW1lXG4gICAgICAgKSBhcyBGb3JtQXJyYXk7XG4gICAgICAgdGhpcy5pdGVtcy5wdXNoKHRoaXMuY3JlYXRlSXRlbSh2YWx1ZSkpO1xuICAgICB9XG4gICAgIGlmIChpbnB1dCkge1xuICAgICAgIGlucHV0LnZhbHVlID0gJyc7XG4gICAgIH1cbiAgfVxuXG4gICBjcmVhdGVJdGVtKHZhbHVlOiBTdHJpbmcpOiBGb3JtR3JvdXAge1xuICAgICByZXR1cm4gdGhpcy5mYi5ncm91cCh7XG4gICAgICAga2V5OiB2YWx1ZSxcbiAgICAgICB2YWx1ZTogdmFsdWUsXG4gICAgIH0pO1xuICAgfVxuXG4gIHJlbW92ZShvcHRpb246IElPcHRpb25zKTogdm9pZCB7XG4gICAgIGNvbnN0IGluZGV4ID0gdGhpcy5jb250cm9sLmNoaXBTZWxlY3RlZE9wdGlvbnMuaW5kZXhPZihvcHRpb24pO1xuICAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgIHRoaXMuY29udHJvbC5jaGlwU2VsZWN0ZWRPcHRpb25zLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgdGhpcy5pdGVtcy5yZW1vdmVBdChpbmRleCk7XG4gICAgIH1cbiAgfVxuXG4gIG9wdGlvblNlbGVjdGVkKGV2ZW50OiBNYXRBdXRvY29tcGxldGVTZWxlY3RlZEV2ZW50KTogdm9pZCB7XG4gICAgIHRoaXMuY29udHJvbC5jaGlwU2VsZWN0ZWRPcHRpb25zLnB1c2goe1xuICAgICAgIGtleTogZXZlbnQub3B0aW9uLnZhbHVlLFxuICAgICAgIHZhbHVlOiBldmVudC5vcHRpb24udmFsdWUsXG4gICAgIH0pO1xuICAgICB0aGlzLml0ZW1zID0gdGhpcy5mb3JtR3JvdXAuZ2V0KHRoaXMuY29udHJvbC5mb3JtQ29udHJvbE5hbWUpIGFzIEZvcm1BcnJheTtcbiAgICAgdGhpcy5pdGVtcy5wdXNoKHRoaXMuY3JlYXRlSXRlbShldmVudC5vcHRpb24udmFsdWUpKTtcbiAgICAgdGhpcy5jaGlwQXV0b0NvbXBsZXRlSW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xuICAgICB0aGlzLmZvcm1Hcm91cC5nZXQodGhpcy5jb250cm9sLmZvcm1Db250cm9sTmFtZSk/LnNldFZhbHVlKG51bGwpO1xuICB9XG5cbiAgIHByaXZhdGUgX2ZpbHRlcih2YWx1ZTogc3RyaW5nKTogYW55IHtcbiAgICAgaWYgKHZhbHVlICE9PSBudWxsKSB7XG4gICAgICAgY29uc3QgZmlsdGVyVmFsdWUgPSB2YWx1ZS50b0xvd2VyQ2FzZSgpO1xuICAgICAgIHJldHVybiB0aGlzLmNvbnRyb2w/Lm9wdGlvbnM/LmZpbHRlcigob3B0aW9uOiBJT3B0aW9ucykgPT5cbiAgICAgICAgIG9wdGlvbi52YWx1ZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGZpbHRlclZhbHVlKVxuICAgICAgICk7XG4gICAgIH1cbiAgIH1cblxuICAgZHJvcChldmVudDogQ2RrRHJhZ0Ryb3A8SU9wdGlvbnNbXT4pIHtcbiAgICAgbW92ZUl0ZW1JbkFycmF5KFxuICAgICAgIHRoaXMuY29udHJvbC5vcHRpb25zLFxuICAgICAgIGV2ZW50LnByZXZpb3VzSW5kZXgsXG4gICAgICAgZXZlbnQuY3VycmVudEluZGV4XG4gICAgICk7XG4gICB9XG5cbiAga2V5Ym9hcmRFbnRlckV2ZW50KGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICAgaWYgKHRoaXMuY29udHJvbC5ldmVudCAhPT0gdW5kZWZpbmVkKVxuICAgICAgIHRoaXMuY29udHJvbC5ldmVudC5rZXlib2FyZEVudGVyPy5lbWl0KGV2ZW50KTtcbiAgICAgdGhpcy5jaGlwVGV4dElucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiY29udHJvbC50eXBlXCI+XG4gIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImNoaXAtbGlzdFwiICpuZ1N3aXRjaENhc2U9XCInc2VhcmNoJ1wiIFthcHBlYXJhbmNlXT1cImNvbnRyb2wuYXBwZWFyYW5jZVwiIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCJcbiAgICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cImNvbnRyb2wuc3R5bGVcIiBbbmdDbGFzc109XCJjb250cm9sLmNsYXNzXCI+XG4gICAgPG1hdC1sYWJlbD57e2NvbnRyb2wubGFiZWx9fTwvbWF0LWxhYmVsPlxuICAgIDxtYXQtY2hpcC1ncmlkICNjaGlwR3JpZCBhcmlhLWxhYmVsPVwiaXRlbSBzZWxlY3Rpb25cIj5cbiAgICAgIDxtYXQtY2hpcC1yb3cgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBjb250cm9sLmNoaXBTZWxlY3RlZE9wdGlvbnNcIiBbcmVtb3ZhYmxlXT1cInJlbW92YWJsZVwiXG4gICAgICAgICAgICAgICAgICAgIChyZW1vdmVkKT1cInJlbW92ZShvcHRpb24pXCI+XG4gICAgICAgIHt7b3B0aW9uLnZhbHVlfX1cbiAgICAgICAgPG1hdC1pY29uIG1hdENoaXBSZW1vdmUgKm5nSWY9XCJyZW1vdmFibGVcIj5jYW5jZWw8L21hdC1pY29uPlxuICAgICAgPC9tYXQtY2hpcC1yb3c+XG5cbiAgICAgIDxpbnB1dCBtYXRJbnB1dCAjY2hpcEF1dG9Db21wbGV0ZUlucHV0IFtmb3JtQ29udHJvbF09XCJhdXRvQ29tcGxldGVDb250cm9sXCJcbiAgICAgICAgICAgICBbZm9ybUFycmF5TmFtZV09XCJjb250cm9sLmZvcm1Db250cm9sTmFtZVwiIFtwbGFjZWhvbGRlcl09XCJjb250cm9sLnBsYWNlSG9sZGVyXCIgW25nU3R5bGVdPVwiY29udHJvbC5zdHlsZVwiXG4gICAgICAgICAgICAgW25nQ2xhc3NdPVwiY29udHJvbC5jbGFzc1wiIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b1wiIFttYXRDaGlwSW5wdXRGb3JdPVwiY2hpcEdyaWRcIlxuICAgICAgICAgICAgIFttYXRDaGlwSW5wdXRTZXBhcmF0b3JLZXlDb2Rlc109XCJzZXBhcmF0b3JLZXlzQ29kZXNcIiAobWF0Q2hpcElucHV0VG9rZW5FbmQpPVwiYWRkKCRldmVudClcIlxuICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJmb3JtR3JvdXAuZ2V0KGNvbnRyb2wuZm9ybUNvbnRyb2xOYW1lKT8uZXJyb3JzICE9PSBudWxsICYmIGZvcm1Hcm91cC5nZXQoY29udHJvbC5mb3JtQ29udHJvbE5hbWUpPy5lcnJvcnM/LlsncmVxdWlyZWQnXVwiXG4gICAgICAgICAgICAgKGtleXVwLmVudGVyKT1cImtleWJvYXJkRW50ZXJFdmVudCgkZXZlbnQpXCI+XG5cbiAgICA8L21hdC1jaGlwLWdyaWQ+XG4gICAgPG1hdC1hdXRvY29tcGxldGUgI2F1dG89XCJtYXRBdXRvY29tcGxldGVcIiAob3B0aW9uU2VsZWN0ZWQpPVwib3B0aW9uU2VsZWN0ZWQoJGV2ZW50KVwiPlxuICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGl0ZW0gb2YgZmlsdGVyZWRPcHRpb25zIHwgYXN5bmNcIiBbdmFsdWVdPVwiaXRlbS5rZXlcIj5cbiAgICAgICAge3tpdGVtLnZhbHVlfX1cbiAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICA8L21hdC1hdXRvY29tcGxldGU+XG4gICAgPG1hdC1oaW50PlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRyb2wuaGludC5saW5rPy5pc0xpbms7IGVsc2UgZWxzZUJsb2NrXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb250cm9sLmhpbnQubGluaz8ucXVlcnlQYXJhbXMgIT09IHVuZGVmaW5lZDsgZWxzZSB3aXRob3V0UXVlcnlCbG9ja1wiPlxuICAgICAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cIltjb250cm9sLmhpbnQubGluaz8ucm91dGVyTGlua11cIiBbcXVlcnlQYXJhbXNdPVwieyBxdWVyeTogY29udHJvbC5oaW50Lmxpbms/LnF1ZXJ5UGFyYW1zIH1cIlxuICAgICAgICAgICAgIHJvdXRlckxpbmtBY3RpdmU9XCJyb3V0ZXItbGluay1hY3RpdmVcIj57e2NvbnRyb2wuaGludC50ZXh0fX08L2E+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctdGVtcGxhdGUgI2Vsc2VCbG9jaz5cbiAgICAgICAgPHNwYW4+e3tjb250cm9sLmhpbnQudGV4dH19PC9zcGFuPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjd2l0aG91dFF1ZXJ5QmxvY2s+XG4gICAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cIltjb250cm9sLmhpbnQubGluaz8ucm91dGVyTGlua11cIlxuICAgICAgICAgICByb3V0ZXJMaW5rQWN0aXZlPVwicm91dGVyLWxpbmstYWN0aXZlXCI+e3tjb250cm9sLmhpbnQudGV4dH19PC9hPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L21hdC1oaW50PlxuICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImNoaXAtbGlzdFwiICpuZ1N3aXRjaENhc2U9XCIndGV4dCdcIiBbYXBwZWFyYW5jZV09XCJjb250cm9sLmFwcGVhcmFuY2VcIiBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiXG4gICAgICAgICAgICAgICAgICBbbmdTdHlsZV09XCJjb250cm9sLnN0eWxlXCIgW25nQ2xhc3NdPVwiY29udHJvbC5jbGFzc1wiPlxuICAgIDxtYXQtbGFiZWw+e3tjb250cm9sLmxhYmVsfX08L21hdC1sYWJlbD5cbiAgICA8bWF0LWNoaXAtZ3JpZCAjY2hpcEdyaWQgYXJpYS1sYWJlbD1cIml0ZW0gc2VsZWN0aW9uXCI+XG4gICAgICA8bWF0LWNoaXAtcm93ICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgY29udHJvbC5jaGlwU2VsZWN0ZWRPcHRpb25zXCIgW3ZhbHVlXT1cInNlbGVjdGFibGVcIiBbcmVtb3ZhYmxlXT1cInJlbW92YWJsZVwiXG4gICAgICAgICAgICAgICAgICAgIChyZW1vdmVkKT1cInJlbW92ZShvcHRpb24pXCI+XG4gICAgICAgIHt7b3B0aW9uPy52YWx1ZX19XG4gICAgICAgIDxtYXQtaWNvbiBtYXRDaGlwUmVtb3ZlICpuZ0lmPVwicmVtb3ZhYmxlXCI+Y2FuY2VsPC9tYXQtaWNvbj5cbiAgICAgIDwvbWF0LWNoaXAtcm93PlxuXG4gICAgICA8aW5wdXQgbWF0SW5wdXQgI2NoaXBUZXh0SW5wdXQgW2Zvcm1BcnJheU5hbWVdPVwiY29udHJvbC5mb3JtQ29udHJvbE5hbWVcIiBtdWx0aXBsZVxuICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJjb250cm9sLnBsYWNlSG9sZGVyXCJcbiAgICAgICAgICAgICBbbWF0Q2hpcElucHV0Rm9yXT1cImNoaXBHcmlkXCIgW25nU3R5bGVdPVwiY29udHJvbC5zdHlsZVwiIFtuZ0NsYXNzXT1cImNvbnRyb2wuY2xhc3NcIlxuICAgICAgICAgICAgIFttYXRDaGlwSW5wdXRTZXBhcmF0b3JLZXlDb2Rlc109XCJzZXBhcmF0b3JLZXlzQ29kZXNcIiBbbWF0Q2hpcElucHV0QWRkT25CbHVyXT1cImFkZE9uQmx1clwiXG4gICAgICAgICAgICAgKG1hdENoaXBJbnB1dFRva2VuRW5kKT1cImFkZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICBbcmVxdWlyZWRdPVwiZm9ybUdyb3VwLmdldChjb250cm9sLmZvcm1Db250cm9sTmFtZSk/LmVycm9ycyAhPT0gbnVsbCAmJiBmb3JtR3JvdXAuZ2V0KGNvbnRyb2wuZm9ybUNvbnRyb2xOYW1lKT8uZXJyb3JzPy5bJ3JlcXVpcmVkJ11cIlxuICAgICAgICAgICAgIChrZXl1cC5lbnRlcik9XCJrZXlib2FyZEVudGVyRXZlbnQoJGV2ZW50KVwiPlxuXG4gICAgPC9tYXQtY2hpcC1ncmlkPlxuICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gIDxtYXQtY2hpcC1saXN0Ym94IGFyaWEtbGFiZWw9XCJDaGlwcyBzZWxlY3Rpb25cIiAqbmdTd2l0Y2hEZWZhdWx0PlxuICAgIDxtYXQtY2hpcCBjb2xvcj1cInt7Y29udHJvbC5jb2xvcn19XCIgc2VsZWN0ZWQ+e3tjb250cm9sLmxhYmVsfX08L21hdC1jaGlwPlxuICA8L21hdC1jaGlwLWxpc3Rib3g+XG5cblxuICA8bWF0LWNoaXAtc2V0IGNsYXNzPVwiY2hpcC1saXN0XCIgY2RrRHJvcExpc3QgY2RrRHJvcExpc3RPcmllbnRhdGlvbj1cImhvcml6b250YWxcIiAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3AoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidkcmFnRHJvcCdcIiBjbGFzcz1cImV4YW1wbGUtY2hpcFwiPlxuICAgIDxtYXQtY2hpcCBjbGFzcz1cImV4YW1wbGUtYm94XCIgY2RrRHJhZyAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGNvbnRyb2w/Lm9wdGlvbnNcIj5cbiAgICAgIHt7b3B0aW9uPy52YWx1ZX19XG4gICAgPC9tYXQtY2hpcD5cbiAgPC9tYXQtY2hpcC1zZXQ+XG5cbjwvbmctY29udGFpbmVyPiJdfQ==
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/material/datepicker";
|
|
4
|
+
import * as i2 from "@angular/material/icon";
|
|
5
|
+
import * as i3 from "@angular/material/input";
|
|
6
|
+
import * as i4 from "@angular/material/form-field";
|
|
7
|
+
import * as i5 from "@angular/common";
|
|
8
|
+
import * as i6 from "@angular/forms";
|
|
9
|
+
class DatePickerComponent {
|
|
10
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: DatePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
11
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: DatePickerComponent, selector: "falcon-date-picker", ngImport: i0, template: "<mat-form-field [appearance]=\"control.appearance\" [formGroup]=\"formGroup\"\n [floatLabel]=\"control.floatLabel\" [ngStyle]=\"control.style\"\n [ngClass]=\"control.class\">\n <mat-label>{{control.label}}</mat-label>\n <input matInput [matDatepicker]=\"picker\" [formControlName]=\"control.formControlName\"\n [placeholder]=\"control.placeHolder\" [type]=\"control.type\"\n [ngStyle]=\"control.style\" [ngClass]=\"control.class\"\n [required]=\"formGroup.get(control.formControlName)?.errors !== null && formGroup.get(control.formControlName)?.errors?.['required']\">\n <mat-datepicker-toggle matSuffix [for]=\"picker\">\n <mat-icon matDatepickerToggleIcon *ngIf=\"control.suffix.isIcon\">keyboard_arrow_down</mat-icon>\n </mat-datepicker-toggle>\n <mat-datepicker #picker></mat-datepicker>\n <mat-hint>{{control.hint.text}}</mat-hint>\n <ng-container *ngFor=\"let validation of control.validations;\" ngProjectAs=\"mat-error\">\n <mat-error *ngIf=\"formGroup.get(control.formControlName)?.hasError(validation.name)\">{{validation.message}}\n </mat-error>\n </ng-container>\n</mat-form-field>", styles: [""], dependencies: [{ kind: "component", type: i1.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i1.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i1.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "directive", type: i1.MatDatepickerToggleIcon, selector: "[matDatepickerToggleIcon]" }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { 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: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i4.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i4.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i6.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: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i6.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] }); }
|
|
12
|
+
}
|
|
13
|
+
export { DatePickerComponent };
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: DatePickerComponent, decorators: [{
|
|
15
|
+
type: Component,
|
|
16
|
+
args: [{ selector: 'falcon-date-picker', template: "<mat-form-field [appearance]=\"control.appearance\" [formGroup]=\"formGroup\"\n [floatLabel]=\"control.floatLabel\" [ngStyle]=\"control.style\"\n [ngClass]=\"control.class\">\n <mat-label>{{control.label}}</mat-label>\n <input matInput [matDatepicker]=\"picker\" [formControlName]=\"control.formControlName\"\n [placeholder]=\"control.placeHolder\" [type]=\"control.type\"\n [ngStyle]=\"control.style\" [ngClass]=\"control.class\"\n [required]=\"formGroup.get(control.formControlName)?.errors !== null && formGroup.get(control.formControlName)?.errors?.['required']\">\n <mat-datepicker-toggle matSuffix [for]=\"picker\">\n <mat-icon matDatepickerToggleIcon *ngIf=\"control.suffix.isIcon\">keyboard_arrow_down</mat-icon>\n </mat-datepicker-toggle>\n <mat-datepicker #picker></mat-datepicker>\n <mat-hint>{{control.hint.text}}</mat-hint>\n <ng-container *ngFor=\"let validation of control.validations;\" ngProjectAs=\"mat-error\">\n <mat-error *ngIf=\"formGroup.get(control.formControlName)?.hasError(validation.name)\">{{validation.message}}\n </mat-error>\n </ng-container>\n</mat-form-field>" }]
|
|
17
|
+
}] });
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZmFsY29uLW5nL3RhaWx3aW5kL3NyYy9saWIvY29tcG9uZW50L2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ZhbGNvbi1uZy90YWlsd2luZC9zcmMvbGliL2NvbXBvbmVudC9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7OztBQUkxQyxNQUthLG1CQUFtQjs4R0FBbkIsbUJBQW1CO2tHQUFuQixtQkFBbUIsMERDVGhDLDhvQ0FpQmlCOztTRFJKLG1CQUFtQjsyRkFBbkIsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCYXNlQ29udHJvbH0gZnJvbSBcIi4uLy4uL2Jhc2UtY29udHJvbFwiO1xuaW1wb3J0IHtGb3JtR3JvdXB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmYWxjb24tZGF0ZS1waWNrZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0ZS1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kYXRlLXBpY2tlci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBEYXRlUGlja2VyQ29tcG9uZW50IHtcbiBjb250cm9sITogQmFzZUNvbnRyb2w8c3RyaW5nPjtcbiBmb3JtR3JvdXAhOiBGb3JtR3JvdXA7XG59XG4iLCI8bWF0LWZvcm0tZmllbGQgW2FwcGVhcmFuY2VdPVwiY29udHJvbC5hcHBlYXJhbmNlXCIgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIlxuICAgICAgICAgICAgICAgIFtmbG9hdExhYmVsXT1cImNvbnRyb2wuZmxvYXRMYWJlbFwiIFtuZ1N0eWxlXT1cImNvbnRyb2wuc3R5bGVcIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cImNvbnRyb2wuY2xhc3NcIj5cbiAgPG1hdC1sYWJlbD57e2NvbnRyb2wubGFiZWx9fTwvbWF0LWxhYmVsPlxuICA8aW5wdXQgbWF0SW5wdXQgW21hdERhdGVwaWNrZXJdPVwicGlja2VyXCIgW2Zvcm1Db250cm9sTmFtZV09XCJjb250cm9sLmZvcm1Db250cm9sTmFtZVwiXG4gICAgICAgICBbcGxhY2Vob2xkZXJdPVwiY29udHJvbC5wbGFjZUhvbGRlclwiIFt0eXBlXT1cImNvbnRyb2wudHlwZVwiXG4gICAgICAgICBbbmdTdHlsZV09XCJjb250cm9sLnN0eWxlXCIgW25nQ2xhc3NdPVwiY29udHJvbC5jbGFzc1wiXG4gICAgICAgICBbcmVxdWlyZWRdPVwiZm9ybUdyb3VwLmdldChjb250cm9sLmZvcm1Db250cm9sTmFtZSk/LmVycm9ycyAhPT0gbnVsbCAmJiBmb3JtR3JvdXAuZ2V0KGNvbnRyb2wuZm9ybUNvbnRyb2xOYW1lKT8uZXJyb3JzPy5bJ3JlcXVpcmVkJ11cIj5cbiAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZSBtYXRTdWZmaXggW2Zvcl09XCJwaWNrZXJcIj5cbiAgICA8bWF0LWljb24gbWF0RGF0ZXBpY2tlclRvZ2dsZUljb24gKm5nSWY9XCJjb250cm9sLnN1ZmZpeC5pc0ljb25cIj5rZXlib2FyZF9hcnJvd19kb3duPC9tYXQtaWNvbj5cbiAgPC9tYXQtZGF0ZXBpY2tlci10b2dnbGU+XG4gIDxtYXQtZGF0ZXBpY2tlciAjcGlja2VyPjwvbWF0LWRhdGVwaWNrZXI+XG4gIDxtYXQtaGludD57e2NvbnRyb2wuaGludC50ZXh0fX08L21hdC1oaW50PlxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB2YWxpZGF0aW9uIG9mIGNvbnRyb2wudmFsaWRhdGlvbnM7XCIgbmdQcm9qZWN0QXM9XCJtYXQtZXJyb3JcIj5cbiAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUdyb3VwLmdldChjb250cm9sLmZvcm1Db250cm9sTmFtZSk/Lmhhc0Vycm9yKHZhbGlkYXRpb24ubmFtZSlcIj57e3ZhbGlkYXRpb24ubWVzc2FnZX19XG4gICAgPC9tYXQtZXJyb3I+XG4gIDwvbmctY29udGFpbmVyPlxuPC9tYXQtZm9ybS1maWVsZD4iXX0=
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Component, Inject } from '@angular/core';
|
|
2
|
+
import { MAT_DIALOG_DATA } from "@angular/material/dialog";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/material/button";
|
|
5
|
+
import * as i2 from "@angular/material/dialog";
|
|
6
|
+
import * as i3 from "@angular/material/divider";
|
|
7
|
+
class DialogComponent {
|
|
8
|
+
constructor(data) {
|
|
9
|
+
this.data = data;
|
|
10
|
+
}
|
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: DialogComponent, deps: [{ token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: DialogComponent, selector: "lib-dialog", ngImport: i0, template: "<span mat-dialog-title>{{data.title}}</span>\n<mat-divider></mat-divider>\n<div mat-dialog-content>\n <span class=\"mat-h3\">{{data.bodyMessage}}</span>\n</div>\n<mat-divider></mat-divider>\n<div mat-dialog-actions>\n <button mat-raised-button [mat-dialog-close]=\"\" cdkFocusInitial>{{data.cancelBtnText}}</button>\n <button mat-raised-button [color]=\"'warn'\" [mat-dialog-close]=\"data\">\n {{data.mainbtnText}}\n </button>\n </div>\n", styles: [".mat-mdc-dialog-actions{justify-content:end!important}\n"], dependencies: [{ kind: "component", type: i1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i2.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i2.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i3.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }] }); }
|
|
13
|
+
}
|
|
14
|
+
export { DialogComponent };
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: DialogComponent, decorators: [{
|
|
16
|
+
type: Component,
|
|
17
|
+
args: [{ selector: 'lib-dialog', template: "<span mat-dialog-title>{{data.title}}</span>\n<mat-divider></mat-divider>\n<div mat-dialog-content>\n <span class=\"mat-h3\">{{data.bodyMessage}}</span>\n</div>\n<mat-divider></mat-divider>\n<div mat-dialog-actions>\n <button mat-raised-button [mat-dialog-close]=\"\" cdkFocusInitial>{{data.cancelBtnText}}</button>\n <button mat-raised-button [color]=\"'warn'\" [mat-dialog-close]=\"data\">\n {{data.mainbtnText}}\n </button>\n </div>\n", styles: [".mat-mdc-dialog-actions{justify-content:end!important}\n"] }]
|
|
18
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
19
|
+
type: Inject,
|
|
20
|
+
args: [MAT_DIALOG_DATA]
|
|
21
|
+
}] }]; } });
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ZhbGNvbi1uZy90YWlsd2luZC9zcmMvbGliL2NvbXBvbmVudC9kaWFsb2cvZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ZhbGNvbi1uZy90YWlsd2luZC9zcmMvbGliL2NvbXBvbmVudC9kaWFsb2cvZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRWhELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7QUFFekQsTUFLYSxlQUFlO0lBQzFCLFlBQTRDLElBQWlCO1FBQWpCLFNBQUksR0FBSixJQUFJLENBQWE7SUFBRyxDQUFDOzhHQUR0RCxlQUFlLGtCQUNOLGVBQWU7a0dBRHhCLGVBQWUsa0RDVDVCLHVjQVlBOztTREhhLGVBQWU7MkZBQWYsZUFBZTtrQkFMM0IsU0FBUzsrQkFDRSxZQUFZOzswQkFLVCxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SURpYWxvZ0RhdGF9IGZyb20gXCIuLi8uLi9tb2RlbC9pbnRlcmZhY2VcIjtcbmltcG9ydCB7TUFUX0RJQUxPR19EQVRBfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1kaWFsb2cnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGlhbG9nLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRGlhbG9nQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IoQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiBJRGlhbG9nRGF0YSkge31cbn1cbiIsIjxzcGFuIG1hdC1kaWFsb2ctdGl0bGU+e3tkYXRhLnRpdGxlfX08L3NwYW4+XG48bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbjxkaXYgbWF0LWRpYWxvZy1jb250ZW50PlxuICA8c3BhbiBjbGFzcz1cIm1hdC1oM1wiPnt7ZGF0YS5ib2R5TWVzc2FnZX19PC9zcGFuPlxuPC9kaXY+XG48bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbjxkaXYgbWF0LWRpYWxvZy1hY3Rpb25zPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gW21hdC1kaWFsb2ctY2xvc2VdPVwiXCIgY2RrRm9jdXNJbml0aWFsPnt7ZGF0YS5jYW5jZWxCdG5UZXh0fX08L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIFtjb2xvcl09XCInd2FybidcIiBbbWF0LWRpYWxvZy1jbG9zZV09XCJkYXRhXCI+XG4gICAgICB7e2RhdGEubWFpbmJ0blRleHR9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbiJdfQ==
|