import { jsxs, jsx } from "react/jsx-runtime";
import { Q as QuestionTypeBadge } from "./question-type-badge-CdL_99ID.js";
import { B as Badge } from "./badge-J-zeQvMg.js";
import { C as Card, a as CardHeader, b as CardContent } from "./card-B-gBwpxd.js";
import FillBlankQuestion from "./fill-blank-question-DHOFVwov.js";
import ListeningQuestion from "./listening-question-XvCsGH9c.js";
import MatchingQuestion from "./matching-question-BNHgZgyB.js";
import McqQuestion from "./mcq-question-C6ifvSYZ.js";
import MultipleSelectQuestion from "./multiple-select-question-Cokv890S.js";
import OrderingQuestion from "./ordering-question-DQb6NScg.js";
import ShortAnswerQuestion from "./short-answer-question-aygLWm6w.js";
import "./utils-DLCPGU0v.js";
import "clsx";
import "tailwind-merge";
import "lucide-react";
import "@radix-ui/react-slot";
import "class-variance-authority";
import "react";
import "./input-BsvJqbcd.js";
import "./label-0rIIfpX0.js";
import "@radix-ui/react-label";
import "./button-CdJZJLGw.js";
import "./radio-group-Wf8uu9ZY.js";
import "@radix-ui/react-radio-group";
import "./slider-6gv2Y3fS.js";
import "@radix-ui/react-slider";
import "./select-BYx0MCUK.js";
import "@radix-ui/react-select";
import "./checkbox--3Zj5G-w.js";
import "@radix-ui/react-checkbox";
import "./textarea-Z0d4V-ti.js";
const QuestionRenderer = ({ question, questionNumber, answer, onAnswerChange }) => {
  const renderQuestionInput = () => {
    switch (question.question_type) {
      case "multiple_choice":
        return /* @__PURE__ */ jsx(McqQuestion, { question, answer, onAnswerChange });
      case "multiple_select":
        return /* @__PURE__ */ jsx(MultipleSelectQuestion, { question, answer, onAnswerChange });
      case "matching":
        return /* @__PURE__ */ jsx(MatchingQuestion, { question, answer, onAnswerChange });
      case "fill_blank":
        return /* @__PURE__ */ jsx(FillBlankQuestion, { question, answer, onAnswerChange });
      case "ordering":
        return /* @__PURE__ */ jsx(OrderingQuestion, { question, answer, onAnswerChange });
      case "short_answer":
        return /* @__PURE__ */ jsx(ShortAnswerQuestion, { question, answer, onAnswerChange });
      case "listening":
        return /* @__PURE__ */ jsx(ListeningQuestion, { question, answer, onAnswerChange });
      default:
        return /* @__PURE__ */ jsx("div", { className: "rounded-lg bg-yellow-50 p-4 text-center", children: /* @__PURE__ */ jsxs("p", { className: "text-sm text-yellow-800", children: [
          'Question type "',
          question.question_type,
          '" is not yet implemented in the interface.'
        ] }) });
    }
  };
  return /* @__PURE__ */ jsxs(Card, { children: [
    /* @__PURE__ */ jsx(CardHeader, { children: /* @__PURE__ */ jsx("div", { className: "flex items-start justify-between", children: /* @__PURE__ */ jsxs("div", { className: "flex-1", children: [
      /* @__PURE__ */ jsxs("div", { className: "mb-3 flex items-center gap-2", children: [
        /* @__PURE__ */ jsxs(Badge, { variant: "outline", children: [
          "Question ",
          questionNumber
        ] }),
        /* @__PURE__ */ jsx(QuestionTypeBadge, { type: question.question_type }),
        /* @__PURE__ */ jsxs(Badge, { variant: "secondary", children: [
          question.marks,
          " marks"
        ] })
      ] }),
      /* @__PURE__ */ jsx("h3", { className: "text-lg font-semibold text-gray-900", children: question.title }),
      question.description && /* @__PURE__ */ jsx("div", { className: "prose prose-sm mt-2 max-w-none", dangerouslySetInnerHTML: { __html: question.description } })
    ] }) }) }),
    /* @__PURE__ */ jsx(CardContent, { children: renderQuestionInput() })
  ] });
};
export {
  QuestionRenderer as default
};
