@intellectif/lk-react 16.1.0 → 17.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/CHANGELOG.md +63 -0
  2. package/README.md +4 -2
  3. package/dist/{WrittenResponse-xJ7I_5yq.d.ts → WrittenResponse-B4kY-U0v.d.ts} +1 -1
  4. package/dist/{WrittenResponse-6tSj6U3G.d.cts → WrittenResponse-Dl3zah22.d.cts} +1 -1
  5. package/dist/ai/LkAiProvider.cjs +17 -0
  6. package/dist/ai/LkAiProvider.cjs.map +1 -0
  7. package/dist/ai/LkAiProvider.d.cts +60 -0
  8. package/dist/ai/LkAiProvider.d.ts +60 -0
  9. package/dist/ai/LkAiProvider.js +4 -0
  10. package/dist/ai/LkAiProvider.js.map +1 -0
  11. package/dist/{chunk-PXGJHZKJ.cjs → chunk-3FBBP5QR.cjs} +6 -6
  12. package/dist/{chunk-PXGJHZKJ.cjs.map → chunk-3FBBP5QR.cjs.map} +1 -1
  13. package/dist/{chunk-WOYCT5M6.cjs → chunk-3TJSFPO4.cjs} +26 -22
  14. package/dist/chunk-3TJSFPO4.cjs.map +1 -0
  15. package/dist/chunk-5F4Q6JT7.cjs +289 -0
  16. package/dist/chunk-5F4Q6JT7.cjs.map +1 -0
  17. package/dist/{chunk-3UXRX4KU.js → chunk-6DTW5T3Z.js} +39 -7
  18. package/dist/chunk-6DTW5T3Z.js.map +1 -0
  19. package/dist/{chunk-ML6L4LJH.cjs → chunk-6RRFH7C4.cjs} +25 -25
  20. package/dist/{chunk-ML6L4LJH.cjs.map → chunk-6RRFH7C4.cjs.map} +1 -1
  21. package/dist/{chunk-JPDR6TTA.js → chunk-7K4B2EMU.js} +4 -4
  22. package/dist/{chunk-JPDR6TTA.js.map → chunk-7K4B2EMU.js.map} +1 -1
  23. package/dist/{chunk-MQAZJQRE.cjs → chunk-AHGB5HH6.cjs} +13 -2
  24. package/dist/chunk-AHGB5HH6.cjs.map +1 -0
  25. package/dist/{chunk-5QHVYOME.js → chunk-ALH6TUX2.js} +39 -7
  26. package/dist/chunk-ALH6TUX2.js.map +1 -0
  27. package/dist/{chunk-2S3MK4VX.cjs → chunk-BAKLJKFZ.cjs} +5 -5
  28. package/dist/{chunk-2S3MK4VX.cjs.map → chunk-BAKLJKFZ.cjs.map} +1 -1
  29. package/dist/{chunk-ZPCO3CEB.js → chunk-BY4UQH2Y.js} +3 -3
  30. package/dist/{chunk-ZPCO3CEB.js.map → chunk-BY4UQH2Y.js.map} +1 -1
  31. package/dist/chunk-GR33G5QM.js +286 -0
  32. package/dist/chunk-GR33G5QM.js.map +1 -0
  33. package/dist/{chunk-ZEDMFTKD.js → chunk-H3IRVX7J.js} +10 -10
  34. package/dist/{chunk-ZEDMFTKD.js.map → chunk-H3IRVX7J.js.map} +1 -1
  35. package/dist/{chunk-PTJTC6A3.cjs → chunk-H63O5HPW.cjs} +23 -14
  36. package/dist/chunk-H63O5HPW.cjs.map +1 -0
  37. package/dist/{chunk-IQI5I2X5.js → chunk-HZMILQYO.js} +25 -7
  38. package/dist/chunk-HZMILQYO.js.map +1 -0
  39. package/dist/{chunk-ZSY4VANQ.cjs → chunk-JKMBFHER.cjs} +47 -15
  40. package/dist/chunk-JKMBFHER.cjs.map +1 -0
  41. package/dist/{chunk-GUPBIEUA.js → chunk-KP57YCYQ.js} +6 -6
  42. package/dist/{chunk-GUPBIEUA.js.map → chunk-KP57YCYQ.js.map} +1 -1
  43. package/dist/{chunk-GDMM2WEG.js → chunk-KWKB74KL.js} +16 -12
  44. package/dist/chunk-KWKB74KL.js.map +1 -0
  45. package/dist/{chunk-TRP5Z3XW.cjs → chunk-L7WY5YFQ.cjs} +5 -5
  46. package/dist/{chunk-TRP5Z3XW.cjs.map → chunk-L7WY5YFQ.cjs.map} +1 -1
  47. package/dist/{chunk-B6S5ADHR.cjs → chunk-QA42VDTA.cjs} +47 -15
  48. package/dist/chunk-QA42VDTA.cjs.map +1 -0
  49. package/dist/{chunk-VC2MPB2Y.js → chunk-QHK6PTUR.js} +39 -7
  50. package/dist/chunk-QHK6PTUR.js.map +1 -0
  51. package/dist/{chunk-BI547RIA.js → chunk-QJW3K6JN.js} +4 -4
  52. package/dist/{chunk-BI547RIA.js.map → chunk-QJW3K6JN.js.map} +1 -1
  53. package/dist/{chunk-RSQFGF5W.cjs → chunk-RZ52SEYV.cjs} +33 -15
  54. package/dist/chunk-RZ52SEYV.cjs.map +1 -0
  55. package/dist/{chunk-2TFNDHJ5.cjs → chunk-TI23GIFM.cjs} +47 -15
  56. package/dist/chunk-TI23GIFM.cjs.map +1 -0
  57. package/dist/{chunk-DFMBVA7D.cjs → chunk-UQIRDE52.cjs} +8 -8
  58. package/dist/{chunk-DFMBVA7D.cjs.map → chunk-UQIRDE52.cjs.map} +1 -1
  59. package/dist/{chunk-DVOPHC2Q.js → chunk-UYQBEPNZ.js} +13 -9
  60. package/dist/chunk-UYQBEPNZ.js.map +1 -0
  61. package/dist/{chunk-2XNCPLHU.js → chunk-V5BTVGPA.js} +16 -7
  62. package/dist/chunk-V5BTVGPA.js.map +1 -0
  63. package/dist/{chunk-FZWWVJE4.cjs → chunk-XEGBGKHV.cjs} +29 -25
  64. package/dist/chunk-XEGBGKHV.cjs.map +1 -0
  65. package/dist/chunk-YNDKAYW3.js +17 -0
  66. package/dist/chunk-YNDKAYW3.js.map +1 -0
  67. package/dist/{chunk-KSAINXRG.js → chunk-YRNEOBXA.js} +13 -2
  68. package/dist/chunk-YRNEOBXA.js.map +1 -0
  69. package/dist/{chunk-DKZWUIQD.js → chunk-YTGRXD23.js} +3 -3
  70. package/dist/{chunk-DKZWUIQD.js.map → chunk-YTGRXD23.js.map} +1 -1
  71. package/dist/{chunk-OO24JGYH.cjs → chunk-Z5XY66PO.cjs} +18 -18
  72. package/dist/{chunk-OO24JGYH.cjs.map → chunk-Z5XY66PO.cjs.map} +1 -1
  73. package/dist/chunk-ZDYNAWDZ.cjs +20 -0
  74. package/dist/chunk-ZDYNAWDZ.cjs.map +1 -0
  75. package/dist/components/ActivityPreview.cjs +14 -12
  76. package/dist/components/ActivityPreview.d.cts +3 -2
  77. package/dist/components/ActivityPreview.d.ts +3 -2
  78. package/dist/components/ActivityPreview.js +13 -11
  79. package/dist/components/ActivitySequence.cjs +15 -13
  80. package/dist/components/ActivitySequence.d.cts +12 -3
  81. package/dist/components/ActivitySequence.d.ts +12 -3
  82. package/dist/components/ActivitySequence.js +14 -12
  83. package/dist/components/Dictation.cjs +7 -5
  84. package/dist/components/Dictation.d.cts +3 -1
  85. package/dist/components/Dictation.d.ts +3 -1
  86. package/dist/components/Dictation.js +6 -4
  87. package/dist/components/FillInTheBlanks.cjs +7 -5
  88. package/dist/components/FillInTheBlanks.d.cts +3 -1
  89. package/dist/components/FillInTheBlanks.d.ts +3 -1
  90. package/dist/components/FillInTheBlanks.js +6 -4
  91. package/dist/components/GapSelect.cjs +7 -5
  92. package/dist/components/GapSelect.d.cts +3 -1
  93. package/dist/components/GapSelect.d.ts +3 -1
  94. package/dist/components/GapSelect.js +6 -4
  95. package/dist/components/InteractiveVideo.cjs +14 -12
  96. package/dist/components/InteractiveVideo.d.cts +30 -2
  97. package/dist/components/InteractiveVideo.d.ts +30 -2
  98. package/dist/components/InteractiveVideo.js +12 -10
  99. package/dist/components/MultipleChoice.cjs +7 -5
  100. package/dist/components/MultipleChoice.d.cts +3 -1
  101. package/dist/components/MultipleChoice.d.ts +3 -1
  102. package/dist/components/MultipleChoice.js +6 -4
  103. package/dist/components/PronunciationFeedback.cjs +4 -4
  104. package/dist/components/PronunciationFeedback.d.cts +3 -1
  105. package/dist/components/PronunciationFeedback.d.ts +3 -1
  106. package/dist/components/PronunciationFeedback.js +3 -3
  107. package/dist/components/ReadAloud.cjs +6 -6
  108. package/dist/components/ReadAloud.d.cts +4 -2
  109. package/dist/components/ReadAloud.d.ts +4 -2
  110. package/dist/components/ReadAloud.js +5 -5
  111. package/dist/components/StimulusPanel.cjs +4 -4
  112. package/dist/components/StimulusPanel.d.cts +3 -1
  113. package/dist/components/StimulusPanel.d.ts +3 -1
  114. package/dist/components/StimulusPanel.js +3 -3
  115. package/dist/components/WrittenResponse.cjs +5 -5
  116. package/dist/components/WrittenResponse.d.cts +5 -3
  117. package/dist/components/WrittenResponse.d.ts +5 -3
  118. package/dist/components/WrittenResponse.js +4 -4
  119. package/dist/i18n/LkIntlProvider.cjs +7 -7
  120. package/dist/i18n/LkIntlProvider.d.cts +4 -2
  121. package/dist/i18n/LkIntlProvider.d.ts +4 -2
  122. package/dist/i18n/LkIntlProvider.js +1 -1
  123. package/dist/index.cjs +47 -37
  124. package/dist/index.cjs.map +1 -1
  125. package/dist/index.d.cts +4 -3
  126. package/dist/index.d.ts +4 -3
  127. package/dist/index.js +17 -15
  128. package/dist/index.js.map +1 -1
  129. package/dist/{strings-C6wM5aUQ.d.cts → strings-BOPKhnS-.d.cts} +30 -0
  130. package/dist/{strings-Cd_2F-Bw.d.ts → strings-PCYKWCwd.d.ts} +30 -0
  131. package/dist/theme/skin.css +90 -0
  132. package/package.json +13 -3
  133. package/dist/chunk-2TFNDHJ5.cjs.map +0 -1
  134. package/dist/chunk-2XNCPLHU.js.map +0 -1
  135. package/dist/chunk-3UXRX4KU.js.map +0 -1
  136. package/dist/chunk-5QHVYOME.js.map +0 -1
  137. package/dist/chunk-B6S5ADHR.cjs.map +0 -1
  138. package/dist/chunk-DVOPHC2Q.js.map +0 -1
  139. package/dist/chunk-FZWWVJE4.cjs.map +0 -1
  140. package/dist/chunk-GDMM2WEG.js.map +0 -1
  141. package/dist/chunk-IQI5I2X5.js.map +0 -1
  142. package/dist/chunk-KSAINXRG.js.map +0 -1
  143. package/dist/chunk-MQAZJQRE.cjs.map +0 -1
  144. package/dist/chunk-PTJTC6A3.cjs.map +0 -1
  145. package/dist/chunk-RSQFGF5W.cjs.map +0 -1
  146. package/dist/chunk-VC2MPB2Y.js.map +0 -1
  147. package/dist/chunk-WOYCT5M6.cjs.map +0 -1
  148. package/dist/chunk-ZSY4VANQ.cjs.map +0 -1
@@ -1,7 +1,8 @@
1
1
  import { SequenceEntry, ActivityResult, LearnerResponse, InteractionEvent, SpeechAssessment, ItemOutcome, ThemeTokens } from '@intellectif/lk-core';
2
2
  import { ComponentType } from 'react';
3
- import { A as ActivityProps, g as RenderableActivity, e as RenderMode, S as SequenceMediaBudget, h as SequenceRecordingBinding, a as LkStringsOverride, H as HtmlSanitizer } from '../strings-Cd_2F-Bw.js';
4
- import { a as WrittenResponseSubmission } from '../WrittenResponse-xJ7I_5yq.js';
3
+ import { LearnerAi } from '../ai/LkAiProvider.js';
4
+ import { A as ActivityProps, g as RenderableActivity, e as RenderMode, S as SequenceMediaBudget, h as SequenceRecordingBinding, a as LkStringsOverride, H as HtmlSanitizer } from '../strings-PCYKWCwd.js';
5
+ import { a as WrittenResponseSubmission } from '../WrittenResponse-B4kY-U0v.js';
5
6
  import '../machine-CuwKqWXC.js';
6
7
 
7
8
  /**
@@ -240,6 +241,14 @@ interface ActivitySequenceProps {
240
241
  workletUrl?: string;
241
242
  /** Overrides the SDK's chrome text for this sequence. See {@link LkIntlProvider}. */
242
243
  strings?: LkStringsOverride;
244
+ /**
245
+ * The host's AI ports, for every question this renders: explanations after
246
+ * grading, hints before submit. The same as `LkAiProvider`, for this one
247
+ * sequence, and a `renderers` override receives them as its own `ai` prop —
248
+ * except in `exam`, where nothing AI appears and no question is given them.
249
+ * See {@link LearnerAi}.
250
+ */
251
+ ai?: LearnerAi;
243
252
  /**
244
253
  * `entries` shuffles the top-level entries; a group moves as one block, and
245
254
  * the order INSIDE a group follows the group's own `shuffle` setting.
@@ -324,6 +333,6 @@ interface ActivitySequenceProps {
324
333
  locale?: string;
325
334
  disabled?: boolean;
326
335
  }
327
- declare function ActivitySequence({ activities, renderers, onActivityComplete, onComplete, onFinished, onSubmit, onInteraction, renderMode, shuffle, shuffleSeed, defaultIndex, onIndexChange, responses, submittedSlotIds, outcomes, sanitizeHtml, theme, locale, disabled, mediaBudget, recordingBinding, assessments, workletUrl, strings, }: ActivitySequenceProps): React.JSX.Element;
336
+ declare function ActivitySequence({ activities, renderers, onActivityComplete, onComplete, onFinished, onSubmit, onInteraction, renderMode, shuffle, shuffleSeed, defaultIndex, onIndexChange, responses, submittedSlotIds, outcomes, sanitizeHtml, theme, locale, disabled, mediaBudget, recordingBinding, assessments, workletUrl, strings, ai, }: ActivitySequenceProps): React.JSX.Element;
328
337
 
329
338
  export { type ActivityRenderer, ActivitySequence, type ActivitySequenceProps, type SequenceItemOutcome };
@@ -1,19 +1,21 @@
1
1
  'use client';
2
- export { ActivitySequence } from '../chunk-GDMM2WEG.js';
3
- import '../chunk-JPDR6TTA.js';
4
- import '../chunk-2XNCPLHU.js';
5
- import '../chunk-3UXRX4KU.js';
6
- import '../chunk-VC2MPB2Y.js';
7
- import '../chunk-5QHVYOME.js';
8
- import '../chunk-IQI5I2X5.js';
9
- import '../chunk-GUPBIEUA.js';
10
- import '../chunk-BI547RIA.js';
2
+ export { ActivitySequence } from '../chunk-KWKB74KL.js';
3
+ import '../chunk-7K4B2EMU.js';
4
+ import '../chunk-V5BTVGPA.js';
5
+ import '../chunk-6DTW5T3Z.js';
6
+ import '../chunk-QHK6PTUR.js';
7
+ import '../chunk-ALH6TUX2.js';
8
+ import '../chunk-HZMILQYO.js';
9
+ import '../chunk-GR33G5QM.js';
10
+ import '../chunk-YNDKAYW3.js';
11
+ import '../chunk-KP57YCYQ.js';
12
+ import '../chunk-QJW3K6JN.js';
11
13
  import '../chunk-MCO52PV5.js';
12
14
  import '../chunk-YORQQXGO.js';
13
15
  import '../chunk-RCMYEWBE.js';
14
- import '../chunk-DKZWUIQD.js';
15
- import '../chunk-ZPCO3CEB.js';
16
+ import '../chunk-YTGRXD23.js';
17
+ import '../chunk-BY4UQH2Y.js';
16
18
  import '../chunk-6N43WDVG.js';
17
- import '../chunk-KSAINXRG.js';
19
+ import '../chunk-YRNEOBXA.js';
18
20
  //# sourceMappingURL=ActivitySequence.js.map
19
21
  //# sourceMappingURL=ActivitySequence.js.map
@@ -1,19 +1,21 @@
1
1
  'use client';
2
2
  'use strict';
3
3
 
4
- var chunkRSQFGF5W_cjs = require('../chunk-RSQFGF5W.cjs');
4
+ var chunkRZ52SEYV_cjs = require('../chunk-RZ52SEYV.cjs');
5
+ require('../chunk-5F4Q6JT7.cjs');
6
+ require('../chunk-ZDYNAWDZ.cjs');
5
7
  require('../chunk-OD65OZIW.cjs');
6
8
  require('../chunk-BRPEB43C.cjs');
7
- require('../chunk-2S3MK4VX.cjs');
8
- require('../chunk-TRP5Z3XW.cjs');
9
+ require('../chunk-BAKLJKFZ.cjs');
10
+ require('../chunk-L7WY5YFQ.cjs');
9
11
  require('../chunk-XOR4MPEN.cjs');
10
- require('../chunk-MQAZJQRE.cjs');
12
+ require('../chunk-AHGB5HH6.cjs');
11
13
 
12
14
 
13
15
 
14
16
  Object.defineProperty(exports, "Dictation", {
15
17
  enumerable: true,
16
- get: function () { return chunkRSQFGF5W_cjs.Dictation; }
18
+ get: function () { return chunkRZ52SEYV_cjs.Dictation; }
17
19
  });
18
20
  //# sourceMappingURL=Dictation.cjs.map
19
21
  //# sourceMappingURL=Dictation.cjs.map
@@ -1,6 +1,8 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { DictationData } from '@intellectif/lk-core';
3
- import { A as ActivityProps } from '../strings-C6wM5aUQ.cjs';
3
+ import { A as ActivityProps } from '../strings-BOPKhnS-.cjs';
4
+ import '../ai/LkAiProvider.cjs';
5
+ import 'react';
4
6
  import '../machine-CuwKqWXC.cjs';
5
7
 
6
8
  interface DictationProps extends ActivityProps<DictationData> {
@@ -1,6 +1,8 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { DictationData } from '@intellectif/lk-core';
3
- import { A as ActivityProps } from '../strings-Cd_2F-Bw.js';
3
+ import { A as ActivityProps } from '../strings-PCYKWCwd.js';
4
+ import '../ai/LkAiProvider.js';
5
+ import 'react';
4
6
  import '../machine-CuwKqWXC.js';
5
7
 
6
8
  interface DictationProps extends ActivityProps<DictationData> {
@@ -1,10 +1,12 @@
1
1
  'use client';
2
- export { Dictation } from '../chunk-IQI5I2X5.js';
2
+ export { Dictation } from '../chunk-HZMILQYO.js';
3
+ import '../chunk-GR33G5QM.js';
4
+ import '../chunk-YNDKAYW3.js';
3
5
  import '../chunk-YORQQXGO.js';
4
6
  import '../chunk-RCMYEWBE.js';
5
- import '../chunk-DKZWUIQD.js';
6
- import '../chunk-ZPCO3CEB.js';
7
+ import '../chunk-YTGRXD23.js';
8
+ import '../chunk-BY4UQH2Y.js';
7
9
  import '../chunk-6N43WDVG.js';
8
- import '../chunk-KSAINXRG.js';
10
+ import '../chunk-YRNEOBXA.js';
9
11
  //# sourceMappingURL=Dictation.js.map
10
12
  //# sourceMappingURL=Dictation.js.map
@@ -1,18 +1,20 @@
1
1
  'use client';
2
2
  'use strict';
3
3
 
4
- var chunk2TFNDHJ5_cjs = require('../chunk-2TFNDHJ5.cjs');
4
+ var chunkTI23GIFM_cjs = require('../chunk-TI23GIFM.cjs');
5
+ require('../chunk-5F4Q6JT7.cjs');
6
+ require('../chunk-ZDYNAWDZ.cjs');
5
7
  require('../chunk-BRPEB43C.cjs');
6
- require('../chunk-2S3MK4VX.cjs');
7
- require('../chunk-TRP5Z3XW.cjs');
8
+ require('../chunk-BAKLJKFZ.cjs');
9
+ require('../chunk-L7WY5YFQ.cjs');
8
10
  require('../chunk-XOR4MPEN.cjs');
9
- require('../chunk-MQAZJQRE.cjs');
11
+ require('../chunk-AHGB5HH6.cjs');
10
12
 
11
13
 
12
14
 
13
15
  Object.defineProperty(exports, "FillInTheBlanks", {
14
16
  enumerable: true,
15
- get: function () { return chunk2TFNDHJ5_cjs.FillInTheBlanks; }
17
+ get: function () { return chunkTI23GIFM_cjs.FillInTheBlanks; }
16
18
  });
17
19
  //# sourceMappingURL=FillInTheBlanks.cjs.map
18
20
  //# sourceMappingURL=FillInTheBlanks.cjs.map
@@ -1,6 +1,8 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { FillInTheBlanksData } from '@intellectif/lk-core';
3
- import { A as ActivityProps } from '../strings-C6wM5aUQ.cjs';
3
+ import { A as ActivityProps } from '../strings-BOPKhnS-.cjs';
4
+ import '../ai/LkAiProvider.cjs';
5
+ import 'react';
4
6
  import '../machine-CuwKqWXC.cjs';
5
7
 
6
8
  interface FillInTheBlanksProps extends ActivityProps<FillInTheBlanksData> {
@@ -1,6 +1,8 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { FillInTheBlanksData } from '@intellectif/lk-core';
3
- import { A as ActivityProps } from '../strings-Cd_2F-Bw.js';
3
+ import { A as ActivityProps } from '../strings-PCYKWCwd.js';
4
+ import '../ai/LkAiProvider.js';
5
+ import 'react';
4
6
  import '../machine-CuwKqWXC.js';
5
7
 
6
8
  interface FillInTheBlanksProps extends ActivityProps<FillInTheBlanksData> {
@@ -1,9 +1,11 @@
1
1
  'use client';
2
- export { FillInTheBlanks } from '../chunk-VC2MPB2Y.js';
2
+ export { FillInTheBlanks } from '../chunk-QHK6PTUR.js';
3
+ import '../chunk-GR33G5QM.js';
4
+ import '../chunk-YNDKAYW3.js';
3
5
  import '../chunk-RCMYEWBE.js';
4
- import '../chunk-DKZWUIQD.js';
5
- import '../chunk-ZPCO3CEB.js';
6
+ import '../chunk-YTGRXD23.js';
7
+ import '../chunk-BY4UQH2Y.js';
6
8
  import '../chunk-6N43WDVG.js';
7
- import '../chunk-KSAINXRG.js';
9
+ import '../chunk-YRNEOBXA.js';
8
10
  //# sourceMappingURL=FillInTheBlanks.js.map
9
11
  //# sourceMappingURL=FillInTheBlanks.js.map
@@ -1,18 +1,20 @@
1
1
  'use client';
2
2
  'use strict';
3
3
 
4
- var chunkB6S5ADHR_cjs = require('../chunk-B6S5ADHR.cjs');
4
+ var chunkQA42VDTA_cjs = require('../chunk-QA42VDTA.cjs');
5
+ require('../chunk-5F4Q6JT7.cjs');
6
+ require('../chunk-ZDYNAWDZ.cjs');
5
7
  require('../chunk-BRPEB43C.cjs');
6
- require('../chunk-2S3MK4VX.cjs');
7
- require('../chunk-TRP5Z3XW.cjs');
8
+ require('../chunk-BAKLJKFZ.cjs');
9
+ require('../chunk-L7WY5YFQ.cjs');
8
10
  require('../chunk-XOR4MPEN.cjs');
9
- require('../chunk-MQAZJQRE.cjs');
11
+ require('../chunk-AHGB5HH6.cjs');
10
12
 
11
13
 
12
14
 
13
15
  Object.defineProperty(exports, "GapSelect", {
14
16
  enumerable: true,
15
- get: function () { return chunkB6S5ADHR_cjs.GapSelect; }
17
+ get: function () { return chunkQA42VDTA_cjs.GapSelect; }
16
18
  });
17
19
  //# sourceMappingURL=GapSelect.cjs.map
18
20
  //# sourceMappingURL=GapSelect.cjs.map
@@ -1,6 +1,8 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { GapSelectData } from '@intellectif/lk-core';
3
- import { A as ActivityProps } from '../strings-C6wM5aUQ.cjs';
3
+ import { A as ActivityProps } from '../strings-BOPKhnS-.cjs';
4
+ import '../ai/LkAiProvider.cjs';
5
+ import 'react';
4
6
  import '../machine-CuwKqWXC.cjs';
5
7
 
6
8
  interface GapSelectProps extends ActivityProps<GapSelectData> {
@@ -1,6 +1,8 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { GapSelectData } from '@intellectif/lk-core';
3
- import { A as ActivityProps } from '../strings-Cd_2F-Bw.js';
3
+ import { A as ActivityProps } from '../strings-PCYKWCwd.js';
4
+ import '../ai/LkAiProvider.js';
5
+ import 'react';
4
6
  import '../machine-CuwKqWXC.js';
5
7
 
6
8
  interface GapSelectProps extends ActivityProps<GapSelectData> {
@@ -1,9 +1,11 @@
1
1
  'use client';
2
- export { GapSelect } from '../chunk-5QHVYOME.js';
2
+ export { GapSelect } from '../chunk-ALH6TUX2.js';
3
+ import '../chunk-GR33G5QM.js';
4
+ import '../chunk-YNDKAYW3.js';
3
5
  import '../chunk-RCMYEWBE.js';
4
- import '../chunk-DKZWUIQD.js';
5
- import '../chunk-ZPCO3CEB.js';
6
+ import '../chunk-YTGRXD23.js';
7
+ import '../chunk-BY4UQH2Y.js';
6
8
  import '../chunk-6N43WDVG.js';
7
- import '../chunk-KSAINXRG.js';
9
+ import '../chunk-YRNEOBXA.js';
8
10
  //# sourceMappingURL=GapSelect.js.map
9
11
  //# sourceMappingURL=GapSelect.js.map
@@ -1,30 +1,32 @@
1
1
  'use client';
2
2
  'use strict';
3
3
 
4
- var chunkWOYCT5M6_cjs = require('../chunk-WOYCT5M6.cjs');
5
- require('../chunk-ZSY4VANQ.cjs');
6
- require('../chunk-2TFNDHJ5.cjs');
7
- require('../chunk-B6S5ADHR.cjs');
8
- require('../chunk-RSQFGF5W.cjs');
9
- require('../chunk-ML6L4LJH.cjs');
10
- require('../chunk-DFMBVA7D.cjs');
4
+ var chunk3TJSFPO4_cjs = require('../chunk-3TJSFPO4.cjs');
5
+ require('../chunk-JKMBFHER.cjs');
6
+ require('../chunk-TI23GIFM.cjs');
7
+ require('../chunk-QA42VDTA.cjs');
8
+ require('../chunk-RZ52SEYV.cjs');
9
+ require('../chunk-5F4Q6JT7.cjs');
10
+ require('../chunk-ZDYNAWDZ.cjs');
11
+ require('../chunk-6RRFH7C4.cjs');
12
+ require('../chunk-UQIRDE52.cjs');
11
13
  require('../chunk-UDCQTOVU.cjs');
12
14
  require('../chunk-OD65OZIW.cjs');
13
15
  require('../chunk-BRPEB43C.cjs');
14
- require('../chunk-2S3MK4VX.cjs');
15
- require('../chunk-TRP5Z3XW.cjs');
16
+ require('../chunk-BAKLJKFZ.cjs');
17
+ require('../chunk-L7WY5YFQ.cjs');
16
18
  require('../chunk-XOR4MPEN.cjs');
17
- require('../chunk-MQAZJQRE.cjs');
19
+ require('../chunk-AHGB5HH6.cjs');
18
20
 
19
21
 
20
22
 
21
23
  Object.defineProperty(exports, "InteractiveVideo", {
22
24
  enumerable: true,
23
- get: function () { return chunkWOYCT5M6_cjs.InteractiveVideo; }
25
+ get: function () { return chunk3TJSFPO4_cjs.InteractiveVideo; }
24
26
  });
25
27
  Object.defineProperty(exports, "resolveCaptionTracks", {
26
28
  enumerable: true,
27
- get: function () { return chunkWOYCT5M6_cjs.resolveCaptionTracks; }
29
+ get: function () { return chunk3TJSFPO4_cjs.resolveCaptionTracks; }
28
30
  });
29
31
  //# sourceMappingURL=InteractiveVideo.cjs.map
30
32
  //# sourceMappingURL=InteractiveVideo.cjs.map
@@ -1,8 +1,9 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { ItemGroup, MediaProgress, LearnerResponse, ItemOutcome, ActivityResult, InteractionEvent, InteractionKind, SpeechAssessment, MediaTrack, ThemeTokens } from '@intellectif/lk-core';
3
3
  import { ReactNode } from 'react';
4
- import { g as RenderableActivity, e as RenderMode, i as SequenceRecordingSlot, h as SequenceRecordingBinding, V as VideoPreferences, a as LkStringsOverride, H as HtmlSanitizer } from '../strings-C6wM5aUQ.cjs';
5
- export { C as CaptionSize } from '../strings-C6wM5aUQ.cjs';
4
+ import { LearnerAi } from '../ai/LkAiProvider.cjs';
5
+ import { g as RenderableActivity, e as RenderMode, i as SequenceRecordingSlot, h as SequenceRecordingBinding, V as VideoPreferences, a as LkStringsOverride, H as HtmlSanitizer } from '../strings-BOPKhnS-.cjs';
6
+ export { C as CaptionSize } from '../strings-BOPKhnS-.cjs';
6
7
  import '../machine-CuwKqWXC.cjs';
7
8
 
8
9
  /** An item group whose items may be `redact()` projections: the client's view of an interactive video. */
@@ -70,6 +71,13 @@ interface InteractiveVideoQuestion {
70
71
  * commit.
71
72
  */
72
73
  portalContainer: HTMLElement | null;
74
+ /**
75
+ * The AI ports in force for this video — its `ai` prop, else an
76
+ * `LkAiProvider` above it — for a host that offers its own explanations or
77
+ * hints. Absent in `exam`: no question gives AI help there, and the SDK
78
+ * hands its ports to none.
79
+ */
80
+ ai?: LearnerAi;
73
81
  /**
74
82
  * The learner committed an answer: marks the question answered and forwards
75
83
  * to `onSubmit(response, slot)`. Latest wins: call it again for a new take or
@@ -104,6 +112,17 @@ interface InteractiveVideoQuestion {
104
112
  interface InteractiveVideoProps {
105
113
  /** An item group with a video stimulus and a timeline. Redacted projections in exam and review. */
106
114
  group: RenderableItemGroup;
115
+ /**
116
+ * `practice` (the default) grades each question and shows its feedback;
117
+ * `exam` submits without showing correctness — a check-in marked later;
118
+ * `review` shows how each question was marked.
119
+ *
120
+ * `exam` does NOT make the video fit for an official summative exam. The
121
+ * learner controls the recording — rewinds it, slows it, reads its
122
+ * transcript — while the questions are open, and nothing here times a
123
+ * question or holds a single pass. Deliver a paper of record with
124
+ * `<ActivitySequence>`.
125
+ */
107
126
  renderMode?: RenderMode;
108
127
  /** Where to resume. Read through `readMediaProgress` and clamped; a required quiz is never skipped by a resume. */
109
128
  progress?: MediaProgress;
@@ -196,6 +215,12 @@ interface InteractiveVideoProps {
196
215
  shuffleSeed?: string;
197
216
  locale?: string;
198
217
  strings?: LkStringsOverride;
218
+ /**
219
+ * The host's AI ports, for every question the SDK draws: explanations after
220
+ * grading, hints before submit. The same as `LkAiProvider`, for this one
221
+ * video. Nothing AI appears in `exam`. See {@link LearnerAi}.
222
+ */
223
+ ai?: LearnerAi;
199
224
  theme?: Partial<ThemeTokens>;
200
225
  sanitizeHtml?: HtmlSanitizer;
201
226
  }
@@ -228,6 +253,9 @@ declare function resolveCaptionTracks(tracks: readonly MediaTrack[], preferences
228
253
  * Public interactive video: the player wrapped in `ActivityErrorBoundary`, so a
229
254
  * render failure — the development-time schema check among them — degrades to
230
255
  * an accessible fallback instead of taking the host page down.
256
+ *
257
+ * A formative tool, for lessons and practice — not for official summative
258
+ * exams, which `<ActivitySequence>` delivers.
231
259
  */
232
260
  declare function InteractiveVideo(props: InteractiveVideoProps): react_jsx_runtime.JSX.Element;
233
261
 
@@ -1,8 +1,9 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { ItemGroup, MediaProgress, LearnerResponse, ItemOutcome, ActivityResult, InteractionEvent, InteractionKind, SpeechAssessment, MediaTrack, ThemeTokens } from '@intellectif/lk-core';
3
3
  import { ReactNode } from 'react';
4
- import { g as RenderableActivity, e as RenderMode, i as SequenceRecordingSlot, h as SequenceRecordingBinding, V as VideoPreferences, a as LkStringsOverride, H as HtmlSanitizer } from '../strings-Cd_2F-Bw.js';
5
- export { C as CaptionSize } from '../strings-Cd_2F-Bw.js';
4
+ import { LearnerAi } from '../ai/LkAiProvider.js';
5
+ import { g as RenderableActivity, e as RenderMode, i as SequenceRecordingSlot, h as SequenceRecordingBinding, V as VideoPreferences, a as LkStringsOverride, H as HtmlSanitizer } from '../strings-PCYKWCwd.js';
6
+ export { C as CaptionSize } from '../strings-PCYKWCwd.js';
6
7
  import '../machine-CuwKqWXC.js';
7
8
 
8
9
  /** An item group whose items may be `redact()` projections: the client's view of an interactive video. */
@@ -70,6 +71,13 @@ interface InteractiveVideoQuestion {
70
71
  * commit.
71
72
  */
72
73
  portalContainer: HTMLElement | null;
74
+ /**
75
+ * The AI ports in force for this video — its `ai` prop, else an
76
+ * `LkAiProvider` above it — for a host that offers its own explanations or
77
+ * hints. Absent in `exam`: no question gives AI help there, and the SDK
78
+ * hands its ports to none.
79
+ */
80
+ ai?: LearnerAi;
73
81
  /**
74
82
  * The learner committed an answer: marks the question answered and forwards
75
83
  * to `onSubmit(response, slot)`. Latest wins: call it again for a new take or
@@ -104,6 +112,17 @@ interface InteractiveVideoQuestion {
104
112
  interface InteractiveVideoProps {
105
113
  /** An item group with a video stimulus and a timeline. Redacted projections in exam and review. */
106
114
  group: RenderableItemGroup;
115
+ /**
116
+ * `practice` (the default) grades each question and shows its feedback;
117
+ * `exam` submits without showing correctness — a check-in marked later;
118
+ * `review` shows how each question was marked.
119
+ *
120
+ * `exam` does NOT make the video fit for an official summative exam. The
121
+ * learner controls the recording — rewinds it, slows it, reads its
122
+ * transcript — while the questions are open, and nothing here times a
123
+ * question or holds a single pass. Deliver a paper of record with
124
+ * `<ActivitySequence>`.
125
+ */
107
126
  renderMode?: RenderMode;
108
127
  /** Where to resume. Read through `readMediaProgress` and clamped; a required quiz is never skipped by a resume. */
109
128
  progress?: MediaProgress;
@@ -196,6 +215,12 @@ interface InteractiveVideoProps {
196
215
  shuffleSeed?: string;
197
216
  locale?: string;
198
217
  strings?: LkStringsOverride;
218
+ /**
219
+ * The host's AI ports, for every question the SDK draws: explanations after
220
+ * grading, hints before submit. The same as `LkAiProvider`, for this one
221
+ * video. Nothing AI appears in `exam`. See {@link LearnerAi}.
222
+ */
223
+ ai?: LearnerAi;
199
224
  theme?: Partial<ThemeTokens>;
200
225
  sanitizeHtml?: HtmlSanitizer;
201
226
  }
@@ -228,6 +253,9 @@ declare function resolveCaptionTracks(tracks: readonly MediaTrack[], preferences
228
253
  * Public interactive video: the player wrapped in `ActivityErrorBoundary`, so a
229
254
  * render failure — the development-time schema check among them — degrades to
230
255
  * an accessible fallback instead of taking the host page down.
256
+ *
257
+ * A formative tool, for lessons and practice — not for official summative
258
+ * exams, which `<ActivitySequence>` delivers.
231
259
  */
232
260
  declare function InteractiveVideo(props: InteractiveVideoProps): react_jsx_runtime.JSX.Element;
233
261
 
@@ -1,17 +1,19 @@
1
1
  'use client';
2
- export { InteractiveVideo, resolveCaptionTracks } from '../chunk-DVOPHC2Q.js';
3
- import '../chunk-3UXRX4KU.js';
4
- import '../chunk-VC2MPB2Y.js';
5
- import '../chunk-5QHVYOME.js';
6
- import '../chunk-IQI5I2X5.js';
7
- import '../chunk-GUPBIEUA.js';
8
- import '../chunk-BI547RIA.js';
2
+ export { InteractiveVideo, resolveCaptionTracks } from '../chunk-UYQBEPNZ.js';
3
+ import '../chunk-6DTW5T3Z.js';
4
+ import '../chunk-QHK6PTUR.js';
5
+ import '../chunk-ALH6TUX2.js';
6
+ import '../chunk-HZMILQYO.js';
7
+ import '../chunk-GR33G5QM.js';
8
+ import '../chunk-YNDKAYW3.js';
9
+ import '../chunk-KP57YCYQ.js';
10
+ import '../chunk-QJW3K6JN.js';
9
11
  import '../chunk-MCO52PV5.js';
10
12
  import '../chunk-YORQQXGO.js';
11
13
  import '../chunk-RCMYEWBE.js';
12
- import '../chunk-DKZWUIQD.js';
13
- import '../chunk-ZPCO3CEB.js';
14
+ import '../chunk-YTGRXD23.js';
15
+ import '../chunk-BY4UQH2Y.js';
14
16
  import '../chunk-6N43WDVG.js';
15
- import '../chunk-KSAINXRG.js';
17
+ import '../chunk-YRNEOBXA.js';
16
18
  //# sourceMappingURL=InteractiveVideo.js.map
17
19
  //# sourceMappingURL=InteractiveVideo.js.map
@@ -1,18 +1,20 @@
1
1
  'use client';
2
2
  'use strict';
3
3
 
4
- var chunkZSY4VANQ_cjs = require('../chunk-ZSY4VANQ.cjs');
4
+ var chunkJKMBFHER_cjs = require('../chunk-JKMBFHER.cjs');
5
+ require('../chunk-5F4Q6JT7.cjs');
6
+ require('../chunk-ZDYNAWDZ.cjs');
5
7
  require('../chunk-BRPEB43C.cjs');
6
- require('../chunk-2S3MK4VX.cjs');
7
- require('../chunk-TRP5Z3XW.cjs');
8
+ require('../chunk-BAKLJKFZ.cjs');
9
+ require('../chunk-L7WY5YFQ.cjs');
8
10
  require('../chunk-XOR4MPEN.cjs');
9
- require('../chunk-MQAZJQRE.cjs');
11
+ require('../chunk-AHGB5HH6.cjs');
10
12
 
11
13
 
12
14
 
13
15
  Object.defineProperty(exports, "MultipleChoice", {
14
16
  enumerable: true,
15
- get: function () { return chunkZSY4VANQ_cjs.MultipleChoice; }
17
+ get: function () { return chunkJKMBFHER_cjs.MultipleChoice; }
16
18
  });
17
19
  //# sourceMappingURL=MultipleChoice.cjs.map
18
20
  //# sourceMappingURL=MultipleChoice.cjs.map
@@ -1,6 +1,8 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { MultipleChoiceData } from '@intellectif/lk-core';
3
- import { A as ActivityProps } from '../strings-C6wM5aUQ.cjs';
3
+ import { A as ActivityProps } from '../strings-BOPKhnS-.cjs';
4
+ import '../ai/LkAiProvider.cjs';
5
+ import 'react';
4
6
  import '../machine-CuwKqWXC.cjs';
5
7
 
6
8
  interface MultipleChoiceProps extends ActivityProps<MultipleChoiceData> {
@@ -1,6 +1,8 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { MultipleChoiceData } from '@intellectif/lk-core';
3
- import { A as ActivityProps } from '../strings-Cd_2F-Bw.js';
3
+ import { A as ActivityProps } from '../strings-PCYKWCwd.js';
4
+ import '../ai/LkAiProvider.js';
5
+ import 'react';
4
6
  import '../machine-CuwKqWXC.js';
5
7
 
6
8
  interface MultipleChoiceProps extends ActivityProps<MultipleChoiceData> {
@@ -1,9 +1,11 @@
1
1
  'use client';
2
- export { MultipleChoice } from '../chunk-3UXRX4KU.js';
2
+ export { MultipleChoice } from '../chunk-6DTW5T3Z.js';
3
+ import '../chunk-GR33G5QM.js';
4
+ import '../chunk-YNDKAYW3.js';
3
5
  import '../chunk-RCMYEWBE.js';
4
- import '../chunk-DKZWUIQD.js';
5
- import '../chunk-ZPCO3CEB.js';
6
+ import '../chunk-YTGRXD23.js';
7
+ import '../chunk-BY4UQH2Y.js';
6
8
  import '../chunk-6N43WDVG.js';
7
- import '../chunk-KSAINXRG.js';
9
+ import '../chunk-YRNEOBXA.js';
8
10
  //# sourceMappingURL=MultipleChoice.js.map
9
11
  //# sourceMappingURL=MultipleChoice.js.map
@@ -1,16 +1,16 @@
1
1
  'use client';
2
2
  'use strict';
3
3
 
4
- var chunkDFMBVA7D_cjs = require('../chunk-DFMBVA7D.cjs');
4
+ var chunkUQIRDE52_cjs = require('../chunk-UQIRDE52.cjs');
5
5
  require('../chunk-OD65OZIW.cjs');
6
- require('../chunk-2S3MK4VX.cjs');
7
- require('../chunk-MQAZJQRE.cjs');
6
+ require('../chunk-BAKLJKFZ.cjs');
7
+ require('../chunk-AHGB5HH6.cjs');
8
8
 
9
9
 
10
10
 
11
11
  Object.defineProperty(exports, "PronunciationFeedback", {
12
12
  enumerable: true,
13
- get: function () { return chunkDFMBVA7D_cjs.PronunciationFeedback; }
13
+ get: function () { return chunkUQIRDE52_cjs.PronunciationFeedback; }
14
14
  });
15
15
  //# sourceMappingURL=PronunciationFeedback.cjs.map
16
16
  //# sourceMappingURL=PronunciationFeedback.cjs.map
@@ -1,6 +1,8 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { ReadAloudData, SpeechAssessment, GradeRecord, ThemeTokens } from '@intellectif/lk-core';
3
- import { a as LkStringsOverride } from '../strings-C6wM5aUQ.cjs';
3
+ import { a as LkStringsOverride } from '../strings-BOPKhnS-.cjs';
4
+ import '../ai/LkAiProvider.cjs';
5
+ import 'react';
4
6
  import '../machine-CuwKqWXC.cjs';
5
7
 
6
8
  interface PronunciationFeedbackProps {
@@ -1,6 +1,8 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { ReadAloudData, SpeechAssessment, GradeRecord, ThemeTokens } from '@intellectif/lk-core';
3
- import { a as LkStringsOverride } from '../strings-Cd_2F-Bw.js';
3
+ import { a as LkStringsOverride } from '../strings-PCYKWCwd.js';
4
+ import '../ai/LkAiProvider.js';
5
+ import 'react';
4
6
  import '../machine-CuwKqWXC.js';
5
7
 
6
8
  interface PronunciationFeedbackProps {
@@ -1,7 +1,7 @@
1
1
  'use client';
2
- export { PronunciationFeedback } from '../chunk-BI547RIA.js';
2
+ export { PronunciationFeedback } from '../chunk-QJW3K6JN.js';
3
3
  import '../chunk-YORQQXGO.js';
4
- import '../chunk-DKZWUIQD.js';
5
- import '../chunk-KSAINXRG.js';
4
+ import '../chunk-YTGRXD23.js';
5
+ import '../chunk-YRNEOBXA.js';
6
6
  //# sourceMappingURL=PronunciationFeedback.js.map
7
7
  //# sourceMappingURL=PronunciationFeedback.js.map
@@ -1,21 +1,21 @@
1
1
  'use client';
2
2
  'use strict';
3
3
 
4
- var chunkML6L4LJH_cjs = require('../chunk-ML6L4LJH.cjs');
5
- require('../chunk-DFMBVA7D.cjs');
4
+ var chunk6RRFH7C4_cjs = require('../chunk-6RRFH7C4.cjs');
5
+ require('../chunk-UQIRDE52.cjs');
6
6
  require('../chunk-UDCQTOVU.cjs');
7
7
  require('../chunk-OD65OZIW.cjs');
8
8
  require('../chunk-BRPEB43C.cjs');
9
- require('../chunk-2S3MK4VX.cjs');
10
- require('../chunk-TRP5Z3XW.cjs');
9
+ require('../chunk-BAKLJKFZ.cjs');
10
+ require('../chunk-L7WY5YFQ.cjs');
11
11
  require('../chunk-XOR4MPEN.cjs');
12
- require('../chunk-MQAZJQRE.cjs');
12
+ require('../chunk-AHGB5HH6.cjs');
13
13
 
14
14
 
15
15
 
16
16
  Object.defineProperty(exports, "ReadAloud", {
17
17
  enumerable: true,
18
- get: function () { return chunkML6L4LJH_cjs.ReadAloud; }
18
+ get: function () { return chunk6RRFH7C4_cjs.ReadAloud; }
19
19
  });
20
20
  //# sourceMappingURL=ReadAloud.cjs.map
21
21
  //# sourceMappingURL=ReadAloud.cjs.map