@ieeesa-npm/groups 0.15.14 → 0.15.16
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 +43 -5
- package/esm2022/lib/components/custom-question-editor/custom-question-editor.component.mjs +164 -0
- package/esm2022/lib/components/interest-form/interest-form.component.mjs +435 -27
- package/esm2022/lib/components/interest-form-preview/interest-form-preview.component.mjs +63 -0
- package/esm2022/lib/components/roster-import/roster-import.component.mjs +27 -10
- package/esm2022/lib/models/custom-question.model.mjs +37 -0
- package/esm2022/lib/services/interest-form.service.mjs +186 -0
- package/esm2022/public-api.mjs +5 -1
- package/fesm2022/ieeesa-npm-groups.mjs +932 -47
- 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 +151 -16
- package/lib/components/interest-form-preview/interest-form-preview.component.d.ts +37 -0
- package/lib/components/roster-import/roster-import.component.d.ts +7 -1
- package/lib/models/custom-question.model.d.ts +72 -0
- package/lib/services/groups.service.d.ts +6 -0
- package/lib/services/interest-form.service.d.ts +114 -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": {
|
|
@@ -510,12 +548,12 @@
|
|
|
510
548
|
"2011": "User not found.",
|
|
511
549
|
"20l2": "First Name is required.",
|
|
512
550
|
"2013": "Last Name is required.",
|
|
513
|
-
"2014": "
|
|
551
|
+
"2014": "Representing Organization is required.",
|
|
514
552
|
"2015": "Representing Organization contains invalid characters. Please enter alphanumeric, special characters and whitespace only.",
|
|
515
553
|
"2016": "Representing Organization must not be greater than 250 characters long.",
|
|
516
|
-
"2017": "
|
|
517
|
-
"2018": "
|
|
518
|
-
"2019": "
|
|
554
|
+
"2017": "Classification is required.",
|
|
555
|
+
"2018": "Member Type is required.",
|
|
556
|
+
"2019": "Representing Organization is required.",
|
|
519
557
|
"2020": "Classification does not exist.",
|
|
520
558
|
"2021": "Member Type does not exist.",
|
|
521
559
|
"2022": "Representation Organization does not exist.",
|
|
@@ -0,0 +1,164 @@
|
|
|
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
|
+
// Options may already be a deserialized array (the shared contract allows
|
|
72
|
+
// string[]), so handle that before attempting to JSON.parse a raw string.
|
|
73
|
+
if (Array.isArray(optionsJson))
|
|
74
|
+
return optionsJson.join('\n');
|
|
75
|
+
try {
|
|
76
|
+
const parsed = JSON.parse(optionsJson);
|
|
77
|
+
return Array.isArray(parsed) ? parsed.join('\n') : '';
|
|
78
|
+
}
|
|
79
|
+
catch {
|
|
80
|
+
return '';
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Whether the currently selected type requires an options list.
|
|
85
|
+
* @return {boolean}
|
|
86
|
+
* @memberof CustomQuestionEditorComponent
|
|
87
|
+
*/
|
|
88
|
+
get isChoiceType() {
|
|
89
|
+
return CHOICE_FIELD_TYPES.includes(this.form?.get('type')?.value);
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Parses the options textarea into a trimmed, non-empty string array,
|
|
93
|
+
* stripping trailing commas.
|
|
94
|
+
* @return {string[]}
|
|
95
|
+
* @memberof CustomQuestionEditorComponent
|
|
96
|
+
*/
|
|
97
|
+
parseOptions() {
|
|
98
|
+
const raw = (this.form?.get('options')?.value ?? '');
|
|
99
|
+
return raw
|
|
100
|
+
.split('\n')
|
|
101
|
+
.map((option) => option.trim().replace(/,+$/, '').trim())
|
|
102
|
+
.filter((option) => option.length > 0);
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Whether the editor is valid: label and type are required, and choice types
|
|
106
|
+
* require at least one option.
|
|
107
|
+
* @return {boolean}
|
|
108
|
+
* @memberof CustomQuestionEditorComponent
|
|
109
|
+
*/
|
|
110
|
+
get isSaveDisabled() {
|
|
111
|
+
const label = this.form?.get('label')?.value;
|
|
112
|
+
// Validators.required accepts whitespace-only; onSave trims to '', so block
|
|
113
|
+
// save when the trimmed label is empty.
|
|
114
|
+
if (this.form?.invalid || !label?.trim())
|
|
115
|
+
return true;
|
|
116
|
+
if (this.isChoiceType && this.parseOptions().length === 0)
|
|
117
|
+
return true;
|
|
118
|
+
return false;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Emits the assembled question on save. Options are serialized to a JSON
|
|
122
|
+
* string to match the backend's JSONB column.
|
|
123
|
+
* @memberof CustomQuestionEditorComponent
|
|
124
|
+
*/
|
|
125
|
+
onSave() {
|
|
126
|
+
this.form.markAllAsTouched();
|
|
127
|
+
if (this.isSaveDisabled)
|
|
128
|
+
return;
|
|
129
|
+
const value = this.form.getRawValue();
|
|
130
|
+
this.save.emit({
|
|
131
|
+
questionId: this.question?.questionId,
|
|
132
|
+
groupId: this.question?.groupId,
|
|
133
|
+
viewOrder: this.question?.viewOrder,
|
|
134
|
+
questionLabel: value.label?.trim(),
|
|
135
|
+
fieldType: value.type,
|
|
136
|
+
isRequired: value.required,
|
|
137
|
+
placeholder: value.placeholder?.trim(),
|
|
138
|
+
helpText: value.helpText?.trim(),
|
|
139
|
+
options: this.isChoiceType
|
|
140
|
+
? JSON.stringify(this.parseOptions())
|
|
141
|
+
: undefined,
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Emits the cancel event.
|
|
146
|
+
* @memberof CustomQuestionEditorComponent
|
|
147
|
+
*/
|
|
148
|
+
onCancel() {
|
|
149
|
+
this.cancel.emit();
|
|
150
|
+
}
|
|
151
|
+
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 }); }
|
|
152
|
+
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\r\n type=\"checkbox\"\r\n formControlName=\"required\"\r\n [attr.aria-label]=\"editorTexts?.requiredLabel\"\r\n />\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 }); }
|
|
153
|
+
}
|
|
154
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CustomQuestionEditorComponent, decorators: [{
|
|
155
|
+
type: Component,
|
|
156
|
+
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\r\n type=\"checkbox\"\r\n formControlName=\"required\"\r\n [attr.aria-label]=\"editorTexts?.requiredLabel\"\r\n />\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"] }]
|
|
157
|
+
}], ctorParameters: function () { return [{ type: i1.FormBuilder }]; }, propDecorators: { question: [{
|
|
158
|
+
type: Input
|
|
159
|
+
}], save: [{
|
|
160
|
+
type: Output
|
|
161
|
+
}], cancel: [{
|
|
162
|
+
type: Output
|
|
163
|
+
}] } });
|
|
164
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXF1ZXN0aW9uLWVkaXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncm91cHMvc3JjL2xpYi9jb21wb25lbnRzL2N1c3RvbS1xdWVzdGlvbi1lZGl0b3IvY3VzdG9tLXF1ZXN0aW9uLWVkaXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncm91cHMvc3JjL2xpYi9jb21wb25lbnRzL2N1c3RvbS1xdWVzdGlvbi1lZGl0b3IvY3VzdG9tLXF1ZXN0aW9uLWVkaXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUdMLG1CQUFtQixFQUNuQixVQUFVLEdBQ1gsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQ0wsa0JBQWtCLEVBRWxCLGlCQUFpQixHQUNsQixNQUFNLG9DQUFvQyxDQUFDO0FBQzVDLE9BQU8sS0FBSyxTQUFTLE1BQU0sNkJBQTZCLENBQUM7Ozs7QUFFekQ7Ozs7Ozs7O0dBUUc7QUFTSCxNQUFNLE9BQU8sNkJBQTZCO0lBNkJ4QywwQ0FBMEM7SUFDMUMsWUFBb0IsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUE3QjVDLDhEQUE4RDtRQUM5RCxjQUFTLEdBQVEsU0FBUyxDQUFDO1FBQzNCLGdCQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLGNBQWMsQ0FBQztRQUM1RSxjQUFTLEdBQUcsaUJBQWlCLENBQUM7UUFDOUIsZ0JBQVcsR0FBRztZQUNaLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixD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LE9BQU87WUFDL0IsU0FBUyxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsU0FBUztZQUNuQyxhQUFhLEVBQUUsS0FBSyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUU7WUFDbEMsU0FBUyxFQUFFLEtBQUssQ0FBQyxJQUFJO1lBQ3JCLFVBQVUsRUFBRSxLQUFLLENBQUMsUUFBUTtZQUMxQixXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUU7WUFDdEMsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFO1lBQ2hDLE9BQU8sRUFBRSxJQUFJLENBQUMsWUFBWTtnQkFDeEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUNyQyxDQUFDLENBQUMsU0FBUztTQUNkLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSCxRQUFRO1FBQ04sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNyQixDQUFDOytHQTFJVSw2QkFBNkI7bUdBQTdCLDZCQUE2Qix3S0N2QzFDLHduSUFvSEEsMm5WRGxGWSxZQUFZLCtQQUFFLG1CQUFtQjs7NEZBS2hDLDZCQUE2QjtrQkFSekMsU0FBUzsrQkFDRSwrQkFBK0IsY0FDN0IsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLG1CQUFtQixDQUFDLGlCQUc3QixpQkFBaUIsQ0FBQyxJQUFJO2tHQXlCNUIsUUFBUTtzQkFBaEIsS0FBSztnQkFDSSxJQUFJO3NCQUFiLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7XHJcbiAgRm9ybUJ1aWxkZXIsXHJcbiAgRm9ybUdyb3VwLFxyXG4gIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgVmFsaWRhdG9ycyxcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7XHJcbiAgQ0hPSUNFX0ZJRUxEX1RZUEVTLFxyXG4gIEN1c3RvbVF1ZXN0aW9uLFxyXG4gIFF1ZXN0aW9uRmllbGRUeXBlLFxyXG59IGZyb20gJy4uLy4uL21vZGVscy9jdXN0b20tcXVlc3Rpb24ubW9kZWwnO1xyXG5pbXBvcnQgKiBhcyBjb25zdGFudHMgZnJvbSAnLi4vLi4vYXNzZXRzL2NvbnN0YW50cy5qc29uJztcclxuXHJcbi8qKlxyXG4gKiBFZGl0YWJsZSBjYXJkIGZvciBhIHNpbmdsZSBjdXN0b20gaW50ZXJlc3QtZm9ybSBxdWVzdGlvbiAoU1AzTS0zMTcpLiBSZW5kZXJzXHJcbiAqIHRoZSBRdWVzdGlvbiBMYWJlbCwgVHlwZSwgUmVxdWlyZWQgdG9nZ2xlLCBQbGFjZWhvbGRlciwgSGVscCBUZXh0IGFuZCAoZm9yXHJcbiAqIGNob2ljZSB0eXBlcykgT3B0aW9ucyBmaWVsZHMuIEVtaXRzIHNhdmUvY2FuY2VsIHNvIHRoZSBwYXJlbnQgbWFuYWdlcyB0aGVcclxuICogcXVlc3Rpb25zIGxpc3QuIFRoZSBPcHRpb25zIGZpZWxkIGlzIG9ubHkgc2hvd24gZm9yIGNob2ljZSBmaWVsZCB0eXBlc1xyXG4gKiAoU0VMRUNUIC8gQ0hFQ0tCT1ggLyBSQURJTyksIG1hdGNoaW5nIHRoZSBiYWNrZW5kJ3MgY2hvaWNlLXR5cGUgdmFsaWRhdGlvbi5cclxuICogQGV4cG9ydFxyXG4gKiBAY2xhc3MgQ3VzdG9tUXVlc3Rpb25FZGl0b3JDb21wb25lbnRcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWVlZXNhLWN1c3RvbS1xdWVzdGlvbi1lZGl0b3InLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2N1c3RvbS1xdWVzdGlvbi1lZGl0b3IuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2N1c3RvbS1xdWVzdGlvbi1lZGl0b3IuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ3VzdG9tUXVlc3Rpb25FZGl0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgY29uc3RhbnRzOiBhbnkgPSBjb25zdGFudHM7XHJcbiAgZWRpdG9yVGV4dHMgPSB0aGlzLmNvbnN0YW50cz8ucm9zdGVySW50ZXJlc3RzPy5pbnRlcmVzdEZvcm0/LnF1ZXN0aW9uRWRpdG9yO1xyXG4gIGZpZWxkVHlwZSA9IFF1ZXN0aW9uRmllbGRUeXBlO1xyXG4gIHR5cGVPcHRpb25zID0gW1xyXG4gICAgeyB2YWx1ZTogUXVlc3Rpb25GaWVsZFR5cGUuVEVYVCwgbGFiZWw6IHRoaXMuZWRpdG9yVGV4dHM/LnR5cGVzPy50ZXh0IH0sXHJcbiAgICB7XHJcbiAgICAgIHZhbHVlOiBRdWVzdGlvbkZpZWxkVHlwZS5URVhUQVJFQSxcclxuICAgICAgbGFiZWw6IHRoaXMuZWRpdG9yVGV4dHM/LnR5cGVzPy50ZXh0QXJlYSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHZhbHVlOiBRdWVzdGlvbkZpZWxkVHlwZS5TRUxFQ1QsXHJcbiAgICAgIGxhYmVsOiB0aGlzLmVkaXRvclRleHRzPy50eXBlcz8uZHJvcGRvd24sXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB2YWx1ZTogUXVlc3Rpb25GaWVsZFR5cGUuQ0hFQ0tCT1gsXHJcbiAgICAgIGxhYmVsOiB0aGlzLmVkaXRvclRleHRzPy50eXBlcz8uY2hlY2tib3gsXHJcbiAgICB9LFxyXG4gICAgeyB2YWx1ZTogUXVlc3Rpb25GaWVsZFR5cGUuUkFESU8sIGxhYmVsOiB0aGlzLmVkaXRvclRleHRzPy50eXBlcz8ucmFkaW8gfSxcclxuICAgIHsgdmFsdWU6IFF1ZXN0aW9uRmllbGRUeXBlLkRBVEUsIGxhYmVsOiB0aGlzLmVkaXRvclRleHRzPy50eXBlcz8uZGF0ZSB9LFxyXG4gIF07XHJcblxyXG4gIEBJbnB1dCgpIHF1ZXN0aW9uITogQ3VzdG9tUXVlc3Rpb247XHJcbiAgQE91dHB1dCgpIHNhdmUgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbVF1ZXN0aW9uPigpO1xyXG4gIEBPdXRwdXQoKSBjYW5jZWwgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIGZvcm0hOiBGb3JtR3JvdXA7XHJcblxyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyKSB7fVxyXG5cclxuICAvKipcclxuICAgKiBCdWlsZHMgdGhlIHJlYWN0aXZlIGZvcm0sIHNlZWRpbmcgdmFsdWVzIGZyb20gdGhlIHF1ZXN0aW9uIGJlaW5nIGVkaXRlZC5cclxuICAgKiBUaGUgcXVlc3Rpb24ncyBvcHRpb25zIGFyZSBzdG9yZWQgYXMgYSByYXcgSlNPTiBzdHJpbmcsIHNvIHRoZXkgYXJlIHBhcnNlZFxyXG4gICAqIGludG8gb25lLXBlci1saW5lIHRleHQgZm9yIGVkaXRpbmcuXHJcbiAgICogQG1lbWJlcm9mIEN1c3RvbVF1ZXN0aW9uRWRpdG9yQ29tcG9uZW50XHJcbiAgICovXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcclxuICAgICAgbGFiZWw6IFt0aGlzLnF1ZXN0aW9uPy5xdWVzdGlvbkxhYmVsID8/ICcnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxyXG4gICAgICB0eXBlOiBbdGhpcy5xdWVzdGlvbj8uZmllbGRUeXBlID8/IG51bGwsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXHJcbiAgICAgIHJlcXVpcmVkOiBbdGhpcy5xdWVzdGlvbj8uaXNSZXF1aXJlZCA/PyB0cnVlXSxcclxuICAgICAgcGxhY2Vob2xkZXI6IFt0aGlzLnF1ZXN0aW9uPy5wbGFjZWhvbGRlciA/PyAnJ10sXHJcbiAgICAgIGhlbHBUZXh0OiBbdGhpcy5xdWVzdGlvbj8uaGVscFRleHQgPz8gJyddLFxyXG4gICAgICBvcHRpb25zOiBbdGhpcy5wYXJzZU9wdGlvbnNTdHJpbmcodGhpcy5xdWVzdGlvbj8ub3B0aW9ucyldLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBQYXJzZXMgYSBzdG9yZWQgb3B0aW9ucyBKU09OIHN0cmluZyBpbnRvIG9uZS1wZXItbGluZSB0ZXh0IGZvciB0aGUgdGV4dGFyZWEuXHJcbiAgICogQHBhcmFtIHsoc3RyaW5nIHwgdW5kZWZpbmVkKX0gb3B0aW9uc0pzb25cclxuICAgKiBAcmV0dXJuIHtzdHJpbmd9XHJcbiAgICogQG1lbWJlcm9mIEN1c3RvbVF1ZXN0aW9uRWRpdG9yQ29tcG9uZW50XHJcbiAgICovXHJcbiAgcGFyc2VPcHRpb25zU3RyaW5nKG9wdGlvbnNKc29uOiBzdHJpbmdbXSB8IHN0cmluZyB8IHVuZGVmaW5lZCk6IHN0cmluZyB7XHJcbiAgICBpZiAoIW9wdGlvbnNKc29uKSByZXR1cm4gJyc7XHJcbiAgICAvLyBPcHRpb25zIG1heSBhbHJlYWR5IGJlIGEgZGVzZXJpYWxpemVkIGFycmF5ICh0aGUgc2hhcmVkIGNvbnRyYWN0IGFsbG93c1xyXG4gICAgLy8gc3RyaW5nW10pLCBzbyBoYW5kbGUgdGhhdCBiZWZvcmUgYXR0ZW1wdGluZyB0byBKU09OLnBhcnNlIGEgcmF3IHN0cmluZy5cclxuICAgIGlmIChBcnJheS5pc0FycmF5KG9wdGlvbnNKc29uKSkgcmV0dXJuIG9wdGlvbnNKc29uLmpvaW4oJ1xcbicpO1xyXG4gICAgdHJ5IHtcclxuICAgICAgY29uc3QgcGFyc2VkID0gSlNPTi5wYXJzZShvcHRpb25zSnNvbik7XHJcbiAgICAgIHJldHVybiBBcnJheS5pc0FycmF5KHBhcnNlZCkgPyBwYXJzZWQuam9pbignXFxuJykgOiAnJztcclxuICAgIH0gY2F0Y2gge1xyXG4gICAgICByZXR1cm4gJyc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBXaGV0aGVyIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdHlwZSByZXF1aXJlcyBhbiBvcHRpb25zIGxpc3QuXHJcbiAgICogQHJldHVybiB7Ym9vbGVhbn1cclxuICAgKiBAbWVtYmVyb2YgQ3VzdG9tUXVlc3Rpb25FZGl0b3JDb21wb25lbnRcclxuICAgKi9cclxuICBnZXQgaXNDaG9pY2VUeXBlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIENIT0lDRV9GSUVMRF9UWVBFUy5pbmNsdWRlcyhcclxuICAgICAgdGhpcy5mb3JtPy5nZXQoJ3R5cGUnKT8udmFsdWUgYXMgUXVlc3Rpb25GaWVsZFR5cGVcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBQYXJzZXMgdGhlIG9wdGlvbnMgdGV4dGFyZWEgaW50byBhIHRyaW1tZWQsIG5vbi1lbXB0eSBzdHJpbmcgYXJyYXksXHJcbiAgICogc3RyaXBwaW5nIHRyYWlsaW5nIGNvbW1hcy5cclxuICAgKiBAcmV0dXJuIHtzdHJpbmdbXX1cclxuICAgKiBAbWVtYmVyb2YgQ3VzdG9tUXVlc3Rpb25FZGl0b3JDb21wb25lbnRcclxuICAgKi9cclxuICBwYXJzZU9wdGlvbnMoKTogc3RyaW5nW10ge1xyXG4gICAgY29uc3QgcmF3ID0gKHRoaXMuZm9ybT8uZ2V0KCdvcHRpb25zJyk/LnZhbHVlID8/ICcnKSBhcyBzdHJpbmc7XHJcbiAgICByZXR1cm4gcmF3XHJcbiAgICAgIC5zcGxpdCgnXFxuJylcclxuICAgICAgLm1hcCgob3B0aW9uKSA9PiBvcHRpb24udHJpbSgpLnJlcGxhY2UoLywrJC8sICcnKS50cmltKCkpXHJcbiAgICAgIC5maWx0ZXIoKG9wdGlvbikgPT4gb3B0aW9uLmxlbmd0aCA+IDApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogV2hldGhlciB0aGUgZWRpdG9yIGlzIHZhbGlkOiBsYWJlbCBhbmQgdHlwZSBhcmUgcmVxdWlyZWQsIGFuZCBjaG9pY2UgdHlwZXNcclxuICAgKiByZXF1aXJlIGF0IGxlYXN0IG9uZSBvcHRpb24uXHJcbiAgICogQHJldHVybiB7Ym9vbGVhbn1cclxuICAgKiBAbWVtYmVyb2YgQ3VzdG9tUXVlc3Rpb25FZGl0b3JDb21wb25lbnRcclxuICAgKi9cclxuICBnZXQgaXNTYXZlRGlzYWJsZWQoKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBsYWJlbCA9IHRoaXMuZm9ybT8uZ2V0KCdsYWJlbCcpPy52YWx1ZSBhcyBzdHJpbmc7XHJcbiAgICAvLyBWYWxpZGF0b3JzLnJlcXVpcmVkIGFjY2VwdHMgd2hpdGVzcGFjZS1vbmx5OyBvblNhdmUgdHJpbXMgdG8gJycsIHNvIGJsb2NrXHJcbiAgICAvLyBzYXZlIHdoZW4gdGhlIHRyaW1tZWQgbGFiZWwgaXMgZW1wdHkuXHJcbiAgICBpZiAodGhpcy5mb3JtPy5pbnZhbGlkIHx8ICFsYWJlbD8udHJpbSgpKSByZXR1cm4gdHJ1ZTtcclxuICAgIGlmICh0aGlzLmlzQ2hvaWNlVHlwZSAmJiB0aGlzLnBhcnNlT3B0aW9ucygpLmxlbmd0aCA9PT0gMCkgcmV0dXJuIHRydWU7XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFbWl0cyB0aGUgYXNzZW1ibGVkIHF1ZXN0aW9uIG9uIHNhdmUuIE9wdGlvbnMgYXJlIHNlcmlhbGl6ZWQgdG8gYSBKU09OXHJcbiAgICogc3RyaW5nIHRvIG1hdGNoIHRoZSBiYWNrZW5kJ3MgSlNPTkIgY29sdW1uLlxyXG4gICAqIEBtZW1iZXJvZiBDdXN0b21RdWVzdGlvbkVkaXRvckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uU2F2ZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9ybS5tYXJrQWxsQXNUb3VjaGVkKCk7XHJcbiAgICBpZiAodGhpcy5pc1NhdmVEaXNhYmxlZCkgcmV0dXJuO1xyXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmZvcm0uZ2V0UmF3VmFsdWUoKTtcclxuICAgIHRoaXMuc2F2ZS5lbWl0KHtcclxuICAgICAgcXVlc3Rpb25JZDogdGhpcy5xdWVzdGlvbj8ucXVlc3Rpb25JZCxcclxuICAgICAgZ3JvdXBJZDogdGhpcy5xdWVzdGlvbj8uZ3JvdXBJZCxcclxuICAgICAgdmlld09yZGVyOiB0aGlzLnF1ZXN0aW9uPy52aWV3T3JkZXIsXHJcbiAgICAgIHF1ZXN0aW9uTGFiZWw6IHZhbHVlLmxhYmVsPy50cmltKCksXHJcbiAgICAgIGZpZWxkVHlwZTogdmFsdWUudHlwZSxcclxuICAgICAgaXNSZXF1aXJlZDogdmFsdWUucmVxdWlyZWQsXHJcbiAgICAgIHBsYWNlaG9sZGVyOiB2YWx1ZS5wbGFjZWhvbGRlcj8udHJpbSgpLFxyXG4gICAgICBoZWxwVGV4dDogdmFsdWUuaGVscFRleHQ/LnRyaW0oKSxcclxuICAgICAgb3B0aW9uczogdGhpcy5pc0Nob2ljZVR5cGVcclxuICAgICAgICA/IEpTT04uc3RyaW5naWZ5KHRoaXMucGFyc2VPcHRpb25zKCkpXHJcbiAgICAgICAgOiB1bmRlZmluZWQsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEVtaXRzIHRoZSBjYW5jZWwgZXZlbnQuXHJcbiAgICogQG1lbWJlcm9mIEN1c3RvbVF1ZXN0aW9uRWRpdG9yQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25DYW5jZWwoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNhbmNlbC5lbWl0KCk7XHJcbiAgfVxyXG59XHJcbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiIGNsYXNzPVwiaWVlZXNhLXF1ZXN0aW9uLWVkaXRvclwiPlxyXG4gIDxkaXYgY2xhc3M9XCJpZWVlc2EtcXVlc3Rpb24tZWRpdG9yX19ncmlkXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaWVlZXNhLXF1ZXN0aW9uLWVkaXRvcl9fZmllbGRcIj5cclxuICAgICAgPGxhYmVsIGNsYXNzPVwiaWVlZXNhLXF1ZXN0aW9uLWVkaXRvcl9fbGFiZWwgaWVlZXNhLWJvZHktc20tMTRcIj5cclxuICAgICAgICB7eyBlZGl0b3JUZXh0cz8ubGFiZWxMYWJlbCB9fVxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiaWVlZXNhLXF1ZXN0aW9uLWVkaXRvcl9fcmVxdWlyZWQtbWFya1wiPio8L3NwYW4+XHJcbiAgICAgIDwvbGFiZWw+XHJcbiAgICAgIDxpbnB1dFxyXG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICBjbGFzcz1cImllZWVzYS1xdWVzdGlvbi1lZGl0b3JfX2lucHV0IGllZWVzYS1ib2R5LXNtLTE0XCJcclxuICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJsYWJlbFwiXHJcbiAgICAgICAgW2F0dHIucGxhY2Vob2xkZXJdPVwiZWRpdG9yVGV4dHM/LnR5cGVIZXJlUGxhY2Vob2xkZXJcIlxyXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZWRpdG9yVGV4dHM/LmxhYmVsTGFiZWxcIlxyXG4gICAgICAvPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImllZWVzYS1xdWVzdGlvbi1lZGl0b3JfX2ZpZWxkXCI+XHJcbiAgICAgIDxsYWJlbCBjbGFzcz1cImllZWVzYS1xdWVzdGlvbi1lZGl0b3JfX2xhYmVsIGllZWVzYS1ib2R5LXNtLTE0XCI+XHJcbiAgICAgICAge3sgZWRpdG9yVGV4dHM/LnR5cGVMYWJlbCB9fVxyXG4gICAgICA8L2xhYmVsPlxyXG4gICAgICA8c2VsZWN0XHJcbiAgICAgICAgY2xhc3M9XCJpZWVlc2EtcXVlc3Rpb24tZWRpdG9yX19pbnB1dCBpZWVlc2EtYm9keS1zbS0xNFwiXHJcbiAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwidHlwZVwiXHJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJlZGl0b3JUZXh0cz8udHlwZUxhYmVsXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxvcHRpb24gW25nVmFsdWVdPVwibnVsbFwiIGRpc2FibGVkPlxyXG4gICAgICAgICAge3sgZWRpdG9yVGV4dHM/LnNlbGVjdFBsYWNlaG9sZGVyIH19XHJcbiAgICAgICAgPC9vcHRpb24+XHJcbiAgICAgICAgPG9wdGlvblxyXG4gICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiB0eXBlT3B0aW9uc1wiXHJcbiAgICAgICAgICBbbmdWYWx1ZV09XCJvcHRpb24udmFsdWVcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIHt7IG9wdGlvbi5sYWJlbCB9fVxyXG4gICAgICAgIDwvb3B0aW9uPlxyXG4gICAgICA8L3NlbGVjdD5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2IGNsYXNzPVwiaWVlZXNhLXF1ZXN0aW9uLWVkaXRvcl9fcmVxdWlyZWQtcm93IGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTJcIj5cclxuICAgIDxzcGFuIGNsYXNzPVwiaWVlZXNhLXF1ZXN0aW9uLWVkaXRvcl9fbGFiZWwgaWVlZXNhLWJvZHktc20tMTRcIj57e1xyXG4gICAgICBlZGl0b3JUZXh0cz8ucmVxdWlyZWRMYWJlbFxyXG4gICAgfX08L3NwYW4+XHJcbiAgICA8bGFiZWwgY2xhc3M9XCJpZWVlc2EtcXVlc3Rpb24tZWRpdG9yX19zd2l0Y2hcIj5cclxuICAgICAgPGlucHV0XHJcbiAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcclxuICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJyZXF1aXJlZFwiXHJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJlZGl0b3JUZXh0cz8ucmVxdWlyZWRMYWJlbFwiXHJcbiAgICAgIC8+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwiaWVlZXNhLXF1ZXN0aW9uLWVkaXRvcl9fc2xpZGVyXCI+PC9zcGFuPlxyXG4gICAgPC9sYWJlbD5cclxuICAgIDxzcGFuIGNsYXNzPVwiaWVlZXNhLXF1ZXN0aW9uLWVkaXRvcl9fcmVxdWlyZWQtaGludCBpZWVlc2EtYm9keS1zbS0xNFwiPnt7XHJcbiAgICAgIGVkaXRvclRleHRzPy5yZXF1aXJlZExhYmVsXHJcbiAgICB9fTwvc3Bhbj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImllZWVzYS1xdWVzdGlvbi1lZGl0b3JfX2dyaWRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJpZWVlc2EtcXVlc3Rpb24tZWRpdG9yX19maWVsZFwiPlxyXG4gICAgICA8bGFiZWwgY2xhc3M9XCJpZWVlc2EtcXVlc3Rpb24tZWRpdG9yX19sYWJlbCBpZWVlc2EtYm9keS1zbS0xNFwiPlxyXG4gICAgICAgIHt7IGVkaXRvclRleHRzPy5wbGFjZWhvbGRlckxhYmVsIH19XHJcbiAgICAgIDwvbGFiZWw+XHJcbiAgICAgIDxpbnB1dFxyXG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICBjbGFzcz1cImllZWVzYS1xdWVzdGlvbi1lZGl0b3JfX2lucHV0IGllZWVzYS1ib2R5LXNtLTE0XCJcclxuICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJwbGFjZWhvbGRlclwiXHJcbiAgICAgICAgW2F0dHIucGxhY2Vob2xkZXJdPVwiZWRpdG9yVGV4dHM/LnR5cGVIZXJlUGxhY2Vob2xkZXJcIlxyXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZWRpdG9yVGV4dHM/LnBsYWNlaG9sZGVyTGFiZWxcIlxyXG4gICAgICAvPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImllZWVzYS1xdWVzdGlvbi1lZGl0b3JfX2ZpZWxkXCI+XHJcbiAgICAgIDxsYWJlbCBjbGFzcz1cImllZWVzYS1xdWVzdGlvbi1lZGl0b3JfX2xhYmVsIGllZWVzYS1ib2R5LXNtLTE0XCI+XHJcbiAgICAgICAge3sgZWRpdG9yVGV4dHM/LmhlbHBUZXh0TGFiZWwgfX1cclxuICAgICAgPC9sYWJlbD5cclxuICAgICAgPGlucHV0XHJcbiAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgIGNsYXNzPVwiaWVlZXNhLXF1ZXN0aW9uLWVkaXRvcl9faW5wdXQgaWVlZXNhLWJvZHktc20tMTRcIlxyXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT1cImhlbHBUZXh0XCJcclxuICAgICAgICBbYXR0ci5wbGFjZWhvbGRlcl09XCJlZGl0b3JUZXh0cz8udHlwZUhlcmVQbGFjZWhvbGRlclwiXHJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJlZGl0b3JUZXh0cz8uaGVscFRleHRMYWJlbFwiXHJcbiAgICAgIC8+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiAqbmdJZj1cImlzQ2hvaWNlVHlwZVwiIGNsYXNzPVwiaWVlZXNhLXF1ZXN0aW9uLWVkaXRvcl9fZmllbGRcIj5cclxuICAgIDxsYWJlbCBjbGFzcz1cImllZWVzYS1xdWVzdGlvbi1lZGl0b3JfX2xhYmVsIGllZWVzYS1ib2R5LXNtLTE0XCI+XHJcbiAgICAgIHt7IGVkaXRvclRleHRzPy5vcHRpb25zTGFiZWwgfX1cclxuICAgIDwvbGFiZWw+XHJcbiAgICA8dGV4dGFyZWFcclxuICAgICAgY2xhc3M9XCJpZWVlc2EtcXVlc3Rpb24tZWRpdG9yX190ZXh0YXJlYSBpZWVlc2EtYm9keS1zbS0xNFwiXHJcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cIm9wdGlvbnNcIlxyXG4gICAgICByb3dzPVwiNVwiXHJcbiAgICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cImVkaXRvclRleHRzPy50eXBlSGVyZVBsYWNlaG9sZGVyXCJcclxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJlZGl0b3JUZXh0cz8ub3B0aW9uc0xhYmVsXCJcclxuICAgID48L3RleHRhcmVhPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2IGNsYXNzPVwiaWVlZXNhLXF1ZXN0aW9uLWVkaXRvcl9fYWN0aW9ucyBkLWZsZXggZ2FwLTNcIj5cclxuICAgIDxidXR0b25cclxuICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgIGNsYXNzPVwiaWVlZXNhLXF1ZXN0aW9uLWVkaXRvcl9fY2FuY2VsXCJcclxuICAgICAgKGNsaWNrKT1cIm9uQ2FuY2VsKClcIlxyXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImVkaXRvclRleHRzPy5jYW5jZWxcIlxyXG4gICAgPlxyXG4gICAgICB7eyBlZGl0b3JUZXh0cz8uY2FuY2VsIH19XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDxidXR0b25cclxuICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgIGNsYXNzPVwiaWVlZXNhLXF1ZXN0aW9uLWVkaXRvcl9fc2F2ZVwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJpc1NhdmVEaXNhYmxlZFwiXHJcbiAgICAgIChjbGljayk9XCJvblNhdmUoKVwiXHJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZWRpdG9yVGV4dHM/LnNhdmVcIlxyXG4gICAgPlxyXG4gICAgICB7eyBlZGl0b3JUZXh0cz8uc2F2ZSB9fVxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvZm9ybT5cclxuIl19
|