herum-shared 1.0.6 → 1.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1187,11 +1187,11 @@ class QuizOneAnswerQuestionComponent {
1187
1187
  this.destroySubject$.complete();
1188
1188
  }
1189
1189
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: QuizOneAnswerQuestionComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
1190
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: QuizOneAnswerQuestionComponent, isStandalone: false, selector: "quiz-one-answer-question", inputs: { instructionTitle: "instructionTitle", question: "question", userAnswers: "userAnswers", quizData: "quizData", areAnswersRevealed: "areAnswersRevealed", areAnswersBlocked: "areAnswersBlocked", isCheckingMode: "isCheckingMode" }, outputs: { onAnswersChange: "onAnswersChange" }, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"instructionTitle\" class=\"instruction-title\">{{ instructionTitle }}</div>\r\n\r\n<herum-radio-button [options]=\"convertedOptions\" [secondarySelectedOption]=\"correctAnswer\"\r\n [showAdditionalOptionsText]=\"areAnswersRevealed || isCheckingMode\" [isBlocked]=\"areAnswersBlocked\"\r\n [isVertical]=\"true\" [formControl]=\"selectedAnswer\"\r\n [ngClass]=\"{'revealed-answers':areAnswersRevealed || isCheckingMode}\" [additionalOptionsText]=\"answerNotes\">\r\n</herum-radio-button>", styles: ["", ".quiz-container{display:flex;flex-direction:column;gap:16px}.quiz-container p,.quiz-container b{font-size:16px;margin-bottom:.25rem}.quiz-container .quiz-title{font-weight:700}.quiz-container .error-message{color:var(--error-color);font-weight:700}.quiz-container .answer-item{display:flex;flex-direction:row;gap:8px}.answers-container{display:flex;flex-direction:column;gap:16px}.answers-container .answer-item{display:flex;flex-direction:row;gap:8px}.answers-container .answer-note{background-color:var(--light-text-color);border-radius:var(border-radius);font-size:14px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: HerumRadioButtonComponent, selector: "herum-radio-button", inputs: ["options", "isValid", "errorMsg", "isVertical", "isBlocked", "type", "selectedOption", "additionalOptionsText", "showAdditionalOptionsText", "secondarySelectedOption"], outputs: ["selectOptionEmitter"] }] });
1190
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: QuizOneAnswerQuestionComponent, isStandalone: false, selector: "quiz-one-answer-question", inputs: { instructionTitle: "instructionTitle", question: "question", userAnswers: "userAnswers", quizData: "quizData", areAnswersRevealed: "areAnswersRevealed", areAnswersBlocked: "areAnswersBlocked", isCheckingMode: "isCheckingMode" }, outputs: { onAnswersChange: "onAnswersChange" }, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"instructionTitle\" class=\"instruction-title\">{{ instructionTitle }}</div>\r\n\r\n<herum-radio-button [options]=\"convertedOptions\" [secondarySelectedOption]=\"correctAnswer\"\r\n [showAdditionalOptionsText]=\"areAnswersRevealed || isCheckingMode\" [isBlocked]=\"areAnswersBlocked\"\r\n [isVertical]=\"true\" [formControl]=\"selectedAnswer\"\r\n [ngClass]=\"{'revealed-answers':areAnswersRevealed || isCheckingMode}\" [additionalOptionsText]=\"answerNotes\">\r\n</herum-radio-button>", styles: ["", ".quiz-container{display:flex;flex-direction:column;gap:16px}.quiz-container p,.quiz-container b,.quiz-container span{font-size:16px;margin-bottom:.25rem}.quiz-container .quiz-title{font-weight:700}.quiz-container .error-message{color:var(--error-color);font-weight:700}.quiz-container .answer-item{display:flex;flex-direction:row;gap:8px}.answers-container{display:flex;flex-direction:column;gap:16px}.answers-container .answer-item{display:flex;flex-direction:row;gap:8px}.answers-container .answer-note{background-color:var(--light-text-color);border-radius:var(border-radius);font-size:14px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: HerumRadioButtonComponent, selector: "herum-radio-button", inputs: ["options", "isValid", "errorMsg", "isVertical", "isBlocked", "type", "selectedOption", "additionalOptionsText", "showAdditionalOptionsText", "secondarySelectedOption"], outputs: ["selectOptionEmitter"] }] });
1191
1191
  }
1192
1192
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: QuizOneAnswerQuestionComponent, decorators: [{
1193
1193
  type: Component,
1194
- args: [{ standalone: false, selector: 'quiz-one-answer-question', template: "<div *ngIf=\"instructionTitle\" class=\"instruction-title\">{{ instructionTitle }}</div>\r\n\r\n<herum-radio-button [options]=\"convertedOptions\" [secondarySelectedOption]=\"correctAnswer\"\r\n [showAdditionalOptionsText]=\"areAnswersRevealed || isCheckingMode\" [isBlocked]=\"areAnswersBlocked\"\r\n [isVertical]=\"true\" [formControl]=\"selectedAnswer\"\r\n [ngClass]=\"{'revealed-answers':areAnswersRevealed || isCheckingMode}\" [additionalOptionsText]=\"answerNotes\">\r\n</herum-radio-button>", styles: [".quiz-container{display:flex;flex-direction:column;gap:16px}.quiz-container p,.quiz-container b{font-size:16px;margin-bottom:.25rem}.quiz-container .quiz-title{font-weight:700}.quiz-container .error-message{color:var(--error-color);font-weight:700}.quiz-container .answer-item{display:flex;flex-direction:row;gap:8px}.answers-container{display:flex;flex-direction:column;gap:16px}.answers-container .answer-item{display:flex;flex-direction:row;gap:8px}.answers-container .answer-note{background-color:var(--light-text-color);border-radius:var(border-radius);font-size:14px}\n"] }]
1194
+ args: [{ standalone: false, selector: 'quiz-one-answer-question', template: "<div *ngIf=\"instructionTitle\" class=\"instruction-title\">{{ instructionTitle }}</div>\r\n\r\n<herum-radio-button [options]=\"convertedOptions\" [secondarySelectedOption]=\"correctAnswer\"\r\n [showAdditionalOptionsText]=\"areAnswersRevealed || isCheckingMode\" [isBlocked]=\"areAnswersBlocked\"\r\n [isVertical]=\"true\" [formControl]=\"selectedAnswer\"\r\n [ngClass]=\"{'revealed-answers':areAnswersRevealed || isCheckingMode}\" [additionalOptionsText]=\"answerNotes\">\r\n</herum-radio-button>", styles: [".quiz-container{display:flex;flex-direction:column;gap:16px}.quiz-container p,.quiz-container b,.quiz-container span{font-size:16px;margin-bottom:.25rem}.quiz-container .quiz-title{font-weight:700}.quiz-container .error-message{color:var(--error-color);font-weight:700}.quiz-container .answer-item{display:flex;flex-direction:row;gap:8px}.answers-container{display:flex;flex-direction:column;gap:16px}.answers-container .answer-item{display:flex;flex-direction:row;gap:8px}.answers-container .answer-note{background-color:var(--light-text-color);border-radius:var(border-radius);font-size:14px}\n"] }]
1195
1195
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { instructionTitle: [{
1196
1196
  type: Input
1197
1197
  }], question: [{
@@ -1217,11 +1217,11 @@ class QuizSubmissionComponent {
1217
1217
  return this.quizData.questions.length == this.quizData.userAnswers?.length;
1218
1218
  }
1219
1219
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: QuizSubmissionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1220
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: QuizSubmissionComponent, isStandalone: false, selector: "quiz-submission", inputs: { quizData: "quizData", quizValidation: "quizValidation" }, ngImport: i0, template: "<div class=\"quiz-container\">\r\n <p class=\"quiz-title\">\u05D4\u05E0\u05DA \u05E2\u05D5\u05DE\u05D3 \u05DC\u05D4\u05D2\u05D9\u05E9 \u05D0\u05EA \u05D4\u05DE\u05D1\u05D7\u05DF</p>\r\n <br>\r\n <p>\u05E9\u05D9\u05DD \u05DC\u05D1,</p>\r\n <p>\u05D4\u05D9\u05E0\u05DA \u05E2\u05D5\u05DE\u05D3 \u05DC\u05D4\u05D2\u05D9\u05E9 \u05D0\u05EA \u05D4\u05DE\u05D1\u05D7\u05DF, \u05DC\u05D0\u05D7\u05E8 \u05D4\u05D4\u05D2\u05E9\u05D4 \u05DC\u05D0 \u05D9\u05D4\u05D9\u05D4 \u05D1\u05D0\u05E4\u05E9\u05E8\u05D5\u05EA\u05DA \u05DC\u05E2\u05E8\u05D5\u05DA \u05D0\u05EA \u05D4\u05EA\u05E9\u05D5\u05D1\u05D5\u05EA \u05E9\u05D4\u05D2\u05E9\u05EA.</p>\r\n <p> \u05D4\u05D0\u05DD \u05D1\u05E8\u05E6\u05D5\u05E0\u05DA \u05DC\u05D4\u05D2\u05D9\u05E9 \u05D0\u05EA \u05D4\u05DE\u05D1\u05D7\u05DF?</p>\r\n <br>\r\n <p class=\"error-message\" *ngIf=\"!quizValidation\">\r\n \u05DC\u05D0 \u05E0\u05D9\u05EA\u05DF \u05DC\u05D4\u05D2\u05D9\u05E9 \u05DE\u05D1\u05D7\u05DF \u05D6\u05D4 \u05DC\u05DC\u05D0 \u05DE\u05E2\u05E0\u05D4 \u05E2\u05DC \u05DB\u05DC \u05D4\u05E9\u05D0\u05DC\u05D5\u05EA\r\n </p> \r\n</div>", styles: ["", ".quiz-container{display:flex;flex-direction:column;gap:16px}.quiz-container p,.quiz-container b{font-size:16px;margin-bottom:.25rem}.quiz-container .quiz-title{font-weight:700}.quiz-container .error-message{color:var(--error-color);font-weight:700}.quiz-container .answer-item{display:flex;flex-direction:row;gap:8px}.answers-container{display:flex;flex-direction:column;gap:16px}.answers-container .answer-item{display:flex;flex-direction:row;gap:8px}.answers-container .answer-note{background-color:var(--light-text-color);border-radius:var(border-radius);font-size:14px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
1220
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: QuizSubmissionComponent, isStandalone: false, selector: "quiz-submission", inputs: { quizData: "quizData", quizValidation: "quizValidation" }, ngImport: i0, template: "<div class=\"quiz-container\">\r\n <p class=\"quiz-title\">\u05D4\u05E0\u05DA \u05E2\u05D5\u05DE\u05D3 \u05DC\u05D4\u05D2\u05D9\u05E9 \u05D0\u05EA \u05D4\u05DE\u05D1\u05D7\u05DF</p>\r\n <br>\r\n <p>\u05E9\u05D9\u05DD \u05DC\u05D1,</p>\r\n <p>\u05D4\u05D9\u05E0\u05DA \u05E2\u05D5\u05DE\u05D3 \u05DC\u05D4\u05D2\u05D9\u05E9 \u05D0\u05EA \u05D4\u05DE\u05D1\u05D7\u05DF, \u05DC\u05D0\u05D7\u05E8 \u05D4\u05D4\u05D2\u05E9\u05D4 \u05DC\u05D0 \u05D9\u05D4\u05D9\u05D4 \u05D1\u05D0\u05E4\u05E9\u05E8\u05D5\u05EA\u05DA \u05DC\u05E2\u05E8\u05D5\u05DA \u05D0\u05EA \u05D4\u05EA\u05E9\u05D5\u05D1\u05D5\u05EA \u05E9\u05D4\u05D2\u05E9\u05EA.</p>\r\n <p> \u05D4\u05D0\u05DD \u05D1\u05E8\u05E6\u05D5\u05E0\u05DA \u05DC\u05D4\u05D2\u05D9\u05E9 \u05D0\u05EA \u05D4\u05DE\u05D1\u05D7\u05DF?</p>\r\n <br>\r\n <p class=\"error-message\" *ngIf=\"!quizValidation\">\r\n \u05DC\u05D0 \u05E0\u05D9\u05EA\u05DF \u05DC\u05D4\u05D2\u05D9\u05E9 \u05DE\u05D1\u05D7\u05DF \u05D6\u05D4 \u05DC\u05DC\u05D0 \u05DE\u05E2\u05E0\u05D4 \u05E2\u05DC \u05DB\u05DC \u05D4\u05E9\u05D0\u05DC\u05D5\u05EA\r\n </p> \r\n</div>", styles: ["", ".quiz-container{display:flex;flex-direction:column;gap:16px}.quiz-container p,.quiz-container b,.quiz-container span{font-size:16px;margin-bottom:.25rem}.quiz-container .quiz-title{font-weight:700}.quiz-container .error-message{color:var(--error-color);font-weight:700}.quiz-container .answer-item{display:flex;flex-direction:row;gap:8px}.answers-container{display:flex;flex-direction:column;gap:16px}.answers-container .answer-item{display:flex;flex-direction:row;gap:8px}.answers-container .answer-note{background-color:var(--light-text-color);border-radius:var(border-radius);font-size:14px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
1221
1221
  }
1222
1222
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: QuizSubmissionComponent, decorators: [{
1223
1223
  type: Component,
1224
- args: [{ standalone: false, selector: 'quiz-submission', template: "<div class=\"quiz-container\">\r\n <p class=\"quiz-title\">\u05D4\u05E0\u05DA \u05E2\u05D5\u05DE\u05D3 \u05DC\u05D4\u05D2\u05D9\u05E9 \u05D0\u05EA \u05D4\u05DE\u05D1\u05D7\u05DF</p>\r\n <br>\r\n <p>\u05E9\u05D9\u05DD \u05DC\u05D1,</p>\r\n <p>\u05D4\u05D9\u05E0\u05DA \u05E2\u05D5\u05DE\u05D3 \u05DC\u05D4\u05D2\u05D9\u05E9 \u05D0\u05EA \u05D4\u05DE\u05D1\u05D7\u05DF, \u05DC\u05D0\u05D7\u05E8 \u05D4\u05D4\u05D2\u05E9\u05D4 \u05DC\u05D0 \u05D9\u05D4\u05D9\u05D4 \u05D1\u05D0\u05E4\u05E9\u05E8\u05D5\u05EA\u05DA \u05DC\u05E2\u05E8\u05D5\u05DA \u05D0\u05EA \u05D4\u05EA\u05E9\u05D5\u05D1\u05D5\u05EA \u05E9\u05D4\u05D2\u05E9\u05EA.</p>\r\n <p> \u05D4\u05D0\u05DD \u05D1\u05E8\u05E6\u05D5\u05E0\u05DA \u05DC\u05D4\u05D2\u05D9\u05E9 \u05D0\u05EA \u05D4\u05DE\u05D1\u05D7\u05DF?</p>\r\n <br>\r\n <p class=\"error-message\" *ngIf=\"!quizValidation\">\r\n \u05DC\u05D0 \u05E0\u05D9\u05EA\u05DF \u05DC\u05D4\u05D2\u05D9\u05E9 \u05DE\u05D1\u05D7\u05DF \u05D6\u05D4 \u05DC\u05DC\u05D0 \u05DE\u05E2\u05E0\u05D4 \u05E2\u05DC \u05DB\u05DC \u05D4\u05E9\u05D0\u05DC\u05D5\u05EA\r\n </p> \r\n</div>", styles: [".quiz-container{display:flex;flex-direction:column;gap:16px}.quiz-container p,.quiz-container b{font-size:16px;margin-bottom:.25rem}.quiz-container .quiz-title{font-weight:700}.quiz-container .error-message{color:var(--error-color);font-weight:700}.quiz-container .answer-item{display:flex;flex-direction:row;gap:8px}.answers-container{display:flex;flex-direction:column;gap:16px}.answers-container .answer-item{display:flex;flex-direction:row;gap:8px}.answers-container .answer-note{background-color:var(--light-text-color);border-radius:var(border-radius);font-size:14px}\n"] }]
1224
+ args: [{ standalone: false, selector: 'quiz-submission', template: "<div class=\"quiz-container\">\r\n <p class=\"quiz-title\">\u05D4\u05E0\u05DA \u05E2\u05D5\u05DE\u05D3 \u05DC\u05D4\u05D2\u05D9\u05E9 \u05D0\u05EA \u05D4\u05DE\u05D1\u05D7\u05DF</p>\r\n <br>\r\n <p>\u05E9\u05D9\u05DD \u05DC\u05D1,</p>\r\n <p>\u05D4\u05D9\u05E0\u05DA \u05E2\u05D5\u05DE\u05D3 \u05DC\u05D4\u05D2\u05D9\u05E9 \u05D0\u05EA \u05D4\u05DE\u05D1\u05D7\u05DF, \u05DC\u05D0\u05D7\u05E8 \u05D4\u05D4\u05D2\u05E9\u05D4 \u05DC\u05D0 \u05D9\u05D4\u05D9\u05D4 \u05D1\u05D0\u05E4\u05E9\u05E8\u05D5\u05EA\u05DA \u05DC\u05E2\u05E8\u05D5\u05DA \u05D0\u05EA \u05D4\u05EA\u05E9\u05D5\u05D1\u05D5\u05EA \u05E9\u05D4\u05D2\u05E9\u05EA.</p>\r\n <p> \u05D4\u05D0\u05DD \u05D1\u05E8\u05E6\u05D5\u05E0\u05DA \u05DC\u05D4\u05D2\u05D9\u05E9 \u05D0\u05EA \u05D4\u05DE\u05D1\u05D7\u05DF?</p>\r\n <br>\r\n <p class=\"error-message\" *ngIf=\"!quizValidation\">\r\n \u05DC\u05D0 \u05E0\u05D9\u05EA\u05DF \u05DC\u05D4\u05D2\u05D9\u05E9 \u05DE\u05D1\u05D7\u05DF \u05D6\u05D4 \u05DC\u05DC\u05D0 \u05DE\u05E2\u05E0\u05D4 \u05E2\u05DC \u05DB\u05DC \u05D4\u05E9\u05D0\u05DC\u05D5\u05EA\r\n </p> \r\n</div>", styles: [".quiz-container{display:flex;flex-direction:column;gap:16px}.quiz-container p,.quiz-container b,.quiz-container span{font-size:16px;margin-bottom:.25rem}.quiz-container .quiz-title{font-weight:700}.quiz-container .error-message{color:var(--error-color);font-weight:700}.quiz-container .answer-item{display:flex;flex-direction:row;gap:8px}.answers-container{display:flex;flex-direction:column;gap:16px}.answers-container .answer-item{display:flex;flex-direction:row;gap:8px}.answers-container .answer-note{background-color:var(--light-text-color);border-radius:var(border-radius);font-size:14px}\n"] }]
1225
1225
  }], propDecorators: { quizData: [{
1226
1226
  type: Input
1227
1227
  }], quizValidation: [{
@@ -1258,12 +1258,15 @@ class QuizIntroComponent {
1258
1258
  get defaultGrade() {
1259
1259
  return defaultGrade$1;
1260
1260
  }
1261
+ get isPassedGrade() {
1262
+ return this.quizData.grade >= this.quizData.minGrade;
1263
+ }
1261
1264
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: QuizIntroComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1262
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: QuizIntroComponent, isStandalone: false, selector: "quiz-intro", inputs: { quizData: "quizData", showSubmissionsCounter: "showSubmissionsCounter", allQuestionsRequired: "allQuestionsRequired", resource: "resource", areAnswersBlocked: "areAnswersBlocked", gradeTextPrefix: "gradeTextPrefix" }, ngImport: i0, template: "<div *ngIf=\"quizData\" class=\"quiz-container\">\r\n <p>\u05D1\u05DE\u05D1\u05D7\u05DF \u05D6\u05D4 <b>{{ quizData.questions?.length }}</b> \u05E9\u05D0\u05DC\u05D5\u05EA</p>\r\n\r\n <p *ngIf=\"quizData.minGrade > 0 && !quizData.isBinary\"><b>\u05E6\u05D9\u05D5\u05DF \u05DE\u05D9\u05E0\u05D9\u05DE\u05DC\u05D9 \u05D4\u05E0\u05D3\u05E8\u05E9 \u05DC\u05DE\u05E2\u05D1\u05E8: </b>{{ quizData.minGrade }}</p>\r\n\r\n <p *ngIf=\"quizData.grade && quizData.grade !== defaultGrade\">{{ gradeTextPrefix }} {{ quizData.grade }}</p>\r\n\r\n <p *ngIf=\"showSubmissionsCounter\">\u05D6\u05D4\u05D5 <b>\u05E0\u05E1\u05D9\u05D5\u05DF \u05D4\u05DE\u05E2\u05E0\u05D4 \u05D4\r\n - {{ resource | displayedSubmissionsCounter:quizData:areAnswersBlocked }}</b>\r\n \u05E9\u05DC\u05DA \u05E2\u05DC \u05DE\u05D1\u05D7\u05DF.\r\n </p>\r\n\r\n <p *ngIf=\"allQuestionsRequired\">\u05E2\u05DC\u05D9\u05DA \u05DC\u05E2\u05E0\u05D5\u05EA \u05E2\u05DC \u05DB\u05DC \u05D4\u05E9\u05D0\u05DC\u05D5\u05EA</p>\r\n\r\n <p class=\"congrats-title\">\u05D1\u05D4\u05E6\u05DC\u05D7\u05D4!</p>\r\n</div>", styles: [":host .quiz-container .congrats-title{font-size:28px;font-weight:700}:host .quiz-container{gap:2px;justify-content:flex-end}:host .quiz-container p{margin-block-end:0}\n", ".quiz-container{display:flex;flex-direction:column;gap:16px}.quiz-container p,.quiz-container b{font-size:16px;margin-bottom:.25rem}.quiz-container .quiz-title{font-weight:700}.quiz-container .error-message{color:var(--error-color);font-weight:700}.quiz-container .answer-item{display:flex;flex-direction:row;gap:8px}.answers-container{display:flex;flex-direction:column;gap:16px}.answers-container .answer-item{display:flex;flex-direction:row;gap:8px}.answers-container .answer-note{background-color:var(--light-text-color);border-radius:var(border-radius);font-size:14px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: DisplayedSubmissionsCounterPipe, name: "displayedSubmissionsCounter" }] });
1265
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: QuizIntroComponent, isStandalone: false, selector: "quiz-intro", inputs: { quizData: "quizData", showSubmissionsCounter: "showSubmissionsCounter", allQuestionsRequired: "allQuestionsRequired", resource: "resource", areAnswersBlocked: "areAnswersBlocked", gradeTextPrefix: "gradeTextPrefix" }, ngImport: i0, template: "<div *ngIf=\"quizData\" class=\"quiz-container\">\r\n <p>\u05D1\u05DE\u05D1\u05D7\u05DF \u05D6\u05D4 <b>{{ quizData.questions?.length }}</b> \u05E9\u05D0\u05DC\u05D5\u05EA</p>\r\n\r\n <ng-container *ngIf=\"!quizData.isBinary\">\r\n <p *ngIf=\"quizData.minGrade > 0\"><b>\u05E6\u05D9\u05D5\u05DF \u05DE\u05D9\u05E0\u05D9\u05DE\u05DC\u05D9 \u05D4\u05E0\u05D3\u05E8\u05E9 \u05DC\u05DE\u05E2\u05D1\u05E8: </b>{{ quizData.minGrade }}\r\n </p>\r\n\r\n <p *ngIf=\" quizData.grade && quizData.grade !==defaultGrade\">{{ gradeTextPrefix }} {{ quizData.grade }}</p>\r\n </ng-container>\r\n\r\n <span *ngIf=\"quizData.isBinary\">\r\n <b>\u05E6\u05D9\u05D5\u05DF |</b>\r\n\r\n <span [ngClass]=\"isPassedGrade? 'passed':'failed'\">\r\n {{ isPassedGrade ? '\u05E2\u05D5\u05D1\u05E8' : '\u05DC\u05D0 \u05E2\u05D5\u05D1\u05E8' }}\r\n </span>\r\n </span>\r\n\r\n <p *ngIf=\"showSubmissionsCounter\">\u05D6\u05D4\u05D5 <b>\u05E0\u05E1\u05D9\u05D5\u05DF \u05D4\u05DE\u05E2\u05E0\u05D4 \u05D4\r\n - {{ resource | displayedSubmissionsCounter:quizData:areAnswersBlocked }}</b>\r\n \u05E9\u05DC\u05DA \u05E2\u05DC \u05DE\u05D1\u05D7\u05DF.\r\n </p>\r\n\r\n <p *ngIf=\"allQuestionsRequired\">\u05E2\u05DC\u05D9\u05DA \u05DC\u05E2\u05E0\u05D5\u05EA \u05E2\u05DC \u05DB\u05DC \u05D4\u05E9\u05D0\u05DC\u05D5\u05EA</p>\r\n\r\n <p class=\"congrats-title\">\u05D1\u05D4\u05E6\u05DC\u05D7\u05D4!</p>\r\n</div>", styles: [":host .quiz-container .congrats-title{font-size:28px;font-weight:700}:host .quiz-container{gap:2px;justify-content:flex-end}:host .quiz-container p,:host .quiz-container span{margin-block-end:0}:host .quiz-container .passed,:host .quiz-container .failed{font-weight:700}:host .quiz-container .passed{color:var(--positive-color)}:host .quiz-container .failed{color:var(--error-color)}\n", ".quiz-container{display:flex;flex-direction:column;gap:16px}.quiz-container p,.quiz-container b,.quiz-container span{font-size:16px;margin-bottom:.25rem}.quiz-container .quiz-title{font-weight:700}.quiz-container .error-message{color:var(--error-color);font-weight:700}.quiz-container .answer-item{display:flex;flex-direction:row;gap:8px}.answers-container{display:flex;flex-direction:column;gap:16px}.answers-container .answer-item{display:flex;flex-direction:row;gap:8px}.answers-container .answer-note{background-color:var(--light-text-color);border-radius:var(border-radius);font-size:14px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: DisplayedSubmissionsCounterPipe, name: "displayedSubmissionsCounter" }] });
1263
1266
  }
1264
1267
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: QuizIntroComponent, decorators: [{
1265
1268
  type: Component,
1266
- args: [{ standalone: false, selector: 'quiz-intro', template: "<div *ngIf=\"quizData\" class=\"quiz-container\">\r\n <p>\u05D1\u05DE\u05D1\u05D7\u05DF \u05D6\u05D4 <b>{{ quizData.questions?.length }}</b> \u05E9\u05D0\u05DC\u05D5\u05EA</p>\r\n\r\n <p *ngIf=\"quizData.minGrade > 0 && !quizData.isBinary\"><b>\u05E6\u05D9\u05D5\u05DF \u05DE\u05D9\u05E0\u05D9\u05DE\u05DC\u05D9 \u05D4\u05E0\u05D3\u05E8\u05E9 \u05DC\u05DE\u05E2\u05D1\u05E8: </b>{{ quizData.minGrade }}</p>\r\n\r\n <p *ngIf=\"quizData.grade && quizData.grade !== defaultGrade\">{{ gradeTextPrefix }} {{ quizData.grade }}</p>\r\n\r\n <p *ngIf=\"showSubmissionsCounter\">\u05D6\u05D4\u05D5 <b>\u05E0\u05E1\u05D9\u05D5\u05DF \u05D4\u05DE\u05E2\u05E0\u05D4 \u05D4\r\n - {{ resource | displayedSubmissionsCounter:quizData:areAnswersBlocked }}</b>\r\n \u05E9\u05DC\u05DA \u05E2\u05DC \u05DE\u05D1\u05D7\u05DF.\r\n </p>\r\n\r\n <p *ngIf=\"allQuestionsRequired\">\u05E2\u05DC\u05D9\u05DA \u05DC\u05E2\u05E0\u05D5\u05EA \u05E2\u05DC \u05DB\u05DC \u05D4\u05E9\u05D0\u05DC\u05D5\u05EA</p>\r\n\r\n <p class=\"congrats-title\">\u05D1\u05D4\u05E6\u05DC\u05D7\u05D4!</p>\r\n</div>", styles: [":host .quiz-container .congrats-title{font-size:28px;font-weight:700}:host .quiz-container{gap:2px;justify-content:flex-end}:host .quiz-container p{margin-block-end:0}\n", ".quiz-container{display:flex;flex-direction:column;gap:16px}.quiz-container p,.quiz-container b{font-size:16px;margin-bottom:.25rem}.quiz-container .quiz-title{font-weight:700}.quiz-container .error-message{color:var(--error-color);font-weight:700}.quiz-container .answer-item{display:flex;flex-direction:row;gap:8px}.answers-container{display:flex;flex-direction:column;gap:16px}.answers-container .answer-item{display:flex;flex-direction:row;gap:8px}.answers-container .answer-note{background-color:var(--light-text-color);border-radius:var(border-radius);font-size:14px}\n"] }]
1269
+ args: [{ standalone: false, selector: 'quiz-intro', template: "<div *ngIf=\"quizData\" class=\"quiz-container\">\r\n <p>\u05D1\u05DE\u05D1\u05D7\u05DF \u05D6\u05D4 <b>{{ quizData.questions?.length }}</b> \u05E9\u05D0\u05DC\u05D5\u05EA</p>\r\n\r\n <ng-container *ngIf=\"!quizData.isBinary\">\r\n <p *ngIf=\"quizData.minGrade > 0\"><b>\u05E6\u05D9\u05D5\u05DF \u05DE\u05D9\u05E0\u05D9\u05DE\u05DC\u05D9 \u05D4\u05E0\u05D3\u05E8\u05E9 \u05DC\u05DE\u05E2\u05D1\u05E8: </b>{{ quizData.minGrade }}\r\n </p>\r\n\r\n <p *ngIf=\" quizData.grade && quizData.grade !==defaultGrade\">{{ gradeTextPrefix }} {{ quizData.grade }}</p>\r\n </ng-container>\r\n\r\n <span *ngIf=\"quizData.isBinary\">\r\n <b>\u05E6\u05D9\u05D5\u05DF |</b>\r\n\r\n <span [ngClass]=\"isPassedGrade? 'passed':'failed'\">\r\n {{ isPassedGrade ? '\u05E2\u05D5\u05D1\u05E8' : '\u05DC\u05D0 \u05E2\u05D5\u05D1\u05E8' }}\r\n </span>\r\n </span>\r\n\r\n <p *ngIf=\"showSubmissionsCounter\">\u05D6\u05D4\u05D5 <b>\u05E0\u05E1\u05D9\u05D5\u05DF \u05D4\u05DE\u05E2\u05E0\u05D4 \u05D4\r\n - {{ resource | displayedSubmissionsCounter:quizData:areAnswersBlocked }}</b>\r\n \u05E9\u05DC\u05DA \u05E2\u05DC \u05DE\u05D1\u05D7\u05DF.\r\n </p>\r\n\r\n <p *ngIf=\"allQuestionsRequired\">\u05E2\u05DC\u05D9\u05DA \u05DC\u05E2\u05E0\u05D5\u05EA \u05E2\u05DC \u05DB\u05DC \u05D4\u05E9\u05D0\u05DC\u05D5\u05EA</p>\r\n\r\n <p class=\"congrats-title\">\u05D1\u05D4\u05E6\u05DC\u05D7\u05D4!</p>\r\n</div>", styles: [":host .quiz-container .congrats-title{font-size:28px;font-weight:700}:host .quiz-container{gap:2px;justify-content:flex-end}:host .quiz-container p,:host .quiz-container span{margin-block-end:0}:host .quiz-container .passed,:host .quiz-container .failed{font-weight:700}:host .quiz-container .passed{color:var(--positive-color)}:host .quiz-container .failed{color:var(--error-color)}\n", ".quiz-container{display:flex;flex-direction:column;gap:16px}.quiz-container p,.quiz-container b,.quiz-container span{font-size:16px;margin-bottom:.25rem}.quiz-container .quiz-title{font-weight:700}.quiz-container .error-message{color:var(--error-color);font-weight:700}.quiz-container .answer-item{display:flex;flex-direction:row;gap:8px}.answers-container{display:flex;flex-direction:column;gap:16px}.answers-container .answer-item{display:flex;flex-direction:row;gap:8px}.answers-container .answer-note{background-color:var(--light-text-color);border-radius:var(border-radius);font-size:14px}\n"] }]
1267
1270
  }], propDecorators: { quizData: [{
1268
1271
  type: Input
1269
1272
  }], showSubmissionsCounter: [{
@@ -1294,11 +1297,11 @@ class QuizGradeSheetComponent {
1294
1297
  return this.resourceSubscription.resourcePreview.title;
1295
1298
  }
1296
1299
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: QuizGradeSheetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1297
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: QuizGradeSheetComponent, isStandalone: false, selector: "quiz-grade-sheet", inputs: { resourceSubscription: "resourceSubscription", quizData: "quizData" }, ngImport: i0, template: "<div class=\"quiz-grade-sheet-container\">\r\n <div class=\"col-2\">\r\n <p class=\"quiz-title\">{{ quizName }}</p>\r\n <br>\r\n <div class=\"grid-container\">\r\n <div class=\"left-column\">\u05DB\u05DE\u05D5\u05EA \u05E9\u05D0\u05DC\u05D5\u05EA</div>\r\n <div class=\"right-column\">{{ questionCount }}</div>\r\n <div class=\"left-column\">\u05E6\u05D9\u05D5\u05DF</div>\r\n <div class=\"right-column\">{{quizData.grade}}</div>\r\n </div>\r\n </div>\r\n <div class=\"col-10\">\r\n <div class=\"grade-image-container\">\r\n <ng-container *ngIf=\"isUserPassTheQuiz\">\r\n <img src=\"/assets/quiz/happyOwl.svg\">\r\n <p>\u05DB\u05DC \u05D4\u05DB\u05D1\u05D5\u05D3! \u05E1\u05D9\u05D9\u05DE\u05EA \u05D0\u05EA \u05D4\u05DE\u05D1\u05D7\u05DF \u05D1\u05D4\u05E6\u05DC\u05D7\u05D4</p>\r\n </ng-container>\r\n <ng-container *ngIf=\"!isUserPassTheQuiz\">\r\n <img src=\"/assets/quiz/sadOwl.svg\">\r\n <p>\u05DC\u05D0 \u05E2\u05D1\u05E8\u05EA \u05D0\u05EA \u05D4\u05DE\u05D1\u05D7\u05DF \u05D1\u05E0\u05E1\u05D9\u05D5\u05DF \u05D4\u05D6\u05D4</p>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</div>", styles: [".quiz-grade-sheet-container{display:flex;flex-direction:row;padding-top:24px;padding-right:24px}.quiz-grade-sheet-container .quiz-title{font-size:18px;font-weight:700}.quiz-grade-sheet-container .grid-container{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:20px}.quiz-grade-sheet-container .left-column{font-size:16px;font-weight:700}.quiz-grade-sheet-container .right-column{font-size:16px;font-weight:400}.quiz-grade-sheet-container .grade-image-container{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:24px;padding:16px;text-align:center}.quiz-grade-sheet-container .grade-image-container p{font-size:18px;font-weight:700}\n", ".quiz-container{display:flex;flex-direction:column;gap:16px}.quiz-container p,.quiz-container b{font-size:16px;margin-bottom:.25rem}.quiz-container .quiz-title{font-weight:700}.quiz-container .error-message{color:var(--error-color);font-weight:700}.quiz-container .answer-item{display:flex;flex-direction:row;gap:8px}.answers-container{display:flex;flex-direction:column;gap:16px}.answers-container .answer-item{display:flex;flex-direction:row;gap:8px}.answers-container .answer-note{background-color:var(--light-text-color);border-radius:var(border-radius);font-size:14px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
1300
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: QuizGradeSheetComponent, isStandalone: false, selector: "quiz-grade-sheet", inputs: { resourceSubscription: "resourceSubscription", quizData: "quizData" }, ngImport: i0, template: "<div class=\"quiz-grade-sheet-container\">\r\n <div class=\"col-2\">\r\n <p class=\"quiz-title\">{{ quizName }}</p>\r\n <br>\r\n <div class=\"grid-container\">\r\n <div class=\"left-column\">\u05DB\u05DE\u05D5\u05EA \u05E9\u05D0\u05DC\u05D5\u05EA</div>\r\n <div class=\"right-column\">{{ questionCount }}</div>\r\n <div class=\"left-column\">\u05E6\u05D9\u05D5\u05DF</div>\r\n <div class=\"right-column\">{{quizData.grade}}</div>\r\n </div>\r\n </div>\r\n <div class=\"col-10\">\r\n <div class=\"grade-image-container\">\r\n <ng-container *ngIf=\"isUserPassTheQuiz\">\r\n <img src=\"/assets/quiz/happyOwl.svg\">\r\n <p>\u05DB\u05DC \u05D4\u05DB\u05D1\u05D5\u05D3! \u05E1\u05D9\u05D9\u05DE\u05EA \u05D0\u05EA \u05D4\u05DE\u05D1\u05D7\u05DF \u05D1\u05D4\u05E6\u05DC\u05D7\u05D4</p>\r\n </ng-container>\r\n <ng-container *ngIf=\"!isUserPassTheQuiz\">\r\n <img src=\"/assets/quiz/sadOwl.svg\">\r\n <p>\u05DC\u05D0 \u05E2\u05D1\u05E8\u05EA \u05D0\u05EA \u05D4\u05DE\u05D1\u05D7\u05DF \u05D1\u05E0\u05E1\u05D9\u05D5\u05DF \u05D4\u05D6\u05D4</p>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</div>", styles: [".quiz-grade-sheet-container{display:flex;flex-direction:row;padding-top:24px;padding-right:24px}.quiz-grade-sheet-container .quiz-title{font-size:18px;font-weight:700}.quiz-grade-sheet-container .grid-container{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:20px}.quiz-grade-sheet-container .left-column{font-size:16px;font-weight:700}.quiz-grade-sheet-container .right-column{font-size:16px;font-weight:400}.quiz-grade-sheet-container .grade-image-container{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:24px;padding:16px;text-align:center}.quiz-grade-sheet-container .grade-image-container p{font-size:18px;font-weight:700}\n", ".quiz-container{display:flex;flex-direction:column;gap:16px}.quiz-container p,.quiz-container b,.quiz-container span{font-size:16px;margin-bottom:.25rem}.quiz-container .quiz-title{font-weight:700}.quiz-container .error-message{color:var(--error-color);font-weight:700}.quiz-container .answer-item{display:flex;flex-direction:row;gap:8px}.answers-container{display:flex;flex-direction:column;gap:16px}.answers-container .answer-item{display:flex;flex-direction:row;gap:8px}.answers-container .answer-note{background-color:var(--light-text-color);border-radius:var(border-radius);font-size:14px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
1298
1301
  }
1299
1302
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: QuizGradeSheetComponent, decorators: [{
1300
1303
  type: Component,
1301
- args: [{ standalone: false, selector: 'quiz-grade-sheet', template: "<div class=\"quiz-grade-sheet-container\">\r\n <div class=\"col-2\">\r\n <p class=\"quiz-title\">{{ quizName }}</p>\r\n <br>\r\n <div class=\"grid-container\">\r\n <div class=\"left-column\">\u05DB\u05DE\u05D5\u05EA \u05E9\u05D0\u05DC\u05D5\u05EA</div>\r\n <div class=\"right-column\">{{ questionCount }}</div>\r\n <div class=\"left-column\">\u05E6\u05D9\u05D5\u05DF</div>\r\n <div class=\"right-column\">{{quizData.grade}}</div>\r\n </div>\r\n </div>\r\n <div class=\"col-10\">\r\n <div class=\"grade-image-container\">\r\n <ng-container *ngIf=\"isUserPassTheQuiz\">\r\n <img src=\"/assets/quiz/happyOwl.svg\">\r\n <p>\u05DB\u05DC \u05D4\u05DB\u05D1\u05D5\u05D3! \u05E1\u05D9\u05D9\u05DE\u05EA \u05D0\u05EA \u05D4\u05DE\u05D1\u05D7\u05DF \u05D1\u05D4\u05E6\u05DC\u05D7\u05D4</p>\r\n </ng-container>\r\n <ng-container *ngIf=\"!isUserPassTheQuiz\">\r\n <img src=\"/assets/quiz/sadOwl.svg\">\r\n <p>\u05DC\u05D0 \u05E2\u05D1\u05E8\u05EA \u05D0\u05EA \u05D4\u05DE\u05D1\u05D7\u05DF \u05D1\u05E0\u05E1\u05D9\u05D5\u05DF \u05D4\u05D6\u05D4</p>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</div>", styles: [".quiz-grade-sheet-container{display:flex;flex-direction:row;padding-top:24px;padding-right:24px}.quiz-grade-sheet-container .quiz-title{font-size:18px;font-weight:700}.quiz-grade-sheet-container .grid-container{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:20px}.quiz-grade-sheet-container .left-column{font-size:16px;font-weight:700}.quiz-grade-sheet-container .right-column{font-size:16px;font-weight:400}.quiz-grade-sheet-container .grade-image-container{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:24px;padding:16px;text-align:center}.quiz-grade-sheet-container .grade-image-container p{font-size:18px;font-weight:700}\n", ".quiz-container{display:flex;flex-direction:column;gap:16px}.quiz-container p,.quiz-container b{font-size:16px;margin-bottom:.25rem}.quiz-container .quiz-title{font-weight:700}.quiz-container .error-message{color:var(--error-color);font-weight:700}.quiz-container .answer-item{display:flex;flex-direction:row;gap:8px}.answers-container{display:flex;flex-direction:column;gap:16px}.answers-container .answer-item{display:flex;flex-direction:row;gap:8px}.answers-container .answer-note{background-color:var(--light-text-color);border-radius:var(border-radius);font-size:14px}\n"] }]
1304
+ args: [{ standalone: false, selector: 'quiz-grade-sheet', template: "<div class=\"quiz-grade-sheet-container\">\r\n <div class=\"col-2\">\r\n <p class=\"quiz-title\">{{ quizName }}</p>\r\n <br>\r\n <div class=\"grid-container\">\r\n <div class=\"left-column\">\u05DB\u05DE\u05D5\u05EA \u05E9\u05D0\u05DC\u05D5\u05EA</div>\r\n <div class=\"right-column\">{{ questionCount }}</div>\r\n <div class=\"left-column\">\u05E6\u05D9\u05D5\u05DF</div>\r\n <div class=\"right-column\">{{quizData.grade}}</div>\r\n </div>\r\n </div>\r\n <div class=\"col-10\">\r\n <div class=\"grade-image-container\">\r\n <ng-container *ngIf=\"isUserPassTheQuiz\">\r\n <img src=\"/assets/quiz/happyOwl.svg\">\r\n <p>\u05DB\u05DC \u05D4\u05DB\u05D1\u05D5\u05D3! \u05E1\u05D9\u05D9\u05DE\u05EA \u05D0\u05EA \u05D4\u05DE\u05D1\u05D7\u05DF \u05D1\u05D4\u05E6\u05DC\u05D7\u05D4</p>\r\n </ng-container>\r\n <ng-container *ngIf=\"!isUserPassTheQuiz\">\r\n <img src=\"/assets/quiz/sadOwl.svg\">\r\n <p>\u05DC\u05D0 \u05E2\u05D1\u05E8\u05EA \u05D0\u05EA \u05D4\u05DE\u05D1\u05D7\u05DF \u05D1\u05E0\u05E1\u05D9\u05D5\u05DF \u05D4\u05D6\u05D4</p>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</div>", styles: [".quiz-grade-sheet-container{display:flex;flex-direction:row;padding-top:24px;padding-right:24px}.quiz-grade-sheet-container .quiz-title{font-size:18px;font-weight:700}.quiz-grade-sheet-container .grid-container{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:20px}.quiz-grade-sheet-container .left-column{font-size:16px;font-weight:700}.quiz-grade-sheet-container .right-column{font-size:16px;font-weight:400}.quiz-grade-sheet-container .grade-image-container{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:24px;padding:16px;text-align:center}.quiz-grade-sheet-container .grade-image-container p{font-size:18px;font-weight:700}\n", ".quiz-container{display:flex;flex-direction:column;gap:16px}.quiz-container p,.quiz-container b,.quiz-container span{font-size:16px;margin-bottom:.25rem}.quiz-container .quiz-title{font-weight:700}.quiz-container .error-message{color:var(--error-color);font-weight:700}.quiz-container .answer-item{display:flex;flex-direction:row;gap:8px}.answers-container{display:flex;flex-direction:column;gap:16px}.answers-container .answer-item{display:flex;flex-direction:row;gap:8px}.answers-container .answer-note{background-color:var(--light-text-color);border-radius:var(border-radius);font-size:14px}\n"] }]
1302
1305
  }], propDecorators: { resourceSubscription: [{
1303
1306
  type: Input
1304
1307
  }], quizData: [{
@@ -1483,11 +1486,11 @@ class QuizMultiAnswerQuestionComponent {
1483
1486
  this.destroySubject$.complete();
1484
1487
  }
1485
1488
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: QuizMultiAnswerQuestionComponent, deps: [{ token: i1$3.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
1486
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: QuizMultiAnswerQuestionComponent, isStandalone: false, selector: "quiz-multi-answer-question", inputs: { question: "question", quizData: "quizData", userAnswers: "userAnswers", isCheckingMode: "isCheckingMode", areAnswersRevealed: "areAnswersRevealed", areAnswersBlocked: "areAnswersBlocked", correctAnswerCount: "correctAnswerCount" }, outputs: { onAnswersChange: "onAnswersChange", onValidationChange: "onValidationChange" }, viewQueries: [{ propertyName: "checkboxes", predicate: HerumCheckboxComponent$1, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"main-container\">\r\n <p class=\"correct-answer-count\">\u05D9\u05E9 \u05DC\u05E1\u05DE\u05DF {{ correctAnswerCount }} \u05EA\u05E9\u05D5\u05D1\u05D5\u05EA</p>\r\n\r\n <form *ngIf=\"question.closedContent.answers\" [formGroup]=\"answersForm\" class=\"answers-container\">\r\n <div class=\"answer-item\" *ngFor=\"let answer of question.closedContent.answers;let i=index\">\r\n <div class=\"answer-container\" [ngClass]=\"{'revealed-answers':(areAnswersRevealed || isCheckingMode)}\"\r\n [attr.type]=\"(areAnswersRevealed || isCheckingMode) ? answerTypeAttributes[i] : ''\"\r\n [attr.includes-additional-option-text]=\"(additionalOptionsText && additionalOptionsText[i]) ? 'true' : 'false'\">\r\n <herum-checkbox [isBlocked]=\"isBlocked\" [formControlName]=\"controlNamePrefix + i\"\r\n [id]=\"controlNamePrefix + i\">\r\n </herum-checkbox>\r\n\r\n <p class=\"answer-text cursor-pointer\" [ngClass]=\"{'cursor-pointer':!isBlocked}\"\r\n (click)=\"_onAnswerClicked(i)\">{{ answer.content }}</p>\r\n </div>\r\n\r\n <span *ngIf=\"answer.note && (areAnswersRevealed || isCheckingMode)\" class=\"answer-note\">\r\n {{ answer.note }}\r\n </span>\r\n </div>\r\n </form>\r\n</div>", styles: [".answer-text{line-height:1;font-size:14px;font-weight:700}.correct-answer-count{margin-block-end:0;font-size:14px}.answers-container,.main-container{display:flex;flex-direction:column;gap:8px;width:100%}.answer-container{display:flex;align-items:center;gap:8px}.answer-container,.answer-note{flex:1}\n", ".quiz-container{display:flex;flex-direction:column;gap:16px}.quiz-container p,.quiz-container b{font-size:16px;margin-bottom:.25rem}.quiz-container .quiz-title{font-weight:700}.quiz-container .error-message{color:var(--error-color);font-weight:700}.quiz-container .answer-item{display:flex;flex-direction:row;gap:8px}.answers-container{display:flex;flex-direction:column;gap:16px}.answers-container .answer-item{display:flex;flex-direction:row;gap:8px}.answers-container .answer-note{background-color:var(--light-text-color);border-radius:var(border-radius);font-size:14px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: HerumCheckboxComponent, selector: "herum-checkbox", inputs: ["type", "isChecked", "isBlocked"], outputs: ["checkedEmitter"] }] });
1489
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: QuizMultiAnswerQuestionComponent, isStandalone: false, selector: "quiz-multi-answer-question", inputs: { question: "question", quizData: "quizData", userAnswers: "userAnswers", isCheckingMode: "isCheckingMode", areAnswersRevealed: "areAnswersRevealed", areAnswersBlocked: "areAnswersBlocked", correctAnswerCount: "correctAnswerCount" }, outputs: { onAnswersChange: "onAnswersChange", onValidationChange: "onValidationChange" }, viewQueries: [{ propertyName: "checkboxes", predicate: HerumCheckboxComponent$1, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"main-container\">\r\n <p class=\"correct-answer-count\">\u05D9\u05E9 \u05DC\u05E1\u05DE\u05DF {{ correctAnswerCount }} \u05EA\u05E9\u05D5\u05D1\u05D5\u05EA</p>\r\n\r\n <form *ngIf=\"question.closedContent.answers\" [formGroup]=\"answersForm\" class=\"answers-container\">\r\n <div class=\"answer-item\" *ngFor=\"let answer of question.closedContent.answers;let i=index\">\r\n <div class=\"answer-container\" [ngClass]=\"{'revealed-answers':(areAnswersRevealed || isCheckingMode)}\"\r\n [attr.type]=\"(areAnswersRevealed || isCheckingMode) ? answerTypeAttributes[i] : ''\"\r\n [attr.includes-additional-option-text]=\"(additionalOptionsText && additionalOptionsText[i]) ? 'true' : 'false'\">\r\n <herum-checkbox [isBlocked]=\"isBlocked\" [formControlName]=\"controlNamePrefix + i\"\r\n [id]=\"controlNamePrefix + i\">\r\n </herum-checkbox>\r\n\r\n <p class=\"answer-text cursor-pointer\" [ngClass]=\"{'cursor-pointer':!isBlocked}\"\r\n (click)=\"_onAnswerClicked(i)\">{{ answer.content }}</p>\r\n </div>\r\n\r\n <span *ngIf=\"answer.note && (areAnswersRevealed || isCheckingMode)\" class=\"answer-note\">\r\n {{ answer.note }}\r\n </span>\r\n </div>\r\n </form>\r\n</div>", styles: [".answer-text{line-height:1;font-size:14px;font-weight:700}.correct-answer-count{margin-block-end:0;font-size:14px}.answers-container,.main-container{display:flex;flex-direction:column;gap:8px;width:100%}.answer-container{display:flex;align-items:center;gap:8px}.answer-container,.answer-note{flex:1}\n", ".quiz-container{display:flex;flex-direction:column;gap:16px}.quiz-container p,.quiz-container b,.quiz-container span{font-size:16px;margin-bottom:.25rem}.quiz-container .quiz-title{font-weight:700}.quiz-container .error-message{color:var(--error-color);font-weight:700}.quiz-container .answer-item{display:flex;flex-direction:row;gap:8px}.answers-container{display:flex;flex-direction:column;gap:16px}.answers-container .answer-item{display:flex;flex-direction:row;gap:8px}.answers-container .answer-note{background-color:var(--light-text-color);border-radius:var(border-radius);font-size:14px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: HerumCheckboxComponent, selector: "herum-checkbox", inputs: ["type", "isChecked", "isBlocked"], outputs: ["checkedEmitter"] }] });
1487
1490
  }
1488
1491
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: QuizMultiAnswerQuestionComponent, decorators: [{
1489
1492
  type: Component,
1490
- args: [{ standalone: false, selector: 'quiz-multi-answer-question', template: "<div class=\"main-container\">\r\n <p class=\"correct-answer-count\">\u05D9\u05E9 \u05DC\u05E1\u05DE\u05DF {{ correctAnswerCount }} \u05EA\u05E9\u05D5\u05D1\u05D5\u05EA</p>\r\n\r\n <form *ngIf=\"question.closedContent.answers\" [formGroup]=\"answersForm\" class=\"answers-container\">\r\n <div class=\"answer-item\" *ngFor=\"let answer of question.closedContent.answers;let i=index\">\r\n <div class=\"answer-container\" [ngClass]=\"{'revealed-answers':(areAnswersRevealed || isCheckingMode)}\"\r\n [attr.type]=\"(areAnswersRevealed || isCheckingMode) ? answerTypeAttributes[i] : ''\"\r\n [attr.includes-additional-option-text]=\"(additionalOptionsText && additionalOptionsText[i]) ? 'true' : 'false'\">\r\n <herum-checkbox [isBlocked]=\"isBlocked\" [formControlName]=\"controlNamePrefix + i\"\r\n [id]=\"controlNamePrefix + i\">\r\n </herum-checkbox>\r\n\r\n <p class=\"answer-text cursor-pointer\" [ngClass]=\"{'cursor-pointer':!isBlocked}\"\r\n (click)=\"_onAnswerClicked(i)\">{{ answer.content }}</p>\r\n </div>\r\n\r\n <span *ngIf=\"answer.note && (areAnswersRevealed || isCheckingMode)\" class=\"answer-note\">\r\n {{ answer.note }}\r\n </span>\r\n </div>\r\n </form>\r\n</div>", styles: [".answer-text{line-height:1;font-size:14px;font-weight:700}.correct-answer-count{margin-block-end:0;font-size:14px}.answers-container,.main-container{display:flex;flex-direction:column;gap:8px;width:100%}.answer-container{display:flex;align-items:center;gap:8px}.answer-container,.answer-note{flex:1}\n", ".quiz-container{display:flex;flex-direction:column;gap:16px}.quiz-container p,.quiz-container b{font-size:16px;margin-bottom:.25rem}.quiz-container .quiz-title{font-weight:700}.quiz-container .error-message{color:var(--error-color);font-weight:700}.quiz-container .answer-item{display:flex;flex-direction:row;gap:8px}.answers-container{display:flex;flex-direction:column;gap:16px}.answers-container .answer-item{display:flex;flex-direction:row;gap:8px}.answers-container .answer-note{background-color:var(--light-text-color);border-radius:var(border-radius);font-size:14px}\n"] }]
1493
+ args: [{ standalone: false, selector: 'quiz-multi-answer-question', template: "<div class=\"main-container\">\r\n <p class=\"correct-answer-count\">\u05D9\u05E9 \u05DC\u05E1\u05DE\u05DF {{ correctAnswerCount }} \u05EA\u05E9\u05D5\u05D1\u05D5\u05EA</p>\r\n\r\n <form *ngIf=\"question.closedContent.answers\" [formGroup]=\"answersForm\" class=\"answers-container\">\r\n <div class=\"answer-item\" *ngFor=\"let answer of question.closedContent.answers;let i=index\">\r\n <div class=\"answer-container\" [ngClass]=\"{'revealed-answers':(areAnswersRevealed || isCheckingMode)}\"\r\n [attr.type]=\"(areAnswersRevealed || isCheckingMode) ? answerTypeAttributes[i] : ''\"\r\n [attr.includes-additional-option-text]=\"(additionalOptionsText && additionalOptionsText[i]) ? 'true' : 'false'\">\r\n <herum-checkbox [isBlocked]=\"isBlocked\" [formControlName]=\"controlNamePrefix + i\"\r\n [id]=\"controlNamePrefix + i\">\r\n </herum-checkbox>\r\n\r\n <p class=\"answer-text cursor-pointer\" [ngClass]=\"{'cursor-pointer':!isBlocked}\"\r\n (click)=\"_onAnswerClicked(i)\">{{ answer.content }}</p>\r\n </div>\r\n\r\n <span *ngIf=\"answer.note && (areAnswersRevealed || isCheckingMode)\" class=\"answer-note\">\r\n {{ answer.note }}\r\n </span>\r\n </div>\r\n </form>\r\n</div>", styles: [".answer-text{line-height:1;font-size:14px;font-weight:700}.correct-answer-count{margin-block-end:0;font-size:14px}.answers-container,.main-container{display:flex;flex-direction:column;gap:8px;width:100%}.answer-container{display:flex;align-items:center;gap:8px}.answer-container,.answer-note{flex:1}\n", ".quiz-container{display:flex;flex-direction:column;gap:16px}.quiz-container p,.quiz-container b,.quiz-container span{font-size:16px;margin-bottom:.25rem}.quiz-container .quiz-title{font-weight:700}.quiz-container .error-message{color:var(--error-color);font-weight:700}.quiz-container .answer-item{display:flex;flex-direction:row;gap:8px}.answers-container{display:flex;flex-direction:column;gap:16px}.answers-container .answer-item{display:flex;flex-direction:row;gap:8px}.answers-container .answer-note{background-color:var(--light-text-color);border-radius:var(border-radius);font-size:14px}\n"] }]
1491
1494
  }], ctorParameters: () => [{ type: i1$3.FormBuilder }], propDecorators: { question: [{
1492
1495
  type: Input
1493
1496
  }], quizData: [{
@@ -6630,13 +6633,17 @@ class HerumUploadFileComponent {
6630
6633
  ngOnChanges(changes) {
6631
6634
  if (changes.selectedFile) {
6632
6635
  if (!this.selectedFile) {
6633
- this.files = undefined;
6634
- this.hasTouched = false;
6636
+ this.clearState();
6635
6637
  return;
6636
6638
  }
6637
6639
  this.setExistingFile();
6638
6640
  }
6639
6641
  }
6642
+ clearState() {
6643
+ this.files = undefined;
6644
+ this.hasTouched = false;
6645
+ this.uploadName = this.fileSuffix = '';
6646
+ }
6640
6647
  ngAfterViewInit() {
6641
6648
  this.fileInput.nativeElement.setAttribute('title', '');
6642
6649
  }
@@ -11240,7 +11247,9 @@ const dateRangeTimeRangeWithoutSecondsPlaceHolder = `${dateTimeWithoutSecondsPla
11240
11247
  const resourceIdPlaceholder = "$resourceId";
11241
11248
  const defaultCloseTime = new Date('01-01-2999');
11242
11249
  const defaultOpenTime = new Date('01-01-1999');
11243
- const correctAnswerPropertyPath = `.Quiz.Questions[].ClosedContent.Answers[].IsCorrect`;
11250
+ const answersPath = `.Quiz.Questions[].ClosedContent.Answers[]`;
11251
+ const answerNotePropertyPath = `${answersPath}.note`;
11252
+ const correctAnswerPropertyPath = `${answersPath}.IsCorrect`;
11244
11253
  const matchingSourceIndexPropertyPath = `.Quiz.Questions[].MatchingContent.Sources[].Index`;
11245
11254
  const openStatus = {
11246
11255
  openingTime: new Date(),
@@ -11312,6 +11321,14 @@ const defaultAuthorizationObject = {
11312
11321
  collectionItemType: 'Resources'
11313
11322
  });
11314
11323
  },
11324
+ answerNote() {
11325
+ return cloneDeep({
11326
+ propertyPath: `[${resourceIdPlaceholder}]${answersPath}`,
11327
+ authorizationType: MicroResourceAuthorizationType.view,
11328
+ ...closeStatus,
11329
+ collectionItemType: 'Resources'
11330
+ });
11331
+ },
11315
11332
  matchingSourceIndex() {
11316
11333
  return cloneDeep({
11317
11334
  propertyPath: `[${resourceIdPlaceholder}]${matchingSourceIndexPropertyPath}`,
@@ -18843,5 +18860,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
18843
18860
  * Generated bundle index. Do not edit.
18844
18861
  */
18845
18862
 
18846
- export { AnswerNotesToTextChangesPipe, AtomsModule, AudioConfigurationConstants, AudioPlayerComponent, AudioSliderComponent, AudioVisualizationService, AuthService, BlockedFormComponent, CheckboxCellComponent, ChipsCellComponent, CollectionSubscriptionToCollectionBasePipe, CollectionToCollectionBasePipe, CollegeAudioConfiguration, CollegeLoaderComponent, CommonGraphqlRequestsService, ConditionalFormControlNameDirective, CopyableCellComponent, DbActionRequestsService, DbActionToastService, DbActionsInnerIdManagerService, DeleteRowComponent, DependentsService, DialogsModule, DirectivesModule, DisplayedSubmissionsCounterPipe, EditRowComponent, EllipsisPipe, ErrorMessageDialogComponent, ErrorsHandlerService, ErrorsModule, FetchedMessageDialog, FetchedMessageModule, FetchedMessageService, GlobalErrorHandler, GlobalKeyboardListenerService, GraphQLService, HadrachaAudioConfiguration, HerumActiveLinkComponent, HerumActiveMenuComponent, HerumAgGridFilterComponent, HerumAutocompleteComponent, HerumBreadcrumbsComponent, HerumButtonComponent, HerumCheckboxComponent, HerumChipComponent, HerumCircularProgressBarComponent, HerumClosedListMultiSelectComponent, HerumClosedListSelectComponent, HerumDatePickerComponent, HerumDateTimeInputComponent, HerumDateTimePickerComponent, HerumDateTimePickerSelectComponent, HerumDownloadFileComponent, HerumDropZoneComponent, HerumEllipsisLoaderComponent, HerumExpendablePanelComponent, HerumFilesViewerComponent, HerumFilesViewerDialogComponent, HerumFormControl, HerumHierarchyTreeComponent, HerumHierarchyTreeNodeComponent, HerumHighlightDirective, HerumIconLabelComponent, HerumIndeterminateComponent, HerumInputFieldComponent, HerumListCentralizerComponent, HerumLoaderComponent, HerumLocalLoaderComponent, HerumLogoComponent, HerumMiniTableComponent, HerumMultiProgressBarComponent, HerumMultiSelectComponent, HerumNarrowCollectionMenuItemComponent, HerumNavigatorComponent, HerumNoResultMessageComponent, HerumOptionsListComponent, HerumPaginatorComponent, HerumPanelLinksComponent, HerumPdfViewerComponent, HerumPresentationViewerComponent, HerumProgressBarComponent, HerumQuizComponent, HerumQuizHeaderItemComponent, HerumRadioButtonComponent, HerumRecursiveHierarchyOptionsListComponent, HerumSelectComponent, HerumSharedModule, HerumSharedMongoModule, HerumSliderComponent, HerumSpinnerComponent, HerumStepNavigatorComponent, HerumStepperComponent, HerumStoryViewerComponent, HerumSwitchComponent, HerumTableComponent, HerumTextAreaComponent, HerumTextualVerticalTreeComponent, HerumTimePickerComponent, HerumTimeRangeSelectComponent, HerumTimeSelectComponent, HerumToastsComponent, HerumToggleButtonComponent, HerumToolTipDirective, HerumUploadFileComponent, HerumUploadsManagerComponent, HerumUserProfileComponent, HerumUserProgressComponent, HerumVideoPlayerComponent, HerumVideoRangeBarComponent, HerumVideoSelectComponent, InputCellComponent, InsuranceDialogComponent, KeyPressService, KeyValueListComponent, LabelsWithIconsListComponent, LoaderManagerService, MicroResourcesService, MoleculesModule, MongoUtilsService, NestedConditionSigniture, NumericSliderComponent, PipesModule, ProgressesOverViewComponent, QuizGradeSheetComponent, QuizHeaderComponent, QuizIntroComponent, QuizLoaderComponent, QuizMultiAnswerQuestionComponent, QuizOneAnswerQuestionComponent, QuizOpenAnswerQuestionComponent, QuizSubmissionComponent, QuizTwoAnswersQuestionComponent, RecursiveTreeComponent, ResourceDataBuilderService, ResourceSubscriptionToResourcePipe, ResourceToResourceSubscriptionPipe, RoundedVerticalMenuComponent, RowActionButtonsComponent, SYSTEM_AUDIO_VISUAL_CONFIGURATION, SYSTEM_IDENTIFIER, SYSTEM_TRACK_TEXT_CHANGES_SERVICE, SYSTEM_USER_SERVICE, SafeHtmlPipe, SafePipe, SliceBreadcrumbsPipe, StringArrayToSignUpFieldArrayPipe, SvgOnHoverDirective, SwitchCellComponent, SystemStylingService, TableModule, TableRowHeight, TextWithIconCell, TimeFormatPipe, ToIntegerPipe, ToastsService, TrackTextChangesComponent, TrackTextChangesNotesComponent, TrackTextChangesService, UploadsManagerService, UserActionDirective, UserIdentifiedEntitiesToBackendModelsPipe, UserProfileImageComponent, UsersProfilePreviewComponent, UtilsService, activeDragPath, additionTagName, anySubFileTypeWildCard, assignedUserSplittedFields, assignmentMetadata, attributes, audioAndVideoPreviewSupportedMimes, audioAndVideoPreviewSupportedSuffixes, audioPreviewSupportedMimes, audioPreviewSupportedSuffixes, buttonsContainerStyle, calendarActiveColorCssVariable, calendarHoverColorCssVariable, calendarLibraryBodyCellSelector, calendarLibrarySelector, checkboxTypes, closedListExample, collectionFormKeys, collectionFormValues, collectionFormattedAttachments, collectionId, collectionModelInfo, collectionSplittedFields, commentTextStyle, correctAnswerPropertyPath, datePlaceHolder, dateRangePlaceHolder, dateRangeTimeRangePlaceHolder, dateRangeTimeRangeWithoutSecondsPlaceHolder, dateTimePlaceHolder, dateTimeWithoutSecondsPlaceHolder, dayInMilliSeconds, defaultAuthorizationObject, defaultCloseTime, defaultGrade, defaultOpenTime, defaultPlaceholder, defaultTrackTextChangesStyle, defaultUploadsManagerTitle, defaultUserId, defaultUsers, deleteButtonStyle, deletionTagName, dialogsCloseActionButtons, dialogsDescriptions, dialogsNotes, dialogsSubmitActionButtons, dialogsTitles, dragPath, editButtonStyle, editorContainerElementId, emptyValueFlagForCreationUniqListItem, errorHeadersToSet, femaleAvatarPath, filesSuffixes, formCollectionNameValidator, formStatuses, formatError, formsErrorMessages, freeTextAnswerField, generalKeys, getMediaDefaultAuthorizations, getMongoMethodsDisplayedNamesMap, getPropertyPathsOfPublishAuthorization, getPublishAuthorization, getQuizDefaultAuthorizations, getResourceDefaultAuthorizations, getSignUpFormFieldsByFields, getSignUpMethod, globalErrorHandlingHeader, groupsModelInfo, herumClosedListMultiSelectType, initialMediaSettings, innerUniqListItemKey, inputs, insuranceDialogPageNavigationData, isUniqueIdValidator, keyboardAsciiCodes, keyboardKeys, maleAvatarPath, matchingSourceIndexPropertyPath, maxImageHeight, maxImageWidth, minDateError, minuteInMilliseconds, mockedAssignedUserFields, mockedAssignedUserFormattedAttachments, mockedCollectioDeletedFields, mockedCollectioDeletedFieldsRequest, mockedCollectionFields, mockedCollectionFile, mockedNewFileCollectionRequest, mockedNewGroupFields, mockedNewGroupRequest, mockedUpdatedUserFields, mockedUpdatedUserRequest, mockedUserFields, mouseEnter, mouseEnterHandlerKey, mouseLeave, mouseLeaveHandlerKey, openClose, permissionsTemplatesExample, previewImageKey, radioButtonTypes, readynessDisplayName, regexExpressions, requiredErrorMessage, resourceColumnPrefix, resourceFileTypes, resourceFormKeys, resourceIdPlaceholder, resourceKeys, resourceTypes, resourcesFilesSuffixes, routes, secondInMilliseconds, selfIsTeacherExample, setDynamicElementStyle, sideBarSizeButtonId, signUpFormFields, signUpFormFieldsData, signUpFormKeys, sixMonthsInDays, skipToastHeader, speedOptions, startEndDateError, statusCodes, structHierarchyTreeMaxHeight, structId, structModelInfo, svgsStrings, system, systemStylingFactory, tableRowHeights, testEnvironmentConfig, timePattern, timePlaceHolder, timeWithoutSecondsPlaceHolder, timerActiveColorCssVariable, timerHoverColorCssVariable, timerItemSizeColorCssVariable, timestampError, toastContext, toastStates, toastStatuses, toastsKeys, toastsTemplates, toastsTemplatesKeys, tooltipStyle, types, uploadStatuses, uploadsManagerKeys, uploadsProgressMetadataTypes, userFormattedAttachments, userId, userSplittedFields, usersModelInfo, validateIDNumber, validatorsErrorMessages, validatorsNames, videoPreviewSupportedMimes, videoPreviewSupportedSuffixes, viewPermissionLabel };
18863
+ export { AnswerNotesToTextChangesPipe, AtomsModule, AudioConfigurationConstants, AudioPlayerComponent, AudioSliderComponent, AudioVisualizationService, AuthService, BlockedFormComponent, CheckboxCellComponent, ChipsCellComponent, CollectionSubscriptionToCollectionBasePipe, CollectionToCollectionBasePipe, CollegeAudioConfiguration, CollegeLoaderComponent, CommonGraphqlRequestsService, ConditionalFormControlNameDirective, CopyableCellComponent, DbActionRequestsService, DbActionToastService, DbActionsInnerIdManagerService, DeleteRowComponent, DependentsService, DialogsModule, DirectivesModule, DisplayedSubmissionsCounterPipe, EditRowComponent, EllipsisPipe, ErrorMessageDialogComponent, ErrorsHandlerService, ErrorsModule, FetchedMessageDialog, FetchedMessageModule, FetchedMessageService, GlobalErrorHandler, GlobalKeyboardListenerService, GraphQLService, HadrachaAudioConfiguration, HerumActiveLinkComponent, HerumActiveMenuComponent, HerumAgGridFilterComponent, HerumAutocompleteComponent, HerumBreadcrumbsComponent, HerumButtonComponent, HerumCheckboxComponent, HerumChipComponent, HerumCircularProgressBarComponent, HerumClosedListMultiSelectComponent, HerumClosedListSelectComponent, HerumDatePickerComponent, HerumDateTimeInputComponent, HerumDateTimePickerComponent, HerumDateTimePickerSelectComponent, HerumDownloadFileComponent, HerumDropZoneComponent, HerumEllipsisLoaderComponent, HerumExpendablePanelComponent, HerumFilesViewerComponent, HerumFilesViewerDialogComponent, HerumFormControl, HerumHierarchyTreeComponent, HerumHierarchyTreeNodeComponent, HerumHighlightDirective, HerumIconLabelComponent, HerumIndeterminateComponent, HerumInputFieldComponent, HerumListCentralizerComponent, HerumLoaderComponent, HerumLocalLoaderComponent, HerumLogoComponent, HerumMiniTableComponent, HerumMultiProgressBarComponent, HerumMultiSelectComponent, HerumNarrowCollectionMenuItemComponent, HerumNavigatorComponent, HerumNoResultMessageComponent, HerumOptionsListComponent, HerumPaginatorComponent, HerumPanelLinksComponent, HerumPdfViewerComponent, HerumPresentationViewerComponent, HerumProgressBarComponent, HerumQuizComponent, HerumQuizHeaderItemComponent, HerumRadioButtonComponent, HerumRecursiveHierarchyOptionsListComponent, HerumSelectComponent, HerumSharedModule, HerumSharedMongoModule, HerumSliderComponent, HerumSpinnerComponent, HerumStepNavigatorComponent, HerumStepperComponent, HerumStoryViewerComponent, HerumSwitchComponent, HerumTableComponent, HerumTextAreaComponent, HerumTextualVerticalTreeComponent, HerumTimePickerComponent, HerumTimeRangeSelectComponent, HerumTimeSelectComponent, HerumToastsComponent, HerumToggleButtonComponent, HerumToolTipDirective, HerumUploadFileComponent, HerumUploadsManagerComponent, HerumUserProfileComponent, HerumUserProgressComponent, HerumVideoPlayerComponent, HerumVideoRangeBarComponent, HerumVideoSelectComponent, InputCellComponent, InsuranceDialogComponent, KeyPressService, KeyValueListComponent, LabelsWithIconsListComponent, LoaderManagerService, MicroResourcesService, MoleculesModule, MongoUtilsService, NestedConditionSigniture, NumericSliderComponent, PipesModule, ProgressesOverViewComponent, QuizGradeSheetComponent, QuizHeaderComponent, QuizIntroComponent, QuizLoaderComponent, QuizMultiAnswerQuestionComponent, QuizOneAnswerQuestionComponent, QuizOpenAnswerQuestionComponent, QuizSubmissionComponent, QuizTwoAnswersQuestionComponent, RecursiveTreeComponent, ResourceDataBuilderService, ResourceSubscriptionToResourcePipe, ResourceToResourceSubscriptionPipe, RoundedVerticalMenuComponent, RowActionButtonsComponent, SYSTEM_AUDIO_VISUAL_CONFIGURATION, SYSTEM_IDENTIFIER, SYSTEM_TRACK_TEXT_CHANGES_SERVICE, SYSTEM_USER_SERVICE, SafeHtmlPipe, SafePipe, SliceBreadcrumbsPipe, StringArrayToSignUpFieldArrayPipe, SvgOnHoverDirective, SwitchCellComponent, SystemStylingService, TableModule, TableRowHeight, TextWithIconCell, TimeFormatPipe, ToIntegerPipe, ToastsService, TrackTextChangesComponent, TrackTextChangesNotesComponent, TrackTextChangesService, UploadsManagerService, UserActionDirective, UserIdentifiedEntitiesToBackendModelsPipe, UserProfileImageComponent, UsersProfilePreviewComponent, UtilsService, activeDragPath, additionTagName, answerNotePropertyPath, answersPath, anySubFileTypeWildCard, assignedUserSplittedFields, assignmentMetadata, attributes, audioAndVideoPreviewSupportedMimes, audioAndVideoPreviewSupportedSuffixes, audioPreviewSupportedMimes, audioPreviewSupportedSuffixes, buttonsContainerStyle, calendarActiveColorCssVariable, calendarHoverColorCssVariable, calendarLibraryBodyCellSelector, calendarLibrarySelector, checkboxTypes, closedListExample, collectionFormKeys, collectionFormValues, collectionFormattedAttachments, collectionId, collectionModelInfo, collectionSplittedFields, commentTextStyle, correctAnswerPropertyPath, datePlaceHolder, dateRangePlaceHolder, dateRangeTimeRangePlaceHolder, dateRangeTimeRangeWithoutSecondsPlaceHolder, dateTimePlaceHolder, dateTimeWithoutSecondsPlaceHolder, dayInMilliSeconds, defaultAuthorizationObject, defaultCloseTime, defaultGrade, defaultOpenTime, defaultPlaceholder, defaultTrackTextChangesStyle, defaultUploadsManagerTitle, defaultUserId, defaultUsers, deleteButtonStyle, deletionTagName, dialogsCloseActionButtons, dialogsDescriptions, dialogsNotes, dialogsSubmitActionButtons, dialogsTitles, dragPath, editButtonStyle, editorContainerElementId, emptyValueFlagForCreationUniqListItem, errorHeadersToSet, femaleAvatarPath, filesSuffixes, formCollectionNameValidator, formStatuses, formatError, formsErrorMessages, freeTextAnswerField, generalKeys, getMediaDefaultAuthorizations, getMongoMethodsDisplayedNamesMap, getPropertyPathsOfPublishAuthorization, getPublishAuthorization, getQuizDefaultAuthorizations, getResourceDefaultAuthorizations, getSignUpFormFieldsByFields, getSignUpMethod, globalErrorHandlingHeader, groupsModelInfo, herumClosedListMultiSelectType, initialMediaSettings, innerUniqListItemKey, inputs, insuranceDialogPageNavigationData, isUniqueIdValidator, keyboardAsciiCodes, keyboardKeys, maleAvatarPath, matchingSourceIndexPropertyPath, maxImageHeight, maxImageWidth, minDateError, minuteInMilliseconds, mockedAssignedUserFields, mockedAssignedUserFormattedAttachments, mockedCollectioDeletedFields, mockedCollectioDeletedFieldsRequest, mockedCollectionFields, mockedCollectionFile, mockedNewFileCollectionRequest, mockedNewGroupFields, mockedNewGroupRequest, mockedUpdatedUserFields, mockedUpdatedUserRequest, mockedUserFields, mouseEnter, mouseEnterHandlerKey, mouseLeave, mouseLeaveHandlerKey, openClose, permissionsTemplatesExample, previewImageKey, radioButtonTypes, readynessDisplayName, regexExpressions, requiredErrorMessage, resourceColumnPrefix, resourceFileTypes, resourceFormKeys, resourceIdPlaceholder, resourceKeys, resourceTypes, resourcesFilesSuffixes, routes, secondInMilliseconds, selfIsTeacherExample, setDynamicElementStyle, sideBarSizeButtonId, signUpFormFields, signUpFormFieldsData, signUpFormKeys, sixMonthsInDays, skipToastHeader, speedOptions, startEndDateError, statusCodes, structHierarchyTreeMaxHeight, structId, structModelInfo, svgsStrings, system, systemStylingFactory, tableRowHeights, testEnvironmentConfig, timePattern, timePlaceHolder, timeWithoutSecondsPlaceHolder, timerActiveColorCssVariable, timerHoverColorCssVariable, timerItemSizeColorCssVariable, timestampError, toastContext, toastStates, toastStatuses, toastsKeys, toastsTemplates, toastsTemplatesKeys, tooltipStyle, types, uploadStatuses, uploadsManagerKeys, uploadsProgressMetadataTypes, userFormattedAttachments, userId, userSplittedFields, usersModelInfo, validateIDNumber, validatorsErrorMessages, validatorsNames, videoPreviewSupportedMimes, videoPreviewSupportedSuffixes, viewPermissionLabel };
18847
18864
  //# sourceMappingURL=herum-shared.mjs.map