@intellectif/lk-react 23.1.0 → 23.1.1
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/CHANGELOG.md +12 -0
- package/README.md +9 -5
- package/dist/ActivityErrorBoundary-B379hvtL.cjs +39 -0
- package/dist/ActivityErrorBoundary-B379hvtL.cjs.map +1 -0
- package/dist/ActivityErrorBoundary-Dw6SbWv3.js +34 -0
- package/dist/ActivityErrorBoundary-Dw6SbWv3.js.map +1 -0
- package/dist/ActivityMedia-CQQTRNl7.cjs +641 -0
- package/dist/ActivityMedia-CQQTRNl7.cjs.map +1 -0
- package/dist/ActivityMedia-vDiP-Psa.js +636 -0
- package/dist/ActivityMedia-vDiP-Psa.js.map +1 -0
- package/dist/ActivityPreview-1hhTkYuj.js +240 -0
- package/dist/ActivityPreview-1hhTkYuj.js.map +1 -0
- package/dist/ActivityPreview-BKr34exz.cjs +245 -0
- package/dist/ActivityPreview-BKr34exz.cjs.map +1 -0
- package/dist/ActivitySequence-CkX87pfB.js +839 -0
- package/dist/ActivitySequence-CkX87pfB.js.map +1 -0
- package/dist/ActivitySequence-CmoSyDnp.cjs +844 -0
- package/dist/ActivitySequence-CmoSyDnp.cjs.map +1 -0
- package/dist/Dictation-BlxRp-3k.js +926 -0
- package/dist/Dictation-BlxRp-3k.js.map +1 -0
- package/dist/Dictation-jECzL88E.cjs +931 -0
- package/dist/Dictation-jECzL88E.cjs.map +1 -0
- package/dist/FeedbackRegion-BNNMtTY-.cjs +108 -0
- package/dist/FeedbackRegion-BNNMtTY-.cjs.map +1 -0
- package/dist/FeedbackRegion-CyPSp8bA.js +85 -0
- package/dist/FeedbackRegion-CyPSp8bA.js.map +1 -0
- package/dist/FillInTheBlanks-B6xzqYXx.js +474 -0
- package/dist/FillInTheBlanks-B6xzqYXx.js.map +1 -0
- package/dist/FillInTheBlanks-BpKhdHg2.cjs +479 -0
- package/dist/FillInTheBlanks-BpKhdHg2.cjs.map +1 -0
- package/dist/GapSelect-DUSiaEQH.js +441 -0
- package/dist/GapSelect-DUSiaEQH.js.map +1 -0
- package/dist/GapSelect-payTq_Zn.cjs +446 -0
- package/dist/GapSelect-payTq_Zn.cjs.map +1 -0
- package/dist/InteractiveVideo-BguGv-HA.cjs +2955 -0
- package/dist/InteractiveVideo-BguGv-HA.cjs.map +1 -0
- package/dist/InteractiveVideo-Cg2jbU3j.js +2944 -0
- package/dist/InteractiveVideo-Cg2jbU3j.js.map +1 -0
- package/dist/LkAiProvider-DAPpA3PQ.d.cts +84 -0
- package/dist/LkAiProvider-DAPpA3PQ.d.cts.map +1 -0
- package/dist/LkAiProvider-QdEcIhoo.d.ts +84 -0
- package/dist/LkAiProvider-QdEcIhoo.d.ts.map +1 -0
- package/dist/LkIntlProvider-D_FdYXjQ.js +375 -0
- package/dist/LkIntlProvider-D_FdYXjQ.js.map +1 -0
- package/dist/LkIntlProvider-oi57lYB0.cjs +410 -0
- package/dist/LkIntlProvider-oi57lYB0.cjs.map +1 -0
- package/dist/MultipleChoice-COn5MtKY.cjs +433 -0
- package/dist/MultipleChoice-COn5MtKY.cjs.map +1 -0
- package/dist/MultipleChoice-Dra0_KYD.js +428 -0
- package/dist/MultipleChoice-Dra0_KYD.js.map +1 -0
- package/dist/PronunciationFeedback-DlMPGjkR.cjs +831 -0
- package/dist/PronunciationFeedback-DlMPGjkR.cjs.map +1 -0
- package/dist/PronunciationFeedback-Dxd6XPkO.js +772 -0
- package/dist/PronunciationFeedback-Dxd6XPkO.js.map +1 -0
- package/dist/ReadAloud-C8RhaUqV.js +1092 -0
- package/dist/{chunk-DC4CQCK5.js.map → ReadAloud-C8RhaUqV.js.map} +1 -1
- package/dist/ReadAloud-akDehitT.cjs +1103 -0
- package/dist/ReadAloud-akDehitT.cjs.map +1 -0
- package/dist/StimulusPanel-BgzByfkb.js +74 -0
- package/dist/StimulusPanel-BgzByfkb.js.map +1 -0
- package/dist/StimulusPanel-b66gaN3i.cjs +79 -0
- package/dist/StimulusPanel-b66gaN3i.cjs.map +1 -0
- package/dist/ThemeProvider-BRN1tj4n.cjs +187 -0
- package/dist/ThemeProvider-BRN1tj4n.cjs.map +1 -0
- package/dist/ThemeProvider-C7K9iMLX.js +158 -0
- package/dist/ThemeProvider-C7K9iMLX.js.map +1 -0
- package/dist/ThemeProvider-CocC8ODJ.d.ts +62 -0
- package/dist/ThemeProvider-CocC8ODJ.d.ts.map +1 -0
- package/dist/ThemeProvider-DS4KOL86.d.cts +62 -0
- package/dist/ThemeProvider-DS4KOL86.d.cts.map +1 -0
- package/dist/WrittenResponse-Bj3eFmGl.cjs +491 -0
- package/dist/WrittenResponse-Bj3eFmGl.cjs.map +1 -0
- package/dist/WrittenResponse-Cl8G6nO_.js +486 -0
- package/dist/WrittenResponse-Cl8G6nO_.js.map +1 -0
- package/dist/ai/LkAiProvider.cjs +34 -14
- package/dist/ai/LkAiProvider.cjs.map +1 -1
- package/dist/ai/LkAiProvider.d.cts +2 -83
- package/dist/ai/LkAiProvider.d.ts +2 -83
- package/dist/ai/LkAiProvider.js +33 -2
- package/dist/ai/LkAiProvider.js.map +1 -1
- package/dist/ai/useAiHelp.cjs +7 -25
- package/dist/ai/useAiHelp.d.cts +175 -177
- package/dist/ai/useAiHelp.d.cts.map +1 -0
- package/dist/ai/useAiHelp.d.ts +175 -177
- package/dist/ai/useAiHelp.d.ts.map +1 -0
- package/dist/ai/useAiHelp.js +3 -4
- package/dist/components/ActivityPreview.cjs +3 -29
- package/dist/components/ActivityPreview.d.cts +2 -81
- package/dist/components/ActivityPreview.d.ts +2 -81
- package/dist/components/ActivityPreview.js +2 -20
- package/dist/components/ActivitySequence.cjs +3 -30
- package/dist/components/ActivitySequence.d.cts +2 -432
- package/dist/components/ActivitySequence.d.ts +2 -432
- package/dist/components/ActivitySequence.js +2 -21
- package/dist/components/Dictation.cjs +4 -21
- package/dist/components/Dictation.d.cts +2 -19
- package/dist/components/Dictation.d.ts +2 -19
- package/dist/components/Dictation.js +3 -12
- package/dist/components/FillInTheBlanks.cjs +4 -20
- package/dist/components/FillInTheBlanks.d.cts +2 -30
- package/dist/components/FillInTheBlanks.d.ts +2 -30
- package/dist/components/FillInTheBlanks.js +3 -11
- package/dist/components/GapSelect.cjs +4 -20
- package/dist/components/GapSelect.d.cts +2 -27
- package/dist/components/GapSelect.d.ts +2 -27
- package/dist/components/GapSelect.js +3 -11
- package/dist/components/InteractiveVideo.cjs +5 -32
- package/dist/components/InteractiveVideo.d.cts +3 -291
- package/dist/components/InteractiveVideo.d.ts +3 -291
- package/dist/components/InteractiveVideo.js +3 -19
- package/dist/components/MultipleChoice.cjs +4 -20
- package/dist/components/MultipleChoice.d.cts +2 -26
- package/dist/components/MultipleChoice.d.ts +2 -26
- package/dist/components/MultipleChoice.js +3 -11
- package/dist/components/PronunciationFeedback.cjs +4 -17
- package/dist/components/PronunciationFeedback.d.cts +2 -90
- package/dist/components/PronunciationFeedback.d.ts +2 -90
- package/dist/components/PronunciationFeedback.js +3 -8
- package/dist/components/ReadAloud.cjs +4 -22
- package/dist/components/ReadAloud.d.cts +7 -11
- package/dist/components/ReadAloud.d.cts.map +1 -0
- package/dist/components/ReadAloud.d.ts +7 -11
- package/dist/components/ReadAloud.d.ts.map +1 -0
- package/dist/components/ReadAloud.js +3 -13
- package/dist/components/StimulusPanel.cjs +3 -14
- package/dist/components/StimulusPanel.d.cts +2 -51
- package/dist/components/StimulusPanel.d.ts +2 -51
- package/dist/components/StimulusPanel.js +2 -5
- package/dist/components/WrittenResponse.cjs +4 -19
- package/dist/components/WrittenResponse.d.cts +3 -18
- package/dist/components/WrittenResponse.d.ts +3 -18
- package/dist/components/WrittenResponse.js +3 -10
- package/dist/direction-Dq0_HtA5.js +183 -0
- package/dist/direction-Dq0_HtA5.js.map +1 -0
- package/dist/direction-K1pj0HCA.cjs +200 -0
- package/dist/direction-K1pj0HCA.cjs.map +1 -0
- package/dist/hooks/useActivityState.cjs +28 -10
- package/dist/hooks/useActivityState.cjs.map +1 -1
- package/dist/hooks/useActivityState.d.cts +25 -24
- package/dist/hooks/useActivityState.d.cts.map +1 -0
- package/dist/hooks/useActivityState.d.ts +25 -24
- package/dist/hooks/useActivityState.d.ts.map +1 -0
- package/dist/hooks/useActivityState.js +28 -2
- package/dist/hooks/useActivityState.js.map +1 -1
- package/dist/hooks/useSpeechRecorder.cjs +5 -16
- package/dist/hooks/useSpeechRecorder.d.cts +2 -127
- package/dist/hooks/useSpeechRecorder.d.ts +2 -127
- package/dist/hooks/useSpeechRecorder.js +3 -3
- package/dist/hooks/useXAPI.cjs +126 -10
- package/dist/hooks/useXAPI.cjs.map +1 -1
- package/dist/hooks/useXAPI.d.cts +14 -14
- package/dist/hooks/useXAPI.d.cts.map +1 -0
- package/dist/hooks/useXAPI.d.ts +14 -14
- package/dist/hooks/useXAPI.d.ts.map +1 -0
- package/dist/hooks/useXAPI.js +126 -2
- package/dist/hooks/useXAPI.js.map +1 -1
- package/dist/i18n/LkIntlProvider.cjs +9 -32
- package/dist/i18n/LkIntlProvider.d.cts +34 -38
- package/dist/i18n/LkIntlProvider.d.cts.map +1 -0
- package/dist/i18n/LkIntlProvider.d.ts +34 -38
- package/dist/i18n/LkIntlProvider.d.ts.map +1 -0
- package/dist/i18n/LkIntlProvider.js +3 -3
- package/dist/index-2iDJohip.d.cts +90 -0
- package/dist/index-2iDJohip.d.cts.map +1 -0
- package/dist/index-BAqT5tXN.d.ts +90 -0
- package/dist/index-BAqT5tXN.d.ts.map +1 -0
- package/dist/index-BRbEfXgE.d.ts +78 -0
- package/dist/index-BRbEfXgE.d.ts.map +1 -0
- package/dist/index-BW7aA5eN.d.cts +25 -0
- package/dist/index-BW7aA5eN.d.cts.map +1 -0
- package/dist/index-BeiVd-qe.d.ts +124 -0
- package/dist/index-BeiVd-qe.d.ts.map +1 -0
- package/dist/index-C1KGpD1k.d.ts +49 -0
- package/dist/index-C1KGpD1k.d.ts.map +1 -0
- package/dist/index-C7cCHEze.d.cts +24 -0
- package/dist/index-C7cCHEze.d.cts.map +1 -0
- package/dist/index-CKTpYTCC.d.cts +49 -0
- package/dist/index-CKTpYTCC.d.cts.map +1 -0
- package/dist/index-CN3_TwDL.d.ts +28 -0
- package/dist/index-CN3_TwDL.d.ts.map +1 -0
- package/dist/index-CNoAqj5I.d.ts +16 -0
- package/dist/index-CNoAqj5I.d.ts.map +1 -0
- package/dist/index-CTlht6OV.d.cts +432 -0
- package/dist/index-CTlht6OV.d.cts.map +1 -0
- package/dist/index-CmgSzapt.d.cts +124 -0
- package/dist/index-CmgSzapt.d.cts.map +1 -0
- package/dist/index-D4WYDN_p.d.cts +28 -0
- package/dist/index-D4WYDN_p.d.cts.map +1 -0
- package/dist/index-DAJ6KK49.d.ts +25 -0
- package/dist/index-DAJ6KK49.d.ts.map +1 -0
- package/dist/index-DIiacP_z.d.cts +78 -0
- package/dist/index-DIiacP_z.d.cts.map +1 -0
- package/dist/index-DR0SOJig.d.ts +291 -0
- package/dist/index-DR0SOJig.d.ts.map +1 -0
- package/dist/index-DRMauOVH.d.ts +432 -0
- package/dist/index-DRMauOVH.d.ts.map +1 -0
- package/dist/index-bmmRfGad.d.cts +16 -0
- package/dist/index-bmmRfGad.d.cts.map +1 -0
- package/dist/index-n9PKZm7W.d.cts +291 -0
- package/dist/index-n9PKZm7W.d.cts.map +1 -0
- package/dist/index-zu9H7owf.d.ts +24 -0
- package/dist/index-zu9H7owf.d.ts.map +1 -0
- package/dist/index.cjs +118 -163
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +20 -24
- package/dist/index.d.ts +20 -24
- package/dist/index.js +84 -29
- package/dist/index.js.map +1 -1
- package/dist/theme/ThemeProvider.cjs +8 -28
- package/dist/theme/ThemeProvider.d.cts +2 -59
- package/dist/theme/ThemeProvider.d.ts +2 -59
- package/dist/theme/ThemeProvider.js +3 -3
- package/dist/tries-CbbtZkdG.cjs +363 -0
- package/dist/tries-CbbtZkdG.cjs.map +1 -0
- package/dist/tries-DTHSrLCm.js +310 -0
- package/dist/tries-DTHSrLCm.js.map +1 -0
- package/dist/types-BOQd93x3.d.cts +994 -0
- package/dist/types-BOQd93x3.d.cts.map +1 -0
- package/dist/types-HIrgF_mS.d.ts +994 -0
- package/dist/types-HIrgF_mS.d.ts.map +1 -0
- package/dist/useAiHelp-B-ccDL5Q.js +906 -0
- package/dist/useAiHelp-B-ccDL5Q.js.map +1 -0
- package/dist/useAiHelp-h9yOLFqt.cjs +995 -0
- package/dist/useAiHelp-h9yOLFqt.cjs.map +1 -0
- package/dist/useSpeechRecorder--O_f-xvt.cjs +720 -0
- package/dist/useSpeechRecorder--O_f-xvt.cjs.map +1 -0
- package/dist/useSpeechRecorder-DtAYvl02.d.cts +154 -0
- package/dist/useSpeechRecorder-DtAYvl02.d.cts.map +1 -0
- package/dist/useSpeechRecorder-DtAYvl02.d.ts +154 -0
- package/dist/useSpeechRecorder-DtAYvl02.d.ts.map +1 -0
- package/dist/useSpeechRecorder-zIi9Dlw8.js +709 -0
- package/dist/useSpeechRecorder-zIi9Dlw8.js.map +1 -0
- package/package.json +10 -11
- package/dist/WrittenResponse-B7A5gHMj.d.ts +0 -115
- package/dist/WrittenResponse-BpL9p2Hn.d.cts +0 -115
- package/dist/ai/useAiHelp.cjs.map +0 -1
- package/dist/ai/useAiHelp.js.map +0 -1
- package/dist/chunk-2PNSVBLQ.cjs +0 -54
- package/dist/chunk-2PNSVBLQ.cjs.map +0 -1
- package/dist/chunk-2TW6WLBC.js +0 -80
- package/dist/chunk-2TW6WLBC.js.map +0 -1
- package/dist/chunk-4ZZWZSWI.js +0 -61
- package/dist/chunk-4ZZWZSWI.js.map +0 -1
- package/dist/chunk-6N43WDVG.js +0 -29
- package/dist/chunk-6N43WDVG.js.map +0 -1
- package/dist/chunk-7ALBSPYR.cjs +0 -436
- package/dist/chunk-7ALBSPYR.cjs.map +0 -1
- package/dist/chunk-7NFY3M3W.js +0 -234
- package/dist/chunk-7NFY3M3W.js.map +0 -1
- package/dist/chunk-7SB2MJA4.js +0 -29
- package/dist/chunk-7SB2MJA4.js.map +0 -1
- package/dist/chunk-ABJJ3LII.js +0 -434
- package/dist/chunk-ABJJ3LII.js.map +0 -1
- package/dist/chunk-BIGGXHAW.cjs +0 -342
- package/dist/chunk-BIGGXHAW.cjs.map +0 -1
- package/dist/chunk-C7QZE5BI.js +0 -430
- package/dist/chunk-C7QZE5BI.js.map +0 -1
- package/dist/chunk-CWTUWNV3.cjs +0 -2937
- package/dist/chunk-CWTUWNV3.cjs.map +0 -1
- package/dist/chunk-DC4CQCK5.js +0 -915
- package/dist/chunk-DS6HN3YR.cjs +0 -496
- package/dist/chunk-DS6HN3YR.cjs.map +0 -1
- package/dist/chunk-FDQR4GAZ.js +0 -240
- package/dist/chunk-FDQR4GAZ.js.map +0 -1
- package/dist/chunk-FKGMSOJF.js +0 -394
- package/dist/chunk-FKGMSOJF.js.map +0 -1
- package/dist/chunk-G6PXJ2SA.js +0 -823
- package/dist/chunk-G6PXJ2SA.js.map +0 -1
- package/dist/chunk-HNLRVRQR.js +0 -335
- package/dist/chunk-HNLRVRQR.js.map +0 -1
- package/dist/chunk-J3C72RPK.cjs +0 -31
- package/dist/chunk-J3C72RPK.cjs.map +0 -1
- package/dist/chunk-K63VPFOV.cjs +0 -134
- package/dist/chunk-K63VPFOV.cjs.map +0 -1
- package/dist/chunk-KFLIDTDU.cjs +0 -825
- package/dist/chunk-KFLIDTDU.cjs.map +0 -1
- package/dist/chunk-KHKH5LCT.cjs +0 -250
- package/dist/chunk-KHKH5LCT.cjs.map +0 -1
- package/dist/chunk-LBEKRN6Y.cjs +0 -664
- package/dist/chunk-LBEKRN6Y.cjs.map +0 -1
- package/dist/chunk-LPUWXIPR.cjs +0 -578
- package/dist/chunk-LPUWXIPR.cjs.map +0 -1
- package/dist/chunk-MCO52PV5.js +0 -520
- package/dist/chunk-MCO52PV5.js.map +0 -1
- package/dist/chunk-MKXEM2C5.cjs +0 -396
- package/dist/chunk-MKXEM2C5.cjs.map +0 -1
- package/dist/chunk-MXNC5UNO.js +0 -563
- package/dist/chunk-MXNC5UNO.js.map +0 -1
- package/dist/chunk-NAK55BYU.cjs +0 -859
- package/dist/chunk-NAK55BYU.cjs.map +0 -1
- package/dist/chunk-NDBMKGQ5.cjs +0 -599
- package/dist/chunk-NDBMKGQ5.cjs.map +0 -1
- package/dist/chunk-OD65OZIW.cjs +0 -159
- package/dist/chunk-OD65OZIW.cjs.map +0 -1
- package/dist/chunk-ORT3KLGI.js +0 -50
- package/dist/chunk-ORT3KLGI.js.map +0 -1
- package/dist/chunk-PNNUPUH4.cjs +0 -82
- package/dist/chunk-PNNUPUH4.cjs.map +0 -1
- package/dist/chunk-PWHECW6N.js +0 -2934
- package/dist/chunk-PWHECW6N.js.map +0 -1
- package/dist/chunk-RBS5A2DF.js +0 -857
- package/dist/chunk-RBS5A2DF.js.map +0 -1
- package/dist/chunk-RPWUDXG5.cjs +0 -63
- package/dist/chunk-RPWUDXG5.cjs.map +0 -1
- package/dist/chunk-TCDJY3H6.js +0 -494
- package/dist/chunk-TCDJY3H6.js.map +0 -1
- package/dist/chunk-TP5UMRAU.cjs +0 -918
- package/dist/chunk-TP5UMRAU.cjs.map +0 -1
- package/dist/chunk-TS7J6DTY.js +0 -597
- package/dist/chunk-TS7J6DTY.js.map +0 -1
- package/dist/chunk-TUVENMXB.cjs +0 -20
- package/dist/chunk-TUVENMXB.cjs.map +0 -1
- package/dist/chunk-UDCQTOVU.cjs +0 -523
- package/dist/chunk-UDCQTOVU.cjs.map +0 -1
- package/dist/chunk-UHKZXOXD.js +0 -128
- package/dist/chunk-UHKZXOXD.js.map +0 -1
- package/dist/chunk-V6BA44DS.cjs +0 -236
- package/dist/chunk-V6BA44DS.cjs.map +0 -1
- package/dist/chunk-XO5R73Y4.js +0 -653
- package/dist/chunk-XO5R73Y4.js.map +0 -1
- package/dist/chunk-XOR4MPEN.cjs +0 -31
- package/dist/chunk-XOR4MPEN.cjs.map +0 -1
- package/dist/chunk-YORQQXGO.js +0 -155
- package/dist/chunk-YORQQXGO.js.map +0 -1
- package/dist/chunk-YY4PFR3Z.cjs +0 -432
- package/dist/chunk-YY4PFR3Z.cjs.map +0 -1
- package/dist/chunk-ZPI6Q42R.js +0 -17
- package/dist/chunk-ZPI6Q42R.js.map +0 -1
- package/dist/components/ActivityPreview.cjs.map +0 -1
- package/dist/components/ActivityPreview.js.map +0 -1
- package/dist/components/ActivitySequence.cjs.map +0 -1
- package/dist/components/ActivitySequence.js.map +0 -1
- package/dist/components/Dictation.cjs.map +0 -1
- package/dist/components/Dictation.js.map +0 -1
- package/dist/components/FillInTheBlanks.cjs.map +0 -1
- package/dist/components/FillInTheBlanks.js.map +0 -1
- package/dist/components/GapSelect.cjs.map +0 -1
- package/dist/components/GapSelect.js.map +0 -1
- package/dist/components/InteractiveVideo.cjs.map +0 -1
- package/dist/components/InteractiveVideo.js.map +0 -1
- package/dist/components/MultipleChoice.cjs.map +0 -1
- package/dist/components/MultipleChoice.js.map +0 -1
- package/dist/components/PronunciationFeedback.cjs.map +0 -1
- package/dist/components/PronunciationFeedback.js.map +0 -1
- package/dist/components/ReadAloud.cjs.map +0 -1
- package/dist/components/ReadAloud.js.map +0 -1
- package/dist/components/StimulusPanel.cjs.map +0 -1
- package/dist/components/StimulusPanel.js.map +0 -1
- package/dist/components/WrittenResponse.cjs.map +0 -1
- package/dist/components/WrittenResponse.js.map +0 -1
- package/dist/hooks/useSpeechRecorder.cjs.map +0 -1
- package/dist/hooks/useSpeechRecorder.js.map +0 -1
- package/dist/i18n/LkIntlProvider.cjs.map +0 -1
- package/dist/i18n/LkIntlProvider.js.map +0 -1
- package/dist/machine-CuwKqWXC.d.cts +0 -26
- package/dist/machine-CuwKqWXC.d.ts +0 -26
- package/dist/theme/ThemeProvider.cjs.map +0 -1
- package/dist/theme/ThemeProvider.js.map +0 -1
- package/dist/types-C4IsUQsK.d.ts +0 -989
- package/dist/types-CJgZWtl4.d.cts +0 -989
|
@@ -1,38 +1,33 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
import '@intellectif/lk-core';
|
|
4
|
-
import '../ai/LkAiProvider.cjs';
|
|
5
|
-
import 'react';
|
|
6
|
-
import '../machine-CuwKqWXC.cjs';
|
|
7
|
-
|
|
1
|
+
import { _ as LkStrings, g as DEFAULT_STRINGS, v as LkStringsOverride, y as mergeStrings } from "../types-BOQd93x3.cjs";
|
|
2
|
+
//#region src/i18n/LkIntlProvider.d.ts
|
|
8
3
|
/** Writing direction of the surrounding UI. `auto` defers to the locale. */
|
|
9
|
-
type LkDirection = 'ltr' | 'rtl' | 'auto';
|
|
4
|
+
export type LkDirection = 'ltr' | 'rtl' | 'auto';
|
|
10
5
|
/** Resolves a BCP 47 tag to a writing direction. */
|
|
11
|
-
declare function directionForLocale(locale: string | undefined): 'ltr' | 'rtl';
|
|
12
|
-
interface LkIntlProviderProps {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
6
|
+
export declare function directionForLocale(locale: string | undefined): 'ltr' | 'rtl';
|
|
7
|
+
export interface LkIntlProviderProps {
|
|
8
|
+
/**
|
|
9
|
+
* Replaces the SDK's own chrome text. Anything omitted keeps its English
|
|
10
|
+
* default, so a partial translation degrades to mixed rather than to blank.
|
|
11
|
+
*
|
|
12
|
+
* A nested provider REPLACES the one above it rather than layering onto it —
|
|
13
|
+
* as a nested `ThemeProvider` restarts from `defaultTheme`. To layer, use a
|
|
14
|
+
* component's own `strings` prop, or compose with `mergeStrings`.
|
|
15
|
+
*/
|
|
16
|
+
strings?: LkStringsOverride;
|
|
17
|
+
/**
|
|
18
|
+
* BCP 47 tag for the SDK's chrome — NOT for the authored content, which
|
|
19
|
+
* carries its own `locale`. Sets `lang` on the wrapper so a screen reader
|
|
20
|
+
* reads "Question 3 of 10" in the interface language rather than in the
|
|
21
|
+
* language of the passage beside it (WCAG 3.1.2).
|
|
22
|
+
*/
|
|
23
|
+
locale?: string;
|
|
24
|
+
/**
|
|
25
|
+
* Writing direction. Defaults to `auto`, which derives it from `locale`.
|
|
26
|
+
* Set it explicitly when the surrounding application already manages `dir`
|
|
27
|
+
* and you do not want a second element declaring one.
|
|
28
|
+
*/
|
|
29
|
+
direction?: LkDirection;
|
|
30
|
+
children: React.ReactNode;
|
|
36
31
|
}
|
|
37
32
|
/**
|
|
38
33
|
* Supplies the SDK's chrome text and writing direction to everything beneath.
|
|
@@ -59,7 +54,7 @@ interface LkIntlProviderProps {
|
|
|
59
54
|
* teacher can see is untranslated. The mechanism is the deliverable; the words
|
|
60
55
|
* belong to whoever speaks the language.
|
|
61
56
|
*/
|
|
62
|
-
declare function LkIntlProvider({ strings, locale, direction, children
|
|
57
|
+
export declare function LkIntlProvider({ strings, locale, direction, children }: LkIntlProviderProps): React.JSX.Element;
|
|
63
58
|
/**
|
|
64
59
|
* The strings in force, with an optional per-component override layered on top.
|
|
65
60
|
*
|
|
@@ -67,8 +62,9 @@ declare function LkIntlProvider({ strings, locale, direction, children, }: LkInt
|
|
|
67
62
|
* standalone still needs its labels. Falling back to the English defaults is
|
|
68
63
|
* what keeps `<MultipleChoice>` working with no setup at all.
|
|
69
64
|
*/
|
|
70
|
-
declare function useLkStrings(override?: LkStringsOverride): LkStrings;
|
|
65
|
+
export declare function useLkStrings(override?: LkStringsOverride): LkStrings;
|
|
71
66
|
/** The direction in force. `ltr` with no provider. */
|
|
72
|
-
declare function useLkDirection(): 'ltr' | 'rtl';
|
|
73
|
-
|
|
74
|
-
export {
|
|
67
|
+
export declare function useLkDirection(): 'ltr' | 'rtl';
|
|
68
|
+
//#endregion
|
|
69
|
+
export { DEFAULT_STRINGS, type LkStrings, type LkStringsOverride, mergeStrings };
|
|
70
|
+
//# sourceMappingURL=LkIntlProvider.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LkIntlProvider.d.cts","names":[],"sources":["../../src/i18n/LkIntlProvider.tsx"],"mappings":";;;YAUY;;wBAqBI,mBAAmB;iBAQlB;;;;;;;;;EASf,UAAU;;;;;;;EAOV;;;;;;EAMA,YAAY;EACZ,UAAU,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;wBA4BF,iBACd,SACA,QACA,WACA,YACC,sBAAsB,MAAM,IAAI;;;;;;;;wBAgCnB,aAAa,WAAW,oBAAoB;;wBAO5C"}
|
|
@@ -1,38 +1,33 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
import '@intellectif/lk-core';
|
|
4
|
-
import '../ai/LkAiProvider.js';
|
|
5
|
-
import 'react';
|
|
6
|
-
import '../machine-CuwKqWXC.js';
|
|
7
|
-
|
|
1
|
+
import { _ as LkStrings, g as DEFAULT_STRINGS, v as LkStringsOverride, y as mergeStrings } from "../types-HIrgF_mS.js";
|
|
2
|
+
//#region src/i18n/LkIntlProvider.d.ts
|
|
8
3
|
/** Writing direction of the surrounding UI. `auto` defers to the locale. */
|
|
9
|
-
type LkDirection = 'ltr' | 'rtl' | 'auto';
|
|
4
|
+
export type LkDirection = 'ltr' | 'rtl' | 'auto';
|
|
10
5
|
/** Resolves a BCP 47 tag to a writing direction. */
|
|
11
|
-
declare function directionForLocale(locale: string | undefined): 'ltr' | 'rtl';
|
|
12
|
-
interface LkIntlProviderProps {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
6
|
+
export declare function directionForLocale(locale: string | undefined): 'ltr' | 'rtl';
|
|
7
|
+
export interface LkIntlProviderProps {
|
|
8
|
+
/**
|
|
9
|
+
* Replaces the SDK's own chrome text. Anything omitted keeps its English
|
|
10
|
+
* default, so a partial translation degrades to mixed rather than to blank.
|
|
11
|
+
*
|
|
12
|
+
* A nested provider REPLACES the one above it rather than layering onto it —
|
|
13
|
+
* as a nested `ThemeProvider` restarts from `defaultTheme`. To layer, use a
|
|
14
|
+
* component's own `strings` prop, or compose with `mergeStrings`.
|
|
15
|
+
*/
|
|
16
|
+
strings?: LkStringsOverride;
|
|
17
|
+
/**
|
|
18
|
+
* BCP 47 tag for the SDK's chrome — NOT for the authored content, which
|
|
19
|
+
* carries its own `locale`. Sets `lang` on the wrapper so a screen reader
|
|
20
|
+
* reads "Question 3 of 10" in the interface language rather than in the
|
|
21
|
+
* language of the passage beside it (WCAG 3.1.2).
|
|
22
|
+
*/
|
|
23
|
+
locale?: string;
|
|
24
|
+
/**
|
|
25
|
+
* Writing direction. Defaults to `auto`, which derives it from `locale`.
|
|
26
|
+
* Set it explicitly when the surrounding application already manages `dir`
|
|
27
|
+
* and you do not want a second element declaring one.
|
|
28
|
+
*/
|
|
29
|
+
direction?: LkDirection;
|
|
30
|
+
children: React.ReactNode;
|
|
36
31
|
}
|
|
37
32
|
/**
|
|
38
33
|
* Supplies the SDK's chrome text and writing direction to everything beneath.
|
|
@@ -59,7 +54,7 @@ interface LkIntlProviderProps {
|
|
|
59
54
|
* teacher can see is untranslated. The mechanism is the deliverable; the words
|
|
60
55
|
* belong to whoever speaks the language.
|
|
61
56
|
*/
|
|
62
|
-
declare function LkIntlProvider({ strings, locale, direction, children
|
|
57
|
+
export declare function LkIntlProvider({ strings, locale, direction, children }: LkIntlProviderProps): React.JSX.Element;
|
|
63
58
|
/**
|
|
64
59
|
* The strings in force, with an optional per-component override layered on top.
|
|
65
60
|
*
|
|
@@ -67,8 +62,9 @@ declare function LkIntlProvider({ strings, locale, direction, children, }: LkInt
|
|
|
67
62
|
* standalone still needs its labels. Falling back to the English defaults is
|
|
68
63
|
* what keeps `<MultipleChoice>` working with no setup at all.
|
|
69
64
|
*/
|
|
70
|
-
declare function useLkStrings(override?: LkStringsOverride): LkStrings;
|
|
65
|
+
export declare function useLkStrings(override?: LkStringsOverride): LkStrings;
|
|
71
66
|
/** The direction in force. `ltr` with no provider. */
|
|
72
|
-
declare function useLkDirection(): 'ltr' | 'rtl';
|
|
73
|
-
|
|
74
|
-
export {
|
|
67
|
+
export declare function useLkDirection(): 'ltr' | 'rtl';
|
|
68
|
+
//#endregion
|
|
69
|
+
export { DEFAULT_STRINGS, type LkStrings, type LkStringsOverride, mergeStrings };
|
|
70
|
+
//# sourceMappingURL=LkIntlProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LkIntlProvider.d.ts","names":[],"sources":["../../src/i18n/LkIntlProvider.tsx"],"mappings":";;;YAUY;;wBAqBI,mBAAmB;iBAQlB;;;;;;;;;EASf,UAAU;;;;;;;EAOV;;;;;;EAMA,YAAY;EACZ,UAAU,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;wBA4BF,iBACd,SACA,QACA,WACA,YACC,sBAAsB,MAAM,IAAI;;;;;;;;wBAgCnB,aAAa,WAAW,oBAAoB;;wBAO5C"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
"use client";
|
|
3
|
+
import { a as DEFAULT_STRINGS, i as useLkStrings, n as directionForLocale, o as mergeStrings, r as useLkDirection, t as LkIntlProvider } from "../LkIntlProvider-D_FdYXjQ.js";
|
|
4
|
+
export { DEFAULT_STRINGS, LkIntlProvider, directionForLocale, mergeStrings, useLkDirection, useLkStrings };
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { t as LearnerAi } from "./LkAiProvider-DAPpA3PQ.cjs";
|
|
2
|
+
import { a as RenderMode, v as LkStringsOverride } from "./types-BOQd93x3.cjs";
|
|
3
|
+
import { DeliveryPolicy, GradeRecord, InteractionEvent, ReadAloudData, SpeechAssessment, ThemeTokens } from "@intellectif/lk-core";
|
|
4
|
+
import "react";
|
|
5
|
+
//#region src/components/PronunciationFeedback/PronunciationFeedback.d.ts
|
|
6
|
+
interface PronunciationFeedbackProps {
|
|
7
|
+
/**
|
|
8
|
+
* The item's reading and its language: the two fields every mark depends
|
|
9
|
+
* on. Pass the whole item — or its `id` and `title` with them, and its
|
|
10
|
+
* `instructions` and `ai` where it has them — for AI coaching: without an
|
|
11
|
+
* `id` and a `title` none is offered, whatever the ports.
|
|
12
|
+
*/
|
|
13
|
+
data: Pick<ReadAloudData, 'referenceText' | 'locale'> & Partial<Pick<ReadAloudData, 'id' | 'title' | 'instructions' | 'ai'>>;
|
|
14
|
+
/**
|
|
15
|
+
* The assessor's evidence. Checked with `validateSpeechAssessment` before it
|
|
16
|
+
* is aligned: see the note on this component about what a bad one costs.
|
|
17
|
+
*/
|
|
18
|
+
assessment: SpeechAssessment;
|
|
19
|
+
/**
|
|
20
|
+
* The grade the evidence produced, when one exists. Its `criteria` are what
|
|
21
|
+
* the dimensions are read from, because they are the numbers the learner was
|
|
22
|
+
* actually graded on. A grade that cannot be read — a score that is not a
|
|
23
|
+
* number between 0 and its maximum, a `passed` that is not a boolean — is
|
|
24
|
+
* shown as could-not-be-graded, never as a percentage made up from it.
|
|
25
|
+
*/
|
|
26
|
+
grade?: GradeRecord;
|
|
27
|
+
/**
|
|
28
|
+
* The learner's own take, playable. With it, each word that carries timings
|
|
29
|
+
* gets a button that plays just that word. A take the page refuses to play —
|
|
30
|
+
* a `blob:` URL under a Content-Security-Policy whose `media-src` does not
|
|
31
|
+
* allow one, most often — offers no such button, and the panel says the take
|
|
32
|
+
* cannot be played here.
|
|
33
|
+
*/
|
|
34
|
+
audioUrl?: string;
|
|
35
|
+
/**
|
|
36
|
+
* Confidence above which a break note is shown, 0..1. **No default**: how
|
|
37
|
+
* confident an engine has to be before a pause is worth telling a learner
|
|
38
|
+
* about is a calibration, and the SDK has no calibrated answer. Without it no
|
|
39
|
+
* break note is shown at all.
|
|
40
|
+
*/
|
|
41
|
+
breakThreshold?: number;
|
|
42
|
+
/** The same, for the monotone note read off `assessment.prosody`. */
|
|
43
|
+
monotoneThreshold?: number;
|
|
44
|
+
/**
|
|
45
|
+
* BCP 47 tag stamped as `lang` on the root: the INTERFACE language, the one
|
|
46
|
+
* this component's own sentences are written in. It is not `data.locale`,
|
|
47
|
+
* which is the language of the reading and is put on the words themselves.
|
|
48
|
+
*/
|
|
49
|
+
locale?: string;
|
|
50
|
+
/** Per-instance token overrides, applied as inline CSS vars on the root. */
|
|
51
|
+
theme?: Partial<ThemeTokens>;
|
|
52
|
+
/** Overrides the SDK's chrome text for this panel. See {@link LkIntlProvider}. */
|
|
53
|
+
strings?: LkStringsOverride;
|
|
54
|
+
/**
|
|
55
|
+
* The host's AI ports, overriding `LkAiProvider`'s. With a
|
|
56
|
+
* `pronunciationCoaching` port the learner can ask for coaching on these
|
|
57
|
+
* marks — once per reading — which a model writes and the SDK checks: every
|
|
58
|
+
* word it coaches is one marked here, and every sound one the engine
|
|
59
|
+
* reported. See {@link LearnerAi}.
|
|
60
|
+
*/
|
|
61
|
+
ai?: LearnerAi;
|
|
62
|
+
/**
|
|
63
|
+
* The mode the reading was given, for AI coaching alone: `exam` offers none,
|
|
64
|
+
* and an `exam` around the panel wins. The marks themselves show in any mode.
|
|
65
|
+
*/
|
|
66
|
+
renderMode?: RenderMode;
|
|
67
|
+
/**
|
|
68
|
+
* What the paper lets a learner see. Coaching needs `feedback` and AI
|
|
69
|
+
* explanations; the paper around the panel holds as well.
|
|
70
|
+
*/
|
|
71
|
+
delivery?: DeliveryPolicy | null;
|
|
72
|
+
/** Where `ai-coaching-shown` and `ai-help-refused` go. */
|
|
73
|
+
onInteraction?: (event: InteractionEvent) => void;
|
|
74
|
+
}
|
|
75
|
+
//#endregion
|
|
76
|
+
//#region src/components/PronunciationFeedback/index.d.ts
|
|
77
|
+
/**
|
|
78
|
+
* Public pronunciation-feedback panel: the core wrapped in
|
|
79
|
+
* `ActivityErrorBoundary` so a render failure (the dev throw for evidence
|
|
80
|
+
* `validateSpeechAssessment` refuses among them) degrades to an accessible
|
|
81
|
+
* fallback instead of crashing the host.
|
|
82
|
+
*
|
|
83
|
+
* **No `activityTitle`.** Its `data` is two fields of a read-aloud item and
|
|
84
|
+
* carries no title, so the production fallback is the unnamed one. Naming it
|
|
85
|
+
* would mean inventing a title for a panel that never had one.
|
|
86
|
+
*/
|
|
87
|
+
declare function PronunciationFeedback(props: PronunciationFeedbackProps): import("react/jsx-runtime").JSX.Element;
|
|
88
|
+
//#endregion
|
|
89
|
+
export { PronunciationFeedbackProps as n, PronunciationFeedback as t };
|
|
90
|
+
//# sourceMappingURL=index-2iDJohip.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-2iDJohip.d.cts","names":[],"sources":["../src/components/PronunciationFeedback/PronunciationFeedback.tsx","../src/components/PronunciationFeedback/index.tsx"],"mappings":";;;;;UAyDiB;;;;;;;EAOf,MAAM,KAAK,6CACT,QAAQ,KAAK;;;;;EAKf,YAAY;;;;;;;;EAQZ,QAAQ;;;;;;;;EAQR;;;;;;;EAOA;;EAEA;;;;;;EAMA;;EAEA,QAAQ,QAAQ;;EAEhB,UAAU;;;;;;;;EAQV,KAAK;;;;;EAKL,aAAa;;;;;EAKb,WAAW;;EAEX,iBAAiB,OAAO;;;;;;;;;;;;;;iBCxGV,sBAAsB,OAAO,yDAA0B,IAAA"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { t as LearnerAi } from "./LkAiProvider-QdEcIhoo.js";
|
|
2
|
+
import { a as RenderMode, v as LkStringsOverride } from "./types-HIrgF_mS.js";
|
|
3
|
+
import "react";
|
|
4
|
+
import { DeliveryPolicy, GradeRecord, InteractionEvent, ReadAloudData, SpeechAssessment, ThemeTokens } from "@intellectif/lk-core";
|
|
5
|
+
//#region src/components/PronunciationFeedback/PronunciationFeedback.d.ts
|
|
6
|
+
interface PronunciationFeedbackProps {
|
|
7
|
+
/**
|
|
8
|
+
* The item's reading and its language: the two fields every mark depends
|
|
9
|
+
* on. Pass the whole item — or its `id` and `title` with them, and its
|
|
10
|
+
* `instructions` and `ai` where it has them — for AI coaching: without an
|
|
11
|
+
* `id` and a `title` none is offered, whatever the ports.
|
|
12
|
+
*/
|
|
13
|
+
data: Pick<ReadAloudData, 'referenceText' | 'locale'> & Partial<Pick<ReadAloudData, 'id' | 'title' | 'instructions' | 'ai'>>;
|
|
14
|
+
/**
|
|
15
|
+
* The assessor's evidence. Checked with `validateSpeechAssessment` before it
|
|
16
|
+
* is aligned: see the note on this component about what a bad one costs.
|
|
17
|
+
*/
|
|
18
|
+
assessment: SpeechAssessment;
|
|
19
|
+
/**
|
|
20
|
+
* The grade the evidence produced, when one exists. Its `criteria` are what
|
|
21
|
+
* the dimensions are read from, because they are the numbers the learner was
|
|
22
|
+
* actually graded on. A grade that cannot be read — a score that is not a
|
|
23
|
+
* number between 0 and its maximum, a `passed` that is not a boolean — is
|
|
24
|
+
* shown as could-not-be-graded, never as a percentage made up from it.
|
|
25
|
+
*/
|
|
26
|
+
grade?: GradeRecord;
|
|
27
|
+
/**
|
|
28
|
+
* The learner's own take, playable. With it, each word that carries timings
|
|
29
|
+
* gets a button that plays just that word. A take the page refuses to play —
|
|
30
|
+
* a `blob:` URL under a Content-Security-Policy whose `media-src` does not
|
|
31
|
+
* allow one, most often — offers no such button, and the panel says the take
|
|
32
|
+
* cannot be played here.
|
|
33
|
+
*/
|
|
34
|
+
audioUrl?: string;
|
|
35
|
+
/**
|
|
36
|
+
* Confidence above which a break note is shown, 0..1. **No default**: how
|
|
37
|
+
* confident an engine has to be before a pause is worth telling a learner
|
|
38
|
+
* about is a calibration, and the SDK has no calibrated answer. Without it no
|
|
39
|
+
* break note is shown at all.
|
|
40
|
+
*/
|
|
41
|
+
breakThreshold?: number;
|
|
42
|
+
/** The same, for the monotone note read off `assessment.prosody`. */
|
|
43
|
+
monotoneThreshold?: number;
|
|
44
|
+
/**
|
|
45
|
+
* BCP 47 tag stamped as `lang` on the root: the INTERFACE language, the one
|
|
46
|
+
* this component's own sentences are written in. It is not `data.locale`,
|
|
47
|
+
* which is the language of the reading and is put on the words themselves.
|
|
48
|
+
*/
|
|
49
|
+
locale?: string;
|
|
50
|
+
/** Per-instance token overrides, applied as inline CSS vars on the root. */
|
|
51
|
+
theme?: Partial<ThemeTokens>;
|
|
52
|
+
/** Overrides the SDK's chrome text for this panel. See {@link LkIntlProvider}. */
|
|
53
|
+
strings?: LkStringsOverride;
|
|
54
|
+
/**
|
|
55
|
+
* The host's AI ports, overriding `LkAiProvider`'s. With a
|
|
56
|
+
* `pronunciationCoaching` port the learner can ask for coaching on these
|
|
57
|
+
* marks — once per reading — which a model writes and the SDK checks: every
|
|
58
|
+
* word it coaches is one marked here, and every sound one the engine
|
|
59
|
+
* reported. See {@link LearnerAi}.
|
|
60
|
+
*/
|
|
61
|
+
ai?: LearnerAi;
|
|
62
|
+
/**
|
|
63
|
+
* The mode the reading was given, for AI coaching alone: `exam` offers none,
|
|
64
|
+
* and an `exam` around the panel wins. The marks themselves show in any mode.
|
|
65
|
+
*/
|
|
66
|
+
renderMode?: RenderMode;
|
|
67
|
+
/**
|
|
68
|
+
* What the paper lets a learner see. Coaching needs `feedback` and AI
|
|
69
|
+
* explanations; the paper around the panel holds as well.
|
|
70
|
+
*/
|
|
71
|
+
delivery?: DeliveryPolicy | null;
|
|
72
|
+
/** Where `ai-coaching-shown` and `ai-help-refused` go. */
|
|
73
|
+
onInteraction?: (event: InteractionEvent) => void;
|
|
74
|
+
}
|
|
75
|
+
//#endregion
|
|
76
|
+
//#region src/components/PronunciationFeedback/index.d.ts
|
|
77
|
+
/**
|
|
78
|
+
* Public pronunciation-feedback panel: the core wrapped in
|
|
79
|
+
* `ActivityErrorBoundary` so a render failure (the dev throw for evidence
|
|
80
|
+
* `validateSpeechAssessment` refuses among them) degrades to an accessible
|
|
81
|
+
* fallback instead of crashing the host.
|
|
82
|
+
*
|
|
83
|
+
* **No `activityTitle`.** Its `data` is two fields of a read-aloud item and
|
|
84
|
+
* carries no title, so the production fallback is the unnamed one. Naming it
|
|
85
|
+
* would mean inventing a title for a panel that never had one.
|
|
86
|
+
*/
|
|
87
|
+
declare function PronunciationFeedback(props: PronunciationFeedbackProps): import("react/jsx-runtime").JSX.Element;
|
|
88
|
+
//#endregion
|
|
89
|
+
export { PronunciationFeedbackProps as n, PronunciationFeedback as t };
|
|
90
|
+
//# sourceMappingURL=index-BAqT5tXN.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-BAqT5tXN.d.ts","names":[],"sources":["../src/components/PronunciationFeedback/PronunciationFeedback.tsx","../src/components/PronunciationFeedback/index.tsx"],"mappings":";;;;;UAyDiB;;;;;;;EAOf,MAAM,KAAK,6CACT,QAAQ,KAAK;;;;;EAKf,YAAY;;;;;;;;EAQZ,QAAQ;;;;;;;;EAQR;;;;;;;EAOA;;EAEA;;;;;;EAMA;;EAEA,QAAQ,QAAQ;;EAEhB,UAAU;;;;;;;;EAQV,KAAK;;;;;EAKL,aAAa;;;;;EAKb,WAAW;;EAEX,iBAAiB,OAAO;;;;;;;;;;;;;;iBCxGV,sBAAsB,OAAO,yDAA0B,IAAA"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { a as RenderMode, n as HtmlSanitizer, v as LkStringsOverride } from "./types-HIrgF_mS.js";
|
|
2
|
+
import { t as ActivityRenderer } from "./index-DRMauOVH.js";
|
|
3
|
+
import { ReactNode } from "react";
|
|
4
|
+
import { DraftNotComplete, ItemOutcome, LearnerResponse, ThemeTokens } from "@intellectif/lk-core";
|
|
5
|
+
//#region src/components/ActivityPreview/ActivityPreview.d.ts
|
|
6
|
+
interface ActivityPreviewProps {
|
|
7
|
+
/**
|
|
8
|
+
* The activity as an editor holds it right now, finished or not. It is checked
|
|
9
|
+
* with `validateDraft` before anything renders — by content, on every render —
|
|
10
|
+
* so a half-written question never reaches a component that assumes a valid
|
|
11
|
+
* one.
|
|
12
|
+
*/
|
|
13
|
+
draft: unknown;
|
|
14
|
+
/** The mode to preview in. Defaults to `practice`. */
|
|
15
|
+
renderMode?: RenderMode;
|
|
16
|
+
/**
|
|
17
|
+
* A learner response to show as if a learner had given it. In `practice` and
|
|
18
|
+
* `exam` it seeds the answer, which stays editable; in `review` it is the
|
|
19
|
+
* submitted answer, marked by `evaluate()` unless `outcome` is given.
|
|
20
|
+
*/
|
|
21
|
+
response?: LearnerResponse;
|
|
22
|
+
/**
|
|
23
|
+
* The outcome `review` marks the response with, instead of the one
|
|
24
|
+
* `evaluate()` computes — which is how to preview a returned grade on a written
|
|
25
|
+
* response, since the SDK cannot score one. Ignored in other modes.
|
|
26
|
+
*/
|
|
27
|
+
outcome?: ItemOutcome;
|
|
28
|
+
/**
|
|
29
|
+
* Rendered in place of the activity while the draft is not complete, with the
|
|
30
|
+
* issues `validateDraft` found — so an editor can list them in its own words.
|
|
31
|
+
* The issue messages are English, and a preview that rendered them would put
|
|
32
|
+
* untranslatable text on screen. Without it, the preview shows the
|
|
33
|
+
* `previewIncomplete` or `previewInvalid` string.
|
|
34
|
+
*/
|
|
35
|
+
fallback?: (result: DraftNotComplete) => ReactNode;
|
|
36
|
+
/**
|
|
37
|
+
* Renderers for activity types beyond the built-ins, keyed by `type`, as on
|
|
38
|
+
* `<ActivitySequence>`. An entry receives the shared prop contract and
|
|
39
|
+
* nothing else, so — like the shuffle seed below — the in-memory recording
|
|
40
|
+
* binding a previewed read-aloud is given does not reach one. Nor does the
|
|
41
|
+
* `question` a sequence hands a renderer: a preview is one question with no
|
|
42
|
+
* set around it, so there is no slot to report to and nothing to page away
|
|
43
|
+
* from. A renderer that uses it must treat it as optional, which its type
|
|
44
|
+
* already says.
|
|
45
|
+
*/
|
|
46
|
+
renderers?: Readonly<Record<string, ActivityRenderer>>;
|
|
47
|
+
/**
|
|
48
|
+
* Seeds `<MultipleChoice>`'s option shuffle. Defaults to a fixed seed, so the
|
|
49
|
+
* order holds while options are edited; adding or removing one deals them
|
|
50
|
+
* again, because the shuffle orders by position. A `renderers` entry is given
|
|
51
|
+
* no seed, as on `<ActivitySequence>`.
|
|
52
|
+
*/
|
|
53
|
+
shuffleSeed?: string;
|
|
54
|
+
/** Renders author-supplied rich text. See `HtmlSanitizer`. */
|
|
55
|
+
sanitizeHtml?: HtmlSanitizer;
|
|
56
|
+
/** Overrides the SDK's chrome text, for the preview's notice and the activity alike. */
|
|
57
|
+
strings?: LkStringsOverride;
|
|
58
|
+
/** Per-instance token overrides, passed to the activity. */
|
|
59
|
+
theme?: Partial<ThemeTokens>;
|
|
60
|
+
/** BCP 47 tag of the interface language, passed to the activity. */
|
|
61
|
+
locale?: string;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Renders an activity from an editor's draft, in any render mode, with a
|
|
65
|
+
* simulated learner response — and renders a notice instead while the draft is
|
|
66
|
+
* not an activity yet.
|
|
67
|
+
*
|
|
68
|
+
* Nothing it renders is recorded: no callback is wired, so a practice attempt in
|
|
69
|
+
* a preview scores locally and goes nowhere, and a recording's play limit is
|
|
70
|
+
* counted in memory only.
|
|
71
|
+
*
|
|
72
|
+
* A draft with no string `type`, a type nobody registered, and a `response` of a
|
|
73
|
+
* different type from the draft are wiring errors, and throw.
|
|
74
|
+
*/
|
|
75
|
+
declare function ActivityPreview({ draft, renderMode, response, outcome, fallback, renderers, shuffleSeed, sanitizeHtml, strings, theme, locale }: ActivityPreviewProps): import("react/jsx-runtime").JSX.Element;
|
|
76
|
+
//#endregion
|
|
77
|
+
export { ActivityPreviewProps as n, ActivityPreview as t };
|
|
78
|
+
//# sourceMappingURL=index-BRbEfXgE.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-BRbEfXgE.d.ts","names":[],"sources":["../src/components/ActivityPreview/ActivityPreview.tsx"],"mappings":";;;;;UAkEiB;;;;;;;EAOf;;EAEA,aAAa;;;;;;EAMb,WAAW;;;;;;EAMX,UAAU;;;;;;;;EAQV,YAAY,QAAQ,qBAAqB;;;;;;;;;;;EAWzC,YAAY,SAAS,eAAe;;;;;;;EAOpC;;EAEA,eAAe;;EAEf,UAAU;;EAEV,QAAQ,QAAQ;;EAEhB;;;;;;;;;;;;;;iBAiBc,kBACd,OACA,YACA,UACA,SACA,UACA,WACA,aACA,cACA,SACA,OACA,UACC,mDAAoB,IAAA"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { t as ActivityProps } from "./types-BOQd93x3.cjs";
|
|
2
|
+
import { GapSelectData } from "@intellectif/lk-core";
|
|
3
|
+
//#region src/components/GapSelect/GapSelect.d.ts
|
|
4
|
+
interface GapSelectProps extends ActivityProps<GapSelectData> {
|
|
5
|
+
/**
|
|
6
|
+
* Seeds the per-gap choice shuffle when `data.shuffleChoices` is set. Pass
|
|
7
|
+
* the attempt id, exactly as on `<MultipleChoice>`: an order nobody can
|
|
8
|
+
* reproduce cannot be reconciled with the attempt a server recorded. Without
|
|
9
|
+
* one, a random per-mount seed is used — stable within the mount, and
|
|
10
|
+
* deliberately not reproducible.
|
|
11
|
+
*/
|
|
12
|
+
shuffleSeed?: string;
|
|
13
|
+
}
|
|
14
|
+
//#endregion
|
|
15
|
+
//#region src/components/GapSelect/index.d.ts
|
|
16
|
+
/**
|
|
17
|
+
* Public Gap Select activity: the core wrapped in `ActivityErrorBoundary` so a
|
|
18
|
+
* render failure (including the dev schema-validation throw and the
|
|
19
|
+
* redacted-in-`practice` guard) degrades to an accessible fallback instead of
|
|
20
|
+
* crashing the host.
|
|
21
|
+
*/
|
|
22
|
+
declare function GapSelect(props: GapSelectProps): import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
//#endregion
|
|
24
|
+
export { GapSelectProps as n, GapSelect as t };
|
|
25
|
+
//# sourceMappingURL=index-BW7aA5eN.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-BW7aA5eN.d.cts","names":[],"sources":["../src/components/GapSelect/GapSelect.tsx","../src/components/GapSelect/index.tsx"],"mappings":";;;UA8CiB,uBAAuB,cAAc;;;;;;;;EAQpD;;;;;;;;;;iBCxCc,UAAU,OAAO,6CAAc,IAAA"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { t as LearnerAi } from "./LkAiProvider-QdEcIhoo.js";
|
|
2
|
+
import { a as RenderMode, i as MediaTransportStrings, n as HtmlSanitizer, o as Renderable, r as MediaBudgetBinding, v as LkStringsOverride } from "./types-HIrgF_mS.js";
|
|
3
|
+
import { DeliveryPolicy, InteractionEvent, ItemOutcome, LearnerResponse, ThemeTokens, WrittenResponseData, XAPIStatement } from "@intellectif/lk-core";
|
|
4
|
+
//#region src/components/WrittenResponse/WrittenResponse.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* Payload delivered when the learner submits a written response. Grading is
|
|
7
|
+
* DEFERRED (asynchronous AI/human grading), so there is no score here — and
|
|
8
|
+
* deliberately no fake one: an ungraded submission must never be shown or
|
|
9
|
+
* stored as a 0. The consumer persists `text` and grades it out-of-band.
|
|
10
|
+
*/
|
|
11
|
+
interface WrittenResponseSubmission {
|
|
12
|
+
/** The submitted text, verbatim. */
|
|
13
|
+
text: string;
|
|
14
|
+
/** Word count of `text`, recomputed with the canonical `countWords()`. */
|
|
15
|
+
wordCount: number;
|
|
16
|
+
/** Whether `wordCount` falls within the activity's `[minWords, maxWords]`. */
|
|
17
|
+
withinWordBounds: boolean;
|
|
18
|
+
/** Time in milliseconds from first interaction to submission. */
|
|
19
|
+
timeSpent: number;
|
|
20
|
+
/** The SUBMITTED-verb xAPI statement built for this submission (no score fields). */
|
|
21
|
+
xapiStatement: XAPIStatement;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Props for {@link WrittenResponse}. Mirrors `ActivityProps` except for the
|
|
25
|
+
* completion callback: a deferred-grading activity completes with a
|
|
26
|
+
* {@link WrittenResponseSubmission} (`onSubmitted`), not a scored
|
|
27
|
+
* `ActivityResult` (`onComplete`), on purpose: fabricating a score of 0 for
|
|
28
|
+
* ungraded work is the exact bug this type exists to fix. Everything else — controlled value, render
|
|
29
|
+
* mode, server outcome, rich text — follows the shared `ActivityProps`
|
|
30
|
+
* contract verbatim.
|
|
31
|
+
*/
|
|
32
|
+
interface WrittenResponseProps {
|
|
33
|
+
/** Activity content. Accepts a `redact()` projection in `exam` mode. */
|
|
34
|
+
data: Renderable<WrittenResponseData>;
|
|
35
|
+
/**
|
|
36
|
+
* Called on submit with the ungraded submission (text, recomputed word
|
|
37
|
+
* count, bounds flag, timing, xAPI statement). Fires in `practice` and
|
|
38
|
+
* `exam` mode, after `onSubmit`; never in `review`.
|
|
39
|
+
*
|
|
40
|
+
* Optional since lk-react 2.1.0 so a `review`-mode render (which has no submit
|
|
41
|
+
* control) and an exam runner that only wants the raw response through
|
|
42
|
+
* `onSubmit` do not have to pass a no-op. Supply it in `practice`/`exam`
|
|
43
|
+
* unless `onSubmit` already captures everything you persist.
|
|
44
|
+
*/
|
|
45
|
+
onSubmitted?: (submission: WrittenResponseSubmission) => void;
|
|
46
|
+
/**
|
|
47
|
+
* Called on submit with the raw learner response and no grade, BEFORE
|
|
48
|
+
* `onSubmitted`. This is the only submit callback an exam runner needs:
|
|
49
|
+
* the server grades the text and returns an {@link ItemOutcome} later.
|
|
50
|
+
*/
|
|
51
|
+
onSubmit?: (response: LearnerResponse) => void;
|
|
52
|
+
/**
|
|
53
|
+
* Controlled value: the learner's current response. When present the
|
|
54
|
+
* textarea renders from it (never from internal state) and every keystroke
|
|
55
|
+
* goes out through `onChange` — restore an in-progress attempt, autosave a
|
|
56
|
+
* delta, or drive a review render with it.
|
|
57
|
+
*/
|
|
58
|
+
value?: LearnerResponse;
|
|
59
|
+
/** Initial response for an uncontrolled component (ignored when `value` is set). */
|
|
60
|
+
defaultValue?: LearnerResponse;
|
|
61
|
+
/**
|
|
62
|
+
* Mount as already submitted — read at mount only. Without it a resumed
|
|
63
|
+
* attempt reopens an essay the learner had already submitted as editable
|
|
64
|
+
* and re-submittable.
|
|
65
|
+
*/
|
|
66
|
+
defaultSubmitted?: boolean;
|
|
67
|
+
/** Fires on every change to the learner's response. Required for a controlled component. */
|
|
68
|
+
onChange?: (response: LearnerResponse) => void;
|
|
69
|
+
/**
|
|
70
|
+
* Presentation mode, default `practice`. `practice` and `exam` are nearly
|
|
71
|
+
* identical here — a written response is never graded client-side, so
|
|
72
|
+
* there is no local score to withhold; `exam` additionally never calls
|
|
73
|
+
* `evaluate()` and renders happily from a `redact()` projection.
|
|
74
|
+
* `review` is read-only and shows the server's `outcome`.
|
|
75
|
+
*/
|
|
76
|
+
renderMode?: RenderMode;
|
|
77
|
+
/**
|
|
78
|
+
* Server-computed outcome, rendered by `review` mode: `deferred` shows a
|
|
79
|
+
* "not graded yet" affordance, `scored` shows the returned grade and
|
|
80
|
+
* feedback. Ignored in other modes — this component never manufactures an
|
|
81
|
+
* outcome of its own.
|
|
82
|
+
*/
|
|
83
|
+
outcome?: ItemOutcome;
|
|
84
|
+
/** Renders `data.promptHtml` when provided. See `HtmlSanitizer`. */
|
|
85
|
+
sanitizeHtml?: HtmlSanitizer;
|
|
86
|
+
/** Binds this activity's own `data.media` to a play budget. See {@link MediaBudgetBinding}. */
|
|
87
|
+
mediaBudget?: MediaBudgetBinding;
|
|
88
|
+
/** Translations for the audio transport chrome. See {@link MediaTransportStrings}. */
|
|
89
|
+
mediaStrings?: Partial<MediaTransportStrings>;
|
|
90
|
+
/** Overrides the SDK's chrome text for this activity. See {@link LkIntlProvider}. */
|
|
91
|
+
strings?: LkStringsOverride;
|
|
92
|
+
onInteraction?: (event: InteractionEvent) => void;
|
|
93
|
+
/** Per-instance token overrides, applied as inline CSS vars on the root. */
|
|
94
|
+
theme?: Partial<ThemeTokens>;
|
|
95
|
+
locale?: string;
|
|
96
|
+
disabled?: boolean;
|
|
97
|
+
/**
|
|
98
|
+
* The delivery policy. An essay is graded later, so `feedback` reaches it —
|
|
99
|
+
* `false` reads a returned grade back as nothing in `review` — and so does
|
|
100
|
+
* AI feedback on a draft, which needs `feedback`, `solutions` and
|
|
101
|
+
* `ai.explanations`. See `DeliveryPolicy` in lk-core.
|
|
102
|
+
*/
|
|
103
|
+
delivery?: DeliveryPolicy | null;
|
|
104
|
+
/**
|
|
105
|
+
* The host's AI ports, overriding `LkAiProvider`'s. With a `writingFeedback`
|
|
106
|
+
* port, a learner in `practice` can ask for feedback on a draft before
|
|
107
|
+
* submitting it — up to `maxWritingFeedback` times — and revise. Every
|
|
108
|
+
* correction in it quotes the learner's own words, or the SDK refuses it.
|
|
109
|
+
* Never in `exam` or `review`. See {@link LearnerAi}.
|
|
110
|
+
*/
|
|
111
|
+
ai?: LearnerAi;
|
|
112
|
+
}
|
|
113
|
+
//#endregion
|
|
114
|
+
//#region src/components/WrittenResponse/index.d.ts
|
|
115
|
+
/**
|
|
116
|
+
* Public Written Response activity: a labelled textarea with a live word
|
|
117
|
+
* counter for free-text writing graded asynchronously (AI or human). The core
|
|
118
|
+
* is wrapped in `ActivityErrorBoundary` so a render failure (incl. the dev
|
|
119
|
+
* schema-validation throw) degrades to an accessible fallback.
|
|
120
|
+
*/
|
|
121
|
+
declare function WrittenResponse(props: WrittenResponseProps): import("react/jsx-runtime").JSX.Element;
|
|
122
|
+
//#endregion
|
|
123
|
+
export { WrittenResponseProps as n, WrittenResponseSubmission as r, WrittenResponse as t };
|
|
124
|
+
//# sourceMappingURL=index-BeiVd-qe.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-BeiVd-qe.d.ts","names":[],"sources":["../src/components/WrittenResponse/WrittenResponse.tsx","../src/components/WrittenResponse/index.tsx"],"mappings":";;;;;;;;;;UA2CiB;;EAEf;;EAEA;;EAEA;;EAEA;;EAEA,eAAe;;;;;;;;;;;UAYA;;EAEf,MAAM,WAAW;;;;;;;;;;;EAWjB,eAAe,YAAY;;;;;;EAM3B,YAAY,UAAU;;;;;;;EAOtB,QAAQ;;EAER,eAAe;;;;;;EAMf;;EAEA,YAAY,UAAU;;;;;;;;EAQtB,aAAa;;;;;;;EAOb,UAAU;;EAEV,eAAe;;EAEf,cAAc;;EAEd,eAAe,QAAQ;;EAEvB,UAAU;EACV,iBAAiB,OAAO;;EAExB,QAAQ,QAAQ;EAChB;EACA;;;;;;;EAOA,WAAW;;;;;;;;EAQX,KAAK;;;;;;;;;;iBC9HS,gBAAgB,OAAO,mDAAoB,IAAA"}
|