@seniorsistemas/data-seniorx-core 1.9.0 → 1.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,103 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, ChangeDetectionStrategy, ViewEncapsulation, Input, Output, EventEmitter } from '@angular/core';
3
+ import { FormsModule } from '@angular/forms';
4
+ import { CheckboxComponent } from '../checkbox/checkbox.component';
5
+ import { PaginatorComponent } from '../paginator/paginator.component';
6
+ import { SearchboxComponent } from '../searchbox/searchbox.component';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/common";
9
+ import * as i2 from "@angular/forms";
10
+ export class PicklistComponent {
11
+ items = [];
12
+ selectedIds = [];
13
+ idKey = 'id';
14
+ titleKey = 'name';
15
+ subtitleKey = 'code';
16
+ iconClass = 'fas fa-rocket';
17
+ first = 0;
18
+ rows = 6;
19
+ rowsPerPageOptions = [5, 10];
20
+ placeholder = 'Buscar produtos';
21
+ pageChange = new EventEmitter();
22
+ selectedIdsChange = new EventEmitter();
23
+ sel = new Set();
24
+ searchTerm = '';
25
+ ngOnChanges(changes) {
26
+ if (changes['selectedIds']) {
27
+ const v = this.selectedIds instanceof Set ? Array.from(this.selectedIds) : (this.selectedIds ?? []);
28
+ this.sel = new Set(v);
29
+ }
30
+ }
31
+ get filtered() {
32
+ const q = this.searchTerm.trim().toLowerCase();
33
+ const base = this.items ?? [];
34
+ if (!q)
35
+ return base;
36
+ return base.filter(it => {
37
+ const hay = `${String(it[this.titleKey] ?? '')} ${String(it[this.subtitleKey] ?? '')}`.toLowerCase();
38
+ return hay.includes(q);
39
+ });
40
+ }
41
+ get totalRecords() { return this.filtered.length; }
42
+ get pageItems() {
43
+ const s = this.first ?? 0;
44
+ const e = s + (this.rows ?? 0);
45
+ return this.filtered.slice(s, e);
46
+ }
47
+ isSelected(it) {
48
+ return this.sel.has(Number(it[this.idKey]));
49
+ }
50
+ toggle(it, checked) {
51
+ const id = Number(it[this.idKey]);
52
+ checked ? this.sel.add(id) : this.sel.delete(id);
53
+ this.selectedIdsChange.emit(Array.from(this.sel));
54
+ }
55
+ rowClick(it) {
56
+ const id = Number(it[this.idKey]);
57
+ const next = !this.sel.has(id);
58
+ this.toggle(it, next);
59
+ }
60
+ onSearchTerm(ev) {
61
+ const term = typeof ev === 'string' ? ev : ev?.detail ?? '';
62
+ this.searchTerm = String(term);
63
+ this.first = 0;
64
+ this.pageChange.emit({ first: 0, rows: this.rows, page: 0, pageCount: Math.ceil(this.totalRecords / (this.rows || 1)) });
65
+ }
66
+ onPageChange(e) {
67
+ this.first = e.first ?? 0;
68
+ this.rows = e.rows ?? this.rows;
69
+ this.pageChange.emit(e);
70
+ }
71
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PicklistComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
72
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: PicklistComponent, isStandalone: true, selector: "sdc-picklist", inputs: { items: "items", selectedIds: "selectedIds", idKey: "idKey", titleKey: "titleKey", subtitleKey: "subtitleKey", iconClass: "iconClass", first: "first", rows: "rows", rowsPerPageOptions: "rowsPerPageOptions", placeholder: "placeholder" }, outputs: { pageChange: "pageChange", selectedIdsChange: "selectedIdsChange" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"p-3\">\n <sdc-searchbox\n [placeholder]=\"placeholder\"\n [triggerMode]=\"'auto'\"\n (onSearch)=\"onSearchTerm($event)\"\n (onClear)=\"onSearchTerm('')\"\n >\n </sdc-searchbox>\n</div>\n\n<div class=\"px-3\">\n <div class=\"grid\">\n <div class=\"col-12\" *ngFor=\"let it of pageItems\">\n <div\n (click)=\"rowClick(it)\"\n class=\"flex align-items-center gap-3 p-3 border-round\"\n [class.surface-200]=\"isSelected(it)\"\n >\n <sdc-checkbox\n [label]=\"''\"\n [ngModel]=\"isSelected(it)\"\n (ngModelChange)=\"toggle(it, $event)\"\n (click)=\"$event.stopPropagation()\"\n >\n </sdc-checkbox>\n <i [class]=\"iconClass\"></i>\n <div class=\"flex flex-column\">\n <div>\n <strong>{{ it[titleKey] }}</strong>\n </div>\n <div class=\"text-500 text-sm\">{{ it[subtitleKey] }}</div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"mt-3\">\n <sdc-paginator\n [first]=\"first\"\n [rows]=\"rows\"\n [totalRecords]=\"totalRecords\"\n [rowsPerPageOptions]=\"rowsPerPageOptions\"\n [isMobile]=\"false\"\n (pageChange)=\"onPageChange($event)\"\n >\n </sdc-paginator>\n <div class=\"text-right text-500 text-sm mt-2\">{{ totalRecords }} registros encontrados</div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: CheckboxComponent, selector: "sdc-checkbox", inputs: ["label", "disabled", "commonCheckbox", "labelPosition", "size", "checked"], outputs: ["checkedChange"] }, { kind: "component", type: PaginatorComponent, selector: "sdc-paginator", inputs: ["first", "rows", "totalRecords", "rowsPerPageOptions", "isMobile", "totalRecordsLabel"], outputs: ["pageChange"] }, { kind: "component", type: SearchboxComponent, selector: "sdc-searchbox", inputs: ["triggerMode"], outputs: ["onSearch", "onClear"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
73
+ }
74
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PicklistComponent, decorators: [{
75
+ type: Component,
76
+ args: [{ selector: 'sdc-picklist', standalone: true, imports: [CommonModule, FormsModule, CheckboxComponent, PaginatorComponent, SearchboxComponent], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<div class=\"p-3\">\n <sdc-searchbox\n [placeholder]=\"placeholder\"\n [triggerMode]=\"'auto'\"\n (onSearch)=\"onSearchTerm($event)\"\n (onClear)=\"onSearchTerm('')\"\n >\n </sdc-searchbox>\n</div>\n\n<div class=\"px-3\">\n <div class=\"grid\">\n <div class=\"col-12\" *ngFor=\"let it of pageItems\">\n <div\n (click)=\"rowClick(it)\"\n class=\"flex align-items-center gap-3 p-3 border-round\"\n [class.surface-200]=\"isSelected(it)\"\n >\n <sdc-checkbox\n [label]=\"''\"\n [ngModel]=\"isSelected(it)\"\n (ngModelChange)=\"toggle(it, $event)\"\n (click)=\"$event.stopPropagation()\"\n >\n </sdc-checkbox>\n <i [class]=\"iconClass\"></i>\n <div class=\"flex flex-column\">\n <div>\n <strong>{{ it[titleKey] }}</strong>\n </div>\n <div class=\"text-500 text-sm\">{{ it[subtitleKey] }}</div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"mt-3\">\n <sdc-paginator\n [first]=\"first\"\n [rows]=\"rows\"\n [totalRecords]=\"totalRecords\"\n [rowsPerPageOptions]=\"rowsPerPageOptions\"\n [isMobile]=\"false\"\n (pageChange)=\"onPageChange($event)\"\n >\n </sdc-paginator>\n <div class=\"text-right text-500 text-sm mt-2\">{{ totalRecords }} registros encontrados</div>\n </div>\n</div>\n" }]
77
+ }], propDecorators: { items: [{
78
+ type: Input,
79
+ args: [{ required: true }]
80
+ }], selectedIds: [{
81
+ type: Input
82
+ }], idKey: [{
83
+ type: Input
84
+ }], titleKey: [{
85
+ type: Input
86
+ }], subtitleKey: [{
87
+ type: Input
88
+ }], iconClass: [{
89
+ type: Input
90
+ }], first: [{
91
+ type: Input
92
+ }], rows: [{
93
+ type: Input
94
+ }], rowsPerPageOptions: [{
95
+ type: Input
96
+ }], placeholder: [{
97
+ type: Input
98
+ }], pageChange: [{
99
+ type: Output
100
+ }], selectedIdsChange: [{
101
+ type: Output
102
+ }] } });
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja2xpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3NyYy9mZWF0dXJlcy9waWNrbGlzdC9waWNrbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3BpY2tsaXN0L3BpY2tsaXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUM3SSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7QUFhdEUsTUFBTSxPQUFPLGlCQUFpQjtJQUNELEtBQUssR0FBYSxFQUFFLENBQUM7SUFDdkMsV0FBVyxHQUEyQixFQUFFLENBQUM7SUFDekMsS0FBSyxHQUFHLElBQUksQ0FBQztJQUNiLFFBQVEsR0FBRyxNQUFNLENBQUM7SUFDbEIsV0FBVyxHQUFHLE1BQU0sQ0FBQztJQUNyQixTQUFTLEdBQUcsZUFBZSxDQUFDO0lBRTVCLEtBQUssR0FBRyxDQUFDLENBQUM7SUFDVixJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBQ1Qsa0JBQWtCLEdBQWEsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdkMsV0FBVyxHQUFHLGlCQUFpQixDQUFDO0lBRS9CLFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBa0IsQ0FBQztJQUNoRCxpQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBWSxDQUFDO0lBRW5ELEdBQUcsR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFDO0lBQ2hDLFVBQVUsR0FBRyxFQUFFLENBQUM7SUFFaEIsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7WUFDM0IsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsWUFBWSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDLENBQUM7WUFDcEcsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFhLENBQUMsQ0FBQztRQUNwQyxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDL0MsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLENBQUM7WUFBRSxPQUFPLElBQUksQ0FBQztRQUNwQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDdEIsTUFBTSxHQUFHLEdBQUcsR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JHLE9BQU8sR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJLFlBQVksS0FBYSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUUzRCxJQUFJLFNBQVM7UUFDWCxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQztRQUMxQixNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQy9CLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxVQUFVLENBQUMsRUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsTUFBTSxDQUFDLEVBQVUsRUFBRSxPQUFnQjtRQUNqQyxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsUUFBUSxDQUFDLEVBQVU7UUFDakIsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNsQyxNQUFNLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxZQUFZLENBQUMsRUFBVztRQUN0QixNQUFNLElBQUksR0FBRyxPQUFPLEVBQUUsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUUsRUFBVSxFQUFFLE1BQU0sSUFBSSxFQUFFLENBQUM7UUFDckUsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMzSCxDQUFDO0lBRUQsWUFBWSxDQUFDLENBQWlCO1FBQzVCLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDaEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUIsQ0FBQzt3R0F2RVUsaUJBQWlCOzRGQUFqQixpQkFBaUIsa2FDbkI5QiwrM0NBaURBLHlERHBDWSxZQUFZLDJKQUFFLFdBQVcsK1ZBQUUsaUJBQWlCLDBLQUFFLGtCQUFrQixxTEFBRSxrQkFBa0I7OzRGQU1uRixpQkFBaUI7a0JBVDdCLFNBQVM7K0JBQ0UsY0FBYyxjQUNaLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLENBQUMsbUJBRzlFLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLFFBQVE7OEJBR2QsS0FBSztzQkFBL0IsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ2hCLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUksVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxpQkFBaUI7c0JBQTFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgVmlld0VuY2Fwc3VsYXRpb24sIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFBhZ2luYXRvclN0YXRlIH0gZnJvbSAncHJpbWVuZy9wYWdpbmF0b3InO1xuaW1wb3J0IHsgQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuLi9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGFnaW5hdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vcGFnaW5hdG9yL3BhZ2luYXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VhcmNoYm94Q29tcG9uZW50IH0gZnJvbSAnLi4vc2VhcmNoYm94L3NlYXJjaGJveC5jb21wb25lbnQnO1xuXG50eXBlIEFueVJlYyA9IFJlY29yZDxzdHJpbmcsIGFueT47XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NkYy1waWNrbGlzdCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBDaGVja2JveENvbXBvbmVudCwgUGFnaW5hdG9yQ29tcG9uZW50LCBTZWFyY2hib3hDb21wb25lbnRdLFxuICB0ZW1wbGF0ZVVybDogJy4vcGlja2xpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vcGlja2xpc3QuY29tcG9uZW50LnNjc3MnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uRW11bGF0ZWRcbn0pXG5leHBvcnQgY2xhc3MgUGlja2xpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBpdGVtczogQW55UmVjW10gPSBbXTtcbiAgQElucHV0KCkgc2VsZWN0ZWRJZHM6IG51bWJlcltdIHwgU2V0PG51bWJlcj4gPSBbXTtcbiAgQElucHV0KCkgaWRLZXkgPSAnaWQnO1xuICBASW5wdXQoKSB0aXRsZUtleSA9ICduYW1lJztcbiAgQElucHV0KCkgc3VidGl0bGVLZXkgPSAnY29kZSc7XG4gIEBJbnB1dCgpIGljb25DbGFzcyA9ICdmYXMgZmEtcm9ja2V0JztcblxuICBASW5wdXQoKSBmaXJzdCA9IDA7XG4gIEBJbnB1dCgpIHJvd3MgPSA2O1xuICBASW5wdXQoKSByb3dzUGVyUGFnZU9wdGlvbnM6IG51bWJlcltdID0gWzUsIDEwXTtcbiAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnQnVzY2FyIHByb2R1dG9zJztcblxuICBAT3V0cHV0KCkgcGFnZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8UGFnaW5hdG9yU3RhdGU+KCk7XG4gIEBPdXRwdXQoKSBzZWxlY3RlZElkc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyW10+KCk7XG5cbiAgcHJpdmF0ZSBzZWwgPSBuZXcgU2V0PG51bWJlcj4oKTtcbiAgc2VhcmNoVGVybSA9ICcnO1xuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1snc2VsZWN0ZWRJZHMnXSkge1xuICAgICAgY29uc3QgdiA9IHRoaXMuc2VsZWN0ZWRJZHMgaW5zdGFuY2VvZiBTZXQgPyBBcnJheS5mcm9tKHRoaXMuc2VsZWN0ZWRJZHMpIDogKHRoaXMuc2VsZWN0ZWRJZHMgPz8gW10pO1xuICAgICAgdGhpcy5zZWwgPSBuZXcgU2V0KHYgYXMgbnVtYmVyW10pO1xuICAgIH1cbiAgfVxuXG4gIGdldCBmaWx0ZXJlZCgpOiBBbnlSZWNbXSB7XG4gICAgY29uc3QgcSA9IHRoaXMuc2VhcmNoVGVybS50cmltKCkudG9Mb3dlckNhc2UoKTtcbiAgICBjb25zdCBiYXNlID0gdGhpcy5pdGVtcyA/PyBbXTtcbiAgICBpZiAoIXEpIHJldHVybiBiYXNlO1xuICAgIHJldHVybiBiYXNlLmZpbHRlcihpdCA9PiB7XG4gICAgICBjb25zdCBoYXkgPSBgJHtTdHJpbmcoaXRbdGhpcy50aXRsZUtleV0gPz8gJycpfSAke1N0cmluZyhpdFt0aGlzLnN1YnRpdGxlS2V5XSA/PyAnJyl9YC50b0xvd2VyQ2FzZSgpO1xuICAgICAgcmV0dXJuIGhheS5pbmNsdWRlcyhxKTtcbiAgICB9KTtcbiAgfVxuXG4gIGdldCB0b3RhbFJlY29yZHMoKTogbnVtYmVyIHsgcmV0dXJuIHRoaXMuZmlsdGVyZWQubGVuZ3RoOyB9XG5cbiAgZ2V0IHBhZ2VJdGVtcygpOiBBbnlSZWNbXSB7XG4gICAgY29uc3QgcyA9IHRoaXMuZmlyc3QgPz8gMDtcbiAgICBjb25zdCBlID0gcyArICh0aGlzLnJvd3MgPz8gMCk7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyZWQuc2xpY2UocywgZSk7XG4gIH1cblxuICBpc1NlbGVjdGVkKGl0OiBBbnlSZWMpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zZWwuaGFzKE51bWJlcihpdFt0aGlzLmlkS2V5XSkpO1xuICB9XG5cbiAgdG9nZ2xlKGl0OiBBbnlSZWMsIGNoZWNrZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBjb25zdCBpZCA9IE51bWJlcihpdFt0aGlzLmlkS2V5XSk7XG4gICAgY2hlY2tlZCA/IHRoaXMuc2VsLmFkZChpZCkgOiB0aGlzLnNlbC5kZWxldGUoaWQpO1xuICAgIHRoaXMuc2VsZWN0ZWRJZHNDaGFuZ2UuZW1pdChBcnJheS5mcm9tKHRoaXMuc2VsKSk7XG4gIH1cblxuICByb3dDbGljayhpdDogQW55UmVjKTogdm9pZCB7XG4gICAgY29uc3QgaWQgPSBOdW1iZXIoaXRbdGhpcy5pZEtleV0pO1xuICAgIGNvbnN0IG5leHQgPSAhdGhpcy5zZWwuaGFzKGlkKTtcbiAgICB0aGlzLnRvZ2dsZShpdCwgbmV4dCk7XG4gIH1cblxuICBvblNlYXJjaFRlcm0oZXY6IHVua25vd24pOiB2b2lkIHtcbiAgICBjb25zdCB0ZXJtID0gdHlwZW9mIGV2ID09PSAnc3RyaW5nJyA/IGV2IDogKGV2IGFzIGFueSk/LmRldGFpbCA/PyAnJztcbiAgICB0aGlzLnNlYXJjaFRlcm0gPSBTdHJpbmcodGVybSk7XG4gICAgdGhpcy5maXJzdCA9IDA7XG4gICAgdGhpcy5wYWdlQ2hhbmdlLmVtaXQoeyBmaXJzdDogMCwgcm93czogdGhpcy5yb3dzLCBwYWdlOiAwLCBwYWdlQ291bnQ6IE1hdGguY2VpbCh0aGlzLnRvdGFsUmVjb3JkcyAvICh0aGlzLnJvd3MgfHwgMSkpIH0pO1xuICB9XG5cbiAgb25QYWdlQ2hhbmdlKGU6IFBhZ2luYXRvclN0YXRlKTogdm9pZCB7XG4gICAgdGhpcy5maXJzdCA9IGUuZmlyc3QgPz8gMDtcbiAgICB0aGlzLnJvd3MgPSBlLnJvd3MgPz8gdGhpcy5yb3dzO1xuICAgIHRoaXMucGFnZUNoYW5nZS5lbWl0KGUpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicC0zXCI+XG4gIDxzZGMtc2VhcmNoYm94XG4gICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICBbdHJpZ2dlck1vZGVdPVwiJ2F1dG8nXCJcbiAgICAob25TZWFyY2gpPVwib25TZWFyY2hUZXJtKCRldmVudClcIlxuICAgIChvbkNsZWFyKT1cIm9uU2VhcmNoVGVybSgnJylcIlxuICA+XG4gIDwvc2RjLXNlYXJjaGJveD5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwicHgtM1wiPlxuICA8ZGl2IGNsYXNzPVwiZ3JpZFwiPlxuICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIiAqbmdGb3I9XCJsZXQgaXQgb2YgcGFnZUl0ZW1zXCI+XG4gICAgICA8ZGl2XG4gICAgICAgIChjbGljayk9XCJyb3dDbGljayhpdClcIlxuICAgICAgICBjbGFzcz1cImZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0zIHAtMyBib3JkZXItcm91bmRcIlxuICAgICAgICBbY2xhc3Muc3VyZmFjZS0yMDBdPVwiaXNTZWxlY3RlZChpdClcIlxuICAgICAgPlxuICAgICAgICA8c2RjLWNoZWNrYm94XG4gICAgICAgICAgW2xhYmVsXT1cIicnXCJcbiAgICAgICAgICBbbmdNb2RlbF09XCJpc1NlbGVjdGVkKGl0KVwiXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidG9nZ2xlKGl0LCAkZXZlbnQpXCJcbiAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgPlxuICAgICAgICA8L3NkYy1jaGVja2JveD5cbiAgICAgICAgPGkgW2NsYXNzXT1cImljb25DbGFzc1wiPjwvaT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2x1bW5cIj5cbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPHN0cm9uZz57eyBpdFt0aXRsZUtleV0gfX08L3N0cm9uZz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC01MDAgdGV4dC1zbVwiPnt7IGl0W3N1YnRpdGxlS2V5XSB9fTwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwibXQtM1wiPlxuICAgIDxzZGMtcGFnaW5hdG9yXG4gICAgICBbZmlyc3RdPVwiZmlyc3RcIlxuICAgICAgW3Jvd3NdPVwicm93c1wiXG4gICAgICBbdG90YWxSZWNvcmRzXT1cInRvdGFsUmVjb3Jkc1wiXG4gICAgICBbcm93c1BlclBhZ2VPcHRpb25zXT1cInJvd3NQZXJQYWdlT3B0aW9uc1wiXG4gICAgICBbaXNNb2JpbGVdPVwiZmFsc2VcIlxuICAgICAgKHBhZ2VDaGFuZ2UpPVwib25QYWdlQ2hhbmdlKCRldmVudClcIlxuICAgID5cbiAgICA8L3NkYy1wYWdpbmF0b3I+XG4gICAgPGRpdiBjbGFzcz1cInRleHQtcmlnaHQgdGV4dC01MDAgdGV4dC1zbSBtdC0yXCI+e3sgdG90YWxSZWNvcmRzIH19IHJlZ2lzdHJvcyBlbmNvbnRyYWRvczwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,175 @@
1
+ // radio.component.ts
2
+ import { CommonModule } from '@angular/common';
3
+ import { Component, ChangeDetectionStrategy, ViewEncapsulation, forwardRef, Input, Output, EventEmitter, ViewChildren, } from '@angular/core';
4
+ import { NG_VALUE_ACCESSOR, NG_VALIDATORS, } from '@angular/forms';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/common";
7
+ let nextUniqueId = 0;
8
+ export class RadioComponent {
9
+ cdr;
10
+ options = [];
11
+ name;
12
+ label;
13
+ hint;
14
+ error;
15
+ orientation = 'inline';
16
+ size = 'md';
17
+ labelPlacement = 'right';
18
+ required = false;
19
+ disabled = false;
20
+ change = new EventEmitter();
21
+ valueChange = new EventEmitter();
22
+ focus = new EventEmitter();
23
+ blur = new EventEmitter();
24
+ radios;
25
+ _value = null;
26
+ onChangeFn = () => { };
27
+ onTouchedFn = () => { };
28
+ groupId = `sdc-radio-${++nextUniqueId}`;
29
+ get groupName() {
30
+ return this.name ?? this.groupId;
31
+ }
32
+ constructor(cdr) {
33
+ this.cdr = cdr;
34
+ }
35
+ get value() {
36
+ return this._value;
37
+ }
38
+ set value(v) {
39
+ if (this._value === v)
40
+ return;
41
+ this._value = v;
42
+ this.onChangeFn(v);
43
+ this.change.emit(v);
44
+ this.valueChange.emit(v);
45
+ this.cdr.markForCheck();
46
+ }
47
+ writeValue(v) {
48
+ this._value = v ?? null;
49
+ this.cdr.markForCheck();
50
+ }
51
+ registerOnChange(fn) {
52
+ this.onChangeFn = fn;
53
+ }
54
+ registerOnTouched(fn) {
55
+ this.onTouchedFn = fn;
56
+ }
57
+ setDisabledState(isDisabled) {
58
+ this.disabled = isDisabled;
59
+ this.cdr.markForCheck();
60
+ }
61
+ validate(_) {
62
+ if (this.required && (this.value === null || this.value === undefined)) {
63
+ return { required: true };
64
+ }
65
+ return null;
66
+ }
67
+ isChecked(v) {
68
+ return this.value === v;
69
+ }
70
+ isOptionDisabled(opt) {
71
+ return this.disabled || !!opt.disabled;
72
+ }
73
+ select(v) {
74
+ if (this.disabled)
75
+ return;
76
+ this.value = v;
77
+ }
78
+ onBlur() {
79
+ this.onTouchedFn();
80
+ this.blur.emit();
81
+ }
82
+ optionId(i) {
83
+ return `${this.groupId}-opt-${i}`;
84
+ }
85
+ onKeydown(e) {
86
+ if (!this.options?.length)
87
+ return;
88
+ const k = e.key;
89
+ const keys = ['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown', 'Home', 'End'];
90
+ if (!keys.includes(k))
91
+ return;
92
+ e.preventDefault();
93
+ const enabled = this.options
94
+ .map((o, i) => ({ o, i }))
95
+ .filter(x => !this.isOptionDisabled(x.o));
96
+ if (!enabled.length)
97
+ return;
98
+ const currentIdx = enabled.findIndex(x => this.isChecked(x.o.value));
99
+ let targetIdx = currentIdx;
100
+ if (k === 'ArrowRight' || k === 'ArrowDown')
101
+ targetIdx = (currentIdx + 1 + enabled.length) % enabled.length;
102
+ if (k === 'ArrowLeft' || k === 'ArrowUp')
103
+ targetIdx = (currentIdx - 1 + enabled.length) % enabled.length;
104
+ if (k === 'Home')
105
+ targetIdx = 0;
106
+ if (k === 'End')
107
+ targetIdx = enabled.length - 1;
108
+ const target = enabled[targetIdx] ?? enabled[0];
109
+ this.select(target.o.value);
110
+ const inputs = this.radios?.toArray() ?? [];
111
+ const focusable = inputs[target.i]?.nativeElement;
112
+ focusable?.focus();
113
+ }
114
+ trackByIdx = (_, item) => item?.value ?? _;
115
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RadioComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
116
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: RadioComponent, isStandalone: true, selector: "sdc-radio", inputs: { options: "options", name: "name", label: "label", hint: "hint", error: "error", orientation: "orientation", size: "size", labelPlacement: "labelPlacement", required: "required", disabled: "disabled" }, outputs: { change: "change", valueChange: "valueChange", focus: "focus", blur: "blur" }, providers: [
117
+ {
118
+ provide: NG_VALUE_ACCESSOR,
119
+ useExisting: forwardRef(() => RadioComponent),
120
+ multi: true,
121
+ },
122
+ {
123
+ provide: NG_VALIDATORS,
124
+ useExisting: forwardRef(() => RadioComponent),
125
+ multi: true,
126
+ },
127
+ ], viewQueries: [{ propertyName: "radios", predicate: ["radioInput"], descendants: true }], ngImport: i0, template: "<div\n class=\"sdc-radio\"\n [class.inline]=\"orientation === 'inline'\"\n [class.stacked]=\"orientation === 'stacked'\"\n [class.disabled]=\"disabled\"\n [class.invalid]=\"!!error\"\n [attr.role]=\"'radiogroup'\"\n [attr.aria-required]=\"required\"\n [attr.aria-disabled]=\"disabled\"\n [attr.aria-invalid]=\"!!error\"\n [attr.aria-describedby]=\"hint ? groupId + '-hint' : null\"\n (keydown)=\"onKeydown($event)\"\n tabindex=\"-1\"\n>\n <div class=\"sdc-radio__header\" *ngIf=\"label || hint\">\n <label class=\"sdc-radio__group-label\" [attr.for]=\"groupId\" *ngIf=\"label\">{{ label }}</label>\n <div class=\"sdc-radio__hint\" *ngIf=\"hint\" [id]=\"groupId + '-hint'\">{{ hint }}</div>\n </div>\n\n <div\n class=\"sdc-radio__options\"\n [class.size-sm]=\"size === 'sm'\"\n [class.size-md]=\"size === 'md'\"\n [class.size-lg]=\"size === 'lg'\"\n >\n <label\n class=\"sdc-radio__option\"\n *ngFor=\"let opt of options; let i = index; trackBy: trackByIdx\"\n [class.checked]=\"isChecked(opt.value)\"\n [class.opt-disabled]=\"isOptionDisabled(opt)\"\n [class.label-left]=\"labelPlacement === 'left'\"\n [attr.for]=\"optionId(i)\"\n ><input\n #radioInput\n class=\"sdc-radio__input\"\n type=\"radio\"\n [id]=\"optionId(i)\"\n [name]=\"groupName\"\n [disabled]=\"isOptionDisabled(opt)\"\n [required]=\"required\"\n [checked]=\"isChecked(opt.value)\"\n [value]=\"opt.value\"\n (change)=\"select(opt.value)\"\n (focus)=\"focus.emit()\"\n (blur)=\"onBlur()\"\n />\n <span class=\"sdc-radio__control\" aria-hidden=\"true\"></span>\n <span class=\"sdc-radio__text\">\n <span class=\"sdc-radio__label\">{{ opt.label }}</span>\n <span class=\"sdc-radio__sublabel\" *ngIf=\"opt.hint\">{{ opt.hint }}</span>\n </span>\n </label>\n </div>\n\n <div class=\"sdc-radio__error\" *ngIf=\"error\">{{ error }}</div>\n</div>\n", styles: [":host{display:block;--sdc-radio-size-sm: 16px;--sdc-radio-size-md: 18px;--sdc-radio-size-lg: 20px;--sdc-radio-gap: .5rem;--sdc-radio-color: var(--sdc-primary-600, #2563eb);--sdc-radio-border: var(--sdc-border, #d1d5db);--sdc-radio-text: var(--sdc-text, #111827);--sdc-radio-muted: var(--sdc-muted, #6b7280);--sdc-radio-error: var(--sdc-danger-600, #dc2626);--sdc-radio-bg: #fff;--sdc-focus: var(--sdc-focus, #93c5fd);--sdc-disabled: var(--sdc-disabled, #9ca3af)}.sdc-radio{outline:0}.sdc-radio.disabled{opacity:.7;pointer-events:none}.sdc-radio.invalid .sdc-radio__control{border-color:var(--sdc-radio-error)}.sdc-radio__header{margin-bottom:.25rem;margin-top:.25rem}.sdc-radio__group-label{display:block;color:var(--sdc-radio-text)}.sdc-radio__hint{font-size:.875rem;color:var(--sdc-radio-muted)}.sdc-radio__options{display:flex;flex-wrap:wrap;gap:var(--sdc-radio-gap)}.sdc-radio__options.size-sm .sdc-radio__control{width:var(--sdc-radio-size-sm);height:var(--sdc-radio-size-sm)}.sdc-radio__options.size-md .sdc-radio__control{width:var(--sdc-radio-size-md);height:var(--sdc-radio-size-md)}.sdc-radio__options.size-lg .sdc-radio__control{width:var(--sdc-radio-size-lg);height:var(--sdc-radio-size-lg)}.sdc-radio.inline .sdc-radio__options{flex-direction:row}.sdc-radio.stacked .sdc-radio__options{flex-direction:column}.sdc-radio__option{display:inline-flex;align-items:center;gap:.5rem;-webkit-user-select:none;user-select:none;cursor:pointer;border-radius:9999px;padding:.25rem}.sdc-radio__option.label-left{flex-direction:row-reverse}.sdc-radio__option.opt-disabled{cursor:not-allowed;opacity:.6}.sdc-radio__input{position:absolute;opacity:0;width:0;height:0}.sdc-radio__input:focus-visible+.sdc-radio__control{box-shadow:0 0 0 3px var(--sdc-focus)}.sdc-radio__control{box-sizing:border-box;flex:0 0 auto;border:2px solid var(--sdc-radio-border);border-radius:9999px;background:var(--sdc-radio-bg);display:grid;place-items:center;transition:border-color .12s ease,background-color .12s ease,box-shadow .12s ease}.sdc-radio__option.checked .sdc-radio__control{border-color:var(--sdc-radio-color)}.sdc-radio__option.checked .sdc-radio__control:after{content:\"\";display:block;width:55%;height:55%;border-radius:9999px;background:var(--sdc-radio-color)}.sdc-radio__text{display:inline-flex;flex-direction:column;min-width:0}.sdc-radio__label{color:var(--sdc-radio-text);font-size:.95rem;line-height:1.1}.sdc-radio__sublabel{font-size:.8rem;color:var(--sdc-radio-muted);line-height:1.1}.sdc-radio__error{margin-top:.375rem;font-size:.875rem;color:var(--sdc-radio-error)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
128
+ }
129
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RadioComponent, decorators: [{
130
+ type: Component,
131
+ args: [{ standalone: true, selector: 'sdc-radio', imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, providers: [
132
+ {
133
+ provide: NG_VALUE_ACCESSOR,
134
+ useExisting: forwardRef(() => RadioComponent),
135
+ multi: true,
136
+ },
137
+ {
138
+ provide: NG_VALIDATORS,
139
+ useExisting: forwardRef(() => RadioComponent),
140
+ multi: true,
141
+ },
142
+ ], template: "<div\n class=\"sdc-radio\"\n [class.inline]=\"orientation === 'inline'\"\n [class.stacked]=\"orientation === 'stacked'\"\n [class.disabled]=\"disabled\"\n [class.invalid]=\"!!error\"\n [attr.role]=\"'radiogroup'\"\n [attr.aria-required]=\"required\"\n [attr.aria-disabled]=\"disabled\"\n [attr.aria-invalid]=\"!!error\"\n [attr.aria-describedby]=\"hint ? groupId + '-hint' : null\"\n (keydown)=\"onKeydown($event)\"\n tabindex=\"-1\"\n>\n <div class=\"sdc-radio__header\" *ngIf=\"label || hint\">\n <label class=\"sdc-radio__group-label\" [attr.for]=\"groupId\" *ngIf=\"label\">{{ label }}</label>\n <div class=\"sdc-radio__hint\" *ngIf=\"hint\" [id]=\"groupId + '-hint'\">{{ hint }}</div>\n </div>\n\n <div\n class=\"sdc-radio__options\"\n [class.size-sm]=\"size === 'sm'\"\n [class.size-md]=\"size === 'md'\"\n [class.size-lg]=\"size === 'lg'\"\n >\n <label\n class=\"sdc-radio__option\"\n *ngFor=\"let opt of options; let i = index; trackBy: trackByIdx\"\n [class.checked]=\"isChecked(opt.value)\"\n [class.opt-disabled]=\"isOptionDisabled(opt)\"\n [class.label-left]=\"labelPlacement === 'left'\"\n [attr.for]=\"optionId(i)\"\n ><input\n #radioInput\n class=\"sdc-radio__input\"\n type=\"radio\"\n [id]=\"optionId(i)\"\n [name]=\"groupName\"\n [disabled]=\"isOptionDisabled(opt)\"\n [required]=\"required\"\n [checked]=\"isChecked(opt.value)\"\n [value]=\"opt.value\"\n (change)=\"select(opt.value)\"\n (focus)=\"focus.emit()\"\n (blur)=\"onBlur()\"\n />\n <span class=\"sdc-radio__control\" aria-hidden=\"true\"></span>\n <span class=\"sdc-radio__text\">\n <span class=\"sdc-radio__label\">{{ opt.label }}</span>\n <span class=\"sdc-radio__sublabel\" *ngIf=\"opt.hint\">{{ opt.hint }}</span>\n </span>\n </label>\n </div>\n\n <div class=\"sdc-radio__error\" *ngIf=\"error\">{{ error }}</div>\n</div>\n", styles: [":host{display:block;--sdc-radio-size-sm: 16px;--sdc-radio-size-md: 18px;--sdc-radio-size-lg: 20px;--sdc-radio-gap: .5rem;--sdc-radio-color: var(--sdc-primary-600, #2563eb);--sdc-radio-border: var(--sdc-border, #d1d5db);--sdc-radio-text: var(--sdc-text, #111827);--sdc-radio-muted: var(--sdc-muted, #6b7280);--sdc-radio-error: var(--sdc-danger-600, #dc2626);--sdc-radio-bg: #fff;--sdc-focus: var(--sdc-focus, #93c5fd);--sdc-disabled: var(--sdc-disabled, #9ca3af)}.sdc-radio{outline:0}.sdc-radio.disabled{opacity:.7;pointer-events:none}.sdc-radio.invalid .sdc-radio__control{border-color:var(--sdc-radio-error)}.sdc-radio__header{margin-bottom:.25rem;margin-top:.25rem}.sdc-radio__group-label{display:block;color:var(--sdc-radio-text)}.sdc-radio__hint{font-size:.875rem;color:var(--sdc-radio-muted)}.sdc-radio__options{display:flex;flex-wrap:wrap;gap:var(--sdc-radio-gap)}.sdc-radio__options.size-sm .sdc-radio__control{width:var(--sdc-radio-size-sm);height:var(--sdc-radio-size-sm)}.sdc-radio__options.size-md .sdc-radio__control{width:var(--sdc-radio-size-md);height:var(--sdc-radio-size-md)}.sdc-radio__options.size-lg .sdc-radio__control{width:var(--sdc-radio-size-lg);height:var(--sdc-radio-size-lg)}.sdc-radio.inline .sdc-radio__options{flex-direction:row}.sdc-radio.stacked .sdc-radio__options{flex-direction:column}.sdc-radio__option{display:inline-flex;align-items:center;gap:.5rem;-webkit-user-select:none;user-select:none;cursor:pointer;border-radius:9999px;padding:.25rem}.sdc-radio__option.label-left{flex-direction:row-reverse}.sdc-radio__option.opt-disabled{cursor:not-allowed;opacity:.6}.sdc-radio__input{position:absolute;opacity:0;width:0;height:0}.sdc-radio__input:focus-visible+.sdc-radio__control{box-shadow:0 0 0 3px var(--sdc-focus)}.sdc-radio__control{box-sizing:border-box;flex:0 0 auto;border:2px solid var(--sdc-radio-border);border-radius:9999px;background:var(--sdc-radio-bg);display:grid;place-items:center;transition:border-color .12s ease,background-color .12s ease,box-shadow .12s ease}.sdc-radio__option.checked .sdc-radio__control{border-color:var(--sdc-radio-color)}.sdc-radio__option.checked .sdc-radio__control:after{content:\"\";display:block;width:55%;height:55%;border-radius:9999px;background:var(--sdc-radio-color)}.sdc-radio__text{display:inline-flex;flex-direction:column;min-width:0}.sdc-radio__label{color:var(--sdc-radio-text);font-size:.95rem;line-height:1.1}.sdc-radio__sublabel{font-size:.8rem;color:var(--sdc-radio-muted);line-height:1.1}.sdc-radio__error{margin-top:.375rem;font-size:.875rem;color:var(--sdc-radio-error)}\n"] }]
143
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { options: [{
144
+ type: Input
145
+ }], name: [{
146
+ type: Input
147
+ }], label: [{
148
+ type: Input
149
+ }], hint: [{
150
+ type: Input
151
+ }], error: [{
152
+ type: Input
153
+ }], orientation: [{
154
+ type: Input
155
+ }], size: [{
156
+ type: Input
157
+ }], labelPlacement: [{
158
+ type: Input
159
+ }], required: [{
160
+ type: Input
161
+ }], disabled: [{
162
+ type: Input
163
+ }], change: [{
164
+ type: Output
165
+ }], valueChange: [{
166
+ type: Output
167
+ }], focus: [{
168
+ type: Output
169
+ }], blur: [{
170
+ type: Output
171
+ }], radios: [{
172
+ type: ViewChildren,
173
+ args: ['radioInput']
174
+ }] } });
175
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3NyYy9mZWF0dXJlcy9yYWRpby9yYWRpby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3JhZGlvL3JhZGlvLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHFCQUFxQjtBQUNyQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLFNBQVMsRUFDVCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixZQUFZLEdBSWIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUVMLGlCQUFpQixFQUNqQixhQUFhLEdBSWQsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBU3hCLElBQUksWUFBWSxHQUFHLENBQUMsQ0FBQztBQXVCckIsTUFBTSxPQUFPLGNBQWM7SUE0Qkk7SUEzQnBCLE9BQU8sR0FBK0IsRUFBRSxDQUFDO0lBQ3pDLElBQUksQ0FBVTtJQUNkLEtBQUssQ0FBVTtJQUNmLElBQUksQ0FBVTtJQUNkLEtBQUssQ0FBVTtJQUNmLFdBQVcsR0FBeUIsUUFBUSxDQUFDO0lBQzdDLElBQUksR0FBdUIsSUFBSSxDQUFDO0lBQ2hDLGNBQWMsR0FBcUIsT0FBTyxDQUFDO0lBQzNDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDakIsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUVoQixNQUFNLEdBQUcsSUFBSSxZQUFZLEVBQW9DLENBQUM7SUFDOUQsV0FBVyxHQUFHLElBQUksWUFBWSxFQUFvQyxDQUFDO0lBQ25FLEtBQUssR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBQ2pDLElBQUksR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBRU4sTUFBTSxDQUEyQztJQUU3RSxNQUFNLEdBQXFD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SyxFQUFFLElBQUk7eUJBQ1o7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGVBQWUsQ0FBQzs0QkFDN0MsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7c0ZBR1EsT0FBTztzQkFBZixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFFSSxNQUFNO3NCQUFmLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxLQUFLO3NCQUFkLE1BQU07Z0JBQ0csSUFBSTtzQkFBYixNQUFNO2dCQUU2QixNQUFNO3NCQUF6QyxZQUFZO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyIvLyByYWRpby5jb21wb25lbnQudHNcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgZm9yd2FyZFJlZixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBWaWV3Q2hpbGRyZW4sXG4gIFF1ZXJ5TGlzdCxcbiAgRWxlbWVudFJlZixcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxuICBOR19WQUxJREFUT1JTLFxuICBWYWxpZGF0b3IsXG4gIEFic3RyYWN0Q29udHJvbCxcbiAgVmFsaWRhdGlvbkVycm9ycyxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJhZGlvT3B0aW9uIHtcbiAgbGFiZWw6IHN0cmluZztcbiAgdmFsdWU6IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBudWxsO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIGhpbnQ/OiBzdHJpbmc7XG59XG5cbmxldCBuZXh0VW5pcXVlSWQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdzZGMtcmFkaW8nLFxuICB0ZW1wbGF0ZVVybDogJy4vcmFkaW8uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yYWRpby5jb21wb25lbnQuc2NzcyddLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLkVtdWxhdGVkLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFJhZGlvQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFJhZGlvQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFJhZGlvQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIFZhbGlkYXRvciB7XG4gIEBJbnB1dCgpIG9wdGlvbnM6IFJlYWRvbmx5QXJyYXk8UmFkaW9PcHRpb24+ID0gW107XG4gIEBJbnB1dCgpIG5hbWU/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGxhYmVsPzogc3RyaW5nO1xuICBASW5wdXQoKSBoaW50Pzogc3RyaW5nO1xuICBASW5wdXQoKSBlcnJvcj86IHN0cmluZztcbiAgQElucHV0KCkgb3JpZW50YXRpb246ICdpbmxpbmUnIHwgJ3N0YWNrZWQnID0gJ2lubGluZSc7XG4gIEBJbnB1dCgpIHNpemU6ICdzbScgfCAnbWQnIHwgJ2xnJyA9ICdtZCc7XG4gIEBJbnB1dCgpIGxhYmVsUGxhY2VtZW50OiAnbGVmdCcgfCAncmlnaHQnID0gJ3JpZ2h0JztcbiAgQElucHV0KCkgcmVxdWlyZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgY2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgbnVsbD4oKTtcbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgbnVsbD4oKTtcbiAgQE91dHB1dCgpIGZvY3VzID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgYmx1ciA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBAVmlld0NoaWxkcmVuKCdyYWRpb0lucHV0JykgcHJpdmF0ZSByYWRpb3MhOiBRdWVyeUxpc3Q8RWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50Pj47XG5cbiAgcHJpdmF0ZSBfdmFsdWU6IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBvbkNoYW5nZUZuOiAodjogYW55KSA9PiB2b2lkID0gKCkgPT4geyB9O1xuICBwcml2YXRlIG9uVG91Y2hlZEZuOiAoKSA9PiB2b2lkID0gKCkgPT4geyB9O1xuXG4gIHJlYWRvbmx5IGdyb3VwSWQgPSBgc2RjLXJhZGlvLSR7KytuZXh0VW5pcXVlSWR9YDtcbiAgZ2V0IGdyb3VwTmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLm5hbWUgPz8gdGhpcy5ncm91cElkO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7IH1cblxuICBnZXQgdmFsdWUoKTogc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgfVxuXG4gIHNldCB2YWx1ZSh2OiBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgbnVsbCkge1xuICAgIGlmICh0aGlzLl92YWx1ZSA9PT0gdikgcmV0dXJuO1xuICAgIHRoaXMuX3ZhbHVlID0gdjtcbiAgICB0aGlzLm9uQ2hhbmdlRm4odik7XG4gICAgdGhpcy5jaGFuZ2UuZW1pdCh2KTtcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodik7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICB3cml0ZVZhbHVlKHY6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX3ZhbHVlID0gdiA/PyBudWxsO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHY6IGFueSkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2VGbiA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZEZuID0gZm47XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHZhbGlkYXRlKF86IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICBpZiAodGhpcy5yZXF1aXJlZCAmJiAodGhpcy52YWx1ZSA9PT0gbnVsbCB8fCB0aGlzLnZhbHVlID09PSB1bmRlZmluZWQpKSB7XG4gICAgICByZXR1cm4geyByZXF1aXJlZDogdHJ1ZSB9O1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGlzQ2hlY2tlZCh2OiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZSA9PT0gdjtcbiAgfVxuXG4gIGlzT3B0aW9uRGlzYWJsZWQob3B0OiBSYWRpb09wdGlvbik6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRpc2FibGVkIHx8ICEhb3B0LmRpc2FibGVkO1xuICB9XG5cbiAgc2VsZWN0KHY6IGFueSk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm47XG4gICAgdGhpcy52YWx1ZSA9IHY7XG4gIH1cblxuICBvbkJsdXIoKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWRGbigpO1xuICAgIHRoaXMuYmx1ci5lbWl0KCk7XG4gIH1cblxuICBvcHRpb25JZChpOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLmdyb3VwSWR9LW9wdC0ke2l9YDtcbiAgfVxuXG4gIG9uS2V5ZG93bihlOiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLm9wdGlvbnM/Lmxlbmd0aCkgcmV0dXJuO1xuICAgIGNvbnN0IGsgPSBlLmtleTtcbiAgICBjb25zdCBrZXlzID0gWydBcnJvd0xlZnQnLCAnQXJyb3dSaWdodCcsICdBcnJvd1VwJywgJ0Fycm93RG93bicsICdIb21lJywgJ0VuZCddO1xuICAgIGlmICgha2V5cy5pbmNsdWRlcyhrKSkgcmV0dXJuO1xuXG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGNvbnN0IGVuYWJsZWQgPSB0aGlzLm9wdGlvbnNcbiAgICAgIC5tYXAoKG8sIGkpID0+ICh7IG8sIGkgfSkpXG4gICAgICAuZmlsdGVyKHggPT4gIXRoaXMuaXNPcHRpb25EaXNhYmxlZCh4Lm8pKTtcbiAgICBpZiAoIWVuYWJsZWQubGVuZ3RoKSByZXR1cm47XG5cbiAgICBjb25zdCBjdXJyZW50SWR4ID0gZW5hYmxlZC5maW5kSW5kZXgoeCA9PiB0aGlzLmlzQ2hlY2tlZCh4Lm8udmFsdWUpKTtcbiAgICBsZXQgdGFyZ2V0SWR4ID0gY3VycmVudElkeDtcblxuICAgIGlmIChrID09PSAnQXJyb3dSaWdodCcgfHwgayA9PT0gJ0Fycm93RG93bicpIHRhcmdldElkeCA9IChjdXJyZW50SWR4ICsgMSArIGVuYWJsZWQubGVuZ3RoKSAlIGVuYWJsZWQubGVuZ3RoO1xuICAgIGlmIChrID09PSAnQXJyb3dMZWZ0JyB8fCBrID09PSAnQXJyb3dVcCcpIHRhcmdldElkeCA9IChjdXJyZW50SWR4IC0gMSArIGVuYWJsZWQubGVuZ3RoKSAlIGVuYWJsZWQubGVuZ3RoO1xuICAgIGlmIChrID09PSAnSG9tZScpIHRhcmdldElkeCA9IDA7XG4gICAgaWYgKGsgPT09ICdFbmQnKSB0YXJnZXRJZHggPSBlbmFibGVkLmxlbmd0aCAtIDE7XG5cbiAgICBjb25zdCB0YXJnZXQgPSBlbmFibGVkW3RhcmdldElkeF0gPz8gZW5hYmxlZFswXTtcbiAgICB0aGlzLnNlbGVjdCh0YXJnZXQuby52YWx1ZSk7XG5cbiAgICBjb25zdCBpbnB1dHMgPSB0aGlzLnJhZGlvcz8udG9BcnJheSgpID8/IFtdO1xuICAgIGNvbnN0IGZvY3VzYWJsZSA9IGlucHV0c1t0YXJnZXQuaV0/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgZm9jdXNhYmxlPy5mb2N1cygpO1xuICB9XG5cbiAgdHJhY2tCeUlkeCA9IChfOiBudW1iZXIsIGl0ZW06IFJhZGlvT3B0aW9uKSA9PiBpdGVtPy52YWx1ZSA/PyBfO1xufVxuIiwiPGRpdlxuICBjbGFzcz1cInNkYy1yYWRpb1wiXG4gIFtjbGFzcy5pbmxpbmVdPVwib3JpZW50YXRpb24gPT09ICdpbmxpbmUnXCJcbiAgW2NsYXNzLnN0YWNrZWRdPVwib3JpZW50YXRpb24gPT09ICdzdGFja2VkJ1wiXG4gIFtjbGFzcy5kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIFtjbGFzcy5pbnZhbGlkXT1cIiEhZXJyb3JcIlxuICBbYXR0ci5yb2xlXT1cIidyYWRpb2dyb3VwJ1wiXG4gIFthdHRyLmFyaWEtcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cIiEhZXJyb3JcIlxuICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImhpbnQgPyBncm91cElkICsgJy1oaW50JyA6IG51bGxcIlxuICAoa2V5ZG93bik9XCJvbktleWRvd24oJGV2ZW50KVwiXG4gIHRhYmluZGV4PVwiLTFcIlxuPlxuICA8ZGl2IGNsYXNzPVwic2RjLXJhZGlvX19oZWFkZXJcIiAqbmdJZj1cImxhYmVsIHx8IGhpbnRcIj5cbiAgICA8bGFiZWwgY2xhc3M9XCJzZGMtcmFkaW9fX2dyb3VwLWxhYmVsXCIgW2F0dHIuZm9yXT1cImdyb3VwSWRcIiAqbmdJZj1cImxhYmVsXCI+e3sgbGFiZWwgfX08L2xhYmVsPlxuICAgIDxkaXYgY2xhc3M9XCJzZGMtcmFkaW9fX2hpbnRcIiAqbmdJZj1cImhpbnRcIiBbaWRdPVwiZ3JvdXBJZCArICctaGludCdcIj57eyBoaW50IH19PC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXZcbiAgICBjbGFzcz1cInNkYy1yYWRpb19fb3B0aW9uc1wiXG4gICAgW2NsYXNzLnNpemUtc21dPVwic2l6ZSA9PT0gJ3NtJ1wiXG4gICAgW2NsYXNzLnNpemUtbWRdPVwic2l6ZSA9PT0gJ21kJ1wiXG4gICAgW2NsYXNzLnNpemUtbGddPVwic2l6ZSA9PT0gJ2xnJ1wiXG4gID5cbiAgICA8bGFiZWxcbiAgICAgIGNsYXNzPVwic2RjLXJhZGlvX19vcHRpb25cIlxuICAgICAgKm5nRm9yPVwibGV0IG9wdCBvZiBvcHRpb25zOyBsZXQgaSA9IGluZGV4OyB0cmFja0J5OiB0cmFja0J5SWR4XCJcbiAgICAgIFtjbGFzcy5jaGVja2VkXT1cImlzQ2hlY2tlZChvcHQudmFsdWUpXCJcbiAgICAgIFtjbGFzcy5vcHQtZGlzYWJsZWRdPVwiaXNPcHRpb25EaXNhYmxlZChvcHQpXCJcbiAgICAgIFtjbGFzcy5sYWJlbC1sZWZ0XT1cImxhYmVsUGxhY2VtZW50ID09PSAnbGVmdCdcIlxuICAgICAgW2F0dHIuZm9yXT1cIm9wdGlvbklkKGkpXCJcbiAgICAgID48aW5wdXRcbiAgICAgICAgI3JhZGlvSW5wdXRcbiAgICAgICAgY2xhc3M9XCJzZGMtcmFkaW9fX2lucHV0XCJcbiAgICAgICAgdHlwZT1cInJhZGlvXCJcbiAgICAgICAgW2lkXT1cIm9wdGlvbklkKGkpXCJcbiAgICAgICAgW25hbWVdPVwiZ3JvdXBOYW1lXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImlzT3B0aW9uRGlzYWJsZWQob3B0KVwiXG4gICAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICAgIFtjaGVja2VkXT1cImlzQ2hlY2tlZChvcHQudmFsdWUpXCJcbiAgICAgICAgW3ZhbHVlXT1cIm9wdC52YWx1ZVwiXG4gICAgICAgIChjaGFuZ2UpPVwic2VsZWN0KG9wdC52YWx1ZSlcIlxuICAgICAgICAoZm9jdXMpPVwiZm9jdXMuZW1pdCgpXCJcbiAgICAgICAgKGJsdXIpPVwib25CbHVyKClcIlxuICAgICAgLz5cbiAgICAgIDxzcGFuIGNsYXNzPVwic2RjLXJhZGlvX19jb250cm9sXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9zcGFuPlxuICAgICAgPHNwYW4gY2xhc3M9XCJzZGMtcmFkaW9fX3RleHRcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzZGMtcmFkaW9fX2xhYmVsXCI+e3sgb3B0LmxhYmVsIH19PC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInNkYy1yYWRpb19fc3VibGFiZWxcIiAqbmdJZj1cIm9wdC5oaW50XCI+e3sgb3B0LmhpbnQgfX08L3NwYW4+XG4gICAgICA8L3NwYW4+XG4gICAgPC9sYWJlbD5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cInNkYy1yYWRpb19fZXJyb3JcIiAqbmdJZj1cImVycm9yXCI+e3sgZXJyb3IgfX08L2Rpdj5cbjwvZGl2PlxuIl19
@@ -45,7 +45,7 @@ export class RowCardComponent {
45
45
  el.style.height = this.expanded ? `${el.scrollHeight}px` : '0px';
46
46
  }
47
47
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RowCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
48
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: RowCardComponent, isStandalone: true, selector: "sdc-row-card", inputs: { data: "data", options: "options", isExpanded: "isExpanded", detailTemplate: "detailTemplate" }, outputs: { cardClick: "cardClick", cardButtonClick: "cardButtonClick" }, viewQueries: [{ propertyName: "contentWrapper", first: true, predicate: ["contentWrapper"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n (click)=\"options?.expandable ? onExpandCardClick($event) : onCardClick()\"\n [class.border-left]=\"data.hasBorder\"\n class=\"row-card p-3 transition-all cursor-pointer\"\n>\n <div class=\"flex flex-column md:flex-row gap-4 align-items-start md:align-items-center w-full\">\n @if (options?.expandable) {\n <i *ngIf=\"expanded\" class=\"fas fa-minus\"></i>\n <i *ngIf=\"!expanded\" class=\"fas fa-plus\"></i>\n }\n\n <div class=\"flex-1 min-w-0\">\n <div\n class=\"text-xl font-semibold mb-2 text-overflow-ellipsis white-space-nowrap overflow-hidden\"\n [ngClass]=\"options?.leftTitleColor\"\n >\n {{ data.left_title }}\n </div>\n <div class=\"text-sm\" [ngClass]=\"options?.leftSubtitleColor\">\n {{ data.left_subtitle }}\n </div>\n </div>\n\n <div class=\"flex md:ml-auto gap-4 w-full md:w-auto align-items-start md:align-items-center\">\n <div class=\"flex flex-column md:flex-row gap-2 w-full md:w-auto\">\n <sdc-button\n (click)=\"$event.stopPropagation()\"\n (onClick)=\"onCardButtonClick()\"\n [priority]=\"options?.buttonPriority!\"\n [icon]=\"options?.buttonIcon\"\n [label]=\"isMobile ? '' : (options!.buttonLabel! | translate)\"\n [class]=\"isMobile ? 'w-full' : 'w-9rem'\"\n >\n </sdc-button>\n </div>\n\n <div\n class=\"text-right text-sm flex flex-column gap-1 md:align-items-end w-full md:w-auto\"\n style=\"min-width: 13rem\"\n >\n <span class=\"font-bold text-2xl\" [ngClass]=\"options?.rightTitleColor\">{{ data.right_title }}</span>\n <span [ngClass]=\"options?.rightSubtitleColor\">{{ data.right_subtitle }}</span>\n </div>\n </div>\n </div>\n\n <ng-container *ngIf=\"options?.expandable\">\n <div #contentWrapper class=\"collapse-wrapper\" [class.show]=\"expanded\" (click)=\"$event.stopPropagation()\">\n <div class=\"collapse-inner\">\n <ng-container *ngIf=\"detailTemplate; else defaultDetail\">\n <ng-template\n [ngTemplateOutlet]=\"detailTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: data, data: data }\"\n ></ng-template>\n </ng-container>\n\n <ng-template #defaultDetail>\n <div class=\"text-sm text-700\">{{ data.wrapperDetail }}</div>\n </ng-template>\n </div>\n </div>\n </ng-container>\n</div>\n", styles: [".bg-disabled{background-color:var(--p-inputtext-disabled-background)}.collapse-wrapper{border-radius:0 0 10px 10px;height:0;overflow:hidden;transition:height .35s ease}.collapse-inner{padding:2rem 1rem 1rem;opacity:0;transform:translateY(-.5rem);transition:opacity .3s ease,transform .3s ease}.collapse-wrapper.show .collapse-inner{opacity:1;transform:translateY(0)}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "sdc-button", inputs: ["disabled", "width", "icon", "id", "label", "priority", "size", "type"], outputs: ["onClick"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
48
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: RowCardComponent, isStandalone: true, selector: "sdc-row-card", inputs: { data: "data", options: "options", isExpanded: "isExpanded", detailTemplate: "detailTemplate" }, outputs: { cardClick: "cardClick", cardButtonClick: "cardButtonClick" }, viewQueries: [{ propertyName: "contentWrapper", first: true, predicate: ["contentWrapper"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n (click)=\"options?.expandable ? onExpandCardClick($event) : onCardClick()\"\n [class.border-left]=\"data.hasBorder\"\n class=\"row-card p-3 transition-all cursor-pointer\"\n>\n <div class=\"flex flex-column md:flex-row gap-4 align-items-start md:align-items-center w-full\">\n @if (options?.expandable) {\n <i *ngIf=\"expanded\" class=\"fas fa-minus\"></i>\n <i *ngIf=\"!expanded\" class=\"fas fa-plus\"></i>\n }\n\n <div class=\"flex-1 min-w-0\">\n <div\n class=\"text-xl font-semibold mb-2 text-overflow-ellipsis white-space-nowrap overflow-hidden\"\n [ngClass]=\"options?.leftTitleColor\"\n >\n {{ data.left_title }}\n </div>\n <div class=\"text-sm\" [ngClass]=\"options?.leftSubtitleColor\">\n {{ data.left_subtitle }}\n </div>\n </div>\n\n <div class=\"flex md:ml-auto gap-4 w-full md:w-auto align-items-start md:align-items-center\">\n <div class=\"flex flex-column md:flex-row gap-2 w-full md:w-auto\">\n <sdc-button\n (click)=\"$event.stopPropagation()\"\n (onClick)=\"onCardButtonClick()\"\n [priority]=\"options?.buttonPriority!\"\n [icon]=\"options?.buttonIcon\"\n [label]=\"isMobile ? '' : (options!.buttonLabel! | translate)\"\n [class]=\"isMobile ? 'w-full' : 'w-9rem'\"\n >\n </sdc-button>\n </div>\n\n <div\n class=\"text-right text-sm flex flex-column gap-1 md:align-items-end w-full md:w-auto\"\n style=\"min-width: 13rem\"\n >\n <span class=\"font-bold text-2xl\" [ngClass]=\"options?.rightTitleColor\">{{ data.right_title }}</span>\n <span [ngClass]=\"options?.rightSubtitleColor\">{{ data.right_subtitle }}</span>\n </div>\n </div>\n </div>\n\n <ng-container *ngIf=\"options?.expandable\">\n <div #contentWrapper class=\"collapse-wrapper\" [class.show]=\"expanded\" (click)=\"$event.stopPropagation()\">\n <div class=\"collapse-inner\">\n <ng-container *ngIf=\"detailTemplate; else defaultDetail\">\n <ng-template\n [ngTemplateOutlet]=\"detailTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: data, data: data }\"\n ></ng-template>\n </ng-container>\n\n <ng-template #defaultDetail>\n <div class=\"text-sm text-700\">{{ data.wrapperDetail }}</div>\n </ng-template>\n </div>\n </div>\n </ng-container>\n</div>\n", styles: [".bg-disabled{background-color:var(--p-inputtext-disabled-background)}.collapse-wrapper{border-radius:0 0 10px 10px;height:0;overflow:hidden;transition:height .35s ease}.collapse-inner{padding:2rem 1rem 1rem;opacity:0;transform:translateY(-.5rem);transition:opacity .3s ease,transform .3s ease}.collapse-wrapper.show .collapse-inner{opacity:1;transform:translateY(0)}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "sdc-button", inputs: ["id", "label", "disabled", "width", "priority", "size", "type", "icon", "rightIcon", "auxiliary", "caret", "tooltip", "animation", "slide", "styleClass", "badge", "menuOptions", "model"], outputs: ["onClick"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
49
49
  }
50
50
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RowCardComponent, decorators: [{
51
51
  type: Component,
@@ -66,4 +66,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
66
66
  type: ViewChild,
67
67
  args: ['contentWrapper']
68
68
  }] } });
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGliL3NyYy9mZWF0dXJlcy9yb3ctY2FyZC1saXN0L3Jvdy1jYXJkL3Jvdy1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvZmVhdHVyZXMvcm93LWNhcmQtbGlzdC9yb3ctY2FyZC9yb3ctY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUlOLFNBQVMsRUFFVCx1QkFBdUIsRUFDdkIsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7OztBQVd0RCxNQUFNLE9BQU8sZ0JBQWdCO0lBQ2xCLElBQUksQ0FBVztJQUNmLE9BQU8sQ0FBa0I7SUFDekIsVUFBVSxHQUFZLEtBQUssQ0FBQztJQUM1QixjQUFjLENBQW9CO0lBRWpDLFNBQVMsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBQ3hDLGVBQWUsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBRTNCLGNBQWMsQ0FBOEI7SUFFdEQsUUFBUSxHQUFHLFFBQVEsRUFBRSxDQUFDO0lBRXpDLElBQUksUUFBUTtRQUNWLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsVUFBVSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pELENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDaEQsY0FBYyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUM7UUFDcEQsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxLQUFpQjtRQUNqQyxJQUFLLEtBQUssQ0FBQyxNQUFzQixDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUM7WUFBRSxPQUFPO1FBQ2hFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELGlCQUFpQjtRQUNmLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRU8sb0JBQW9CO1FBQzFCLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsYUFBYSxDQUFDO1FBQzlDLElBQUksQ0FBQyxFQUFFO1lBQUUsT0FBTztRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsQ0FBQztZQUM5QixFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7WUFDeEIsT0FBTztRQUNULENBQUM7UUFDRCxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxZQUFZLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ25FLENBQUM7d0dBN0NVLGdCQUFnQjs0RkFBaEIsZ0JBQWdCLGtZQzVCN0IsaTVFQStEQSwwYUR6Q1ksZUFBZSw4SkFBRSxlQUFlLDRGQUFFLE9BQU8sb0ZBQUUsSUFBSSw2RkFBRSxnQkFBZ0I7OzRGQU1oRSxnQkFBZ0I7a0JBVDVCLFNBQVM7aUNBQ0ksSUFBSSxZQUNOLGNBQWMsV0FDZixDQUFDLGVBQWUsRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxtQkFHM0QsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsUUFBUTs4QkFHaEMsSUFBSTtzQkFBWixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRUksU0FBUztzQkFBbEIsTUFBTTtnQkFDRyxlQUFlO3NCQUF4QixNQUFNO2dCQUVzQixjQUFjO3NCQUExQyxTQUFTO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBPbkNoYW5nZXMsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIEVsZW1lbnRSZWYsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ0NsYXNzLCBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IGlzTW9iaWxlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS91dGlscy9sYXlvdXQudXRpbCc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9wdWJsaWMtYXBpJztcbmltcG9ydCB7IE9wdGlvbnNSb3dDYXJkLCBSb3dDYXJkIH0gZnJvbSAnLi4vLi4vLi4vY29yZS90eXBlcy9yb3ctY2FyZC50eXBlJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdzZGMtcm93LWNhcmQnLFxuICBpbXBvcnRzOiBbQnV0dG9uQ29tcG9uZW50LCBUcmFuc2xhdGVNb2R1bGUsIE5nQ2xhc3MsIE5nSWYsIE5nVGVtcGxhdGVPdXRsZXRdLFxuICB0ZW1wbGF0ZVVybDogJy4vcm93LWNhcmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vcm93LWNhcmQuY29tcG9uZW50LnNjc3MnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uRW11bGF0ZWQsXG59KVxuZXhwb3J0IGNsYXNzIFJvd0NhcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBkYXRhITogUm93Q2FyZDtcbiAgQElucHV0KCkgb3B0aW9ucz86IE9wdGlvbnNSb3dDYXJkO1xuICBASW5wdXQoKSBpc0V4cGFuZGVkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGRldGFpbFRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcblxuICBAT3V0cHV0KCkgY2FyZENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxSb3dDYXJkPigpO1xuICBAT3V0cHV0KCkgY2FyZEJ1dHRvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxSb3dDYXJkPigpO1xuXG4gIEBWaWV3Q2hpbGQoJ2NvbnRlbnRXcmFwcGVyJykgY29udGVudFdyYXBwZXI/OiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNNb2JpbGUgPSBpc01vYmlsZSgpO1xuXG4gIGdldCBleHBhbmRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLm9wdGlvbnM/LmV4cGFuZGFibGUgJiYgISF0aGlzLmlzRXhwYW5kZWQ7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXNbJ2lzRXhwYW5kZWQnXSB8fCBjaGFuZ2VzWydvcHRpb25zJ10pIHtcbiAgICAgIHF1ZXVlTWljcm90YXNrKCgpID0+IHRoaXMudXBkYXRlQ29sbGFwc2VIZWlnaHQoKSk7XG4gICAgfVxuICB9XG5cbiAgb25DYXJkQ2xpY2soKTogdm9pZCB7XG4gICAgdGhpcy5jYXJkQ2xpY2suZW1pdCh0aGlzLmRhdGEpO1xuICB9XG5cbiAgb25FeHBhbmRDYXJkQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkuY2xvc2VzdCgnc2RjLWJ1dHRvbicpKSByZXR1cm47XG4gICAgdGhpcy5jYXJkQ2xpY2suZW1pdCh0aGlzLmRhdGEpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG5cbiAgb25DYXJkQnV0dG9uQ2xpY2soKTogdm9pZCB7XG4gICAgdGhpcy5jYXJkQnV0dG9uQ2xpY2suZW1pdCh0aGlzLmRhdGEpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVDb2xsYXBzZUhlaWdodCgpOiB2b2lkIHtcbiAgICBjb25zdCBlbCA9IHRoaXMuY29udGVudFdyYXBwZXI/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKCFlbCkgcmV0dXJuO1xuICAgIGlmICghdGhpcy5vcHRpb25zPy5leHBhbmRhYmxlKSB7XG4gICAgICBlbC5zdHlsZS5oZWlnaHQgPSAnMHB4JztcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZWwuc3R5bGUuaGVpZ2h0ID0gdGhpcy5leHBhbmRlZCA/IGAke2VsLnNjcm9sbEhlaWdodH1weGAgOiAnMHB4JztcbiAgfVxufVxuIiwiPGRpdlxuICAoY2xpY2spPVwib3B0aW9ucz8uZXhwYW5kYWJsZSA/IG9uRXhwYW5kQ2FyZENsaWNrKCRldmVudCkgOiBvbkNhcmRDbGljaygpXCJcbiAgW2NsYXNzLmJvcmRlci1sZWZ0XT1cImRhdGEuaGFzQm9yZGVyXCJcbiAgY2xhc3M9XCJyb3ctY2FyZCBwLTMgdHJhbnNpdGlvbi1hbGwgY3Vyc29yLXBvaW50ZXJcIlxuPlxuICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbHVtbiBtZDpmbGV4LXJvdyBnYXAtNCBhbGlnbi1pdGVtcy1zdGFydCBtZDphbGlnbi1pdGVtcy1jZW50ZXIgdy1mdWxsXCI+XG4gICAgQGlmIChvcHRpb25zPy5leHBhbmRhYmxlKSB7XG4gICAgPGkgKm5nSWY9XCJleHBhbmRlZFwiIGNsYXNzPVwiZmFzIGZhLW1pbnVzXCI+PC9pPlxuICAgIDxpICpuZ0lmPVwiIWV4cGFuZGVkXCIgY2xhc3M9XCJmYXMgZmEtcGx1c1wiPjwvaT5cbiAgICB9XG5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleC0xIG1pbi13LTBcIj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJ0ZXh0LXhsIGZvbnQtc2VtaWJvbGQgbWItMiB0ZXh0LW92ZXJmbG93LWVsbGlwc2lzIHdoaXRlLXNwYWNlLW5vd3JhcCBvdmVyZmxvdy1oaWRkZW5cIlxuICAgICAgICBbbmdDbGFzc109XCJvcHRpb25zPy5sZWZ0VGl0bGVDb2xvclwiXG4gICAgICA+XG4gICAgICAgIHt7IGRhdGEubGVmdF90aXRsZSB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zbVwiIFtuZ0NsYXNzXT1cIm9wdGlvbnM/LmxlZnRTdWJ0aXRsZUNvbG9yXCI+XG4gICAgICAgIHt7IGRhdGEubGVmdF9zdWJ0aXRsZSB9fVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBtZDptbC1hdXRvIGdhcC00IHctZnVsbCBtZDp3LWF1dG8gYWxpZ24taXRlbXMtc3RhcnQgbWQ6YWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbHVtbiBtZDpmbGV4LXJvdyBnYXAtMiB3LWZ1bGwgbWQ6dy1hdXRvXCI+XG4gICAgICAgIDxzZGMtYnV0dG9uXG4gICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgKG9uQ2xpY2spPVwib25DYXJkQnV0dG9uQ2xpY2soKVwiXG4gICAgICAgICAgW3ByaW9yaXR5XT1cIm9wdGlvbnM/LmJ1dHRvblByaW9yaXR5IVwiXG4gICAgICAgICAgW2ljb25dPVwib3B0aW9ucz8uYnV0dG9uSWNvblwiXG4gICAgICAgICAgW2xhYmVsXT1cImlzTW9iaWxlID8gJycgOiAob3B0aW9ucyEuYnV0dG9uTGFiZWwhIHwgdHJhbnNsYXRlKVwiXG4gICAgICAgICAgW2NsYXNzXT1cImlzTW9iaWxlID8gJ3ctZnVsbCcgOiAndy05cmVtJ1wiXG4gICAgICAgID5cbiAgICAgICAgPC9zZGMtYnV0dG9uPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJ0ZXh0LXJpZ2h0IHRleHQtc20gZmxleCBmbGV4LWNvbHVtbiBnYXAtMSBtZDphbGlnbi1pdGVtcy1lbmQgdy1mdWxsIG1kOnctYXV0b1wiXG4gICAgICAgIHN0eWxlPVwibWluLXdpZHRoOiAxM3JlbVwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZm9udC1ib2xkIHRleHQtMnhsXCIgW25nQ2xhc3NdPVwib3B0aW9ucz8ucmlnaHRUaXRsZUNvbG9yXCI+e3sgZGF0YS5yaWdodF90aXRsZSB9fTwvc3Bhbj5cbiAgICAgICAgPHNwYW4gW25nQ2xhc3NdPVwib3B0aW9ucz8ucmlnaHRTdWJ0aXRsZUNvbG9yXCI+e3sgZGF0YS5yaWdodF9zdWJ0aXRsZSB9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8bmctY29udGFpbmVyICpuZ0lmPVwib3B0aW9ucz8uZXhwYW5kYWJsZVwiPlxuICAgIDxkaXYgI2NvbnRlbnRXcmFwcGVyIGNsYXNzPVwiY29sbGFwc2Utd3JhcHBlclwiIFtjbGFzcy5zaG93XT1cImV4cGFuZGVkXCIgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbGxhcHNlLWlubmVyXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkZXRhaWxUZW1wbGF0ZTsgZWxzZSBkZWZhdWx0RGV0YWlsXCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJkZXRhaWxUZW1wbGF0ZVwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGRhdGEsIGRhdGE6IGRhdGEgfVwiXG4gICAgICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdERldGFpbD5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zbSB0ZXh0LTcwMFwiPnt7IGRhdGEud3JhcHBlckRldGFpbCB9fTwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG4iXX0=
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGliL3NyYy9mZWF0dXJlcy9yb3ctY2FyZC1saXN0L3Jvdy1jYXJkL3Jvdy1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvZmVhdHVyZXMvcm93LWNhcmQtbGlzdC9yb3ctY2FyZC9yb3ctY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUlOLFNBQVMsRUFFVCx1QkFBdUIsRUFDdkIsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7OztBQVd0RCxNQUFNLE9BQU8sZ0JBQWdCO0lBQ2xCLElBQUksQ0FBVztJQUNmLE9BQU8sQ0FBa0I7SUFDekIsVUFBVSxHQUFZLEtBQUssQ0FBQztJQUM1QixjQUFjLENBQW9CO0lBRWpDLFNBQVMsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBQ3hDLGVBQWUsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBRTNCLGNBQWMsQ0FBOEI7SUFFdEQsUUFBUSxHQUFHLFFBQVEsRUFBRSxDQUFDO0lBRXpDLElBQUksUUFBUTtRQUNWLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsVUFBVSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pELENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDaEQsY0FBYyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUM7UUFDcEQsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxLQUFpQjtRQUNqQyxJQUFLLEtBQUssQ0FBQyxNQUFzQixDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUM7WUFBRSxPQUFPO1FBQ2hFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELGlCQUFpQjtRQUNmLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRU8sb0JBQW9CO1FBQzFCLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsYUFBYSxDQUFDO1FBQzlDLElBQUksQ0FBQyxFQUFFO1lBQUUsT0FBTztRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsQ0FBQztZQUM5QixFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7WUFDeEIsT0FBTztRQUNULENBQUM7UUFDRCxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxZQUFZLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ25FLENBQUM7d0dBN0NVLGdCQUFnQjs0RkFBaEIsZ0JBQWdCLGtZQzVCN0IsaTVFQStEQSwwYUR6Q1ksZUFBZSxpUkFBRSxlQUFlLDRGQUFFLE9BQU8sb0ZBQUUsSUFBSSw2RkFBRSxnQkFBZ0I7OzRGQU1oRSxnQkFBZ0I7a0JBVDVCLFNBQVM7aUNBQ0ksSUFBSSxZQUNOLGNBQWMsV0FDZixDQUFDLGVBQWUsRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxtQkFHM0QsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsUUFBUTs4QkFHaEMsSUFBSTtzQkFBWixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRUksU0FBUztzQkFBbEIsTUFBTTtnQkFDRyxlQUFlO3NCQUF4QixNQUFNO2dCQUVzQixjQUFjO3NCQUExQyxTQUFTO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBPbkNoYW5nZXMsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIEVsZW1lbnRSZWYsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ0NsYXNzLCBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IGlzTW9iaWxlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS91dGlscy9sYXlvdXQudXRpbCc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9wdWJsaWMtYXBpJztcbmltcG9ydCB7IE9wdGlvbnNSb3dDYXJkLCBSb3dDYXJkIH0gZnJvbSAnLi4vLi4vLi4vY29yZS90eXBlcy9yb3ctY2FyZC50eXBlJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdzZGMtcm93LWNhcmQnLFxuICBpbXBvcnRzOiBbQnV0dG9uQ29tcG9uZW50LCBUcmFuc2xhdGVNb2R1bGUsIE5nQ2xhc3MsIE5nSWYsIE5nVGVtcGxhdGVPdXRsZXRdLFxuICB0ZW1wbGF0ZVVybDogJy4vcm93LWNhcmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vcm93LWNhcmQuY29tcG9uZW50LnNjc3MnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uRW11bGF0ZWQsXG59KVxuZXhwb3J0IGNsYXNzIFJvd0NhcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBkYXRhITogUm93Q2FyZDtcbiAgQElucHV0KCkgb3B0aW9ucz86IE9wdGlvbnNSb3dDYXJkO1xuICBASW5wdXQoKSBpc0V4cGFuZGVkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGRldGFpbFRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcblxuICBAT3V0cHV0KCkgY2FyZENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxSb3dDYXJkPigpO1xuICBAT3V0cHV0KCkgY2FyZEJ1dHRvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxSb3dDYXJkPigpO1xuXG4gIEBWaWV3Q2hpbGQoJ2NvbnRlbnRXcmFwcGVyJykgY29udGVudFdyYXBwZXI/OiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNNb2JpbGUgPSBpc01vYmlsZSgpO1xuXG4gIGdldCBleHBhbmRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLm9wdGlvbnM/LmV4cGFuZGFibGUgJiYgISF0aGlzLmlzRXhwYW5kZWQ7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXNbJ2lzRXhwYW5kZWQnXSB8fCBjaGFuZ2VzWydvcHRpb25zJ10pIHtcbiAgICAgIHF1ZXVlTWljcm90YXNrKCgpID0+IHRoaXMudXBkYXRlQ29sbGFwc2VIZWlnaHQoKSk7XG4gICAgfVxuICB9XG5cbiAgb25DYXJkQ2xpY2soKTogdm9pZCB7XG4gICAgdGhpcy5jYXJkQ2xpY2suZW1pdCh0aGlzLmRhdGEpO1xuICB9XG5cbiAgb25FeHBhbmRDYXJkQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkuY2xvc2VzdCgnc2RjLWJ1dHRvbicpKSByZXR1cm47XG4gICAgdGhpcy5jYXJkQ2xpY2suZW1pdCh0aGlzLmRhdGEpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG5cbiAgb25DYXJkQnV0dG9uQ2xpY2soKTogdm9pZCB7XG4gICAgdGhpcy5jYXJkQnV0dG9uQ2xpY2suZW1pdCh0aGlzLmRhdGEpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVDb2xsYXBzZUhlaWdodCgpOiB2b2lkIHtcbiAgICBjb25zdCBlbCA9IHRoaXMuY29udGVudFdyYXBwZXI/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKCFlbCkgcmV0dXJuO1xuICAgIGlmICghdGhpcy5vcHRpb25zPy5leHBhbmRhYmxlKSB7XG4gICAgICBlbC5zdHlsZS5oZWlnaHQgPSAnMHB4JztcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZWwuc3R5bGUuaGVpZ2h0ID0gdGhpcy5leHBhbmRlZCA/IGAke2VsLnNjcm9sbEhlaWdodH1weGAgOiAnMHB4JztcbiAgfVxufVxuIiwiPGRpdlxuICAoY2xpY2spPVwib3B0aW9ucz8uZXhwYW5kYWJsZSA/IG9uRXhwYW5kQ2FyZENsaWNrKCRldmVudCkgOiBvbkNhcmRDbGljaygpXCJcbiAgW2NsYXNzLmJvcmRlci1sZWZ0XT1cImRhdGEuaGFzQm9yZGVyXCJcbiAgY2xhc3M9XCJyb3ctY2FyZCBwLTMgdHJhbnNpdGlvbi1hbGwgY3Vyc29yLXBvaW50ZXJcIlxuPlxuICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbHVtbiBtZDpmbGV4LXJvdyBnYXAtNCBhbGlnbi1pdGVtcy1zdGFydCBtZDphbGlnbi1pdGVtcy1jZW50ZXIgdy1mdWxsXCI+XG4gICAgQGlmIChvcHRpb25zPy5leHBhbmRhYmxlKSB7XG4gICAgPGkgKm5nSWY9XCJleHBhbmRlZFwiIGNsYXNzPVwiZmFzIGZhLW1pbnVzXCI+PC9pPlxuICAgIDxpICpuZ0lmPVwiIWV4cGFuZGVkXCIgY2xhc3M9XCJmYXMgZmEtcGx1c1wiPjwvaT5cbiAgICB9XG5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleC0xIG1pbi13LTBcIj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJ0ZXh0LXhsIGZvbnQtc2VtaWJvbGQgbWItMiB0ZXh0LW92ZXJmbG93LWVsbGlwc2lzIHdoaXRlLXNwYWNlLW5vd3JhcCBvdmVyZmxvdy1oaWRkZW5cIlxuICAgICAgICBbbmdDbGFzc109XCJvcHRpb25zPy5sZWZ0VGl0bGVDb2xvclwiXG4gICAgICA+XG4gICAgICAgIHt7IGRhdGEubGVmdF90aXRsZSB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zbVwiIFtuZ0NsYXNzXT1cIm9wdGlvbnM/LmxlZnRTdWJ0aXRsZUNvbG9yXCI+XG4gICAgICAgIHt7IGRhdGEubGVmdF9zdWJ0aXRsZSB9fVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBtZDptbC1hdXRvIGdhcC00IHctZnVsbCBtZDp3LWF1dG8gYWxpZ24taXRlbXMtc3RhcnQgbWQ6YWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbHVtbiBtZDpmbGV4LXJvdyBnYXAtMiB3LWZ1bGwgbWQ6dy1hdXRvXCI+XG4gICAgICAgIDxzZGMtYnV0dG9uXG4gICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgKG9uQ2xpY2spPVwib25DYXJkQnV0dG9uQ2xpY2soKVwiXG4gICAgICAgICAgW3ByaW9yaXR5XT1cIm9wdGlvbnM/LmJ1dHRvblByaW9yaXR5IVwiXG4gICAgICAgICAgW2ljb25dPVwib3B0aW9ucz8uYnV0dG9uSWNvblwiXG4gICAgICAgICAgW2xhYmVsXT1cImlzTW9iaWxlID8gJycgOiAob3B0aW9ucyEuYnV0dG9uTGFiZWwhIHwgdHJhbnNsYXRlKVwiXG4gICAgICAgICAgW2NsYXNzXT1cImlzTW9iaWxlID8gJ3ctZnVsbCcgOiAndy05cmVtJ1wiXG4gICAgICAgID5cbiAgICAgICAgPC9zZGMtYnV0dG9uPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJ0ZXh0LXJpZ2h0IHRleHQtc20gZmxleCBmbGV4LWNvbHVtbiBnYXAtMSBtZDphbGlnbi1pdGVtcy1lbmQgdy1mdWxsIG1kOnctYXV0b1wiXG4gICAgICAgIHN0eWxlPVwibWluLXdpZHRoOiAxM3JlbVwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZm9udC1ib2xkIHRleHQtMnhsXCIgW25nQ2xhc3NdPVwib3B0aW9ucz8ucmlnaHRUaXRsZUNvbG9yXCI+e3sgZGF0YS5yaWdodF90aXRsZSB9fTwvc3Bhbj5cbiAgICAgICAgPHNwYW4gW25nQ2xhc3NdPVwib3B0aW9ucz8ucmlnaHRTdWJ0aXRsZUNvbG9yXCI+e3sgZGF0YS5yaWdodF9zdWJ0aXRsZSB9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8bmctY29udGFpbmVyICpuZ0lmPVwib3B0aW9ucz8uZXhwYW5kYWJsZVwiPlxuICAgIDxkaXYgI2NvbnRlbnRXcmFwcGVyIGNsYXNzPVwiY29sbGFwc2Utd3JhcHBlclwiIFtjbGFzcy5zaG93XT1cImV4cGFuZGVkXCIgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbGxhcHNlLWlubmVyXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkZXRhaWxUZW1wbGF0ZTsgZWxzZSBkZWZhdWx0RGV0YWlsXCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJkZXRhaWxUZW1wbGF0ZVwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGRhdGEsIGRhdGE6IGRhdGEgfVwiXG4gICAgICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdERldGFpbD5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zbSB0ZXh0LTcwMFwiPnt7IGRhdGEud3JhcHBlckRldGFpbCB9fTwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG4iXX0=
@@ -1,42 +1,58 @@
1
1
  import { CommonModule } from '@angular/common';
2
- import { SidebarModule } from '@seniorsistemas/angular-components/sidebar';
3
- import { ButtonModule } from '@seniorsistemas/angular-components/button';
4
- import { StructureModule } from '@seniorsistemas/angular-components/structure';
5
- import { Component, EventEmitter, Input, Output, ContentChild, TemplateRef, ChangeDetectionStrategy, ViewEncapsulation, } from '@angular/core';
2
+ import { Component, EventEmitter, Input, Output, ContentChild, TemplateRef, ChangeDetectionStrategy, ViewEncapsulation, HostListener } from '@angular/core';
6
3
  import * as i0 from "@angular/core";
7
4
  import * as i1 from "@angular/common";
8
- import * as i2 from "@seniorsistemas/angular-components/sidebar";
9
5
  export class SidebarComponent {
10
6
  visible = false;
11
7
  header = 'Título do Sidebar';
12
8
  largeSized = true;
13
9
  closeOnBackdrop = true;
14
10
  width = '70%';
11
+ showClose = true;
15
12
  visibleChange = new EventEmitter();
16
13
  contentTpl;
17
14
  footerTpl;
18
15
  ngOnChanges(changes) {
19
- if (changes['visible'] || changes['closeOnBackdrop']) {
20
- // reservado para futura lógica de reação
21
- }
16
+ if (changes['visible'])
17
+ this.lockBody(this.visible);
18
+ }
19
+ ngOnDestroy() {
20
+ this.lockBody(false);
21
+ }
22
+ onBackdropClick() {
23
+ if (this.closeOnBackdrop)
24
+ this.close();
22
25
  }
23
26
  onVisibleChange(next) {
24
27
  this.visible = next;
28
+ this.lockBody(next);
25
29
  this.visibleChange.emit(next);
26
30
  }
27
31
  close() {
28
32
  this.visible = false;
33
+ this.lockBody(false);
29
34
  this.visibleChange.emit(false);
30
35
  }
31
36
  get sidebarWidth() {
32
- return typeof this.width === 'number' ? `${this.width}%` : this.width;
37
+ if (typeof this.width === 'number')
38
+ return `${this.width}%`;
39
+ if (this.width)
40
+ return this.width;
41
+ return this.largeSized ? '70%' : '40%';
42
+ }
43
+ onEsc() {
44
+ if (this.visible)
45
+ this.close();
46
+ }
47
+ lockBody(lock) {
48
+ document.body.classList.toggle('sdc-body-locked', !!lock);
33
49
  }
34
50
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SidebarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
35
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: SidebarComponent, isStandalone: true, selector: "sdc-sidebar", inputs: { visible: "visible", header: "header", largeSized: "largeSized", closeOnBackdrop: "closeOnBackdrop", width: "width" }, outputs: { visibleChange: "visibleChange" }, queries: [{ propertyName: "contentTpl", first: true, predicate: ["content"], descendants: true, read: TemplateRef }, { propertyName: "footerTpl", first: true, predicate: ["footer"], descendants: true, read: TemplateRef }], usesOnChanges: true, ngImport: i0, template: "<s-sidebar [visible]=\"visible\" [header]=\"header\" [largeSized]=\"largeSized\" [dismissible]=\"closeOnBackdrop\"\n [ngClass]=\"{ 'sdc--locked': visible && !closeOnBackdrop }\" [style.--sdc-sidebar-width]=\"sidebarWidth\"\n (visibleChange)=\"onVisibleChange($event)\" (onShow)=\"onVisibleChange(true)\" (onHide)=\"onVisibleChange(false)\">\n\n <div class=\"sdc-sidebar-content\">\n <ng-container *ngIf=\"contentTpl; else projected\">\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container>\n </ng-container>\n <ng-template #projected>\n <ng-content></ng-content>\n </ng-template>\n </div>\n\n <div class=\"sdc-sidebar-footer\">\n <hr class=\"sdc-footer-divider\" />\n <div class=\"sdc-footer-actions\">\n <ng-container *ngIf=\"footerTpl\">\n <ng-container *ngTemplateOutlet=\"footerTpl\"></ng-container>\n </ng-container>\n </div>\n </div>\n</s-sidebar>", styles: [".sdc-sidebar-content{flex:1 1 auto;overflow:auto}.sdc-sidebar-content{flex:1 1 auto;overflow:auto;padding:0 1rem}.sdc-sidebar-footer{position:sticky;bottom:-20px;background:#fff}.sdc-footer-divider{margin:.75rem 0 1rem;border:0;border-top:1px solid #dcdcdc}.sdc-footer-actions{display:flex;padding:0 0 15px;align-items:center;justify-content:flex-start;gap:1rem}::ng-deep s-sidebar .backdrop{transition:background-color .2s ease,opacity .2s ease}::ng-deep s-sidebar.sdc--locked .backdrop{background-color:#333!important;opacity:.8!important}::ng-deep .sidebar--open{width:var(--sdc-sidebar-width, 70%)!important;min-width:var(--sdc-sidebar-width, 70%)!important;max-width:var(--sdc-sidebar-width, 70%)!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: SidebarModule }, { kind: "component", type: i2.SidebarComponent, selector: "s-sidebar", inputs: ["visible", "closable", "dismissible", "closeOnEscape", "header", "largeSized", "cache", "registerConfirmClose"], outputs: ["visibleChange"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "ngmodule", type: StructureModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
51
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: SidebarComponent, isStandalone: true, selector: "sdc-sidebar", inputs: { visible: "visible", header: "header", largeSized: "largeSized", closeOnBackdrop: "closeOnBackdrop", width: "width", showClose: "showClose" }, outputs: { visibleChange: "visibleChange" }, host: { listeners: { "document:keydown.escape": "onEsc($event)" } }, queries: [{ propertyName: "contentTpl", first: true, predicate: ["content"], descendants: true, read: TemplateRef }, { propertyName: "footerTpl", first: true, predicate: ["footer"], descendants: true, read: TemplateRef }], usesOnChanges: true, ngImport: i0, template: "<div class=\"sdc-overlay\" *ngIf=\"visible\">\n <div class=\"sdc-backdrop\" (click)=\"onBackdropClick()\"></div>\n\n <aside\n class=\"sdc-sidebar-panel\"\n role=\"dialog\"\n aria-modal=\"true\"\n [attr.aria-label]=\"header\"\n [style.width]=\"sidebarWidth\"\n >\n <div class=\"sdc-sidebar-header\">\n <div class=\"sdc-sidebar-title\">{{ header }}</div>\n <button type=\"button\" class=\"sdc-sidebar-close\" *ngIf=\"showClose\" (click)=\"close()\">\n <i class=\"fas fa-times\"></i>\n </button>\n </div>\n\n <div class=\"sdc-sidebar-content\">\n <ng-container *ngIf=\"contentTpl; else projected\">\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container>\n </ng-container>\n <ng-template #projected>\n <ng-content></ng-content>\n </ng-template>\n </div>\n\n <div class=\"sdc-sidebar-footer\">\n <hr class=\"sdc-footer-divider\" />\n <div class=\"sdc-footer-actions\">\n <ng-container *ngIf=\"footerTpl\">\n <ng-container *ngTemplateOutlet=\"footerTpl\"></ng-container>\n </ng-container>\n </div>\n </div>\n </aside>\n</div>\n", styles: [":host{display:block}.sdc-overlay{position:fixed;inset:0;z-index:1100}.sdc-backdrop{position:absolute;inset:0;background:#333c}.sdc-sidebar-panel{position:absolute;right:0;top:0;height:100vh;background:#fff;display:flex;flex-direction:column;max-width:100%;box-shadow:0 0 0 1px #0000000a,0 10px 30px #0003;width:var(--sdc-sidebar-width, 70%)}.sdc-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid #e5e7eb;font-weight:600;font-size:.9rem;text-transform:uppercase}.sdc-sidebar-close{background:transparent;border:0;cursor:pointer;padding:.25rem;line-height:1}.sdc-sidebar-content{flex:1 1 auto;overflow:auto;padding:0 1rem}.sdc-sidebar-footer{background:#fff;position:sticky;bottom:0;padding:0 1rem 1rem}.sdc-footer-divider{margin:.75rem 0 1rem;border:0;border-top:1px solid #dcdcdc}.sdc-footer-actions{display:flex;align-items:center;justify-content:flex-start;gap:1rem}.sdc-body-locked{overflow:hidden}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
36
52
  }
37
53
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SidebarComponent, decorators: [{
38
54
  type: Component,
39
- args: [{ selector: 'sdc-sidebar', standalone: true, imports: [CommonModule, SidebarModule, ButtonModule, StructureModule], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<s-sidebar [visible]=\"visible\" [header]=\"header\" [largeSized]=\"largeSized\" [dismissible]=\"closeOnBackdrop\"\n [ngClass]=\"{ 'sdc--locked': visible && !closeOnBackdrop }\" [style.--sdc-sidebar-width]=\"sidebarWidth\"\n (visibleChange)=\"onVisibleChange($event)\" (onShow)=\"onVisibleChange(true)\" (onHide)=\"onVisibleChange(false)\">\n\n <div class=\"sdc-sidebar-content\">\n <ng-container *ngIf=\"contentTpl; else projected\">\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container>\n </ng-container>\n <ng-template #projected>\n <ng-content></ng-content>\n </ng-template>\n </div>\n\n <div class=\"sdc-sidebar-footer\">\n <hr class=\"sdc-footer-divider\" />\n <div class=\"sdc-footer-actions\">\n <ng-container *ngIf=\"footerTpl\">\n <ng-container *ngTemplateOutlet=\"footerTpl\"></ng-container>\n </ng-container>\n </div>\n </div>\n</s-sidebar>", styles: [".sdc-sidebar-content{flex:1 1 auto;overflow:auto}.sdc-sidebar-content{flex:1 1 auto;overflow:auto;padding:0 1rem}.sdc-sidebar-footer{position:sticky;bottom:-20px;background:#fff}.sdc-footer-divider{margin:.75rem 0 1rem;border:0;border-top:1px solid #dcdcdc}.sdc-footer-actions{display:flex;padding:0 0 15px;align-items:center;justify-content:flex-start;gap:1rem}::ng-deep s-sidebar .backdrop{transition:background-color .2s ease,opacity .2s ease}::ng-deep s-sidebar.sdc--locked .backdrop{background-color:#333!important;opacity:.8!important}::ng-deep .sidebar--open{width:var(--sdc-sidebar-width, 70%)!important;min-width:var(--sdc-sidebar-width, 70%)!important;max-width:var(--sdc-sidebar-width, 70%)!important}\n"] }]
55
+ args: [{ selector: 'sdc-sidebar', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<div class=\"sdc-overlay\" *ngIf=\"visible\">\n <div class=\"sdc-backdrop\" (click)=\"onBackdropClick()\"></div>\n\n <aside\n class=\"sdc-sidebar-panel\"\n role=\"dialog\"\n aria-modal=\"true\"\n [attr.aria-label]=\"header\"\n [style.width]=\"sidebarWidth\"\n >\n <div class=\"sdc-sidebar-header\">\n <div class=\"sdc-sidebar-title\">{{ header }}</div>\n <button type=\"button\" class=\"sdc-sidebar-close\" *ngIf=\"showClose\" (click)=\"close()\">\n <i class=\"fas fa-times\"></i>\n </button>\n </div>\n\n <div class=\"sdc-sidebar-content\">\n <ng-container *ngIf=\"contentTpl; else projected\">\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container>\n </ng-container>\n <ng-template #projected>\n <ng-content></ng-content>\n </ng-template>\n </div>\n\n <div class=\"sdc-sidebar-footer\">\n <hr class=\"sdc-footer-divider\" />\n <div class=\"sdc-footer-actions\">\n <ng-container *ngIf=\"footerTpl\">\n <ng-container *ngTemplateOutlet=\"footerTpl\"></ng-container>\n </ng-container>\n </div>\n </div>\n </aside>\n</div>\n", styles: [":host{display:block}.sdc-overlay{position:fixed;inset:0;z-index:1100}.sdc-backdrop{position:absolute;inset:0;background:#333c}.sdc-sidebar-panel{position:absolute;right:0;top:0;height:100vh;background:#fff;display:flex;flex-direction:column;max-width:100%;box-shadow:0 0 0 1px #0000000a,0 10px 30px #0003;width:var(--sdc-sidebar-width, 70%)}.sdc-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid #e5e7eb;font-weight:600;font-size:.9rem;text-transform:uppercase}.sdc-sidebar-close{background:transparent;border:0;cursor:pointer;padding:.25rem;line-height:1}.sdc-sidebar-content{flex:1 1 auto;overflow:auto;padding:0 1rem}.sdc-sidebar-footer{background:#fff;position:sticky;bottom:0;padding:0 1rem 1rem}.sdc-footer-divider{margin:.75rem 0 1rem;border:0;border-top:1px solid #dcdcdc}.sdc-footer-actions{display:flex;align-items:center;justify-content:flex-start;gap:1rem}.sdc-body-locked{overflow:hidden}\n"] }]
40
56
  }], propDecorators: { visible: [{
41
57
  type: Input,
42
58
  args: [{ required: true }]
@@ -49,6 +65,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
49
65
  type: Input
50
66
  }], width: [{
51
67
  type: Input
68
+ }], showClose: [{
69
+ type: Input
52
70
  }], visibleChange: [{
53
71
  type: Output
54
72
  }], contentTpl: [{
@@ -57,5 +75,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
57
75
  }], footerTpl: [{
58
76
  type: ContentChild,
59
77
  args: ['footer', { read: TemplateRef }]
78
+ }], onEsc: [{
79
+ type: HostListener,
80
+ args: ['document:keydown.escape', ['$event']]
60
81
  }] } });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3NpZGViYXIvc2lkZWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3NpZGViYXIvc2lkZWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDL0UsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osV0FBVyxFQUdYLHVCQUF1QixFQUN2QixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7Ozs7QUFXdkIsTUFBTSxPQUFPLGdCQUFnQjtJQUNBLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDaEIsTUFBTSxHQUFHLG1CQUFtQixDQUFDO0lBQy9DLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDbEIsZUFBZSxHQUFHLElBQUksQ0FBQztJQUN2QixLQUFLLEdBQW9CLEtBQUssQ0FBQztJQUU5QixhQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQUVOLFVBQVUsQ0FBb0I7SUFDL0IsU0FBUyxDQUFvQjtJQUU1RSxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksT0FBTyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQztZQUNyRCx5Q0FBeUM7UUFDM0MsQ0FBQztJQUNILENBQUM7SUFFRCxlQUFlLENBQUMsSUFBYTtRQUMzQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRVMsS0FBSztRQUNiLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3hFLENBQUM7d0dBOUJVLGdCQUFnQjs0RkFBaEIsZ0JBQWdCLGtVQVNNLFdBQVcsOEZBQ1osV0FBVyxrRENwQzdDLCs5QkFxQlksbXdCRERBLFlBQVksdVlBQUUsYUFBYSw2UEFBRSxZQUFZLDhCQUFFLGVBQWU7OzRGQU16RCxnQkFBZ0I7a0JBVDVCLFNBQVM7K0JBQ0UsYUFBYSxjQUNYLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLGVBQWUsQ0FBQyxtQkFHcEQsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsUUFBUTs4QkFHZCxPQUFPO3NCQUFqQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDRSxNQUFNO3NCQUFoQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDaEIsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFFSSxhQUFhO3NCQUF0QixNQUFNO2dCQUV5QyxVQUFVO3NCQUF6RCxZQUFZO3VCQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7Z0JBQ0MsU0FBUztzQkFBdkQsWUFBWTt1QkFBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFNpZGViYXJNb2R1bGUgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL3NpZGViYXInO1xuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgU3RydWN0dXJlTW9kdWxlIH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy9zdHJ1Y3R1cmUnO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIENvbnRlbnRDaGlsZCxcbiAgVGVtcGxhdGVSZWYsXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2RjLXNpZGViYXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBTaWRlYmFyTW9kdWxlLCBCdXR0b25Nb2R1bGUsIFN0cnVjdHVyZU1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9zaWRlYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3NpZGViYXIuY29tcG9uZW50LnNjc3MnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uRW11bGF0ZWQsXG59KVxuZXhwb3J0IGNsYXNzIFNpZGViYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSB2aXNpYmxlID0gZmFsc2U7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGhlYWRlciA9ICdUw610dWxvIGRvIFNpZGViYXInO1xuICBASW5wdXQoKSBsYXJnZVNpemVkID0gdHJ1ZTtcbiAgQElucHV0KCkgY2xvc2VPbkJhY2tkcm9wID0gdHJ1ZTtcbiAgQElucHV0KCkgd2lkdGg6IHN0cmluZyB8IG51bWJlciA9ICc3MCUnO1xuXG4gIEBPdXRwdXQoKSB2aXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIEBDb250ZW50Q2hpbGQoJ2NvbnRlbnQnLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pIGNvbnRlbnRUcGw/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBAQ29udGVudENoaWxkKCdmb290ZXInLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pIGZvb3RlclRwbD86IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzWyd2aXNpYmxlJ10gfHwgY2hhbmdlc1snY2xvc2VPbkJhY2tkcm9wJ10pIHtcbiAgICAgIC8vIHJlc2VydmFkbyBwYXJhIGZ1dHVyYSBsw7NnaWNhIGRlIHJlYcOnw6NvXG4gICAgfVxuICB9XG5cbiAgb25WaXNpYmxlQ2hhbmdlKG5leHQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLnZpc2libGUgPSBuZXh0O1xuICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KG5leHQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KGZhbHNlKTtcbiAgfVxuXG4gIGdldCBzaWRlYmFyV2lkdGgoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdHlwZW9mIHRoaXMud2lkdGggPT09ICdudW1iZXInID8gYCR7dGhpcy53aWR0aH0lYCA6IHRoaXMud2lkdGg7XG4gIH1cbn1cbiIsIjxzLXNpZGViYXIgW3Zpc2libGVdPVwidmlzaWJsZVwiIFtoZWFkZXJdPVwiaGVhZGVyXCIgW2xhcmdlU2l6ZWRdPVwibGFyZ2VTaXplZFwiIFtkaXNtaXNzaWJsZV09XCJjbG9zZU9uQmFja2Ryb3BcIlxuICAgIFtuZ0NsYXNzXT1cInsgJ3NkYy0tbG9ja2VkJzogdmlzaWJsZSAmJiAhY2xvc2VPbkJhY2tkcm9wIH1cIiBbc3R5bGUuLS1zZGMtc2lkZWJhci13aWR0aF09XCJzaWRlYmFyV2lkdGhcIlxuICAgICh2aXNpYmxlQ2hhbmdlKT1cIm9uVmlzaWJsZUNoYW5nZSgkZXZlbnQpXCIgKG9uU2hvdyk9XCJvblZpc2libGVDaGFuZ2UodHJ1ZSlcIiAob25IaWRlKT1cIm9uVmlzaWJsZUNoYW5nZShmYWxzZSlcIj5cblxuICAgIDxkaXYgY2xhc3M9XCJzZGMtc2lkZWJhci1jb250ZW50XCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb250ZW50VHBsOyBlbHNlIHByb2plY3RlZFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRUcGxcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjcHJvamVjdGVkPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cInNkYy1zaWRlYmFyLWZvb3RlclwiPlxuICAgICAgICA8aHIgY2xhc3M9XCJzZGMtZm9vdGVyLWRpdmlkZXJcIiAvPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2RjLWZvb3Rlci1hY3Rpb25zXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZm9vdGVyVHBsXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImZvb3RlclRwbFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9zLXNpZGViYXI+Il19
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3NpZGViYXIvc2lkZWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3NpZGViYXIvc2lkZWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osV0FBVyxFQUdYLHVCQUF1QixFQUN2QixpQkFBaUIsRUFFakIsWUFBWSxFQUNiLE1BQU0sZUFBZSxDQUFDOzs7QUFXdkIsTUFBTSxPQUFPLGdCQUFnQjtJQUNBLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDaEIsTUFBTSxHQUFHLG1CQUFtQixDQUFDO0lBQy9DLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDbEIsZUFBZSxHQUFHLElBQUksQ0FBQztJQUN2QixLQUFLLEdBQW9CLEtBQUssQ0FBQztJQUMvQixTQUFTLEdBQUcsSUFBSSxDQUFDO0lBRWhCLGFBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBRU4sVUFBVSxDQUFvQjtJQUMvQixTQUFTLENBQW9CO0lBRTVFLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUM7WUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLElBQUksQ0FBQyxlQUFlO1lBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxlQUFlLENBQUMsSUFBYTtRQUMzQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNwQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsSUFBSSxPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssUUFBUTtZQUFFLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUM7UUFDNUQsSUFBSSxJQUFJLENBQUMsS0FBSztZQUFFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztRQUNsQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ3pDLENBQUM7SUFHRCxLQUFLO1FBQ0gsSUFBSSxJQUFJLENBQUMsT0FBTztZQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRU8sUUFBUSxDQUFDLElBQWE7UUFDNUIsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1RCxDQUFDO3dHQWxEVSxnQkFBZ0I7NEZBQWhCLGdCQUFnQiwrWkFVTSxXQUFXLDhGQUNaLFdBQVcsa0RDcEM3Qyw0b0NBb0NBLHVnQ0RqQlksWUFBWTs7NEZBTVgsZ0JBQWdCO2tCQVQ1QixTQUFTOytCQUNFLGFBQWEsY0FDWCxJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUMsbUJBR04sdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsUUFBUTs4QkFHZCxPQUFPO3NCQUFqQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDRSxNQUFNO3NCQUFoQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDaEIsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVJLGFBQWE7c0JBQXRCLE1BQU07Z0JBRXlDLFVBQVU7c0JBQXpELFlBQVk7dUJBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFDQyxTQUFTO3NCQUF2RCxZQUFZO3VCQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7Z0JBaUM3QyxLQUFLO3NCQURKLFlBQVk7dUJBQUMseUJBQXlCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIENvbnRlbnRDaGlsZCxcbiAgVGVtcGxhdGVSZWYsXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBPbkRlc3Ryb3ksXG4gIEhvc3RMaXN0ZW5lclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2RjLXNpZGViYXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3NpZGViYXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vc2lkZWJhci5jb21wb25lbnQuc2NzcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5FbXVsYXRlZFxufSlcbmV4cG9ydCBjbGFzcyBTaWRlYmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSB2aXNpYmxlID0gZmFsc2U7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGhlYWRlciA9ICdUw610dWxvIGRvIFNpZGViYXInO1xuICBASW5wdXQoKSBsYXJnZVNpemVkID0gdHJ1ZTtcbiAgQElucHV0KCkgY2xvc2VPbkJhY2tkcm9wID0gdHJ1ZTtcbiAgQElucHV0KCkgd2lkdGg6IHN0cmluZyB8IG51bWJlciA9ICc3MCUnO1xuICBASW5wdXQoKSBzaG93Q2xvc2UgPSB0cnVlO1xuXG4gIEBPdXRwdXQoKSB2aXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIEBDb250ZW50Q2hpbGQoJ2NvbnRlbnQnLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pIGNvbnRlbnRUcGw/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBAQ29udGVudENoaWxkKCdmb290ZXInLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pIGZvb3RlclRwbD86IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzWyd2aXNpYmxlJ10pIHRoaXMubG9ja0JvZHkodGhpcy52aXNpYmxlKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMubG9ja0JvZHkoZmFsc2UpO1xuICB9XG5cbiAgb25CYWNrZHJvcENsaWNrKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNsb3NlT25CYWNrZHJvcCkgdGhpcy5jbG9zZSgpO1xuICB9XG5cbiAgb25WaXNpYmxlQ2hhbmdlKG5leHQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLnZpc2libGUgPSBuZXh0O1xuICAgIHRoaXMubG9ja0JvZHkobmV4dCk7XG4gICAgdGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQobmV4dCk7XG4gIH1cblxuICBjbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICB0aGlzLmxvY2tCb2R5KGZhbHNlKTtcbiAgICB0aGlzLnZpc2libGVDaGFuZ2UuZW1pdChmYWxzZSk7XG4gIH1cblxuICBnZXQgc2lkZWJhcldpZHRoKCk6IHN0cmluZyB7XG4gICAgaWYgKHR5cGVvZiB0aGlzLndpZHRoID09PSAnbnVtYmVyJykgcmV0dXJuIGAke3RoaXMud2lkdGh9JWA7XG4gICAgaWYgKHRoaXMud2lkdGgpIHJldHVybiB0aGlzLndpZHRoO1xuICAgIHJldHVybiB0aGlzLmxhcmdlU2l6ZWQgPyAnNzAlJyA6ICc0MCUnO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bi5lc2NhcGUnLCBbJyRldmVudCddKVxuICBvbkVzYygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy52aXNpYmxlKSB0aGlzLmNsb3NlKCk7XG4gIH1cblxuICBwcml2YXRlIGxvY2tCb2R5KGxvY2s6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC50b2dnbGUoJ3NkYy1ib2R5LWxvY2tlZCcsICEhbG9jayk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzZGMtb3ZlcmxheVwiICpuZ0lmPVwidmlzaWJsZVwiPlxuICA8ZGl2IGNsYXNzPVwic2RjLWJhY2tkcm9wXCIgKGNsaWNrKT1cIm9uQmFja2Ryb3BDbGljaygpXCI+PC9kaXY+XG5cbiAgPGFzaWRlXG4gICAgY2xhc3M9XCJzZGMtc2lkZWJhci1wYW5lbFwiXG4gICAgcm9sZT1cImRpYWxvZ1wiXG4gICAgYXJpYS1tb2RhbD1cInRydWVcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiaGVhZGVyXCJcbiAgICBbc3R5bGUud2lkdGhdPVwic2lkZWJhcldpZHRoXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJzZGMtc2lkZWJhci1oZWFkZXJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzZGMtc2lkZWJhci10aXRsZVwiPnt7IGhlYWRlciB9fTwvZGl2PlxuICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJzZGMtc2lkZWJhci1jbG9zZVwiICpuZ0lmPVwic2hvd0Nsb3NlXCIgKGNsaWNrKT1cImNsb3NlKClcIj5cbiAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtdGltZXNcIj48L2k+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJzZGMtc2lkZWJhci1jb250ZW50XCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29udGVudFRwbDsgZWxzZSBwcm9qZWN0ZWRcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRUcGxcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLXRlbXBsYXRlICNwcm9qZWN0ZWQ+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwic2RjLXNpZGViYXItZm9vdGVyXCI+XG4gICAgICA8aHIgY2xhc3M9XCJzZGMtZm9vdGVyLWRpdmlkZXJcIiAvPlxuICAgICAgPGRpdiBjbGFzcz1cInNkYy1mb290ZXItYWN0aW9uc1wiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZm9vdGVyVHBsXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImZvb3RlclRwbFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2FzaWRlPlxuPC9kaXY+XG4iXX0=