alexsys-exam-renderer 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/dist/exam-session/examScoring.d.ts +39 -0
- package/dist/exam-session/examScoring.d.ts.map +1 -0
- package/dist/exam-session/examSessionTypes.d.ts +344 -0
- package/dist/exam-session/examSessionTypes.d.ts.map +1 -0
- package/dist/exam-session/interactions/CoinTableResponse.d.ts +9 -0
- package/dist/exam-session/interactions/CoinTableResponse.d.ts.map +1 -0
- package/dist/exam-session/interactions/ColorPenPicker.d.ts +13 -0
- package/dist/exam-session/interactions/ColorPenPicker.d.ts.map +1 -0
- package/dist/exam-session/interactions/DraftSheet.d.ts +9 -0
- package/dist/exam-session/interactions/DraftSheet.d.ts.map +1 -0
- package/dist/exam-session/interactions/DragMatch.d.ts +10 -0
- package/dist/exam-session/interactions/DragMatch.d.ts.map +1 -0
- package/dist/exam-session/interactions/GeometryCanvas.d.ts +20 -0
- package/dist/exam-session/interactions/GeometryCanvas.d.ts.map +1 -0
- package/dist/exam-session/interactions/HandwrittenNumberAnswer.d.ts +11 -0
- package/dist/exam-session/interactions/HandwrittenNumberAnswer.d.ts.map +1 -0
- package/dist/exam-session/interactions/KonvaDrawingGrid.d.ts +10 -0
- package/dist/exam-session/interactions/KonvaDrawingGrid.d.ts.map +1 -0
- package/dist/exam-session/interactions/LabelPlacement.d.ts +10 -0
- package/dist/exam-session/interactions/LabelPlacement.d.ts.map +1 -0
- package/dist/exam-session/interactions/NumberLineAnswer.d.ts +12 -0
- package/dist/exam-session/interactions/NumberLineAnswer.d.ts.map +1 -0
- package/dist/exam-session/interactions/PronunciationRecorder.d.ts +17 -0
- package/dist/exam-session/interactions/PronunciationRecorder.d.ts.map +1 -0
- package/dist/exam-session/interactions/SingleChoice.d.ts +10 -0
- package/dist/exam-session/interactions/SingleChoice.d.ts.map +1 -0
- package/dist/exam-session/interactions/SortableAnswer.d.ts +10 -0
- package/dist/exam-session/interactions/SortableAnswer.d.ts.map +1 -0
- package/dist/exam-session/interactions/TextAnswer.d.ts +11 -0
- package/dist/exam-session/interactions/TextAnswer.d.ts.map +1 -0
- package/dist/exam-session/interactions/geometryColors.d.ts +6 -0
- package/dist/exam-session/interactions/geometryColors.d.ts.map +1 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2593 -0
- package/dist/renderer/QuestionPreviewPanel.d.ts +7 -0
- package/dist/renderer/QuestionPreviewPanel.d.ts.map +1 -0
- package/dist/renderer/QuestionRenderer.d.ts +21 -0
- package/dist/renderer/QuestionRenderer.d.ts.map +1 -0
- package/dist/styles.css +2 -0
- package/dist/voice/evaluateVoiceAiResult.d.ts +19 -0
- package/dist/voice/evaluateVoiceAiResult.d.ts.map +1 -0
- package/package.json +56 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ExamRendererAdapters, QuestionBlock } from '../exam-session/examSessionTypes';
|
|
2
|
+
export type QuestionPreviewPanelProps = {
|
|
3
|
+
adapters?: ExamRendererAdapters;
|
|
4
|
+
question: QuestionBlock;
|
|
5
|
+
};
|
|
6
|
+
export declare function QuestionPreviewPanel({ adapters, question, }: QuestionPreviewPanelProps): import("react").JSX.Element;
|
|
7
|
+
//# sourceMappingURL=QuestionPreviewPanel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QuestionPreviewPanel.d.ts","sourceRoot":"","sources":["../../src/renderer/QuestionPreviewPanel.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,oBAAoB,EACpB,aAAa,EACd,MAAM,kCAAkC,CAAA;AAGzC,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,CAAC,EAAE,oBAAoB,CAAA;IAC/B,QAAQ,EAAE,aAAa,CAAA;CACxB,CAAA;AAED,wBAAgB,oBAAoB,CAAC,EACnC,QAAQ,EACR,QAAQ,GACT,EAAE,yBAAyB,+BA6B3B"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { AnswerValue, ExamRendererAdapters, ExamSection, QuestionBlock } from '../exam-session/examSessionTypes';
|
|
2
|
+
export type AnswerGetter = (answerId: string) => AnswerValue | undefined;
|
|
3
|
+
export type AnswerUpdater = (answerId: string, value: AnswerValue) => void;
|
|
4
|
+
export type AnswerClearer = (answerId: string) => void;
|
|
5
|
+
export type QuestionRendererProps = {
|
|
6
|
+
adapters?: ExamRendererAdapters;
|
|
7
|
+
clearAnswer: AnswerClearer;
|
|
8
|
+
getAnswer: AnswerGetter;
|
|
9
|
+
question: QuestionBlock;
|
|
10
|
+
updateAnswer: AnswerUpdater;
|
|
11
|
+
};
|
|
12
|
+
export declare function QuestionRenderer({ adapters, clearAnswer, question, getAnswer, updateAnswer, }: QuestionRendererProps): import("react").JSX.Element;
|
|
13
|
+
export type ExamSectionRendererProps = {
|
|
14
|
+
adapters?: ExamRendererAdapters;
|
|
15
|
+
clearAnswer: AnswerClearer;
|
|
16
|
+
getAnswer: AnswerGetter;
|
|
17
|
+
section: ExamSection;
|
|
18
|
+
updateAnswer: AnswerUpdater;
|
|
19
|
+
};
|
|
20
|
+
export declare function ExamSectionRenderer({ adapters, clearAnswer, section, getAnswer, updateAnswer, }: ExamSectionRendererProps): import("react").JSX.Element;
|
|
21
|
+
//# sourceMappingURL=QuestionRenderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QuestionRenderer.d.ts","sourceRoot":"","sources":["../../src/renderer/QuestionRenderer.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,WAAW,EAMX,oBAAoB,EACpB,WAAW,EAMX,aAAa,EAGd,MAAM,kCAAkC,CAAA;AAgBzC,MAAM,MAAM,YAAY,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,WAAW,GAAG,SAAS,CAAA;AACxE,MAAM,MAAM,aAAa,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,KAAK,IAAI,CAAA;AAC1E,MAAM,MAAM,aAAa,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;AAEtD,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,EAAE,oBAAoB,CAAA;IAC/B,WAAW,EAAE,aAAa,CAAA;IAC1B,SAAS,EAAE,YAAY,CAAA;IACvB,QAAQ,EAAE,aAAa,CAAA;IACvB,YAAY,EAAE,aAAa,CAAA;CAC5B,CAAA;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,SAAS,EACT,YAAY,GACb,EAAE,qBAAqB,+BAavB;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,CAAC,EAAE,oBAAoB,CAAA;IAC/B,WAAW,EAAE,aAAa,CAAA;IAC1B,SAAS,EAAE,YAAY,CAAA;IACvB,OAAO,EAAE,WAAW,CAAA;IACpB,YAAY,EAAE,aAAa,CAAA;CAC5B,CAAA;AAED,wBAAgB,mBAAmB,CAAC,EAClC,QAAQ,EACR,WAAW,EACX,OAAO,EACP,SAAS,EACT,YAAY,GACb,EAAE,wBAAwB,+BA0B1B"}
|
package/dist/styles.css
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
.exam-session-page{--green:#007a43;--green-mid:#0da35a;--green-deep:#058746;--blue:#3e86d8;--blue-deep:#2b71c7;--amber:#eda20e;--purple:#7351cf;--ink:#14222d;--muted:#61707a;--line:#d9e6df;color:var(--ink);background:#eef4f2;min-height:100svh;padding:clamp(18px,3.6vw,54px);overflow-x:hidden}.exam-shell{width:min(100%,1760px);margin:0 auto}.draft-sheet{z-index:60;direction:rtl;position:fixed}.draft-sheet[data-open=false]{top:clamp(92px,14vw,190px);left:0}.draft-sheet[data-open=true]{pointer-events:none;place-items:center;display:grid;inset:0}.draft-sheet[data-open=true]:before{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);content:"";background:#0616116b;position:absolute;inset:0}.draft-sheet__toggle{color:#fff;cursor:pointer;font:inherit;background:linear-gradient(#77aef0 0%,#4d8dd8 100%);border:0;border-radius:18px;justify-content:center;align-items:center;gap:8px;min-height:52px;padding:0 16px;font-size:clamp(.92rem,1.5vw,1.25rem);font-weight:950;display:inline-flex;box-shadow:0 16px 34px #3171be3d}.draft-sheet__toggle svg{color:#ffd45e;width:30px;height:30px}.draft-sheet__toggle:disabled{cursor:not-allowed;filter:grayscale(.2);opacity:.52}.draft-sheet__panel{pointer-events:auto;z-index:1;background:#fffffffa;border:1px solid #9bd9ba;border-radius:18px;gap:10px;width:min(1000px,100vw - 28px);min-height:min(660px,100svh - 40px);max-height:calc(100svh - 40px);padding:12px;display:grid;position:relative;overflow-y:auto;box-shadow:0 22px 60px #08271933}.draft-sheet__header{justify-content:space-between;align-items:center;display:flex}.draft-sheet__header strong{color:var(--green);font-size:1rem;font-weight:950}.draft-sheet__header button{color:#132631;cursor:pointer;font:inherit;background:#fff;border:1px solid #9acbb4;border-radius:999px;min-height:30px;padding:4px 14px;font-size:.75rem;font-weight:950}.draft-sheet[data-disabled=true] .draft-sheet__panel{filter:grayscale(.08);opacity:.72}.exam-top-bar{grid-template-columns:auto 1fr auto;align-items:start;margin-bottom:20px;display:grid}.timer-pill{color:#05080a;direction:ltr;background:#fff;border:1px solid #d5e4de;border-radius:28px;justify-content:center;align-items:center;gap:12px;min-height:clamp(62px,6vw,86px);padding:0 clamp(18px,2vw,28px);font-size:clamp(1.2rem,2.4vw,2.05rem);font-weight:950;display:inline-flex;box-shadow:0 18px 42px #15372d1a}.timer-pill svg{color:#071217;stroke-width:2.8px;width:clamp(26px,2.8vw,36px);height:clamp(26px,2.8vw,36px)}.camera-monitor-card{justify-self:end;width:clamp(190px,15vw,268px);display:grid;position:relative}.live-camera-preview{background:#000;border:clamp(5px,.55vw,7px) solid #008a51;border-radius:30px;min-height:clamp(120px,10vw,176px);position:relative;overflow:hidden;box-shadow:0 18px 42px #007a4324}.live-camera-preview[data-tone=warning]{border-color:#d6a10f}.live-camera-preview[data-tone=danger]{border-color:#d74458}.exam-monitor-detector{width:100%;height:100%}.exam-monitor-detector .attention-monitor__stage{aspect-ratio:16/10;box-shadow:none;border:0;border-radius:0;width:100%}.exam-monitor-detector .attention-monitor__square{width:28px;height:28px}.camera-corner-icon{color:#fff;background:#007a43d6;border-radius:999px;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex;position:absolute;bottom:14px;left:14px}.camera-corner-icon svg{width:17px;height:17px}.camera-warning-strip{background:#0b8f55;border-radius:18px;justify-content:center;align-items:center;gap:clamp(9px,1vw,10px);width:50%;padding:0 4px;display:flex;position:absolute;bottom:12px;right:18px}.warning-shield{color:#cae4d9;opacity:.9;width:24px;height:20px}.warning-shield--active{color:#ef4053}.camera-ready-dot{background:red;border-radius:50%;width:14px;height:14px}.section-star-navigator{--step-gap:clamp(12px, 1.2vw, 18px);gap:var(--step-gap);scrollbar-width:thin;background:#fff;border-radius:24px;grid-template-columns:repeat(auto-fit,minmax(50px,1fr));margin-bottom:clamp(26px,3vw,34px);padding:clamp(18px,2vw,24px);display:grid;overflow-x:auto;box-shadow:0 18px 46px #22433414}.section-star-step{place-items:center;min-width:0;min-height:58px;display:grid;position:relative}.section-star-step:before,.section-star-step:after{content:"";z-index:0;background:#dbe8e1;border-radius:999px;height:7px;transition:background-color .16s,box-shadow .16s;position:absolute;top:50%;transform:translateY(-50%)}.section-star-step:before{left:calc(50% + 25px);right:calc(var(--step-gap) / -2)}.section-star-step:after{left:calc(var(--step-gap) / -2);right:calc(50% + 25px)}.section-star-step[data-line-left=hidden]:after,.section-star-step[data-line-right=hidden]:before{display:none}.section-star-step[data-line-left=active]:after,.section-star-step[data-line-right=active]:before{background:#f6b313;box-shadow:0 0 0 4px #f6b3131f}.section-star-card{appearance:none;color:#19302b;cursor:pointer;font:inherit;text-align:center;z-index:1;background:#fff;border:3px solid #dbe8e1;border-radius:50%;place-items:center;width:50px;height:50px;font-size:clamp(1.08rem,2vw,2.08rem);font-weight:950;line-height:1.42;transition:background-color .16s,border-color .16s,box-shadow .16s,transform .16s;display:grid;position:relative}.section-star-card[data-state=active]{background:#edf8f3;border-color:#081211;box-shadow:inset 0 0 0 1px #08121114}.section-star-card[data-state=locked]{color:#5e6e67;cursor:pointer}.section-star-card:disabled{cursor:not-allowed;opacity:.62}.section-star-card:not(:disabled):active{transform:scale(.99)}.section-star-icon{color:#c8d2cc;width:clamp(32px,3.6vw,54px);height:clamp(32px,3.6vw,54px)}.section-star-card[data-state=active] .section-star-icon,.section-star-card[data-state=unlocked] .section-star-icon{color:#f6b313}.exam-workspace{position:relative}.exam-workspace[data-locked=true] .question-section,.exam-workspace[data-locked=true] .exam-step-controls{filter:blur(6px);opacity:.48;pointer-events:none;-webkit-user-select:none;user-select:none}.exam-lock-overlay{color:#fff;text-align:center;background:#08141bb8;border-radius:22px;place-items:center;gap:10px;padding:24px;display:grid;position:absolute;inset:0}.exam-lock-overlay strong{font-size:1.2rem;font-weight:950}.exam-lock-overlay p{max-width:420px;margin:0;font-size:.9rem;font-weight:800;line-height:1.7}.question-section{background:#fff;border-radius:26px;margin-bottom:clamp(28px,3vw,36px);overflow:hidden;box-shadow:0 18px 46px #22433414}.section-heading{color:#fff;direction:ltr;grid-template-columns:minmax(74px,108px) 1fr minmax(74px,108px);align-items:center;gap:16px;min-height:clamp(72px,6vw,102px);padding:0 clamp(24px,3vw,42px);display:grid}.question-section--blue .section-heading{background:linear-gradient(180deg, #438de2, var(--blue-deep))}.question-section--amber .section-heading{background:linear-gradient(180deg, #f1b126, var(--amber))}.question-section--purple .section-heading{background:linear-gradient(180deg, #8766de, var(--purple))}.question-section--green .section-heading{background:linear-gradient(180deg, #15aa62, var(--green-deep))}.section-heading h3{text-align:center;direction:rtl;margin:0;font-size:clamp(1.45rem,3vw,3rem);font-weight:950;line-height:1.35}.section-points,.section-badge{text-align:center;border:3px solid #fffc;border-radius:999px;justify-content:center;align-items:center;gap:6px;min-height:clamp(46px,4vw,64px);padding:0 14px;font-size:clamp(1.05rem,2vw,2.05rem);font-weight:950;display:inline-flex}.section-points small{font-size:.72em}.section-body{gap:clamp(20px,2vw,30px);padding:clamp(28px,3vw,44px);display:grid}.question-block{min-width:0}.question-block--visual-choice,.question-block--number-line,.question-block--drawing-grid,.question-block--drag-match,.question-block--sortable-answer,.question-block--label-placement,.question-block--audio-recording{border-bottom:1px solid #edf2ef;padding-bottom:18px}.question-prompt{justify-content:flex-start;align-items:center;gap:12px;margin-bottom:clamp(18px,2vw,26px);display:flex}.question-prompt span{color:#fff;background:#020405;border-radius:50%;justify-content:center;align-items:center;min-width:clamp(34px,4vw,58px);height:clamp(34px,4vw,58px);font-size:clamp(1rem,2vw,2.15rem);font-weight:950;display:inline-flex}.question-prompt strong{font-size:clamp(1.2rem,2.4vw,2.45rem);font-weight:950;line-height:1.4}.audio-debug-card{background:radial-gradient(circle at 12% 14%,#16b86f1f,#0000 24%),linear-gradient(#f7fffb 0%,#fff 100%);border:2px solid #b8e3ce;border-radius:22px;gap:18px;padding:clamp(18px,3vw,34px);display:grid;box-shadow:inset 0 0 0 1px #0da35a14}.audio-pronunciation-target{background:radial-gradient(circle at 16% 20%,#ffb9002e,#0000 28%),linear-gradient(135deg,#fff 0%,#effaf5 100%);border:2px solid #c6ead8;border-radius:22px;grid-template-columns:minmax(120px,.45fr) minmax(0,1fr);align-items:center;gap:clamp(16px,2.2vw,26px);padding:clamp(16px,2.6vw,28px);display:grid}.audio-pronunciation-image-frame{aspect-ratio:1;background:#fff;border:1px solid #d7eee2;border-radius:22px;justify-content:center;align-items:center;min-width:0;padding:clamp(10px,2vw,18px);display:flex;overflow:hidden;box-shadow:inset 0 0 0 8px #16b86f0f}.audio-pronunciation-image-frame img{object-fit:contain;width:100%;height:100%;max-height:168px;display:block}.audio-pronunciation-copy{gap:8px;min-width:0;display:grid}.audio-pronunciation-copy span{color:#48606a;font-size:clamp(.95rem,1.7vw,1.2rem);font-weight:900;line-height:1.6}.audio-pronunciation-copy strong{color:var(--green);letter-spacing:0;overflow-wrap:anywhere;font-size:clamp(3rem,8vw,5.8rem);font-weight:950;line-height:1;display:block}.audio-pronunciation-copy p{color:#172b35;margin:0;font-size:clamp(1rem,1.8vw,1.35rem);font-weight:900;line-height:1.6}.audio-debug-card__hero{text-align:center;justify-content:center;align-items:center;gap:16px;display:flex}.audio-debug-card__icon{color:#fff;background:linear-gradient(#18b76b 0%,#078949 100%);border-radius:50%;justify-content:center;align-items:center;width:clamp(58px,7vw,84px);height:clamp(58px,7vw,84px);display:inline-flex;box-shadow:0 14px 28px #04884838}.audio-debug-card__icon svg{stroke-width:3px;width:48%;height:48%}.audio-debug-card__hero div{gap:4px;display:grid}.audio-debug-card__hero strong{color:var(--green);font-size:clamp(1.25rem,2.4vw,2.2rem);font-weight:950}.audio-debug-card__hero span{color:#132631;direction:ltr;font-size:clamp(1.3rem,2.6vw,2.4rem);font-weight:950}.audio-debug-card[data-status=recording] .audio-debug-card__icon{background:linear-gradient(#ef4053 0%,#c51d33 100%);animation:1s ease-in-out infinite audio-recording-pulse}.audio-debug-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.audio-debug-language{background:#fff;border:1px solid #cbe3d8;border-radius:999px;justify-self:center;align-items:center;gap:8px;padding:6px;display:inline-flex}.audio-debug-language svg{color:var(--green);stroke-width:3px;width:20px;height:20px;margin-inline:8px 4px}.audio-debug-language button{color:#233842;cursor:pointer;font:inherit;background:0 0;border:0;border-radius:999px;min-height:36px;padding:4px 16px;font-size:.88rem;font-weight:950}.audio-debug-language button[aria-pressed=true]{color:var(--green);background:#e9f8f1}.audio-debug-language button:disabled{cursor:not-allowed;opacity:.55}.audio-debug-button{cursor:pointer;font:inherit;border:0;border-radius:18px;justify-content:center;align-items:center;gap:10px;min-height:clamp(56px,6vw,76px);padding:8px 14px;font-size:clamp(.95rem,1.7vw,1.28rem);font-weight:950;display:inline-flex}.audio-debug-button svg{stroke-width:3px;width:1.25em;height:1.25em}.audio-debug-button--record{color:#fff;background:linear-gradient(#18b76b 0%,#078949 100%);box-shadow:0 14px 30px #04884833}.audio-debug-button--stop{color:#fff;background:linear-gradient(#ef4053 0%,#c51d33 100%)}.audio-debug-button--reset{color:#1a2b36;background:#fff;border:2px solid #b8d7c8}.audio-debug-button:disabled{cursor:not-allowed;filter:grayscale(.18);opacity:.52}.audio-debug-message{color:#9d1f31;text-align:center;background:#fff1f3;border:1px solid #f1b8c0;border-radius:14px;margin:0;padding:12px 16px;font-size:.95rem;font-weight:900;line-height:1.7}.audio-debug-message--muted{color:#795608;background:#fffaf0;border-color:#f1d693}.audio-debug-result{gap:14px;display:grid}.audio-pronunciation-feedback{background:#fffaf0;border:2px solid #f1d693;border-radius:20px;gap:16px;padding:clamp(16px,2.4vw,24px);display:grid}.audio-pronunciation-feedback[data-outcome=correct]{background:linear-gradient(135deg,#effcf5 0%,#fff 100%);border-color:#8dd5ae}.audio-pronunciation-feedback[data-outcome=incorrect],.audio-pronunciation-feedback[data-outcome=language-mismatch]{background:linear-gradient(135deg,#fff2f3 0%,#fff 100%);border-color:#efadb5}.audio-pronunciation-feedback__headline{color:#795608;align-items:center;gap:14px;display:flex}.audio-pronunciation-feedback[data-outcome=correct] .audio-pronunciation-feedback__headline{color:var(--green)}.audio-pronunciation-feedback[data-outcome=incorrect] .audio-pronunciation-feedback__headline,.audio-pronunciation-feedback[data-outcome=language-mismatch] .audio-pronunciation-feedback__headline{color:#a42536}.audio-pronunciation-feedback__headline>svg{stroke-width:2.7px;width:clamp(42px,5vw,58px);min-width:clamp(42px,5vw,58px);height:clamp(42px,5vw,58px)}.audio-pronunciation-feedback__headline div{gap:4px;display:grid}.audio-pronunciation-feedback__headline strong{font-size:clamp(1.15rem,2.2vw,1.75rem);font-weight:950}.audio-pronunciation-feedback__headline span{color:#243a44;font-size:clamp(.92rem,1.5vw,1.1rem);font-weight:900;line-height:1.7}.audio-debug-preview{background:#fff;border:1px solid #cbe3d8;border-radius:16px;gap:12px;min-width:0;padding:14px;display:grid}.audio-debug-preview header{color:var(--green);justify-content:flex-start;align-items:center;gap:10px;display:flex}.audio-debug-preview header span{background:#e9f8f1;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.audio-debug-preview header svg{stroke-width:3px;width:19px;height:19px}.audio-debug-preview strong{font-size:1rem;font-weight:950}.audio-debug-preview audio{width:100%}.audio-debug-preview code{color:#1d3440;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:#f4faf7;border:1px solid #dcebe4;border-radius:10px;padding:10px;font-size:.74rem;font-weight:800;display:block;overflow:hidden}.audio-debug-transcript{color:#102331;background:#f4faf7;border:1px solid #dcebe4;border-radius:12px;min-height:58px;margin:0;padding:14px;font-size:clamp(1rem,1.8vw,1.25rem);font-weight:900;line-height:1.7}.audio-pronunciation-result{color:#795608;background:#fffaf0;border:1px solid #f1d693;border-radius:12px;justify-content:flex-start;align-items:center;gap:10px;padding:10px 12px;font-size:.95rem;font-weight:950;line-height:1.6;display:flex}.audio-pronunciation-result[data-match=true]{color:var(--green);background:#edfbf3;border-color:#a8dfbf}.audio-pronunciation-result svg{stroke-width:3px;width:20px;min-width:20px;height:20px}.audio-debug-metadata{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.audio-debug-meta-card{background:#fff;border:1px solid #cbe3d8;border-radius:14px;gap:5px;min-width:0;padding:12px;display:grid}.audio-debug-meta-card small{color:var(--muted);font-size:.76rem;font-weight:900}.audio-debug-meta-card strong{color:#102331;text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;font-weight:950;overflow:hidden}@keyframes audio-recording-pulse{0%,to{transform:scale(1);box-shadow:0 0 #ef405347}50%{transform:scale(1.04);box-shadow:0 0 0 12px #ef405300}}.inline-equation-grid{grid-template-columns:repeat(1,minmax(0,1fr));gap:clamp(16px,1.8vw,24px);display:grid}.equation-card,.wide-equation-card,.compact-answer,.sentence-answer{background:#fff;border:3px solid #89c4e8;border-radius:16px;justify-content:center;align-items:center;gap:12px;min-height:clamp(82px,7vw,112px);padding:10px 16px;display:inline-flex}.equation-card,.wide-equation-card,.number-line-layout .compact-answer,.equation-card span,.wide-equation-card span,.number-line-layout .compact-answer span{direction:ltr;unicode-bidi:isolate}.equation-card span,.wide-equation-card span,.compact-answer span,.sentence-answer span{white-space:nowrap;font-size:clamp(1.2rem,2.4vw,2.35rem);font-weight:950}.equation-card input,.wide-equation-card input,.compact-answer input,.sentence-answer input,.coin-count-answer input,.length-card input{color:var(--ink);font:inherit;text-align:center;background:#fafffc;border:3px solid #cfe3da;border-radius:12px;outline:none;width:clamp(62px,5.5vw,86px);min-width:0;height:clamp(54px,5vw,70px);font-size:clamp(1.1rem,2vw,1.65rem);font-weight:950}.equation-card input:focus,.wide-equation-card input:focus,.compact-answer input:focus,.sentence-answer input:focus,.coin-count-answer input:focus,.length-card input:focus{border-color:var(--green-mid);box-shadow:0 0 0 5px #0da35a1f}.handwritten-number-answer{touch-action:none;direction:ltr;unicode-bidi:isolate;flex:none;grid-template-columns:auto 34px;justify-content:center;align-items:center;gap:6px;min-width:0;display:inline-grid}.handwritten-number-status{color:#5f746a;text-align:center;grid-column:1/-1;min-height:1em;font-size:.72rem;font-weight:800;line-height:1.2}.handwritten-number-status[data-state=recognized]{color:var(--green)}.handwritten-number-status[data-state=unrecognized]{color:#b45309}.exam-finish-error{color:#9a3412;text-align:center;background:#fff7ed;border:2px solid #fdba74;border-radius:14px;margin:12px 0 0;padding:12px 16px;font-weight:800}.handwritten-number-stage{cursor:crosshair;touch-action:none;background:#fff;border-radius:14px;display:block;overflow:hidden;box-shadow:0 0 0 3px #0da35a0f,inset 0 0 0 1px #0da35a14}.handwritten-number-clear{color:var(--green);cursor:pointer;background:#f9fffc;border:2px solid #cfe3da;border-radius:12px;justify-content:center;align-items:center;width:34px;height:34px;padding:0;display:inline-flex}.handwritten-number-clear svg{stroke-width:3px;width:18px;height:18px}.handwritten-number-clear:disabled{cursor:not-allowed;filter:grayscale(.2);opacity:.45}.visual-choice-layout,.number-line-layout{grid-template-columns:minmax(220px,.7fr) minmax(280px,1fr);align-items:center;gap:18px;display:grid}.visual-line-match{direction:ltr;grid-template-columns:1fr;place-items:center;gap:100px;min-height:230px;display:grid;position:relative}.visual-line-match__lines{pointer-events:none;z-index:1;position:absolute;inset:0;overflow:visible}.visual-line-match__line{fill:none;stroke:#168ee8;stroke-linecap:round;stroke-width:4px}.visual-line-match__line--draft{opacity:.62;stroke-dasharray:8 8}.visual-line-match__line--settled{filter:drop-shadow(0 4px 7px #168ee82e)}.visual-line-match__answers{z-index:2;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%;display:grid;position:relative}.visual-match-answer{background:#fff;border:1px solid #168ee8;border-radius:9px;justify-content:center;align-items:center;gap:10px;min-height:50px;padding:18px 10px 8px;transition:background-color .15s,border-color .15s,box-shadow .15s;display:flex;position:relative}.visual-match-answer--matched{background:#eff7ff;border-color:#2c74d4;box-shadow:inset 0 0 0 1px #2c74d424}.visual-match-picture{z-index:2;justify-self:center;width:min(100%,340px);min-width:0;position:relative}.visual-match-point{appearance:none;touch-action:none;background:#fff;border:3px solid #168ee8;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;padding:0;display:inline-flex;box-shadow:0 5px 12px #168ee82e,inset 0 0 0 4px #fff}.visual-match-point--answer{cursor:crosshair;position:absolute;top:-12px;left:50%;transform:translate(-50%)}.visual-match-point--answer:active{transform:translate(-50%)scale(.94)}.visual-match-point--target{cursor:crosshair;position:absolute;bottom:-12px;left:50%;transform:translate(-50%)}.visual-match-point--target:active{transform:translate(-50%)scale(.94)}.visual-match-point--target-active{background:#2c74d4}.choice-group{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.answer-chip{color:#061724;cursor:pointer;font:inherit;background:#fff;border:2px solid #168ee8;border-radius:10px;min-height:44px;padding:6px 14px;font-size:1rem;font-weight:950;transition:background-color .15s,border-color .15s,color .15s,transform .15s}.answer-chip--selected{color:#fff;background:#2c74d4;border-color:#2c74d4}.answer-chip__label{display:inline-block}.answer-chip__label--math{direction:ltr;unicode-bidi:isolate}.answer-chip:active{transform:scale(.98)}.visual-panel{background:#fff;border:1px solid #b6d0c4;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:130px;padding:12px;display:flex}.visual-panel>div{justify-content:center;gap:12px;display:flex}.sun-icon{color:#f4b51a;font-size:2.1rem;line-height:1}.star-outline{color:#7a8880;font-size:2.05rem;line-height:1}.counter-dot{background:#ffdf26;border:2px solid #1d2a21;border-radius:50%;width:24px;height:24px;display:inline-block;position:relative}.counter-dot--crossed:before,.counter-dot--crossed:after{content:"";background:#f32e31;width:30px;height:3px;position:absolute;top:10px;left:-4px}.counter-dot--crossed:before{transform:rotate(45deg)}.counter-dot--crossed:after{transform:rotate(-45deg)}.number-line{width:100%;height:78px}.number-line line{stroke:#1d77ce;stroke-width:3px}.number-line text{fill:#112431;text-anchor:middle;direction:ltr;font-size:13px;font-weight:800}.compact-answer{justify-self:center;min-width:150px}.stacked-equations{gap:12px;display:grid}.wide-equation-card{justify-content:center;width:min(100%,420px);min-height:58px}.shape-choice-layout{gap:14px;display:grid}.shape-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.shape-drawing{background:#fff;border:1px solid #168ee8;border-radius:8px;justify-content:center;align-items:center;height:60px;display:flex}.shape-drawing:before{content:"";display:block}.shape-drawing--triangle:before{border-bottom:48px solid #111;border-left:29px solid #0000;border-right:29px solid #0000;width:0;height:0}.shape-drawing--triangle{position:relative}.shape-drawing--triangle:after{content:"";border-bottom:40px solid #fff;border-left:23px solid #0000;border-right:23px solid #0000;width:0;height:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-43%)}.shape-drawing--square:before{border:3px solid #111;width:34px;height:34px}.shape-drawing--rectangle:before{border:3px solid #111;width:68px;height:28px}.drag-match,.label-placement{gap:14px;display:grid}.drag-match__items,.label-placement__bank,.sortable-answer{background:#f6fbf8;border:1px dashed #a9d5c1;border-radius:10px;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;min-height:54px;padding:10px;display:flex}.drag-match__targets{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.drag-pill,.sortable-token,.placement-label{color:#102331;cursor:grab;font:inherit;touch-action:none;background:#fff;border:1px solid #168ee8;border-radius:999px;min-height:36px;padding:6px 16px;font-size:.82rem;font-weight:950;transition:background-color .15s,border-color .15s,box-shadow .15s,color .15s,transform .15s}.drag-pill--dragging,.sortable-token--dragging,.placement-label--dragging{cursor:grabbing;background:#eaf4ff;transform:scale(1.03);box-shadow:0 12px 26px #2466ba33}.sortable-token--target{border-color:var(--green-mid)}.drop-slot{text-align:center;background:#fff;border:1px solid #b8d7c8;border-radius:12px;place-items:center;gap:8px;min-height:104px;padding:10px;display:grid}.drop-slot--active,.placement-target--active{border-color:var(--green-mid);background:#effaf4;box-shadow:inset 0 0 0 2px #0da35a29}.drop-slot__visual{color:#1a2731;font-size:2.1rem;font-weight:950;line-height:1}.drop-slot>span:last-child{color:var(--muted);font-size:.76rem;font-weight:850}.label-placement__diagram{background-color:#fff;background-image:linear-gradient(#dbe7e1 1px,#0000 1px),linear-gradient(90deg,#dbe7e1 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:34px 34px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border:1px solid #b8d7c8;border-radius:12px;height:172px;position:relative}.placement-target{text-align:center;background:#fff;border:1px solid #c7ddd2;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-width:96px;min-height:76px;padding:8px;display:inline-flex;position:absolute;transform:translate(-50%,-50%)}.placement-target>span{color:#1a2731;font-size:2rem;font-weight:950;line-height:1}.drawing-zone{justify-items:end;gap:10px;display:grid}.drawing-grid{background-color:#fff;background-image:linear-gradient(#cfdad5 1px,#0000 1px),linear-gradient(90deg,#cfdad5 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:28px 28px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border:1px solid #bad3c8;border-radius:8px;width:100%;height:178px;position:relative;overflow:hidden}.drawing-point{color:#111;background:#e63542;border-radius:50%;justify-content:center;align-items:center;width:10px;height:10px;font-size:.72rem;font-weight:950;display:inline-flex;position:absolute;transform:translate(-50%,-50%)}.draw-action{color:#132631;cursor:pointer;font:inherit;background:#fff;border:1px solid #9acbb4;border-radius:999px;min-height:28px;padding:4px 16px;font-size:.75rem;font-weight:900}.draw-action--active{border-color:var(--green-mid);color:var(--green);background:#eaf9f1}.length-estimation-task{gap:12px;display:grid}.length-color-picker{background:#f6fbf8;border:1px dashed #a9d5c1;border-radius:10px;justify-content:center;padding:10px}.length-card-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.length-card{background:#fff;border:1px solid #d7e6df;border-radius:8px;padding:12px}.square-measure-strip{--measure-square-size:24px;--measure-squares:8;appearance:none;background:linear-gradient(#dde8e2 1px,#0000 1px),#fff linear-gradient(90deg,#dde8e2 1px,#0000 1px);background-size:var(--measure-square-size) var(--measure-square-size);box-sizing:content-box;cursor:default;height:calc(var(--measure-square-size) * 3);margin-bottom:10px;width:calc(var(--measure-squares) * var(--measure-square-size));border:1px solid #b7d5c6;border-radius:8px;margin-inline:auto;padding:0;display:block;position:relative;overflow:hidden}.pencil-pencil{--pencil-color:#9aa3a8;--pencil-fill-end:16%;--pencil-squares:4;--pencil-start-square:1;appearance:none;background:linear-gradient(90deg, #2f2117 0 5%, #e2ba7a 5% 16%, var(--pencil-color) 16% var(--pencil-fill-end), #9aa3a8 var(--pencil-fill-end) calc(100% - 16px), #eef1f0 calc(100% - 16px) calc(100% - 5px), #6a7780 calc(100% - 5px) 100%);box-sizing:border-box;clip-path:polygon(0 50%,12% 0,100% 0,100% 100%,12% 100%);cursor:crosshair;height:18px;left:calc(var(--pencil-start-square) * var(--measure-square-size));top:calc(var(--measure-square-size) + 3px);width:calc(var(--pencil-squares) * var(--measure-square-size));border:1px solid #0e1c2673;border-radius:999px;padding:0;transition:filter .15s,transform .15s;display:block;position:absolute;overflow:hidden;box-shadow:0 2px 3px #11243126,inset 0 2px #ffffff42}.pencil-pencil--paint-target:focus-visible{outline-offset:4px;outline:3px solid #0da35a38}.pencil-pencil--paint-target:active{transform:scaleY(.94)}.pencil-pencil:before{content:"";background:#ffffff9e;border-radius:999px;width:42%;height:3px;position:absolute;top:4px;left:22%}.pencil-pencil--colored{filter:saturate(1.08)}.length-value-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.length-value-row span{font-size:.72rem;font-weight:900}.response-table{border:1px solid #9aa8a1;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.response-column{min-height:132px;padding:10px}.response-column:first-child{border-left:1px solid #9aa8a1}.response-column h4{text-align:center;border-bottom:1px solid #cfd8d3;margin:0;padding-bottom:8px;font-size:.76rem;font-weight:950}.coin-table-area{background-color:#fff;background-image:linear-gradient(#eef4f1 1px,#0000 1px),linear-gradient(90deg,#eef4f1 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:24px 24px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border:1px solid #d2e2da;border-radius:8px;align-content:space-between;gap:10px;min-height:112px;margin:10px 0;padding:10px;display:grid}.coin-list{grid-template-columns:repeat(5,26px);place-content:start center;gap:7px;min-height:62px;display:grid}.coin-shape{color:#815305;background:radial-gradient(circle at 34% 30%,#ffffffb8,#0000 24%),linear-gradient(145deg,#ffd85c,#efaa16);border:2px solid #d18a0a;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:.68rem;font-weight:950;display:inline-flex;box-shadow:0 2px #7249074d}.coin-controls{justify-content:center;gap:8px;display:flex}.coin-action{color:#fff;cursor:pointer;font:inherit;background:linear-gradient(#18b76b 0%,#078949 100%);border:0;border-radius:999px;min-width:70px;min-height:30px;padding:4px 14px;font-size:.76rem;font-weight:950}.coin-action--secondary{color:#1a2b36;background:#fff;border:1px solid #b8d7c8}.coin-action:disabled{cursor:not-allowed;filter:grayscale(.25);opacity:.48}.coin-count-answer{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.coin-count-answer span{font-size:.72rem;font-weight:900}.problem-statement{text-align:center;background:#effaf4;border-radius:8px;margin:0;padding:18px;font-size:.86rem;font-weight:800;line-height:1.8}.sentence-answer{min-width:min(100%,330px);margin:0 auto}.sentence-answer input{width:170px}.exam-step-controls{grid-template-columns:1fr 1fr;justify-content:end;align-items:center;gap:14px;padding-bottom:12px;display:grid}.exam-step-button{cursor:pointer;font:inherit;border:0;border-radius:18px;justify-content:center;align-items:center;gap:14px;min-height:clamp(72px,7vw,98px);padding:0 clamp(22px,3vw,42px);font-size:clamp(1.25rem,2.8vw,2.6rem);font-weight:950;display:inline-flex}.exam-step-button svg{stroke-width:3px;width:.95em;height:.95em}.exam-step-button--primary{color:#fff;background:linear-gradient(#18b76b 0%,#078949 100%);box-shadow:0 18px 42px #04884838}.exam-step-button--secondary{color:#20343d;background:#fff;border:2px solid #b8d7c8}.exam-step-button:disabled{box-shadow:none;cursor:not-allowed;filter:grayscale(.15);opacity:.52}.save-status{color:var(--green);opacity:0;text-align:center;grid-column:1/-1;margin:0;font-size:.95rem;font-weight:900}.save-status--visible{opacity:1}@media (width<=960px){.exam-session-page{padding:18px 10px 28px}.exam-top-bar{margin-bottom:24px}.section-star-navigator{grid-template-columns:none;grid-auto-columns:minmax(50px,42vw);grid-auto-flow:column}.inline-equation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.audio-debug-actions,.audio-debug-metadata{grid-template-columns:1fr}.audio-pronunciation-target{text-align:center;grid-template-columns:1fr}.audio-pronunciation-image-frame{justify-self:center;width:min(220px,72vw)}.section-heading{grid-template-columns:74px 1fr 74px;padding-inline:16px}}@media (width<=420px){.exam-session-page{padding-inline:8px}.exam-top-bar{grid-template-columns:1fr}.camera-monitor-card{justify-self:end}.draft-sheet[data-open=false]{top:74px}.audio-pronunciation-copy strong{font-size:clamp(2.4rem,16vw,4rem)}.inline-equation-grid{grid-template-columns:1fr}.sentence-answer{flex-wrap:wrap}}@media (width<=520px){.color-pen-picker{flex-wrap:nowrap;justify-content:flex-start;padding-bottom:2px;overflow-x:auto}.color-pen-button{flex:none}}@media (width<=520px){.geometry-toolbar{flex-wrap:nowrap;justify-content:flex-start;padding-bottom:2px;overflow-x:auto}.geometry-tool-button{flex:none}.geometry-actions{justify-content:center}}.color-pen-picker{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.color-pen-button{--pen-color:#0b7f45;color:#132631;cursor:pointer;font:inherit;background:#fff;border:1px solid #b8d7c8;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-width:96px;min-height:34px;padding:5px 12px;font-size:.74rem;font-weight:950;transition:background-color .15s,border-color .15s,box-shadow .15s,transform .15s;display:inline-flex}.color-pen-button__indicator{background:var(--pen-color);border:2px solid #fff;border-radius:50%;width:16px;height:16px;display:inline-block;box-shadow:0 0 0 1px #0f1f2938,inset 0 1px 2px #ffffff59}.color-pen-button--selected{background:color-mix(in srgb, var(--pen-color) 12%, #fff);border-color:var(--pen-color);box-shadow:0 0 0 3px color-mix(in srgb, var(--pen-color) 18%, transparent);color:#102331}.color-pen-button:active{transform:scale(.98)}.color-pen-button:disabled{cursor:not-allowed;filter:grayscale(.2);opacity:.48}@media (width<=520px){.color-pen-picker{flex-wrap:nowrap;justify-content:flex-start;padding-bottom:2px;overflow-x:auto}.color-pen-button{flex:none}}.geometry-canvas{gap:10px;min-width:0;display:grid}.geometry-toolbar{direction:ltr;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.geometry-tool-button,.geometry-actions button,.geometry-actions span{color:#132631;font:inherit;background:#fff;border:1px solid #9acbb4;border-radius:999px;justify-content:center;align-items:center;gap:6px;min-width:78px;min-height:31px;padding:4px 12px;font-size:.74rem;font-weight:950;display:inline-flex}.geometry-tool-button{cursor:pointer}.geometry-tool-button span:first-child{color:#078949;font-size:1rem;line-height:1}.geometry-color-picker{justify-content:flex-end}.geometry-tool-button--active{color:#007a43;background:#eaf9f1;border-color:#0da35a;box-shadow:0 0 0 3px #0da35a1a}.geometry-tool-button--guide.geometry-tool-button--active{color:#835d05;background:#fff8e7;border-color:#e3a51a;box-shadow:0 0 0 3px #e3a51a1f}.geometry-stage-shell{touch-action:none;background:#fff;border:1px solid #bad3c8;border-radius:8px;justify-content:center;width:100%;display:flex;overflow:hidden}.geometry-stage-shell .konvajs-content{touch-action:none;max-width:100%}.geometry-stage-shell canvas{display:block!important}.geometry-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.geometry-actions button{cursor:pointer;min-width:66px}.geometry-tool-button:disabled,.geometry-actions button:disabled{cursor:not-allowed;filter:grayscale(.2);opacity:.45}.geometry-canvas[data-disabled=true] .geometry-stage-shell{opacity:.65;background:#f8fbf9}.geometry-canvas--draft .geometry-stage-shell{border-color:#8fd6ae;box-shadow:inset 0 0 0 1px #0da35a14}@media (width<=520px){.geometry-toolbar{flex-wrap:nowrap;justify-content:flex-start;padding-bottom:2px;overflow-x:auto}.geometry-tool-button{flex:none}.geometry-actions{justify-content:center}}
|
|
2
|
+
/*$vite$:1*/
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { NativeVoiceAiLanguage, NativeVoiceAiModelResult, PronunciationEvaluation } from '../exam-session/examSessionTypes';
|
|
2
|
+
export type PronunciationEvaluationOptions = {
|
|
3
|
+
acceptedPronunciations?: string[];
|
|
4
|
+
expectedLanguage: NativeVoiceAiLanguage;
|
|
5
|
+
minimumSimilarity?: number;
|
|
6
|
+
};
|
|
7
|
+
export declare const DEFAULT_NATIVE_VOICE_AI_CONFIG: {
|
|
8
|
+
readonly audioConfig: {
|
|
9
|
+
readonly bitDepth: 16;
|
|
10
|
+
readonly channels: 1;
|
|
11
|
+
readonly format: "wav";
|
|
12
|
+
readonly sampleRate: 16000;
|
|
13
|
+
};
|
|
14
|
+
readonly lang: "fr";
|
|
15
|
+
readonly useModelAi: true;
|
|
16
|
+
};
|
|
17
|
+
export declare function evaluateVoiceAiResult(result: NativeVoiceAiModelResult, expectedText: string, options: PronunciationEvaluationOptions): PronunciationEvaluation;
|
|
18
|
+
export declare function normalizeVoiceText(value: string): string;
|
|
19
|
+
//# sourceMappingURL=evaluateVoiceAiResult.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evaluateVoiceAiResult.d.ts","sourceRoot":"","sources":["../../src/voice/evaluateVoiceAiResult.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACxB,MAAM,kCAAkC,CAAA;AAEzC,MAAM,MAAM,8BAA8B,GAAG;IAC3C,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAA;IACjC,gBAAgB,EAAE,qBAAqB,CAAA;IACvC,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,8BAA8B;;;;;;;;;CASjC,CAAA;AAEV,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,wBAAwB,EAChC,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,8BAA8B,GACtC,uBAAuB,CAyDzB;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,UAU/C"}
|
package/package.json
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "alexsys-exam-renderer",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "React UI library for rendering digital exam interfaces.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"author": "Alexsys",
|
|
8
|
+
"keywords": [
|
|
9
|
+
"react",
|
|
10
|
+
"exam",
|
|
11
|
+
"renderer",
|
|
12
|
+
"ui",
|
|
13
|
+
"education"
|
|
14
|
+
],
|
|
15
|
+
"files": [
|
|
16
|
+
"dist",
|
|
17
|
+
"README.md"
|
|
18
|
+
],
|
|
19
|
+
"scripts": {
|
|
20
|
+
"build": "vite build && tsc -p tsconfig.build.json",
|
|
21
|
+
"prepublishOnly": "npm run build"
|
|
22
|
+
},
|
|
23
|
+
"exports": {
|
|
24
|
+
".": {
|
|
25
|
+
"types": "./dist/index.d.ts",
|
|
26
|
+
"import": "./dist/index.js"
|
|
27
|
+
},
|
|
28
|
+
"./styles.css": "./dist/styles.css"
|
|
29
|
+
},
|
|
30
|
+
"main": "./dist/index.js",
|
|
31
|
+
"module": "./dist/index.js",
|
|
32
|
+
"types": "./dist/index.d.ts",
|
|
33
|
+
"peerDependencies": {
|
|
34
|
+
"@dnd-kit/helpers": "^0.5.0",
|
|
35
|
+
"@dnd-kit/react": "^0.5.0",
|
|
36
|
+
"konva": "^10.3.0",
|
|
37
|
+
"lucide-react": "^1.21.0",
|
|
38
|
+
"react": "^18.2.0 || ^19.0.0",
|
|
39
|
+
"react-dom": "^18.2.0 || ^19.0.0",
|
|
40
|
+
"react-konva": "^18.0.0 || ^19.0.0"
|
|
41
|
+
},
|
|
42
|
+
"devDependencies": {
|
|
43
|
+
"@dnd-kit/helpers": "^0.5.0",
|
|
44
|
+
"@dnd-kit/react": "^0.5.0",
|
|
45
|
+
"@types/react": "^19.2.17",
|
|
46
|
+
"@types/react-dom": "^19.2.3",
|
|
47
|
+
"@vitejs/plugin-react": "^6.0.3",
|
|
48
|
+
"konva": "^10.3.0",
|
|
49
|
+
"lucide-react": "^1.22.0",
|
|
50
|
+
"react": "^19.2.7",
|
|
51
|
+
"react-dom": "^19.2.7",
|
|
52
|
+
"react-konva": "^19.2.5",
|
|
53
|
+
"typescript": "~6.0.2",
|
|
54
|
+
"vite": "^8.1.1"
|
|
55
|
+
}
|
|
56
|
+
}
|