@intellectif/lk-react 14.1.0 → 16.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 (131) hide show
  1. package/CHANGELOG.md +83 -0
  2. package/README.md +5 -2
  3. package/dist/{WrittenResponse-rRpOr9W1.d.cts → WrittenResponse-C2zw-1jK.d.cts} +1 -1
  4. package/dist/{WrittenResponse-DrzI89Wg.d.ts → WrittenResponse-CTiNpSCC.d.ts} +1 -1
  5. package/dist/{chunk-KIO6QXGT.cjs → chunk-2WM2KSO7.cjs} +25 -25
  6. package/dist/{chunk-KIO6QXGT.cjs.map → chunk-2WM2KSO7.cjs.map} +1 -1
  7. package/dist/{chunk-WC4OD3EE.cjs → chunk-2YZZL5FV.cjs} +13 -13
  8. package/dist/{chunk-WC4OD3EE.cjs.map → chunk-2YZZL5FV.cjs.map} +1 -1
  9. package/dist/chunk-3IHVDQRC.js +2683 -0
  10. package/dist/chunk-3IHVDQRC.js.map +1 -0
  11. package/dist/{chunk-5CP2Z6IS.js → chunk-4AQ4SWJ3.js} +5 -5
  12. package/dist/{chunk-5CP2Z6IS.js.map → chunk-4AQ4SWJ3.js.map} +1 -1
  13. package/dist/{chunk-UDQS5INQ.js → chunk-4X7NFEDB.js} +5 -5
  14. package/dist/{chunk-UDQS5INQ.js.map → chunk-4X7NFEDB.js.map} +1 -1
  15. package/dist/chunk-A2CPCOJA.cjs +2686 -0
  16. package/dist/chunk-A2CPCOJA.cjs.map +1 -0
  17. package/dist/{chunk-U432HTUW.js → chunk-AEUP63CZ.js} +5 -5
  18. package/dist/{chunk-U432HTUW.js.map → chunk-AEUP63CZ.js.map} +1 -1
  19. package/dist/{chunk-MZITNWZ2.cjs → chunk-ALDGRDYD.cjs} +24 -24
  20. package/dist/{chunk-MZITNWZ2.cjs.map → chunk-ALDGRDYD.cjs.map} +1 -1
  21. package/dist/{chunk-YM64MS4G.cjs → chunk-BO64SLHL.cjs} +8 -8
  22. package/dist/{chunk-YM64MS4G.cjs.map → chunk-BO64SLHL.cjs.map} +1 -1
  23. package/dist/{chunk-JG4DWAUJ.cjs → chunk-DMCFARGP.cjs} +13 -13
  24. package/dist/{chunk-JG4DWAUJ.cjs.map → chunk-DMCFARGP.cjs.map} +1 -1
  25. package/dist/{chunk-TUVEJLOT.js → chunk-HJLVWZOM.js} +4 -4
  26. package/dist/{chunk-TUVEJLOT.js.map → chunk-HJLVWZOM.js.map} +1 -1
  27. package/dist/{chunk-B4BCEQNO.js → chunk-ICAYWVNF.js} +3 -3
  28. package/dist/{chunk-B4BCEQNO.js.map → chunk-ICAYWVNF.js.map} +1 -1
  29. package/dist/{chunk-4Y5TELVU.cjs → chunk-JYC2VV3Y.cjs} +12 -12
  30. package/dist/{chunk-4Y5TELVU.cjs.map → chunk-JYC2VV3Y.cjs.map} +1 -1
  31. package/dist/{chunk-D4DQFTA7.cjs → chunk-K63VPFOV.cjs} +10 -2
  32. package/dist/chunk-K63VPFOV.cjs.map +1 -0
  33. package/dist/{chunk-AS2QGND5.js → chunk-NOF6HJDV.js} +4 -4
  34. package/dist/{chunk-AS2QGND5.js.map → chunk-NOF6HJDV.js.map} +1 -1
  35. package/dist/{chunk-UDZWYHDV.js → chunk-OOYKKO3V.js} +11 -11
  36. package/dist/{chunk-UDZWYHDV.js.map → chunk-OOYKKO3V.js.map} +1 -1
  37. package/dist/{chunk-UMDWVMB5.cjs → chunk-OXUUE3HX.cjs} +5 -5
  38. package/dist/{chunk-UMDWVMB5.cjs.map → chunk-OXUUE3HX.cjs.map} +1 -1
  39. package/dist/{chunk-DPEY7DSE.cjs → chunk-P5FGJMMI.cjs} +5 -5
  40. package/dist/{chunk-DPEY7DSE.cjs.map → chunk-P5FGJMMI.cjs.map} +1 -1
  41. package/dist/{chunk-5JCTJFQU.cjs → chunk-QADR2XMQ.cjs} +18 -18
  42. package/dist/{chunk-5JCTJFQU.cjs.map → chunk-QADR2XMQ.cjs.map} +1 -1
  43. package/dist/{chunk-AWQ53DON.js → chunk-QIA5FAAW.js} +89 -2
  44. package/dist/chunk-QIA5FAAW.js.map +1 -0
  45. package/dist/{chunk-PSUKWVKU.cjs → chunk-RJGCT35F.cjs} +13 -13
  46. package/dist/{chunk-PSUKWVKU.cjs.map → chunk-RJGCT35F.cjs.map} +1 -1
  47. package/dist/{chunk-NJAF34GN.js → chunk-T33AJYLW.js} +5 -5
  48. package/dist/{chunk-NJAF34GN.js.map → chunk-T33AJYLW.js.map} +1 -1
  49. package/dist/{chunk-RXS455MR.js → chunk-UHKZXOXD.js} +10 -2
  50. package/dist/chunk-UHKZXOXD.js.map +1 -0
  51. package/dist/{chunk-DB4DLHN6.js → chunk-UIGSH2XB.js} +3 -3
  52. package/dist/{chunk-DB4DLHN6.js.map → chunk-UIGSH2XB.js.map} +1 -1
  53. package/dist/{chunk-VSFHJ7FB.cjs → chunk-UISZWFI7.cjs} +89 -2
  54. package/dist/chunk-UISZWFI7.cjs.map +1 -0
  55. package/dist/{chunk-IDYZ2FA2.js → chunk-UYRQEIB7.js} +5 -5
  56. package/dist/{chunk-IDYZ2FA2.js.map → chunk-UYRQEIB7.js.map} +1 -1
  57. package/dist/{chunk-5JFMXBH7.js → chunk-W32ND3ZR.js} +6 -6
  58. package/dist/{chunk-5JFMXBH7.js.map → chunk-W32ND3ZR.js.map} +1 -1
  59. package/dist/{chunk-RCPW6HVY.js → chunk-WBLRUJ77.js} +10 -10
  60. package/dist/{chunk-RCPW6HVY.js.map → chunk-WBLRUJ77.js.map} +1 -1
  61. package/dist/{chunk-CTW3G3EH.cjs → chunk-WGIMLXRW.cjs} +6 -6
  62. package/dist/{chunk-CTW3G3EH.cjs.map → chunk-WGIMLXRW.cjs.map} +1 -1
  63. package/dist/{chunk-N536RUCZ.cjs → chunk-ZA5QUQ2V.cjs} +13 -13
  64. package/dist/{chunk-N536RUCZ.cjs.map → chunk-ZA5QUQ2V.cjs.map} +1 -1
  65. package/dist/components/ActivityPreview.cjs +12 -12
  66. package/dist/components/ActivityPreview.d.cts +2 -2
  67. package/dist/components/ActivityPreview.d.ts +2 -2
  68. package/dist/components/ActivityPreview.js +11 -11
  69. package/dist/components/ActivitySequence.cjs +13 -13
  70. package/dist/components/ActivitySequence.d.cts +2 -2
  71. package/dist/components/ActivitySequence.d.ts +2 -2
  72. package/dist/components/ActivitySequence.js +12 -12
  73. package/dist/components/Dictation.cjs +5 -5
  74. package/dist/components/Dictation.d.cts +1 -1
  75. package/dist/components/Dictation.d.ts +1 -1
  76. package/dist/components/Dictation.js +4 -4
  77. package/dist/components/FillInTheBlanks.cjs +5 -5
  78. package/dist/components/FillInTheBlanks.d.cts +1 -1
  79. package/dist/components/FillInTheBlanks.d.ts +1 -1
  80. package/dist/components/FillInTheBlanks.js +4 -4
  81. package/dist/components/GapSelect.cjs +5 -5
  82. package/dist/components/GapSelect.d.cts +1 -1
  83. package/dist/components/GapSelect.d.ts +1 -1
  84. package/dist/components/GapSelect.js +4 -4
  85. package/dist/components/InteractiveVideo.cjs +30 -0
  86. package/dist/components/InteractiveVideo.cjs.map +1 -0
  87. package/dist/components/InteractiveVideo.d.cts +123 -0
  88. package/dist/components/InteractiveVideo.d.ts +123 -0
  89. package/dist/components/InteractiveVideo.js +17 -0
  90. package/dist/components/InteractiveVideo.js.map +1 -0
  91. package/dist/components/MultipleChoice.cjs +5 -5
  92. package/dist/components/MultipleChoice.d.cts +1 -1
  93. package/dist/components/MultipleChoice.d.ts +1 -1
  94. package/dist/components/MultipleChoice.js +4 -4
  95. package/dist/components/PronunciationFeedback.cjs +4 -4
  96. package/dist/components/PronunciationFeedback.d.cts +1 -1
  97. package/dist/components/PronunciationFeedback.d.ts +1 -1
  98. package/dist/components/PronunciationFeedback.js +3 -3
  99. package/dist/components/ReadAloud.cjs +6 -6
  100. package/dist/components/ReadAloud.d.cts +2 -2
  101. package/dist/components/ReadAloud.d.ts +2 -2
  102. package/dist/components/ReadAloud.js +5 -5
  103. package/dist/components/StimulusPanel.cjs +4 -4
  104. package/dist/components/StimulusPanel.d.cts +1 -1
  105. package/dist/components/StimulusPanel.d.ts +1 -1
  106. package/dist/components/StimulusPanel.js +3 -3
  107. package/dist/components/WrittenResponse.cjs +5 -5
  108. package/dist/components/WrittenResponse.d.cts +3 -3
  109. package/dist/components/WrittenResponse.d.ts +3 -3
  110. package/dist/components/WrittenResponse.js +4 -4
  111. package/dist/i18n/LkIntlProvider.cjs +7 -7
  112. package/dist/i18n/LkIntlProvider.d.cts +2 -2
  113. package/dist/i18n/LkIntlProvider.d.ts +2 -2
  114. package/dist/i18n/LkIntlProvider.js +1 -1
  115. package/dist/index.cjs +48 -39
  116. package/dist/index.cjs.map +1 -1
  117. package/dist/index.d.cts +3 -2
  118. package/dist/index.d.ts +3 -2
  119. package/dist/index.js +15 -14
  120. package/dist/index.js.map +1 -1
  121. package/dist/{strings-l8Wv1Xax.d.ts → strings-Dgc5-DeA.d.ts} +121 -1
  122. package/dist/{strings-wjAF2ONm.d.cts → strings-zY2QQYpU.d.cts} +121 -1
  123. package/dist/theme/ThemeProvider.cjs +6 -6
  124. package/dist/theme/ThemeProvider.js +1 -1
  125. package/dist/theme/defaults.css +9 -0
  126. package/dist/theme/skin.css +1386 -0
  127. package/package.json +13 -3
  128. package/dist/chunk-AWQ53DON.js.map +0 -1
  129. package/dist/chunk-D4DQFTA7.cjs.map +0 -1
  130. package/dist/chunk-RXS455MR.js.map +0 -1
  131. package/dist/chunk-VSFHJ7FB.cjs.map +0 -1
@@ -1,7 +1,7 @@
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-l8Wv1Xax.js';
4
- import { a as WrittenResponseSubmission } from '../WrittenResponse-DrzI89Wg.js';
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-Dgc5-DeA.js';
4
+ import { a as WrittenResponseSubmission } from '../WrittenResponse-CTiNpSCC.js';
5
5
  import '../machine-CuwKqWXC.js';
6
6
 
7
7
  /**
@@ -1,19 +1,19 @@
1
1
  'use client';
2
- export { ActivitySequence } from '../chunk-UDZWYHDV.js';
3
- import '../chunk-AS2QGND5.js';
4
- import '../chunk-U432HTUW.js';
5
- import '../chunk-UDQS5INQ.js';
6
- import '../chunk-5CP2Z6IS.js';
7
- import '../chunk-IDYZ2FA2.js';
8
- import '../chunk-NJAF34GN.js';
9
- import '../chunk-5JFMXBH7.js';
10
- import '../chunk-TUVEJLOT.js';
2
+ export { ActivitySequence } from '../chunk-OOYKKO3V.js';
3
+ import '../chunk-NOF6HJDV.js';
4
+ import '../chunk-AEUP63CZ.js';
5
+ import '../chunk-4X7NFEDB.js';
6
+ import '../chunk-4AQ4SWJ3.js';
7
+ import '../chunk-UYRQEIB7.js';
8
+ import '../chunk-T33AJYLW.js';
9
+ import '../chunk-W32ND3ZR.js';
10
+ import '../chunk-HJLVWZOM.js';
11
11
  import '../chunk-MCO52PV5.js';
12
12
  import '../chunk-YORQQXGO.js';
13
13
  import '../chunk-RCMYEWBE.js';
14
- import '../chunk-B4BCEQNO.js';
15
- import '../chunk-DB4DLHN6.js';
14
+ import '../chunk-ICAYWVNF.js';
15
+ import '../chunk-UIGSH2XB.js';
16
16
  import '../chunk-6N43WDVG.js';
17
- import '../chunk-AWQ53DON.js';
17
+ import '../chunk-QIA5FAAW.js';
18
18
  //# sourceMappingURL=ActivitySequence.js.map
19
19
  //# sourceMappingURL=ActivitySequence.js.map
@@ -1,19 +1,19 @@
1
1
  'use client';
2
2
  'use strict';
3
3
 
4
- var chunkWC4OD3EE_cjs = require('../chunk-WC4OD3EE.cjs');
4
+ var chunk2YZZL5FV_cjs = require('../chunk-2YZZL5FV.cjs');
5
5
  require('../chunk-OD65OZIW.cjs');
6
6
  require('../chunk-BRPEB43C.cjs');
7
- require('../chunk-DPEY7DSE.cjs');
8
- require('../chunk-UMDWVMB5.cjs');
7
+ require('../chunk-P5FGJMMI.cjs');
8
+ require('../chunk-OXUUE3HX.cjs');
9
9
  require('../chunk-XOR4MPEN.cjs');
10
- require('../chunk-VSFHJ7FB.cjs');
10
+ require('../chunk-UISZWFI7.cjs');
11
11
 
12
12
 
13
13
 
14
14
  Object.defineProperty(exports, "Dictation", {
15
15
  enumerable: true,
16
- get: function () { return chunkWC4OD3EE_cjs.Dictation; }
16
+ get: function () { return chunk2YZZL5FV_cjs.Dictation; }
17
17
  });
18
18
  //# sourceMappingURL=Dictation.cjs.map
19
19
  //# sourceMappingURL=Dictation.cjs.map
@@ -1,6 +1,6 @@
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-wjAF2ONm.cjs';
3
+ import { A as ActivityProps } from '../strings-zY2QQYpU.cjs';
4
4
  import '../machine-CuwKqWXC.cjs';
5
5
 
6
6
  interface DictationProps extends ActivityProps<DictationData> {
@@ -1,6 +1,6 @@
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-l8Wv1Xax.js';
3
+ import { A as ActivityProps } from '../strings-Dgc5-DeA.js';
4
4
  import '../machine-CuwKqWXC.js';
5
5
 
6
6
  interface DictationProps extends ActivityProps<DictationData> {
@@ -1,10 +1,10 @@
1
1
  'use client';
2
- export { Dictation } from '../chunk-NJAF34GN.js';
2
+ export { Dictation } from '../chunk-T33AJYLW.js';
3
3
  import '../chunk-YORQQXGO.js';
4
4
  import '../chunk-RCMYEWBE.js';
5
- import '../chunk-B4BCEQNO.js';
6
- import '../chunk-DB4DLHN6.js';
5
+ import '../chunk-ICAYWVNF.js';
6
+ import '../chunk-UIGSH2XB.js';
7
7
  import '../chunk-6N43WDVG.js';
8
- import '../chunk-AWQ53DON.js';
8
+ import '../chunk-QIA5FAAW.js';
9
9
  //# sourceMappingURL=Dictation.js.map
10
10
  //# sourceMappingURL=Dictation.js.map
@@ -1,18 +1,18 @@
1
1
  'use client';
2
2
  'use strict';
3
3
 
4
- var chunkN536RUCZ_cjs = require('../chunk-N536RUCZ.cjs');
4
+ var chunkZA5QUQ2V_cjs = require('../chunk-ZA5QUQ2V.cjs');
5
5
  require('../chunk-BRPEB43C.cjs');
6
- require('../chunk-DPEY7DSE.cjs');
7
- require('../chunk-UMDWVMB5.cjs');
6
+ require('../chunk-P5FGJMMI.cjs');
7
+ require('../chunk-OXUUE3HX.cjs');
8
8
  require('../chunk-XOR4MPEN.cjs');
9
- require('../chunk-VSFHJ7FB.cjs');
9
+ require('../chunk-UISZWFI7.cjs');
10
10
 
11
11
 
12
12
 
13
13
  Object.defineProperty(exports, "FillInTheBlanks", {
14
14
  enumerable: true,
15
- get: function () { return chunkN536RUCZ_cjs.FillInTheBlanks; }
15
+ get: function () { return chunkZA5QUQ2V_cjs.FillInTheBlanks; }
16
16
  });
17
17
  //# sourceMappingURL=FillInTheBlanks.cjs.map
18
18
  //# sourceMappingURL=FillInTheBlanks.cjs.map
@@ -1,6 +1,6 @@
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-wjAF2ONm.cjs';
3
+ import { A as ActivityProps } from '../strings-zY2QQYpU.cjs';
4
4
  import '../machine-CuwKqWXC.cjs';
5
5
 
6
6
  interface FillInTheBlanksProps extends ActivityProps<FillInTheBlanksData> {
@@ -1,6 +1,6 @@
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-l8Wv1Xax.js';
3
+ import { A as ActivityProps } from '../strings-Dgc5-DeA.js';
4
4
  import '../machine-CuwKqWXC.js';
5
5
 
6
6
  interface FillInTheBlanksProps extends ActivityProps<FillInTheBlanksData> {
@@ -1,9 +1,9 @@
1
1
  'use client';
2
- export { FillInTheBlanks } from '../chunk-5CP2Z6IS.js';
2
+ export { FillInTheBlanks } from '../chunk-4AQ4SWJ3.js';
3
3
  import '../chunk-RCMYEWBE.js';
4
- import '../chunk-B4BCEQNO.js';
5
- import '../chunk-DB4DLHN6.js';
4
+ import '../chunk-ICAYWVNF.js';
5
+ import '../chunk-UIGSH2XB.js';
6
6
  import '../chunk-6N43WDVG.js';
7
- import '../chunk-AWQ53DON.js';
7
+ import '../chunk-QIA5FAAW.js';
8
8
  //# sourceMappingURL=FillInTheBlanks.js.map
9
9
  //# sourceMappingURL=FillInTheBlanks.js.map
@@ -1,18 +1,18 @@
1
1
  'use client';
2
2
  'use strict';
3
3
 
4
- var chunkPSUKWVKU_cjs = require('../chunk-PSUKWVKU.cjs');
4
+ var chunkRJGCT35F_cjs = require('../chunk-RJGCT35F.cjs');
5
5
  require('../chunk-BRPEB43C.cjs');
6
- require('../chunk-DPEY7DSE.cjs');
7
- require('../chunk-UMDWVMB5.cjs');
6
+ require('../chunk-P5FGJMMI.cjs');
7
+ require('../chunk-OXUUE3HX.cjs');
8
8
  require('../chunk-XOR4MPEN.cjs');
9
- require('../chunk-VSFHJ7FB.cjs');
9
+ require('../chunk-UISZWFI7.cjs');
10
10
 
11
11
 
12
12
 
13
13
  Object.defineProperty(exports, "GapSelect", {
14
14
  enumerable: true,
15
- get: function () { return chunkPSUKWVKU_cjs.GapSelect; }
15
+ get: function () { return chunkRJGCT35F_cjs.GapSelect; }
16
16
  });
17
17
  //# sourceMappingURL=GapSelect.cjs.map
18
18
  //# sourceMappingURL=GapSelect.cjs.map
@@ -1,6 +1,6 @@
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-wjAF2ONm.cjs';
3
+ import { A as ActivityProps } from '../strings-zY2QQYpU.cjs';
4
4
  import '../machine-CuwKqWXC.cjs';
5
5
 
6
6
  interface GapSelectProps extends ActivityProps<GapSelectData> {
@@ -1,6 +1,6 @@
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-l8Wv1Xax.js';
3
+ import { A as ActivityProps } from '../strings-Dgc5-DeA.js';
4
4
  import '../machine-CuwKqWXC.js';
5
5
 
6
6
  interface GapSelectProps extends ActivityProps<GapSelectData> {
@@ -1,9 +1,9 @@
1
1
  'use client';
2
- export { GapSelect } from '../chunk-IDYZ2FA2.js';
2
+ export { GapSelect } from '../chunk-UYRQEIB7.js';
3
3
  import '../chunk-RCMYEWBE.js';
4
- import '../chunk-B4BCEQNO.js';
5
- import '../chunk-DB4DLHN6.js';
4
+ import '../chunk-ICAYWVNF.js';
5
+ import '../chunk-UIGSH2XB.js';
6
6
  import '../chunk-6N43WDVG.js';
7
- import '../chunk-AWQ53DON.js';
7
+ import '../chunk-QIA5FAAW.js';
8
8
  //# sourceMappingURL=GapSelect.js.map
9
9
  //# sourceMappingURL=GapSelect.js.map
@@ -0,0 +1,30 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ var chunkA2CPCOJA_cjs = require('../chunk-A2CPCOJA.cjs');
5
+ require('../chunk-DMCFARGP.cjs');
6
+ require('../chunk-ZA5QUQ2V.cjs');
7
+ require('../chunk-RJGCT35F.cjs');
8
+ require('../chunk-2YZZL5FV.cjs');
9
+ require('../chunk-2WM2KSO7.cjs');
10
+ require('../chunk-BO64SLHL.cjs');
11
+ require('../chunk-UDCQTOVU.cjs');
12
+ require('../chunk-OD65OZIW.cjs');
13
+ require('../chunk-BRPEB43C.cjs');
14
+ require('../chunk-P5FGJMMI.cjs');
15
+ require('../chunk-OXUUE3HX.cjs');
16
+ require('../chunk-XOR4MPEN.cjs');
17
+ require('../chunk-UISZWFI7.cjs');
18
+
19
+
20
+
21
+ Object.defineProperty(exports, "InteractiveVideo", {
22
+ enumerable: true,
23
+ get: function () { return chunkA2CPCOJA_cjs.InteractiveVideo; }
24
+ });
25
+ Object.defineProperty(exports, "resolveCaptionTracks", {
26
+ enumerable: true,
27
+ get: function () { return chunkA2CPCOJA_cjs.resolveCaptionTracks; }
28
+ });
29
+ //# sourceMappingURL=InteractiveVideo.cjs.map
30
+ //# sourceMappingURL=InteractiveVideo.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"InteractiveVideo.cjs"}
@@ -0,0 +1,123 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ItemGroup, MediaProgress, LearnerResponse, ItemOutcome, ActivityResult, InteractionEvent, SpeechAssessment, MediaTrack, ThemeTokens } from '@intellectif/lk-core';
3
+ import { g as RenderableActivity, e as RenderMode, i as SequenceRecordingSlot, h as SequenceRecordingBinding, V as VideoPreferences, a as LkStringsOverride, H as HtmlSanitizer } from '../strings-zY2QQYpU.cjs';
4
+ export { C as CaptionSize } from '../strings-zY2QQYpU.cjs';
5
+ import '../machine-CuwKqWXC.cjs';
6
+
7
+ /** An item group whose items may be `redact()` projections: the client's view of an interactive video. */
8
+ type RenderableItemGroup = ItemGroup<RenderableActivity>;
9
+ /** A question's place: its slot, as `<ActivitySequence>` reports it, plus the quiz it sits in. */
10
+ interface InteractiveVideoSlot extends SequenceRecordingSlot {
11
+ cueId: string;
12
+ }
13
+ /** What `onFinished` reports: every question, and how the learner left it. */
14
+ interface InteractiveVideoSummary {
15
+ slots: {
16
+ slotId: string;
17
+ activityId: string;
18
+ cueId: string;
19
+ status: 'answered' | 'skipped' | 'unreached';
20
+ }[];
21
+ }
22
+ interface InteractiveVideoProps {
23
+ /** An item group with a video stimulus and a timeline. Redacted projections in exam and review. */
24
+ group: RenderableItemGroup;
25
+ renderMode?: RenderMode;
26
+ /** Where to resume. Read through `readMediaProgress` and clamped; a required quiz is never skipped by a resume. */
27
+ progress?: MediaProgress;
28
+ /** At most every 5 s while playing, and on pause, seek, a quiz opening and the end. */
29
+ onProgress?: (progress: MediaProgress) => void;
30
+ /** Answers restored from the host, by slot id: `AttemptState.responses`. Read once, at mount. */
31
+ responses?: Readonly<Record<string, LearnerResponse>>;
32
+ /**
33
+ * Questions the learner had already submitted, from
34
+ * `AttemptState.submittedSlotIds`: mounted submitted, and counted as
35
+ * answered, so a resumed video neither reopens a committed answer nor stops
36
+ * again at a quiz already done. Read once, at mount.
37
+ */
38
+ submittedSlotIds?: readonly string[];
39
+ /** Stored outcomes, by slot id: review, and the grades of questions graded later. */
40
+ outcomes?: Readonly<Record<string, ItemOutcome>>;
41
+ onSubmit?: (response: LearnerResponse, slot: InteractiveVideoSlot) => void;
42
+ onActivityComplete?: (result: ActivityResult, slot: InteractiveVideoSlot) => void;
43
+ /** Once per mount: when the learner presses Finish, or the video ends with every question answered. */
44
+ onFinished?: (summary: InteractiveVideoSummary) => void;
45
+ onInteraction?: (event: InteractionEvent) => void;
46
+ /** Where read-aloud takes are stored and judged. Required when the video holds a read-aloud, outside review. */
47
+ recordingBinding?: SequenceRecordingBinding;
48
+ /** Speech assessments by slot id, so `review` shows the marks behind a read-aloud's grade. Read live. */
49
+ assessments?: Readonly<Record<string, SpeechAssessment>>;
50
+ /** A self-hosted copy of the read-aloud capture processor, for a strict Content-Security-Policy. */
51
+ workletUrl?: string;
52
+ /**
53
+ * Fetches a caption file with the host's credentials and returns its WebVTT
54
+ * text. Without it, the player fetches `src` itself — which a `<track>`
55
+ * could not do for a URL that needs an Authorization header.
56
+ */
57
+ captionsLoader?: (track: MediaTrack) => Promise<string>;
58
+ /**
59
+ * FORCES preferences: each field given here overrides what the learner chose,
60
+ * every time the video opens. For a starting point the learner can still
61
+ * change — a language pair, say — pass `defaultPreferences` instead. Read when
62
+ * the video opens; the learner's own changes after that hold.
63
+ */
64
+ preferences?: Partial<VideoPreferences>;
65
+ /**
66
+ * Preferences to start from, below what the learner chose in this browser:
67
+ * each field applies until the learner changes it. A host that keeps the
68
+ * learner's choice on their account passes it back here — on a new device
69
+ * nothing is stored, so the account's choice applies; on the same device the
70
+ * stored choice is that same choice. Read live: a value that arrives after
71
+ * the video opens still fills every field nobody chose.
72
+ */
73
+ defaultPreferences?: Partial<VideoPreferences>;
74
+ /**
75
+ * After each change the learner makes — a menu, a shortcut, the volume, the
76
+ * speed — with the preferences now in force and the fields that changed.
77
+ * Never when the video opens, and never for `preferences`. The player still
78
+ * remembers the change in this browser; this is for a host that keeps it on
79
+ * the learner's account as well.
80
+ */
81
+ onPreferencesChange?: (next: VideoPreferences, change: Partial<VideoPreferences>) => void;
82
+ /** A short label in the corner, such as a lesson code. */
83
+ label?: string;
84
+ /** Seed for the option order of multiple-choice and gap-select questions: the attempt id. */
85
+ shuffleSeed?: string;
86
+ locale?: string;
87
+ strings?: LkStringsOverride;
88
+ theme?: Partial<ThemeTokens>;
89
+ sanitizeHtml?: HtmlSanitizer;
90
+ }
91
+
92
+ /** The two lines a learner can have: which track each shows, if any. */
93
+ interface CaptionTracks {
94
+ primary?: MediaTrack;
95
+ secondary?: MediaTrack;
96
+ }
97
+ /**
98
+ * Which track each caption line shows, from the learner's two choices.
99
+ *
100
+ * The primary line always shows something while there are tracks:
101
+ * 1. the track in `captionLanguage` (case-insensitive);
102
+ * 2. else one of the same primary language — `pt` finds `pt-BR`, `es` finds
103
+ * `es-419`;
104
+ * 3. else the `default` track;
105
+ * 4. else the first.
106
+ *
107
+ * Where two tracks share a language, the `captions` one wins.
108
+ *
109
+ * The secondary line is stricter: it appears only when `secondaryCaptionLanguage`
110
+ * is set and matches a track in another language, by steps 1 and 2 alone —
111
+ * never the default, never the first. A second line the learner did not choose
112
+ * must never appear.
113
+ */
114
+ declare function resolveCaptionTracks(tracks: readonly MediaTrack[], preferences: Pick<VideoPreferences, 'captionLanguage' | 'secondaryCaptionLanguage'>): CaptionTracks;
115
+
116
+ /**
117
+ * Public interactive video: the player wrapped in `ActivityErrorBoundary`, so a
118
+ * render failure — the development-time schema check among them — degrades to
119
+ * an accessible fallback instead of taking the host page down.
120
+ */
121
+ declare function InteractiveVideo(props: InteractiveVideoProps): react_jsx_runtime.JSX.Element;
122
+
123
+ export { type CaptionTracks, InteractiveVideo, type InteractiveVideoProps, type InteractiveVideoSlot, type InteractiveVideoSummary, type RenderableItemGroup, VideoPreferences, resolveCaptionTracks };
@@ -0,0 +1,123 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ItemGroup, MediaProgress, LearnerResponse, ItemOutcome, ActivityResult, InteractionEvent, SpeechAssessment, MediaTrack, ThemeTokens } from '@intellectif/lk-core';
3
+ import { g as RenderableActivity, e as RenderMode, i as SequenceRecordingSlot, h as SequenceRecordingBinding, V as VideoPreferences, a as LkStringsOverride, H as HtmlSanitizer } from '../strings-Dgc5-DeA.js';
4
+ export { C as CaptionSize } from '../strings-Dgc5-DeA.js';
5
+ import '../machine-CuwKqWXC.js';
6
+
7
+ /** An item group whose items may be `redact()` projections: the client's view of an interactive video. */
8
+ type RenderableItemGroup = ItemGroup<RenderableActivity>;
9
+ /** A question's place: its slot, as `<ActivitySequence>` reports it, plus the quiz it sits in. */
10
+ interface InteractiveVideoSlot extends SequenceRecordingSlot {
11
+ cueId: string;
12
+ }
13
+ /** What `onFinished` reports: every question, and how the learner left it. */
14
+ interface InteractiveVideoSummary {
15
+ slots: {
16
+ slotId: string;
17
+ activityId: string;
18
+ cueId: string;
19
+ status: 'answered' | 'skipped' | 'unreached';
20
+ }[];
21
+ }
22
+ interface InteractiveVideoProps {
23
+ /** An item group with a video stimulus and a timeline. Redacted projections in exam and review. */
24
+ group: RenderableItemGroup;
25
+ renderMode?: RenderMode;
26
+ /** Where to resume. Read through `readMediaProgress` and clamped; a required quiz is never skipped by a resume. */
27
+ progress?: MediaProgress;
28
+ /** At most every 5 s while playing, and on pause, seek, a quiz opening and the end. */
29
+ onProgress?: (progress: MediaProgress) => void;
30
+ /** Answers restored from the host, by slot id: `AttemptState.responses`. Read once, at mount. */
31
+ responses?: Readonly<Record<string, LearnerResponse>>;
32
+ /**
33
+ * Questions the learner had already submitted, from
34
+ * `AttemptState.submittedSlotIds`: mounted submitted, and counted as
35
+ * answered, so a resumed video neither reopens a committed answer nor stops
36
+ * again at a quiz already done. Read once, at mount.
37
+ */
38
+ submittedSlotIds?: readonly string[];
39
+ /** Stored outcomes, by slot id: review, and the grades of questions graded later. */
40
+ outcomes?: Readonly<Record<string, ItemOutcome>>;
41
+ onSubmit?: (response: LearnerResponse, slot: InteractiveVideoSlot) => void;
42
+ onActivityComplete?: (result: ActivityResult, slot: InteractiveVideoSlot) => void;
43
+ /** Once per mount: when the learner presses Finish, or the video ends with every question answered. */
44
+ onFinished?: (summary: InteractiveVideoSummary) => void;
45
+ onInteraction?: (event: InteractionEvent) => void;
46
+ /** Where read-aloud takes are stored and judged. Required when the video holds a read-aloud, outside review. */
47
+ recordingBinding?: SequenceRecordingBinding;
48
+ /** Speech assessments by slot id, so `review` shows the marks behind a read-aloud's grade. Read live. */
49
+ assessments?: Readonly<Record<string, SpeechAssessment>>;
50
+ /** A self-hosted copy of the read-aloud capture processor, for a strict Content-Security-Policy. */
51
+ workletUrl?: string;
52
+ /**
53
+ * Fetches a caption file with the host's credentials and returns its WebVTT
54
+ * text. Without it, the player fetches `src` itself — which a `<track>`
55
+ * could not do for a URL that needs an Authorization header.
56
+ */
57
+ captionsLoader?: (track: MediaTrack) => Promise<string>;
58
+ /**
59
+ * FORCES preferences: each field given here overrides what the learner chose,
60
+ * every time the video opens. For a starting point the learner can still
61
+ * change — a language pair, say — pass `defaultPreferences` instead. Read when
62
+ * the video opens; the learner's own changes after that hold.
63
+ */
64
+ preferences?: Partial<VideoPreferences>;
65
+ /**
66
+ * Preferences to start from, below what the learner chose in this browser:
67
+ * each field applies until the learner changes it. A host that keeps the
68
+ * learner's choice on their account passes it back here — on a new device
69
+ * nothing is stored, so the account's choice applies; on the same device the
70
+ * stored choice is that same choice. Read live: a value that arrives after
71
+ * the video opens still fills every field nobody chose.
72
+ */
73
+ defaultPreferences?: Partial<VideoPreferences>;
74
+ /**
75
+ * After each change the learner makes — a menu, a shortcut, the volume, the
76
+ * speed — with the preferences now in force and the fields that changed.
77
+ * Never when the video opens, and never for `preferences`. The player still
78
+ * remembers the change in this browser; this is for a host that keeps it on
79
+ * the learner's account as well.
80
+ */
81
+ onPreferencesChange?: (next: VideoPreferences, change: Partial<VideoPreferences>) => void;
82
+ /** A short label in the corner, such as a lesson code. */
83
+ label?: string;
84
+ /** Seed for the option order of multiple-choice and gap-select questions: the attempt id. */
85
+ shuffleSeed?: string;
86
+ locale?: string;
87
+ strings?: LkStringsOverride;
88
+ theme?: Partial<ThemeTokens>;
89
+ sanitizeHtml?: HtmlSanitizer;
90
+ }
91
+
92
+ /** The two lines a learner can have: which track each shows, if any. */
93
+ interface CaptionTracks {
94
+ primary?: MediaTrack;
95
+ secondary?: MediaTrack;
96
+ }
97
+ /**
98
+ * Which track each caption line shows, from the learner's two choices.
99
+ *
100
+ * The primary line always shows something while there are tracks:
101
+ * 1. the track in `captionLanguage` (case-insensitive);
102
+ * 2. else one of the same primary language — `pt` finds `pt-BR`, `es` finds
103
+ * `es-419`;
104
+ * 3. else the `default` track;
105
+ * 4. else the first.
106
+ *
107
+ * Where two tracks share a language, the `captions` one wins.
108
+ *
109
+ * The secondary line is stricter: it appears only when `secondaryCaptionLanguage`
110
+ * is set and matches a track in another language, by steps 1 and 2 alone —
111
+ * never the default, never the first. A second line the learner did not choose
112
+ * must never appear.
113
+ */
114
+ declare function resolveCaptionTracks(tracks: readonly MediaTrack[], preferences: Pick<VideoPreferences, 'captionLanguage' | 'secondaryCaptionLanguage'>): CaptionTracks;
115
+
116
+ /**
117
+ * Public interactive video: the player wrapped in `ActivityErrorBoundary`, so a
118
+ * render failure — the development-time schema check among them — degrades to
119
+ * an accessible fallback instead of taking the host page down.
120
+ */
121
+ declare function InteractiveVideo(props: InteractiveVideoProps): react_jsx_runtime.JSX.Element;
122
+
123
+ export { type CaptionTracks, InteractiveVideo, type InteractiveVideoProps, type InteractiveVideoSlot, type InteractiveVideoSummary, type RenderableItemGroup, VideoPreferences, resolveCaptionTracks };
@@ -0,0 +1,17 @@
1
+ 'use client';
2
+ export { InteractiveVideo, resolveCaptionTracks } from '../chunk-3IHVDQRC.js';
3
+ import '../chunk-4X7NFEDB.js';
4
+ import '../chunk-4AQ4SWJ3.js';
5
+ import '../chunk-UYRQEIB7.js';
6
+ import '../chunk-T33AJYLW.js';
7
+ import '../chunk-W32ND3ZR.js';
8
+ import '../chunk-HJLVWZOM.js';
9
+ import '../chunk-MCO52PV5.js';
10
+ import '../chunk-YORQQXGO.js';
11
+ import '../chunk-RCMYEWBE.js';
12
+ import '../chunk-ICAYWVNF.js';
13
+ import '../chunk-UIGSH2XB.js';
14
+ import '../chunk-6N43WDVG.js';
15
+ import '../chunk-QIA5FAAW.js';
16
+ //# sourceMappingURL=InteractiveVideo.js.map
17
+ //# sourceMappingURL=InteractiveVideo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"InteractiveVideo.js"}
@@ -1,18 +1,18 @@
1
1
  'use client';
2
2
  'use strict';
3
3
 
4
- var chunkJG4DWAUJ_cjs = require('../chunk-JG4DWAUJ.cjs');
4
+ var chunkDMCFARGP_cjs = require('../chunk-DMCFARGP.cjs');
5
5
  require('../chunk-BRPEB43C.cjs');
6
- require('../chunk-DPEY7DSE.cjs');
7
- require('../chunk-UMDWVMB5.cjs');
6
+ require('../chunk-P5FGJMMI.cjs');
7
+ require('../chunk-OXUUE3HX.cjs');
8
8
  require('../chunk-XOR4MPEN.cjs');
9
- require('../chunk-VSFHJ7FB.cjs');
9
+ require('../chunk-UISZWFI7.cjs');
10
10
 
11
11
 
12
12
 
13
13
  Object.defineProperty(exports, "MultipleChoice", {
14
14
  enumerable: true,
15
- get: function () { return chunkJG4DWAUJ_cjs.MultipleChoice; }
15
+ get: function () { return chunkDMCFARGP_cjs.MultipleChoice; }
16
16
  });
17
17
  //# sourceMappingURL=MultipleChoice.cjs.map
18
18
  //# sourceMappingURL=MultipleChoice.cjs.map
@@ -1,6 +1,6 @@
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-wjAF2ONm.cjs';
3
+ import { A as ActivityProps } from '../strings-zY2QQYpU.cjs';
4
4
  import '../machine-CuwKqWXC.cjs';
5
5
 
6
6
  interface MultipleChoiceProps extends ActivityProps<MultipleChoiceData> {
@@ -1,6 +1,6 @@
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-l8Wv1Xax.js';
3
+ import { A as ActivityProps } from '../strings-Dgc5-DeA.js';
4
4
  import '../machine-CuwKqWXC.js';
5
5
 
6
6
  interface MultipleChoiceProps extends ActivityProps<MultipleChoiceData> {
@@ -1,9 +1,9 @@
1
1
  'use client';
2
- export { MultipleChoice } from '../chunk-UDQS5INQ.js';
2
+ export { MultipleChoice } from '../chunk-4X7NFEDB.js';
3
3
  import '../chunk-RCMYEWBE.js';
4
- import '../chunk-B4BCEQNO.js';
5
- import '../chunk-DB4DLHN6.js';
4
+ import '../chunk-ICAYWVNF.js';
5
+ import '../chunk-UIGSH2XB.js';
6
6
  import '../chunk-6N43WDVG.js';
7
- import '../chunk-AWQ53DON.js';
7
+ import '../chunk-QIA5FAAW.js';
8
8
  //# sourceMappingURL=MultipleChoice.js.map
9
9
  //# sourceMappingURL=MultipleChoice.js.map
@@ -1,16 +1,16 @@
1
1
  'use client';
2
2
  'use strict';
3
3
 
4
- var chunkYM64MS4G_cjs = require('../chunk-YM64MS4G.cjs');
4
+ var chunkBO64SLHL_cjs = require('../chunk-BO64SLHL.cjs');
5
5
  require('../chunk-OD65OZIW.cjs');
6
- require('../chunk-DPEY7DSE.cjs');
7
- require('../chunk-VSFHJ7FB.cjs');
6
+ require('../chunk-P5FGJMMI.cjs');
7
+ require('../chunk-UISZWFI7.cjs');
8
8
 
9
9
 
10
10
 
11
11
  Object.defineProperty(exports, "PronunciationFeedback", {
12
12
  enumerable: true,
13
- get: function () { return chunkYM64MS4G_cjs.PronunciationFeedback; }
13
+ get: function () { return chunkBO64SLHL_cjs.PronunciationFeedback; }
14
14
  });
15
15
  //# sourceMappingURL=PronunciationFeedback.cjs.map
16
16
  //# sourceMappingURL=PronunciationFeedback.cjs.map
@@ -1,6 +1,6 @@
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-wjAF2ONm.cjs';
3
+ import { a as LkStringsOverride } from '../strings-zY2QQYpU.cjs';
4
4
  import '../machine-CuwKqWXC.cjs';
5
5
 
6
6
  interface PronunciationFeedbackProps {
@@ -1,6 +1,6 @@
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-l8Wv1Xax.js';
3
+ import { a as LkStringsOverride } from '../strings-Dgc5-DeA.js';
4
4
  import '../machine-CuwKqWXC.js';
5
5
 
6
6
  interface PronunciationFeedbackProps {
@@ -1,7 +1,7 @@
1
1
  'use client';
2
- export { PronunciationFeedback } from '../chunk-TUVEJLOT.js';
2
+ export { PronunciationFeedback } from '../chunk-HJLVWZOM.js';
3
3
  import '../chunk-YORQQXGO.js';
4
- import '../chunk-B4BCEQNO.js';
5
- import '../chunk-AWQ53DON.js';
4
+ import '../chunk-ICAYWVNF.js';
5
+ import '../chunk-QIA5FAAW.js';
6
6
  //# sourceMappingURL=PronunciationFeedback.js.map
7
7
  //# sourceMappingURL=PronunciationFeedback.js.map