cognikit 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.
- package/LICENSE +21 -0
- package/README.md +316 -0
- package/dist/core/BaseInteraction.d.ts +78 -0
- package/dist/core/index.d.ts +1 -0
- package/dist/core/utilities/ProgressTracker.d.ts +58 -0
- package/dist/core/utilities/ScoringTracker.d.ts +0 -0
- package/dist/core/utilities/index.d.ts +1 -0
- package/dist/engines/index.d.ts +2 -0
- package/dist/engines/tables/implementation/graders.d.ts +23 -0
- package/dist/engines/tables/implementation/index.d.ts +4 -0
- package/dist/engines/tables/implementation/parsers.d.ts +36 -0
- package/dist/engines/tables/implementation/utils.d.ts +18 -0
- package/dist/engines/tables/implementation/validators.d.ts +9 -0
- package/dist/engines/tables/index.d.ts +2 -0
- package/dist/engines/tables/script.d.ts +37 -0
- package/dist/engines/text/implementation/graders.d.ts +69 -0
- package/dist/engines/text/implementation/index.d.ts +3 -0
- package/dist/engines/text/implementation/parsers.d.ts +9 -0
- package/dist/engines/text/implementation/validators.d.ts +41 -0
- package/dist/engines/text/index.d.ts +2 -0
- package/dist/engines/text/script.d.ts +56 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.js +4518 -0
- package/dist/index.js.map +7 -0
- package/dist/interactions/adjacency-table/index.d.ts +26 -0
- package/dist/interactions/categorize-the-words/index.d.ts +2 -0
- package/dist/interactions/categorize-the-words/sequential.d.ts +33 -0
- package/dist/interactions/categorize-the-words/static.d.ts +22 -0
- package/dist/interactions/classification-matrix/index.d.ts +31 -0
- package/dist/interactions/fill-blanks/index.d.ts +2 -0
- package/dist/interactions/fill-blanks/sequential.d.ts +32 -0
- package/dist/interactions/fill-blanks/static.d.ts +23 -0
- package/dist/interactions/index.d.ts +17 -0
- package/dist/interactions/list-recall/implementation/grader.d.ts +0 -0
- package/dist/interactions/list-recall/implementation/index.d.ts +0 -0
- package/dist/interactions/list-recall/implementation/parser.d.ts +0 -0
- package/dist/interactions/list-recall/implementation/validator.d.ts +0 -0
- package/dist/interactions/list-recall/index.d.ts +1 -0
- package/dist/interactions/list-recall/script.d.ts +25 -0
- package/dist/interactions/lookup-table/index.d.ts +26 -0
- package/dist/interactions/mark-the-words/index.d.ts +2 -0
- package/dist/interactions/mark-the-words/sequential.d.ts +34 -0
- package/dist/interactions/mark-the-words/static.d.ts +40 -0
- package/dist/interactions/mcq-mrq/implementation/grader.d.ts +20 -0
- package/dist/interactions/mcq-mrq/implementation/index.d.ts +3 -0
- package/dist/interactions/mcq-mrq/implementation/parser.d.ts +21 -0
- package/dist/interactions/mcq-mrq/implementation/validator.d.ts +17 -0
- package/dist/interactions/mcq-mrq/index.d.ts +2 -0
- package/dist/interactions/mcq-mrq/script.d.ts +37 -0
- package/dist/interactions/nary-choice-table/index.d.ts +28 -0
- package/dist/interactions/open-classification/index.d.ts +32 -0
- package/dist/interactions/rank-order/implementation/grader.d.ts +15 -0
- package/dist/interactions/rank-order/implementation/index.d.ts +3 -0
- package/dist/interactions/rank-order/implementation/parser.d.ts +25 -0
- package/dist/interactions/rank-order/implementation/validator.d.ts +3 -0
- package/dist/interactions/rank-order/index.d.ts +2 -0
- package/dist/interactions/rank-order/script.d.ts +39 -0
- package/dist/interactions/register-builtins.d.ts +1 -0
- package/dist/interactions/registry.d.ts +30 -0
- package/dist/interactions/sequential-classification/index.d.ts +49 -0
- package/dist/interactions/shared/association-implementation/grader.d.ts +3 -0
- package/dist/interactions/shared/association-implementation/index.d.ts +1 -0
- package/dist/interactions/shared/association-implementation/parser.d.ts +0 -0
- package/dist/interactions/shared/association-implementation/validator.d.ts +0 -0
- package/dist/interactions/shared/classification-implementation/grader.d.ts +3 -0
- package/dist/interactions/shared/classification-implementation/index.d.ts +1 -0
- package/dist/interactions/shared/classification-implementation/parser.d.ts +11 -0
- package/dist/interactions/shared/classification-implementation/validator.d.ts +3 -0
- package/dist/interactions/simultaneous-association/index.d.ts +34 -0
- package/dist/interactions/text-transformation/index.d.ts +2 -0
- package/dist/interactions/text-transformation/sequential.d.ts +37 -0
- package/dist/interactions/text-transformation/static.d.ts +47 -0
- package/dist/shared/assets.d.ts +6 -0
- package/dist/shared/dsl.d.ts +9 -0
- package/dist/shared/index.d.ts +4 -0
- package/dist/shared/managers/AnimationsManager.d.ts +55 -0
- package/dist/shared/managers/SoundManager.d.ts +78 -0
- package/dist/shared/managers/index.d.ts +3 -0
- package/dist/shared/types.d.ts +25 -0
- package/dist/shared/utils.d.ts +13 -0
- package/dist/shell/index.d.ts +1 -0
- package/dist/shell/simple-shell/index.d.ts +1 -0
- package/dist/shell/simple-shell/script.d.ts +61 -0
- package/dist/types/Assets.d.ts +40 -0
- package/dist/types/Data.d.ts +32 -0
- package/dist/types/Global.d.ts +24 -0
- package/dist/types/Grading.d.ts +8 -0
- package/dist/types/Input.d.ts +35 -0
- package/dist/types/Interactions.d.ts +28 -0
- package/dist/types/Tables.d.ts +40 -0
- package/dist/types/Text.d.ts +125 -0
- package/dist/types/index.d.ts +3 -0
- package/dist/ui/index.d.ts +2 -0
- package/dist/ui/input/color/color-picker.d.ts +37 -0
- package/dist/ui/input/color/index.d.ts +0 -0
- package/dist/ui/input/index.d.ts +1 -0
- package/dist/ui/input/input/index.d.ts +1 -0
- package/dist/ui/input/input/input.d.ts +22 -0
- package/dist/ui/input/letter/index.d.ts +0 -0
- package/dist/ui/input/letter/letter-picker.d.ts +27 -0
- package/dist/ui/misc/block.d.ts +14 -0
- package/dist/ui/misc/chip/chip.d.ts +46 -0
- package/dist/ui/misc/chip/index.d.ts +1 -0
- package/dist/ui/misc/dialog.d.ts +24 -0
- package/dist/ui/misc/index.d.ts +4 -0
- package/dist/ui/misc/media.d.ts +54 -0
- package/package.json +59 -0
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { TextEngineBaseData, TextEngineBlanksData, TextEngineClassificationData } from "../../../types/Text";
|
|
2
|
+
import { GradingResult, GradingState } from "../../../types/Grading";
|
|
3
|
+
/**
|
|
4
|
+
* User data for base interactions (highlight, DND, transformation)
|
|
5
|
+
*/
|
|
6
|
+
export type TextEngineBaseUserData = {
|
|
7
|
+
selectedIndices?: number[];
|
|
8
|
+
placedIndices?: number[];
|
|
9
|
+
dndPlacements?: Record<number, string>;
|
|
10
|
+
transformations?: Record<number, string[]>;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* User data for blanks interactions (fill-in-the-blanks)
|
|
14
|
+
*/
|
|
15
|
+
export type TextEngineBlanksUserData = {
|
|
16
|
+
inputValues: Record<string, any>;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* User data for classification interactions
|
|
20
|
+
*/
|
|
21
|
+
export type TextEngineClassificationUserData = {
|
|
22
|
+
wordCategories: Record<number, string>;
|
|
23
|
+
};
|
|
24
|
+
export type TextEngineBaseGradingState = Record<number, GradingState>;
|
|
25
|
+
export type TextEngineBlanksGradingState = Record<string, GradingState>;
|
|
26
|
+
export type TextEngineClassificationGradingState = Record<number, GradingState>;
|
|
27
|
+
/**
|
|
28
|
+
* Grade highlight interaction
|
|
29
|
+
* User must select all and only the target words
|
|
30
|
+
*/
|
|
31
|
+
export declare function textEngineHighlightGrader(data: TextEngineBaseData, userData: TextEngineBaseUserData): GradingResult;
|
|
32
|
+
/**
|
|
33
|
+
* Grade DND (drag and drop) interaction
|
|
34
|
+
* User must place target words in correct positions
|
|
35
|
+
*/
|
|
36
|
+
export declare function textEngineDNDGrader(data: TextEngineBaseData, userData: TextEngineBaseUserData): GradingResult;
|
|
37
|
+
export declare function getDNDGradingState(data: TextEngineBaseData, userData: TextEngineBaseUserData): TextEngineBaseGradingState;
|
|
38
|
+
/**
|
|
39
|
+
* Grade transformation interaction
|
|
40
|
+
* User must transform target text correctly
|
|
41
|
+
* Comparison is case-insensitive and trimmed
|
|
42
|
+
*/
|
|
43
|
+
export declare function textEngineTransformationGrader(data: TextEngineBaseData, userData: TextEngineBaseUserData, expectedTransformations: Record<number, string[]>): GradingResult;
|
|
44
|
+
/**
|
|
45
|
+
* Generate per-target grading state for transformation interaction
|
|
46
|
+
*/
|
|
47
|
+
export declare function getTransformationGradingState(data: TextEngineBaseData, userData: TextEngineBaseUserData, expectedTransformations: Record<number, string[]>): TextEngineBaseGradingState;
|
|
48
|
+
/**
|
|
49
|
+
* Generate per-target grading state for highlight interaction
|
|
50
|
+
*/
|
|
51
|
+
export declare function getHighlightGradingState(data: TextEngineBaseData, userData: TextEngineBaseUserData): TextEngineBaseGradingState;
|
|
52
|
+
/**
|
|
53
|
+
* Grade fill-in-the-blanks interaction
|
|
54
|
+
* Compares user input values against expected values for each input element
|
|
55
|
+
*/
|
|
56
|
+
export declare function textEngineBlanksGrader(data: TextEngineBlanksData, userData: TextEngineBlanksUserData): GradingResult;
|
|
57
|
+
/**
|
|
58
|
+
* Generate per-input grading state for blanks interaction
|
|
59
|
+
*/
|
|
60
|
+
export declare function getBlanksGradingState(data: TextEngineBlanksData, userData: TextEngineBlanksUserData): TextEngineBlanksGradingState;
|
|
61
|
+
/**
|
|
62
|
+
* Grade classification interaction
|
|
63
|
+
* User must assign each target word to the correct category
|
|
64
|
+
*/
|
|
65
|
+
export declare function textEngineClassificationGrader(data: TextEngineClassificationData, userData: TextEngineClassificationUserData): GradingResult;
|
|
66
|
+
/**
|
|
67
|
+
* Generate per-word grading state for classification interaction
|
|
68
|
+
*/
|
|
69
|
+
export declare function getClassificationGradingState(data: TextEngineClassificationData, userData: TextEngineClassificationUserData): TextEngineClassificationGradingState;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { textEngineBaseGrammarParser, textEngineBlanksGrammarParser, textEngineClassificationGrammarParser, parseTextEngineSequential } from './parsers';
|
|
2
|
+
export { textEngineBaseDataValidator, textEngineBlanksDataValidator, textEngineClassificationDataValidator, textEngineDataValidator } from './validators';
|
|
3
|
+
export { type TextEngineBaseUserData, type TextEngineBlanksUserData, type TextEngineClassificationUserData, type TextEngineBaseGradingState, type TextEngineBlanksGradingState, type TextEngineClassificationGradingState, textEngineHighlightGrader, textEngineDNDGrader, textEngineTransformationGrader, getHighlightGradingState, getDNDGradingState, getTransformationGradingState, textEngineBlanksGrader, getBlanksGradingState, textEngineClassificationGrader, getClassificationGradingState } from './graders';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { TextEngineDataUnion, TextEngineModality, TextEngineBaseData, TextEngineBlanksData, TextEngineClassificationData, TextEngineSequentialInteractionData } from "../../../types/Text";
|
|
2
|
+
import { GrammarParser, GrammarParseResult } from "../../../types/Global";
|
|
3
|
+
export declare const textEngineBaseGrammarParser: GrammarParser<TextEngineBaseData>;
|
|
4
|
+
export declare const textEngineBlanksGrammarParser: GrammarParser<TextEngineBlanksData>;
|
|
5
|
+
export declare const textEngineClassificationGrammarParser: GrammarParser<TextEngineClassificationData>;
|
|
6
|
+
/**
|
|
7
|
+
* Just a bulk caller to the guys who do the real job.
|
|
8
|
+
*/
|
|
9
|
+
export declare function parseTextEngineSequential<T extends TextEngineDataUnion>(code: string, modality: TextEngineModality): GrammarParseResult<TextEngineSequentialInteractionData>;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { TextEngineBaseData, TextEngineBlanksData, TextEngineClassificationData, TextEngineDataUnion } from "../../../types/Text";
|
|
2
|
+
import { ValidationResult } from "../../../types/Global";
|
|
3
|
+
/**
|
|
4
|
+
* Validates TextEngineBaseData for highlight/DND/transformation interactions
|
|
5
|
+
*
|
|
6
|
+
* Checks:
|
|
7
|
+
* - Parts array is not empty
|
|
8
|
+
* - Targets array is not empty
|
|
9
|
+
* - Each target has valid words, startPos, endPos
|
|
10
|
+
* - Target positions are within bounds of parts array
|
|
11
|
+
* - Target words match parts at specified positions
|
|
12
|
+
* - Distractors (if present) are non-empty and unique
|
|
13
|
+
*/
|
|
14
|
+
export declare function textEngineBaseDataValidator(data: TextEngineBaseData): ValidationResult;
|
|
15
|
+
/**
|
|
16
|
+
* Validates TextEngineBlanksData for fill-in-the-blanks interactions
|
|
17
|
+
*
|
|
18
|
+
* Checks:
|
|
19
|
+
* - Parts array is not empty
|
|
20
|
+
* - Targets array is not empty
|
|
21
|
+
* - Each target has valid id and expectedValue
|
|
22
|
+
* - Expected values have proper structure (InputElementData)
|
|
23
|
+
* - No duplicate target IDs
|
|
24
|
+
*/
|
|
25
|
+
export declare function textEngineBlanksDataValidator(data: TextEngineBlanksData): ValidationResult;
|
|
26
|
+
/**
|
|
27
|
+
* Validates TextEngineClassificationData
|
|
28
|
+
*
|
|
29
|
+
* Checks:
|
|
30
|
+
* - Parts array is not empty
|
|
31
|
+
* - Targets array is not empty (at least one category)
|
|
32
|
+
* - Each category target has valid category name and targets array
|
|
33
|
+
* - Category names are unique
|
|
34
|
+
* - Each category has at least one target
|
|
35
|
+
* - Target positions are valid and within bounds
|
|
36
|
+
*/
|
|
37
|
+
export declare function textEngineClassificationDataValidator(data: TextEngineClassificationData): ValidationResult;
|
|
38
|
+
/**
|
|
39
|
+
* Unified validator that routes to the appropriate validator based on data type
|
|
40
|
+
*/
|
|
41
|
+
export declare function textEngineDataValidator(data: TextEngineDataUnion): ValidationResult;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { TextEngineConfiguration, TextEngineState, TextEngineGradingState } from "../../types/Text";
|
|
2
|
+
type EduTextElement = HTMLElement & {
|
|
3
|
+
config: TextEngineConfiguration;
|
|
4
|
+
getValue(): any;
|
|
5
|
+
getState(): TextEngineState;
|
|
6
|
+
setState(next: Partial<TextEngineState>): void;
|
|
7
|
+
reset(): void;
|
|
8
|
+
setGradingState(state: TextEngineGradingState): void;
|
|
9
|
+
clearGradingState(): void;
|
|
10
|
+
};
|
|
11
|
+
export declare class EduText extends HTMLElement implements EduTextElement {
|
|
12
|
+
private _config;
|
|
13
|
+
private _state;
|
|
14
|
+
private _mounted;
|
|
15
|
+
static get observedAttributes(): string[];
|
|
16
|
+
private $wrapEl;
|
|
17
|
+
constructor();
|
|
18
|
+
connectedCallback(): void;
|
|
19
|
+
disconnectedCallback(): void;
|
|
20
|
+
set config(v: TextEngineConfiguration);
|
|
21
|
+
get config(): TextEngineConfiguration;
|
|
22
|
+
getValue(): any;
|
|
23
|
+
getState(): TextEngineState;
|
|
24
|
+
setState(next: Partial<TextEngineState>): void;
|
|
25
|
+
reset(): void;
|
|
26
|
+
setGradingState(state: TextEngineGradingState): void;
|
|
27
|
+
clearGradingState(): void;
|
|
28
|
+
attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
|
|
29
|
+
private upsertHtmlAttribute;
|
|
30
|
+
private removeHtmlAttribute;
|
|
31
|
+
private upsertHtmlClass;
|
|
32
|
+
private removeHtmlClassPrefix;
|
|
33
|
+
private initState;
|
|
34
|
+
private render;
|
|
35
|
+
private renderHighlight;
|
|
36
|
+
private renderBlanks;
|
|
37
|
+
private renderClassification;
|
|
38
|
+
private renderDND;
|
|
39
|
+
private renderTransformation;
|
|
40
|
+
private onClick;
|
|
41
|
+
private onChange;
|
|
42
|
+
private onInput;
|
|
43
|
+
private onDragStart;
|
|
44
|
+
private onDragOver;
|
|
45
|
+
private onDrop;
|
|
46
|
+
private _activeCategory;
|
|
47
|
+
private toggleWordSelection;
|
|
48
|
+
private setActiveCategory;
|
|
49
|
+
private assignWordToCategory;
|
|
50
|
+
private updateInputValue;
|
|
51
|
+
private updateTransformation;
|
|
52
|
+
private placeWordInDropzone;
|
|
53
|
+
private clearDropzone;
|
|
54
|
+
private emitChange;
|
|
55
|
+
}
|
|
56
|
+
export {};
|