@ieeesa-npm/groups 0.15.13 → 0.15.15
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/assets/constants.json +39 -1
- package/esm2022/lib/components/custom-question-editor/custom-question-editor.component.mjs +157 -0
- package/esm2022/lib/components/interest-form/interest-form.component.mjs +414 -27
- package/esm2022/lib/components/interest-form-management/interest-form-management.component.mjs +1 -1
- package/esm2022/lib/components/interest-form-preview/interest-form-preview.component.mjs +63 -0
- package/esm2022/lib/components/org-multi-select/org-multi-select.component.mjs +42 -6
- package/esm2022/lib/models/custom-question.model.mjs +37 -0
- package/esm2022/lib/services/interest-form.service.mjs +169 -0
- package/esm2022/public-api.mjs +5 -1
- package/fesm2022/ieeesa-npm-groups.mjs +899 -40
- package/fesm2022/ieeesa-npm-groups.mjs.map +1 -1
- package/lib/components/custom-question-editor/custom-question-editor.component.d.ts +75 -0
- package/lib/components/interest-form/interest-form.component.d.ts +143 -14
- package/lib/components/interest-form-preview/interest-form-preview.component.d.ts +37 -0
- package/lib/components/org-multi-select/org-multi-select.component.d.ts +25 -0
- package/lib/models/custom-question.model.d.ts +72 -0
- package/lib/services/interest-form.service.d.ts +105 -0
- package/package.json +1 -1
- package/public-api.d.ts +4 -0
|
@@ -260,9 +260,47 @@
|
|
|
260
260
|
"standardQuestions": ["Name", "Email Address", "Affiliation"],
|
|
261
261
|
"defaultMembershipTitle": "Default Membership Level",
|
|
262
262
|
"defaultMembershipDescription": "Select the membership level automatically assigned",
|
|
263
|
+
"noLevelsMessage": "No membership levels are configured for this group type. Please configure membership levels before enabling the interest form.",
|
|
263
264
|
"membershipLevels": ["Observer", "Voting Member", "Associate Member"],
|
|
264
265
|
"customQuestionsTitle": "Custom Questions",
|
|
265
|
-
"addQuestionLabel": "+ Add Question"
|
|
266
|
+
"addQuestionLabel": "+ Add Question",
|
|
267
|
+
"preview": {
|
|
268
|
+
"heading": "Interest Form Preview",
|
|
269
|
+
"closeAriaLabel": "Close preview",
|
|
270
|
+
"standardInformationHeading": "Standard Information",
|
|
271
|
+
"additionalQuestionsHeading": "Additional Questions",
|
|
272
|
+
"selectPlaceholder": "Select an option",
|
|
273
|
+
"cancelButtonLabel": "Cancel",
|
|
274
|
+
"labels": {
|
|
275
|
+
"name": "Name",
|
|
276
|
+
"email": "Email Address",
|
|
277
|
+
"affiliation": "Affiliation"
|
|
278
|
+
}
|
|
279
|
+
},
|
|
280
|
+
"requiredTag": "Required",
|
|
281
|
+
"newQuestionLabel": "New Question",
|
|
282
|
+
"editQuestionAriaLabel": "Edit question",
|
|
283
|
+
"deleteQuestionAriaLabel": "Delete question",
|
|
284
|
+
"questionEditor": {
|
|
285
|
+
"labelLabel": "Question Label",
|
|
286
|
+
"typeLabel": "Type",
|
|
287
|
+
"requiredLabel": "Required",
|
|
288
|
+
"placeholderLabel": "PlaceHolder",
|
|
289
|
+
"helpTextLabel": "Help Text",
|
|
290
|
+
"optionsLabel": "Options (one per line)",
|
|
291
|
+
"typeHerePlaceholder": "Type here",
|
|
292
|
+
"selectPlaceholder": "Select from here",
|
|
293
|
+
"cancel": "Cancel",
|
|
294
|
+
"save": "Save",
|
|
295
|
+
"types": {
|
|
296
|
+
"text": "Text Input",
|
|
297
|
+
"textArea": "Text Area",
|
|
298
|
+
"dropdown": "Dropdown",
|
|
299
|
+
"checkbox": "Checkbox",
|
|
300
|
+
"radio": "Radio Button",
|
|
301
|
+
"date": "Date Picker"
|
|
302
|
+
}
|
|
303
|
+
}
|
|
266
304
|
}
|
|
267
305
|
},
|
|
268
306
|
"deleteGroup": {
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output, ViewEncapsulation, } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { ReactiveFormsModule, Validators, } from '@angular/forms';
|
|
4
|
+
import { CHOICE_FIELD_TYPES, QuestionFieldType, } from '../../models/custom-question.model';
|
|
5
|
+
import * as constants from '../../assets/constants.json';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/forms";
|
|
8
|
+
import * as i2 from "@angular/common";
|
|
9
|
+
/**
|
|
10
|
+
* Editable card for a single custom interest-form question (SP3M-317). Renders
|
|
11
|
+
* the Question Label, Type, Required toggle, Placeholder, Help Text and (for
|
|
12
|
+
* choice types) Options fields. Emits save/cancel so the parent manages the
|
|
13
|
+
* questions list. The Options field is only shown for choice field types
|
|
14
|
+
* (SELECT / CHECKBOX / RADIO), matching the backend's choice-type validation.
|
|
15
|
+
* @export
|
|
16
|
+
* @class CustomQuestionEditorComponent
|
|
17
|
+
*/
|
|
18
|
+
export class CustomQuestionEditorComponent {
|
|
19
|
+
// eslint-disable-next-line no-unused-vars
|
|
20
|
+
constructor(formBuilder) {
|
|
21
|
+
this.formBuilder = formBuilder;
|
|
22
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
23
|
+
this.constants = constants;
|
|
24
|
+
this.editorTexts = this.constants?.rosterInterests?.interestForm?.questionEditor;
|
|
25
|
+
this.fieldType = QuestionFieldType;
|
|
26
|
+
this.typeOptions = [
|
|
27
|
+
{ value: QuestionFieldType.TEXT, label: this.editorTexts?.types?.text },
|
|
28
|
+
{
|
|
29
|
+
value: QuestionFieldType.TEXTAREA,
|
|
30
|
+
label: this.editorTexts?.types?.textArea,
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
value: QuestionFieldType.SELECT,
|
|
34
|
+
label: this.editorTexts?.types?.dropdown,
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
value: QuestionFieldType.CHECKBOX,
|
|
38
|
+
label: this.editorTexts?.types?.checkbox,
|
|
39
|
+
},
|
|
40
|
+
{ value: QuestionFieldType.RADIO, label: this.editorTexts?.types?.radio },
|
|
41
|
+
{ value: QuestionFieldType.DATE, label: this.editorTexts?.types?.date },
|
|
42
|
+
];
|
|
43
|
+
this.save = new EventEmitter();
|
|
44
|
+
this.cancel = new EventEmitter();
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Builds the reactive form, seeding values from the question being edited.
|
|
48
|
+
* The question's options are stored as a raw JSON string, so they are parsed
|
|
49
|
+
* into one-per-line text for editing.
|
|
50
|
+
* @memberof CustomQuestionEditorComponent
|
|
51
|
+
*/
|
|
52
|
+
ngOnInit() {
|
|
53
|
+
this.form = this.formBuilder.group({
|
|
54
|
+
label: [this.question?.questionLabel ?? '', [Validators.required]],
|
|
55
|
+
type: [this.question?.fieldType ?? null, [Validators.required]],
|
|
56
|
+
required: [this.question?.isRequired ?? true],
|
|
57
|
+
placeholder: [this.question?.placeholder ?? ''],
|
|
58
|
+
helpText: [this.question?.helpText ?? ''],
|
|
59
|
+
options: [this.parseOptionsString(this.question?.options)],
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Parses a stored options JSON string into one-per-line text for the textarea.
|
|
64
|
+
* @param {(string | undefined)} optionsJson
|
|
65
|
+
* @return {string}
|
|
66
|
+
* @memberof CustomQuestionEditorComponent
|
|
67
|
+
*/
|
|
68
|
+
parseOptionsString(optionsJson) {
|
|
69
|
+
if (!optionsJson)
|
|
70
|
+
return '';
|
|
71
|
+
try {
|
|
72
|
+
const parsed = JSON.parse(optionsJson);
|
|
73
|
+
return Array.isArray(parsed) ? parsed.join('\n') : '';
|
|
74
|
+
}
|
|
75
|
+
catch {
|
|
76
|
+
return '';
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Whether the currently selected type requires an options list.
|
|
81
|
+
* @return {boolean}
|
|
82
|
+
* @memberof CustomQuestionEditorComponent
|
|
83
|
+
*/
|
|
84
|
+
get isChoiceType() {
|
|
85
|
+
return CHOICE_FIELD_TYPES.includes(this.form?.get('type')?.value);
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Parses the options textarea into a trimmed, non-empty string array,
|
|
89
|
+
* stripping trailing commas.
|
|
90
|
+
* @return {string[]}
|
|
91
|
+
* @memberof CustomQuestionEditorComponent
|
|
92
|
+
*/
|
|
93
|
+
parseOptions() {
|
|
94
|
+
const raw = (this.form?.get('options')?.value ?? '');
|
|
95
|
+
return raw
|
|
96
|
+
.split('\n')
|
|
97
|
+
.map((option) => option.trim().replace(/,+$/, '').trim())
|
|
98
|
+
.filter((option) => option.length > 0);
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Whether the editor is valid: label and type are required, and choice types
|
|
102
|
+
* require at least one option.
|
|
103
|
+
* @return {boolean}
|
|
104
|
+
* @memberof CustomQuestionEditorComponent
|
|
105
|
+
*/
|
|
106
|
+
get isSaveDisabled() {
|
|
107
|
+
if (this.form?.invalid)
|
|
108
|
+
return true;
|
|
109
|
+
if (this.isChoiceType && this.parseOptions().length === 0)
|
|
110
|
+
return true;
|
|
111
|
+
return false;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Emits the assembled question on save. Options are serialized to a JSON
|
|
115
|
+
* string to match the backend's JSONB column.
|
|
116
|
+
* @memberof CustomQuestionEditorComponent
|
|
117
|
+
*/
|
|
118
|
+
onSave() {
|
|
119
|
+
this.form.markAllAsTouched();
|
|
120
|
+
if (this.isSaveDisabled)
|
|
121
|
+
return;
|
|
122
|
+
const value = this.form.getRawValue();
|
|
123
|
+
this.save.emit({
|
|
124
|
+
questionId: this.question?.questionId,
|
|
125
|
+
groupId: this.question?.groupId,
|
|
126
|
+
viewOrder: this.question?.viewOrder,
|
|
127
|
+
questionLabel: value.label?.trim(),
|
|
128
|
+
fieldType: value.type,
|
|
129
|
+
isRequired: value.required,
|
|
130
|
+
placeholder: value.placeholder?.trim(),
|
|
131
|
+
helpText: value.helpText?.trim(),
|
|
132
|
+
options: this.isChoiceType
|
|
133
|
+
? JSON.stringify(this.parseOptions())
|
|
134
|
+
: undefined,
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Emits the cancel event.
|
|
139
|
+
* @memberof CustomQuestionEditorComponent
|
|
140
|
+
*/
|
|
141
|
+
onCancel() {
|
|
142
|
+
this.cancel.emit();
|
|
143
|
+
}
|
|
144
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CustomQuestionEditorComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
145
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CustomQuestionEditorComponent, isStandalone: true, selector: "ieeesa-custom-question-editor", inputs: { question: "question" }, outputs: { save: "save", cancel: "cancel" }, ngImport: i0, template: "<form [formGroup]=\"form\" class=\"ieeesa-question-editor\">\r\n <div class=\"ieeesa-question-editor__grid\">\r\n <div class=\"ieeesa-question-editor__field\">\r\n <label class=\"ieeesa-question-editor__label ieeesa-body-sm-14\">\r\n {{ editorTexts?.labelLabel }}\r\n <span class=\"ieeesa-question-editor__required-mark\">*</span>\r\n </label>\r\n <input\r\n type=\"text\"\r\n class=\"ieeesa-question-editor__input ieeesa-body-sm-14\"\r\n formControlName=\"label\"\r\n [attr.placeholder]=\"editorTexts?.typeHerePlaceholder\"\r\n [attr.aria-label]=\"editorTexts?.labelLabel\"\r\n />\r\n </div>\r\n\r\n <div class=\"ieeesa-question-editor__field\">\r\n <label class=\"ieeesa-question-editor__label ieeesa-body-sm-14\">\r\n {{ editorTexts?.typeLabel }}\r\n </label>\r\n <select\r\n class=\"ieeesa-question-editor__input ieeesa-body-sm-14\"\r\n formControlName=\"type\"\r\n [attr.aria-label]=\"editorTexts?.typeLabel\"\r\n >\r\n <option [ngValue]=\"null\" disabled>\r\n {{ editorTexts?.selectPlaceholder }}\r\n </option>\r\n <option\r\n *ngFor=\"let option of typeOptions\"\r\n [ngValue]=\"option.value\"\r\n >\r\n {{ option.label }}\r\n </option>\r\n </select>\r\n </div>\r\n </div>\r\n\r\n <div class=\"ieeesa-question-editor__required-row d-flex align-items-center gap-2\">\r\n <span class=\"ieeesa-question-editor__label ieeesa-body-sm-14\">{{\r\n editorTexts?.requiredLabel\r\n }}</span>\r\n <label class=\"ieeesa-question-editor__switch\">\r\n <input type=\"checkbox\" formControlName=\"required\" />\r\n <span class=\"ieeesa-question-editor__slider\"></span>\r\n </label>\r\n <span class=\"ieeesa-question-editor__required-hint ieeesa-body-sm-14\">{{\r\n editorTexts?.requiredLabel\r\n }}</span>\r\n </div>\r\n\r\n <div class=\"ieeesa-question-editor__grid\">\r\n <div class=\"ieeesa-question-editor__field\">\r\n <label class=\"ieeesa-question-editor__label ieeesa-body-sm-14\">\r\n {{ editorTexts?.placeholderLabel }}\r\n </label>\r\n <input\r\n type=\"text\"\r\n class=\"ieeesa-question-editor__input ieeesa-body-sm-14\"\r\n formControlName=\"placeholder\"\r\n [attr.placeholder]=\"editorTexts?.typeHerePlaceholder\"\r\n [attr.aria-label]=\"editorTexts?.placeholderLabel\"\r\n />\r\n </div>\r\n\r\n <div class=\"ieeesa-question-editor__field\">\r\n <label class=\"ieeesa-question-editor__label ieeesa-body-sm-14\">\r\n {{ editorTexts?.helpTextLabel }}\r\n </label>\r\n <input\r\n type=\"text\"\r\n class=\"ieeesa-question-editor__input ieeesa-body-sm-14\"\r\n formControlName=\"helpText\"\r\n [attr.placeholder]=\"editorTexts?.typeHerePlaceholder\"\r\n [attr.aria-label]=\"editorTexts?.helpTextLabel\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"isChoiceType\" class=\"ieeesa-question-editor__field\">\r\n <label class=\"ieeesa-question-editor__label ieeesa-body-sm-14\">\r\n {{ editorTexts?.optionsLabel }}\r\n </label>\r\n <textarea\r\n class=\"ieeesa-question-editor__textarea ieeesa-body-sm-14\"\r\n formControlName=\"options\"\r\n rows=\"5\"\r\n [attr.placeholder]=\"editorTexts?.typeHerePlaceholder\"\r\n [attr.aria-label]=\"editorTexts?.optionsLabel\"\r\n ></textarea>\r\n </div>\r\n\r\n <div class=\"ieeesa-question-editor__actions d-flex gap-3\">\r\n <button\r\n type=\"button\"\r\n class=\"ieeesa-question-editor__cancel\"\r\n (click)=\"onCancel()\"\r\n [attr.aria-label]=\"editorTexts?.cancel\"\r\n >\r\n {{ editorTexts?.cancel }}\r\n </button>\r\n <button\r\n type=\"button\"\r\n class=\"ieeesa-question-editor__save\"\r\n [disabled]=\"isSaveDisabled\"\r\n (click)=\"onSave()\"\r\n [attr.aria-label]=\"editorTexts?.save\"\r\n >\r\n {{ editorTexts?.save }}\r\n </button>\r\n </div>\r\n</form>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-sm-12{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:focus{background:#1f75a7}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:focus{background:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:focus{background-color:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: unset}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-wrapper-border{border:1px solid #b2b7be;border-top:none;padding:1.5em;border-radius:0 0 4px 4px}.ieeesa-question-editor__grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.ieeesa-question-editor__field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.ieeesa-question-editor__label{font-weight:600;color:#1c1d1e}.ieeesa-question-editor__required-mark{color:#b3261e}.ieeesa-question-editor__input,.ieeesa-question-editor__textarea{width:100%;padding:10px 12px;border:1px solid #d7d6d6;border-radius:4px;background:#fff;color:#1c1d1e}.ieeesa-question-editor__input:focus,.ieeesa-question-editor__textarea:focus{outline:none;border-color:#00629b}.ieeesa-question-editor__textarea{resize:vertical}.ieeesa-question-editor__required-row{margin-bottom:16px}.ieeesa-question-editor__required-hint{color:#777a7e}.ieeesa-question-editor__switch{position:relative;display:inline-block;width:40px;height:20px}.ieeesa-question-editor__switch input{opacity:0;width:0;height:0}.ieeesa-question-editor__switch input:checked+.ieeesa-question-editor__slider{background-color:#00629b}.ieeesa-question-editor__switch input:checked+.ieeesa-question-editor__slider:before{transform:translate(20px)}.ieeesa-question-editor__slider{position:absolute;inset:0;cursor:pointer;background-color:#a7a8aa;border-radius:20px;transition:background-color .2s}.ieeesa-question-editor__slider:before{content:\"\";position:absolute;height:16px;width:16px;left:2px;bottom:2px;background-color:#fff;border-radius:50%;transition:transform .2s}.ieeesa-question-editor__actions{margin-top:8px}.ieeesa-question-editor__cancel{background:none;border:1px solid #00629b;color:#00629b;font-weight:600;border-radius:4px;padding:8px 20px;cursor:pointer}.ieeesa-question-editor__save{background-color:#00629b;color:#fff;border:none;border-radius:4px;padding:8px 20px;cursor:pointer}.ieeesa-question-editor__save:disabled{background-color:#c0c7cd;color:#fff;cursor:not-allowed}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
146
|
+
}
|
|
147
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CustomQuestionEditorComponent, decorators: [{
|
|
148
|
+
type: Component,
|
|
149
|
+
args: [{ selector: 'ieeesa-custom-question-editor', standalone: true, imports: [CommonModule, ReactiveFormsModule], encapsulation: ViewEncapsulation.None, template: "<form [formGroup]=\"form\" class=\"ieeesa-question-editor\">\r\n <div class=\"ieeesa-question-editor__grid\">\r\n <div class=\"ieeesa-question-editor__field\">\r\n <label class=\"ieeesa-question-editor__label ieeesa-body-sm-14\">\r\n {{ editorTexts?.labelLabel }}\r\n <span class=\"ieeesa-question-editor__required-mark\">*</span>\r\n </label>\r\n <input\r\n type=\"text\"\r\n class=\"ieeesa-question-editor__input ieeesa-body-sm-14\"\r\n formControlName=\"label\"\r\n [attr.placeholder]=\"editorTexts?.typeHerePlaceholder\"\r\n [attr.aria-label]=\"editorTexts?.labelLabel\"\r\n />\r\n </div>\r\n\r\n <div class=\"ieeesa-question-editor__field\">\r\n <label class=\"ieeesa-question-editor__label ieeesa-body-sm-14\">\r\n {{ editorTexts?.typeLabel }}\r\n </label>\r\n <select\r\n class=\"ieeesa-question-editor__input ieeesa-body-sm-14\"\r\n formControlName=\"type\"\r\n [attr.aria-label]=\"editorTexts?.typeLabel\"\r\n >\r\n <option [ngValue]=\"null\" disabled>\r\n {{ editorTexts?.selectPlaceholder }}\r\n </option>\r\n <option\r\n *ngFor=\"let option of typeOptions\"\r\n [ngValue]=\"option.value\"\r\n >\r\n {{ option.label }}\r\n </option>\r\n </select>\r\n </div>\r\n </div>\r\n\r\n <div class=\"ieeesa-question-editor__required-row d-flex align-items-center gap-2\">\r\n <span class=\"ieeesa-question-editor__label ieeesa-body-sm-14\">{{\r\n editorTexts?.requiredLabel\r\n }}</span>\r\n <label class=\"ieeesa-question-editor__switch\">\r\n <input type=\"checkbox\" formControlName=\"required\" />\r\n <span class=\"ieeesa-question-editor__slider\"></span>\r\n </label>\r\n <span class=\"ieeesa-question-editor__required-hint ieeesa-body-sm-14\">{{\r\n editorTexts?.requiredLabel\r\n }}</span>\r\n </div>\r\n\r\n <div class=\"ieeesa-question-editor__grid\">\r\n <div class=\"ieeesa-question-editor__field\">\r\n <label class=\"ieeesa-question-editor__label ieeesa-body-sm-14\">\r\n {{ editorTexts?.placeholderLabel }}\r\n </label>\r\n <input\r\n type=\"text\"\r\n class=\"ieeesa-question-editor__input ieeesa-body-sm-14\"\r\n formControlName=\"placeholder\"\r\n [attr.placeholder]=\"editorTexts?.typeHerePlaceholder\"\r\n [attr.aria-label]=\"editorTexts?.placeholderLabel\"\r\n />\r\n </div>\r\n\r\n <div class=\"ieeesa-question-editor__field\">\r\n <label class=\"ieeesa-question-editor__label ieeesa-body-sm-14\">\r\n {{ editorTexts?.helpTextLabel }}\r\n </label>\r\n <input\r\n type=\"text\"\r\n class=\"ieeesa-question-editor__input ieeesa-body-sm-14\"\r\n formControlName=\"helpText\"\r\n [attr.placeholder]=\"editorTexts?.typeHerePlaceholder\"\r\n [attr.aria-label]=\"editorTexts?.helpTextLabel\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"isChoiceType\" class=\"ieeesa-question-editor__field\">\r\n <label class=\"ieeesa-question-editor__label ieeesa-body-sm-14\">\r\n {{ editorTexts?.optionsLabel }}\r\n </label>\r\n <textarea\r\n class=\"ieeesa-question-editor__textarea ieeesa-body-sm-14\"\r\n formControlName=\"options\"\r\n rows=\"5\"\r\n [attr.placeholder]=\"editorTexts?.typeHerePlaceholder\"\r\n [attr.aria-label]=\"editorTexts?.optionsLabel\"\r\n ></textarea>\r\n </div>\r\n\r\n <div class=\"ieeesa-question-editor__actions d-flex gap-3\">\r\n <button\r\n type=\"button\"\r\n class=\"ieeesa-question-editor__cancel\"\r\n (click)=\"onCancel()\"\r\n [attr.aria-label]=\"editorTexts?.cancel\"\r\n >\r\n {{ editorTexts?.cancel }}\r\n </button>\r\n <button\r\n type=\"button\"\r\n class=\"ieeesa-question-editor__save\"\r\n [disabled]=\"isSaveDisabled\"\r\n (click)=\"onSave()\"\r\n [attr.aria-label]=\"editorTexts?.save\"\r\n >\r\n {{ editorTexts?.save }}\r\n </button>\r\n </div>\r\n</form>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-sm-12{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:focus{background:#1f75a7}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:focus{background:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:focus{background-color:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: unset}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-wrapper-border{border:1px solid #b2b7be;border-top:none;padding:1.5em;border-radius:0 0 4px 4px}.ieeesa-question-editor__grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.ieeesa-question-editor__field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.ieeesa-question-editor__label{font-weight:600;color:#1c1d1e}.ieeesa-question-editor__required-mark{color:#b3261e}.ieeesa-question-editor__input,.ieeesa-question-editor__textarea{width:100%;padding:10px 12px;border:1px solid #d7d6d6;border-radius:4px;background:#fff;color:#1c1d1e}.ieeesa-question-editor__input:focus,.ieeesa-question-editor__textarea:focus{outline:none;border-color:#00629b}.ieeesa-question-editor__textarea{resize:vertical}.ieeesa-question-editor__required-row{margin-bottom:16px}.ieeesa-question-editor__required-hint{color:#777a7e}.ieeesa-question-editor__switch{position:relative;display:inline-block;width:40px;height:20px}.ieeesa-question-editor__switch input{opacity:0;width:0;height:0}.ieeesa-question-editor__switch input:checked+.ieeesa-question-editor__slider{background-color:#00629b}.ieeesa-question-editor__switch input:checked+.ieeesa-question-editor__slider:before{transform:translate(20px)}.ieeesa-question-editor__slider{position:absolute;inset:0;cursor:pointer;background-color:#a7a8aa;border-radius:20px;transition:background-color .2s}.ieeesa-question-editor__slider:before{content:\"\";position:absolute;height:16px;width:16px;left:2px;bottom:2px;background-color:#fff;border-radius:50%;transition:transform .2s}.ieeesa-question-editor__actions{margin-top:8px}.ieeesa-question-editor__cancel{background:none;border:1px solid #00629b;color:#00629b;font-weight:600;border-radius:4px;padding:8px 20px;cursor:pointer}.ieeesa-question-editor__save{background-color:#00629b;color:#fff;border:none;border-radius:4px;padding:8px 20px;cursor:pointer}.ieeesa-question-editor__save:disabled{background-color:#c0c7cd;color:#fff;cursor:not-allowed}\n"] }]
|
|
150
|
+
}], ctorParameters: function () { return [{ type: i1.FormBuilder }]; }, propDecorators: { question: [{
|
|
151
|
+
type: Input
|
|
152
|
+
}], save: [{
|
|
153
|
+
type: Output
|
|
154
|
+
}], cancel: [{
|
|
155
|
+
type: Output
|
|
156
|
+
}] } });
|
|
157
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXF1ZXN0aW9uLWVkaXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncm91cHMvc3JjL2xpYi9jb21wb25lbnRzL2N1c3RvbS1xdWVzdGlvbi1lZGl0b3IvY3VzdG9tLXF1ZXN0aW9uLWVkaXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncm91cHMvc3JjL2xpYi9jb21wb25lbnRzL2N1c3RvbS1xdWVzdGlvbi1lZGl0b3IvY3VzdG9tLXF1ZXN0aW9uLWVkaXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUdMLG1CQUFtQixFQUNuQixVQUFVLEdBQ1gsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQ0wsa0JBQWtCLEVBRWxCLGlCQUFpQixHQUNsQixNQUFNLG9DQUFvQyxDQUFDO0FBQzVDLE9BQU8sS0FBSyxTQUFTLE1BQU0sNkJBQTZCLENBQUM7Ozs7QUFFekQ7Ozs7Ozs7O0dBUUc7QUFTSCxNQUFNLE9BQU8sNkJBQTZCO0lBNkJ4QywwQ0FBMEM7SUFDMUMsWUFBb0IsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUE3QjVDLDhEQUE4RDtRQUM5RCxjQUFTLEdBQVEsU0FBUyxDQUFDO1FBQzNCLGdCQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLGNBQWMsQ0FBQztRQUM1RSxjQUFTLEdBQUcsaUJBQWlCLENBQUM7UUFDOUIsZ0JBQVcsR0FBRztZQUNaLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixD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QUU7WUFDaEMsT0FBTyxFQUFFLElBQUksQ0FBQyxZQUFZO2dCQUN4QixDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3JDLENBQUMsQ0FBQyxTQUFTO1NBQ2QsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNILFFBQVE7UUFDTixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3JCLENBQUM7K0dBcElVLDZCQUE2QjttR0FBN0IsNkJBQTZCLHdLQ3ZDMUMsNmhJQWdIQSwyblZEOUVZLFlBQVksK1BBQUUsbUJBQW1COzs0RkFLaEMsNkJBQTZCO2tCQVJ6QyxTQUFTOytCQUNFLCtCQUErQixjQUM3QixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLENBQUMsaUJBRzdCLGlCQUFpQixDQUFDLElBQUk7a0dBeUI1QixRQUFRO3NCQUFoQixLQUFLO2dCQUNJLElBQUk7c0JBQWIsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtcclxuICBGb3JtQnVpbGRlcixcclxuICBGb3JtR3JvdXAsXHJcbiAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICBWYWxpZGF0b3JzLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHtcclxuICBDSE9JQ0VfRklFTERfVFlQRVMsXHJcbiAgQ3VzdG9tUXVlc3Rpb24sXHJcbiAgUXVlc3Rpb25GaWVsZFR5cGUsXHJcbn0gZnJvbSAnLi4vLi4vbW9kZWxzL2N1c3RvbS1xdWVzdGlvbi5tb2RlbCc7XHJcbmltcG9ydCAqIGFzIGNvbnN0YW50cyBmcm9tICcuLi8uLi9hc3NldHMvY29uc3RhbnRzLmpzb24nO1xyXG5cclxuLyoqXHJcbiAqIEVkaXRhYmxlIGNhcmQgZm9yIGEgc2luZ2xlIGN1c3RvbSBpbnRlcmVzdC1mb3JtIHF1ZXN0aW9uIChTUDNNLTMxNykuIFJlbmRlcnNcclxuICogdGhlIFF1ZXN0aW9uIExhYmVsLCBUeXBlLCBSZXF1aXJlZCB0b2dnbGUsIFBsYWNlaG9sZGVyLCBIZWxwIFRleHQgYW5kIChmb3JcclxuICogY2hvaWNlIHR5cGVzKSBPcHRpb25zIGZpZWxkcy4gRW1pdHMgc2F2ZS9jYW5jZWwgc28gdGhlIHBhcmVudCBtYW5hZ2VzIHRoZVxyXG4gKiBxdWVzdGlvbnMgbGlzdC4gVGhlIE9wdGlvbnMgZmllbGQgaXMgb25seSBzaG93biBmb3IgY2hvaWNlIGZpZWxkIHR5cGVzXHJcbiAqIChTRUxFQ1QgLyBDSEVDS0JPWCAvIFJBRElPKSwgbWF0Y2hpbmcgdGhlIGJhY2tlbmQncyBjaG9pY2UtdHlwZSB2YWxpZGF0aW9uLlxyXG4gKiBAZXhwb3J0XHJcbiAqIEBjbGFzcyBDdXN0b21RdWVzdGlvbkVkaXRvckNvbXBvbmVudFxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZWVlc2EtY3VzdG9tLXF1ZXN0aW9uLWVkaXRvcicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vY3VzdG9tLXF1ZXN0aW9uLWVkaXRvci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY3VzdG9tLXF1ZXN0aW9uLWVkaXRvci5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDdXN0b21RdWVzdGlvbkVkaXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBjb25zdGFudHM6IGFueSA9IGNvbnN0YW50cztcclxuICBlZGl0b3JUZXh0cyA9IHRoaXMuY29uc3RhbnRzPy5yb3N0ZXJJbnRlcmVzdHM/LmludGVyZXN0Rm9ybT8ucXVlc3Rpb25FZGl0b3I7XHJcbiAgZmllbGRUeXBlID0gUXVlc3Rpb25GaWVsZFR5cGU7XHJcbiAgdHlwZU9wdGlvbnMgPSBbXHJcbiAgICB7IHZhbHVlOiBRdWVzdGlvbkZpZWxkVHlwZS5URVhULCBsYWJlbDogdGhpcy5lZGl0b3JUZXh0cz8udHlwZXM/LnRleHQgfSxcclxuICAgIHtcclxuICAgICAgdmFsdWU6IFF1ZXN0aW9uRmllbGRUeXBlLlRFWFRBUkVBLFxyXG4gICAgICBsYWJlbDogdGhpcy5lZGl0b3JUZXh0cz8udHlwZXM/LnRleHRBcmVhLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgdmFsdWU6IFF1ZXN0aW9uRmllbGRUeXBlLlNFTEVDVCxcclxuICAgICAgbGFiZWw6IHRoaXMuZWRpdG9yVGV4dHM/LnR5cGVzPy5kcm9wZG93bixcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHZhbHVlOiBRdWVzdGlvbkZpZWxkVHlwZS5DSEVDS0JPWCxcclxuICAgICAgbGFiZWw6IHRoaXMuZWRpdG9yVGV4dHM/LnR5cGVzPy5jaGVja2JveCxcclxuICAgIH0sXHJcbiAgICB7IHZhbHVlOiBRdWVzdGlvbkZpZWxkVHlwZS5SQURJTywgbGFiZWw6IHRoaXMuZWRpdG9yVGV4dHM/LnR5cGVzPy5yYWRpbyB9LFxyXG4gICAgeyB2YWx1ZTogUXVlc3Rpb25GaWVsZFR5cGUuREFURSwgbGFiZWw6IHRoaXMuZWRpdG9yVGV4dHM/LnR5cGVzPy5kYXRlIH0sXHJcbiAgXTtcclxuXHJcbiAgQElucHV0KCkgcXVlc3Rpb24hOiBDdXN0b21RdWVzdGlvbjtcclxuICBAT3V0cHV0KCkgc2F2ZSA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tUXVlc3Rpb24+KCk7XHJcbiAgQE91dHB1dCgpIGNhbmNlbCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgZm9ybSE6IEZvcm1Hcm91cDtcclxuXHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIpIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIEJ1aWxkcyB0aGUgcmVhY3RpdmUgZm9ybSwgc2VlZGluZyB2YWx1ZXMgZnJvbSB0aGUgcXVlc3Rpb24gYmVpbmcgZWRpdGVkLlxyXG4gICAqIFRoZSBxdWVzdGlvbidzIG9wdGlvbnMgYXJlIHN0b3JlZCBhcyBhIHJhdyBKU09OIHN0cmluZywgc28gdGhleSBhcmUgcGFyc2VkXHJcbiAgICogaW50byBvbmUtcGVyLWxpbmUgdGV4dCBmb3IgZWRpdGluZy5cclxuICAgKiBAbWVtYmVyb2YgQ3VzdG9tUXVlc3Rpb25FZGl0b3JDb21wb25lbnRcclxuICAgKi9cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xyXG4gICAgICBsYWJlbDogW3RoaXMucXVlc3Rpb24/LnF1ZXN0aW9uTGFiZWwgPz8gJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXHJcbiAgICAgIHR5cGU6IFt0aGlzLnF1ZXN0aW9uPy5maWVsZFR5cGUgPz8gbnVsbCwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcclxuICAgICAgcmVxdWlyZWQ6IFt0aGlzLnF1ZXN0aW9uPy5pc1JlcXVpcmVkID8/IHRydWVdLFxyXG4gICAgICBwbGFjZWhvbGRlcjogW3RoaXMucXVlc3Rpb24/LnBsYWNlaG9sZGVyID8/ICcnXSxcclxuICAgICAgaGVscFRleHQ6IFt0aGlzLnF1ZXN0aW9uPy5oZWxwVGV4dCA/PyAnJ10sXHJcbiAgICAgIG9wdGlvbnM6IFt0aGlzLnBhcnNlT3B0aW9uc1N0cmluZyh0aGlzLnF1ZXN0aW9uPy5vcHRpb25zKV0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFBhcnNlcyBhIHN0b3JlZCBvcHRpb25zIEpTT04gc3RyaW5nIGludG8gb25lLXBlci1saW5lIHRleHQgZm9yIHRoZSB0ZXh0YXJlYS5cclxuICAgKiBAcGFyYW0geyhzdHJpbmcgfCB1bmRlZmluZWQpfSBvcHRpb25zSnNvblxyXG4gICAqIEByZXR1cm4ge3N0cmluZ31cclxuICAgKiBAbWVtYmVyb2YgQ3VzdG9tUXVlc3Rpb25FZGl0b3JDb21wb25lbnRcclxuICAgKi9cclxuICBwYXJzZU9wdGlvbnNTdHJpbmcob3B0aW9uc0pzb246IHN0cmluZyB8IHVuZGVmaW5lZCk6IHN0cmluZyB7XHJcbiAgICBpZiAoIW9wdGlvbnNKc29uKSByZXR1cm4gJyc7XHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCBwYXJzZWQgPSBKU09OLnBhcnNlKG9wdGlvbnNKc29uKTtcclxuICAgICAgcmV0dXJuIEFycmF5LmlzQXJyYXkocGFyc2VkKSA/IHBhcnNlZC5qb2luKCdcXG4nKSA6ICcnO1xyXG4gICAgfSBjYXRjaCB7XHJcbiAgICAgIHJldHVybiAnJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZXRoZXIgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0eXBlIHJlcXVpcmVzIGFuIG9wdGlvbnMgbGlzdC5cclxuICAgKiBAcmV0dXJuIHtib29sZWFufVxyXG4gICAqIEBtZW1iZXJvZiBDdXN0b21RdWVzdGlvbkVkaXRvckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIGdldCBpc0Nob2ljZVR5cGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gQ0hPSUNFX0ZJRUxEX1RZUEVTLmluY2x1ZGVzKFxyXG4gICAgICB0aGlzLmZvcm0/LmdldCgndHlwZScpPy52YWx1ZSBhcyBRdWVzdGlvbkZpZWxkVHlwZVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFBhcnNlcyB0aGUgb3B0aW9ucyB0ZXh0YXJlYSBpbnRvIGEgdHJpbW1lZCwgbm9uLWVtcHR5IHN0cmluZyBhcnJheSxcclxuICAgKiBzdHJpcHBpbmcgdHJhaWxpbmcgY29tbWFzLlxyXG4gICAqIEByZXR1cm4ge3N0cmluZ1tdfVxyXG4gICAqIEBtZW1iZXJvZiBDdXN0b21RdWVzdGlvbkVkaXRvckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIHBhcnNlT3B0aW9ucygpOiBzdHJpbmdbXSB7XHJcbiAgICBjb25zdCByYXcgPSAodGhpcy5mb3JtPy5nZXQoJ29wdGlvbnMnKT8udmFsdWUgPz8gJycpIGFzIHN0cmluZztcclxuICAgIHJldHVybiByYXdcclxuICAgICAgLnNwbGl0KCdcXG4nKVxyXG4gICAgICAubWFwKChvcHRpb24pID0+IG9wdGlvbi50cmltKCkucmVwbGFjZSgvLCskLywgJycpLnRyaW0oKSlcclxuICAgICAgLmZpbHRlcigob3B0aW9uKSA9PiBvcHRpb24ubGVuZ3RoID4gMCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBXaGV0aGVyIHRoZSBlZGl0b3IgaXMgdmFsaWQ6IGxhYmVsIGFuZCB0eXBlIGFyZSByZXF1aXJlZCwgYW5kIGNob2ljZSB0eXBlc1xyXG4gICAqIHJlcXVpcmUgYXQgbGVhc3Qgb25lIG9wdGlvbi5cclxuICAgKiBAcmV0dXJuIHtib29sZWFufVxyXG4gICAqIEBtZW1iZXJvZiBDdXN0b21RdWVzdGlvbkVkaXRvckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIGdldCBpc1NhdmVEaXNhYmxlZCgpOiBib29sZWFuIHtcclxuICAgIGlmICh0aGlzLmZvcm0/LmludmFsaWQpIHJldHVybiB0cnVlO1xyXG4gICAgaWYgKHRoaXMuaXNDaG9pY2VUeXBlICYmIHRoaXMucGFyc2VPcHRpb25zKCkubGVuZ3RoID09PSAwKSByZXR1cm4gdHJ1ZTtcclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEVtaXRzIHRoZSBhc3NlbWJsZWQgcXVlc3Rpb24gb24gc2F2ZS4gT3B0aW9ucyBhcmUgc2VyaWFsaXplZCB0byBhIEpTT05cclxuICAgKiBzdHJpbmcgdG8gbWF0Y2ggdGhlIGJhY2tlbmQncyBKU09OQiBjb2x1bW4uXHJcbiAgICogQG1lbWJlcm9mIEN1c3RvbVF1ZXN0aW9uRWRpdG9yQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25TYXZlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5mb3JtLm1hcmtBbGxBc1RvdWNoZWQoKTtcclxuICAgIGlmICh0aGlzLmlzU2F2ZURpc2FibGVkKSByZXR1cm47XHJcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZm9ybS5nZXRSYXdWYWx1ZSgpO1xyXG4gICAgdGhpcy5zYXZlLmVtaXQoe1xyXG4gICAgICBxdWVzdGlvbklkOiB0aGlzLnF1ZXN0aW9uPy5xdWVzdGlvbklkLFxyXG4gICAgICBncm91cElkOiB0aGlzLnF1ZXN0aW9uPy5ncm91cElkLFxyXG4gICAgICB2aWV3T3JkZXI6IHRoaXMucXVlc3Rpb24/LnZpZXdPcmRlcixcclxuICAgICAgcXVlc3Rpb25MYWJlbDogdmFsdWUubGFiZWw/LnRyaW0oKSxcclxuICAgICAgZmllbGRUeXBlOiB2YWx1ZS50eXBlLFxyXG4gICAgICBpc1JlcXVpcmVkOiB2YWx1ZS5yZXF1aXJlZCxcclxuICAgICAgcGxhY2Vob2xkZXI6IHZhbHVlLnBsYWNlaG9sZGVyPy50cmltKCksXHJcbiAgICAgIGhlbHBUZXh0OiB2YWx1ZS5oZWxwVGV4dD8udHJpbSgpLFxyXG4gICAgICBvcHRpb25zOiB0aGlzLmlzQ2hvaWNlVHlwZVxyXG4gICAgICAgID8gSlNPTi5zdHJpbmdpZnkodGhpcy5wYXJzZU9wdGlvbnMoKSlcclxuICAgICAgICA6IHVuZGVmaW5lZCxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRW1pdHMgdGhlIGNhbmNlbCBldmVudC5cclxuICAgKiBAbWVtYmVyb2YgQ3VzdG9tUXVlc3Rpb25FZGl0b3JDb21wb25lbnRcclxuICAgKi9cclxuICBvbkNhbmNlbCgpOiB2b2lkIHtcclxuICAgIHRoaXMuY2FuY2VsLmVtaXQoKTtcclxuICB9XHJcbn1cclxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCIgY2xhc3M9XCJpZWVlc2EtcXVlc3Rpb24tZWRpdG9yXCI+XHJcbiAgPGRpdiBjbGFzcz1cImllZWVzYS1xdWVzdGlvbi1lZGl0b3JfX2dyaWRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJpZWVlc2EtcXVlc3Rpb24tZWRpdG9yX19maWVsZFwiPlxyXG4gICAgICA8bGFiZWwgY2xhc3M9XCJpZWVlc2EtcXVlc3Rpb24tZWRpdG9yX19sYWJlbCBpZWVlc2EtYm9keS1zbS0xNFwiPlxyXG4gICAgICAgIHt7IGVkaXRvclRleHRzPy5sYWJlbExhYmVsIH19XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJpZWVlc2EtcXVlc3Rpb24tZWRpdG9yX19yZXF1aXJlZC1tYXJrXCI+Kjwvc3Bhbj5cclxuICAgICAgPC9sYWJlbD5cclxuICAgICAgPGlucHV0XHJcbiAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgIGNsYXNzPVwiaWVlZXNhLXF1ZXN0aW9uLWVkaXRvcl9faW5wdXQgaWVlZXNhLWJvZHktc20tMTRcIlxyXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT1cImxhYmVsXCJcclxuICAgICAgICBbYXR0ci5wbGFjZWhvbGRlcl09XCJlZGl0b3JUZXh0cz8udHlwZUhlcmVQbGFjZWhvbGRlclwiXHJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJlZGl0b3JUZXh0cz8ubGFiZWxMYWJlbFwiXHJcbiAgICAgIC8+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiaWVlZXNhLXF1ZXN0aW9uLWVkaXRvcl9fZmllbGRcIj5cclxuICAgICAgPGxhYmVsIGNsYXNzPVwiaWVlZXNhLXF1ZXN0aW9uLWVkaXRvcl9fbGFiZWwgaWVlZXNhLWJvZHktc20tMTRcIj5cclxuICAgICAgICB7eyBlZGl0b3JUZXh0cz8udHlwZUxhYmVsIH19XHJcbiAgICAgIDwvbGFiZWw+XHJcbiAgICAgIDxzZWxlY3RcclxuICAgICAgICBjbGFzcz1cImllZWVzYS1xdWVzdGlvbi1lZGl0b3JfX2lucHV0IGllZWVzYS1ib2R5LXNtLTE0XCJcclxuICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ0eXBlXCJcclxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImVkaXRvclRleHRzPy50eXBlTGFiZWxcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPG9wdGlvbiBbbmdWYWx1ZV09XCJudWxsXCIgZGlzYWJsZWQ+XHJcbiAgICAgICAgICB7eyBlZGl0b3JUZXh0cz8uc2VsZWN0UGxhY2Vob2xkZXIgfX1cclxuICAgICAgICA8L29wdGlvbj5cclxuICAgICAgICA8b3B0aW9uXHJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIHR5cGVPcHRpb25zXCJcclxuICAgICAgICAgIFtuZ1ZhbHVlXT1cIm9wdGlvbi52YWx1ZVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAge3sgb3B0aW9uLmxhYmVsIH19XHJcbiAgICAgICAgPC9vcHRpb24+XHJcbiAgICAgIDwvc2VsZWN0PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJpZWVlc2EtcXVlc3Rpb24tZWRpdG9yX19yZXF1aXJlZC1yb3cgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMlwiPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJpZWVlc2EtcXVlc3Rpb24tZWRpdG9yX19sYWJlbCBpZWVlc2EtYm9keS1zbS0xNFwiPnt7XHJcbiAgICAgIGVkaXRvclRleHRzPy5yZXF1aXJlZExhYmVsXHJcbiAgICB9fTwvc3Bhbj5cclxuICAgIDxsYWJlbCBjbGFzcz1cImllZWVzYS1xdWVzdGlvbi1lZGl0b3JfX3N3aXRjaFwiPlxyXG4gICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgZm9ybUNvbnRyb2xOYW1lPVwicmVxdWlyZWRcIiAvPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cImllZWVzYS1xdWVzdGlvbi1lZGl0b3JfX3NsaWRlclwiPjwvc3Bhbj5cclxuICAgIDwvbGFiZWw+XHJcbiAgICA8c3BhbiBjbGFzcz1cImllZWVzYS1xdWVzdGlvbi1lZGl0b3JfX3JlcXVpcmVkLWhpbnQgaWVlZXNhLWJvZHktc20tMTRcIj57e1xyXG4gICAgICBlZGl0b3JUZXh0cz8ucmVxdWlyZWRMYWJlbFxyXG4gICAgfX08L3NwYW4+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJpZWVlc2EtcXVlc3Rpb24tZWRpdG9yX19ncmlkXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaWVlZXNhLXF1ZXN0aW9uLWVkaXRvcl9fZmllbGRcIj5cclxuICAgICAgPGxhYmVsIGNsYXNzPVwiaWVlZXNhLXF1ZXN0aW9uLWVkaXRvcl9fbGFiZWwgaWVlZXNhLWJvZHktc20tMTRcIj5cclxuICAgICAgICB7eyBlZGl0b3JUZXh0cz8ucGxhY2Vob2xkZXJMYWJlbCB9fVxyXG4gICAgICA8L2xhYmVsPlxyXG4gICAgICA8aW5wdXRcclxuICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgY2xhc3M9XCJpZWVlc2EtcXVlc3Rpb24tZWRpdG9yX19pbnB1dCBpZWVlc2EtYm9keS1zbS0xNFwiXHJcbiAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cImVkaXRvclRleHRzPy50eXBlSGVyZVBsYWNlaG9sZGVyXCJcclxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImVkaXRvclRleHRzPy5wbGFjZWhvbGRlckxhYmVsXCJcclxuICAgICAgLz5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJpZWVlc2EtcXVlc3Rpb24tZWRpdG9yX19maWVsZFwiPlxyXG4gICAgICA8bGFiZWwgY2xhc3M9XCJpZWVlc2EtcXVlc3Rpb24tZWRpdG9yX19sYWJlbCBpZWVlc2EtYm9keS1zbS0xNFwiPlxyXG4gICAgICAgIHt7IGVkaXRvclRleHRzPy5oZWxwVGV4dExhYmVsIH19XHJcbiAgICAgIDwvbGFiZWw+XHJcbiAgICAgIDxpbnB1dFxyXG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICBjbGFzcz1cImllZWVzYS1xdWVzdGlvbi1lZGl0b3JfX2lucHV0IGllZWVzYS1ib2R5LXNtLTE0XCJcclxuICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJoZWxwVGV4dFwiXHJcbiAgICAgICAgW2F0dHIucGxhY2Vob2xkZXJdPVwiZWRpdG9yVGV4dHM/LnR5cGVIZXJlUGxhY2Vob2xkZXJcIlxyXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZWRpdG9yVGV4dHM/LmhlbHBUZXh0TGFiZWxcIlxyXG4gICAgICAvPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgKm5nSWY9XCJpc0Nob2ljZVR5cGVcIiBjbGFzcz1cImllZWVzYS1xdWVzdGlvbi1lZGl0b3JfX2ZpZWxkXCI+XHJcbiAgICA8bGFiZWwgY2xhc3M9XCJpZWVlc2EtcXVlc3Rpb24tZWRpdG9yX19sYWJlbCBpZWVlc2EtYm9keS1zbS0xNFwiPlxyXG4gICAgICB7eyBlZGl0b3JUZXh0cz8ub3B0aW9uc0xhYmVsIH19XHJcbiAgICA8L2xhYmVsPlxyXG4gICAgPHRleHRhcmVhXHJcbiAgICAgIGNsYXNzPVwiaWVlZXNhLXF1ZXN0aW9uLWVkaXRvcl9fdGV4dGFyZWEgaWVlZXNhLWJvZHktc20tMTRcIlxyXG4gICAgICBmb3JtQ29udHJvbE5hbWU9XCJvcHRpb25zXCJcclxuICAgICAgcm93cz1cIjVcIlxyXG4gICAgICBbYXR0ci5wbGFjZWhvbGRlcl09XCJlZGl0b3JUZXh0cz8udHlwZUhlcmVQbGFjZWhvbGRlclwiXHJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZWRpdG9yVGV4dHM/Lm9wdGlvbnNMYWJlbFwiXHJcbiAgICA+PC90ZXh0YXJlYT5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImllZWVzYS1xdWVzdGlvbi1lZGl0b3JfX2FjdGlvbnMgZC1mbGV4IGdhcC0zXCI+XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICBjbGFzcz1cImllZWVzYS1xdWVzdGlvbi1lZGl0b3JfX2NhbmNlbFwiXHJcbiAgICAgIChjbGljayk9XCJvbkNhbmNlbCgpXCJcclxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJlZGl0b3JUZXh0cz8uY2FuY2VsXCJcclxuICAgID5cclxuICAgICAge3sgZWRpdG9yVGV4dHM/LmNhbmNlbCB9fVxyXG4gICAgPC9idXR0b24+XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICBjbGFzcz1cImllZWVzYS1xdWVzdGlvbi1lZGl0b3JfX3NhdmVcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiaXNTYXZlRGlzYWJsZWRcIlxyXG4gICAgICAoY2xpY2spPVwib25TYXZlKClcIlxyXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImVkaXRvclRleHRzPy5zYXZlXCJcclxuICAgID5cclxuICAgICAge3sgZWRpdG9yVGV4dHM/LnNhdmUgfX1cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L2Zvcm0+XHJcbiJdfQ==
|