@unifylib/ui-lib 1.1.67 → 1.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/base-model/audit-log-entry.mjs +1 -1
- package/esm2022/lib/base-model/field-info.mjs +2 -1
- package/esm2022/lib/components/action-comment/action-comment.component.mjs +3 -3
- package/esm2022/lib/components/audit-log-list/audit-log.component.mjs +58 -22
- package/esm2022/lib/components/base-form/base-form.component.mjs +1 -1
- package/esm2022/lib/components/base-form-canvas/base-form-canvas.component.mjs +25 -3
- package/esm2022/lib/components/base-table/base-table.component.mjs +24 -31
- package/esm2022/lib/components/permission-matrix/permission-matrix.component.mjs +67 -4
- package/esm2022/lib/components/section-form-canvas/section-form-canvas.component.mjs +11 -3
- package/esm2022/lib/components/snackbar-static/snackbar-static.component.mjs +2 -2
- package/esm2022/lib/components/title-bar/title-bar.component.mjs +3 -3
- package/esm2022/lib/utils/base-utils.mjs +6 -3
- package/fesm2022/iq-ui-lib.mjs +201 -74
- package/fesm2022/iq-ui-lib.mjs.map +1 -1
- package/fesm2022/unifylib-ui-lib.mjs +201 -74
- package/fesm2022/unifylib-ui-lib.mjs.map +1 -1
- package/lib/base-model/audit-log-entry.d.ts +1 -0
- package/lib/base-model/field-info.d.ts +1 -0
- package/lib/components/audit-log-list/audit-log.component.d.ts +6 -2
- package/lib/components/base-form-canvas/base-form-canvas.component.d.ts +1 -0
- package/lib/components/base-table/base-table.component.d.ts +3 -4
- package/lib/components/permission-matrix/permission-matrix.component.d.ts +8 -1
- package/lib/components/section-form-canvas/section-form-canvas.component.d.ts +3 -1
- package/package.json +4 -1
|
@@ -21,6 +21,8 @@ export class PermissionMatrixComponent {
|
|
|
21
21
|
this.expandAllLabelKey = 'GROUPS.expandAll';
|
|
22
22
|
this.collapseAllLabelKey = 'GROUPS.collapseAll';
|
|
23
23
|
this.readonly = false;
|
|
24
|
+
this.hideSelectAll = false;
|
|
25
|
+
this.autoLockView = false;
|
|
24
26
|
this.itemsChange = new EventEmitter();
|
|
25
27
|
this.permissionChange = new EventEmitter();
|
|
26
28
|
}
|
|
@@ -50,6 +52,9 @@ export class PermissionMatrixComponent {
|
|
|
50
52
|
const allSelected = this.isAllPermissionsSelected(item);
|
|
51
53
|
const newValue = !allSelected;
|
|
52
54
|
this.permissions.forEach(perm => {
|
|
55
|
+
if (this.autoLockView && !newValue && perm.key === 'view') {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
53
58
|
if (perm.combinedKeys) {
|
|
54
59
|
perm.combinedKeys.forEach(key => {
|
|
55
60
|
item.permissions[key] = newValue;
|
|
@@ -59,6 +64,9 @@ export class PermissionMatrixComponent {
|
|
|
59
64
|
item.permissions[perm.key] = newValue;
|
|
60
65
|
}
|
|
61
66
|
});
|
|
67
|
+
if (this.autoLockView) {
|
|
68
|
+
this.syncViewPermission(item);
|
|
69
|
+
}
|
|
62
70
|
this.emitItemsChange();
|
|
63
71
|
}
|
|
64
72
|
isPermissionSelected(item, permission) {
|
|
@@ -67,11 +75,25 @@ export class PermissionMatrixComponent {
|
|
|
67
75
|
}
|
|
68
76
|
return item.permissions[permission.key];
|
|
69
77
|
}
|
|
78
|
+
isPermissionDisabled(item, permission) {
|
|
79
|
+
return this.readonly;
|
|
80
|
+
}
|
|
70
81
|
togglePermission(item, permission) {
|
|
71
|
-
if (this.
|
|
82
|
+
if (this.isPermissionDisabled(item, permission)) {
|
|
72
83
|
return;
|
|
84
|
+
}
|
|
73
85
|
const currentValue = this.isPermissionSelected(item, permission);
|
|
74
86
|
const newValue = !currentValue;
|
|
87
|
+
if (this.autoLockView && permission.key === 'view' && !newValue) {
|
|
88
|
+
this.clearAllPermissions(item);
|
|
89
|
+
this.permissionChange.emit({
|
|
90
|
+
item,
|
|
91
|
+
permissionKey: permission.key,
|
|
92
|
+
newValue: false
|
|
93
|
+
});
|
|
94
|
+
this.emitItemsChange();
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
75
97
|
if (permission.combinedKeys) {
|
|
76
98
|
permission.combinedKeys.forEach(key => {
|
|
77
99
|
item.permissions[key] = newValue;
|
|
@@ -80,6 +102,9 @@ export class PermissionMatrixComponent {
|
|
|
80
102
|
else {
|
|
81
103
|
item.permissions[permission.key] = newValue;
|
|
82
104
|
}
|
|
105
|
+
if (this.autoLockView) {
|
|
106
|
+
this.syncViewPermission(item);
|
|
107
|
+
}
|
|
83
108
|
this.permissionChange.emit({
|
|
84
109
|
item,
|
|
85
110
|
permissionKey: permission.key,
|
|
@@ -87,7 +112,41 @@ export class PermissionMatrixComponent {
|
|
|
87
112
|
});
|
|
88
113
|
this.emitItemsChange();
|
|
89
114
|
}
|
|
115
|
+
hasNonViewPermission(item) {
|
|
116
|
+
return this.permissions.some(perm => {
|
|
117
|
+
if (perm.key === 'view') {
|
|
118
|
+
return false;
|
|
119
|
+
}
|
|
120
|
+
if (perm.combinedKeys) {
|
|
121
|
+
return perm.combinedKeys.some(key => item.permissions[key]);
|
|
122
|
+
}
|
|
123
|
+
return !!item.permissions[perm.key];
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
clearAllPermissions(item) {
|
|
127
|
+
this.permissions.forEach(perm => {
|
|
128
|
+
if (perm.combinedKeys) {
|
|
129
|
+
perm.combinedKeys.forEach(key => {
|
|
130
|
+
item.permissions[key] = false;
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
item.permissions[perm.key] = false;
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
/** Auto-select view when any non-view permission is selected; never auto-clear view. */
|
|
139
|
+
syncViewPermission(item) {
|
|
140
|
+
const viewKey = this.permissions.find(p => p.key === 'view' && !p.combinedKeys)?.key;
|
|
141
|
+
if (!viewKey || !this.hasNonViewPermission(item)) {
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
item.permissions[viewKey] = true;
|
|
145
|
+
}
|
|
90
146
|
emitItemsChange() {
|
|
147
|
+
if (this.autoLockView) {
|
|
148
|
+
this.items.forEach(item => this.syncViewPermission(item));
|
|
149
|
+
}
|
|
91
150
|
this.itemsChange.emit([...this.items]);
|
|
92
151
|
}
|
|
93
152
|
trackByItem(index, item) {
|
|
@@ -97,7 +156,7 @@ export class PermissionMatrixComponent {
|
|
|
97
156
|
return permission.key;
|
|
98
157
|
}
|
|
99
158
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PermissionMatrixComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
100
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PermissionMatrixComponent, isStandalone: true, selector: "lib-permission-matrix", inputs: { items: "items", permissions: "permissions", titleKey: "titleKey", selectAllLabelKey: "selectAllLabelKey", expandAllLabelKey: "expandAllLabelKey", collapseAllLabelKey: "collapseAllLabelKey", readonly: "readonly" }, outputs: { itemsChange: "itemsChange", permissionChange: "permissionChange" }, ngImport: i0, template: "<div class=\"permission-matrix-card\">\r\n <div class=\"matrix-header\">\r\n <h3 class=\"matrix-title\">{{ titleKey | translate }}</h3>\r\n <button\r\n class=\"expand-all-btn\"\r\n type=\"button\"\r\n (click)=\"expandAllGroups()\"\r\n [attr.aria-label]=\"(areAllExpanded() ? collapseAllLabelKey : expandAllLabelKey) | translate\">\r\n <mat-icon class=\"expand-icon\" [class.rotated]=\"areAllExpanded()\">unfold_more</mat-icon>\r\n <span>{{ (areAllExpanded() ? collapseAllLabelKey : expandAllLabelKey) | translate }}</span>\r\n </button>\r\n </div>\r\n\r\n <div class=\"matrix-divider\"></div>\r\n\r\n <div class=\"matrix-accordion-list\">\r\n <div\r\n *ngFor=\"let item of items; trackBy: trackByItem\"\r\n class=\"matrix-accordion-item\"\r\n [class.expanded]=\"item.expanded\">\r\n\r\n <!-- Accordion Header -->\r\n <div\r\n class=\"accordion-header\"\r\n (click)=\"toggleGroup(item)\"\r\n role=\"button\"\r\n tabindex=\"0\"\r\n [attr.aria-expanded]=\"item.expanded\"\r\n (keydown.enter)=\"toggleGroup(item)\"\r\n (keydown.space)=\"toggleGroup(item); $event.preventDefault()\">\r\n <div class=\"accordion-content\">\r\n <h4 class=\"accordion-title\">{{ item.title }}</h4>\r\n <p *ngIf=\"item.description\" class=\"accordion-description\">{{ item.description }}</p>\r\n </div>\r\n <mat-icon class=\"accordion-icon\" [class.rotated]=\"item.expanded\">keyboard_arrow_down</mat-icon>\r\n </div>\r\n\r\n <!-- Accordion Body -->\r\n <ng-container *ngIf=\"item.expanded\">\r\n <div class=\"accordion-divider\"></div>\r\n <div class=\"accordion-body\">\r\n <!-- Permission Header Row -->\r\n <div class=\"permission-header-row\">\r\n <span class=\"permission-group-label\">{{ item.title }}</span>\r\n <div class=\"permission-separator\"></div>\r\n <div
|
|
159
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PermissionMatrixComponent, isStandalone: true, selector: "lib-permission-matrix", inputs: { items: "items", permissions: "permissions", titleKey: "titleKey", selectAllLabelKey: "selectAllLabelKey", expandAllLabelKey: "expandAllLabelKey", collapseAllLabelKey: "collapseAllLabelKey", readonly: "readonly", hideSelectAll: "hideSelectAll", autoLockView: "autoLockView" }, outputs: { itemsChange: "itemsChange", permissionChange: "permissionChange" }, ngImport: i0, template: "<div class=\"permission-matrix-card\">\r\n <div class=\"matrix-header\">\r\n <h3 class=\"matrix-title\">{{ titleKey | translate }}</h3>\r\n <button\r\n class=\"expand-all-btn\"\r\n type=\"button\"\r\n (click)=\"expandAllGroups()\"\r\n [attr.aria-label]=\"(areAllExpanded() ? collapseAllLabelKey : expandAllLabelKey) | translate\">\r\n <mat-icon class=\"expand-icon\" [class.rotated]=\"areAllExpanded()\">unfold_more</mat-icon>\r\n <span>{{ (areAllExpanded() ? collapseAllLabelKey : expandAllLabelKey) | translate }}</span>\r\n </button>\r\n </div>\r\n\r\n <div class=\"matrix-divider\"></div>\r\n\r\n <div class=\"matrix-accordion-list\">\r\n <div\r\n *ngFor=\"let item of items; trackBy: trackByItem\"\r\n class=\"matrix-accordion-item\"\r\n [class.expanded]=\"item.expanded\">\r\n\r\n <!-- Accordion Header -->\r\n <div\r\n class=\"accordion-header\"\r\n (click)=\"toggleGroup(item)\"\r\n role=\"button\"\r\n tabindex=\"0\"\r\n [attr.aria-expanded]=\"item.expanded\"\r\n (keydown.enter)=\"toggleGroup(item)\"\r\n (keydown.space)=\"toggleGroup(item); $event.preventDefault()\">\r\n <div class=\"accordion-content\">\r\n <h4 class=\"accordion-title\">{{ item.title }}</h4>\r\n <p *ngIf=\"item.description\" class=\"accordion-description\">{{ item.description }}</p>\r\n </div>\r\n <mat-icon class=\"accordion-icon\" [class.rotated]=\"item.expanded\">keyboard_arrow_down</mat-icon>\r\n </div>\r\n\r\n <!-- Accordion Body -->\r\n <ng-container *ngIf=\"item.expanded\">\r\n <div class=\"accordion-divider\"></div>\r\n <div class=\"accordion-body\">\r\n <!-- Permission Header Row -->\r\n <div class=\"permission-header-row\">\r\n <span class=\"permission-group-label\">{{ item.title }}</span>\r\n <div *ngIf=\"!hideSelectAll\" class=\"permission-separator\"></div>\r\n <div\r\n *ngIf=\"!hideSelectAll\"\r\n class=\"select-all-container\"\r\n (click)=\"$event.stopPropagation()\">\r\n <span class=\"select-all-label\">{{ selectAllLabelKey | translate }}</span>\r\n <mat-checkbox\r\n [checked]=\"isAllPermissionsSelected(item)\"\r\n [disabled]=\"readonly\"\r\n (change)=\"toggleSelectAll(item)\"\r\n color=\"primary\"\r\n class=\"select-all-checkbox\">\r\n </mat-checkbox>\r\n </div>\r\n </div>\r\n\r\n <!-- Permissions Row -->\r\n <div class=\"permissions-row\" (click)=\"$event.stopPropagation()\">\r\n <div\r\n *ngFor=\"let permission of permissions; trackBy: trackByPermission\"\r\n class=\"permission-item\">\r\n <mat-checkbox\r\n [checked]=\"isPermissionSelected(item, permission)\"\r\n [disabled]=\"isPermissionDisabled(item, permission)\"\r\n (change)=\"togglePermission(item, permission)\"\r\n color=\"primary\">\r\n </mat-checkbox>\r\n <span class=\"permission-label\">{{ permission.labelKey | translate }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</div>", styles: [".permission-matrix-card{background:#fff;border:1px solid #f0eeee;border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:20px}.matrix-header{display:flex;align-items:center;justify-content:space-between;min-height:27px}.matrix-title{font-family:lusail-bold,sans-serif;font-weight:700;font-size:24px;line-height:1.2;color:#000;margin:0}.expand-all-btn{display:flex;align-items:center;gap:4px;background:transparent;border:none;cursor:pointer;padding:0;font-family:lusail-regular,sans-serif;font-weight:400;font-size:20px;line-height:1.2;color:#000;transition:all .2s ease}.expand-all-btn:hover{color:#0d4261}.expand-all-btn:focus-visible{outline:2px solid #0d4261;outline-offset:2px;border-radius:4px}.expand-icon{font-size:24px;width:24px;height:24px;color:#000;transition:transform .3s ease}.expand-icon.rotated{transform:rotate(180deg)}.matrix-divider{height:2px;background-color:#0d4261;width:100%}.matrix-accordion-list{display:flex;flex-direction:column;gap:0}.matrix-accordion-item{background:#fff;border:1px solid #f0eeee;border-radius:8px;padding:16px;margin-bottom:0;transition:all .2s ease}.matrix-accordion-item:not(:last-child){margin-bottom:20px}.accordion-header{display:flex;align-items:center;justify-content:space-between;cursor:pointer;width:100%}.accordion-header:focus-visible{outline:2px solid #0d4261;outline-offset:2px;border-radius:4px}.accordion-content{flex:1;display:flex;flex-direction:column;gap:0}.accordion-title{font-family:lusail-bold,sans-serif;font-weight:700;font-size:20px;line-height:1.2;color:#000;margin:0 0 4px}.accordion-description{font-family:lusail-light,sans-serif;font-weight:300;font-size:16px;line-height:1.2;color:#888;margin:0}.accordion-icon{font-size:24px;width:24px;height:24px;color:#222;transition:transform .3s ease;flex-shrink:0}.accordion-icon.rotated{transform:rotate(180deg)}.accordion-divider{margin-top:16px;height:1px;background-color:#f0eeee;width:calc(100% + 32px);margin-left:-16px;margin-right:-16px;border:none}.accordion-body{padding-top:16px;display:flex;flex-direction:column;gap:12px;margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}.permission-header-row{display:flex;align-items:center;gap:4px;width:100%}.permission-group-label{font-family:lusail-regular,sans-serif;font-weight:400;font-size:16px;line-height:1.2;color:#5c5c5c;flex-shrink:0}.permission-separator{flex:1;height:1px;background-color:#f0eeee;margin:0 4px}.select-all-container{display:flex;align-items:center;gap:4px;flex-shrink:0;flex-direction:row-reverse}.select-all-label{font-family:lusail-regular,sans-serif;font-weight:400;font-size:20px;line-height:1.2;color:#000}.select-all-checkbox{flex-shrink:0}.permissions-row{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.permission-item{display:flex;align-items:center;gap:4px;min-height:19px}.permission-label{font-family:lusail-medium,sans-serif;font-weight:500;font-size:16px;line-height:1.2;color:#222;white-space:nowrap}::ng-deep .select-all-checkbox .mdc-checkbox__background,::ng-deep .permission-item .mdc-checkbox__background{border-color:#b7b7b7!important;border-radius:4px!important}::ng-deep .select-all-checkbox.mat-mdc-checkbox-checked .mdc-checkbox__background,::ng-deep .permission-item.mat-mdc-checkbox-checked .mdc-checkbox__background{background-color:#0d4261!important;border-color:#0d4261!important}::ng-deep .mdc-checkbox__checkmark{color:#fff!important}::ng-deep .mdc-checkbox{display:inline-block;position:relative;flex:0 0 18px;box-sizing:content-box;width:18px;height:28px!important;line-height:0;white-space:nowrap;cursor:pointer;vertical-align:bottom;padding:calc((var(--mdc-checkbox-state-layer-size) - 25px) / 2)!important;margin:calc((var(--mdc-checkbox-state-layer-size) - var(--mdc-checkbox-state-layer-size)) / 2)}:host-context([dir=rtl]) .matrix-header{direction:rtl}:host-context([dir=rtl]) .accordion-header{direction:rtl}:host-context([dir=rtl]) .select-all-container{flex-direction:row}\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"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i3.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
|
|
101
160
|
}
|
|
102
161
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PermissionMatrixComponent, decorators: [{
|
|
103
162
|
type: Component,
|
|
@@ -106,7 +165,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
106
165
|
MatIconModule,
|
|
107
166
|
MatCheckboxModule,
|
|
108
167
|
TranslateModule
|
|
109
|
-
], template: "<div class=\"permission-matrix-card\">\r\n <div class=\"matrix-header\">\r\n <h3 class=\"matrix-title\">{{ titleKey | translate }}</h3>\r\n <button\r\n class=\"expand-all-btn\"\r\n type=\"button\"\r\n (click)=\"expandAllGroups()\"\r\n [attr.aria-label]=\"(areAllExpanded() ? collapseAllLabelKey : expandAllLabelKey) | translate\">\r\n <mat-icon class=\"expand-icon\" [class.rotated]=\"areAllExpanded()\">unfold_more</mat-icon>\r\n <span>{{ (areAllExpanded() ? collapseAllLabelKey : expandAllLabelKey) | translate }}</span>\r\n </button>\r\n </div>\r\n\r\n <div class=\"matrix-divider\"></div>\r\n\r\n <div class=\"matrix-accordion-list\">\r\n <div\r\n *ngFor=\"let item of items; trackBy: trackByItem\"\r\n class=\"matrix-accordion-item\"\r\n [class.expanded]=\"item.expanded\">\r\n\r\n <!-- Accordion Header -->\r\n <div\r\n class=\"accordion-header\"\r\n (click)=\"toggleGroup(item)\"\r\n role=\"button\"\r\n tabindex=\"0\"\r\n [attr.aria-expanded]=\"item.expanded\"\r\n (keydown.enter)=\"toggleGroup(item)\"\r\n (keydown.space)=\"toggleGroup(item); $event.preventDefault()\">\r\n <div class=\"accordion-content\">\r\n <h4 class=\"accordion-title\">{{ item.title }}</h4>\r\n <p *ngIf=\"item.description\" class=\"accordion-description\">{{ item.description }}</p>\r\n </div>\r\n <mat-icon class=\"accordion-icon\" [class.rotated]=\"item.expanded\">keyboard_arrow_down</mat-icon>\r\n </div>\r\n\r\n <!-- Accordion Body -->\r\n <ng-container *ngIf=\"item.expanded\">\r\n <div class=\"accordion-divider\"></div>\r\n <div class=\"accordion-body\">\r\n <!-- Permission Header Row -->\r\n <div class=\"permission-header-row\">\r\n <span class=\"permission-group-label\">{{ item.title }}</span>\r\n <div class=\"permission-separator\"></div>\r\n <div
|
|
168
|
+
], template: "<div class=\"permission-matrix-card\">\r\n <div class=\"matrix-header\">\r\n <h3 class=\"matrix-title\">{{ titleKey | translate }}</h3>\r\n <button\r\n class=\"expand-all-btn\"\r\n type=\"button\"\r\n (click)=\"expandAllGroups()\"\r\n [attr.aria-label]=\"(areAllExpanded() ? collapseAllLabelKey : expandAllLabelKey) | translate\">\r\n <mat-icon class=\"expand-icon\" [class.rotated]=\"areAllExpanded()\">unfold_more</mat-icon>\r\n <span>{{ (areAllExpanded() ? collapseAllLabelKey : expandAllLabelKey) | translate }}</span>\r\n </button>\r\n </div>\r\n\r\n <div class=\"matrix-divider\"></div>\r\n\r\n <div class=\"matrix-accordion-list\">\r\n <div\r\n *ngFor=\"let item of items; trackBy: trackByItem\"\r\n class=\"matrix-accordion-item\"\r\n [class.expanded]=\"item.expanded\">\r\n\r\n <!-- Accordion Header -->\r\n <div\r\n class=\"accordion-header\"\r\n (click)=\"toggleGroup(item)\"\r\n role=\"button\"\r\n tabindex=\"0\"\r\n [attr.aria-expanded]=\"item.expanded\"\r\n (keydown.enter)=\"toggleGroup(item)\"\r\n (keydown.space)=\"toggleGroup(item); $event.preventDefault()\">\r\n <div class=\"accordion-content\">\r\n <h4 class=\"accordion-title\">{{ item.title }}</h4>\r\n <p *ngIf=\"item.description\" class=\"accordion-description\">{{ item.description }}</p>\r\n </div>\r\n <mat-icon class=\"accordion-icon\" [class.rotated]=\"item.expanded\">keyboard_arrow_down</mat-icon>\r\n </div>\r\n\r\n <!-- Accordion Body -->\r\n <ng-container *ngIf=\"item.expanded\">\r\n <div class=\"accordion-divider\"></div>\r\n <div class=\"accordion-body\">\r\n <!-- Permission Header Row -->\r\n <div class=\"permission-header-row\">\r\n <span class=\"permission-group-label\">{{ item.title }}</span>\r\n <div *ngIf=\"!hideSelectAll\" class=\"permission-separator\"></div>\r\n <div\r\n *ngIf=\"!hideSelectAll\"\r\n class=\"select-all-container\"\r\n (click)=\"$event.stopPropagation()\">\r\n <span class=\"select-all-label\">{{ selectAllLabelKey | translate }}</span>\r\n <mat-checkbox\r\n [checked]=\"isAllPermissionsSelected(item)\"\r\n [disabled]=\"readonly\"\r\n (change)=\"toggleSelectAll(item)\"\r\n color=\"primary\"\r\n class=\"select-all-checkbox\">\r\n </mat-checkbox>\r\n </div>\r\n </div>\r\n\r\n <!-- Permissions Row -->\r\n <div class=\"permissions-row\" (click)=\"$event.stopPropagation()\">\r\n <div\r\n *ngFor=\"let permission of permissions; trackBy: trackByPermission\"\r\n class=\"permission-item\">\r\n <mat-checkbox\r\n [checked]=\"isPermissionSelected(item, permission)\"\r\n [disabled]=\"isPermissionDisabled(item, permission)\"\r\n (change)=\"togglePermission(item, permission)\"\r\n color=\"primary\">\r\n </mat-checkbox>\r\n <span class=\"permission-label\">{{ permission.labelKey | translate }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</div>", styles: [".permission-matrix-card{background:#fff;border:1px solid #f0eeee;border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:20px}.matrix-header{display:flex;align-items:center;justify-content:space-between;min-height:27px}.matrix-title{font-family:lusail-bold,sans-serif;font-weight:700;font-size:24px;line-height:1.2;color:#000;margin:0}.expand-all-btn{display:flex;align-items:center;gap:4px;background:transparent;border:none;cursor:pointer;padding:0;font-family:lusail-regular,sans-serif;font-weight:400;font-size:20px;line-height:1.2;color:#000;transition:all .2s ease}.expand-all-btn:hover{color:#0d4261}.expand-all-btn:focus-visible{outline:2px solid #0d4261;outline-offset:2px;border-radius:4px}.expand-icon{font-size:24px;width:24px;height:24px;color:#000;transition:transform .3s ease}.expand-icon.rotated{transform:rotate(180deg)}.matrix-divider{height:2px;background-color:#0d4261;width:100%}.matrix-accordion-list{display:flex;flex-direction:column;gap:0}.matrix-accordion-item{background:#fff;border:1px solid #f0eeee;border-radius:8px;padding:16px;margin-bottom:0;transition:all .2s ease}.matrix-accordion-item:not(:last-child){margin-bottom:20px}.accordion-header{display:flex;align-items:center;justify-content:space-between;cursor:pointer;width:100%}.accordion-header:focus-visible{outline:2px solid #0d4261;outline-offset:2px;border-radius:4px}.accordion-content{flex:1;display:flex;flex-direction:column;gap:0}.accordion-title{font-family:lusail-bold,sans-serif;font-weight:700;font-size:20px;line-height:1.2;color:#000;margin:0 0 4px}.accordion-description{font-family:lusail-light,sans-serif;font-weight:300;font-size:16px;line-height:1.2;color:#888;margin:0}.accordion-icon{font-size:24px;width:24px;height:24px;color:#222;transition:transform .3s ease;flex-shrink:0}.accordion-icon.rotated{transform:rotate(180deg)}.accordion-divider{margin-top:16px;height:1px;background-color:#f0eeee;width:calc(100% + 32px);margin-left:-16px;margin-right:-16px;border:none}.accordion-body{padding-top:16px;display:flex;flex-direction:column;gap:12px;margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}.permission-header-row{display:flex;align-items:center;gap:4px;width:100%}.permission-group-label{font-family:lusail-regular,sans-serif;font-weight:400;font-size:16px;line-height:1.2;color:#5c5c5c;flex-shrink:0}.permission-separator{flex:1;height:1px;background-color:#f0eeee;margin:0 4px}.select-all-container{display:flex;align-items:center;gap:4px;flex-shrink:0;flex-direction:row-reverse}.select-all-label{font-family:lusail-regular,sans-serif;font-weight:400;font-size:20px;line-height:1.2;color:#000}.select-all-checkbox{flex-shrink:0}.permissions-row{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.permission-item{display:flex;align-items:center;gap:4px;min-height:19px}.permission-label{font-family:lusail-medium,sans-serif;font-weight:500;font-size:16px;line-height:1.2;color:#222;white-space:nowrap}::ng-deep .select-all-checkbox .mdc-checkbox__background,::ng-deep .permission-item .mdc-checkbox__background{border-color:#b7b7b7!important;border-radius:4px!important}::ng-deep .select-all-checkbox.mat-mdc-checkbox-checked .mdc-checkbox__background,::ng-deep .permission-item.mat-mdc-checkbox-checked .mdc-checkbox__background{background-color:#0d4261!important;border-color:#0d4261!important}::ng-deep .mdc-checkbox__checkmark{color:#fff!important}::ng-deep .mdc-checkbox{display:inline-block;position:relative;flex:0 0 18px;box-sizing:content-box;width:18px;height:28px!important;line-height:0;white-space:nowrap;cursor:pointer;vertical-align:bottom;padding:calc((var(--mdc-checkbox-state-layer-size) - 25px) / 2)!important;margin:calc((var(--mdc-checkbox-state-layer-size) - var(--mdc-checkbox-state-layer-size)) / 2)}:host-context([dir=rtl]) .matrix-header{direction:rtl}:host-context([dir=rtl]) .accordion-header{direction:rtl}:host-context([dir=rtl]) .select-all-container{flex-direction:row}\n"] }]
|
|
110
169
|
}], propDecorators: { items: [{
|
|
111
170
|
type: Input
|
|
112
171
|
}], permissions: [{
|
|
@@ -121,9 +180,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
121
180
|
type: Input
|
|
122
181
|
}], readonly: [{
|
|
123
182
|
type: Input
|
|
183
|
+
}], hideSelectAll: [{
|
|
184
|
+
type: Input
|
|
185
|
+
}], autoLockView: [{
|
|
186
|
+
type: Input
|
|
124
187
|
}], itemsChange: [{
|
|
125
188
|
type: Output
|
|
126
189
|
}], permissionChange: [{
|
|
127
190
|
type: Output
|
|
128
191
|
}] } });
|
|
129
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi1tYXRyaXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW52b2ljZXEvdWktbGliL3NyYy9saWIvY29tcG9uZW50cy9wZXJtaXNzaW9uLW1hdHJpeC9wZXJtaXNzaW9uLW1hdHJpeC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnZvaWNlcS91aS1saWIvc3JjL2xpYi9jb21wb25lbnRzL3Blcm1pc3Npb24tbWF0cml4L3Blcm1pc3Npb24tbWF0cml4LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7OztBQWV0RCxNQUFNLE9BQU8seUJBQXlCO0lBWnRDO1FBY1csVUFBSyxHQUEyQixFQUFFLENBQUM7UUFDbkMsZ0JBQVcsR0FBdUI7WUFDekMsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUU7WUFDeEMsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUU7WUFDeEMsRUFBRSxHQUFHLEVBQUUsc0JBQXNCLEVBQUUsUUFBUSxFQUFFLDZCQUE2QixFQUFFLFlBQVksRUFBRSxDQUFDLG9CQUFvQixFQUFFLHFCQUFxQixDQUFDLEVBQUU7U0FDdEksQ0FBQztRQUNPLGFBQVEsR0FBVyxvQkFBb0IsQ0FBQztR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LFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsZUFBZTtxQkFDaEI7OEJBTVEsS0FBSztzQkFBYixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBS0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNJLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csZ0JBQWdCO3NCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcclxuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IFBlcm1pc3Npb25Db25maWcsIFBlcm1pc3Npb25NYXRyaXhJdGVtLCBQZXJtaXNzaW9uQ2hhbmdlRXZlbnQgfSBmcm9tICcuLi8uLi9iYXNlLW1vZGVsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXBlcm1pc3Npb24tbWF0cml4JyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBNYXRDaGVja2JveE1vZHVsZSxcclxuICAgIFRyYW5zbGF0ZU1vZHVsZVxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3Blcm1pc3Npb24tbWF0cml4LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vcGVybWlzc2lvbi1tYXRyaXguY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQZXJtaXNzaW9uTWF0cml4Q29tcG9uZW50IHtcclxuXHJcbiAgQElucHV0KCkgaXRlbXM6IFBlcm1pc3Npb25NYXRyaXhJdGVtW10gPSBbXTtcclxuICBASW5wdXQoKSBwZXJtaXNzaW9uczogUGVybWlzc2lvbkNvbmZpZ1tdID0gW1xyXG4gICAgeyBrZXk6ICd2aWV3JywgbGFiZWxLZXk6ICdHUk9VUFMudmlldycgfSxcclxuICAgIHsga2V5OiAnZWRpdCcsIGxhYmVsS2V5OiAnR1JPVVBTLmVkaXQnIH0sXHJcbiAgICB7IGtleTogJ2NvbXBsZXRlQW5kVGVybWluYXRlJywgbGFiZWxLZXk6ICdHUk9VUFMuY29tcGxldGVBbmRUZXJtaW5hdGUnLCBjb21iaW5lZEtleXM6IFsnY29tcGxldGVQZXJtaXNzaW9uJywgJ3Rlcm1pbmF0ZVBlcm1pc3Npb24nXSB9XHJcbiAgXTtcclxuICBASW5wdXQoKSB0aXRsZUtleTogc3RyaW5nID0gJ0dST1VQUy5ncm91cE1hdHJpeCc7XHJcbiAgQElucHV0KCkgc2VsZWN0QWxsTGFiZWxLZXk6IHN0cmluZyA9ICdHUk9VUFMuc2VsZWN0QWxsJztcclxuICBASW5wdXQoKSBleHBhbmRBbGxMYWJlbEtleTogc3RyaW5nID0gJ0dST1VQUy5leHBhbmRBbGwnO1xyXG4gIEBJbnB1dCgpIGNvbGxhcHNlQWxsTGFiZWxLZXk6IHN0cmluZyA9ICdHUk9VUFMuY29sbGFwc2VBbGwnO1xyXG4gIEBJbnB1dCgpIHJlYWRvbmx5OiBib29sZWFuID0gZmFsc2U7XHJcbiAgQE91dHB1dCgpIGl0ZW1zQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxQZXJtaXNzaW9uTWF0cml4SXRlbVtdPigpO1xyXG4gIEBPdXRwdXQoKSBwZXJtaXNzaW9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxQZXJtaXNzaW9uQ2hhbmdlRXZlbnQ+KCk7XHJcblxyXG4gIGFyZUFsbEV4cGFuZGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaXRlbXMubGVuZ3RoID4gMCAmJiB0aGlzLml0ZW1zLmV2ZXJ5KGl0ZW0gPT4gaXRlbS5leHBhbmRlZCk7XHJcbiAgfVxyXG5cclxuICBleHBhbmRBbGxHcm91cHMoKTogdm9pZCB7XHJcbiAgICBjb25zdCBleHBhbmQgPSAhdGhpcy5hcmVBbGxFeHBhbmRlZCgpO1xyXG4gICAgdGhpcy5pdGVtcy5mb3JFYWNoKGl0ZW0gPT4gaXRlbS5leHBhbmRlZCA9IGV4cGFuZCk7XHJcbiAgICB0aGlzLmVtaXRJdGVtc0NoYW5nZSgpO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlR3JvdXAoaXRlbTogUGVybWlzc2lvbk1hdHJpeEl0ZW0pOiB2b2lkIHtcclxuICAgIGl0ZW0uZXhwYW5kZWQgPSAhaXRlbS5leHBhbmRlZDtcclxuICAgIHRoaXMuZW1pdEl0ZW1zQ2hhbmdlKCk7XHJcbiAgfVxyXG5cclxuICBpc0FsbFBlcm1pc3Npb25zU2VsZWN0ZWQoaXRlbTogUGVybWlzc2lvbk1hdHJpeEl0ZW0pOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnBlcm1pc3Npb25zLmV2ZXJ5KHBlcm0gPT4ge1xyXG4gICAgICBpZiAocGVybS5jb21iaW5lZEtleXMpIHtcclxuICAgICAgICByZXR1cm4gcGVybS5jb21iaW5lZEtleXMuZXZlcnkoa2V5ID0+IGl0ZW0ucGVybWlzc2lvbnNba2V5XSk7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIGl0ZW0ucGVybWlzc2lvbnNbcGVybS5rZXldO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICB0b2dnbGVTZWxlY3RBbGwoaXRlbTogUGVybWlzc2lvbk1hdHJpeEl0ZW0pOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnJlYWRvbmx5KSByZXR1cm47XHJcblxyXG4gICAgY29uc3QgYWxsU2VsZWN0ZWQgPSB0aGlzLmlzQWxsUGVybWlzc2lvbnNTZWxlY3RlZChpdGVtKTtcclxuICAgIGNvbnN0IG5ld1ZhbHVlID0gIWFsbFNlbGVjdGVkO1xyXG5cclxuICAgIHRoaXMucGVybWlzc2lvbnMuZm9yRWFjaChwZXJtID0+IHtcclxuICAgICAgaWYgKHBlcm0uY29tYmluZWRLZXlzKSB7XHJcbiAgICAgICAgcGVybS5jb21iaW5lZEtleXMuZm9yRWFjaChrZXkgPT4ge1xyXG4gICAgICAgICAgaXRlbS5wZXJtaXNzaW9uc1trZXldID0gbmV3VmFsdWU7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaXRlbS5wZXJtaXNzaW9uc1twZXJtLmtleV0gPSBuZXdWYWx1ZTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5lbWl0SXRlbXNDaGFuZ2UoKTtcclxuICB9XHJcblxyXG4gIGlzUGVybWlzc2lvblNlbGVjdGVkKGl0ZW06IFBlcm1pc3Npb25NYXRyaXhJdGVtLCBwZXJtaXNzaW9uOiBQZXJtaXNzaW9uQ29uZmlnKTogYm9vbGVhbiB7XHJcbiAgICBpZiAocGVybWlzc2lvbi5jb21iaW5lZEtleXMpIHtcclxuICAgICAgcmV0dXJuIHBlcm1pc3Npb24uY29tYmluZWRLZXlzLmV2ZXJ5KGtleSA9PiBpdGVtLnBlcm1pc3Npb25zW2tleV0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGl0ZW0ucGVybWlzc2lvbnNbcGVybWlzc2lvbi5rZXldO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlUGVybWlzc2lvbihpdGVtOiBQZXJtaXNzaW9uTWF0cml4SXRlbSwgcGVybWlzc2lvbjogUGVybWlzc2lvbkNvbmZpZyk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMucmVhZG9ubHkpIHJldHVybjtcclxuXHJcbiAgICBjb25zdCBjdXJyZW50VmFsdWUgPSB0aGlzLmlzUGVybWlzc2lvblNlbGVjdGVkKGl0ZW0sIHBlcm1pc3Npb24pO1xyXG4gICAgY29uc3QgbmV3VmFsdWUgPSAhY3VycmVudFZhbHVlO1xyXG5cclxuICAgIGlmIChwZXJtaXNzaW9uLmNvbWJpbmVkS2V5cykge1xyXG4gICAgICBwZXJtaXNzaW9uLmNvbWJpbmVkS2V5cy5mb3JFYWNoKGtleSA9PiB7XHJcbiAgICAgICAgaXRlbS5wZXJtaXNzaW9uc1trZXldID0gbmV3VmFsdWU7XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaXRlbS5wZXJtaXNzaW9uc1twZXJtaXNzaW9uLmtleV0gPSBuZXdWYWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnBlcm1pc3Npb25DaGFuZ2UuZW1pdCh7XHJcbiAgICAgIGl0ZW0sXHJcbiAgICAgIHBlcm1pc3Npb25LZXk6IHBlcm1pc3Npb24ua2V5LFxyXG4gICAgICBuZXdWYWx1ZVxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5lbWl0SXRlbXNDaGFuZ2UoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZW1pdEl0ZW1zQ2hhbmdlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5pdGVtc0NoYW5nZS5lbWl0KFsuLi50aGlzLml0ZW1zXSk7XHJcbiAgfVxyXG5cclxuICB0cmFja0J5SXRlbShpbmRleDogbnVtYmVyLCBpdGVtOiBQZXJtaXNzaW9uTWF0cml4SXRlbSk6IHN0cmluZyB8IG51bWJlciB7XHJcbiAgICByZXR1cm4gaXRlbS5pZCA/PyBpbmRleDtcclxuICB9XHJcblxyXG4gIHRyYWNrQnlQZXJtaXNzaW9uKGluZGV4OiBudW1iZXIsIHBlcm1pc3Npb246IFBlcm1pc3Npb25Db25maWcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHBlcm1pc3Npb24ua2V5O1xyXG4gIH1cclxufSIsIjxkaXYgY2xhc3M9XCJwZXJtaXNzaW9uLW1hdHJpeC1jYXJkXCI+XHJcbiAgPGRpdiBjbGFzcz1cIm1hdHJpeC1oZWFkZXJcIj5cclxuICAgIDxoMyBjbGFzcz1cIm1hdHJpeC10aXRsZVwiPnt7IHRpdGxlS2V5IHwgdHJhbnNsYXRlIH19PC9oMz5cclxuICAgIDxidXR0b25cclxuICAgICAgY2xhc3M9XCJleHBhbmQtYWxsLWJ0blwiXHJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAoY2xpY2spPVwiZXhwYW5kQWxsR3JvdXBzKClcIlxyXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIihhcmVBbGxFeHBhbmRlZCgpID8gY29sbGFwc2VBbGxMYWJlbEtleSA6IGV4cGFuZEFsbExhYmVsS2V5KSB8IHRyYW5zbGF0ZVwiPlxyXG4gICAgICA8bWF0LWljb24gY2xhc3M9XCJleHBhbmQtaWNvblwiIFtjbGFzcy5yb3RhdGVkXT1cImFyZUFsbEV4cGFuZGVkKClcIj51bmZvbGRfbW9yZTwvbWF0LWljb24+XHJcbiAgICAgIDxzcGFuPnt7IChhcmVBbGxFeHBhbmRlZCgpID8gY29sbGFwc2VBbGxMYWJlbEtleSA6IGV4cGFuZEFsbExhYmVsS2V5KSB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2IGNsYXNzPVwibWF0cml4LWRpdmlkZXJcIj48L2Rpdj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cIm1hdHJpeC1hY2NvcmRpb24tbGlzdFwiPlxyXG4gICAgPGRpdlxyXG4gICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtczsgdHJhY2tCeTogdHJhY2tCeUl0ZW1cIlxyXG4gICAgICBjbGFzcz1cIm1hdHJpeC1hY2NvcmRpb24taXRlbVwiXHJcbiAgICAgIFtjbGFzcy5leHBhbmRlZF09XCJpdGVtLmV4cGFuZGVkXCI+XHJcblxyXG4gICAgICA8IS0tIEFjY29yZGlvbiBIZWFkZXIgLS0+XHJcbiAgICAgIDxkaXZcclxuICAgICAgICBjbGFzcz1cImFjY29yZGlvbi1oZWFkZXJcIlxyXG4gICAgICAgIChjbGljayk9XCJ0b2dnbGVHcm91cChpdGVtKVwiXHJcbiAgICAgICAgcm9sZT1cImJ1dHRvblwiXHJcbiAgICAgICAgdGFiaW5kZXg9XCIwXCJcclxuICAgICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cIml0ZW0uZXhwYW5kZWRcIlxyXG4gICAgICAgIChrZXlkb3duLmVudGVyKT1cInRvZ2dsZUdyb3VwKGl0ZW0pXCJcclxuICAgICAgICAoa2V5ZG93bi5zcGFjZSk9XCJ0b2dnbGVHcm91cChpdGVtKTsgJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWNjb3JkaW9uLWNvbnRlbnRcIj5cclxuICAgICAgICAgIDxoNCBjbGFzcz1cImFjY29yZGlvbi10aXRsZVwiPnt7IGl0ZW0udGl0bGUgfX08L2g0PlxyXG4gICAgICAgICAgPHAgKm5nSWY9XCJpdGVtLmRlc2NyaXB0aW9uXCIgY2xhc3M9XCJhY2NvcmRpb24tZGVzY3JpcHRpb25cIj57eyBpdGVtLmRlc2NyaXB0aW9uIH19PC9wPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImFjY29yZGlvbi1pY29uXCIgW2NsYXNzLnJvdGF0ZWRdPVwiaXRlbS5leHBhbmRlZFwiPmtleWJvYXJkX2Fycm93X2Rvd248L21hdC1pY29uPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwhLS0gQWNjb3JkaW9uIEJvZHkgLS0+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtLmV4cGFuZGVkXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFjY29yZGlvbi1kaXZpZGVyXCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFjY29yZGlvbi1ib2R5XCI+XHJcbiAgICAgICAgICA8IS0tIFBlcm1pc3Npb24gSGVhZGVyIFJvdyAtLT5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwZXJtaXNzaW9uLWhlYWRlci1yb3dcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwZXJtaXNzaW9uLWdyb3VwLWxhYmVsXCI+e3sgaXRlbS50aXRsZSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBlcm1pc3Npb24tc2VwYXJhdG9yXCI+PC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3QtYWxsLWNvbnRhaW5lclwiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNlbGVjdC1hbGwtbGFiZWxcIj57eyBzZWxlY3RBbGxMYWJlbEtleSB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICA8bWF0LWNoZWNrYm94XHJcbiAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJpc0FsbFBlcm1pc3Npb25zU2VsZWN0ZWQoaXRlbSlcIlxyXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInJlYWRvbmx5XCJcclxuICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwidG9nZ2xlU2VsZWN0QWxsKGl0ZW0pXCJcclxuICAgICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInNlbGVjdC1hbGwtY2hlY2tib3hcIj5cclxuICAgICAgICAgICAgICA8L21hdC1jaGVja2JveD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8IS0tIFBlcm1pc3Npb25zIFJvdyAtLT5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwZXJtaXNzaW9ucy1yb3dcIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgcGVybWlzc2lvbiBvZiBwZXJtaXNzaW9uczsgdHJhY2tCeTogdHJhY2tCeVBlcm1pc3Npb25cIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwicGVybWlzc2lvbi1pdGVtXCI+XHJcbiAgICAgICAgICAgICAgPG1hdC1jaGVja2JveFxyXG4gICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwiaXNQZXJtaXNzaW9uU2VsZWN0ZWQoaXRlbSwgcGVybWlzc2lvbilcIlxyXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInJlYWRvbmx5XCJcclxuICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwidG9nZ2xlUGVybWlzc2lvbihpdGVtLCBwZXJtaXNzaW9uKVwiXHJcbiAgICAgICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIj5cclxuICAgICAgICAgICAgICA8L21hdC1jaGVja2JveD5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBlcm1pc3Npb24tbGFiZWxcIj57eyBwZXJtaXNzaW9uLmxhYmVsS2V5IHwgdHJhbnNsYXRlIH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj4iXX0=
|
|
192
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi1tYXRyaXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW52b2ljZXEvdWktbGliL3NyYy9saWIvY29tcG9uZW50cy9wZXJtaXNzaW9uLW1hdHJpeC9wZXJtaXNzaW9uLW1hdHJpeC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnZvaWNlcS91aS1saWIvc3JjL2xpYi9jb21wb25lbnRzL3Blcm1pc3Npb24tbWF0cml4L3Blcm1pc3Npb24tbWF0cml4LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7OztBQWV0RCxNQUFNLE9BQU8seUJBQXlCO0lBWnRDO1FBY1csVUFBSyxHQUEyQixFQUFFLENBQUM7UUFDbkMsZ0JBQVcsR0FBdUI7WUFDekMsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUU7WUFDeEMsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUU7WUFDeEMsRUFBRSxHQUFHLEVBQUUsc0JBQXNCLEVBQUUsUUFBUSxFQUFFLDZCQUE2QixFQUFFLFlBQVksRUFBRSxDQUFDLG9CQUFvQixFQUFFLHFCQUFxQixDQUFDLEVBQUU7U0FDdEksQ0FBQztRQUNPLGFBQVEsR0FBVyxvQkFBb0IsQ0FBQztR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QjtRQUMzRCxPQUFPLFVBQVUsQ0FBQyxHQUFHLENBQUM7SUFDeEIsQ0FBQzsrR0FyS1UseUJBQXlCO21HQUF6Qix5QkFBeUIsOGJDbkJ0QywrMEdBOEVNLHU3SERuRUYsWUFBWSwrUEFDWixhQUFhLG1MQUNiLGlCQUFpQiw2V0FDakIsZUFBZTs7NEZBS04seUJBQXlCO2tCQVpyQyxTQUFTOytCQUNFLHVCQUF1QixjQUNyQixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsZUFBZTtxQkFDaEI7OEJBTVEsS0FBSztzQkFBYixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBS0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLGdCQUFnQjtzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBQZXJtaXNzaW9uQ29uZmlnLCBQZXJtaXNzaW9uTWF0cml4SXRlbSwgUGVybWlzc2lvbkNoYW5nZUV2ZW50IH0gZnJvbSAnLi4vLi4vYmFzZS1tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1wZXJtaXNzaW9uLW1hdHJpeCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgTWF0Q2hlY2tib3hNb2R1bGUsXHJcbiAgICBUcmFuc2xhdGVNb2R1bGVcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wZXJtaXNzaW9uLW1hdHJpeC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3Blcm1pc3Npb24tbWF0cml4LmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUGVybWlzc2lvbk1hdHJpeENvbXBvbmVudCB7XHJcblxyXG4gIEBJbnB1dCgpIGl0ZW1zOiBQZXJtaXNzaW9uTWF0cml4SXRlbVtdID0gW107XHJcbiAgQElucHV0KCkgcGVybWlzc2lvbnM6IFBlcm1pc3Npb25Db25maWdbXSA9IFtcclxuICAgIHsga2V5OiAndmlldycsIGxhYmVsS2V5OiAnR1JPVVBTLnZpZXcnIH0sXHJcbiAgICB7IGtleTogJ2VkaXQnLCBsYWJlbEtleTogJ0dST1VQUy5lZGl0JyB9LFxyXG4gICAgeyBrZXk6ICdjb21wbGV0ZUFuZFRlcm1pbmF0ZScsIGxhYmVsS2V5OiAnR1JPVVBTLmNvbXBsZXRlQW5kVGVybWluYXRlJywgY29tYmluZWRLZXlzOiBbJ2NvbXBsZXRlUGVybWlzc2lvbicsICd0ZXJtaW5hdGVQZXJtaXNzaW9uJ10gfVxyXG4gIF07XHJcbiAgQElucHV0KCkgdGl0bGVLZXk6IHN0cmluZyA9ICdHUk9VUFMuZ3JvdXBNYXRyaXgnO1xyXG4gIEBJbnB1dCgpIHNlbGVjdEFsbExhYmVsS2V5OiBzdHJpbmcgPSAnR1JPVVBTLnNlbGVjdEFsbCc7XHJcbiAgQElucHV0KCkgZXhwYW5kQWxsTGFiZWxLZXk6IHN0cmluZyA9ICdHUk9VUFMuZXhwYW5kQWxsJztcclxuICBASW5wdXQoKSBjb2xsYXBzZUFsbExhYmVsS2V5OiBzdHJpbmcgPSAnR1JPVVBTLmNvbGxhcHNlQWxsJztcclxuICBASW5wdXQoKSByZWFkb25seTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGhpZGVTZWxlY3RBbGw6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBhdXRvTG9ja1ZpZXc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBAT3V0cHV0KCkgaXRlbXNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFBlcm1pc3Npb25NYXRyaXhJdGVtW10+KCk7XHJcbiAgQE91dHB1dCgpIHBlcm1pc3Npb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFBlcm1pc3Npb25DaGFuZ2VFdmVudD4oKTtcclxuXHJcbiAgYXJlQWxsRXhwYW5kZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5sZW5ndGggPiAwICYmIHRoaXMuaXRlbXMuZXZlcnkoaXRlbSA9PiBpdGVtLmV4cGFuZGVkKTtcclxuICB9XHJcblxyXG4gIGV4cGFuZEFsbEdyb3VwcygpOiB2b2lkIHtcclxuICAgIGNvbnN0IGV4cGFuZCA9ICF0aGlzLmFyZUFsbEV4cGFuZGVkKCk7XHJcbiAgICB0aGlzLml0ZW1zLmZvckVhY2goaXRlbSA9PiBpdGVtLmV4cGFuZGVkID0gZXhwYW5kKTtcclxuICAgIHRoaXMuZW1pdEl0ZW1zQ2hhbmdlKCk7XHJcbiAgfVxyXG5cclxuICB0b2dnbGVHcm91cChpdGVtOiBQZXJtaXNzaW9uTWF0cml4SXRlbSk6IHZvaWQge1xyXG4gICAgaXRlbS5leHBhbmRlZCA9ICFpdGVtLmV4cGFuZGVkO1xyXG4gICAgdGhpcy5lbWl0SXRlbXNDaGFuZ2UoKTtcclxuICB9XHJcblxyXG4gIGlzQWxsUGVybWlzc2lvbnNTZWxlY3RlZChpdGVtOiBQZXJtaXNzaW9uTWF0cml4SXRlbSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMucGVybWlzc2lvbnMuZXZlcnkocGVybSA9PiB7XHJcbiAgICAgIGlmIChwZXJtLmNvbWJpbmVkS2V5cykge1xyXG4gICAgICAgIHJldHVybiBwZXJtLmNvbWJpbmVkS2V5cy5ldmVyeShrZXkgPT4gaXRlbS5wZXJtaXNzaW9uc1trZXldKTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gaXRlbS5wZXJtaXNzaW9uc1twZXJtLmtleV07XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHRvZ2dsZVNlbGVjdEFsbChpdGVtOiBQZXJtaXNzaW9uTWF0cml4SXRlbSk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMucmVhZG9ubHkpIHJldHVybjtcclxuXHJcbiAgICBjb25zdCBhbGxTZWxlY3RlZCA9IHRoaXMuaXNBbGxQZXJtaXNzaW9uc1NlbGVjdGVkKGl0ZW0pO1xyXG4gICAgY29uc3QgbmV3VmFsdWUgPSAhYWxsU2VsZWN0ZWQ7XHJcblxyXG4gICAgdGhpcy5wZXJtaXNzaW9ucy5mb3JFYWNoKHBlcm0gPT4ge1xyXG4gICAgICBpZiAodGhpcy5hdXRvTG9ja1ZpZXcgJiYgIW5ld1ZhbHVlICYmIHBlcm0ua2V5ID09PSAndmlldycpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHBlcm0uY29tYmluZWRLZXlzKSB7XHJcbiAgICAgICAgcGVybS5jb21iaW5lZEtleXMuZm9yRWFjaChrZXkgPT4ge1xyXG4gICAgICAgICAgaXRlbS5wZXJtaXNzaW9uc1trZXldID0gbmV3VmFsdWU7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaXRlbS5wZXJtaXNzaW9uc1twZXJtLmtleV0gPSBuZXdWYWx1ZTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKHRoaXMuYXV0b0xvY2tWaWV3KSB7XHJcbiAgICAgIHRoaXMuc3luY1ZpZXdQZXJtaXNzaW9uKGl0ZW0pO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZW1pdEl0ZW1zQ2hhbmdlKCk7XHJcbiAgfVxyXG5cclxuICBpc1Blcm1pc3Npb25TZWxlY3RlZChpdGVtOiBQZXJtaXNzaW9uTWF0cml4SXRlbSwgcGVybWlzc2lvbjogUGVybWlzc2lvbkNvbmZpZyk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKHBlcm1pc3Npb24uY29tYmluZWRLZXlzKSB7XHJcbiAgICAgIHJldHVybiBwZXJtaXNzaW9uLmNvbWJpbmVkS2V5cy5ldmVyeShrZXkgPT4gaXRlbS5wZXJtaXNzaW9uc1trZXldKTtcclxuICAgIH1cclxuICAgIHJldHVybiBpdGVtLnBlcm1pc3Npb25zW3Blcm1pc3Npb24ua2V5XTtcclxuICB9XHJcblxyXG4gIGlzUGVybWlzc2lvbkRpc2FibGVkKGl0ZW06IFBlcm1pc3Npb25NYXRyaXhJdGVtLCBwZXJtaXNzaW9uOiBQZXJtaXNzaW9uQ29uZmlnKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5yZWFkb25seTtcclxuICB9XHJcblxyXG4gIHRvZ2dsZVBlcm1pc3Npb24oaXRlbTogUGVybWlzc2lvbk1hdHJpeEl0ZW0sIHBlcm1pc3Npb246IFBlcm1pc3Npb25Db25maWcpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmlzUGVybWlzc2lvbkRpc2FibGVkKGl0ZW0sIHBlcm1pc3Npb24pKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBjdXJyZW50VmFsdWUgPSB0aGlzLmlzUGVybWlzc2lvblNlbGVjdGVkKGl0ZW0sIHBlcm1pc3Npb24pO1xyXG4gICAgY29uc3QgbmV3VmFsdWUgPSAhY3VycmVudFZhbHVlO1xyXG5cclxuICAgIGlmICh0aGlzLmF1dG9Mb2NrVmlldyAmJiBwZXJtaXNzaW9uLmtleSA9PT0gJ3ZpZXcnICYmICFuZXdWYWx1ZSkge1xyXG4gICAgICB0aGlzLmNsZWFyQWxsUGVybWlzc2lvbnMoaXRlbSk7XHJcbiAgICAgIHRoaXMucGVybWlzc2lvbkNoYW5nZS5lbWl0KHtcclxuICAgICAgICBpdGVtLFxyXG4gICAgICAgIHBlcm1pc3Npb25LZXk6IHBlcm1pc3Npb24ua2V5LFxyXG4gICAgICAgIG5ld1ZhbHVlOiBmYWxzZVxyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5lbWl0SXRlbXNDaGFuZ2UoKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChwZXJtaXNzaW9uLmNvbWJpbmVkS2V5cykge1xyXG4gICAgICBwZXJtaXNzaW9uLmNvbWJpbmVkS2V5cy5mb3JFYWNoKGtleSA9PiB7XHJcbiAgICAgICAgaXRlbS5wZXJtaXNzaW9uc1trZXldID0gbmV3VmFsdWU7XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaXRlbS5wZXJtaXNzaW9uc1twZXJtaXNzaW9uLmtleV0gPSBuZXdWYWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5hdXRvTG9ja1ZpZXcpIHtcclxuICAgICAgdGhpcy5zeW5jVmlld1Blcm1pc3Npb24oaXRlbSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5wZXJtaXNzaW9uQ2hhbmdlLmVtaXQoe1xyXG4gICAgICBpdGVtLFxyXG4gICAgICBwZXJtaXNzaW9uS2V5OiBwZXJtaXNzaW9uLmtleSxcclxuICAgICAgbmV3VmFsdWVcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuZW1pdEl0ZW1zQ2hhbmdlKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhc05vblZpZXdQZXJtaXNzaW9uKGl0ZW06IFBlcm1pc3Npb25NYXRyaXhJdGVtKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5wZXJtaXNzaW9ucy5zb21lKHBlcm0gPT4ge1xyXG4gICAgICBpZiAocGVybS5rZXkgPT09ICd2aWV3Jykge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgICBpZiAocGVybS5jb21iaW5lZEtleXMpIHtcclxuICAgICAgICByZXR1cm4gcGVybS5jb21iaW5lZEtleXMuc29tZShrZXkgPT4gaXRlbS5wZXJtaXNzaW9uc1trZXldKTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gISFpdGVtLnBlcm1pc3Npb25zW3Blcm0ua2V5XTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjbGVhckFsbFBlcm1pc3Npb25zKGl0ZW06IFBlcm1pc3Npb25NYXRyaXhJdGVtKTogdm9pZCB7XHJcbiAgICB0aGlzLnBlcm1pc3Npb25zLmZvckVhY2gocGVybSA9PiB7XHJcbiAgICAgIGlmIChwZXJtLmNvbWJpbmVkS2V5cykge1xyXG4gICAgICAgIHBlcm0uY29tYmluZWRLZXlzLmZvckVhY2goa2V5ID0+IHtcclxuICAgICAgICAgIGl0ZW0ucGVybWlzc2lvbnNba2V5XSA9IGZhbHNlO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGl0ZW0ucGVybWlzc2lvbnNbcGVybS5rZXldID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqIEF1dG8tc2VsZWN0IHZpZXcgd2hlbiBhbnkgbm9uLXZpZXcgcGVybWlzc2lvbiBpcyBzZWxlY3RlZDsgbmV2ZXIgYXV0by1jbGVhciB2aWV3LiAqL1xyXG4gIHByaXZhdGUgc3luY1ZpZXdQZXJtaXNzaW9uKGl0ZW06IFBlcm1pc3Npb25NYXRyaXhJdGVtKTogdm9pZCB7XHJcbiAgICBjb25zdCB2aWV3S2V5ID0gdGhpcy5wZXJtaXNzaW9ucy5maW5kKHAgPT4gcC5rZXkgPT09ICd2aWV3JyAmJiAhcC5jb21iaW5lZEtleXMpPy5rZXk7XHJcbiAgICBpZiAoIXZpZXdLZXkgfHwgIXRoaXMuaGFzTm9uVmlld1Blcm1pc3Npb24oaXRlbSkpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaXRlbS5wZXJtaXNzaW9uc1t2aWV3S2V5XSA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGVtaXRJdGVtc0NoYW5nZSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmF1dG9Mb2NrVmlldykge1xyXG4gICAgICB0aGlzLml0ZW1zLmZvckVhY2goaXRlbSA9PiB0aGlzLnN5bmNWaWV3UGVybWlzc2lvbihpdGVtKSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLml0ZW1zQ2hhbmdlLmVtaXQoWy4uLnRoaXMuaXRlbXNdKTtcclxuICB9XHJcblxyXG4gIHRyYWNrQnlJdGVtKGluZGV4OiBudW1iZXIsIGl0ZW06IFBlcm1pc3Npb25NYXRyaXhJdGVtKTogc3RyaW5nIHwgbnVtYmVyIHtcclxuICAgIHJldHVybiBpdGVtLmlkID8/IGluZGV4O1xyXG4gIH1cclxuXHJcbiAgdHJhY2tCeVBlcm1pc3Npb24oaW5kZXg6IG51bWJlciwgcGVybWlzc2lvbjogUGVybWlzc2lvbkNvbmZpZyk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gcGVybWlzc2lvbi5rZXk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJwZXJtaXNzaW9uLW1hdHJpeC1jYXJkXCI+XHJcbiAgPGRpdiBjbGFzcz1cIm1hdHJpeC1oZWFkZXJcIj5cclxuICAgIDxoMyBjbGFzcz1cIm1hdHJpeC10aXRsZVwiPnt7IHRpdGxlS2V5IHwgdHJhbnNsYXRlIH19PC9oMz5cclxuICAgIDxidXR0b25cclxuICAgICAgY2xhc3M9XCJleHBhbmQtYWxsLWJ0blwiXHJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAoY2xpY2spPVwiZXhwYW5kQWxsR3JvdXBzKClcIlxyXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIihhcmVBbGxFeHBhbmRlZCgpID8gY29sbGFwc2VBbGxMYWJlbEtleSA6IGV4cGFuZEFsbExhYmVsS2V5KSB8IHRyYW5zbGF0ZVwiPlxyXG4gICAgICA8bWF0LWljb24gY2xhc3M9XCJleHBhbmQtaWNvblwiIFtjbGFzcy5yb3RhdGVkXT1cImFyZUFsbEV4cGFuZGVkKClcIj51bmZvbGRfbW9yZTwvbWF0LWljb24+XHJcbiAgICAgIDxzcGFuPnt7IChhcmVBbGxFeHBhbmRlZCgpID8gY29sbGFwc2VBbGxMYWJlbEtleSA6IGV4cGFuZEFsbExhYmVsS2V5KSB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2IGNsYXNzPVwibWF0cml4LWRpdmlkZXJcIj48L2Rpdj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cIm1hdHJpeC1hY2NvcmRpb24tbGlzdFwiPlxyXG4gICAgPGRpdlxyXG4gICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtczsgdHJhY2tCeTogdHJhY2tCeUl0ZW1cIlxyXG4gICAgICBjbGFzcz1cIm1hdHJpeC1hY2NvcmRpb24taXRlbVwiXHJcbiAgICAgIFtjbGFzcy5leHBhbmRlZF09XCJpdGVtLmV4cGFuZGVkXCI+XHJcblxyXG4gICAgICA8IS0tIEFjY29yZGlvbiBIZWFkZXIgLS0+XHJcbiAgICAgIDxkaXZcclxuICAgICAgICBjbGFzcz1cImFjY29yZGlvbi1oZWFkZXJcIlxyXG4gICAgICAgIChjbGljayk9XCJ0b2dnbGVHcm91cChpdGVtKVwiXHJcbiAgICAgICAgcm9sZT1cImJ1dHRvblwiXHJcbiAgICAgICAgdGFiaW5kZXg9XCIwXCJcclxuICAgICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cIml0ZW0uZXhwYW5kZWRcIlxyXG4gICAgICAgIChrZXlkb3duLmVudGVyKT1cInRvZ2dsZUdyb3VwKGl0ZW0pXCJcclxuICAgICAgICAoa2V5ZG93bi5zcGFjZSk9XCJ0b2dnbGVHcm91cChpdGVtKTsgJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWNjb3JkaW9uLWNvbnRlbnRcIj5cclxuICAgICAgICAgIDxoNCBjbGFzcz1cImFjY29yZGlvbi10aXRsZVwiPnt7IGl0ZW0udGl0bGUgfX08L2g0PlxyXG4gICAgICAgICAgPHAgKm5nSWY9XCJpdGVtLmRlc2NyaXB0aW9uXCIgY2xhc3M9XCJhY2NvcmRpb24tZGVzY3JpcHRpb25cIj57eyBpdGVtLmRlc2NyaXB0aW9uIH19PC9wPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImFjY29yZGlvbi1pY29uXCIgW2NsYXNzLnJvdGF0ZWRdPVwiaXRlbS5leHBhbmRlZFwiPmtleWJvYXJkX2Fycm93X2Rvd248L21hdC1pY29uPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwhLS0gQWNjb3JkaW9uIEJvZHkgLS0+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtLmV4cGFuZGVkXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFjY29yZGlvbi1kaXZpZGVyXCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFjY29yZGlvbi1ib2R5XCI+XHJcbiAgICAgICAgICA8IS0tIFBlcm1pc3Npb24gSGVhZGVyIFJvdyAtLT5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwZXJtaXNzaW9uLWhlYWRlci1yb3dcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwZXJtaXNzaW9uLWdyb3VwLWxhYmVsXCI+e3sgaXRlbS50aXRsZSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFoaWRlU2VsZWN0QWxsXCIgY2xhc3M9XCJwZXJtaXNzaW9uLXNlcGFyYXRvclwiPjwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgKm5nSWY9XCIhaGlkZVNlbGVjdEFsbFwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJzZWxlY3QtYWxsLWNvbnRhaW5lclwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2VsZWN0LWFsbC1sYWJlbFwiPnt7IHNlbGVjdEFsbExhYmVsS2V5IHwgdHJhbnNsYXRlIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDxtYXQtY2hlY2tib3hcclxuICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cImlzQWxsUGVybWlzc2lvbnNTZWxlY3RlZChpdGVtKVwiXHJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwicmVhZG9ubHlcIlxyXG4gICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJ0b2dnbGVTZWxlY3RBbGwoaXRlbSlcIlxyXG4gICAgICAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwic2VsZWN0LWFsbC1jaGVja2JveFwiPlxyXG4gICAgICAgICAgICAgIDwvbWF0LWNoZWNrYm94PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDwhLS0gUGVybWlzc2lvbnMgUm93IC0tPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInBlcm1pc3Npb25zLXJvd1wiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBwZXJtaXNzaW9uIG9mIHBlcm1pc3Npb25zOyB0cmFja0J5OiB0cmFja0J5UGVybWlzc2lvblwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJwZXJtaXNzaW9uLWl0ZW1cIj5cclxuICAgICAgICAgICAgICA8bWF0LWNoZWNrYm94XHJcbiAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJpc1Blcm1pc3Npb25TZWxlY3RlZChpdGVtLCBwZXJtaXNzaW9uKVwiXHJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNQZXJtaXNzaW9uRGlzYWJsZWQoaXRlbSwgcGVybWlzc2lvbilcIlxyXG4gICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJ0b2dnbGVQZXJtaXNzaW9uKGl0ZW0sIHBlcm1pc3Npb24pXCJcclxuICAgICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiPlxyXG4gICAgICAgICAgICAgIDwvbWF0LWNoZWNrYm94PlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicGVybWlzc2lvbi1sYWJlbFwiPnt7IHBlcm1pc3Npb24ubGFiZWxLZXkgfCB0cmFuc2xhdGUgfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
|
|
@@ -15,6 +15,7 @@ export class SectionFormCanvasComponent {
|
|
|
15
15
|
this.hideToggle = true;
|
|
16
16
|
this.isExpanded = true;
|
|
17
17
|
this.alwaysOpen = true;
|
|
18
|
+
this.expansionHeaderTabIndex = -1;
|
|
18
19
|
this.actionEdit = new EventEmitter();
|
|
19
20
|
this.formEdit = new EventEmitter();
|
|
20
21
|
this.buttons = [];
|
|
@@ -26,6 +27,11 @@ export class SectionFormCanvasComponent {
|
|
|
26
27
|
toggleExpand() {
|
|
27
28
|
this.isExpanded = !this.isExpanded;
|
|
28
29
|
}
|
|
30
|
+
onPanelHeaderChildKeydown(event) {
|
|
31
|
+
if (event.key === 'Enter' || event.key === ' ') {
|
|
32
|
+
event.stopPropagation();
|
|
33
|
+
}
|
|
34
|
+
}
|
|
29
35
|
onButtonClick(btn, sectionKey) {
|
|
30
36
|
this.buttonClicked.emit({ ...btn, sectionKey: sectionKey });
|
|
31
37
|
}
|
|
@@ -36,7 +42,7 @@ export class SectionFormCanvasComponent {
|
|
|
36
42
|
return this.buttons.filter(btn => btn.id !== 'download');
|
|
37
43
|
}
|
|
38
44
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SectionFormCanvasComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
39
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SectionFormCanvasComponent, isStandalone: true, selector: "lib-section-form-canvas", inputs: { pageInfo: "pageInfo", fields: "fields", itemId: "itemId", editable: "editable", hideBackButton: "hideBackButton", item: "item", title: "title", subtitle: "subtitle", isTranslateTitle: "isTranslateTitle", isTranslateSubtitle: "isTranslateSubtitle", key: "key", hideToggle: "hideToggle", isExpanded: "isExpanded", alwaysOpen: "alwaysOpen", buttons: "buttons", itemStatus: "itemStatus" }, outputs: { actionEdit: "actionEdit", formEdit: "formEdit", buttonClicked: "buttonClicked" }, ngImport: i0, template: "<mat-expansion-panel class=\"location-card\"\r\n #panel=\"matExpansionPanel\"\r\n [expanded]=\"isExpanded\"\r\n [hideToggle]=\"hideToggle\"\r\n (opened)=\"alwaysOpen ? panel.open() : null\"\r\n (closed)=\"alwaysOpen ? panel.open() : null\">\r\n <mat-expansion-panel-header class=\"card-header\" (click)=\"toggleExpand()\">\r\n <mat-panel-title>\r\n <div class=\"title-container\">\r\n <h3 class=\"card-title\" *ngIf=\"isTranslateTitle\">\r\n {{ pageInfo.labelsSection + '.' + title | translate }}\r\n </h3>\r\n <h3 class=\"card-title\" *ngIf=\"!isTranslateTitle\">{{ title }}</h3>\r\n <p class=\"card-subtitle\" *ngIf=\"subtitle\">\r\n <span *ngIf=\"isTranslateSubtitle\">{{ pageInfo.labelsSection + '.' + subtitle | translate }}</span>\r\n <span *ngIf=\"!isTranslateSubtitle\">{{ subtitle }}</span>\r\n </p>\r\n <button mat-button *ngIf=\"itemStatus\" class=\"stateType\" [ngClass]=\"itemStatus\">\r\n {{ pageInfo.labelsSection + '.' + itemStatus | translate }}\r\n </button>\r\n </div>\r\n </mat-panel-title>\r\n\r\n <mat-panel-description class=\"panel-description\" *ngIf=\"buttons && buttons.length > 0\">\r\n <div class=\"row flex-auto buttons-wrapper desktop-buttons\" [class.show-on-mobile]=\"!getDownloadButton()\">\r\n <button\r\n mat-flat-button\r\n *ngFor=\"let btn of buttons\"\r\n type=\"button\"\r\n [color]=\"btn.color || 'primary'\"\r\n (click)=\"onButtonClick(btn , key); $event.stopPropagation()\"\r\n class=\"btn-none-background-primary action\"\r\n [attr.id]=\"btn.id || ('section-btn-' + (btn.action || btn.label || btn.key))\"\r\n >\r\n <div class=\"button-text\">\r\n <mat-icon *ngIf=\"btn.icon\">{{ btn.icon }}</mat-icon>\r\n <span>{{ btn.label | translate }}</span>\r\n </div>\r\n </button>\r\n </div>\r\n \r\n <div class=\"mobile-buttons\" *ngIf=\"getDownloadButton()\">\r\n <button\r\n mat-flat-button\r\n type=\"button\"\r\n color=\"primary\"\r\n (click)=\"onButtonClick(getDownloadButton()!, key); $event.stopPropagation()\"\r\n class=\"btn-download-mobile\"\r\n [attr.id]=\"getDownloadButton()?.id\"\r\n [attr.aria-label]=\"'BASE_TABLE.downloadAction' | translate\"\r\n >\r\n <mat-icon aria-hidden=\"true\">{{ getDownloadButton()?.icon }}</mat-icon>\r\n </button>\r\n <button\r\n *ngIf=\"getMenuButtons().length > 0\"\r\n mat-stroked-button\r\n type=\"button\"\r\n [matMenuTriggerFor]=\"menu\"\r\n class=\"btn-menu-mobile\"\r\n >\r\n <mat-icon>more_vert</mat-icon>\r\n </button>\r\n <mat-menu #menu=\"matMenu\">\r\n <button\r\n mat-menu-item\r\n *ngFor=\"let btn of getMenuButtons()\"\r\n (click)=\"onButtonClick(btn, key); $event.stopPropagation()\"\r\n [attr.id]=\"btn.id\"\r\n >\r\n <mat-icon>{{ btn.icon }}</mat-icon>\r\n <span>{{ btn.label | translate }}</span>\r\n </button>\r\n </mat-menu>\r\n </div>\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <div class=\"panel-body\">\r\n <hr class=\"divider\"/>\r\n <ng-content></ng-content>\r\n <app-base-form-canvas\r\n [pageInfo]=\"pageInfo\"\r\n [fields]=\"fields\"\r\n [editable]=\"editable\"\r\n [item]=\"item\"\r\n (formUpdated)=\"formUpdated($event)\"\r\n ></app-base-form-canvas>\r\n </div>\r\n</mat-expansion-panel>\r\n", styles: [".location-card{border:1px solid #dcdcdc;border-radius:8px;background:#fff;margin:18px auto;overflow:hidden}.location-card .mat-expansion-panel-header{padding:0 15px}.location-card .mat-expansion-panel-header ::ng-deep .mat-content{margin:0!important}.location-card .panel-body{padding:20px 15px;padding-top:0!important}.location-card .panel-body ::ng-deep app-base-form-canvas .main-form-canvas{margin-top:20px!important}.location-card .panel-description{justify-content:end!important;margin:0!important}.location-card .card-header{display:flex;justify-content:space-between;align-items:center;padding:10px 16px!important;cursor:default}.location-card .card-header .title-container{display:flex;flex-direction:column;gap:8px;align-items:flex-start;justify-content:center}.location-card .card-header .card-title{margin:0;font-size:24px;font-weight:700;line-height:1.2;color:#000;width:fit-content;white-space:nowrap}.location-card .card-header .card-subtitle{margin:0;font-family:lusail-light,sans-serif;font-weight:300;font-size:16px;line-height:1.2;color:#888;width:fit-content}.location-card .card-header .btn-edit{width:120px;min-height:32px!important;border-radius:9999px!important;font-size:16px!important}.location-card .card-header .expand-icon{color:#339dff;font-size:16px}.location-card .divider{border:none;border-top:2px solid var(--primary-color-3nd);margin-bottom:20px;margin-top:0}.flex-auto{flex:1 1 auto;display:flex;flex-direction:column}.row{display:flex;flex-direction:row;width:100%}.gap-20{gap:20px}.buttons-wrapper{display:flex;text-align-last:end;margin:0!important;gap:16px;justify-content:flex-end}.buttons-wrapper .action{min-height:44px!important;min-width:135px!important;width:auto!important}.button-text span{font-size:18px}.button-text mat-icon{font-size:18px!important}.btn-none-background-primary{margin:0!important}@media (max-width: 768px){.desktop-buttons{display:none!important}.desktop-buttons.show-on-mobile{display:flex!important}.mobile-buttons{display:flex;gap:12px;align-items:center;justify-content:flex-end}.btn-download-mobile{width:45px!important;height:44px!important;min-width:45px!important;padding:0!important;border-radius:8px!important;background:#0d4261!important;display:flex;align-items:center;justify-content:center}.btn-download-mobile mat-icon{color:#fff!important;font-size:24px!important;width:24px!important;height:28px!important;margin:0!important}.btn-download-mobile .mdc-button__label{padding:0!important}.btn-menu-mobile{width:44px!important;height:44px!important;min-width:44px!important;padding:0!important;border-radius:8px!important;border:1px solid #3e627b!important;background:#fff!important;display:flex;align-items:center;justify-content:center}.btn-menu-mobile mat-icon{color:#0d4261!important;font-size:24px!important;width:25px!important;height:24px!important;margin:0!important;rotate:90deg}.btn-menu-mobile .mdc-button__label{padding:0!important}}@media (min-width: 769px){.mobile-buttons{display:none!important}}@media (max-width: 600px){::ng-deep .main-form-canvas{display:block!important}}\n"], dependencies: [{ kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: BaseFormCanvasComponent, selector: "app-base-form-canvas", inputs: ["pageInfo", "currency", "fields", "errors", "workflowEditableFields", "isWorkflowEditableManaged", "supportingAttributes", "editable", "emitOnValueChanges", "filterResetNonce", "item", "equationSuggestedFields", "currentEquationValue"], outputs: ["attachmentEmitter", "actionEmitter", "formUpdated", "hyperTextEvent", "currentEquationValueChange"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "directive", type: MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "directive", type: MatExpansionPanelDescription, selector: "mat-panel-description" }, { kind: "component", type: MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }] }); }
|
|
45
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SectionFormCanvasComponent, isStandalone: true, selector: "lib-section-form-canvas", inputs: { pageInfo: "pageInfo", fields: "fields", itemId: "itemId", editable: "editable", hideBackButton: "hideBackButton", item: "item", title: "title", subtitle: "subtitle", isTranslateTitle: "isTranslateTitle", isTranslateSubtitle: "isTranslateSubtitle", key: "key", hideToggle: "hideToggle", isExpanded: "isExpanded", alwaysOpen: "alwaysOpen", expansionHeaderTabIndex: "expansionHeaderTabIndex", buttons: "buttons", itemStatus: "itemStatus" }, outputs: { actionEdit: "actionEdit", formEdit: "formEdit", buttonClicked: "buttonClicked" }, ngImport: i0, template: "<mat-expansion-panel class=\"location-card\"\r\n #panel=\"matExpansionPanel\"\r\n [expanded]=\"isExpanded\"\r\n [hideToggle]=\"hideToggle\"\r\n (opened)=\"alwaysOpen ? panel.open() : null\"\r\n (closed)=\"alwaysOpen ? panel.open() : null\">\r\n <mat-expansion-panel-header\r\n class=\"card-header\"\r\n (click)=\"toggleExpand()\"\r\n [tabIndex]=\"expansionHeaderTabIndex\">\r\n <mat-panel-title>\r\n <div class=\"title-container\">\r\n <h3 class=\"card-title\" *ngIf=\"isTranslateTitle\">\r\n {{ pageInfo.labelsSection + '.' + title | translate }}\r\n </h3>\r\n <h3 class=\"card-title\" *ngIf=\"!isTranslateTitle\">{{ title }}</h3>\r\n <p class=\"card-subtitle\" *ngIf=\"subtitle\">\r\n <span *ngIf=\"isTranslateSubtitle\">{{ pageInfo.labelsSection + '.' + subtitle | translate }}</span>\r\n <span *ngIf=\"!isTranslateSubtitle\">{{ subtitle }}</span>\r\n </p>\r\n <button\r\n mat-button\r\n *ngIf=\"itemStatus\"\r\n type=\"button\"\r\n class=\"stateType\"\r\n [ngClass]=\"itemStatus\"\r\n (keydown)=\"onPanelHeaderChildKeydown($event)\">\r\n {{ pageInfo.labelsSection + '.' + itemStatus | translate }}\r\n </button>\r\n </div>\r\n </mat-panel-title>\r\n\r\n <mat-panel-description class=\"panel-description\" *ngIf=\"buttons && buttons.length > 0\">\r\n <div class=\"row flex-auto buttons-wrapper desktop-buttons\" [class.show-on-mobile]=\"!getDownloadButton()\">\r\n <button\r\n mat-flat-button\r\n *ngFor=\"let btn of buttons\"\r\n type=\"button\"\r\n [color]=\"btn.color || 'primary'\"\r\n (click)=\"onButtonClick(btn , key); $event.stopPropagation()\"\r\n (keydown)=\"onPanelHeaderChildKeydown($event)\"\r\n class=\"btn-none-background-primary action\"\r\n [attr.id]=\"btn.id || ('section-btn-' + (btn.action || btn.label || btn.key))\"\r\n >\r\n <div class=\"button-text\">\r\n <mat-icon *ngIf=\"btn.icon\">{{ btn.icon }}</mat-icon>\r\n <span>{{ btn.label | translate }}</span>\r\n </div>\r\n </button>\r\n </div>\r\n \r\n <div class=\"mobile-buttons\" *ngIf=\"getDownloadButton()\">\r\n <button\r\n mat-flat-button\r\n type=\"button\"\r\n color=\"primary\"\r\n (click)=\"onButtonClick(getDownloadButton()!, key); $event.stopPropagation()\"\r\n (keydown)=\"onPanelHeaderChildKeydown($event)\"\r\n class=\"btn-download-mobile\"\r\n [attr.id]=\"getDownloadButton()?.id\"\r\n [attr.aria-label]=\"'BASE_TABLE.downloadAction' | translate\"\r\n >\r\n <mat-icon aria-hidden=\"true\">{{ getDownloadButton()?.icon }}</mat-icon>\r\n </button>\r\n <button\r\n *ngIf=\"getMenuButtons().length > 0\"\r\n mat-stroked-button\r\n type=\"button\"\r\n [matMenuTriggerFor]=\"menu\"\r\n (keydown)=\"onPanelHeaderChildKeydown($event)\"\r\n class=\"btn-menu-mobile\"\r\n >\r\n <mat-icon>more_vert</mat-icon>\r\n </button>\r\n <mat-menu #menu=\"matMenu\">\r\n <button\r\n mat-menu-item\r\n *ngFor=\"let btn of getMenuButtons()\"\r\n (click)=\"onButtonClick(btn, key); $event.stopPropagation()\"\r\n [attr.id]=\"btn.id\"\r\n >\r\n <mat-icon>{{ btn.icon }}</mat-icon>\r\n <span>{{ btn.label | translate }}</span>\r\n </button>\r\n </mat-menu>\r\n </div>\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <div class=\"panel-body\">\r\n <hr class=\"divider\"/>\r\n <ng-content></ng-content>\r\n <app-base-form-canvas\r\n [pageInfo]=\"pageInfo\"\r\n [fields]=\"fields\"\r\n [editable]=\"editable\"\r\n [item]=\"item\"\r\n (formUpdated)=\"formUpdated($event)\"\r\n ></app-base-form-canvas>\r\n </div>\r\n</mat-expansion-panel>\r\n", styles: [".location-card{border:1px solid #dcdcdc;border-radius:8px;background:#fff;margin:18px auto;overflow:hidden}.location-card .mat-expansion-panel-header{padding:0 15px}.location-card .mat-expansion-panel-header ::ng-deep .mat-content{margin:0!important}@media (max-width: 450px){.location-card .mat-expansion-panel-header ::ng-deep .mat-content{flex-direction:column!important;align-items:stretch;gap:12px}.location-card .panel-description{justify-content:flex-start!important;width:100%}.location-card .buttons-wrapper{justify-content:flex-start;width:100%}}.location-card .panel-body{padding:20px 15px;padding-top:0!important}.location-card .panel-body ::ng-deep app-base-form-canvas .main-form-canvas{margin-top:20px!important}.location-card .panel-description{justify-content:end!important;margin:0!important}.location-card .card-header{display:flex;justify-content:space-between;align-items:center;padding:16px!important;cursor:default}.location-card .card-header .title-container{display:flex;flex-direction:column;gap:8px;align-items:flex-start;justify-content:center}.location-card .card-header .card-title{margin:0;font-size:24px;font-weight:700;line-height:1.2;color:#000;width:fit-content;white-space:nowrap}.location-card .card-header .card-subtitle{margin:0;font-family:lusail-light,sans-serif;font-weight:300;font-size:16px;line-height:1.2;color:#888;width:fit-content}.location-card .card-header .btn-edit{width:120px;min-height:32px!important;border-radius:9999px!important;font-size:16px!important}.location-card .card-header .expand-icon{color:#339dff;font-size:16px}.location-card .divider{border:none;border-top:2px solid var(--primary-color-3nd);margin-bottom:20px;margin-top:0}.flex-auto{flex:1 1 auto;display:flex;flex-direction:column}.row{display:flex;flex-direction:row;width:100%}.gap-20{gap:20px}.buttons-wrapper{display:flex;text-align-last:end;margin:0!important;gap:16px;justify-content:flex-end}.buttons-wrapper .action{min-height:44px!important;min-width:135px!important;width:auto!important}.button-text span{font-size:18px}.button-text mat-icon{font-size:18px!important}.btn-none-background-primary{margin:0!important}@media (max-width: 768px){.desktop-buttons{display:none!important}.desktop-buttons.show-on-mobile{display:flex!important}.mobile-buttons{display:flex;gap:12px;align-items:center;justify-content:flex-end}.btn-download-mobile{width:45px!important;height:44px!important;min-width:45px!important;padding:0!important;border-radius:8px!important;background:#0d4261!important;display:flex;align-items:center;justify-content:center}.btn-download-mobile mat-icon{color:#fff!important;font-size:24px!important;width:24px!important;height:28px!important;margin:0!important}.btn-download-mobile .mdc-button__label{padding:0!important}.btn-menu-mobile{width:44px!important;height:44px!important;min-width:44px!important;padding:0!important;border-radius:8px!important;border:1px solid #3e627b!important;background:#fff!important;display:flex;align-items:center;justify-content:center}.btn-menu-mobile mat-icon{color:#0d4261!important;font-size:24px!important;width:25px!important;height:24px!important;margin:0!important;rotate:90deg}.btn-menu-mobile .mdc-button__label{padding:0!important}}@media (min-width: 769px){.mobile-buttons{display:none!important}}@media (max-width: 600px){::ng-deep .main-form-canvas{display:block!important}}\n"], dependencies: [{ kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: BaseFormCanvasComponent, selector: "app-base-form-canvas", inputs: ["pageInfo", "currency", "fields", "errors", "workflowEditableFields", "isWorkflowEditableManaged", "supportingAttributes", "editable", "emitOnValueChanges", "filterResetNonce", "item", "equationSuggestedFields", "currentEquationValue"], outputs: ["attachmentEmitter", "actionEmitter", "formUpdated", "hyperTextEvent", "currentEquationValueChange"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "directive", type: MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "directive", type: MatExpansionPanelDescription, selector: "mat-panel-description" }, { kind: "component", type: MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }] }); }
|
|
40
46
|
}
|
|
41
47
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SectionFormCanvasComponent, decorators: [{
|
|
42
48
|
type: Component,
|
|
@@ -56,7 +62,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
56
62
|
MatMenu,
|
|
57
63
|
MatMenuTrigger,
|
|
58
64
|
MatMenuItem
|
|
59
|
-
], template: "<mat-expansion-panel class=\"location-card\"\r\n #panel=\"matExpansionPanel\"\r\n [expanded]=\"isExpanded\"\r\n [hideToggle]=\"hideToggle\"\r\n (opened)=\"alwaysOpen ? panel.open() : null\"\r\n (closed)=\"alwaysOpen ? panel.open() : null\">\r\n <mat-expansion-panel-header
|
|
65
|
+
], template: "<mat-expansion-panel class=\"location-card\"\r\n #panel=\"matExpansionPanel\"\r\n [expanded]=\"isExpanded\"\r\n [hideToggle]=\"hideToggle\"\r\n (opened)=\"alwaysOpen ? panel.open() : null\"\r\n (closed)=\"alwaysOpen ? panel.open() : null\">\r\n <mat-expansion-panel-header\r\n class=\"card-header\"\r\n (click)=\"toggleExpand()\"\r\n [tabIndex]=\"expansionHeaderTabIndex\">\r\n <mat-panel-title>\r\n <div class=\"title-container\">\r\n <h3 class=\"card-title\" *ngIf=\"isTranslateTitle\">\r\n {{ pageInfo.labelsSection + '.' + title | translate }}\r\n </h3>\r\n <h3 class=\"card-title\" *ngIf=\"!isTranslateTitle\">{{ title }}</h3>\r\n <p class=\"card-subtitle\" *ngIf=\"subtitle\">\r\n <span *ngIf=\"isTranslateSubtitle\">{{ pageInfo.labelsSection + '.' + subtitle | translate }}</span>\r\n <span *ngIf=\"!isTranslateSubtitle\">{{ subtitle }}</span>\r\n </p>\r\n <button\r\n mat-button\r\n *ngIf=\"itemStatus\"\r\n type=\"button\"\r\n class=\"stateType\"\r\n [ngClass]=\"itemStatus\"\r\n (keydown)=\"onPanelHeaderChildKeydown($event)\">\r\n {{ pageInfo.labelsSection + '.' + itemStatus | translate }}\r\n </button>\r\n </div>\r\n </mat-panel-title>\r\n\r\n <mat-panel-description class=\"panel-description\" *ngIf=\"buttons && buttons.length > 0\">\r\n <div class=\"row flex-auto buttons-wrapper desktop-buttons\" [class.show-on-mobile]=\"!getDownloadButton()\">\r\n <button\r\n mat-flat-button\r\n *ngFor=\"let btn of buttons\"\r\n type=\"button\"\r\n [color]=\"btn.color || 'primary'\"\r\n (click)=\"onButtonClick(btn , key); $event.stopPropagation()\"\r\n (keydown)=\"onPanelHeaderChildKeydown($event)\"\r\n class=\"btn-none-background-primary action\"\r\n [attr.id]=\"btn.id || ('section-btn-' + (btn.action || btn.label || btn.key))\"\r\n >\r\n <div class=\"button-text\">\r\n <mat-icon *ngIf=\"btn.icon\">{{ btn.icon }}</mat-icon>\r\n <span>{{ btn.label | translate }}</span>\r\n </div>\r\n </button>\r\n </div>\r\n \r\n <div class=\"mobile-buttons\" *ngIf=\"getDownloadButton()\">\r\n <button\r\n mat-flat-button\r\n type=\"button\"\r\n color=\"primary\"\r\n (click)=\"onButtonClick(getDownloadButton()!, key); $event.stopPropagation()\"\r\n (keydown)=\"onPanelHeaderChildKeydown($event)\"\r\n class=\"btn-download-mobile\"\r\n [attr.id]=\"getDownloadButton()?.id\"\r\n [attr.aria-label]=\"'BASE_TABLE.downloadAction' | translate\"\r\n >\r\n <mat-icon aria-hidden=\"true\">{{ getDownloadButton()?.icon }}</mat-icon>\r\n </button>\r\n <button\r\n *ngIf=\"getMenuButtons().length > 0\"\r\n mat-stroked-button\r\n type=\"button\"\r\n [matMenuTriggerFor]=\"menu\"\r\n (keydown)=\"onPanelHeaderChildKeydown($event)\"\r\n class=\"btn-menu-mobile\"\r\n >\r\n <mat-icon>more_vert</mat-icon>\r\n </button>\r\n <mat-menu #menu=\"matMenu\">\r\n <button\r\n mat-menu-item\r\n *ngFor=\"let btn of getMenuButtons()\"\r\n (click)=\"onButtonClick(btn, key); $event.stopPropagation()\"\r\n [attr.id]=\"btn.id\"\r\n >\r\n <mat-icon>{{ btn.icon }}</mat-icon>\r\n <span>{{ btn.label | translate }}</span>\r\n </button>\r\n </mat-menu>\r\n </div>\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <div class=\"panel-body\">\r\n <hr class=\"divider\"/>\r\n <ng-content></ng-content>\r\n <app-base-form-canvas\r\n [pageInfo]=\"pageInfo\"\r\n [fields]=\"fields\"\r\n [editable]=\"editable\"\r\n [item]=\"item\"\r\n (formUpdated)=\"formUpdated($event)\"\r\n ></app-base-form-canvas>\r\n </div>\r\n</mat-expansion-panel>\r\n", styles: [".location-card{border:1px solid #dcdcdc;border-radius:8px;background:#fff;margin:18px auto;overflow:hidden}.location-card .mat-expansion-panel-header{padding:0 15px}.location-card .mat-expansion-panel-header ::ng-deep .mat-content{margin:0!important}@media (max-width: 450px){.location-card .mat-expansion-panel-header ::ng-deep .mat-content{flex-direction:column!important;align-items:stretch;gap:12px}.location-card .panel-description{justify-content:flex-start!important;width:100%}.location-card .buttons-wrapper{justify-content:flex-start;width:100%}}.location-card .panel-body{padding:20px 15px;padding-top:0!important}.location-card .panel-body ::ng-deep app-base-form-canvas .main-form-canvas{margin-top:20px!important}.location-card .panel-description{justify-content:end!important;margin:0!important}.location-card .card-header{display:flex;justify-content:space-between;align-items:center;padding:16px!important;cursor:default}.location-card .card-header .title-container{display:flex;flex-direction:column;gap:8px;align-items:flex-start;justify-content:center}.location-card .card-header .card-title{margin:0;font-size:24px;font-weight:700;line-height:1.2;color:#000;width:fit-content;white-space:nowrap}.location-card .card-header .card-subtitle{margin:0;font-family:lusail-light,sans-serif;font-weight:300;font-size:16px;line-height:1.2;color:#888;width:fit-content}.location-card .card-header .btn-edit{width:120px;min-height:32px!important;border-radius:9999px!important;font-size:16px!important}.location-card .card-header .expand-icon{color:#339dff;font-size:16px}.location-card .divider{border:none;border-top:2px solid var(--primary-color-3nd);margin-bottom:20px;margin-top:0}.flex-auto{flex:1 1 auto;display:flex;flex-direction:column}.row{display:flex;flex-direction:row;width:100%}.gap-20{gap:20px}.buttons-wrapper{display:flex;text-align-last:end;margin:0!important;gap:16px;justify-content:flex-end}.buttons-wrapper .action{min-height:44px!important;min-width:135px!important;width:auto!important}.button-text span{font-size:18px}.button-text mat-icon{font-size:18px!important}.btn-none-background-primary{margin:0!important}@media (max-width: 768px){.desktop-buttons{display:none!important}.desktop-buttons.show-on-mobile{display:flex!important}.mobile-buttons{display:flex;gap:12px;align-items:center;justify-content:flex-end}.btn-download-mobile{width:45px!important;height:44px!important;min-width:45px!important;padding:0!important;border-radius:8px!important;background:#0d4261!important;display:flex;align-items:center;justify-content:center}.btn-download-mobile mat-icon{color:#fff!important;font-size:24px!important;width:24px!important;height:28px!important;margin:0!important}.btn-download-mobile .mdc-button__label{padding:0!important}.btn-menu-mobile{width:44px!important;height:44px!important;min-width:44px!important;padding:0!important;border-radius:8px!important;border:1px solid #3e627b!important;background:#fff!important;display:flex;align-items:center;justify-content:center}.btn-menu-mobile mat-icon{color:#0d4261!important;font-size:24px!important;width:25px!important;height:24px!important;margin:0!important;rotate:90deg}.btn-menu-mobile .mdc-button__label{padding:0!important}}@media (min-width: 769px){.mobile-buttons{display:none!important}}@media (max-width: 600px){::ng-deep .main-form-canvas{display:block!important}}\n"] }]
|
|
60
66
|
}], propDecorators: { pageInfo: [{
|
|
61
67
|
type: Input
|
|
62
68
|
}], fields: [{
|
|
@@ -85,6 +91,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
85
91
|
type: Input
|
|
86
92
|
}], alwaysOpen: [{
|
|
87
93
|
type: Input
|
|
94
|
+
}], expansionHeaderTabIndex: [{
|
|
95
|
+
type: Input
|
|
88
96
|
}], actionEdit: [{
|
|
89
97
|
type: Output
|
|
90
98
|
}], formEdit: [{
|
|
@@ -96,4 +104,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
96
104
|
}], buttonClicked: [{
|
|
97
105
|
type: Output
|
|
98
106
|
}] } });
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbi1mb3JtLWNhbnZhcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnZvaWNlcS91aS1saWIvc3JjL2xpYi9jb21wb25lbnRzL3NlY3Rpb24tZm9ybS1jYW52YXMvc2VjdGlvbi1mb3JtLWNhbnZhcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnZvaWNlcS91aS1saWIvc3JjL2xpYi9jb21wb25lbnRzL3NlY3Rpb24tZm9ybS1jYW52YXMvc2VjdGlvbi1mb3JtLWNhbnZhcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUMvQyxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFbkQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sZ0RBQWdELENBQUM7QUFDdkYsT0FBTyxFQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRXBELE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBQ3ZCLDRCQUE0QixFQUM1QixzQkFBc0IsRUFDdkIsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBQUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBeUI1RSxNQUFNLE9BQU8sMEJBQTBCO0lBdkJ2QztRQWlDVyx3QkFBbUIsR0FBWSxJQUFJLENBQUM7UUFFcEMsZUFBVSxHQUFZLElBQUksQ0FBQztRQUMzQixlQUFVLEdBQVksSUFBSSxDQUFDO1FBQzNCLGVBQVUsR0FBWSxJQUFJLENBQUM7UUFDMUIsZUFBVSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ25ELGFBQVEsR0FBNEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN4RCxZQUFPLEdBQTJCLEVBQUUsQ0FBQztRQUVwQyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7S0FzQm5EO0lBcEJDLFdBQVcsQ0FBQyxNQUFNO1FBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRTdCLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDckMsQ0FBQztJQUVELGFBQWEsQ0FBQyxHQUF5QixFQUFFLFVBQWtCO1FBQ3pELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUMsR0FBRyxHQUFHLEVBQUcsVUFBVSxFQUFFLFVBQVUsRUFBQyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELGlCQUFpQjtRQUNmLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLFVBQVUsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssVUFBVSxDQUFDLENBQUM7SUFDM0QsQ0FBQzsrR0F4Q1UsMEJBQTBCO21HQUExQiwwQkFBMEIsNGpCQ3hDdkMsMHRIQXdGQSw0akdEbkVJLE9BQU8sMklBQ1AsU0FBUyxpTEFFVCx1QkFBdUIsdWFBQ3ZCLElBQUksNkZBQ0osT0FBTyxtRkFDUCxlQUFlLDRGQUNmLGlCQUFpQixzTEFDakIsc0JBQXNCLDREQUN0Qiw0QkFBNEIsa0VBQzVCLHVCQUF1QixrSUFDdkIsT0FBTyxtSEFDUCxPQUFPLDJRQUNQLGNBQWMscVNBQ2QsV0FBVzs7NEZBS0YsMEJBQTBCO2tCQXZCdEMsU0FBUzsrQkFDRSx5QkFBeUIsY0FDdkIsSUFBSSxXQUNQO3dCQUNQLE9BQU87d0JBQ1AsU0FBUzt3QkFDVCxpQkFBaUI7d0JBQ2pCLHVCQUF1Qjt3QkFDdkIsSUFBSTt3QkFDSixPQUFPO3dCQUNQLGVBQWU7d0JBQ2YsaUJBQWlCO3dCQUNqQixzQkFBc0I7d0JBQ3RCLDRCQUE0Qjt3QkFDNUIsdUJBQXVCO3dCQUN2QixPQUFPO3dCQUNQLE9BQU87d0JBQ1AsY0FBYzt3QkFDZCxXQUFXO3FCQUNaOzhCQUtRLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNJLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTTtnQkFDRSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDSSxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7TWF0SWNvbn0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2ljb25cIjtcclxuaW1wb3J0IHtNYXRCdXR0b259IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9idXR0b25cIjtcclxuaW1wb3J0IHtCdXR0b25BY3Rpb25TZXR0aW5ncywgRmllbGRJbmZvLCBQYWdlSW5mb30gZnJvbSBcIi4uLy4uL2Jhc2UtbW9kZWxcIjtcclxuaW1wb3J0IHtCYXNlRm9ybUNvbXBvbmVudH0gZnJvbSBcIi4uL2Jhc2UtZm9ybS9iYXNlLWZvcm0uY29tcG9uZW50XCI7XHJcbmltcG9ydCB7QmFzZUZvcm1DYW52YXNDb21wb25lbnR9IGZyb20gXCIuLi9iYXNlLWZvcm0tY2FudmFzL2Jhc2UtZm9ybS1jYW52YXMuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7TmdGb3JPZiwgTmdJZiwgTmdDbGFzc30gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZX0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcclxuaW1wb3J0IHtGb3JtR3JvdXB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQge1xyXG4gIE1hdEV4cGFuc2lvblBhbmVsLFxyXG4gIE1hdEV4cGFuc2lvblBhbmVsSGVhZGVyLFxyXG4gIE1hdEV4cGFuc2lvblBhbmVsRGVzY3JpcHRpb24sXHJcbiAgTWF0RXhwYW5zaW9uUGFuZWxUaXRsZVxyXG59IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9leHBhbnNpb25cIjtcclxuaW1wb3J0IHtNYXRNZW51LCBNYXRNZW51VHJpZ2dlciwgTWF0TWVudUl0ZW19IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9tZW51XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1zZWN0aW9uLWZvcm0tY2FudmFzJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE1hdEljb24sXHJcbiAgICBNYXRCdXR0b24sXHJcbiAgICBCYXNlRm9ybUNvbXBvbmVudCxcclxuICAgIEJhc2VGb3JtQ2FudmFzQ29tcG9uZW50LFxyXG4gICAgTmdJZixcclxuICAgIE5nQ2xhc3MsXHJcbiAgICBUcmFuc2xhdGVNb2R1bGUsXHJcbiAgICBNYXRFeHBhbnNpb25QYW5lbCxcclxuICAgIE1hdEV4cGFuc2lvblBhbmVsVGl0bGUsXHJcbiAgICBNYXRFeHBhbnNpb25QYW5lbERlc2NyaXB0aW9uLFxyXG4gICAgTWF0RXhwYW5zaW9uUGFuZWxIZWFkZXIsXHJcbiAgICBOZ0Zvck9mLFxyXG4gICAgTWF0TWVudSxcclxuICAgIE1hdE1lbnVUcmlnZ2VyLFxyXG4gICAgTWF0TWVudUl0ZW1cclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWN0aW9uLWZvcm0tY2FudmFzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vc2VjdGlvbi1mb3JtLWNhbnZhcy5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFNlY3Rpb25Gb3JtQ2FudmFzQ29tcG9uZW50e1xyXG4gIEBJbnB1dCgpIHBhZ2VJbmZvOiBQYWdlSW5mbztcclxuICBASW5wdXQoKSBmaWVsZHM6IEZpZWxkSW5mb1tdO1xyXG4gIEBJbnB1dCgpIGl0ZW1JZDogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIGVkaXRhYmxlOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGhpZGVCYWNrQnV0dG9uOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGl0ZW06IGFueTtcclxuICBASW5wdXQoKSB0aXRsZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHN1YnRpdGxlOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgaXNUcmFuc2xhdGVUaXRsZTogYm9vbGVhbjtcclxuICBASW5wdXQoKSBpc1RyYW5zbGF0ZVN1YnRpdGxlOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBrZXk6IG51bWJlcjtcclxuICBASW5wdXQoKSBoaWRlVG9nZ2xlOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBpc0V4cGFuZGVkOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBhbHdheXNPcGVuOiBib29sZWFuID0gdHJ1ZTtcclxuICBAT3V0cHV0KCkgYWN0aW9uRWRpdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGZvcm1FZGl0OiBFdmVudEVtaXR0ZXI8Rm9ybUdyb3VwPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBASW5wdXQoKSBidXR0b25zOiBCdXR0b25BY3Rpb25TZXR0aW5nc1tdID0gW107XHJcbiAgQElucHV0KCkgaXRlbVN0YXR1czogc3RyaW5nO1xyXG4gIEBPdXRwdXQoKSBidXR0b25DbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIGZvcm1VcGRhdGVkKCRldmVudCkge1xyXG4gICAgdGhpcy5mb3JtRWRpdC5lbWl0KCRldmVudCk7XHJcblxyXG4gIH1cclxuXHJcbiAgdG9nZ2xlRXhwYW5kKCkge1xyXG4gICAgdGhpcy5pc0V4cGFuZGVkID0gIXRoaXMuaXNFeHBhbmRlZDtcclxuICB9XHJcblxyXG4gIG9uQnV0dG9uQ2xpY2soYnRuOiBCdXR0b25BY3Rpb25TZXR0aW5ncywgc2VjdGlvbktleTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLmJ1dHRvbkNsaWNrZWQuZW1pdCh7Li4uYnRuICwgc2VjdGlvbktleTogc2VjdGlvbktleX0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0RG93bmxvYWRCdXR0b24oKTogQnV0dG9uQWN0aW9uU2V0dGluZ3MgfCB1bmRlZmluZWQge1xyXG4gICAgcmV0dXJuIHRoaXMuYnV0dG9ucy5maW5kKGJ0biA9PiBidG4uaWQgPT09ICdkb3dubG9hZCcpO1xyXG4gIH1cclxuXHJcbiAgZ2V0TWVudUJ1dHRvbnMoKTogQnV0dG9uQWN0aW9uU2V0dGluZ3NbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5idXR0b25zLmZpbHRlcihidG4gPT4gYnRuLmlkICE9PSAnZG93bmxvYWQnKTtcclxuICB9XHJcbn1cclxuIiwiPG1hdC1leHBhbnNpb24tcGFuZWwgY2xhc3M9XCJsb2NhdGlvbi1jYXJkXCJcclxuICAgICAgICAgICAgICAgICAgICAgI3BhbmVsPVwibWF0RXhwYW5zaW9uUGFuZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgICBbZXhwYW5kZWRdPVwiaXNFeHBhbmRlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtoaWRlVG9nZ2xlXT1cImhpZGVUb2dnbGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAob3BlbmVkKT1cImFsd2F5c09wZW4gPyBwYW5lbC5vcGVuKCkgOiBudWxsXCJcclxuICAgICAgICAgICAgICAgICAgICAgKGNsb3NlZCk9XCJhbHdheXNPcGVuID8gcGFuZWwub3BlbigpIDogbnVsbFwiPlxyXG4gIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciBjbGFzcz1cImNhcmQtaGVhZGVyXCIgKGNsaWNrKT1cInRvZ2dsZUV4cGFuZCgpXCI+XHJcbiAgICA8bWF0LXBhbmVsLXRpdGxlPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGl0bGUtY29udGFpbmVyXCI+XHJcbiAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZVwiICpuZ0lmPVwiaXNUcmFuc2xhdGVUaXRsZVwiPlxyXG4gICAgICAgICAge3sgcGFnZUluZm8ubGFiZWxzU2VjdGlvbiArICcuJyArIHRpdGxlIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgPC9oMz5cclxuICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlXCIgKm5nSWY9XCIhaXNUcmFuc2xhdGVUaXRsZVwiPnt7IHRpdGxlIH19PC9oMz5cclxuICAgICAgICA8cCBjbGFzcz1cImNhcmQtc3VidGl0bGVcIiAqbmdJZj1cInN1YnRpdGxlXCI+XHJcbiAgICAgICAgICA8c3BhbiAqbmdJZj1cImlzVHJhbnNsYXRlU3VidGl0bGVcIj57eyBwYWdlSW5mby5sYWJlbHNTZWN0aW9uICsgJy4nICsgc3VidGl0bGUgfCB0cmFuc2xhdGUgfX08L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFpc1RyYW5zbGF0ZVN1YnRpdGxlXCI+e3sgc3VidGl0bGUgfX08L3NwYW4+XHJcbiAgICAgICAgPC9wPlxyXG4gICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiAqbmdJZj1cIml0ZW1TdGF0dXNcIiBjbGFzcz1cInN0YXRlVHlwZVwiIFtuZ0NsYXNzXT1cIml0ZW1TdGF0dXNcIj5cclxuICAgICAgICAgIHt7IHBhZ2VJbmZvLmxhYmVsc1NlY3Rpb24gKyAnLicgKyBpdGVtU3RhdHVzIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9tYXQtcGFuZWwtdGl0bGU+XHJcblxyXG4gICAgPG1hdC1wYW5lbC1kZXNjcmlwdGlvbiBjbGFzcz1cInBhbmVsLWRlc2NyaXB0aW9uXCIgKm5nSWY9XCJidXR0b25zICYmIGJ1dHRvbnMubGVuZ3RoID4gMFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93IGZsZXgtYXV0byBidXR0b25zLXdyYXBwZXIgZGVza3RvcC1idXR0b25zXCIgW2NsYXNzLnNob3ctb24tbW9iaWxlXT1cIiFnZXREb3dubG9hZEJ1dHRvbigpXCI+XHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgbWF0LWZsYXQtYnV0dG9uXHJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgYnRuIG9mIGJ1dHRvbnNcIlxyXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICBbY29sb3JdPVwiYnRuLmNvbG9yIHx8ICdwcmltYXJ5J1wiXHJcbiAgICAgICAgICAoY2xpY2spPVwib25CdXR0b25DbGljayhidG4gLCBrZXkpOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxyXG4gICAgICAgICAgY2xhc3M9XCJidG4tbm9uZS1iYWNrZ3JvdW5kLXByaW1hcnkgYWN0aW9uXCJcclxuICAgICAgICAgIFthdHRyLmlkXT1cImJ0bi5pZCB8fCAoJ3NlY3Rpb24tYnRuLScgKyAoYnRuLmFjdGlvbiB8fCBidG4ubGFiZWwgfHwgYnRuLmtleSkpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uLXRleHRcIj5cclxuICAgICAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwiYnRuLmljb25cIj57eyBidG4uaWNvbiB9fTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgIDxzcGFuPnt7IGJ0bi5sYWJlbCB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtb2JpbGUtYnV0dG9uc1wiICpuZ0lmPVwiZ2V0RG93bmxvYWRCdXR0b24oKVwiPlxyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgIG1hdC1mbGF0LWJ1dHRvblxyXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cIm9uQnV0dG9uQ2xpY2soZ2V0RG93bmxvYWRCdXR0b24oKSEsIGtleSk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXHJcbiAgICAgICAgICBjbGFzcz1cImJ0bi1kb3dubG9hZC1tb2JpbGVcIlxyXG4gICAgICAgICAgW2F0dHIuaWRdPVwiZ2V0RG93bmxvYWRCdXR0b24oKT8uaWRcIlxyXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInQkFTRV9UQUJMRS5kb3dubG9hZEFjdGlvbicgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxtYXQtaWNvbiBhcmlhLWhpZGRlbj1cInRydWVcIj57eyBnZXREb3dubG9hZEJ1dHRvbigpPy5pY29uIH19PC9tYXQtaWNvbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAqbmdJZj1cImdldE1lbnVCdXR0b25zKCkubGVuZ3RoID4gMFwiXHJcbiAgICAgICAgICBtYXQtc3Ryb2tlZC1idXR0b25cclxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIlxyXG4gICAgICAgICAgY2xhc3M9XCJidG4tbWVudS1tb2JpbGVcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxtYXQtaWNvbj5tb3JlX3ZlcnQ8L21hdC1pY29uPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDxtYXQtbWVudSAjbWVudT1cIm1hdE1lbnVcIj5cclxuICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgbWF0LW1lbnUtaXRlbVxyXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgYnRuIG9mIGdldE1lbnVCdXR0b25zKClcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwib25CdXR0b25DbGljayhidG4sIGtleSk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXHJcbiAgICAgICAgICAgIFthdHRyLmlkXT1cImJ0bi5pZFwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxtYXQtaWNvbj57eyBidG4uaWNvbiB9fTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgIDxzcGFuPnt7IGJ0bi5sYWJlbCB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvbWF0LW1lbnU+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9tYXQtcGFuZWwtZGVzY3JpcHRpb24+XHJcbiAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cclxuICA8ZGl2IGNsYXNzPVwicGFuZWwtYm9keVwiPlxyXG4gICAgPGhyIGNsYXNzPVwiZGl2aWRlclwiLz5cclxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgIDxhcHAtYmFzZS1mb3JtLWNhbnZhc1xyXG4gICAgICBbcGFnZUluZm9dPVwicGFnZUluZm9cIlxyXG4gICAgICBbZmllbGRzXT1cImZpZWxkc1wiXHJcbiAgICAgIFtlZGl0YWJsZV09XCJlZGl0YWJsZVwiXHJcbiAgICAgIFtpdGVtXT1cIml0ZW1cIlxyXG4gICAgICAoZm9ybVVwZGF0ZWQpPVwiZm9ybVVwZGF0ZWQoJGV2ZW50KVwiXHJcbiAgICA+PC9hcHAtYmFzZS1mb3JtLWNhbnZhcz5cclxuICA8L2Rpdj5cclxuPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxyXG4iXX0=
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbi1mb3JtLWNhbnZhcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnZvaWNlcS91aS1saWIvc3JjL2xpYi9jb21wb25lbnRzL3NlY3Rpb24tZm9ybS1jYW52YXMvc2VjdGlvbi1mb3JtLWNhbnZhcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnZvaWNlcS91aS1saWIvc3JjL2xpYi9jb21wb25lbnRzL3NlY3Rpb24tZm9ybS1jYW52YXMvc2VjdGlvbi1mb3JtLWNhbnZhcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUMvQyxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFbkQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sZ0RBQWdELENBQUM7QUFDdkYsT0FBTyxFQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRXBELE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBQ3ZCLDRCQUE0QixFQUM1QixzQkFBc0IsRUFDdkIsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBQUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBeUI1RSxNQUFNLE9BQU8sMEJBQTBCO0lBdkJ2QztRQWlDVyx3QkFBbUIsR0FBWSxJ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QWYsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNJLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtNYXRJY29ufSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvblwiO1xyXG5pbXBvcnQge01hdEJ1dHRvbn0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2J1dHRvblwiO1xyXG5pbXBvcnQge0J1dHRvbkFjdGlvblNldHRpbmdzLCBGaWVsZEluZm8sIFBhZ2VJbmZvfSBmcm9tIFwiLi4vLi4vYmFzZS1tb2RlbFwiO1xyXG5pbXBvcnQge0Jhc2VGb3JtQ29tcG9uZW50fSBmcm9tIFwiLi4vYmFzZS1mb3JtL2Jhc2UtZm9ybS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtCYXNlRm9ybUNhbnZhc0NvbXBvbmVudH0gZnJvbSBcIi4uL2Jhc2UtZm9ybS1jYW52YXMvYmFzZS1mb3JtLWNhbnZhcy5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtOZ0Zvck9mLCBOZ0lmLCBOZ0NsYXNzfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xyXG5pbXBvcnQge0Zvcm1Hcm91cH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7XHJcbiAgTWF0RXhwYW5zaW9uUGFuZWwsXHJcbiAgTWF0RXhwYW5zaW9uUGFuZWxIZWFkZXIsXHJcbiAgTWF0RXhwYW5zaW9uUGFuZWxEZXNjcmlwdGlvbixcclxuICBNYXRFeHBhbnNpb25QYW5lbFRpdGxlXHJcbn0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2V4cGFuc2lvblwiO1xyXG5pbXBvcnQge01hdE1lbnUsIE1hdE1lbnVUcmlnZ2VyLCBNYXRNZW51SXRlbX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL21lbnVcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXNlY3Rpb24tZm9ybS1jYW52YXMnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgTWF0SWNvbixcclxuICAgIE1hdEJ1dHRvbixcclxuICAgIEJhc2VGb3JtQ29tcG9uZW50LFxyXG4gICAgQmFzZUZvcm1DYW52YXNDb21wb25lbnQsXHJcbiAgICBOZ0lmLFxyXG4gICAgTmdDbGFzcyxcclxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcclxuICAgIE1hdEV4cGFuc2lvblBhbmVsLFxyXG4gICAgTWF0RXhwYW5zaW9uUGFuZWxUaXRsZSxcclxuICAgIE1hdEV4cGFuc2lvblBhbmVsRGVzY3JpcHRpb24sXHJcbiAgICBNYXRFeHBhbnNpb25QYW5lbEhlYWRlcixcclxuICAgIE5nRm9yT2YsXHJcbiAgICBNYXRNZW51LFxyXG4gICAgTWF0TWVudVRyaWdnZXIsXHJcbiAgICBNYXRNZW51SXRlbVxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NlY3Rpb24tZm9ybS1jYW52YXMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9zZWN0aW9uLWZvcm0tY2FudmFzLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU2VjdGlvbkZvcm1DYW52YXNDb21wb25lbnR7XHJcbiAgQElucHV0KCkgcGFnZUluZm86IFBhZ2VJbmZvO1xyXG4gIEBJbnB1dCgpIGZpZWxkczogRmllbGRJbmZvW107XHJcbiAgQElucHV0KCkgaXRlbUlkOiBudW1iZXI7XHJcbiAgQElucHV0KCkgZWRpdGFibGU6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgaGlkZUJhY2tCdXR0b246IGJvb2xlYW47XHJcbiAgQElucHV0KCkgaXRlbTogYW55O1xyXG4gIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgc3VidGl0bGU6IHN0cmluZztcclxuICBASW5wdXQoKSBpc1RyYW5zbGF0ZVRpdGxlOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGlzVHJhbnNsYXRlU3VidGl0bGU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGtleTogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIGhpZGVUb2dnbGU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGlzRXhwYW5kZWQ6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGFsd2F5c09wZW46IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGV4cGFuc2lvbkhlYWRlclRhYkluZGV4OiBudW1iZXIgPSAtMTtcclxuICBAT3V0cHV0KCkgYWN0aW9uRWRpdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGZvcm1FZGl0OiBFdmVudEVtaXR0ZXI8Rm9ybUdyb3VwPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBASW5wdXQoKSBidXR0b25zOiBCdXR0b25BY3Rpb25TZXR0aW5nc1tdID0gW107XHJcbiAgQElucHV0KCkgaXRlbVN0YXR1czogc3RyaW5nO1xyXG4gIEBPdXRwdXQoKSBidXR0b25DbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIGZvcm1VcGRhdGVkKCRldmVudCkge1xyXG4gICAgdGhpcy5mb3JtRWRpdC5lbWl0KCRldmVudCk7XHJcblxyXG4gIH1cclxuXHJcbiAgdG9nZ2xlRXhwYW5kKCkge1xyXG4gICAgdGhpcy5pc0V4cGFuZGVkID0gIXRoaXMuaXNFeHBhbmRlZDtcclxuICB9XHJcblxyXG4gIG9uUGFuZWxIZWFkZXJDaGlsZEtleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicgfHwgZXZlbnQua2V5ID09PSAnICcpIHtcclxuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkJ1dHRvbkNsaWNrKGJ0bjogQnV0dG9uQWN0aW9uU2V0dGluZ3MsIHNlY3Rpb25LZXk6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5idXR0b25DbGlja2VkLmVtaXQoey4uLmJ0biAsIHNlY3Rpb25LZXk6IHNlY3Rpb25LZXl9KTtcclxuICB9XHJcblxyXG4gIGdldERvd25sb2FkQnV0dG9uKCk6IEJ1dHRvbkFjdGlvblNldHRpbmdzIHwgdW5kZWZpbmVkIHtcclxuICAgIHJldHVybiB0aGlzLmJ1dHRvbnMuZmluZChidG4gPT4gYnRuLmlkID09PSAnZG93bmxvYWQnKTtcclxuICB9XHJcblxyXG4gIGdldE1lbnVCdXR0b25zKCk6IEJ1dHRvbkFjdGlvblNldHRpbmdzW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuYnV0dG9ucy5maWx0ZXIoYnRuID0+IGJ0bi5pZCAhPT0gJ2Rvd25sb2FkJyk7XHJcbiAgfVxyXG59XHJcbiIsIjxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPVwibG9jYXRpb24tY2FyZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICNwYW5lbD1cIm1hdEV4cGFuc2lvblBhbmVsXCJcclxuICAgICAgICAgICAgICAgICAgICAgW2V4cGFuZGVkXT1cImlzRXhwYW5kZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICBbaGlkZVRvZ2dsZV09XCJoaWRlVG9nZ2xlXCJcclxuICAgICAgICAgICAgICAgICAgICAgKG9wZW5lZCk9XCJhbHdheXNPcGVuID8gcGFuZWwub3BlbigpIDogbnVsbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgIChjbG9zZWQpPVwiYWx3YXlzT3BlbiA/IHBhbmVsLm9wZW4oKSA6IG51bGxcIj5cclxuICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJcclxuICAgIGNsYXNzPVwiY2FyZC1oZWFkZXJcIlxyXG4gICAgKGNsaWNrKT1cInRvZ2dsZUV4cGFuZCgpXCJcclxuICAgIFt0YWJJbmRleF09XCJleHBhbnNpb25IZWFkZXJUYWJJbmRleFwiPlxyXG4gICAgPG1hdC1wYW5lbC10aXRsZT5cclxuICAgICAgPGRpdiBjbGFzcz1cInRpdGxlLWNvbnRhaW5lclwiPlxyXG4gICAgICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGVcIiAqbmdJZj1cImlzVHJhbnNsYXRlVGl0bGVcIj5cclxuICAgICAgICAgIHt7IHBhZ2VJbmZvLmxhYmVsc1NlY3Rpb24gKyAnLicgKyB0aXRsZSB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgIDwvaDM+XHJcbiAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZVwiICpuZ0lmPVwiIWlzVHJhbnNsYXRlVGl0bGVcIj57eyB0aXRsZSB9fTwvaDM+XHJcbiAgICAgICAgPHAgY2xhc3M9XCJjYXJkLXN1YnRpdGxlXCIgKm5nSWY9XCJzdWJ0aXRsZVwiPlxyXG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCJpc1RyYW5zbGF0ZVN1YnRpdGxlXCI+e3sgcGFnZUluZm8ubGFiZWxzU2VjdGlvbiArICcuJyArIHN1YnRpdGxlIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCIhaXNUcmFuc2xhdGVTdWJ0aXRsZVwiPnt7IHN1YnRpdGxlIH19PC9zcGFuPlxyXG4gICAgICAgIDwvcD5cclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICBtYXQtYnV0dG9uXHJcbiAgICAgICAgICAqbmdJZj1cIml0ZW1TdGF0dXNcIlxyXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICBjbGFzcz1cInN0YXRlVHlwZVwiXHJcbiAgICAgICAgICBbbmdDbGFzc109XCJpdGVtU3RhdHVzXCJcclxuICAgICAgICAgIChrZXlkb3duKT1cIm9uUGFuZWxIZWFkZXJDaGlsZEtleWRvd24oJGV2ZW50KVwiPlxyXG4gICAgICAgICAge3sgcGFnZUluZm8ubGFiZWxzU2VjdGlvbiArICcuJyArIGl0ZW1TdGF0dXMgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L21hdC1wYW5lbC10aXRsZT5cclxuXHJcbiAgICA8bWF0LXBhbmVsLWRlc2NyaXB0aW9uIGNsYXNzPVwicGFuZWwtZGVzY3JpcHRpb25cIiAqbmdJZj1cImJ1dHRvbnMgJiYgYnV0dG9ucy5sZW5ndGggPiAwXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3cgZmxleC1hdXRvIGJ1dHRvbnMtd3JhcHBlciBkZXNrdG9wLWJ1dHRvbnNcIiBbY2xhc3Muc2hvdy1vbi1tb2JpbGVdPVwiIWdldERvd25sb2FkQnV0dG9uKClcIj5cclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICBtYXQtZmxhdC1idXR0b25cclxuICAgICAgICAgICpuZ0Zvcj1cImxldCBidG4gb2YgYnV0dG9uc1wiXHJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgIFtjb2xvcl09XCJidG4uY29sb3IgfHwgJ3ByaW1hcnknXCJcclxuICAgICAgICAgIChjbGljayk9XCJvbkJ1dHRvbkNsaWNrKGJ0biAsIGtleSk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXHJcbiAgICAgICAgICAoa2V5ZG93bik9XCJvblBhbmVsSGVhZGVyQ2hpbGRLZXlkb3duKCRldmVudClcIlxyXG4gICAgICAgICAgY2xhc3M9XCJidG4tbm9uZS1iYWNrZ3JvdW5kLXByaW1hcnkgYWN0aW9uXCJcclxuICAgICAgICAgIFthdHRyLmlkXT1cImJ0bi5pZCB8fCAoJ3NlY3Rpb24tYnRuLScgKyAoYnRuLmFjdGlvbiB8fCBidG4ubGFiZWwgfHwgYnRuLmtleSkpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uLXRleHRcIj5cclxuICAgICAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwiYnRuLmljb25cIj57eyBidG4uaWNvbiB9fTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgIDxzcGFuPnt7IGJ0bi5sYWJlbCB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtb2JpbGUtYnV0dG9uc1wiICpuZ0lmPVwiZ2V0RG93bmxvYWRCdXR0b24oKVwiPlxyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgIG1hdC1mbGF0LWJ1dHRvblxyXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cIm9uQnV0dG9uQ2xpY2soZ2V0RG93bmxvYWRCdXR0b24oKSEsIGtleSk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXHJcbiAgICAgICAgICAoa2V5ZG93bik9XCJvblBhbmVsSGVhZGVyQ2hpbGRLZXlkb3duKCRldmVudClcIlxyXG4gICAgICAgICAgY2xhc3M9XCJidG4tZG93bmxvYWQtbW9iaWxlXCJcclxuICAgICAgICAgIFthdHRyLmlkXT1cImdldERvd25sb2FkQnV0dG9uKCk/LmlkXCJcclxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0JBU0VfVEFCTEUuZG93bmxvYWRBY3Rpb24nIHwgdHJhbnNsYXRlXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bWF0LWljb24gYXJpYS1oaWRkZW49XCJ0cnVlXCI+e3sgZ2V0RG93bmxvYWRCdXR0b24oKT8uaWNvbiB9fTwvbWF0LWljb24+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgKm5nSWY9XCJnZXRNZW51QnV0dG9ucygpLmxlbmd0aCA+IDBcIlxyXG4gICAgICAgICAgbWF0LXN0cm9rZWQtYnV0dG9uXHJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51XCJcclxuICAgICAgICAgIChrZXlkb3duKT1cIm9uUGFuZWxIZWFkZXJDaGlsZEtleWRvd24oJGV2ZW50KVwiXHJcbiAgICAgICAgICBjbGFzcz1cImJ0bi1tZW51LW1vYmlsZVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG1hdC1pY29uPm1vcmVfdmVydDwvbWF0LWljb24+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPG1hdC1tZW51ICNtZW51PVwibWF0TWVudVwiPlxyXG4gICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICBtYXQtbWVudS1pdGVtXHJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBidG4gb2YgZ2V0TWVudUJ1dHRvbnMoKVwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJvbkJ1dHRvbkNsaWNrKGJ0biwga2V5KTsgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcclxuICAgICAgICAgICAgW2F0dHIuaWRdPVwiYnRuLmlkXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPG1hdC1pY29uPnt7IGJ0bi5pY29uIH19PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgPHNwYW4+e3sgYnRuLmxhYmVsIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPC9tYXQtbWVudT5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L21hdC1wYW5lbC1kZXNjcmlwdGlvbj5cclxuICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxyXG4gIDxkaXYgY2xhc3M9XCJwYW5lbC1ib2R5XCI+XHJcbiAgICA8aHIgY2xhc3M9XCJkaXZpZGVyXCIvPlxyXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgPGFwcC1iYXNlLWZvcm0tY2FudmFzXHJcbiAgICAgIFtwYWdlSW5mb109XCJwYWdlSW5mb1wiXHJcbiAgICAgIFtmaWVsZHNdPVwiZmllbGRzXCJcclxuICAgICAgW2VkaXRhYmxlXT1cImVkaXRhYmxlXCJcclxuICAgICAgW2l0ZW1dPVwiaXRlbVwiXHJcbiAgICAgIChmb3JtVXBkYXRlZCk9XCJmb3JtVXBkYXRlZCgkZXZlbnQpXCJcclxuICAgID48L2FwcC1iYXNlLWZvcm0tY2FudmFzPlxyXG4gIDwvZGl2PlxyXG48L21hdC1leHBhbnNpb24tcGFuZWw+XHJcbiJdfQ==
|
|
@@ -18,11 +18,11 @@ export class SnackbarStaticComponent {
|
|
|
18
18
|
this.actionBtn.emit();
|
|
19
19
|
}
|
|
20
20
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SnackbarStaticComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
21
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SnackbarStaticComponent, isStandalone: true, selector: "app-snackbar-static", inputs: { messageKey: "messageKey", titleKey: "titleKey", params: "params", paramsTitle: "paramsTitle", type: "type", width: "width", textBtn: "textBtn" }, outputs: { actionBtn: "actionBtn" }, ngImport: i0, template: "<div class=\"snackbar snackbar-{{type}}\" [ngStyle]=\"{'width': width == 'auto' ? 'auto' : width}\">\r\n <div class=\"sub-snackbar\">\r\n <mat-icon *ngIf=\"type === 'error'\">error</mat-icon>\r\n <mat-icon *ngIf=\"type === 'success'\">check_box</mat-icon>\r\n <mat-icon *ngIf=\"type === 'warning'\">warning</mat-icon>\r\n <mat-icon *ngIf=\"type === 'info'\">info</mat-icon>\r\n <mat-icon *ngIf=\"type === 'help'\">help</mat-icon>\r\n\r\n <div class=\"text-content\">\r\n <div class=\"title\">{{ titleKey | translate : paramsTitle }}</div>\r\n <div class=\"subtitle\">{{ messageKey | translate: params }}</div>\r\n </div>\r\n\r\n </div>\r\n <div class=\"action\" *ngIf=\"textBtn\">\r\n <button mat-stroked-button class=\"btn-none-background-primary action-btn\" (click)=\"submit()\" id=\"snackbar-action-btn\">\r\n {{ textBtn | translate}}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".snackbar{position:relative;width:auto;max-width:100%;box-sizing:border-box;background:#fff;border:1.5px solid #1c8c7a;border-radius:10px;padding:12px 20px;display:flex;flex-direction:column;color:#1c8c7a;box-shadow:0 2px 4px #00000014;overflow:hidden;word-break:break-word;overflow-wrap:anywhere;--snackbar-icon-size: clamp(16px, 2.4vw, 20px);--snackbar-title-size: clamp(14px, 2.6vw, 16px);--snackbar-subtitle-size: clamp(12px, 2.3vw, 14px)}.snackbar .sub-snackbar{display:flex;gap:10px;align-items:start}.snackbar .sub-snackbar mat-icon{font-size:var(--snackbar-icon-size);line-height:1;width:1em;height:1em;flex:0 0 auto}.snackbar .sub-snackbar .text-content{display:flex;flex-direction:column;line-height:24px}.snackbar .sub-snackbar .text-content .title{font-weight:400;color:inherit;font-family:lusail-regular,sans-serif;font-size:var(--snackbar-title-size)}.snackbar .sub-snackbar .text-content .subtitle{font-weight:400;color:#888;font-family:lusail-light,sans-serif;font-size:var(--snackbar-subtitle-size);margin-top:3px!important}.snackbar .action{display:flex;justify-content:flex-end}.snackbar .action .action-btn{font-size:var(--snackbar-title-size);font-weight:400;border-radius:8px;min-height:
|
|
21
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SnackbarStaticComponent, isStandalone: true, selector: "app-snackbar-static", inputs: { messageKey: "messageKey", titleKey: "titleKey", params: "params", paramsTitle: "paramsTitle", type: "type", width: "width", textBtn: "textBtn" }, outputs: { actionBtn: "actionBtn" }, ngImport: i0, template: "<div class=\"snackbar snackbar-{{type}}\" [ngStyle]=\"{'width': width == 'auto' ? 'auto' : width}\">\r\n <div class=\"sub-snackbar\">\r\n <mat-icon *ngIf=\"type === 'error'\">error</mat-icon>\r\n <mat-icon *ngIf=\"type === 'success'\">check_box</mat-icon>\r\n <mat-icon *ngIf=\"type === 'warning'\">warning</mat-icon>\r\n <mat-icon *ngIf=\"type === 'info'\">info</mat-icon>\r\n <mat-icon *ngIf=\"type === 'help'\">help</mat-icon>\r\n\r\n <div class=\"text-content\">\r\n <div class=\"title\">{{ titleKey | translate : paramsTitle }}</div>\r\n <div class=\"subtitle\">{{ messageKey | translate: params }}</div>\r\n </div>\r\n\r\n </div>\r\n <div class=\"action\" *ngIf=\"textBtn\">\r\n <button mat-stroked-button class=\"btn-none-background-primary action-btn\" (click)=\"submit()\" id=\"snackbar-action-btn\">\r\n {{ textBtn | translate}}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".snackbar{position:relative;width:auto;max-width:100%;box-sizing:border-box;background:#fff;border:1.5px solid #1c8c7a;border-radius:10px;padding:12px 20px;display:flex;flex-direction:column;color:#1c8c7a;box-shadow:0 2px 4px #00000014;overflow:hidden;word-break:break-word;overflow-wrap:anywhere;--snackbar-icon-size: clamp(16px, 2.4vw, 20px);--snackbar-title-size: clamp(14px, 2.6vw, 16px);--snackbar-subtitle-size: clamp(12px, 2.3vw, 14px)}.snackbar .sub-snackbar{display:flex;gap:10px;align-items:start}.snackbar .sub-snackbar mat-icon{font-size:var(--snackbar-icon-size);line-height:1;width:1em;height:1em;flex:0 0 auto}.snackbar .sub-snackbar .text-content{display:flex;flex-direction:column;line-height:24px}.snackbar .sub-snackbar .text-content .title{font-weight:400;color:inherit;font-family:lusail-regular,sans-serif;font-size:var(--snackbar-title-size)}.snackbar .sub-snackbar .text-content .subtitle{font-weight:400;color:#888;font-family:lusail-light,sans-serif;font-size:var(--snackbar-subtitle-size);margin-top:3px!important}.snackbar .action{display:flex;justify-content:flex-end}.snackbar .action .action-btn{font-size:var(--snackbar-title-size);font-weight:400;border-radius:8px;min-height:44px!important;margin:0!important;min-width:fit-content;max-width:100%}.snackbar .action .action-btn mat-icon{font-size:var(--snackbar-icon-size)}.snackbar-success{border-color:#0d7d6a;color:#0d7d6a}.snackbar-error{border-color:#a42b2b;color:#a42b2b}.snackbar-warning{border-color:#b54708;color:#b54708}.snackbar-info{border-color:#0d47a1;color:#0d47a1}.snackbar-help{border-color:var(--primary-color-3nd);color:var(--primary-color-3nd)}@media (max-width: 600px){.snackbar{padding:10px 14px;--snackbar-icon-size: clamp(16px, 3.6vw, 18px);--snackbar-title-size: clamp(14px, 3.8vw, 15px);--snackbar-subtitle-size: clamp(12px, 3.4vw, 13px)}.snackbar .sub-snackbar{gap:8px}.snackbar .sub-snackbar .text-content{line-height:22px}.snackbar .action{margin-top:8px}.snackbar .action .action-btn{width:100%;font-size:var(--snackbar-title-size)}}@media (max-width: 360px){.snackbar{padding:8px 10px;border-radius:8px;--snackbar-icon-size: clamp(14px, 4.5vw, 16px);--snackbar-title-size: clamp(13px, 4.6vw, 14px);--snackbar-subtitle-size: clamp(11px, 4.2vw, 12px)}}\n"], dependencies: [{ kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
|
|
22
22
|
}
|
|
23
23
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SnackbarStaticComponent, decorators: [{
|
|
24
24
|
type: Component,
|
|
25
|
-
args: [{ selector: 'app-snackbar-static', standalone: true, imports: [MatIcon, NgIf, TranslateModule, MatIconButton, MatButton, NgStyle], template: "<div class=\"snackbar snackbar-{{type}}\" [ngStyle]=\"{'width': width == 'auto' ? 'auto' : width}\">\r\n <div class=\"sub-snackbar\">\r\n <mat-icon *ngIf=\"type === 'error'\">error</mat-icon>\r\n <mat-icon *ngIf=\"type === 'success'\">check_box</mat-icon>\r\n <mat-icon *ngIf=\"type === 'warning'\">warning</mat-icon>\r\n <mat-icon *ngIf=\"type === 'info'\">info</mat-icon>\r\n <mat-icon *ngIf=\"type === 'help'\">help</mat-icon>\r\n\r\n <div class=\"text-content\">\r\n <div class=\"title\">{{ titleKey | translate : paramsTitle }}</div>\r\n <div class=\"subtitle\">{{ messageKey | translate: params }}</div>\r\n </div>\r\n\r\n </div>\r\n <div class=\"action\" *ngIf=\"textBtn\">\r\n <button mat-stroked-button class=\"btn-none-background-primary action-btn\" (click)=\"submit()\" id=\"snackbar-action-btn\">\r\n {{ textBtn | translate}}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".snackbar{position:relative;width:auto;max-width:100%;box-sizing:border-box;background:#fff;border:1.5px solid #1c8c7a;border-radius:10px;padding:12px 20px;display:flex;flex-direction:column;color:#1c8c7a;box-shadow:0 2px 4px #00000014;overflow:hidden;word-break:break-word;overflow-wrap:anywhere;--snackbar-icon-size: clamp(16px, 2.4vw, 20px);--snackbar-title-size: clamp(14px, 2.6vw, 16px);--snackbar-subtitle-size: clamp(12px, 2.3vw, 14px)}.snackbar .sub-snackbar{display:flex;gap:10px;align-items:start}.snackbar .sub-snackbar mat-icon{font-size:var(--snackbar-icon-size);line-height:1;width:1em;height:1em;flex:0 0 auto}.snackbar .sub-snackbar .text-content{display:flex;flex-direction:column;line-height:24px}.snackbar .sub-snackbar .text-content .title{font-weight:400;color:inherit;font-family:lusail-regular,sans-serif;font-size:var(--snackbar-title-size)}.snackbar .sub-snackbar .text-content .subtitle{font-weight:400;color:#888;font-family:lusail-light,sans-serif;font-size:var(--snackbar-subtitle-size);margin-top:3px!important}.snackbar .action{display:flex;justify-content:flex-end}.snackbar .action .action-btn{font-size:var(--snackbar-title-size);font-weight:400;border-radius:8px;min-height:
|
|
25
|
+
args: [{ selector: 'app-snackbar-static', standalone: true, imports: [MatIcon, NgIf, TranslateModule, MatIconButton, MatButton, NgStyle], template: "<div class=\"snackbar snackbar-{{type}}\" [ngStyle]=\"{'width': width == 'auto' ? 'auto' : width}\">\r\n <div class=\"sub-snackbar\">\r\n <mat-icon *ngIf=\"type === 'error'\">error</mat-icon>\r\n <mat-icon *ngIf=\"type === 'success'\">check_box</mat-icon>\r\n <mat-icon *ngIf=\"type === 'warning'\">warning</mat-icon>\r\n <mat-icon *ngIf=\"type === 'info'\">info</mat-icon>\r\n <mat-icon *ngIf=\"type === 'help'\">help</mat-icon>\r\n\r\n <div class=\"text-content\">\r\n <div class=\"title\">{{ titleKey | translate : paramsTitle }}</div>\r\n <div class=\"subtitle\">{{ messageKey | translate: params }}</div>\r\n </div>\r\n\r\n </div>\r\n <div class=\"action\" *ngIf=\"textBtn\">\r\n <button mat-stroked-button class=\"btn-none-background-primary action-btn\" (click)=\"submit()\" id=\"snackbar-action-btn\">\r\n {{ textBtn | translate}}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".snackbar{position:relative;width:auto;max-width:100%;box-sizing:border-box;background:#fff;border:1.5px solid #1c8c7a;border-radius:10px;padding:12px 20px;display:flex;flex-direction:column;color:#1c8c7a;box-shadow:0 2px 4px #00000014;overflow:hidden;word-break:break-word;overflow-wrap:anywhere;--snackbar-icon-size: clamp(16px, 2.4vw, 20px);--snackbar-title-size: clamp(14px, 2.6vw, 16px);--snackbar-subtitle-size: clamp(12px, 2.3vw, 14px)}.snackbar .sub-snackbar{display:flex;gap:10px;align-items:start}.snackbar .sub-snackbar mat-icon{font-size:var(--snackbar-icon-size);line-height:1;width:1em;height:1em;flex:0 0 auto}.snackbar .sub-snackbar .text-content{display:flex;flex-direction:column;line-height:24px}.snackbar .sub-snackbar .text-content .title{font-weight:400;color:inherit;font-family:lusail-regular,sans-serif;font-size:var(--snackbar-title-size)}.snackbar .sub-snackbar .text-content .subtitle{font-weight:400;color:#888;font-family:lusail-light,sans-serif;font-size:var(--snackbar-subtitle-size);margin-top:3px!important}.snackbar .action{display:flex;justify-content:flex-end}.snackbar .action .action-btn{font-size:var(--snackbar-title-size);font-weight:400;border-radius:8px;min-height:44px!important;margin:0!important;min-width:fit-content;max-width:100%}.snackbar .action .action-btn mat-icon{font-size:var(--snackbar-icon-size)}.snackbar-success{border-color:#0d7d6a;color:#0d7d6a}.snackbar-error{border-color:#a42b2b;color:#a42b2b}.snackbar-warning{border-color:#b54708;color:#b54708}.snackbar-info{border-color:#0d47a1;color:#0d47a1}.snackbar-help{border-color:var(--primary-color-3nd);color:var(--primary-color-3nd)}@media (max-width: 600px){.snackbar{padding:10px 14px;--snackbar-icon-size: clamp(16px, 3.6vw, 18px);--snackbar-title-size: clamp(14px, 3.8vw, 15px);--snackbar-subtitle-size: clamp(12px, 3.4vw, 13px)}.snackbar .sub-snackbar{gap:8px}.snackbar .sub-snackbar .text-content{line-height:22px}.snackbar .action{margin-top:8px}.snackbar .action .action-btn{width:100%;font-size:var(--snackbar-title-size)}}@media (max-width: 360px){.snackbar{padding:8px 10px;border-radius:8px;--snackbar-icon-size: clamp(14px, 4.5vw, 16px);--snackbar-title-size: clamp(13px, 4.6vw, 14px);--snackbar-subtitle-size: clamp(11px, 4.2vw, 12px)}}\n"] }]
|
|
26
26
|
}], propDecorators: { messageKey: [{
|
|
27
27
|
type: Input
|
|
28
28
|
}], titleKey: [{
|