@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.
- package/dist/{ai-ecosystem-DCPvHU4-.d.cts → ai-ecosystem-DqFRlFU3.d.cts} +1 -1
- package/dist/{ai-ecosystem-D6vuLxnS.d.ts → ai-ecosystem-DqVlSO3r.d.ts} +1 -1
- package/dist/ai.d.cts +4 -4
- package/dist/ai.d.ts +4 -4
- package/dist/authoring.cjs +251 -62
- package/dist/authoring.d.cts +3 -3
- package/dist/authoring.d.ts +3 -3
- package/dist/authoring.mjs +251 -62
- package/dist/index.cjs +2 -1
- package/dist/index.d.cts +4 -4
- package/dist/index.d.ts +4 -4
- package/dist/index.mjs +2 -1
- package/dist/player.d.cts +1 -1
- package/dist/player.d.ts +1 -1
- package/dist/{quiz-config-Df_89hFx.d.cts → quiz-config-o4j2dfsu.d.cts} +1 -0
- package/dist/{quiz-config-Df_89hFx.d.ts → quiz-config-o4j2dfsu.d.ts} +1 -0
- package/dist/react-ui.cjs +251 -62
- package/dist/react-ui.d.cts +5 -5
- package/dist/react-ui.d.ts +5 -5
- package/dist/react-ui.mjs +251 -62
- package/dist/{toaster-eWZIxSVc.d.ts → toaster-Cgg3CSob.d.ts} +1 -1
- package/dist/{toaster-D1bLqmd_.d.cts → toaster-JTJ7cUyP.d.cts} +1 -1
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { R as RichContentString, Q as QuestionTypeStrings, s as QuizConfig } from './quiz-config-
|
|
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-
|
|
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-
|
|
2
|
-
export { g as QuizQuestion } from './quiz-config-
|
|
3
|
-
import { t as ImageContextItem, T as TestCaseResult, h as QuizReviewContent, m as PracticeSuggestion, L as LearningAnalysis, K as KnowledgeCard } from './ai-ecosystem-
|
|
4
|
-
export { u as AnalysisReport, l as PracticeSuggestionTopic, g as QuestionReview, R as RoadmapItem, W as WeeklyRoadmap } from './ai-ecosystem-
|
|
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-
|
|
2
|
-
export { g as QuizQuestion } from './quiz-config-
|
|
3
|
-
import { t as ImageContextItem, T as TestCaseResult, h as QuizReviewContent, m as PracticeSuggestion, L as LearningAnalysis, K as KnowledgeCard } from './ai-ecosystem-
|
|
4
|
-
export { u as AnalysisReport, l as PracticeSuggestionTopic, g as QuestionReview, R as RoadmapItem, W as WeeklyRoadmap } from './ai-ecosystem-
|
|
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<{
|
package/dist/authoring.cjs
CHANGED
|
@@ -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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
100416
|
-
|
|
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
|
-
|
|
100436
|
-
|
|
100437
|
-
|
|
100438
|
-
|
|
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(
|
|
100454
|
-
|
|
100455
|
-
|
|
100456
|
-
|
|
100457
|
-
|
|
100458
|
-
|
|
100459
|
-
|
|
100460
|
-
|
|
100461
|
-
|
|
100462
|
-
|
|
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("");
|
package/dist/authoring.d.cts
CHANGED
|
@@ -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-
|
|
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-
|
|
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-
|
|
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';
|
package/dist/authoring.d.ts
CHANGED
|
@@ -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-
|
|
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-
|
|
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-
|
|
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';
|