@yungu-fed/question-editor 0.1.0

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.
Files changed (125) hide show
  1. package/README.md +79 -0
  2. package/dist/index.cjs +3 -0
  3. package/dist/index.css +1 -0
  4. package/dist/index.d.ts +20 -0
  5. package/dist/index.d.ts.map +1 -0
  6. package/dist/index.js +5783 -0
  7. package/dist/model/choice.d.ts +12 -0
  8. package/dist/model/choice.d.ts.map +1 -0
  9. package/dist/model/question-element-specs.d.ts +25 -0
  10. package/dist/model/question-element-specs.d.ts.map +1 -0
  11. package/dist/model/question-model.d.ts +14 -0
  12. package/dist/model/question-model.d.ts.map +1 -0
  13. package/dist/model/question-structure.d.ts +88 -0
  14. package/dist/model/question-structure.d.ts.map +1 -0
  15. package/dist/model/rich-text-blank.d.ts +3 -0
  16. package/dist/model/rich-text-blank.d.ts.map +1 -0
  17. package/dist/model/rich-text.d.ts +7 -0
  18. package/dist/model/rich-text.d.ts.map +1 -0
  19. package/dist/model/types.d.ts +171 -0
  20. package/dist/model/types.d.ts.map +1 -0
  21. package/dist/question/content-editor/QuestionContentBlankGroupEditor.d.ts +14 -0
  22. package/dist/question/content-editor/QuestionContentBlankGroupEditor.d.ts.map +1 -0
  23. package/dist/question/content-editor/QuestionContentEditor.d.ts +15 -0
  24. package/dist/question/content-editor/QuestionContentEditor.d.ts.map +1 -0
  25. package/dist/question/content-editor/QuestionContentEditorUi.d.ts +95 -0
  26. package/dist/question/content-editor/QuestionContentEditorUi.d.ts.map +1 -0
  27. package/dist/question/content-editor/QuestionContentElementEditor.d.ts +16 -0
  28. package/dist/question/content-editor/QuestionContentElementEditor.d.ts.map +1 -0
  29. package/dist/question/content-editor/QuestionContentFillTextEditor.d.ts +16 -0
  30. package/dist/question/content-editor/QuestionContentFillTextEditor.d.ts.map +1 -0
  31. package/dist/question/content-editor/QuestionContentJudgementGroupEditor.d.ts +14 -0
  32. package/dist/question/content-editor/QuestionContentJudgementGroupEditor.d.ts.map +1 -0
  33. package/dist/question/content-editor/QuestionContentOptionGroupEditor.d.ts +15 -0
  34. package/dist/question/content-editor/QuestionContentOptionGroupEditor.d.ts.map +1 -0
  35. package/dist/question/content-editor/QuestionContentRichTextEditor.d.ts +13 -0
  36. package/dist/question/content-editor/QuestionContentRichTextEditor.d.ts.map +1 -0
  37. package/dist/question/content-editor/QuestionContentSubquestionAddChildDropdown.d.ts +13 -0
  38. package/dist/question/content-editor/QuestionContentSubquestionAddChildDropdown.d.ts.map +1 -0
  39. package/dist/question/content-editor/QuestionContentSubquestionChildEditor.d.ts +20 -0
  40. package/dist/question/content-editor/QuestionContentSubquestionChildEditor.d.ts.map +1 -0
  41. package/dist/question/content-editor/QuestionContentSubquestionChildElements.d.ts +14 -0
  42. package/dist/question/content-editor/QuestionContentSubquestionChildElements.d.ts.map +1 -0
  43. package/dist/question/content-editor/QuestionContentSubquestionGroupEditor.d.ts +15 -0
  44. package/dist/question/content-editor/QuestionContentSubquestionGroupEditor.d.ts.map +1 -0
  45. package/dist/question/content-editor/QuestionRichTextField.d.ts +16 -0
  46. package/dist/question/content-editor/QuestionRichTextField.d.ts.map +1 -0
  47. package/dist/question/content-editor/helpers.d.ts +62 -0
  48. package/dist/question/content-editor/helpers.d.ts.map +1 -0
  49. package/dist/question/content-editor/i18n.d.ts +8 -0
  50. package/dist/question/content-editor/i18n.d.ts.map +1 -0
  51. package/dist/question/content-editor/structure.d.ts +21 -0
  52. package/dist/question/content-editor/structure.d.ts.map +1 -0
  53. package/dist/question/content-editor/subquestion-group-editor-helpers.d.ts +7 -0
  54. package/dist/question/content-editor/subquestion-group-editor-helpers.d.ts.map +1 -0
  55. package/dist/question/content-editor/types.d.ts +178 -0
  56. package/dist/question/content-editor/types.d.ts.map +1 -0
  57. package/dist/question/elements/fill/inline-fill-plugin.d.ts +3 -0
  58. package/dist/question/elements/fill/inline-fill-plugin.d.ts.map +1 -0
  59. package/dist/question/i18n/index.d.ts +3 -0
  60. package/dist/question/i18n/index.d.ts.map +1 -0
  61. package/dist/question/i18n/messages.d.ts +62 -0
  62. package/dist/question/i18n/messages.d.ts.map +1 -0
  63. package/dist/question/player/QuestionBlankGroupPlayer.d.ts +14 -0
  64. package/dist/question/player/QuestionBlankGroupPlayer.d.ts.map +1 -0
  65. package/dist/question/player/QuestionFillTextCandidateButton.d.ts +12 -0
  66. package/dist/question/player/QuestionFillTextCandidateButton.d.ts.map +1 -0
  67. package/dist/question/player/QuestionFillTextContentPlayer.d.ts +15 -0
  68. package/dist/question/player/QuestionFillTextContentPlayer.d.ts.map +1 -0
  69. package/dist/question/player/QuestionFillTextPlayer.d.ts +15 -0
  70. package/dist/question/player/QuestionFillTextPlayer.d.ts.map +1 -0
  71. package/dist/question/player/QuestionJudgementGroupPlayer.d.ts +15 -0
  72. package/dist/question/player/QuestionJudgementGroupPlayer.d.ts.map +1 -0
  73. package/dist/question/player/QuestionOptionGroupPlayer.d.ts +15 -0
  74. package/dist/question/player/QuestionOptionGroupPlayer.d.ts.map +1 -0
  75. package/dist/question/player/QuestionPlayer.d.ts +4 -0
  76. package/dist/question/player/QuestionPlayer.d.ts.map +1 -0
  77. package/dist/question/player/QuestionPlayerComposite.d.ts +16 -0
  78. package/dist/question/player/QuestionPlayerComposite.d.ts.map +1 -0
  79. package/dist/question/player/QuestionPlayerElement.d.ts +15 -0
  80. package/dist/question/player/QuestionPlayerElement.d.ts.map +1 -0
  81. package/dist/question/player/helpers.d.ts +12 -0
  82. package/dist/question/player/helpers.d.ts.map +1 -0
  83. package/dist/question/player/types.d.ts +50 -0
  84. package/dist/question/player/types.d.ts.map +1 -0
  85. package/dist/question/preview/QuestionCompositePreview.d.ts +12 -0
  86. package/dist/question/preview/QuestionCompositePreview.d.ts.map +1 -0
  87. package/dist/question/preview/QuestionPreview.d.ts +14 -0
  88. package/dist/question/preview/QuestionPreview.d.ts.map +1 -0
  89. package/dist/question/renderers/QuestionBlankGroupView.d.ts +10 -0
  90. package/dist/question/renderers/QuestionBlankGroupView.d.ts.map +1 -0
  91. package/dist/question/renderers/QuestionContentElementView.d.ts +11 -0
  92. package/dist/question/renderers/QuestionContentElementView.d.ts.map +1 -0
  93. package/dist/question/renderers/QuestionFillTextView.d.ts +11 -0
  94. package/dist/question/renderers/QuestionFillTextView.d.ts.map +1 -0
  95. package/dist/question/renderers/QuestionJudgementGroupView.d.ts +11 -0
  96. package/dist/question/renderers/QuestionJudgementGroupView.d.ts.map +1 -0
  97. package/dist/question/renderers/QuestionOptionGroupView.d.ts +11 -0
  98. package/dist/question/renderers/QuestionOptionGroupView.d.ts.map +1 -0
  99. package/dist/question/renderers/QuestionRichContentView.d.ts +8 -0
  100. package/dist/question/renderers/QuestionRichContentView.d.ts.map +1 -0
  101. package/dist/question/renderers/QuestionStandardAnswerPanel.d.ts +11 -0
  102. package/dist/question/renderers/QuestionStandardAnswerPanel.d.ts.map +1 -0
  103. package/dist/question/renderers/helpers.d.ts +14 -0
  104. package/dist/question/renderers/helpers.d.ts.map +1 -0
  105. package/dist/question/rich-text/RichTextField.d.ts +14 -0
  106. package/dist/question/rich-text/RichTextField.d.ts.map +1 -0
  107. package/dist/question/rich-text/RichTextFieldTestToolbar.d.ts +6 -0
  108. package/dist/question/rich-text/RichTextFieldTestToolbar.d.ts.map +1 -0
  109. package/dist/question/rich-text/rich-text-toolbar-context.d.ts +3 -0
  110. package/dist/question/rich-text/rich-text-toolbar-context.d.ts.map +1 -0
  111. package/dist/question/shared/subquestion-numbering.d.ts +2 -0
  112. package/dist/question/shared/subquestion-numbering.d.ts.map +1 -0
  113. package/dist/question/structure-editor/QuestionStructureCanvas.d.ts +14 -0
  114. package/dist/question/structure-editor/QuestionStructureCanvas.d.ts.map +1 -0
  115. package/dist/question/structure-editor/QuestionStructureEditor.d.ts +9 -0
  116. package/dist/question/structure-editor/QuestionStructureEditor.d.ts.map +1 -0
  117. package/dist/question/structure-editor/QuestionStructurePalette.d.ts +10 -0
  118. package/dist/question/structure-editor/QuestionStructurePalette.d.ts.map +1 -0
  119. package/dist/question/structure-editor/QuestionStructureSettings.d.ts +13 -0
  120. package/dist/question/structure-editor/QuestionStructureSettings.d.ts.map +1 -0
  121. package/dist/question/structure-editor/structure-editor-labels.d.ts +53 -0
  122. package/dist/question/structure-editor/structure-editor-labels.d.ts.map +1 -0
  123. package/dist/utils/cn.d.ts +3 -0
  124. package/dist/utils/cn.d.ts.map +1 -0
  125. package/package.json +86 -0
@@ -0,0 +1,12 @@
1
+ import type { ChoiceAnswers, ChoiceOption, ChoiceQuestionDataElement, ChoiceQuestionTypeElement, ChoiceSelectionType, QuestionDataElement, RichTextContent } from "./types";
2
+ export declare function createChoiceDataElement(elementType: ChoiceQuestionTypeElement): ChoiceQuestionDataElement;
3
+ export declare function normalizeChoiceDataElement(elementType: ChoiceQuestionTypeElement, element?: QuestionDataElement): ChoiceQuestionDataElement;
4
+ export declare function updateChoiceColumnContent(element: ChoiceQuestionDataElement, columnId: string, content: RichTextContent): ChoiceQuestionDataElement;
5
+ export declare function updateChoiceCellContent(element: ChoiceQuestionDataElement, optionId: string, columnIndex: number, content: RichTextContent): ChoiceQuestionDataElement;
6
+ export declare function addChoiceOption(element: ChoiceQuestionDataElement): ChoiceQuestionDataElement;
7
+ export declare function removeChoiceOption(element: ChoiceQuestionDataElement, optionId: string): ChoiceQuestionDataElement;
8
+ export declare function addChoiceColumn(element: ChoiceQuestionDataElement): ChoiceQuestionDataElement;
9
+ export declare function removeChoiceColumn(element: ChoiceQuestionDataElement, columnId: string): ChoiceQuestionDataElement;
10
+ export declare function getNextChoiceOptionIds(currentOptionIds: readonly string[], optionId: string, selectionType: ChoiceSelectionType): string[];
11
+ export declare function normalizeChoiceAnswers(answers: ChoiceAnswers | undefined, options: readonly ChoiceOption[], selectionType: ChoiceSelectionType): ChoiceAnswers;
12
+ //# sourceMappingURL=choice.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"choice.d.ts","sourceRoot":"","sources":["../../src/model/choice.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EAEb,YAAY,EACZ,yBAAyB,EACzB,yBAAyB,EACzB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EAChB,MAAM,SAAS,CAAC;AASjB,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,yBAAyB,GACrC,yBAAyB,CAW3B;AAED,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,yBAAyB,EACtC,OAAO,CAAC,EAAE,mBAAmB,GAC5B,yBAAyB,CAuB3B;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,yBAAyB,EAClC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,eAAe,GACvB,yBAAyB,CAO3B;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,yBAAyB,EAClC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,eAAe,GACvB,yBAAyB,CAc3B;AAED,wBAAgB,eAAe,CAC7B,OAAO,EAAE,yBAAyB,GACjC,yBAAyB,CAmB3B;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,yBAAyB,EAClC,QAAQ,EAAE,MAAM,GACf,yBAAyB,CAY3B;AAED,wBAAgB,eAAe,CAC7B,OAAO,EAAE,yBAAyB,GACjC,yBAAyB,CAiB3B;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,yBAAyB,EAClC,QAAQ,EAAE,MAAM,GACf,yBAAyB,CAmB3B;AAED,wBAAgB,sBAAsB,CACpC,gBAAgB,EAAE,SAAS,MAAM,EAAE,EACnC,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,mBAAmB,GACjC,MAAM,EAAE,CAQV;AAiDD,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,aAAa,GAAG,SAAS,EAClC,OAAO,EAAE,SAAS,YAAY,EAAE,EAChC,aAAa,EAAE,mBAAmB,GACjC,aAAa,CAUf"}
@@ -0,0 +1,25 @@
1
+ import type { QuestionDataElement, QuestionTypeElementKind, QuestionResponseItem, QuestionTypeElement, RichTextQuestionTypeElement } from "./types";
2
+ type AnswerQuestionTypeElement = Exclude<QuestionTypeElement, RichTextQuestionTypeElement>;
3
+ export type QuestionTypeElementSpec = {
4
+ readonly createDataElement: (elementType: QuestionTypeElement) => QuestionDataElement;
5
+ readonly createTypeElement: (id: string, version: string) => QuestionTypeElement;
6
+ readonly idPrefix: string;
7
+ readonly normalizeDataElement: (elementType: QuestionTypeElement, element?: QuestionDataElement) => QuestionDataElement;
8
+ readonly normalizeResponseItem?: (elementType: AnswerQuestionTypeElement, dataElement: QuestionDataElement | undefined, item: QuestionResponseItem | undefined) => QuestionResponseItem;
9
+ readonly paletteGroup: "answer" | "stem";
10
+ };
11
+ export declare const questionTypeElementSpecs: Record<QuestionTypeElementKind, QuestionTypeElementSpec>;
12
+ export declare function createQuestionTypeElementFromSpec(type: QuestionTypeElementKind, elements: readonly QuestionTypeElement[]): QuestionTypeElement;
13
+ export declare function getQuestionTypeElementSpec(type: QuestionTypeElementKind): QuestionTypeElementSpec;
14
+ export declare const questionTypeElementPaletteGroups: readonly [{
15
+ readonly key: "stem";
16
+ readonly types: ("richText" | "choice" | "fill" | "inlineFill" | "judgement")[];
17
+ }, {
18
+ readonly key: "answer";
19
+ readonly types: ("richText" | "choice" | "fill" | "inlineFill" | "judgement")[];
20
+ }];
21
+ export declare function isAnalysisQuestionTypeElement(element: QuestionTypeElement): boolean;
22
+ export declare function isQuestionTypeElementKind(value: string): value is QuestionTypeElementKind;
23
+ export declare function isStructuralQuestionTypeElement(element: QuestionTypeElement): boolean;
24
+ export {};
25
+ //# sourceMappingURL=question-element-specs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"question-element-specs.d.ts","sourceRoot":"","sources":["../../src/model/question-element-specs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAsBV,mBAAmB,EACnB,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,EAEnB,2BAA2B,EAC5B,MAAM,SAAS,CAAC;AAcjB,KAAK,yBAAyB,GAAG,OAAO,CACtC,mBAAmB,EACnB,2BAA2B,CAC5B,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,iBAAiB,EAAE,CAC1B,WAAW,EAAE,mBAAmB,KAC7B,mBAAmB,CAAC;IACzB,QAAQ,CAAC,iBAAiB,EAAE,CAC1B,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,KACZ,mBAAmB,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,oBAAoB,EAAE,CAC7B,WAAW,EAAE,mBAAmB,EAChC,OAAO,CAAC,EAAE,mBAAmB,KAC1B,mBAAmB,CAAC;IACzB,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAC/B,WAAW,EAAE,yBAAyB,EACtC,WAAW,EAAE,mBAAmB,GAAG,SAAS,EAC5C,IAAI,EAAE,oBAAoB,GAAG,SAAS,KACnC,oBAAoB,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,QAAQ,GAAG,MAAM,CAAC;CAC1C,CAAC;AAIF,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,uBAAuB,EAAE,uBAAuB,CAoH7F,CAAC;AAEF,wBAAgB,iCAAiC,CAC/C,IAAI,EAAE,uBAAuB,EAC7B,QAAQ,EAAE,SAAS,mBAAmB,EAAE,GACvC,mBAAmB,CAKrB;AAED,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,uBAAuB,GAC5B,uBAAuB,CAazB;AAED,eAAO,MAAM,gCAAgC;;;;;;EAGnC,CAAC;AAEX,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,mBAAmB,WAKzE;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,uBAAuB,CAEzF;AAED,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,mBAAmB,WAE3E"}
@@ -0,0 +1,14 @@
1
+ import type { QuestionData, QuestionModelIssue, QuestionResponse, QuestionType } from "./types";
2
+ export type NormalizeQuestionDataOptions = {
3
+ readonly questionTypes?: readonly QuestionType[];
4
+ };
5
+ export type NormalizeQuestionResponseOptions = {
6
+ readonly questionTypes?: readonly QuestionType[];
7
+ };
8
+ export declare function createEmptyQuestionData(questionType: QuestionType): QuestionData;
9
+ export declare function normalizeQuestionData(questionType: QuestionType, data?: Partial<QuestionData>, options?: NormalizeQuestionDataOptions): QuestionData;
10
+ export declare function createEmptyQuestionResponse(questionType: QuestionType, question?: QuestionData): QuestionResponse;
11
+ export declare function normalizeQuestionResponse(questionType: QuestionType, question?: QuestionData, response?: Partial<QuestionResponse>, options?: NormalizeQuestionResponseOptions): QuestionResponse;
12
+ export declare function isCompositeQuestionType(questionType: QuestionType): boolean;
13
+ export declare function validateQuestionDataElementAlignment(questionType: QuestionType, question: QuestionData): QuestionModelIssue[];
14
+ //# sourceMappingURL=question-model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"question-model.d.ts","sourceRoot":"","sources":["../../src/model/question-model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EAEZ,kBAAkB,EAClB,gBAAgB,EAEhB,YAAY,EAGb,MAAM,SAAS,CAAC;AAIjB,MAAM,MAAM,4BAA4B,GAAG;IACzC,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;CAClD,CAAC;AAEF,MAAM,MAAM,gCAAgC,GAAG;IAC7C,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;CAClD,CAAC;AAOF,wBAAgB,uBAAuB,CACrC,YAAY,EAAE,YAAY,GACzB,YAAY,CAUd;AAED,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,YAAY,EAC1B,IAAI,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,EAC5B,OAAO,GAAE,4BAAiC,GACzC,YAAY,CAgBd;AAED,wBAAgB,2BAA2B,CACzC,YAAY,EAAE,YAAY,EAC1B,QAAQ,CAAC,EAAE,YAAY,GACtB,gBAAgB,CAQlB;AAED,wBAAgB,yBAAyB,CACvC,YAAY,EAAE,YAAY,EAC1B,QAAQ,CAAC,EAAE,YAAY,EACvB,QAAQ,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,EACpC,OAAO,GAAE,gCAAqC,GAC7C,gBAAgB,CAclB;AAED,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,YAAY,WAEjE;AAaD,wBAAgB,oCAAoC,CAClD,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,YAAY,GACrB,kBAAkB,EAAE,CAyCtB"}
@@ -0,0 +1,88 @@
1
+ export declare const questionStructureElementTypes: readonly ["richText", "inlineFill", "fill", "choice", "judgement"];
2
+ export type QuestionStructureElementType = (typeof questionStructureElementTypes)[number];
3
+ export declare const questionStructureExtraKeys: readonly ["solvingProcess", "solvingStrategy", "keyInformation", "commonMistake", "solvingHint", "scoringRule", "sampleAnswer", "extensionExplanation"];
4
+ export type QuestionStructureExtraKey = (typeof questionStructureExtraKeys)[number];
5
+ export type QuestionStructureCandidateMode = "none" | "perBlankOptions" | "sharedPool";
6
+ export type QuestionStructureOptionLabelStyle = "lowerAlpha" | "number" | "upperAlpha";
7
+ export type QuestionStructureOptionRenderer = "standard" | "table";
8
+ export type QuestionStructureSelectionType = "multiple" | "single";
9
+ export type QuestionStructureJudgeAnswerMode = "checkCross" | "correctWrong" | "rightWrong" | "tf" | "validInvalid" | "yesNo";
10
+ export type QuestionStructureGlobalConfig = {
11
+ readonly canPrint: boolean;
12
+ readonly hasAnswer: boolean;
13
+ readonly id: string;
14
+ readonly name: string;
15
+ readonly enName: string;
16
+ readonly description?: string;
17
+ };
18
+ export type QuestionStructureRichTextElement = {
19
+ readonly config: Record<string, never>;
20
+ readonly enName: string;
21
+ readonly name: string;
22
+ readonly type: "richText";
23
+ };
24
+ export type QuestionStructureFillTextElement = {
25
+ readonly config: {
26
+ readonly allowCandidateReuse: boolean;
27
+ readonly candidateMode: QuestionStructureCandidateMode;
28
+ };
29
+ readonly enName: string;
30
+ readonly name: string;
31
+ readonly type: "inlineFill";
32
+ };
33
+ export type QuestionStructureBlankGroupElement = {
34
+ readonly config: Record<string, never>;
35
+ readonly enName: string;
36
+ readonly name: string;
37
+ readonly type: "fill";
38
+ };
39
+ export type QuestionStructureOptionGroupElement = {
40
+ readonly config: {
41
+ readonly optionLabelStyle: QuestionStructureOptionLabelStyle;
42
+ readonly renderer: QuestionStructureOptionRenderer;
43
+ readonly selectionType: QuestionStructureSelectionType;
44
+ };
45
+ readonly enName: string;
46
+ readonly name: string;
47
+ readonly type: "choice";
48
+ };
49
+ export type QuestionStructureJudgementGroupElement = {
50
+ readonly config: {
51
+ readonly judgeAnswerMode: QuestionStructureJudgeAnswerMode;
52
+ };
53
+ readonly enName: string;
54
+ readonly name: string;
55
+ readonly type: "judgement";
56
+ };
57
+ export type QuestionStructureElement = QuestionStructureBlankGroupElement | QuestionStructureFillTextElement | QuestionStructureJudgementGroupElement | QuestionStructureOptionGroupElement | QuestionStructureRichTextElement;
58
+ export type QuestionStructureDraftElement = QuestionStructureElement & {
59
+ readonly clientId: string;
60
+ };
61
+ export type QuestionStructureExtra = {
62
+ readonly enName: string;
63
+ readonly name: string;
64
+ readonly type: QuestionStructureExtraKey;
65
+ };
66
+ export type QuestionStructureDraftExtra = QuestionStructureExtra & {
67
+ readonly clientId: string;
68
+ };
69
+ export type QuestionStructureDraft = {
70
+ readonly elements: readonly QuestionStructureDraftElement[];
71
+ readonly extra: readonly QuestionStructureDraftExtra[];
72
+ readonly globalConfig: QuestionStructureGlobalConfig;
73
+ readonly version: string;
74
+ };
75
+ export declare function createEmptyQuestionStructureDraft(): QuestionStructureDraft;
76
+ export declare function createQuestionStructureExtra(key: QuestionStructureExtraKey, _extra?: readonly QuestionStructureDraftExtra[]): QuestionStructureDraftExtra;
77
+ export declare function createQuestionStructureElement(type: QuestionStructureElementType, _elements?: readonly QuestionStructureDraftElement[]): QuestionStructureDraftElement;
78
+ export declare function deleteQuestionStructureExtra(draft: QuestionStructureDraft, clientId: string): QuestionStructureDraft;
79
+ export declare function deleteQuestionStructureElement(draft: QuestionStructureDraft, clientId: string): QuestionStructureDraft;
80
+ export declare function moveQuestionStructureElement(draft: QuestionStructureDraft, clientId: string, direction: -1 | 1): QuestionStructureDraft;
81
+ export declare function updateQuestionStructureExtra(draft: QuestionStructureDraft, clientId: string, nextExtra: QuestionStructureDraftExtra): QuestionStructureDraft;
82
+ export declare function updateQuestionStructureElement(draft: QuestionStructureDraft, clientId: string, nextElement: QuestionStructureDraftElement): QuestionStructureDraft;
83
+ export declare function updateQuestionStructureGlobalConfig(draft: QuestionStructureDraft, patch: Partial<QuestionStructureGlobalConfig>): QuestionStructureDraft;
84
+ export declare function getQuestionStructureElementDefaultName(type: QuestionStructureElementType): string;
85
+ export declare function getQuestionStructureElementDefaultEnName(type: QuestionStructureElementType): string;
86
+ export declare function getQuestionStructureExtraDefaultName(key: QuestionStructureExtraKey): string;
87
+ export declare function getQuestionStructureExtraDefaultEnName(key: QuestionStructureExtraKey): string;
88
+ //# sourceMappingURL=question-structure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"question-structure.d.ts","sourceRoot":"","sources":["../../src/model/question-structure.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { RichTextEditorPlugin } from '@yungu-fed/rich-text-editor';
2
+ export declare const richTextBlankPlugin: RichTextEditorPlugin;
3
+ //# sourceMappingURL=rich-text-blank.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rich-text-blank.d.ts","sourceRoot":"","sources":["../../src/model/rich-text-blank.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAEvE,eAAO,MAAM,mBAAmB,EAAE,oBAoCjC,CAAA"}
@@ -0,0 +1,7 @@
1
+ import type { RichTextEditorValue } from '@yungu-fed/rich-text-editor';
2
+ import type { FillBlank, RichTextContent } from './types';
3
+ export declare const emptyRichTextDocument: RichTextEditorValue;
4
+ export declare function createRichTextContent(text?: string): RichTextContent;
5
+ export declare function normalizeRichTextContent(input?: Partial<RichTextContent>): RichTextContent;
6
+ export declare function normalizeInlineBlankRichTextContent(input: Partial<RichTextContent> | undefined, blanks: readonly FillBlank[]): RichTextContent;
7
+ //# sourceMappingURL=rich-text.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rich-text.d.ts","sourceRoot":"","sources":["../../src/model/rich-text.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,mBAAmB,EACpB,MAAM,6BAA6B,CAAA;AAQpC,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAIzD,eAAO,MAAM,qBAAqB,EAAE,mBAEnC,CAAA;AAED,wBAAgB,qBAAqB,CAAC,IAAI,SAAK,GAAG,eAAe,CAEhE;AAED,wBAAgB,wBAAwB,CACtC,KAAK,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAC/B,eAAe,CAQjB;AAED,wBAAgB,mCAAmC,CACjD,KAAK,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,SAAS,EAC3C,MAAM,EAAE,SAAS,SAAS,EAAE,GAC3B,eAAe,CAQjB"}
@@ -0,0 +1,171 @@
1
+ import type { RichTextEditorValue } from "@yungu-fed/rich-text-editor";
2
+ export declare const questionTypeElementKinds: readonly ["richText", "choice", "fill", "inlineFill", "judgement"];
3
+ export type QuestionTypeElementKind = (typeof questionTypeElementKinds)[number];
4
+ export type QuestionTypeKind = "composite" | "leaf";
5
+ export type QuestionTypeGlobalConfig = {
6
+ readonly kind: QuestionTypeKind;
7
+ };
8
+ export type RichTextContent = {
9
+ readonly html: string;
10
+ readonly json: RichTextEditorValue;
11
+ readonly text: string;
12
+ };
13
+ export type QuestionTypeElementBase = {
14
+ readonly id: string;
15
+ readonly name: string;
16
+ readonly type: QuestionTypeElementKind;
17
+ readonly version: string;
18
+ };
19
+ export type RichTextQuestionTypeElement = QuestionTypeElementBase & {
20
+ readonly config: Record<string, never>;
21
+ readonly type: "richText";
22
+ };
23
+ export type ChoiceOptionLabelStyle = "chineseNumber" | "lowerAlpha" | "lowerRoman" | "none" | "number" | "upperAlpha" | "upperRoman";
24
+ export type ChoiceSelectionType = "multiple" | "single";
25
+ export type ChoiceRenderer = "standard" | "table";
26
+ export type ChoiceQuestionTypeElement = QuestionTypeElementBase & {
27
+ readonly config: {
28
+ readonly optionLabelStyle: ChoiceOptionLabelStyle;
29
+ readonly renderer: ChoiceRenderer;
30
+ readonly selectionType: ChoiceSelectionType;
31
+ };
32
+ readonly type: "choice";
33
+ };
34
+ export type FillQuestionTypeElement = QuestionTypeElementBase & {
35
+ readonly config: Record<string, never>;
36
+ readonly type: "fill";
37
+ };
38
+ export type InlineFillCandidateMode = "none" | "optionGroups" | "sharedPool";
39
+ export type InlineFillSelectionType = "multiple" | "single";
40
+ export type InlineFillQuestionTypeElement = QuestionTypeElementBase & {
41
+ readonly config: {
42
+ readonly candidateMode: InlineFillCandidateMode;
43
+ readonly selectionType: InlineFillSelectionType;
44
+ };
45
+ readonly type: "inlineFill";
46
+ };
47
+ export type JudgementMode = "checkCross" | "correctWrong" | "rightWrong" | "tf" | "validInvalid" | "yesNo";
48
+ export type JudgementQuestionTypeElement = QuestionTypeElementBase & {
49
+ readonly config: {
50
+ readonly judgementMode: JudgementMode;
51
+ };
52
+ readonly type: "judgement";
53
+ };
54
+ export type QuestionTypeElement = ChoiceQuestionTypeElement | FillQuestionTypeElement | InlineFillQuestionTypeElement | JudgementQuestionTypeElement | RichTextQuestionTypeElement;
55
+ export type QuestionType = {
56
+ readonly elements: readonly QuestionTypeElement[];
57
+ readonly globalConfig: QuestionTypeGlobalConfig;
58
+ readonly id: number;
59
+ readonly name: string;
60
+ readonly version: string;
61
+ };
62
+ export type QuestionDataElementBase = {
63
+ readonly elementId: string;
64
+ readonly type: QuestionTypeElementKind;
65
+ };
66
+ export type RichTextQuestionDataElement = QuestionDataElementBase & {
67
+ readonly content: RichTextContent;
68
+ readonly type: "richText";
69
+ };
70
+ export type ChoiceColumn = {
71
+ readonly content: RichTextContent;
72
+ readonly id: string;
73
+ };
74
+ export type ChoiceOption = {
75
+ readonly cells: readonly RichTextContent[];
76
+ readonly id: string;
77
+ };
78
+ export type ChoiceAnswers = {
79
+ readonly optionIds: readonly string[];
80
+ };
81
+ export type ChoiceQuestionDataElement = QuestionDataElementBase & {
82
+ readonly answers: ChoiceAnswers;
83
+ readonly columns: readonly ChoiceColumn[];
84
+ readonly options: readonly ChoiceOption[];
85
+ readonly type: "choice";
86
+ };
87
+ export type FillBlank = {
88
+ readonly id: string;
89
+ readonly label: string;
90
+ };
91
+ export type BlankAnswerGroup = {
92
+ readonly answers: readonly RichTextContent[];
93
+ readonly blankIds: readonly string[];
94
+ };
95
+ export type FillQuestionDataElement = QuestionDataElementBase & {
96
+ readonly answers: readonly BlankAnswerGroup[];
97
+ readonly blanks: readonly FillBlank[];
98
+ readonly type: "fill";
99
+ };
100
+ export type InlineFillOption = {
101
+ readonly content: RichTextContent;
102
+ readonly id: string;
103
+ };
104
+ export type InlineFillAnswerValue = RichTextContent | string;
105
+ export type InlineFillAnswerGroup = {
106
+ readonly allowReuse: boolean;
107
+ readonly answer: Readonly<Record<string, readonly InlineFillAnswerValue[]>>;
108
+ readonly blankIds: readonly string[];
109
+ readonly options: readonly InlineFillOption[];
110
+ };
111
+ export type InlineFillQuestionDataElement = QuestionDataElementBase & {
112
+ readonly answers: readonly InlineFillAnswerGroup[];
113
+ readonly blanks: readonly FillBlank[];
114
+ readonly content: RichTextContent;
115
+ readonly type: "inlineFill";
116
+ };
117
+ export type JudgementAnswerValue = "false" | "true";
118
+ export type JudgementQuestionDataElement = QuestionDataElementBase & {
119
+ readonly answers: readonly JudgementAnswerValue[];
120
+ readonly type: "judgement";
121
+ };
122
+ export type QuestionDataElement = ChoiceQuestionDataElement | FillQuestionDataElement | InlineFillQuestionDataElement | JudgementQuestionDataElement | RichTextQuestionDataElement;
123
+ export type QuestionData = {
124
+ readonly children: readonly QuestionData[];
125
+ readonly elements: readonly QuestionDataElement[];
126
+ readonly id: string;
127
+ readonly questionTypeId: number;
128
+ readonly version: string;
129
+ };
130
+ export type QuestionResponseItemBase = {
131
+ readonly elementId: string;
132
+ readonly type: Exclude<QuestionTypeElementKind, "richText">;
133
+ };
134
+ export type ChoiceQuestionResponseItem = QuestionResponseItemBase & {
135
+ readonly answers: ChoiceAnswers;
136
+ readonly type: "choice";
137
+ };
138
+ export type BlankResponseAnswer = {
139
+ readonly answers: readonly RichTextContent[];
140
+ readonly blankId: string;
141
+ };
142
+ export type FillQuestionResponseItem = QuestionResponseItemBase & {
143
+ readonly answers: readonly BlankResponseAnswer[];
144
+ readonly type: "fill";
145
+ };
146
+ export type InlineFillResponseAnswer = {
147
+ readonly blankId: string;
148
+ readonly values: readonly InlineFillAnswerValue[];
149
+ };
150
+ export type InlineFillQuestionResponseItem = QuestionResponseItemBase & {
151
+ readonly answers: readonly InlineFillResponseAnswer[];
152
+ readonly type: "inlineFill";
153
+ };
154
+ export type JudgementQuestionResponseItem = QuestionResponseItemBase & {
155
+ readonly answers: readonly JudgementAnswerValue[];
156
+ readonly type: "judgement";
157
+ };
158
+ export type QuestionResponseItem = ChoiceQuestionResponseItem | FillQuestionResponseItem | InlineFillQuestionResponseItem | JudgementQuestionResponseItem;
159
+ export type QuestionResponse = {
160
+ readonly children: readonly QuestionResponse[];
161
+ readonly items: readonly QuestionResponseItem[];
162
+ readonly questionId: string;
163
+ readonly questionTypeId: number;
164
+ readonly version: string;
165
+ };
166
+ export type QuestionModelIssue = {
167
+ readonly code: "elementIdMismatch" | "elementOrderMismatch" | "missingElement" | "questionTypeMismatch" | "unknownElement";
168
+ readonly elementId?: string;
169
+ readonly message: string;
170
+ };
171
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/model/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { ReactElement } from "react";
2
+ import type { QuestionContentEditorTranslator } from "./i18n";
3
+ import type { QuestionContentBlankGroupItem, QuestionContentItem, QuestionContentRichTextControls } from "./types";
4
+ type QuestionContentBlankGroupEditorProps = {
5
+ disabled: boolean;
6
+ hasAnswer: boolean;
7
+ item: QuestionContentBlankGroupItem;
8
+ onChange: (item: QuestionContentItem) => void;
9
+ richTextControls: QuestionContentRichTextControls;
10
+ translator: QuestionContentEditorTranslator;
11
+ };
12
+ export declare function QuestionContentBlankGroupEditor({ disabled, hasAnswer, item, onChange, richTextControls, translator, }: Readonly<QuestionContentBlankGroupEditorProps>): ReactElement;
13
+ export {};
14
+ //# sourceMappingURL=QuestionContentBlankGroupEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QuestionContentBlankGroupEditor.d.ts","sourceRoot":"","sources":["../../../src/question/content-editor/QuestionContentBlankGroupEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAI1C,OAAO,KAAK,EACV,+BAA+B,EAChC,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,EACV,6BAA6B,EAC7B,mBAAmB,EACnB,+BAA+B,EAGhC,MAAM,SAAS,CAAC;AAsBjB,KAAK,oCAAoC,GAAG;IAC1C,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,6BAA6B,CAAC;IACpC,QAAQ,EAAE,CAAC,IAAI,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC9C,gBAAgB,EAAE,+BAA+B,CAAC;IAClD,UAAU,EAAE,+BAA+B,CAAC;CAC7C,CAAC;AAEF,wBAAgB,+BAA+B,CAAC,EAC9C,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,QAAQ,EACR,gBAAgB,EAChB,UAAU,GACX,EAAE,QAAQ,CAAC,oCAAoC,CAAC,GAAG,YAAY,CAub/D"}
@@ -0,0 +1,15 @@
1
+ import type { ReactElement } from "react";
2
+ import type { QuestionLocale } from "../i18n";
3
+ import type { QuestionContentDraft, QuestionContentStructure, QuestionContentSubquestionTemplate } from "./types";
4
+ import "./QuestionContentEditorLayout.css";
5
+ export type QuestionContentEditorProps = {
6
+ disabled?: boolean;
7
+ emptyText?: string;
8
+ locale?: QuestionLocale;
9
+ onChange: (draft: QuestionContentDraft) => void;
10
+ structure: QuestionContentStructure;
11
+ subquestionTemplates?: QuestionContentSubquestionTemplate[];
12
+ value: QuestionContentDraft;
13
+ };
14
+ export declare function QuestionContentEditor({ disabled, locale, onChange, structure, subquestionTemplates, value, }: Readonly<QuestionContentEditorProps>): ReactElement;
15
+ //# sourceMappingURL=QuestionContentEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QuestionContentEditor.d.ts","sourceRoot":"","sources":["../../../src/question/content-editor/QuestionContentEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAK1C,OAAO,KAAK,EACV,cAAc,EACf,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EACV,oBAAoB,EAKpB,wBAAwB,EAExB,kCAAkC,EACnC,MAAM,SAAS,CAAC;AAajB,OAAO,mCAAmC,CAAC;AAI3C,MAAM,MAAM,0BAA0B,GAAG;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,QAAQ,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAChD,SAAS,EAAE,wBAAwB,CAAC;IACpC,oBAAoB,CAAC,EAAE,kCAAkC,EAAE,CAAC;IAC5D,KAAK,EAAE,oBAAoB,CAAC;CAC7B,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,EACpC,QAAgB,EAChB,MAAgB,EAChB,QAAQ,EACR,SAAS,EACT,oBAAyB,EACzB,KAAK,GACN,EAAE,QAAQ,CAAC,0BAA0B,CAAC,GAAG,YAAY,CAkHrD"}
@@ -0,0 +1,95 @@
1
+ import type { ButtonHTMLAttributes, ReactElement, ReactNode } from "react";
2
+ type ButtonProps = Omit<ButtonHTMLAttributes<HTMLButtonElement>, "type"> & {
3
+ danger?: boolean;
4
+ icon?: ReactNode;
5
+ size?: "small";
6
+ type?: "dashed";
7
+ };
8
+ type SelectOption = {
9
+ disabled?: boolean;
10
+ label: ReactNode;
11
+ value: string;
12
+ };
13
+ type SelectProps = {
14
+ "aria-label"?: string;
15
+ allowClear?: boolean;
16
+ className?: string;
17
+ disabled?: boolean;
18
+ onChange: (value: string | undefined) => void;
19
+ options: ReadonlyArray<SelectOption>;
20
+ placeholder?: string;
21
+ value?: string;
22
+ };
23
+ type ModalProps = {
24
+ cancelText: string;
25
+ children: ReactNode;
26
+ closeLabel: string;
27
+ okButtonProps?: {
28
+ disabled?: boolean;
29
+ };
30
+ okText: string;
31
+ onCancel: () => void;
32
+ onOk: () => void;
33
+ open: boolean;
34
+ title: string;
35
+ };
36
+ type RadioGroupProps = {
37
+ onChange: (event: {
38
+ target: {
39
+ value: string;
40
+ };
41
+ }) => void;
42
+ options: ReadonlyArray<SelectOption>;
43
+ value: string | null;
44
+ };
45
+ type SpaceProps = {
46
+ children: ReactNode;
47
+ className?: string;
48
+ size?: number;
49
+ wrap?: boolean;
50
+ };
51
+ type TextProps = {
52
+ children: ReactNode;
53
+ className?: string;
54
+ strong?: boolean;
55
+ type?: "secondary";
56
+ };
57
+ type TableColumn<T> = {
58
+ dataIndex?: keyof T | string;
59
+ key: string;
60
+ render?: (value: unknown, row: T, index: number) => ReactNode;
61
+ title: ReactNode;
62
+ width?: number;
63
+ };
64
+ type TableProps<T> = {
65
+ columns: ReadonlyArray<TableColumn<T>>;
66
+ dataSource: ReadonlyArray<T>;
67
+ pagination?: false;
68
+ rowKey: (row: T) => string;
69
+ scroll?: {
70
+ x: string;
71
+ };
72
+ size?: "small";
73
+ };
74
+ export declare function Button({ children, className, danger, icon, size, type, ...props }: Readonly<ButtonProps>): ReactElement;
75
+ export declare function Select({ "aria-label": ariaLabel, allowClear, className, disabled, onChange, options, placeholder, value, }: Readonly<SelectProps>): ReactElement;
76
+ export declare function Modal({ cancelText, children, closeLabel, okButtonProps, okText, onCancel, onOk, open, title, }: Readonly<ModalProps>): ReactElement | null;
77
+ declare function RadioGroup({ onChange, options, value, }: Readonly<RadioGroupProps>): ReactElement;
78
+ export declare const Radio: {
79
+ Group: typeof RadioGroup;
80
+ };
81
+ export declare function Empty({ description, }: Readonly<{
82
+ description: ReactNode;
83
+ }>): ReactElement;
84
+ export declare function Space({ children, className, size, wrap, }: Readonly<SpaceProps>): ReactElement;
85
+ declare function Text({ children, className, strong, type, }: Readonly<TextProps>): ReactElement;
86
+ export declare const Typography: {
87
+ Text: typeof Text;
88
+ };
89
+ export declare function Table<T>({ columns, dataSource, rowKey, }: Readonly<TableProps<T>>): ReactElement;
90
+ export declare const ArrowDownIcon = "\u2193";
91
+ export declare const ArrowUpIcon = "\u2191";
92
+ export declare const DeleteIcon = "\u00D7";
93
+ export declare const PlusIcon = "+";
94
+ export {};
95
+ //# sourceMappingURL=QuestionContentEditorUi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QuestionContentEditorUi.d.ts","sourceRoot":"","sources":["../../../src/question/content-editor/QuestionContentEditorUi.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { ReactElement, ReactNode } from "react";
2
+ import type { QuestionContentEditorTranslator } from "./i18n";
3
+ import type { QuestionContentItem, QuestionContentRichTextControls, QuestionContentStructureElement } from "./types";
4
+ type QuestionContentElementEditorProps = {
5
+ disabled: boolean;
6
+ element: QuestionContentStructureElement;
7
+ hasAnswer: boolean;
8
+ item: QuestionContentItem;
9
+ onChange: (item: QuestionContentItem) => void;
10
+ richTextControls: QuestionContentRichTextControls;
11
+ title: ReactNode;
12
+ translator: QuestionContentEditorTranslator;
13
+ };
14
+ export declare function QuestionContentElementEditor({ disabled, element, hasAnswer, item, onChange, richTextControls, title, translator, }: Readonly<QuestionContentElementEditorProps>): ReactElement;
15
+ export {};
16
+ //# sourceMappingURL=QuestionContentElementEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QuestionContentElementEditor.d.ts","sourceRoot":"","sources":["../../../src/question/content-editor/QuestionContentElementEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAErD,OAAO,KAAK,EACV,+BAA+B,EAChC,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,EAGV,mBAAmB,EAGnB,+BAA+B,EAE/B,+BAA+B,EAChC,MAAM,SAAS,CAAC;AAUjB,KAAK,iCAAiC,GAAG;IACvC,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,+BAA+B,CAAC;IACzC,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,mBAAmB,CAAC;IAC1B,QAAQ,EAAE,CAAC,IAAI,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC9C,gBAAgB,EAAE,+BAA+B,CAAC;IAClD,KAAK,EAAE,SAAS,CAAC;IACjB,UAAU,EAAE,+BAA+B,CAAC;CAC7C,CAAC;AAEF,wBAAgB,4BAA4B,CAAC,EAC3C,QAAQ,EACR,OAAO,EACP,SAAS,EACT,IAAI,EACJ,QAAQ,EACR,gBAAgB,EAChB,KAAK,EACL,UAAU,GACX,EAAE,QAAQ,CAAC,iCAAiC,CAAC,GAAG,YAAY,CAoF5D"}
@@ -0,0 +1,16 @@
1
+ import type { ReactElement, ReactNode } from "react";
2
+ import type { QuestionContentEditorTranslator } from "./i18n";
3
+ import type { QuestionContentFillTextItem, QuestionContentFillTextStructureElement, QuestionContentItem, QuestionContentRichTextControls } from "./types";
4
+ type QuestionContentFillTextEditorProps = {
5
+ disabled: boolean;
6
+ element: QuestionContentFillTextStructureElement;
7
+ hasAnswer: boolean;
8
+ item: QuestionContentFillTextItem;
9
+ onChange: (item: QuestionContentItem) => void;
10
+ richTextControls: QuestionContentRichTextControls;
11
+ title: ReactNode;
12
+ translator: QuestionContentEditorTranslator;
13
+ };
14
+ export declare function QuestionContentFillTextEditor({ disabled, element, hasAnswer, item, onChange, richTextControls, title, translator, }: Readonly<QuestionContentFillTextEditorProps>): ReactElement;
15
+ export {};
16
+ //# sourceMappingURL=QuestionContentFillTextEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QuestionContentFillTextEditor.d.ts","sourceRoot":"","sources":["../../../src/question/content-editor/QuestionContentFillTextEditor.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIrD,OAAO,KAAK,EACV,+BAA+B,EAChC,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,EAIV,2BAA2B,EAC3B,uCAAuC,EACvC,mBAAmB,EACnB,+BAA+B,EAGhC,MAAM,SAAS,CAAC;AAwBjB,KAAK,kCAAkC,GAAG;IACxC,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,uCAAuC,CAAC;IACjD,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,2BAA2B,CAAC;IAClC,QAAQ,EAAE,CAAC,IAAI,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC9C,gBAAgB,EAAE,+BAA+B,CAAC;IAClD,KAAK,EAAE,SAAS,CAAC;IACjB,UAAU,EAAE,+BAA+B,CAAC;CAC7C,CAAC;AAcF,wBAAgB,6BAA6B,CAAC,EAC5C,QAAQ,EACR,OAAO,EACP,SAAS,EACT,IAAI,EACJ,QAAQ,EACR,gBAAgB,EAChB,KAAK,EACL,UAAU,GACX,EAAE,QAAQ,CAAC,kCAAkC,CAAC,GAAG,YAAY,CAq8B7D"}
@@ -0,0 +1,14 @@
1
+ import type { ReactElement } from "react";
2
+ import type { QuestionContentEditorTranslator } from "./i18n";
3
+ import type { QuestionContentItem, QuestionContentJudgementGroupItem, QuestionContentJudgementGroupStructureElement } from "./types";
4
+ type QuestionContentJudgementGroupEditorProps = {
5
+ disabled: boolean;
6
+ element: QuestionContentJudgementGroupStructureElement;
7
+ hasAnswer: boolean;
8
+ item: QuestionContentJudgementGroupItem;
9
+ onChange: (item: QuestionContentItem) => void;
10
+ translator: QuestionContentEditorTranslator;
11
+ };
12
+ export declare function QuestionContentJudgementGroupEditor({ disabled, element, hasAnswer, item, onChange, translator, }: Readonly<QuestionContentJudgementGroupEditorProps>): ReactElement;
13
+ export {};
14
+ //# sourceMappingURL=QuestionContentJudgementGroupEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QuestionContentJudgementGroupEditor.d.ts","sourceRoot":"","sources":["../../../src/question/content-editor/QuestionContentJudgementGroupEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,KAAK,EACV,+BAA+B,EAChC,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,EACV,mBAAmB,EACnB,iCAAiC,EACjC,6CAA6C,EAC9C,MAAM,SAAS,CAAC;AAKjB,KAAK,wCAAwC,GAAG;IAC9C,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,6CAA6C,CAAC;IACvD,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,iCAAiC,CAAC;IACxC,QAAQ,EAAE,CAAC,IAAI,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC9C,UAAU,EAAE,+BAA+B,CAAC;CAC7C,CAAC;AAEF,wBAAgB,mCAAmC,CAAC,EAClD,QAAQ,EACR,OAAO,EACP,SAAS,EACT,IAAI,EACJ,QAAQ,EACR,UAAU,GACX,EAAE,QAAQ,CAAC,wCAAwC,CAAC,GAAG,YAAY,CA+CnE"}
@@ -0,0 +1,15 @@
1
+ import type { ReactElement } from "react";
2
+ import type { QuestionContentEditorTranslator } from "./i18n";
3
+ import type { QuestionContentItem, QuestionContentOptionGroupItem, QuestionContentOptionGroupStructureElement, QuestionContentRichTextControls } from "./types";
4
+ type QuestionContentOptionGroupEditorProps = {
5
+ disabled: boolean;
6
+ element: QuestionContentOptionGroupStructureElement;
7
+ hasAnswer: boolean;
8
+ item: QuestionContentOptionGroupItem;
9
+ onChange: (item: QuestionContentItem) => void;
10
+ richTextControls: QuestionContentRichTextControls;
11
+ translator: QuestionContentEditorTranslator;
12
+ };
13
+ export declare function QuestionContentOptionGroupEditor({ disabled, element, hasAnswer, item, onChange, richTextControls, translator, }: Readonly<QuestionContentOptionGroupEditorProps>): ReactElement;
14
+ export {};
15
+ //# sourceMappingURL=QuestionContentOptionGroupEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QuestionContentOptionGroupEditor.d.ts","sourceRoot":"","sources":["../../../src/question/content-editor/QuestionContentOptionGroupEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,KAAK,EACV,+BAA+B,EAChC,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,EACV,mBAAmB,EACnB,8BAA8B,EAC9B,0CAA0C,EAC1C,+BAA+B,EAGhC,MAAM,SAAS,CAAC;AA0BjB,KAAK,qCAAqC,GAAG;IAC3C,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,0CAA0C,CAAC;IACpD,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,8BAA8B,CAAC;IACrC,QAAQ,EAAE,CAAC,IAAI,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC9C,gBAAgB,EAAE,+BAA+B,CAAC;IAClD,UAAU,EAAE,+BAA+B,CAAC;CAC7C,CAAC;AAYF,wBAAgB,gCAAgC,CAAC,EAC/C,QAAQ,EACR,OAAO,EACP,SAAS,EACT,IAAI,EACJ,QAAQ,EACR,gBAAgB,EAChB,UAAU,GACX,EAAE,QAAQ,CAAC,qCAAqC,CAAC,GAAG,YAAY,CAwYhE"}
@@ -0,0 +1,13 @@
1
+ import type { ReactElement } from "react";
2
+ import type { QuestionContentEditorTranslator } from "./i18n";
3
+ import type { QuestionContentItem, QuestionContentRichTextControls, QuestionContentRichTextItem } from "./types";
4
+ type QuestionContentRichTextEditorProps = {
5
+ disabled: boolean;
6
+ item: QuestionContentRichTextItem;
7
+ onChange: (item: QuestionContentItem) => void;
8
+ richTextControls: QuestionContentRichTextControls;
9
+ translator: QuestionContentEditorTranslator;
10
+ };
11
+ export declare function QuestionContentRichTextEditor({ disabled, item, onChange, richTextControls, translator, }: Readonly<QuestionContentRichTextEditorProps>): ReactElement;
12
+ export {};
13
+ //# sourceMappingURL=QuestionContentRichTextEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QuestionContentRichTextEditor.d.ts","sourceRoot":"","sources":["../../../src/question/content-editor/QuestionContentRichTextEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,KAAK,EACV,+BAA+B,EAChC,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,EACV,mBAAmB,EACnB,+BAA+B,EAC/B,2BAA2B,EAC5B,MAAM,SAAS,CAAC;AAIjB,KAAK,kCAAkC,GAAG;IACxC,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,2BAA2B,CAAC;IAClC,QAAQ,EAAE,CAAC,IAAI,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC9C,gBAAgB,EAAE,+BAA+B,CAAC;IAClD,UAAU,EAAE,+BAA+B,CAAC;CAC7C,CAAC;AAEF,wBAAgB,6BAA6B,CAAC,EAC5C,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,gBAAgB,EAChB,UAAU,GACX,EAAE,QAAQ,CAAC,kCAAkC,CAAC,GAAG,YAAY,CAkB7D"}