@thanh01.pmt/interactive-quiz-kit 1.0.38 → 1.0.39

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.
@@ -1,4 +1,4 @@
1
- import { R as RichContentString, Q as QuestionTypeStrings, s as QuizConfig } from './quiz-config-Df_89hFx.cjs';
1
+ import { R as RichContentString, Q as QuestionTypeStrings, s as QuizConfig } from './quiz-config-o4j2dfsu.cjs';
2
2
 
3
3
  interface TestCaseResult {
4
4
  testCaseId: string;
@@ -1,4 +1,4 @@
1
- import { R as RichContentString, Q as QuestionTypeStrings, s as QuizConfig } from './quiz-config-Df_89hFx.js';
1
+ import { R as RichContentString, Q as QuestionTypeStrings, s as QuizConfig } from './quiz-config-o4j2dfsu.js';
2
2
 
3
3
  interface TestCaseResult {
4
4
  testCaseId: string;
package/dist/ai.d.cts CHANGED
@@ -1,7 +1,7 @@
1
- import { T as TrueFalseQuestion, a as MultipleChoiceQuestion, b as MultipleResponseQuestion, S as ShortAnswerQuestion, N as NumericQuestion, F as FillInTheBlanksQuestion, c as SequenceQuestion, d as MatchingQuestion, C as CodingQuestion, Q as QuestionTypeStrings } from './quiz-config-Df_89hFx.cjs';
2
- export { g as QuizQuestion } from './quiz-config-Df_89hFx.cjs';
3
- import { t as ImageContextItem, T as TestCaseResult, h as QuizReviewContent, m as PracticeSuggestion, L as LearningAnalysis, K as KnowledgeCard } from './ai-ecosystem-DCPvHU4-.cjs';
4
- export { u as AnalysisReport, l as PracticeSuggestionTopic, g as QuestionReview, R as RoadmapItem, W as WeeklyRoadmap } from './ai-ecosystem-DCPvHU4-.cjs';
1
+ import { T as TrueFalseQuestion, a as MultipleChoiceQuestion, b as MultipleResponseQuestion, S as ShortAnswerQuestion, N as NumericQuestion, F as FillInTheBlanksQuestion, c as SequenceQuestion, d as MatchingQuestion, C as CodingQuestion, Q as QuestionTypeStrings } from './quiz-config-o4j2dfsu.cjs';
2
+ export { g as QuizQuestion } from './quiz-config-o4j2dfsu.cjs';
3
+ import { t as ImageContextItem, T as TestCaseResult, h as QuizReviewContent, m as PracticeSuggestion, L as LearningAnalysis, K as KnowledgeCard } from './ai-ecosystem-DqFRlFU3.cjs';
4
+ export { u as AnalysisReport, l as PracticeSuggestionTopic, g as QuestionReview, R as RoadmapItem, W as WeeklyRoadmap } from './ai-ecosystem-DqFRlFU3.cjs';
5
5
  import { z } from 'zod';
6
6
 
7
7
  declare const GenerateTrueFalseQuestionClientInputSchema: z.ZodObject<{
package/dist/ai.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- import { T as TrueFalseQuestion, a as MultipleChoiceQuestion, b as MultipleResponseQuestion, S as ShortAnswerQuestion, N as NumericQuestion, F as FillInTheBlanksQuestion, c as SequenceQuestion, d as MatchingQuestion, C as CodingQuestion, Q as QuestionTypeStrings } from './quiz-config-Df_89hFx.js';
2
- export { g as QuizQuestion } from './quiz-config-Df_89hFx.js';
3
- import { t as ImageContextItem, T as TestCaseResult, h as QuizReviewContent, m as PracticeSuggestion, L as LearningAnalysis, K as KnowledgeCard } from './ai-ecosystem-D6vuLxnS.js';
4
- export { u as AnalysisReport, l as PracticeSuggestionTopic, g as QuestionReview, R as RoadmapItem, W as WeeklyRoadmap } from './ai-ecosystem-D6vuLxnS.js';
1
+ import { T as TrueFalseQuestion, a as MultipleChoiceQuestion, b as MultipleResponseQuestion, S as ShortAnswerQuestion, N as NumericQuestion, F as FillInTheBlanksQuestion, c as SequenceQuestion, d as MatchingQuestion, C as CodingQuestion, Q as QuestionTypeStrings } from './quiz-config-o4j2dfsu.js';
2
+ export { g as QuizQuestion } from './quiz-config-o4j2dfsu.js';
3
+ import { t as ImageContextItem, T as TestCaseResult, h as QuizReviewContent, m as PracticeSuggestion, L as LearningAnalysis, K as KnowledgeCard } from './ai-ecosystem-DqVlSO3r.js';
4
+ export { u as AnalysisReport, l as PracticeSuggestionTopic, g as QuestionReview, R as RoadmapItem, W as WeeklyRoadmap } from './ai-ecosystem-DqVlSO3r.js';
5
5
  import { z } from 'zod';
6
6
 
7
7
  declare const GenerateTrueFalseQuestionClientInputSchema: z.ZodObject<{
@@ -3471,6 +3471,8 @@ var QuizEditorService = class {
3471
3471
  static createNewQuestionTemplate(type) {
3472
3472
  const baseNewQuestion = {
3473
3473
  id: generateUniqueId(`new_${type}_`),
3474
+ // NEW: Initialize the code property
3475
+ code: "",
3474
3476
  questionType: type,
3475
3477
  prompt: "",
3476
3478
  points: 10,
@@ -3536,7 +3538,6 @@ var QuizEditorService = class {
3536
3538
  testCases: [],
3537
3539
  functionSignature: "",
3538
3540
  points: 25
3539
- // Coding questions are worth more by default
3540
3541
  };
3541
3542
  default:
3542
3543
  const _exhaustiveCheck = type;
@@ -100350,7 +100351,9 @@ var EditQuestionModal = ({
100350
100351
  questionData,
100351
100352
  onSave
100352
100353
  }) => {
100353
- const [editedQuestion, setEditedQuestion] = React96.useState(null);
100354
+ const [editedQuestion, setEditedQuestion] = React96.useState(
100355
+ null
100356
+ );
100354
100357
  React96.useEffect(() => {
100355
100358
  if (questionData) {
100356
100359
  setEditedQuestion(JSON.parse(JSON.stringify(questionData)));
@@ -100360,7 +100363,9 @@ var EditQuestionModal = ({
100360
100363
  return null;
100361
100364
  }
100362
100365
  const handleBaseFieldChange = (field, value) => {
100363
- setEditedQuestion((prev) => prev ? { ...prev, [field]: value } : null);
100366
+ setEditedQuestion(
100367
+ (prev) => prev ? { ...prev, [field]: value } : null
100368
+ );
100364
100369
  };
100365
100370
  const handleSpecificFieldChange = (updates) => {
100366
100371
  setEditedQuestion((prev) => {
@@ -100383,83 +100388,267 @@ var EditQuestionModal = ({
100383
100388
  if (!editedQuestion) return /* @__PURE__ */ React96__namespace.default.createElement("p", null, "Loading question data...");
100384
100389
  switch (editedQuestion.questionType) {
100385
100390
  case "true_false":
100386
- return /* @__PURE__ */ React96__namespace.default.createElement(TrueFalseQuestionForm, { question: editedQuestion, onFormChange: handleSpecificFieldChange });
100391
+ return /* @__PURE__ */ React96__namespace.default.createElement(
100392
+ TrueFalseQuestionForm,
100393
+ {
100394
+ question: editedQuestion,
100395
+ onFormChange: handleSpecificFieldChange
100396
+ }
100397
+ );
100387
100398
  case "multiple_choice":
100388
- return /* @__PURE__ */ React96__namespace.default.createElement(MultipleChoiceQuestionForm, { question: editedQuestion, onFormChange: handleSpecificFieldChange });
100399
+ return /* @__PURE__ */ React96__namespace.default.createElement(
100400
+ MultipleChoiceQuestionForm,
100401
+ {
100402
+ question: editedQuestion,
100403
+ onFormChange: handleSpecificFieldChange
100404
+ }
100405
+ );
100389
100406
  case "multiple_response":
100390
- return /* @__PURE__ */ React96__namespace.default.createElement(MultipleResponseQuestionForm, { question: editedQuestion, onFormChange: handleSpecificFieldChange });
100407
+ return /* @__PURE__ */ React96__namespace.default.createElement(
100408
+ MultipleResponseQuestionForm,
100409
+ {
100410
+ question: editedQuestion,
100411
+ onFormChange: handleSpecificFieldChange
100412
+ }
100413
+ );
100391
100414
  case "short_answer":
100392
- return /* @__PURE__ */ React96__namespace.default.createElement(ShortAnswerQuestionForm, { question: editedQuestion, onFormChange: handleSpecificFieldChange });
100415
+ return /* @__PURE__ */ React96__namespace.default.createElement(
100416
+ ShortAnswerQuestionForm,
100417
+ {
100418
+ question: editedQuestion,
100419
+ onFormChange: handleSpecificFieldChange
100420
+ }
100421
+ );
100393
100422
  case "numeric":
100394
- return /* @__PURE__ */ React96__namespace.default.createElement(NumericQuestionForm, { question: editedQuestion, onFormChange: handleSpecificFieldChange });
100423
+ return /* @__PURE__ */ React96__namespace.default.createElement(
100424
+ NumericQuestionForm,
100425
+ {
100426
+ question: editedQuestion,
100427
+ onFormChange: handleSpecificFieldChange
100428
+ }
100429
+ );
100395
100430
  case "fill_in_the_blanks":
100396
- return /* @__PURE__ */ React96__namespace.default.createElement(FillInTheBlanksQuestionForm, { question: editedQuestion, onFormChange: handleSpecificFieldChange });
100431
+ return /* @__PURE__ */ React96__namespace.default.createElement(
100432
+ FillInTheBlanksQuestionForm,
100433
+ {
100434
+ question: editedQuestion,
100435
+ onFormChange: handleSpecificFieldChange
100436
+ }
100437
+ );
100397
100438
  case "sequence":
100398
- return /* @__PURE__ */ React96__namespace.default.createElement(SequenceQuestionForm, { question: editedQuestion, onFormChange: handleSpecificFieldChange });
100439
+ return /* @__PURE__ */ React96__namespace.default.createElement(
100440
+ SequenceQuestionForm,
100441
+ {
100442
+ question: editedQuestion,
100443
+ onFormChange: handleSpecificFieldChange
100444
+ }
100445
+ );
100399
100446
  case "matching":
100400
- return /* @__PURE__ */ React96__namespace.default.createElement(MatchingQuestionForm, { question: editedQuestion, onFormChange: handleSpecificFieldChange });
100447
+ return /* @__PURE__ */ React96__namespace.default.createElement(
100448
+ MatchingQuestionForm,
100449
+ {
100450
+ question: editedQuestion,
100451
+ onFormChange: handleSpecificFieldChange
100452
+ }
100453
+ );
100401
100454
  case "drag_and_drop":
100402
- return /* @__PURE__ */ React96__namespace.default.createElement(DragAndDropQuestionForm, { question: editedQuestion, onFormChange: handleSpecificFieldChange });
100455
+ return /* @__PURE__ */ React96__namespace.default.createElement(
100456
+ DragAndDropQuestionForm,
100457
+ {
100458
+ question: editedQuestion,
100459
+ onFormChange: handleSpecificFieldChange
100460
+ }
100461
+ );
100403
100462
  case "hotspot":
100404
- return /* @__PURE__ */ React96__namespace.default.createElement(HotspotQuestionForm, { question: editedQuestion, onFormChange: handleSpecificFieldChange });
100463
+ return /* @__PURE__ */ React96__namespace.default.createElement(
100464
+ HotspotQuestionForm,
100465
+ {
100466
+ question: editedQuestion,
100467
+ onFormChange: handleSpecificFieldChange
100468
+ }
100469
+ );
100405
100470
  case "blockly_programming":
100406
- return /* @__PURE__ */ React96__namespace.default.createElement(BlocklyProgrammingQuestionForm, { question: editedQuestion, onFormChange: handleSpecificFieldChange });
100471
+ return /* @__PURE__ */ React96__namespace.default.createElement(
100472
+ BlocklyProgrammingQuestionForm,
100473
+ {
100474
+ question: editedQuestion,
100475
+ onFormChange: handleSpecificFieldChange
100476
+ }
100477
+ );
100407
100478
  case "scratch_programming":
100408
- return /* @__PURE__ */ React96__namespace.default.createElement(ScratchProgrammingQuestionForm, { question: editedQuestion, onFormChange: handleSpecificFieldChange });
100479
+ return /* @__PURE__ */ React96__namespace.default.createElement(
100480
+ ScratchProgrammingQuestionForm,
100481
+ {
100482
+ question: editedQuestion,
100483
+ onFormChange: handleSpecificFieldChange
100484
+ }
100485
+ );
100409
100486
  case "coding":
100410
- return /* @__PURE__ */ React96__namespace.default.createElement(CodingQuestionForm, { question: editedQuestion, onFormChange: handleSpecificFieldChange });
100487
+ return /* @__PURE__ */ React96__namespace.default.createElement(
100488
+ CodingQuestionForm,
100489
+ {
100490
+ question: editedQuestion,
100491
+ onFormChange: handleSpecificFieldChange
100492
+ }
100493
+ );
100411
100494
  default:
100412
100495
  return /* @__PURE__ */ React96__namespace.default.createElement("p", { className: "text-destructive" }, "Unsupported question type for editing");
100413
100496
  }
100414
100497
  };
100415
- return /* @__PURE__ */ React96__namespace.default.createElement(Dialog2, { open: isOpen, onOpenChange: (open2) => {
100416
- if (!open2) onClose();
100417
- } }, /* @__PURE__ */ React96__namespace.default.createElement(DialogContent2, { className: "sm:max-w-[600px] md:max-w-[800px] lg:max-w-[1000px] max-h-[90vh]" }, /* @__PURE__ */ React96__namespace.default.createElement(DialogHeader, null, /* @__PURE__ */ React96__namespace.default.createElement(DialogTitle2, { className: "font-headline text-2xl" }, questionData?.id && !questionData.id.startsWith("new_") && !questionData.id.startsWith("temp_") ? "Edit Question" : "Add New Question"), /* @__PURE__ */ React96__namespace.default.createElement(DialogDescription2, null, "Configure the details for this question. Current type: ", /* @__PURE__ */ React96__namespace.default.createElement("span", { className: "font-semibold" }, editedQuestion.questionType))), /* @__PURE__ */ React96__namespace.default.createElement(ScrollArea2, { className: "max-h-[calc(80vh-150px)] p-1 pr-6" }, /* @__PURE__ */ React96__namespace.default.createElement("div", { className: "space-y-6 p-4" }, /* @__PURE__ */ React96__namespace.default.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ React96__namespace.default.createElement(Label2, { htmlFor: "prompt", className: "font-semibold" }, "Question Prompt"), /* @__PURE__ */ React96__namespace.default.createElement(
100418
- SimpleMarkdownEditor,
100419
- {
100420
- value: editedQuestion.prompt,
100421
- onChange: (htmlContent) => handleBaseFieldChange("prompt", htmlContent)
100422
- }
100423
- )), renderSpecificForm(), /* @__PURE__ */ React96__namespace.default.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4 pt-4 border-t" }, /* @__PURE__ */ React96__namespace.default.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ React96__namespace.default.createElement(Label2, { htmlFor: "points" }, "Points"), /* @__PURE__ */ React96__namespace.default.createElement(
100424
- Input,
100425
- {
100426
- id: "points",
100427
- type: "number",
100428
- value: editedQuestion.points || 0,
100429
- onChange: (e2) => handleBaseFieldChange("points", parseInt(e2.target.value, 10) || 0),
100430
- min: "0"
100431
- }
100432
- )), /* @__PURE__ */ React96__namespace.default.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ React96__namespace.default.createElement(Label2, { htmlFor: "difficulty" }, "Difficulty"), /* @__PURE__ */ React96__namespace.default.createElement(
100433
- Select2,
100498
+ return /* @__PURE__ */ React96__namespace.default.createElement(
100499
+ Dialog2,
100434
100500
  {
100435
- value: editedQuestion.difficulty || "medium",
100436
- onValueChange: (value) => handleBaseFieldChange("difficulty", value)
100437
- },
100438
- /* @__PURE__ */ React96__namespace.default.createElement(SelectTrigger2, null, /* @__PURE__ */ React96__namespace.default.createElement(SelectValue2, null)),
100439
- /* @__PURE__ */ React96__namespace.default.createElement(SelectContent2, null, /* @__PURE__ */ React96__namespace.default.createElement(SelectItem2, { value: "easy" }, "Easy"), /* @__PURE__ */ React96__namespace.default.createElement(SelectItem2, { value: "medium" }, "Medium"), /* @__PURE__ */ React96__namespace.default.createElement(SelectItem2, { value: "hard" }, "Hard"))
100440
- ))), /* @__PURE__ */ React96__namespace.default.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ React96__namespace.default.createElement(Label2, { htmlFor: "explanation" }, "Explanation (Optional)"), /* @__PURE__ */ React96__namespace.default.createElement(
100441
- SimpleMarkdownEditor,
100442
- {
100443
- value: editedQuestion.explanation || "",
100444
- onChange: (htmlContent) => handleBaseFieldChange("explanation", htmlContent),
100445
- minHeight: "100px"
100446
- }
100447
- )), /* @__PURE__ */ React96__namespace.default.createElement("details", { className: "group" }, /* @__PURE__ */ React96__namespace.default.createElement("summary", { className: "cursor-pointer font-semibold text-primary hover:underline" }, "Advanced Metadata (Optional)"), /* @__PURE__ */ React96__namespace.default.createElement("div", { className: "mt-4 space-y-4 p-4 border rounded-md group-open:animate-accordion-down" }, /* @__PURE__ */ React96__namespace.default.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4" }, /* @__PURE__ */ React96__namespace.default.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ React96__namespace.default.createElement(Label2, { htmlFor: "learningObjective" }, "Learning Objective"), /* @__PURE__ */ React96__namespace.default.createElement(Input, { id: "learningObjective", value: editedQuestion.learningObjective || "", onChange: (e2) => handleBaseFieldChange("learningObjective", e2.target.value) })), /* @__PURE__ */ React96__namespace.default.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ React96__namespace.default.createElement(Label2, { htmlFor: "category" }, "Category"), /* @__PURE__ */ React96__namespace.default.createElement(Input, { id: "category", value: editedQuestion.category || "", onChange: (e2) => handleBaseFieldChange("category", e2.target.value) })), /* @__PURE__ */ React96__namespace.default.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ React96__namespace.default.createElement(Label2, { htmlFor: "topic" }, "Topic"), /* @__PURE__ */ React96__namespace.default.createElement(Input, { id: "topic", value: editedQuestion.topic || "", onChange: (e2) => handleBaseFieldChange("topic", e2.target.value) })), /* @__PURE__ */ React96__namespace.default.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ React96__namespace.default.createElement(Label2, { htmlFor: "bloomLevel" }, "Bloom's Level"), /* @__PURE__ */ React96__namespace.default.createElement(
100448
- Select2,
100449
- {
100450
- value: editedQuestion.bloomLevel || "__none__",
100451
- onValueChange: (value) => handleBaseFieldChange("bloomLevel", value === "__none__" ? void 0 : value)
100501
+ open: isOpen,
100502
+ onOpenChange: (open2) => {
100503
+ if (!open2) onClose();
100504
+ }
100452
100505
  },
100453
- /* @__PURE__ */ React96__namespace.default.createElement(SelectTrigger2, { id: "bloomLevel" }, /* @__PURE__ */ React96__namespace.default.createElement(SelectValue2, { placeholder: "Select Bloom Level..." })),
100454
- /* @__PURE__ */ React96__namespace.default.createElement(SelectContent2, null, bloomLevelOptionsForEdit.map((opt) => /* @__PURE__ */ React96__namespace.default.createElement(SelectItem2, { key: opt.value, value: opt.value }, opt.label)))
100455
- )), /* @__PURE__ */ React96__namespace.default.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ React96__namespace.default.createElement(Label2, { htmlFor: "gradeBand" }, "Grade Band"), /* @__PURE__ */ React96__namespace.default.createElement(Input, { id: "gradeBand", value: editedQuestion.gradeBand || "", onChange: (e2) => handleBaseFieldChange("gradeBand", e2.target.value) })), /* @__PURE__ */ React96__namespace.default.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ React96__namespace.default.createElement(Label2, { htmlFor: "contextCode" }, "Context Code"), /* @__PURE__ */ React96__namespace.default.createElement(Input, { id: "contextCode", value: editedQuestion.contextCode || "", onChange: (e2) => handleBaseFieldChange("contextCode", e2.target.value) })), /* @__PURE__ */ React96__namespace.default.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ React96__namespace.default.createElement(Label2, { htmlFor: "course" }, "Course"), /* @__PURE__ */ React96__namespace.default.createElement(Input, { id: "course", value: editedQuestion.course || "", onChange: (e2) => handleBaseFieldChange("course", e2.target.value) })), /* @__PURE__ */ React96__namespace.default.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ React96__namespace.default.createElement(Label2, { htmlFor: "glossary" }, "Glossary Terms (comma-separated)"), /* @__PURE__ */ React96__namespace.default.createElement(
100456
- Input,
100457
- {
100458
- id: "glossary",
100459
- value: Array.isArray(editedQuestion.glossary) ? editedQuestion.glossary.join(", ") : "",
100460
- onChange: (e2) => handleBaseFieldChange("glossary", e2.target.value.split(",").map((s2) => s2.trim()).filter((s2) => s2))
100461
- }
100462
- ))))))), /* @__PURE__ */ React96__namespace.default.createElement(DialogFooter, { className: "pt-4 border-t" }, /* @__PURE__ */ React96__namespace.default.createElement(DialogClose2, { asChild: true }, /* @__PURE__ */ React96__namespace.default.createElement(Button, { type: "button", variant: "outline" }, "Cancel")), /* @__PURE__ */ React96__namespace.default.createElement(Button, { type: "button", onClick: handleSaveClick }, /* @__PURE__ */ React96__namespace.default.createElement(Save, { className: "mr-2 h-4 w-4" }), " Save Question"))));
100506
+ /* @__PURE__ */ React96__namespace.default.createElement(DialogContent2, { className: "sm:max-w-[600px] md:max-w-[800px] lg:max-w-[1000px] max-h-[90vh]" }, /* @__PURE__ */ React96__namespace.default.createElement(DialogHeader, null, /* @__PURE__ */ React96__namespace.default.createElement(DialogTitle2, { className: "font-headline text-2xl" }, questionData?.id && !questionData.id.startsWith("new_") && !questionData.id.startsWith("temp_") ? "Edit Question" : "Add New Question"), /* @__PURE__ */ React96__namespace.default.createElement(DialogDescription2, null, "Configure the details for this question. Current type:", " ", /* @__PURE__ */ React96__namespace.default.createElement("span", { className: "font-semibold" }, editedQuestion.questionType))), /* @__PURE__ */ React96__namespace.default.createElement(ScrollArea2, { className: "max-h-[calc(80vh-150px)] p-1 pr-6" }, /* @__PURE__ */ React96__namespace.default.createElement("div", { className: "space-y-6 p-4" }, /* @__PURE__ */ React96__namespace.default.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ React96__namespace.default.createElement(Label2, { htmlFor: "prompt", className: "font-semibold" }, "Question Prompt"), /* @__PURE__ */ React96__namespace.default.createElement(
100507
+ SimpleMarkdownEditor,
100508
+ {
100509
+ value: editedQuestion.prompt,
100510
+ onChange: (htmlContent) => handleBaseFieldChange("prompt", htmlContent)
100511
+ }
100512
+ )), renderSpecificForm(), /* @__PURE__ */ React96__namespace.default.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4 pt-4 border-t" }, /* @__PURE__ */ React96__namespace.default.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ React96__namespace.default.createElement(Label2, { htmlFor: "points" }, "Points"), /* @__PURE__ */ React96__namespace.default.createElement(
100513
+ Input,
100514
+ {
100515
+ id: "points",
100516
+ type: "number",
100517
+ value: editedQuestion.points || 0,
100518
+ onChange: (e2) => handleBaseFieldChange(
100519
+ "points",
100520
+ parseInt(e2.target.value, 10) || 0
100521
+ ),
100522
+ min: "0"
100523
+ }
100524
+ )), /* @__PURE__ */ React96__namespace.default.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ React96__namespace.default.createElement(Label2, { htmlFor: "difficulty" }, "Difficulty"), /* @__PURE__ */ React96__namespace.default.createElement(
100525
+ Select2,
100526
+ {
100527
+ value: editedQuestion.difficulty || "medium",
100528
+ onValueChange: (value) => handleBaseFieldChange(
100529
+ "difficulty",
100530
+ value
100531
+ )
100532
+ },
100533
+ /* @__PURE__ */ React96__namespace.default.createElement(SelectTrigger2, null, /* @__PURE__ */ React96__namespace.default.createElement(SelectValue2, null)),
100534
+ /* @__PURE__ */ React96__namespace.default.createElement(SelectContent2, null, /* @__PURE__ */ React96__namespace.default.createElement(SelectItem2, { value: "easy" }, "Easy"), /* @__PURE__ */ React96__namespace.default.createElement(SelectItem2, { value: "medium" }, "Medium"), /* @__PURE__ */ React96__namespace.default.createElement(SelectItem2, { value: "hard" }, "Hard"))
100535
+ ))), /* @__PURE__ */ React96__namespace.default.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ React96__namespace.default.createElement(Label2, { htmlFor: "explanation" }, "Explanation (Optional)"), /* @__PURE__ */ React96__namespace.default.createElement(
100536
+ SimpleMarkdownEditor,
100537
+ {
100538
+ value: editedQuestion.explanation || "",
100539
+ onChange: (htmlContent) => handleBaseFieldChange(
100540
+ "explanation",
100541
+ htmlContent
100542
+ ),
100543
+ minHeight: "100px"
100544
+ }
100545
+ )), /* @__PURE__ */ React96__namespace.default.createElement("details", { className: "group" }, /* @__PURE__ */ React96__namespace.default.createElement("summary", { className: "cursor-pointer font-semibold text-primary hover:underline" }, "Advanced Metadata (Optional)"), /* @__PURE__ */ React96__namespace.default.createElement("div", { className: "mt-4 space-y-4 p-4 border rounded-md group-open:animate-accordion-down" }, /* @__PURE__ */ React96__namespace.default.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4" }, /* @__PURE__ */ React96__namespace.default.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ React96__namespace.default.createElement(Label2, { htmlFor: "questionCode" }, "Question Code (Business ID)"), /* @__PURE__ */ React96__namespace.default.createElement(
100546
+ Input,
100547
+ {
100548
+ id: "questionCode",
100549
+ value: editedQuestion.code || "",
100550
+ onChange: (e2) => handleBaseFieldChange(
100551
+ "code",
100552
+ e2.target.value.toUpperCase()
100553
+ ),
100554
+ placeholder: "e.g., MATH-ALG-001"
100555
+ }
100556
+ )), /* @__PURE__ */ React96__namespace.default.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ React96__namespace.default.createElement(Label2, { htmlFor: "learningObjective" }, "Learning Objective"), /* @__PURE__ */ React96__namespace.default.createElement(
100557
+ Input,
100558
+ {
100559
+ id: "learningObjective",
100560
+ value: editedQuestion.learningObjective || "",
100561
+ onChange: (e2) => handleBaseFieldChange(
100562
+ "learningObjective",
100563
+ e2.target.value
100564
+ )
100565
+ }
100566
+ )), /* @__PURE__ */ React96__namespace.default.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ React96__namespace.default.createElement(Label2, { htmlFor: "category" }, "Category"), /* @__PURE__ */ React96__namespace.default.createElement(
100567
+ Input,
100568
+ {
100569
+ id: "category",
100570
+ value: editedQuestion.category || "",
100571
+ onChange: (e2) => handleBaseFieldChange(
100572
+ "category",
100573
+ e2.target.value
100574
+ )
100575
+ }
100576
+ )), /* @__PURE__ */ React96__namespace.default.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ React96__namespace.default.createElement(Label2, { htmlFor: "topic" }, "Topic"), /* @__PURE__ */ React96__namespace.default.createElement(
100577
+ Input,
100578
+ {
100579
+ id: "topic",
100580
+ value: editedQuestion.topic || "",
100581
+ onChange: (e2) => handleBaseFieldChange(
100582
+ "topic",
100583
+ e2.target.value
100584
+ )
100585
+ }
100586
+ )), /* @__PURE__ */ React96__namespace.default.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ React96__namespace.default.createElement(Label2, { htmlFor: "bloomLevel" }, "Bloom's Level"), /* @__PURE__ */ React96__namespace.default.createElement(
100587
+ Select2,
100588
+ {
100589
+ value: editedQuestion.bloomLevel || "__none__",
100590
+ onValueChange: (value) => handleBaseFieldChange(
100591
+ "bloomLevel",
100592
+ value === "__none__" ? void 0 : value
100593
+ )
100594
+ },
100595
+ /* @__PURE__ */ React96__namespace.default.createElement(SelectTrigger2, { id: "bloomLevel" }, /* @__PURE__ */ React96__namespace.default.createElement(SelectValue2, { placeholder: "Select Bloom Level..." })),
100596
+ /* @__PURE__ */ React96__namespace.default.createElement(SelectContent2, null, bloomLevelOptionsForEdit.map(
100597
+ (opt) => /* @__PURE__ */ React96__namespace.default.createElement(
100598
+ SelectItem2,
100599
+ {
100600
+ key: opt.value,
100601
+ value: opt.value
100602
+ },
100603
+ opt.label
100604
+ )
100605
+ ))
100606
+ )), /* @__PURE__ */ React96__namespace.default.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ React96__namespace.default.createElement(Label2, { htmlFor: "gradeBand" }, "Grade Band"), /* @__PURE__ */ React96__namespace.default.createElement(
100607
+ Input,
100608
+ {
100609
+ id: "gradeBand",
100610
+ value: editedQuestion.gradeBand || "",
100611
+ onChange: (e2) => handleBaseFieldChange(
100612
+ "gradeBand",
100613
+ e2.target.value
100614
+ )
100615
+ }
100616
+ )), /* @__PURE__ */ React96__namespace.default.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ React96__namespace.default.createElement(Label2, { htmlFor: "contextCode" }, "Context Code"), /* @__PURE__ */ React96__namespace.default.createElement(
100617
+ Input,
100618
+ {
100619
+ id: "contextCode",
100620
+ value: editedQuestion.contextCode || "",
100621
+ onChange: (e2) => handleBaseFieldChange(
100622
+ "contextCode",
100623
+ e2.target.value
100624
+ )
100625
+ }
100626
+ )), /* @__PURE__ */ React96__namespace.default.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ React96__namespace.default.createElement(Label2, { htmlFor: "course" }, "Course"), /* @__PURE__ */ React96__namespace.default.createElement(
100627
+ Input,
100628
+ {
100629
+ id: "course",
100630
+ value: editedQuestion.course || "",
100631
+ onChange: (e2) => handleBaseFieldChange(
100632
+ "course",
100633
+ e2.target.value
100634
+ )
100635
+ }
100636
+ )), /* @__PURE__ */ React96__namespace.default.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ React96__namespace.default.createElement(Label2, { htmlFor: "glossary" }, "Glossary Terms (comma-separated)"), /* @__PURE__ */ React96__namespace.default.createElement(
100637
+ Input,
100638
+ {
100639
+ id: "glossary",
100640
+ value: Array.isArray(
100641
+ editedQuestion.glossary
100642
+ ) ? editedQuestion.glossary.join(
100643
+ ", "
100644
+ ) : "",
100645
+ onChange: (e2) => handleBaseFieldChange(
100646
+ "glossary",
100647
+ e2.target.value.split(",").map((s2) => s2.trim()).filter((s2) => s2)
100648
+ )
100649
+ }
100650
+ ))))))), /* @__PURE__ */ React96__namespace.default.createElement(DialogFooter, { className: "pt-4 border-t" }, /* @__PURE__ */ React96__namespace.default.createElement(DialogClose2, { asChild: true }, /* @__PURE__ */ React96__namespace.default.createElement(Button, { type: "button", variant: "outline" }, "Cancel")), /* @__PURE__ */ React96__namespace.default.createElement(Button, { type: "button", onClick: handleSaveClick }, /* @__PURE__ */ React96__namespace.default.createElement(Save, { className: "mr-2 h-4 w-4" }), " Save Question")))
100651
+ );
100463
100652
  };
100464
100653
  var APIKeyManagerModal = ({ isOpen, onClose }) => {
100465
100654
  const [geminiApiKey, setGeminiApiKey] = React96.useState("");
@@ -1,8 +1,8 @@
1
- export { B as BaseQuestion, e as BlocklyProgrammingQuestion, C as CodingQuestion, D as DragAndDropQuestion, l as DraggableItem, m as DropZone, F as FillInTheBlanksQuestion, n as HotspotArea, H as HotspotQuestion, M as MarkdownString, k as MatchOptionItem, j as MatchPromptItem, d as MatchingQuestion, a as MultipleChoiceQuestion, b as MultipleResponseQuestion, N as NumericQuestion, h as QuestionOption, Q as QuestionTypeStrings, s as QuizConfig, g as QuizQuestion, r as QuizSettings, R as RichContentString, q as SCORMSettings, f as ScratchProgrammingQuestion, i as SequenceItem, c as SequenceQuestion, S as ShortAnswerQuestion, p as SupportedCodingLanguage, o as TestCase, T as TrueFalseQuestion } from './quiz-config-Df_89hFx.cjs';
1
+ export { B as BaseQuestion, e as BlocklyProgrammingQuestion, C as CodingQuestion, D as DragAndDropQuestion, l as DraggableItem, m as DropZone, F as FillInTheBlanksQuestion, n as HotspotArea, H as HotspotQuestion, M as MarkdownString, k as MatchOptionItem, j as MatchPromptItem, d as MatchingQuestion, a as MultipleChoiceQuestion, b as MultipleResponseQuestion, N as NumericQuestion, h as QuestionOption, Q as QuestionTypeStrings, s as QuizConfig, g as QuizQuestion, r as QuizSettings, R as RichContentString, q as SCORMSettings, f as ScratchProgrammingQuestion, i as SequenceItem, c as SequenceQuestion, S as ShortAnswerQuestion, p as SupportedCodingLanguage, o as TestCase, T as TrueFalseQuestion } from './quiz-config-o4j2dfsu.cjs';
2
2
  export { APIKeyService, AchievementService, Approach, ApproachTableRawDifficulty, BloomLevelName, BloomLevelType, Category, CodeNamedEntity, Context, GEMINI_API_KEY_SERVICE_NAME, GradeLevel, KnowledgeCardService, KnowledgeDimension, LearningObjective, LearningObjectiveMetadata, MetadataService, PracticeHistoryService, QuestionBankService, QuestionImportService, QuestionInBank, QuestionTypeType, QuizEditorService, QuizEngine, QuizEngineCallbacks, QuizEngineConstructorOptions, QuoteService, SCORMService, StandardDifficulty, Subject, Topic, UserConfigService, cn, emptyQuiz, exportQuizAsSCORMZip, generateLauncherHTML, generateSCORMManifest, generateUniqueId, sampleQuiz } from './index.cjs';
3
- export { i as Achievement, j as AchievementDefinition, r as ActivityCalendarData, u as AnalysisReport, A as AnswerDetail, x as ChatContext, C as ChatMessage, v as DashboardCardConfig, D as DashboardCardId, w as DashboardLayout, y as Goal, G as GoalType, t as ImageContextItem, I as ImportError, K as KnowledgeCard, L as LearningAnalysis, e as PerformanceByBloomLevel, b as PerformanceByCategory, d as PerformanceByDifficulty, P as PerformanceByLearningObjective, c as PerformanceByTopic, f as PerformanceMetric, s as PerformanceSummary, k as PracticeDifficulty, n as PracticeSession, p as PracticeSessionSummary, o as PracticeStats, m as PracticeSuggestion, l as PracticeSuggestionTopic, q as PracticeTopicSummary, g as QuestionReview, Q as QuizResultType, h as QuizReviewContent, R as RoadmapItem, T as TestCaseResult, U as UserAnswerType, a as UserAnswers, W as WeeklyRoadmap } from './ai-ecosystem-DCPvHU4-.cjs';
3
+ export { i as Achievement, j as AchievementDefinition, r as ActivityCalendarData, u as AnalysisReport, A as AnswerDetail, x as ChatContext, C as ChatMessage, v as DashboardCardConfig, D as DashboardCardId, w as DashboardLayout, y as Goal, G as GoalType, t as ImageContextItem, I as ImportError, K as KnowledgeCard, L as LearningAnalysis, e as PerformanceByBloomLevel, b as PerformanceByCategory, d as PerformanceByDifficulty, P as PerformanceByLearningObjective, c as PerformanceByTopic, f as PerformanceMetric, s as PerformanceSummary, k as PracticeDifficulty, n as PracticeSession, p as PracticeSessionSummary, o as PracticeStats, m as PracticeSuggestion, l as PracticeSuggestionTopic, q as PracticeTopicSummary, g as QuestionReview, Q as QuizResultType, h as QuizReviewContent, R as RoadmapItem, T as TestCaseResult, U as UserAnswerType, a as UserAnswers, W as WeeklyRoadmap } from './ai-ecosystem-DqFRlFU3.cjs';
4
4
  export { AssessAndMapDocumentClientInput, AssessAndMapDocumentOutput, BloomLevelStringsForAI, GenerateCodingQuestionClientInput, GenerateCodingQuestionOutput, GenerateFillInTheBlanksQuestionClientInput, GenerateFillInTheBlanksQuestionOutput, GenerateLearningAnalysisClientInput, GenerateLearningAnalysisOutput, GenerateMCQQuestionClientInput, GenerateMCQQuestionOutput, GenerateMRQQuestionClientInput, GenerateMRQQuestionOutput, GenerateMatchingQuestionClientInput, GenerateMatchingQuestionOutput, GenerateMotivationalQuoteClientInput, GenerateMotivationalQuoteOutput, GenerateNumericQuestionClientInput, GenerateNumericQuestionOutput, GeneratePracticeSuggestionClientInput, GeneratePracticeSuggestionOutput, GenerateQuestionsFromQuizPlanClientInput, GenerateQuestionsFromQuizPlanOutput, GenerateQuizFromTextClientInput, GenerateQuizFromTextOutput, GenerateQuizPlanClientInput, GenerateQuizPlanOutput, GenerateQuizReviewClientInput, GenerateQuizReviewOutput, GenerateSequenceQuestionClientInput, GenerateSequenceQuestionOutput, GenerateShortAnswerQuestionClientInput, GenerateShortAnswerQuestionOutput, GenerateSingleKnowledgeCardClientInput, GenerateSingleKnowledgeCardOutput, GenerateTrueFalseQuestionClientInput, GenerateTrueFalseQuestionOutput, PlanKnowledgeCardsClientInput, PlanKnowledgeCardsOutput, PlannedQuestion, assessAndMapDocument, generateCodingQuestion, generateFillInTheBlanksQuestion, generateLearningAnalysis, generateMCQQuestion, generateMRQQuestion, generateMatchingQuestion, generateMotivationalQuote, generateNumericQuestion, generatePracticeSuggestion, generateQuestionsFromQuizPlan, generateQuizFromText, generateQuizPlan, generateQuizReview, generateSequenceQuestion, generateShortAnswerQuestion, generateSingleKnowledgeCard, generateTrueFalseQuestion, planKnowledgeCards } from './ai.cjs';
5
- export { a as AIFullQuizGeneratorModal, A as AIQuestionGeneratorModal, b as APIKeyManagerModal, i as ApproachManager, B as BloomLevelManager, C as CategoryManager, h as ContextManager, E as EditQuestionModal, G as GradeLevelManager, I as ImportQuestionsModal, L as LearningObjectiveManager, M as MetadataTabs, d as QuestionFilters, e as QuestionFormDialog, c as QuestionList, g as QuestionTypeManager, Q as QuizAuthoringTool, S as SCORMExportModal, f as SubjectManager, j as Toaster, T as TopicManager, t as toast, u as useToast } from './toaster-D1bLqmd_.cjs';
5
+ export { a as AIFullQuizGeneratorModal, A as AIQuestionGeneratorModal, b as APIKeyManagerModal, i as ApproachManager, B as BloomLevelManager, C as CategoryManager, h as ContextManager, E as EditQuestionModal, G as GradeLevelManager, I as ImportQuestionsModal, L as LearningObjectiveManager, M as MetadataTabs, d as QuestionFilters, e as QuestionFormDialog, c as QuestionList, g as QuestionTypeManager, Q as QuizAuthoringTool, S as SCORMExportModal, f as SubjectManager, j as Toaster, T as TopicManager, t as toast, u as useToast } from './toaster-JTJ7cUyP.cjs';
6
6
  import 'clsx';
7
7
  import 'zod';
8
8
  import 'react';
@@ -1,8 +1,8 @@
1
- export { B as BaseQuestion, e as BlocklyProgrammingQuestion, C as CodingQuestion, D as DragAndDropQuestion, l as DraggableItem, m as DropZone, F as FillInTheBlanksQuestion, n as HotspotArea, H as HotspotQuestion, M as MarkdownString, k as MatchOptionItem, j as MatchPromptItem, d as MatchingQuestion, a as MultipleChoiceQuestion, b as MultipleResponseQuestion, N as NumericQuestion, h as QuestionOption, Q as QuestionTypeStrings, s as QuizConfig, g as QuizQuestion, r as QuizSettings, R as RichContentString, q as SCORMSettings, f as ScratchProgrammingQuestion, i as SequenceItem, c as SequenceQuestion, S as ShortAnswerQuestion, p as SupportedCodingLanguage, o as TestCase, T as TrueFalseQuestion } from './quiz-config-Df_89hFx.js';
1
+ export { B as BaseQuestion, e as BlocklyProgrammingQuestion, C as CodingQuestion, D as DragAndDropQuestion, l as DraggableItem, m as DropZone, F as FillInTheBlanksQuestion, n as HotspotArea, H as HotspotQuestion, M as MarkdownString, k as MatchOptionItem, j as MatchPromptItem, d as MatchingQuestion, a as MultipleChoiceQuestion, b as MultipleResponseQuestion, N as NumericQuestion, h as QuestionOption, Q as QuestionTypeStrings, s as QuizConfig, g as QuizQuestion, r as QuizSettings, R as RichContentString, q as SCORMSettings, f as ScratchProgrammingQuestion, i as SequenceItem, c as SequenceQuestion, S as ShortAnswerQuestion, p as SupportedCodingLanguage, o as TestCase, T as TrueFalseQuestion } from './quiz-config-o4j2dfsu.js';
2
2
  export { APIKeyService, AchievementService, Approach, ApproachTableRawDifficulty, BloomLevelName, BloomLevelType, Category, CodeNamedEntity, Context, GEMINI_API_KEY_SERVICE_NAME, GradeLevel, KnowledgeCardService, KnowledgeDimension, LearningObjective, LearningObjectiveMetadata, MetadataService, PracticeHistoryService, QuestionBankService, QuestionImportService, QuestionInBank, QuestionTypeType, QuizEditorService, QuizEngine, QuizEngineCallbacks, QuizEngineConstructorOptions, QuoteService, SCORMService, StandardDifficulty, Subject, Topic, UserConfigService, cn, emptyQuiz, exportQuizAsSCORMZip, generateLauncherHTML, generateSCORMManifest, generateUniqueId, sampleQuiz } from './index.js';
3
- export { i as Achievement, j as AchievementDefinition, r as ActivityCalendarData, u as AnalysisReport, A as AnswerDetail, x as ChatContext, C as ChatMessage, v as DashboardCardConfig, D as DashboardCardId, w as DashboardLayout, y as Goal, G as GoalType, t as ImageContextItem, I as ImportError, K as KnowledgeCard, L as LearningAnalysis, e as PerformanceByBloomLevel, b as PerformanceByCategory, d as PerformanceByDifficulty, P as PerformanceByLearningObjective, c as PerformanceByTopic, f as PerformanceMetric, s as PerformanceSummary, k as PracticeDifficulty, n as PracticeSession, p as PracticeSessionSummary, o as PracticeStats, m as PracticeSuggestion, l as PracticeSuggestionTopic, q as PracticeTopicSummary, g as QuestionReview, Q as QuizResultType, h as QuizReviewContent, R as RoadmapItem, T as TestCaseResult, U as UserAnswerType, a as UserAnswers, W as WeeklyRoadmap } from './ai-ecosystem-D6vuLxnS.js';
3
+ export { i as Achievement, j as AchievementDefinition, r as ActivityCalendarData, u as AnalysisReport, A as AnswerDetail, x as ChatContext, C as ChatMessage, v as DashboardCardConfig, D as DashboardCardId, w as DashboardLayout, y as Goal, G as GoalType, t as ImageContextItem, I as ImportError, K as KnowledgeCard, L as LearningAnalysis, e as PerformanceByBloomLevel, b as PerformanceByCategory, d as PerformanceByDifficulty, P as PerformanceByLearningObjective, c as PerformanceByTopic, f as PerformanceMetric, s as PerformanceSummary, k as PracticeDifficulty, n as PracticeSession, p as PracticeSessionSummary, o as PracticeStats, m as PracticeSuggestion, l as PracticeSuggestionTopic, q as PracticeTopicSummary, g as QuestionReview, Q as QuizResultType, h as QuizReviewContent, R as RoadmapItem, T as TestCaseResult, U as UserAnswerType, a as UserAnswers, W as WeeklyRoadmap } from './ai-ecosystem-DqVlSO3r.js';
4
4
  export { AssessAndMapDocumentClientInput, AssessAndMapDocumentOutput, BloomLevelStringsForAI, GenerateCodingQuestionClientInput, GenerateCodingQuestionOutput, GenerateFillInTheBlanksQuestionClientInput, GenerateFillInTheBlanksQuestionOutput, GenerateLearningAnalysisClientInput, GenerateLearningAnalysisOutput, GenerateMCQQuestionClientInput, GenerateMCQQuestionOutput, GenerateMRQQuestionClientInput, GenerateMRQQuestionOutput, GenerateMatchingQuestionClientInput, GenerateMatchingQuestionOutput, GenerateMotivationalQuoteClientInput, GenerateMotivationalQuoteOutput, GenerateNumericQuestionClientInput, GenerateNumericQuestionOutput, GeneratePracticeSuggestionClientInput, GeneratePracticeSuggestionOutput, GenerateQuestionsFromQuizPlanClientInput, GenerateQuestionsFromQuizPlanOutput, GenerateQuizFromTextClientInput, GenerateQuizFromTextOutput, GenerateQuizPlanClientInput, GenerateQuizPlanOutput, GenerateQuizReviewClientInput, GenerateQuizReviewOutput, GenerateSequenceQuestionClientInput, GenerateSequenceQuestionOutput, GenerateShortAnswerQuestionClientInput, GenerateShortAnswerQuestionOutput, GenerateSingleKnowledgeCardClientInput, GenerateSingleKnowledgeCardOutput, GenerateTrueFalseQuestionClientInput, GenerateTrueFalseQuestionOutput, PlanKnowledgeCardsClientInput, PlanKnowledgeCardsOutput, PlannedQuestion, assessAndMapDocument, generateCodingQuestion, generateFillInTheBlanksQuestion, generateLearningAnalysis, generateMCQQuestion, generateMRQQuestion, generateMatchingQuestion, generateMotivationalQuote, generateNumericQuestion, generatePracticeSuggestion, generateQuestionsFromQuizPlan, generateQuizFromText, generateQuizPlan, generateQuizReview, generateSequenceQuestion, generateShortAnswerQuestion, generateSingleKnowledgeCard, generateTrueFalseQuestion, planKnowledgeCards } from './ai.js';
5
- export { a as AIFullQuizGeneratorModal, A as AIQuestionGeneratorModal, b as APIKeyManagerModal, i as ApproachManager, B as BloomLevelManager, C as CategoryManager, h as ContextManager, E as EditQuestionModal, G as GradeLevelManager, I as ImportQuestionsModal, L as LearningObjectiveManager, M as MetadataTabs, d as QuestionFilters, e as QuestionFormDialog, c as QuestionList, g as QuestionTypeManager, Q as QuizAuthoringTool, S as SCORMExportModal, f as SubjectManager, j as Toaster, T as TopicManager, t as toast, u as useToast } from './toaster-eWZIxSVc.js';
5
+ export { a as AIFullQuizGeneratorModal, A as AIQuestionGeneratorModal, b as APIKeyManagerModal, i as ApproachManager, B as BloomLevelManager, C as CategoryManager, h as ContextManager, E as EditQuestionModal, G as GradeLevelManager, I as ImportQuestionsModal, L as LearningObjectiveManager, M as MetadataTabs, d as QuestionFilters, e as QuestionFormDialog, c as QuestionList, g as QuestionTypeManager, Q as QuizAuthoringTool, S as SCORMExportModal, f as SubjectManager, j as Toaster, T as TopicManager, t as toast, u as useToast } from './toaster-Cgg3CSob.js';
6
6
  import 'clsx';
7
7
  import 'zod';
8
8
  import 'react';