import { AXBasePageComponent } from '@acorex/components/page';
import * as i4 from '@acorex/core/translation';
import { AXTranslationModule } from '@acorex/core/translation';
import * as i1 from '@acorex/components/button';
import { AXButtonModule } from '@acorex/components/button';
import * as i2 from '@acorex/components/decorators';
import { AXDecoratorModule } from '@acorex/components/decorators';
import { AXPStopwatchComponent } from '@acorex/platform/layout/components';
import * as i3 from '@angular/common';
import { CommonModule } from '@angular/common';
import * as i0 from '@angular/core';
import { input, computed, signal, viewChild, effect, ViewEncapsulation, ChangeDetectionStrategy, Component } from '@angular/core';
import { d as AXMQuestionnaireViewerComponent, e as AXMPreQuestionnaireContentComponent, f as AXMPostQuestionnaireContentComponent } from './acorex-modules-assessment-management-acorex-modules-assessment-management-W8hHssaa.mjs';

//#region ----   Imports   ----
//#endregion
//#region ----   Component   ----
class AXMQuestionnaireViewerPopupComponent extends AXBasePageComponent {
    safeInputValue(inputOrValue) {
        return typeof inputOrValue === 'function' ? inputOrValue() : inputOrValue;
    }
    /** Fallback when submitHandler is not passed (e.g. popup framework does not pass functions). */
    getDefaultSubmitHandler() {
        const structure = this.structureValue();
        const prePost = this.prePostConfigValue();
        const totalQuestions = structure?.sections?.reduce((s, sec) => s + (sec.items?.length ?? 0), 0) ?? 0;
        const passingScore = prePost?.passingScore;
        return async (answers) => {
            const answeredCount = Object.keys(answers).filter((k) => {
                const v = answers[k];
                return v != null && v !== '' && !(Array.isArray(v) && v.length === 0);
            }).length;
            const progressPercentage = totalQuestions > 0 ? Math.round((answeredCount / totalQuestions) * 100) : 0;
            const passFail = passingScore != null ? (progressPercentage >= passingScore ? 'Pass' : 'Fail') : undefined;
            return { score: progressPercentage, passFail, totalQuestions, answeredCount };
        };
    }
    //#endregion
    //#region ----   Lifecycle   ----
    constructor() {
        super();
        //#region ----   Inputs   ----
        this.structure = input.required(...(ngDevMode ? [{ debugName: "structure" }] : []));
        this.prePostConfig = input(null, ...(ngDevMode ? [{ debugName: "prePostConfig" }] : []));
        this.config = input(undefined, ...(ngDevMode ? [{ debugName: "config" }] : []));
        this.initialAnswers = input({}, ...(ngDevMode ? [{ debugName: "initialAnswers" }] : []));
        this.submitHandler = input(...(ngDevMode ? [undefined, { debugName: "submitHandler" }] : []));
        /** Safe accessors: popup framework may overwrite inputs with plain values. */
        this.prePostConfigValue = computed(() => this.safeInputValue(this.prePostConfig), ...(ngDevMode ? [{ debugName: "prePostConfigValue" }] : []));
        this.structureValue = computed(() => this.safeInputValue(this.structure), ...(ngDevMode ? [{ debugName: "structureValue" }] : []));
        this.configValue = computed(() => this.safeInputValue(this.config), ...(ngDevMode ? [{ debugName: "configValue" }] : []));
        this.initialAnswersValue = computed(() => this.safeInputValue(this.initialAnswers), ...(ngDevMode ? [{ debugName: "initialAnswersValue" }] : []));
        this.submitHandlerValue = computed(() => {
            const handler = this.safeInputValue(this.submitHandler);
            if (typeof handler === 'function')
                return handler;
            return this.getDefaultSubmitHandler();
        }, ...(ngDevMode ? [{ debugName: "submitHandlerValue" }] : []));
        /** Use answers from review context when returning from review; otherwise use initial input. */
        this.effectiveInitialAnswers = computed(() => {
            const ctx = this.reviewContext();
            if (!ctx)
                return this.initialAnswersValue();
            return ctx.answers ?? ctx;
        }, ...(ngDevMode ? [{ debugName: "effectiveInitialAnswers" }] : []));
        //#endregion
        //#region ----   State   ----
        this.flowStep = signal('questions', ...(ngDevMode ? [{ debugName: "flowStep" }] : []));
        this.reviewSnapshot = signal([], ...(ngDevMode ? [{ debugName: "reviewSnapshot" }] : []));
        this.reviewContext = signal(null, ...(ngDevMode ? [{ debugName: "reviewContext" }] : []));
        this.submitResult = signal(null, ...(ngDevMode ? [{ debugName: "submitResult" }] : []));
        this.lastSubmittedAnswers = signal({}, ...(ngDevMode ? [{ debugName: "lastSubmittedAnswers" }] : []));
        this.lastSubmittedQuestions = signal([], ...(ngDevMode ? [{ debugName: "lastSubmittedQuestions" }] : []));
        this.isSubmitting = signal(false, ...(ngDevMode ? [{ debugName: "isSubmitting" }] : []));
        this.canNavigatePrevious = signal(false, ...(ngDevMode ? [{ debugName: "canNavigatePrevious" }] : []));
        this.canNavigateNext = signal(false, ...(ngDevMode ? [{ debugName: "canNavigateNext" }] : []));
        this.showNavigationButtons = signal(false, ...(ngDevMode ? [{ debugName: "showNavigationButtons" }] : []));
        this.isLastStep = signal(false, ...(ngDevMode ? [{ debugName: "isLastStep" }] : []));
        this.areAllRequiredQuestionsAnswered = signal(false, ...(ngDevMode ? [{ debugName: "areAllRequiredQuestionsAnswered" }] : []));
        //#endregion
        //#region ----   View References   ----
        this.viewer = viewChild('viewer', ...(ngDevMode ? [{ debugName: "viewer" }] : []));
        //#endregion
        //#region ----   Computed   ----
        this.viewerViewModel = computed(() => this.viewer()?.viewmodel, ...(ngDevMode ? [{ debugName: "viewerViewModel" }] : []));
        this.totalQuestionsCount = computed(() => this.viewerViewModel()?.totalQuestionsCount() ?? 0, ...(ngDevMode ? [{ debugName: "totalQuestionsCount" }] : []));
        this.showTimer = computed(() => this.viewerViewModel()?.showTimer() ?? false, ...(ngDevMode ? [{ debugName: "showTimer" }] : []));
        this.timerTimeLimit = computed(() => this.viewerViewModel()?.timerTimeLimit(), ...(ngDevMode ? [{ debugName: "timerTimeLimit" }] : []));
        this.timerElapsed = computed(() => this.viewerViewModel()?.timerElapsed() ?? 0, ...(ngDevMode ? [{ debugName: "timerElapsed" }] : []));
        this.answeredQuestionsCount = computed(() => this.viewerViewModel()?.answeredQuestionsCount() ?? 0, ...(ngDevMode ? [{ debugName: "answeredQuestionsCount" }] : []));
        this.showReviewButton = computed(() => this.isLastStep() && (this.prePostConfigValue()?.postReviewEnabled ?? false) && this.flowStep() === 'questions', ...(ngDevMode ? [{ debugName: "showReviewButton" }] : []));
        effect(() => {
            const cfg = this.prePostConfigValue();
            this.flowStep.set(cfg?.preEnabled === true ? 'pre' : 'questions');
        });
        effect(() => {
            const v = this.viewer();
            if (v) {
                const vm = v.viewmodel;
                this.canNavigatePrevious.set(vm.canNavigatePrevious());
                this.canNavigateNext.set(vm.canNavigateNext());
                const viewMode = v.viewMode;
                this.showNavigationButtons.set(viewMode === 'page-per-group' || viewMode === 'page-per-question' || viewMode === 'side-menu');
                this.isLastStep.set(v.isLastStep);
                this.areAllRequiredQuestionsAnswered.set(v.areAllRequiredQuestionsAnswered);
            }
        });
    }
    //#endregion
    //#region ----   Event Handlers   ----
    handleReviewClick() {
        const viewer = this.viewer();
        const items = viewer?.getQuestionsWithAnswers() ?? [];
        const context = viewer?.getReviewContext() ?? null;
        this.reviewSnapshot.set(items.map((q) => ({ questionId: q.questionId, title: q.title, answer: q.answer, question: q.question })));
        this.reviewContext.set(context);
        this.flowStep.set('review');
    }
    async handleReviewSubmit() {
        const viewer = this.viewer();
        const handler = this.submitHandlerValue();
        if (!viewer || !handler)
            return;
        this.isSubmitting.set(true);
        try {
            const result = await viewer.submit();
            if (result.success && result.answers) {
                const summary = await handler(result.answers);
                const questions = viewer.getQuestionsWithAnswers();
                this.submitResult.set(summary ?? null);
                this.lastSubmittedAnswers.set(result.answers);
                this.lastSubmittedQuestions.set(questions);
                if ((this.prePostConfigValue()?.postSummaryEnabled ?? false) && summary) {
                    this.flowStep.set('summary');
                }
                else {
                    this.close({ answers: result.answers, questions, submitted: true });
                }
            }
        }
        finally {
            this.isSubmitting.set(false);
        }
    }
    async handlePreviousClick() {
        await this.viewer()?.navigatePrevious();
    }
    async handleNextClick() {
        await this.viewer()?.navigateNext();
    }
    async handleSubmitClick() {
        const viewer = this.viewer();
        const handler = this.submitHandlerValue();
        if (!viewer || !handler)
            return;
        this.isSubmitting.set(true);
        try {
            const result = await viewer.submit();
            if (result.success && result.answers) {
                const summary = await handler(result.answers);
                const questions = viewer.getQuestionsWithAnswers();
                this.submitResult.set(summary ?? null);
                this.lastSubmittedAnswers.set(result.answers);
                this.lastSubmittedQuestions.set(questions);
                if (this.prePostConfigValue()?.postSummaryEnabled && summary) {
                    this.flowStep.set('summary');
                }
                else {
                    this.close({ answers: result.answers, questions, submitted: true });
                }
            }
        }
        finally {
            this.isSubmitting.set(false);
        }
    }
    handleDone() {
        const answers = this.lastSubmittedAnswers();
        const questions = this.lastSubmittedQuestions();
        this.close({ answers, questions, submitted: true });
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXMQuestionnaireViewerPopupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: AXMQuestionnaireViewerPopupComponent, isStandalone: true, selector: "axm-questionnaire-viewer-popup", inputs: { structure: { classPropertyName: "structure", publicName: "structure", isSignal: true, isRequired: true, transformFunction: null }, prePostConfig: { classPropertyName: "prePostConfig", publicName: "prePostConfig", isSignal: true, isRequired: false, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null }, initialAnswers: { classPropertyName: "initialAnswers", publicName: "initialAnswers", isSignal: true, isRequired: false, transformFunction: null }, submitHandler: { classPropertyName: "submitHandler", publicName: "submitHandler", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "viewer", first: true, predicate: ["viewer"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: `
    <div class="__main-container ax-flex ax-flex-col ax-flex-1 ax-min-h-0 ax-overflow-hidden">
      <div class="__content-area ax-flex-1 ax-min-h-0 ax-overflow-auto">
        @if (flowStep() === 'pre') {
          <axm-pre-questionnaire-content
            [content]="prePostConfigValue()?.preContent"
          ></axm-pre-questionnaire-content>
        } @else if (flowStep() === 'summary') {
          <axm-post-questionnaire-content
            mode="summary"
            [summaryContent]="prePostConfigValue()?.postSummaryContent"
            [placeholderValues]="submitResult()"
          ></axm-post-questionnaire-content>
        } @else {
          @if (flowStep() === 'review') {
            <axm-post-questionnaire-content
              mode="review"
              [questionsWithAnswers]="reviewSnapshot()"
              [reviewContext]="reviewContext()"
            ></axm-post-questionnaire-content>
          }
          <div
            class="__questions ax-flex ax-flex-col ax-min-h-full"
            [class.ax-invisible]="flowStep() === 'review'"
            [style.position]="flowStep() === 'review' ? 'fixed' : null"
            [style.left]="flowStep() === 'review' ? '-9999px' : null"
            [class.ax-size-0]="flowStep() === 'review'"
            [class.ax-overflow-hidden]="flowStep() === 'review'"
          >
            <div class="__header ax-p-4 ax-border-b">
              <div class="ax-flex ax-justify-between ax-items-center">
                <div class="ax-flex ax-items-center ax-gap-4 ax-text-sm ax-text-neutral-600">
                  @if (totalQuestionsCount() > 0) {
                    <span><i class="fa-light fa-list-check"></i> {{ totalQuestionsCount() }} {{ totalQuestionsCount() === 1 ? 'Question' : 'Questions' }}</span>
                  }
                  @if (showTimer()) {
                    <axp-stopwatch
                      [mode]="'count-down'"
                      [timeLimit]="timerTimeLimit()"
                      [format]="timerTimeLimit() && timerTimeLimit()! >= 3600 ? 'hh:mm:ss' : 'mm:ss'"
                      [autoStart]="true"
                      [showControls]="false"
                      [value]="timerElapsed()"
                      (valueChange)="viewerViewModel()!.updateTimerElapsed($event)"
                    ></axp-stopwatch>
                  }
                </div>
              </div>
            </div>
            <div class="__content ax-flex-1 ax-min-h-0">
              <axm-questionnaire-viewer
                #viewer
                [structure]="structureValue()"
                [config]="configValue()"
                [initialAnswers]="effectiveInitialAnswers()"
              ></axm-questionnaire-viewer>
            </div>
          </div>
        }
      </div>
      @if (flowStep() === 'pre' || flowStep() === 'questions' || flowStep() === 'review' || flowStep() === 'summary') {
        <ax-footer class="ax-flex-shrink-0 ax-border-t ax-border-neutral-200 ax-px-4 ax-py-3">
          <ax-prefix>
            @if (flowStep() === 'questions') {
              <div class="ax-text-sm ax-font-mono ax-tabular-nums ax-text-neutral-600">{{ answeredQuestionsCount() }} / {{ totalQuestionsCount() }}</div>
            }
          </ax-prefix>
          <ax-suffix>
            @if (flowStep() === 'pre') {
              <ax-button look="solid" color="primary" [text]="'@assessment-management:questionnaires.components.questionnaire-viewer.flow.start' | translate | async" (onClick)="flowStep.set('questions')"></ax-button>
            } @else if (flowStep() === 'questions') {
              @if (showNavigationButtons()) {
                <ax-button look="solid" [disabled]="!canNavigatePrevious()" [text]="'@general:actions.previous.title' | translate | async" (onClick)="handlePreviousClick()"></ax-button>
                @if (!isLastStep()) {
                  <ax-button look="solid" color="primary" [disabled]="!canNavigateNext()" [text]="'@general:actions.next.title' | translate | async" (onClick)="handleNextClick()"></ax-button>
                }
              }
              @if (isLastStep() && showReviewButton()) {
                <ax-button look="solid" color="primary" [text]="'@assessment-management:questionnaires.components.questionnaire-viewer.flow.review' | translate | async" [disabled]="!areAllRequiredQuestionsAnswered()" (onClick)="handleReviewClick()"></ax-button>
              }
              @if (isLastStep() && !showReviewButton()) {
                <ax-button look="solid" color="primary" [text]="'@general:actions.submit.title' | translate | async" [disabled]="isSubmitting() || !areAllRequiredQuestionsAnswered()" (onClick)="handleSubmitClick()"></ax-button>
              }
            } @else if (flowStep() === 'review') {
              <ax-button look="outline" [text]="'@assessment-management:questionnaires.components.questionnaire-viewer.flow.edit' | translate | async" (onClick)="flowStep.set('questions')"></ax-button>
              <ax-button look="solid" color="primary" [text]="'@general:actions.submit.title' | translate | async" [disabled]="isSubmitting()" (onClick)="handleReviewSubmit()"></ax-button>
            } @else if (flowStep() === 'summary') {
              <ax-button look="solid" color="primary" [text]="'@assessment-management:questionnaires.components.questionnaire-viewer.flow.done' | translate | async" (onClick)="handleDone()"></ax-button>
            }
          </ax-suffix>
        </ax-footer>
      }
    </div>
  `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: AXPStopwatchComponent, selector: "axp-stopwatch", inputs: ["mode", "timeLimit", "format", "autoStart", "showControls", "value"], outputs: ["valueChange", "timeUp"] }, { kind: "component", type: AXMQuestionnaireViewerComponent, selector: "axm-questionnaire-viewer", inputs: ["questionnaireId", "structure", "config", "initialAnswers"], outputs: ["answersChanged", "questionAnswered"] }, { kind: "component", type: AXMPreQuestionnaireContentComponent, selector: "axm-pre-questionnaire-content", inputs: ["content", "locale"] }, { kind: "component", type: AXMPostQuestionnaireContentComponent, selector: "axm-post-questionnaire-content", inputs: ["mode", "questionsWithAnswers", "reviewContext", "summaryContent", "placeholderValues", "locale"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXMQuestionnaireViewerPopupComponent, decorators: [{
            type: Component,
            args: [{
                    selector: 'axm-questionnaire-viewer-popup',
                    template: `
    <div class="__main-container ax-flex ax-flex-col ax-flex-1 ax-min-h-0 ax-overflow-hidden">
      <div class="__content-area ax-flex-1 ax-min-h-0 ax-overflow-auto">
        @if (flowStep() === 'pre') {
          <axm-pre-questionnaire-content
            [content]="prePostConfigValue()?.preContent"
          ></axm-pre-questionnaire-content>
        } @else if (flowStep() === 'summary') {
          <axm-post-questionnaire-content
            mode="summary"
            [summaryContent]="prePostConfigValue()?.postSummaryContent"
            [placeholderValues]="submitResult()"
          ></axm-post-questionnaire-content>
        } @else {
          @if (flowStep() === 'review') {
            <axm-post-questionnaire-content
              mode="review"
              [questionsWithAnswers]="reviewSnapshot()"
              [reviewContext]="reviewContext()"
            ></axm-post-questionnaire-content>
          }
          <div
            class="__questions ax-flex ax-flex-col ax-min-h-full"
            [class.ax-invisible]="flowStep() === 'review'"
            [style.position]="flowStep() === 'review' ? 'fixed' : null"
            [style.left]="flowStep() === 'review' ? '-9999px' : null"
            [class.ax-size-0]="flowStep() === 'review'"
            [class.ax-overflow-hidden]="flowStep() === 'review'"
          >
            <div class="__header ax-p-4 ax-border-b">
              <div class="ax-flex ax-justify-between ax-items-center">
                <div class="ax-flex ax-items-center ax-gap-4 ax-text-sm ax-text-neutral-600">
                  @if (totalQuestionsCount() > 0) {
                    <span><i class="fa-light fa-list-check"></i> {{ totalQuestionsCount() }} {{ totalQuestionsCount() === 1 ? 'Question' : 'Questions' }}</span>
                  }
                  @if (showTimer()) {
                    <axp-stopwatch
                      [mode]="'count-down'"
                      [timeLimit]="timerTimeLimit()"
                      [format]="timerTimeLimit() && timerTimeLimit()! >= 3600 ? 'hh:mm:ss' : 'mm:ss'"
                      [autoStart]="true"
                      [showControls]="false"
                      [value]="timerElapsed()"
                      (valueChange)="viewerViewModel()!.updateTimerElapsed($event)"
                    ></axp-stopwatch>
                  }
                </div>
              </div>
            </div>
            <div class="__content ax-flex-1 ax-min-h-0">
              <axm-questionnaire-viewer
                #viewer
                [structure]="structureValue()"
                [config]="configValue()"
                [initialAnswers]="effectiveInitialAnswers()"
              ></axm-questionnaire-viewer>
            </div>
          </div>
        }
      </div>
      @if (flowStep() === 'pre' || flowStep() === 'questions' || flowStep() === 'review' || flowStep() === 'summary') {
        <ax-footer class="ax-flex-shrink-0 ax-border-t ax-border-neutral-200 ax-px-4 ax-py-3">
          <ax-prefix>
            @if (flowStep() === 'questions') {
              <div class="ax-text-sm ax-font-mono ax-tabular-nums ax-text-neutral-600">{{ answeredQuestionsCount() }} / {{ totalQuestionsCount() }}</div>
            }
          </ax-prefix>
          <ax-suffix>
            @if (flowStep() === 'pre') {
              <ax-button look="solid" color="primary" [text]="'@assessment-management:questionnaires.components.questionnaire-viewer.flow.start' | translate | async" (onClick)="flowStep.set('questions')"></ax-button>
            } @else if (flowStep() === 'questions') {
              @if (showNavigationButtons()) {
                <ax-button look="solid" [disabled]="!canNavigatePrevious()" [text]="'@general:actions.previous.title' | translate | async" (onClick)="handlePreviousClick()"></ax-button>
                @if (!isLastStep()) {
                  <ax-button look="solid" color="primary" [disabled]="!canNavigateNext()" [text]="'@general:actions.next.title' | translate | async" (onClick)="handleNextClick()"></ax-button>
                }
              }
              @if (isLastStep() && showReviewButton()) {
                <ax-button look="solid" color="primary" [text]="'@assessment-management:questionnaires.components.questionnaire-viewer.flow.review' | translate | async" [disabled]="!areAllRequiredQuestionsAnswered()" (onClick)="handleReviewClick()"></ax-button>
              }
              @if (isLastStep() && !showReviewButton()) {
                <ax-button look="solid" color="primary" [text]="'@general:actions.submit.title' | translate | async" [disabled]="isSubmitting() || !areAllRequiredQuestionsAnswered()" (onClick)="handleSubmitClick()"></ax-button>
              }
            } @else if (flowStep() === 'review') {
              <ax-button look="outline" [text]="'@assessment-management:questionnaires.components.questionnaire-viewer.flow.edit' | translate | async" (onClick)="flowStep.set('questions')"></ax-button>
              <ax-button look="solid" color="primary" [text]="'@general:actions.submit.title' | translate | async" [disabled]="isSubmitting()" (onClick)="handleReviewSubmit()"></ax-button>
            } @else if (flowStep() === 'summary') {
              <ax-button look="solid" color="primary" [text]="'@assessment-management:questionnaires.components.questionnaire-viewer.flow.done' | translate | async" (onClick)="handleDone()"></ax-button>
            }
          </ax-suffix>
        </ax-footer>
      }
    </div>
  `,
                    changeDetection: ChangeDetectionStrategy.OnPush,
                    imports: [
                        CommonModule,
                        AXTranslationModule,
                        AXButtonModule,
                        AXDecoratorModule,
                        AXPStopwatchComponent,
                        AXMQuestionnaireViewerComponent,
                        AXMPreQuestionnaireContentComponent,
                        AXMPostQuestionnaireContentComponent,
                    ],
                    encapsulation: ViewEncapsulation.None,
                }]
        }], ctorParameters: () => [], propDecorators: { structure: [{ type: i0.Input, args: [{ isSignal: true, alias: "structure", required: true }] }], prePostConfig: [{ type: i0.Input, args: [{ isSignal: true, alias: "prePostConfig", required: false }] }], config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: false }] }], initialAnswers: [{ type: i0.Input, args: [{ isSignal: true, alias: "initialAnswers", required: false }] }], submitHandler: [{ type: i0.Input, args: [{ isSignal: true, alias: "submitHandler", required: false }] }], viewer: [{ type: i0.ViewChild, args: ['viewer', { isSignal: true }] }] } });

export { AXMQuestionnaireViewerPopupComponent };
//# sourceMappingURL=acorex-modules-assessment-management-questionnaire-viewer-popup.component-B9pP4j23.mjs.map
