@intellectif/lk-react 15.0.0 → 16.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. package/CHANGELOG.md +95 -0
  2. package/README.md +3 -3
  3. package/dist/{WrittenResponse-BPbhERgk.d.cts → WrittenResponse-6tSj6U3G.d.cts} +1 -1
  4. package/dist/{WrittenResponse-ZAxLR_AU.d.ts → WrittenResponse-xJ7I_5yq.d.ts} +1 -1
  5. package/dist/{chunk-53YOZOGN.cjs → chunk-2S3MK4VX.cjs} +5 -5
  6. package/dist/{chunk-53YOZOGN.cjs.map → chunk-2S3MK4VX.cjs.map} +1 -1
  7. package/dist/{chunk-4H3JTX74.cjs → chunk-2TFNDHJ5.cjs} +13 -13
  8. package/dist/{chunk-4H3JTX74.cjs.map → chunk-2TFNDHJ5.cjs.map} +1 -1
  9. package/dist/{chunk-AF72QUBI.js → chunk-2XNCPLHU.js} +5 -5
  10. package/dist/{chunk-AF72QUBI.js.map → chunk-2XNCPLHU.js.map} +1 -1
  11. package/dist/{chunk-RT5FTHUU.js → chunk-3UXRX4KU.js} +5 -5
  12. package/dist/{chunk-RT5FTHUU.js.map → chunk-3UXRX4KU.js.map} +1 -1
  13. package/dist/{chunk-CE6OGJE6.js → chunk-5QHVYOME.js} +5 -5
  14. package/dist/{chunk-CE6OGJE6.js.map → chunk-5QHVYOME.js.map} +1 -1
  15. package/dist/{chunk-EKBEKDWO.cjs → chunk-B6S5ADHR.cjs} +13 -13
  16. package/dist/{chunk-EKBEKDWO.cjs.map → chunk-B6S5ADHR.cjs.map} +1 -1
  17. package/dist/{chunk-QM4AV6EG.js → chunk-BI547RIA.js} +4 -4
  18. package/dist/{chunk-QM4AV6EG.js.map → chunk-BI547RIA.js.map} +1 -1
  19. package/dist/{chunk-WKOV25NP.cjs → chunk-DFMBVA7D.cjs} +8 -8
  20. package/dist/{chunk-WKOV25NP.cjs.map → chunk-DFMBVA7D.cjs.map} +1 -1
  21. package/dist/{chunk-ZJMTHPHY.js → chunk-DKZWUIQD.js} +3 -3
  22. package/dist/{chunk-ZJMTHPHY.js.map → chunk-DKZWUIQD.js.map} +1 -1
  23. package/dist/{chunk-2HAEQDHQ.js → chunk-DVOPHC2Q.js} +755 -201
  24. package/dist/chunk-DVOPHC2Q.js.map +1 -0
  25. package/dist/{chunk-DQ3VVU5T.cjs → chunk-FZWWVJE4.cjs} +24 -24
  26. package/dist/{chunk-DQ3VVU5T.cjs.map → chunk-FZWWVJE4.cjs.map} +1 -1
  27. package/dist/{chunk-I2QGW4GD.js → chunk-GDMM2WEG.js} +11 -11
  28. package/dist/{chunk-I2QGW4GD.js.map → chunk-GDMM2WEG.js.map} +1 -1
  29. package/dist/{chunk-QEB6O6GU.js → chunk-GUPBIEUA.js} +6 -6
  30. package/dist/{chunk-QEB6O6GU.js.map → chunk-GUPBIEUA.js.map} +1 -1
  31. package/dist/{chunk-33BQNWAQ.js → chunk-IQI5I2X5.js} +5 -5
  32. package/dist/{chunk-33BQNWAQ.js.map → chunk-IQI5I2X5.js.map} +1 -1
  33. package/dist/{chunk-YWQH35VO.js → chunk-JPDR6TTA.js} +4 -4
  34. package/dist/{chunk-YWQH35VO.js.map → chunk-JPDR6TTA.js.map} +1 -1
  35. package/dist/{chunk-UCKA22ZJ.cjs → chunk-K63VPFOV.cjs} +9 -2
  36. package/dist/chunk-K63VPFOV.cjs.map +1 -0
  37. package/dist/{chunk-52GXJNQ3.js → chunk-KSAINXRG.js} +9 -2
  38. package/dist/chunk-KSAINXRG.js.map +1 -0
  39. package/dist/{chunk-ZH5WT2IE.cjs → chunk-ML6L4LJH.cjs} +25 -25
  40. package/dist/{chunk-ZH5WT2IE.cjs.map → chunk-ML6L4LJH.cjs.map} +1 -1
  41. package/dist/{chunk-Z6TVOAO5.cjs → chunk-MQAZJQRE.cjs} +9 -2
  42. package/dist/chunk-MQAZJQRE.cjs.map +1 -0
  43. package/dist/{chunk-UAYWLYFW.cjs → chunk-OO24JGYH.cjs} +18 -18
  44. package/dist/{chunk-UAYWLYFW.cjs.map → chunk-OO24JGYH.cjs.map} +1 -1
  45. package/dist/{chunk-26GQO5I2.cjs → chunk-PTJTC6A3.cjs} +12 -12
  46. package/dist/{chunk-26GQO5I2.cjs.map → chunk-PTJTC6A3.cjs.map} +1 -1
  47. package/dist/{chunk-DP3DM7FR.cjs → chunk-PXGJHZKJ.cjs} +6 -6
  48. package/dist/{chunk-DP3DM7FR.cjs.map → chunk-PXGJHZKJ.cjs.map} +1 -1
  49. package/dist/{chunk-XMJE34FY.cjs → chunk-RSQFGF5W.cjs} +13 -13
  50. package/dist/{chunk-XMJE34FY.cjs.map → chunk-RSQFGF5W.cjs.map} +1 -1
  51. package/dist/{chunk-FKGUKFC7.cjs → chunk-TRP5Z3XW.cjs} +5 -5
  52. package/dist/{chunk-FKGUKFC7.cjs.map → chunk-TRP5Z3XW.cjs.map} +1 -1
  53. package/dist/{chunk-EVBYEWHO.js → chunk-UHKZXOXD.js} +9 -2
  54. package/dist/chunk-UHKZXOXD.js.map +1 -0
  55. package/dist/{chunk-IE5ZNCWN.js → chunk-VC2MPB2Y.js} +5 -5
  56. package/dist/{chunk-IE5ZNCWN.js.map → chunk-VC2MPB2Y.js.map} +1 -1
  57. package/dist/{chunk-SRD4KVAP.cjs → chunk-WOYCT5M6.cjs} +764 -209
  58. package/dist/chunk-WOYCT5M6.cjs.map +1 -0
  59. package/dist/{chunk-H6I2JDNW.js → chunk-ZEDMFTKD.js} +10 -10
  60. package/dist/{chunk-H6I2JDNW.js.map → chunk-ZEDMFTKD.js.map} +1 -1
  61. package/dist/{chunk-HA3VRF6E.js → chunk-ZPCO3CEB.js} +3 -3
  62. package/dist/{chunk-HA3VRF6E.js.map → chunk-ZPCO3CEB.js.map} +1 -1
  63. package/dist/{chunk-L7NE7PR4.cjs → chunk-ZSY4VANQ.cjs} +13 -13
  64. package/dist/{chunk-L7NE7PR4.cjs.map → chunk-ZSY4VANQ.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 +15 -11
  86. package/dist/components/InteractiveVideo.d.cts +164 -7
  87. package/dist/components/InteractiveVideo.d.ts +164 -7
  88. package/dist/components/InteractiveVideo.js +10 -10
  89. package/dist/components/MultipleChoice.cjs +5 -5
  90. package/dist/components/MultipleChoice.d.cts +1 -1
  91. package/dist/components/MultipleChoice.d.ts +1 -1
  92. package/dist/components/MultipleChoice.js +4 -4
  93. package/dist/components/PronunciationFeedback.cjs +4 -4
  94. package/dist/components/PronunciationFeedback.d.cts +1 -1
  95. package/dist/components/PronunciationFeedback.d.ts +1 -1
  96. package/dist/components/PronunciationFeedback.js +3 -3
  97. package/dist/components/ReadAloud.cjs +6 -6
  98. package/dist/components/ReadAloud.d.cts +2 -2
  99. package/dist/components/ReadAloud.d.ts +2 -2
  100. package/dist/components/ReadAloud.js +5 -5
  101. package/dist/components/StimulusPanel.cjs +4 -4
  102. package/dist/components/StimulusPanel.d.cts +1 -1
  103. package/dist/components/StimulusPanel.d.ts +1 -1
  104. package/dist/components/StimulusPanel.js +3 -3
  105. package/dist/components/WrittenResponse.cjs +5 -5
  106. package/dist/components/WrittenResponse.d.cts +3 -3
  107. package/dist/components/WrittenResponse.d.ts +3 -3
  108. package/dist/components/WrittenResponse.js +4 -4
  109. package/dist/i18n/LkIntlProvider.cjs +7 -7
  110. package/dist/i18n/LkIntlProvider.d.cts +2 -2
  111. package/dist/i18n/LkIntlProvider.d.ts +2 -2
  112. package/dist/i18n/LkIntlProvider.js +1 -1
  113. package/dist/index.cjs +41 -37
  114. package/dist/index.d.cts +3 -3
  115. package/dist/index.d.ts +3 -3
  116. package/dist/index.js +15 -15
  117. package/dist/{strings-5588Q4Te.d.cts → strings-C6wM5aUQ.d.cts} +23 -2
  118. package/dist/{strings-D0IWcsUm.d.ts → strings-Cd_2F-Bw.d.ts} +23 -2
  119. package/dist/theme/ThemeProvider.cjs +6 -6
  120. package/dist/theme/ThemeProvider.js +1 -1
  121. package/dist/theme/defaults.css +7 -0
  122. package/dist/theme/skin.css +60 -6
  123. package/package.json +3 -3
  124. package/dist/chunk-2HAEQDHQ.js.map +0 -1
  125. package/dist/chunk-52GXJNQ3.js.map +0 -1
  126. package/dist/chunk-EVBYEWHO.js.map +0 -1
  127. package/dist/chunk-SRD4KVAP.cjs.map +0 -1
  128. package/dist/chunk-UCKA22ZJ.cjs.map +0 -1
  129. package/dist/chunk-Z6TVOAO5.cjs.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import { Stimulus, InteractionEvent } from '@intellectif/lk-core';
2
- import { H as HtmlSanitizer, e as RenderMode, M as MediaBudgetBinding, b as MediaTransportStrings, a as LkStringsOverride } from '../strings-5588Q4Te.cjs';
2
+ import { H as HtmlSanitizer, e as RenderMode, M as MediaBudgetBinding, b as MediaTransportStrings, a as LkStringsOverride } from '../strings-C6wM5aUQ.cjs';
3
3
  import '../machine-CuwKqWXC.cjs';
4
4
 
5
5
  interface StimulusPanelProps {
@@ -1,5 +1,5 @@
1
1
  import { Stimulus, InteractionEvent } from '@intellectif/lk-core';
2
- import { H as HtmlSanitizer, e as RenderMode, M as MediaBudgetBinding, b as MediaTransportStrings, a as LkStringsOverride } from '../strings-D0IWcsUm.js';
2
+ import { H as HtmlSanitizer, e as RenderMode, M as MediaBudgetBinding, b as MediaTransportStrings, a as LkStringsOverride } from '../strings-Cd_2F-Bw.js';
3
3
  import '../machine-CuwKqWXC.js';
4
4
 
5
5
  interface StimulusPanelProps {
@@ -1,6 +1,6 @@
1
1
  'use client';
2
- export { StimulusPanel } from '../chunk-YWQH35VO.js';
3
- import '../chunk-HA3VRF6E.js';
4
- import '../chunk-52GXJNQ3.js';
2
+ export { StimulusPanel } from '../chunk-JPDR6TTA.js';
3
+ import '../chunk-ZPCO3CEB.js';
4
+ import '../chunk-KSAINXRG.js';
5
5
  //# sourceMappingURL=StimulusPanel.js.map
6
6
  //# sourceMappingURL=StimulusPanel.js.map
@@ -1,18 +1,18 @@
1
1
  'use client';
2
2
  'use strict';
3
3
 
4
- var chunk26GQO5I2_cjs = require('../chunk-26GQO5I2.cjs');
4
+ var chunkPTJTC6A3_cjs = require('../chunk-PTJTC6A3.cjs');
5
5
  require('../chunk-BRPEB43C.cjs');
6
- require('../chunk-53YOZOGN.cjs');
7
- require('../chunk-FKGUKFC7.cjs');
6
+ require('../chunk-2S3MK4VX.cjs');
7
+ require('../chunk-TRP5Z3XW.cjs');
8
8
  require('../chunk-XOR4MPEN.cjs');
9
- require('../chunk-Z6TVOAO5.cjs');
9
+ require('../chunk-MQAZJQRE.cjs');
10
10
 
11
11
 
12
12
 
13
13
  Object.defineProperty(exports, "WrittenResponse", {
14
14
  enumerable: true,
15
- get: function () { return chunk26GQO5I2_cjs.WrittenResponse; }
15
+ get: function () { return chunkPTJTC6A3_cjs.WrittenResponse; }
16
16
  });
17
17
  //# sourceMappingURL=WrittenResponse.cjs.map
18
18
  //# sourceMappingURL=WrittenResponse.cjs.map
@@ -1,7 +1,7 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { W as WrittenResponseProps } from '../WrittenResponse-BPbhERgk.cjs';
3
- export { a as WrittenResponseSubmission } from '../WrittenResponse-BPbhERgk.cjs';
4
- export { H as HtmlSanitizer, e as RenderMode, f as Renderable } from '../strings-5588Q4Te.cjs';
2
+ import { W as WrittenResponseProps } from '../WrittenResponse-6tSj6U3G.cjs';
3
+ export { a as WrittenResponseSubmission } from '../WrittenResponse-6tSj6U3G.cjs';
4
+ export { H as HtmlSanitizer, e as RenderMode, f as Renderable } from '../strings-C6wM5aUQ.cjs';
5
5
  import '@intellectif/lk-core';
6
6
  import '../machine-CuwKqWXC.cjs';
7
7
 
@@ -1,7 +1,7 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { W as WrittenResponseProps } from '../WrittenResponse-ZAxLR_AU.js';
3
- export { a as WrittenResponseSubmission } from '../WrittenResponse-ZAxLR_AU.js';
4
- export { H as HtmlSanitizer, e as RenderMode, f as Renderable } from '../strings-D0IWcsUm.js';
2
+ import { W as WrittenResponseProps } from '../WrittenResponse-xJ7I_5yq.js';
3
+ export { a as WrittenResponseSubmission } from '../WrittenResponse-xJ7I_5yq.js';
4
+ export { H as HtmlSanitizer, e as RenderMode, f as Renderable } from '../strings-Cd_2F-Bw.js';
5
5
  import '@intellectif/lk-core';
6
6
  import '../machine-CuwKqWXC.js';
7
7
 
@@ -1,9 +1,9 @@
1
1
  'use client';
2
- export { WrittenResponse } from '../chunk-AF72QUBI.js';
2
+ export { WrittenResponse } from '../chunk-2XNCPLHU.js';
3
3
  import '../chunk-RCMYEWBE.js';
4
- import '../chunk-ZJMTHPHY.js';
5
- import '../chunk-HA3VRF6E.js';
4
+ import '../chunk-DKZWUIQD.js';
5
+ import '../chunk-ZPCO3CEB.js';
6
6
  import '../chunk-6N43WDVG.js';
7
- import '../chunk-52GXJNQ3.js';
7
+ import '../chunk-KSAINXRG.js';
8
8
  //# sourceMappingURL=WrittenResponse.js.map
9
9
  //# sourceMappingURL=WrittenResponse.js.map
@@ -1,33 +1,33 @@
1
1
  'use client';
2
2
  'use strict';
3
3
 
4
- var chunkZ6TVOAO5_cjs = require('../chunk-Z6TVOAO5.cjs');
4
+ var chunkMQAZJQRE_cjs = require('../chunk-MQAZJQRE.cjs');
5
5
 
6
6
 
7
7
 
8
8
  Object.defineProperty(exports, "DEFAULT_STRINGS", {
9
9
  enumerable: true,
10
- get: function () { return chunkZ6TVOAO5_cjs.DEFAULT_STRINGS; }
10
+ get: function () { return chunkMQAZJQRE_cjs.DEFAULT_STRINGS; }
11
11
  });
12
12
  Object.defineProperty(exports, "LkIntlProvider", {
13
13
  enumerable: true,
14
- get: function () { return chunkZ6TVOAO5_cjs.LkIntlProvider; }
14
+ get: function () { return chunkMQAZJQRE_cjs.LkIntlProvider; }
15
15
  });
16
16
  Object.defineProperty(exports, "directionForLocale", {
17
17
  enumerable: true,
18
- get: function () { return chunkZ6TVOAO5_cjs.directionForLocale; }
18
+ get: function () { return chunkMQAZJQRE_cjs.directionForLocale; }
19
19
  });
20
20
  Object.defineProperty(exports, "mergeStrings", {
21
21
  enumerable: true,
22
- get: function () { return chunkZ6TVOAO5_cjs.mergeStrings; }
22
+ get: function () { return chunkMQAZJQRE_cjs.mergeStrings; }
23
23
  });
24
24
  Object.defineProperty(exports, "useLkDirection", {
25
25
  enumerable: true,
26
- get: function () { return chunkZ6TVOAO5_cjs.useLkDirection; }
26
+ get: function () { return chunkMQAZJQRE_cjs.useLkDirection; }
27
27
  });
28
28
  Object.defineProperty(exports, "useLkStrings", {
29
29
  enumerable: true,
30
- get: function () { return chunkZ6TVOAO5_cjs.useLkStrings; }
30
+ get: function () { return chunkMQAZJQRE_cjs.useLkStrings; }
31
31
  });
32
32
  //# sourceMappingURL=LkIntlProvider.cjs.map
33
33
  //# sourceMappingURL=LkIntlProvider.cjs.map
@@ -1,5 +1,5 @@
1
- import { a as LkStringsOverride, L as LkStrings } from '../strings-5588Q4Te.cjs';
2
- export { D as DEFAULT_STRINGS, m as mergeStrings } from '../strings-5588Q4Te.cjs';
1
+ import { a as LkStringsOverride, L as LkStrings } from '../strings-C6wM5aUQ.cjs';
2
+ export { D as DEFAULT_STRINGS, m as mergeStrings } from '../strings-C6wM5aUQ.cjs';
3
3
  import '@intellectif/lk-core';
4
4
  import '../machine-CuwKqWXC.cjs';
5
5
 
@@ -1,5 +1,5 @@
1
- import { a as LkStringsOverride, L as LkStrings } from '../strings-D0IWcsUm.js';
2
- export { D as DEFAULT_STRINGS, m as mergeStrings } from '../strings-D0IWcsUm.js';
1
+ import { a as LkStringsOverride, L as LkStrings } from '../strings-Cd_2F-Bw.js';
2
+ export { D as DEFAULT_STRINGS, m as mergeStrings } from '../strings-Cd_2F-Bw.js';
3
3
  import '@intellectif/lk-core';
4
4
  import '../machine-CuwKqWXC.js';
5
5
 
@@ -1,4 +1,4 @@
1
1
  'use client';
2
- export { DEFAULT_STRINGS, LkIntlProvider, directionForLocale, mergeStrings, useLkDirection, useLkStrings } from '../chunk-52GXJNQ3.js';
2
+ export { DEFAULT_STRINGS, LkIntlProvider, directionForLocale, mergeStrings, useLkDirection, useLkStrings } from '../chunk-KSAINXRG.js';
3
3
  //# sourceMappingURL=LkIntlProvider.js.map
4
4
  //# sourceMappingURL=LkIntlProvider.js.map
package/dist/index.cjs CHANGED
@@ -1,26 +1,26 @@
1
1
  'use client';
2
2
  'use strict';
3
3
 
4
- var chunkUCKA22ZJ_cjs = require('./chunk-UCKA22ZJ.cjs');
5
- var chunkSRD4KVAP_cjs = require('./chunk-SRD4KVAP.cjs');
4
+ var chunkK63VPFOV_cjs = require('./chunk-K63VPFOV.cjs');
5
+ var chunkWOYCT5M6_cjs = require('./chunk-WOYCT5M6.cjs');
6
6
  var chunkPNNUPUH4_cjs = require('./chunk-PNNUPUH4.cjs');
7
- var chunkUAYWLYFW_cjs = require('./chunk-UAYWLYFW.cjs');
8
- var chunkDQ3VVU5T_cjs = require('./chunk-DQ3VVU5T.cjs');
9
- var chunkDP3DM7FR_cjs = require('./chunk-DP3DM7FR.cjs');
10
- var chunk26GQO5I2_cjs = require('./chunk-26GQO5I2.cjs');
11
- var chunkL7NE7PR4_cjs = require('./chunk-L7NE7PR4.cjs');
12
- var chunk4H3JTX74_cjs = require('./chunk-4H3JTX74.cjs');
13
- var chunkEKBEKDWO_cjs = require('./chunk-EKBEKDWO.cjs');
14
- var chunkXMJE34FY_cjs = require('./chunk-XMJE34FY.cjs');
15
- var chunkZH5WT2IE_cjs = require('./chunk-ZH5WT2IE.cjs');
16
- var chunkWKOV25NP_cjs = require('./chunk-WKOV25NP.cjs');
7
+ var chunkOO24JGYH_cjs = require('./chunk-OO24JGYH.cjs');
8
+ var chunkFZWWVJE4_cjs = require('./chunk-FZWWVJE4.cjs');
9
+ var chunkPXGJHZKJ_cjs = require('./chunk-PXGJHZKJ.cjs');
10
+ var chunkPTJTC6A3_cjs = require('./chunk-PTJTC6A3.cjs');
11
+ var chunkZSY4VANQ_cjs = require('./chunk-ZSY4VANQ.cjs');
12
+ var chunk2TFNDHJ5_cjs = require('./chunk-2TFNDHJ5.cjs');
13
+ var chunkB6S5ADHR_cjs = require('./chunk-B6S5ADHR.cjs');
14
+ var chunkRSQFGF5W_cjs = require('./chunk-RSQFGF5W.cjs');
15
+ var chunkML6L4LJH_cjs = require('./chunk-ML6L4LJH.cjs');
16
+ var chunkDFMBVA7D_cjs = require('./chunk-DFMBVA7D.cjs');
17
17
  var chunkUDCQTOVU_cjs = require('./chunk-UDCQTOVU.cjs');
18
18
  require('./chunk-OD65OZIW.cjs');
19
19
  require('./chunk-BRPEB43C.cjs');
20
- require('./chunk-53YOZOGN.cjs');
21
- require('./chunk-FKGUKFC7.cjs');
20
+ require('./chunk-2S3MK4VX.cjs');
21
+ require('./chunk-TRP5Z3XW.cjs');
22
22
  var chunkXOR4MPEN_cjs = require('./chunk-XOR4MPEN.cjs');
23
- var chunkZ6TVOAO5_cjs = require('./chunk-Z6TVOAO5.cjs');
23
+ var chunkMQAZJQRE_cjs = require('./chunk-MQAZJQRE.cjs');
24
24
 
25
25
  // src/components/types.ts
26
26
  function asRenderable(redacted) {
@@ -32,27 +32,31 @@ function asRenderableSequence(entries) {
32
32
 
33
33
  Object.defineProperty(exports, "ThemeProvider", {
34
34
  enumerable: true,
35
- get: function () { return chunkUCKA22ZJ_cjs.ThemeProvider; }
35
+ get: function () { return chunkK63VPFOV_cjs.ThemeProvider; }
36
36
  });
37
37
  Object.defineProperty(exports, "createTailwindTheme", {
38
38
  enumerable: true,
39
- get: function () { return chunkUCKA22ZJ_cjs.createTailwindTheme; }
39
+ get: function () { return chunkK63VPFOV_cjs.createTailwindTheme; }
40
40
  });
41
41
  Object.defineProperty(exports, "darkTheme", {
42
42
  enumerable: true,
43
- get: function () { return chunkUCKA22ZJ_cjs.darkTheme; }
43
+ get: function () { return chunkK63VPFOV_cjs.darkTheme; }
44
44
  });
45
45
  Object.defineProperty(exports, "defaultTheme", {
46
46
  enumerable: true,
47
- get: function () { return chunkUCKA22ZJ_cjs.defaultTheme; }
47
+ get: function () { return chunkK63VPFOV_cjs.defaultTheme; }
48
48
  });
49
49
  Object.defineProperty(exports, "useTheme", {
50
50
  enumerable: true,
51
- get: function () { return chunkUCKA22ZJ_cjs.useTheme; }
51
+ get: function () { return chunkK63VPFOV_cjs.useTheme; }
52
52
  });
53
53
  Object.defineProperty(exports, "InteractiveVideo", {
54
54
  enumerable: true,
55
- get: function () { return chunkSRD4KVAP_cjs.InteractiveVideo; }
55
+ get: function () { return chunkWOYCT5M6_cjs.InteractiveVideo; }
56
+ });
57
+ Object.defineProperty(exports, "resolveCaptionTracks", {
58
+ enumerable: true,
59
+ get: function () { return chunkWOYCT5M6_cjs.resolveCaptionTracks; }
56
60
  });
57
61
  Object.defineProperty(exports, "useXAPI", {
58
62
  enumerable: true,
@@ -60,43 +64,43 @@ Object.defineProperty(exports, "useXAPI", {
60
64
  });
61
65
  Object.defineProperty(exports, "ActivityPreview", {
62
66
  enumerable: true,
63
- get: function () { return chunkUAYWLYFW_cjs.ActivityPreview; }
67
+ get: function () { return chunkOO24JGYH_cjs.ActivityPreview; }
64
68
  });
65
69
  Object.defineProperty(exports, "ActivitySequence", {
66
70
  enumerable: true,
67
- get: function () { return chunkDQ3VVU5T_cjs.ActivitySequence; }
71
+ get: function () { return chunkFZWWVJE4_cjs.ActivitySequence; }
68
72
  });
69
73
  Object.defineProperty(exports, "StimulusPanel", {
70
74
  enumerable: true,
71
- get: function () { return chunkDP3DM7FR_cjs.StimulusPanel; }
75
+ get: function () { return chunkPXGJHZKJ_cjs.StimulusPanel; }
72
76
  });
73
77
  Object.defineProperty(exports, "WrittenResponse", {
74
78
  enumerable: true,
75
- get: function () { return chunk26GQO5I2_cjs.WrittenResponse; }
79
+ get: function () { return chunkPTJTC6A3_cjs.WrittenResponse; }
76
80
  });
77
81
  Object.defineProperty(exports, "MultipleChoice", {
78
82
  enumerable: true,
79
- get: function () { return chunkL7NE7PR4_cjs.MultipleChoice; }
83
+ get: function () { return chunkZSY4VANQ_cjs.MultipleChoice; }
80
84
  });
81
85
  Object.defineProperty(exports, "FillInTheBlanks", {
82
86
  enumerable: true,
83
- get: function () { return chunk4H3JTX74_cjs.FillInTheBlanks; }
87
+ get: function () { return chunk2TFNDHJ5_cjs.FillInTheBlanks; }
84
88
  });
85
89
  Object.defineProperty(exports, "GapSelect", {
86
90
  enumerable: true,
87
- get: function () { return chunkEKBEKDWO_cjs.GapSelect; }
91
+ get: function () { return chunkB6S5ADHR_cjs.GapSelect; }
88
92
  });
89
93
  Object.defineProperty(exports, "Dictation", {
90
94
  enumerable: true,
91
- get: function () { return chunkXMJE34FY_cjs.Dictation; }
95
+ get: function () { return chunkRSQFGF5W_cjs.Dictation; }
92
96
  });
93
97
  Object.defineProperty(exports, "ReadAloud", {
94
98
  enumerable: true,
95
- get: function () { return chunkZH5WT2IE_cjs.ReadAloud; }
99
+ get: function () { return chunkML6L4LJH_cjs.ReadAloud; }
96
100
  });
97
101
  Object.defineProperty(exports, "PronunciationFeedback", {
98
102
  enumerable: true,
99
- get: function () { return chunkWKOV25NP_cjs.PronunciationFeedback; }
103
+ get: function () { return chunkDFMBVA7D_cjs.PronunciationFeedback; }
100
104
  });
101
105
  Object.defineProperty(exports, "CAPTURE_PROCESSOR_SOURCE", {
102
106
  enumerable: true,
@@ -112,27 +116,27 @@ Object.defineProperty(exports, "useActivityState", {
112
116
  });
113
117
  Object.defineProperty(exports, "DEFAULT_STRINGS", {
114
118
  enumerable: true,
115
- get: function () { return chunkZ6TVOAO5_cjs.DEFAULT_STRINGS; }
119
+ get: function () { return chunkMQAZJQRE_cjs.DEFAULT_STRINGS; }
116
120
  });
117
121
  Object.defineProperty(exports, "LkIntlProvider", {
118
122
  enumerable: true,
119
- get: function () { return chunkZ6TVOAO5_cjs.LkIntlProvider; }
123
+ get: function () { return chunkMQAZJQRE_cjs.LkIntlProvider; }
120
124
  });
121
125
  Object.defineProperty(exports, "directionForLocale", {
122
126
  enumerable: true,
123
- get: function () { return chunkZ6TVOAO5_cjs.directionForLocale; }
127
+ get: function () { return chunkMQAZJQRE_cjs.directionForLocale; }
124
128
  });
125
129
  Object.defineProperty(exports, "mergeStrings", {
126
130
  enumerable: true,
127
- get: function () { return chunkZ6TVOAO5_cjs.mergeStrings; }
131
+ get: function () { return chunkMQAZJQRE_cjs.mergeStrings; }
128
132
  });
129
133
  Object.defineProperty(exports, "useLkDirection", {
130
134
  enumerable: true,
131
- get: function () { return chunkZ6TVOAO5_cjs.useLkDirection; }
135
+ get: function () { return chunkMQAZJQRE_cjs.useLkDirection; }
132
136
  });
133
137
  Object.defineProperty(exports, "useLkStrings", {
134
138
  enumerable: true,
135
- get: function () { return chunkZ6TVOAO5_cjs.useLkStrings; }
139
+ get: function () { return chunkMQAZJQRE_cjs.useLkStrings; }
136
140
  });
137
141
  exports.asRenderable = asRenderable;
138
142
  exports.asRenderableSequence = asRenderableSequence;
package/dist/index.d.cts CHANGED
@@ -3,12 +3,12 @@ export { ActivityRenderer, ActivitySequence, ActivitySequenceProps, SequenceItem
3
3
  export { Dictation, DictationProps } from './components/Dictation.cjs';
4
4
  export { FillInTheBlanks, FillInTheBlanksProps } from './components/FillInTheBlanks.cjs';
5
5
  export { GapSelect, GapSelectProps } from './components/GapSelect.cjs';
6
- export { InteractiveVideo, InteractiveVideoProps, InteractiveVideoSlot, InteractiveVideoSummary, RenderableItemGroup } from './components/InteractiveVideo.cjs';
6
+ export { CaptionTracks, InteractiveVideo, InteractiveVideoProps, InteractiveVideoQuestion, InteractiveVideoSlot, InteractiveVideoSummary, RenderableItemGroup, resolveCaptionTracks } from './components/InteractiveVideo.cjs';
7
7
  export { MultipleChoice, MultipleChoiceProps } from './components/MultipleChoice.cjs';
8
8
  export { PronunciationFeedback, PronunciationFeedbackProps } from './components/PronunciationFeedback.cjs';
9
9
  export { ReadAloud } from './components/ReadAloud.cjs';
10
10
  export { StimulusPanel, StimulusPanelProps } from './components/StimulusPanel.cjs';
11
- export { A as ActivityProps, C as CaptionSize, D as DEFAULT_STRINGS, H as HtmlSanitizer, L as LkStrings, a as LkStringsOverride, M as MediaBudgetBinding, b as MediaTransportStrings, R as ReadAloudAssessResult, c as ReadAloudProps, d as RecordingBinding, e as RenderMode, f as Renderable, g as RenderableActivity, S as SequenceMediaBudget, h as SequenceRecordingBinding, i as SequenceRecordingSlot, V as VideoPreferences, j as asRenderable, k as asRenderableSequence, m as mergeStrings } from './strings-5588Q4Te.cjs';
11
+ export { A as ActivityProps, C as CaptionSize, D as DEFAULT_STRINGS, H as HtmlSanitizer, L as LkStrings, a as LkStringsOverride, M as MediaBudgetBinding, b as MediaTransportStrings, R as ReadAloudAssessResult, c as ReadAloudProps, d as RecordingBinding, e as RenderMode, f as Renderable, g as RenderableActivity, S as SequenceMediaBudget, h as SequenceRecordingBinding, i as SequenceRecordingSlot, V as VideoPreferences, j as asRenderable, k as asRenderableSequence, m as mergeStrings } from './strings-C6wM5aUQ.cjs';
12
12
  export { WrittenResponse } from './components/WrittenResponse.cjs';
13
13
  export { ActivityState, UseActivityStateResult, useActivityState } from './hooks/useActivityState.cjs';
14
14
  export { CAPTURE_PROCESSOR_SOURCE, SpeechRecorder, SpeechRecorderOptions, useSpeechRecorder } from './hooks/useSpeechRecorder.cjs';
@@ -16,7 +16,7 @@ export { UseXAPIResult, useXAPI } from './hooks/useXAPI.cjs';
16
16
  export { LkDirection, LkIntlProvider, LkIntlProviderProps, directionForLocale, useLkDirection, useLkStrings } from './i18n/LkIntlProvider.cjs';
17
17
  export { TailwindThemeExtension, ThemeProvider, ThemeProviderProps, createTailwindTheme, darkTheme, defaultTheme, useTheme } from './theme/ThemeProvider.cjs';
18
18
  export { R as RecordedTake, S as SpeechRecorderError, a as SpeechRecorderStatus } from './machine-CuwKqWXC.cjs';
19
- export { W as WrittenResponseProps, a as WrittenResponseSubmission } from './WrittenResponse-BPbhERgk.cjs';
19
+ export { W as WrittenResponseProps, a as WrittenResponseSubmission } from './WrittenResponse-6tSj6U3G.cjs';
20
20
  import 'react/jsx-runtime';
21
21
  import '@intellectif/lk-core';
22
22
  import 'react';
package/dist/index.d.ts CHANGED
@@ -3,12 +3,12 @@ export { ActivityRenderer, ActivitySequence, ActivitySequenceProps, SequenceItem
3
3
  export { Dictation, DictationProps } from './components/Dictation.js';
4
4
  export { FillInTheBlanks, FillInTheBlanksProps } from './components/FillInTheBlanks.js';
5
5
  export { GapSelect, GapSelectProps } from './components/GapSelect.js';
6
- export { InteractiveVideo, InteractiveVideoProps, InteractiveVideoSlot, InteractiveVideoSummary, RenderableItemGroup } from './components/InteractiveVideo.js';
6
+ export { CaptionTracks, InteractiveVideo, InteractiveVideoProps, InteractiveVideoQuestion, InteractiveVideoSlot, InteractiveVideoSummary, RenderableItemGroup, resolveCaptionTracks } from './components/InteractiveVideo.js';
7
7
  export { MultipleChoice, MultipleChoiceProps } from './components/MultipleChoice.js';
8
8
  export { PronunciationFeedback, PronunciationFeedbackProps } from './components/PronunciationFeedback.js';
9
9
  export { ReadAloud } from './components/ReadAloud.js';
10
10
  export { StimulusPanel, StimulusPanelProps } from './components/StimulusPanel.js';
11
- export { A as ActivityProps, C as CaptionSize, D as DEFAULT_STRINGS, H as HtmlSanitizer, L as LkStrings, a as LkStringsOverride, M as MediaBudgetBinding, b as MediaTransportStrings, R as ReadAloudAssessResult, c as ReadAloudProps, d as RecordingBinding, e as RenderMode, f as Renderable, g as RenderableActivity, S as SequenceMediaBudget, h as SequenceRecordingBinding, i as SequenceRecordingSlot, V as VideoPreferences, j as asRenderable, k as asRenderableSequence, m as mergeStrings } from './strings-D0IWcsUm.js';
11
+ export { A as ActivityProps, C as CaptionSize, D as DEFAULT_STRINGS, H as HtmlSanitizer, L as LkStrings, a as LkStringsOverride, M as MediaBudgetBinding, b as MediaTransportStrings, R as ReadAloudAssessResult, c as ReadAloudProps, d as RecordingBinding, e as RenderMode, f as Renderable, g as RenderableActivity, S as SequenceMediaBudget, h as SequenceRecordingBinding, i as SequenceRecordingSlot, V as VideoPreferences, j as asRenderable, k as asRenderableSequence, m as mergeStrings } from './strings-Cd_2F-Bw.js';
12
12
  export { WrittenResponse } from './components/WrittenResponse.js';
13
13
  export { ActivityState, UseActivityStateResult, useActivityState } from './hooks/useActivityState.js';
14
14
  export { CAPTURE_PROCESSOR_SOURCE, SpeechRecorder, SpeechRecorderOptions, useSpeechRecorder } from './hooks/useSpeechRecorder.js';
@@ -16,7 +16,7 @@ export { UseXAPIResult, useXAPI } from './hooks/useXAPI.js';
16
16
  export { LkDirection, LkIntlProvider, LkIntlProviderProps, directionForLocale, useLkDirection, useLkStrings } from './i18n/LkIntlProvider.js';
17
17
  export { TailwindThemeExtension, ThemeProvider, ThemeProviderProps, createTailwindTheme, darkTheme, defaultTheme, useTheme } from './theme/ThemeProvider.js';
18
18
  export { R as RecordedTake, S as SpeechRecorderError, a as SpeechRecorderStatus } from './machine-CuwKqWXC.js';
19
- export { W as WrittenResponseProps, a as WrittenResponseSubmission } from './WrittenResponse-ZAxLR_AU.js';
19
+ export { W as WrittenResponseProps, a as WrittenResponseSubmission } from './WrittenResponse-xJ7I_5yq.js';
20
20
  import 'react/jsx-runtime';
21
21
  import '@intellectif/lk-core';
22
22
  import 'react';
package/dist/index.js CHANGED
@@ -1,24 +1,24 @@
1
1
  'use client';
2
- export { ThemeProvider, createTailwindTheme, darkTheme, defaultTheme, useTheme } from './chunk-EVBYEWHO.js';
3
- export { InteractiveVideo } from './chunk-2HAEQDHQ.js';
2
+ export { ThemeProvider, createTailwindTheme, darkTheme, defaultTheme, useTheme } from './chunk-UHKZXOXD.js';
3
+ export { InteractiveVideo, resolveCaptionTracks } from './chunk-DVOPHC2Q.js';
4
4
  export { useXAPI } from './chunk-2TW6WLBC.js';
5
- export { ActivityPreview } from './chunk-H6I2JDNW.js';
6
- export { ActivitySequence } from './chunk-I2QGW4GD.js';
7
- export { StimulusPanel } from './chunk-YWQH35VO.js';
8
- export { WrittenResponse } from './chunk-AF72QUBI.js';
9
- export { MultipleChoice } from './chunk-RT5FTHUU.js';
10
- export { FillInTheBlanks } from './chunk-IE5ZNCWN.js';
11
- export { GapSelect } from './chunk-CE6OGJE6.js';
12
- export { Dictation } from './chunk-33BQNWAQ.js';
13
- export { ReadAloud } from './chunk-QEB6O6GU.js';
14
- export { PronunciationFeedback } from './chunk-QM4AV6EG.js';
5
+ export { ActivityPreview } from './chunk-ZEDMFTKD.js';
6
+ export { ActivitySequence } from './chunk-GDMM2WEG.js';
7
+ export { StimulusPanel } from './chunk-JPDR6TTA.js';
8
+ export { WrittenResponse } from './chunk-2XNCPLHU.js';
9
+ export { MultipleChoice } from './chunk-3UXRX4KU.js';
10
+ export { FillInTheBlanks } from './chunk-VC2MPB2Y.js';
11
+ export { GapSelect } from './chunk-5QHVYOME.js';
12
+ export { Dictation } from './chunk-IQI5I2X5.js';
13
+ export { ReadAloud } from './chunk-GUPBIEUA.js';
14
+ export { PronunciationFeedback } from './chunk-BI547RIA.js';
15
15
  export { CAPTURE_PROCESSOR_SOURCE, useSpeechRecorder } from './chunk-MCO52PV5.js';
16
16
  import './chunk-YORQQXGO.js';
17
17
  import './chunk-RCMYEWBE.js';
18
- import './chunk-ZJMTHPHY.js';
19
- import './chunk-HA3VRF6E.js';
18
+ import './chunk-DKZWUIQD.js';
19
+ import './chunk-ZPCO3CEB.js';
20
20
  export { useActivityState } from './chunk-6N43WDVG.js';
21
- export { DEFAULT_STRINGS, LkIntlProvider, directionForLocale, mergeStrings, useLkDirection, useLkStrings } from './chunk-52GXJNQ3.js';
21
+ export { DEFAULT_STRINGS, LkIntlProvider, directionForLocale, mergeStrings, useLkDirection, useLkStrings } from './chunk-KSAINXRG.js';
22
22
 
23
23
  // src/components/types.ts
24
24
  function asRenderable(redacted) {
@@ -10,10 +10,17 @@ interface VideoPreferences {
10
10
  /** 0 to 1. */
11
11
  volume: number;
12
12
  muted: boolean;
13
- /** Captions shown. */
13
+ /** Captions shown — both lines, when there are two. */
14
14
  captions: boolean;
15
15
  /** The caption language chosen, as a track's `srclang`; null for the default track. */
16
16
  captionLanguage: string | null;
17
+ /**
18
+ * A second caption language, drawn under the first, as a track's `srclang`;
19
+ * null for none. A learner's preference, never content: nothing about it is
20
+ * authored. Never the same as `captionLanguage` — a pair of one language is
21
+ * normalised to no second line.
22
+ */
23
+ secondaryCaptionLanguage: string | null;
17
24
  captionSize: CaptionSize;
18
25
  /** A dark box behind each caption line. Off draws the text with an outline only. */
19
26
  captionBackground: boolean;
@@ -28,7 +35,7 @@ interface VideoPreferences {
28
35
  * table, so a shortcut can never be documented and not work, or work and not
29
36
  * be documented.
30
37
  */
31
- type VideoShortcutAction = 'play-pause' | 'jump-10' | 'jump-5' | 'jump-1' | 'frame' | 'speed' | 'percent' | 'start-end' | 'chapter' | 'mute' | 'captions' | 'transcript' | 'picture-in-picture' | 'fullscreen' | 'shortcut-list';
38
+ type VideoShortcutAction = 'play-pause' | 'jump-10' | 'jump-5' | 'jump-1' | 'frame' | 'speed' | 'percent' | 'start-end' | 'chapter' | 'mute' | 'captions' | 'secondary-captions' | 'transcript' | 'picture-in-picture' | 'fullscreen' | 'shortcut-list';
32
39
 
33
40
  /**
34
41
  * What an application's assessor came back with.
@@ -728,10 +735,22 @@ interface LkStrings {
728
735
  videoCaptionsHide: string;
729
736
  /** In the captions menu when a caption file could not be read. */
730
737
  videoCaptionsFailed: string;
738
+ /** The same, for the second language: the first line keeps working. */
739
+ videoSecondaryCaptionsFailed: string;
731
740
  /** A speed in the speed menu, e.g. "1.25×". */
732
741
  videoSpeedValue: (rate: number) => string;
733
742
  videoSettings: string;
734
743
  videoCaptionLanguage: string;
744
+ /** The captions page's item, and page, for a second caption line under the first. */
745
+ videoSecondCaptionLanguage: string;
746
+ /**
747
+ * The captions row of the settings menu when two languages show, from the
748
+ * tracks' own labels: "English + Español". A translation may order them as its
749
+ * language reads, but the first argument is always the upper line.
750
+ */
751
+ videoCaptionPair: (primary: string, secondary: string) => string;
752
+ /** Announced when Shift + C finds no other language to show. */
753
+ videoNoSecondLanguage: string;
735
754
  videoCaptionSize: string;
736
755
  videoCaptionSizeValue: (size: CaptionSize) => string;
737
756
  videoCaptionBackground: string;
@@ -771,6 +790,8 @@ interface LkStrings {
771
790
  videoRewatch: string;
772
791
  /** Exam mode, once a question is submitted: saved, not graded. */
773
792
  videoAnswerSaved: string;
793
+ /** The end card, while an answer is still being stored or graded: why Finish waits. */
794
+ videoAnswerPending: string;
774
795
  videoRequired: string;
775
796
  /** A quiz's progress in the contents panel and on the end screen. */
776
797
  videoQuizProgress: (answered: number, total: number) => string;
@@ -10,10 +10,17 @@ interface VideoPreferences {
10
10
  /** 0 to 1. */
11
11
  volume: number;
12
12
  muted: boolean;
13
- /** Captions shown. */
13
+ /** Captions shown — both lines, when there are two. */
14
14
  captions: boolean;
15
15
  /** The caption language chosen, as a track's `srclang`; null for the default track. */
16
16
  captionLanguage: string | null;
17
+ /**
18
+ * A second caption language, drawn under the first, as a track's `srclang`;
19
+ * null for none. A learner's preference, never content: nothing about it is
20
+ * authored. Never the same as `captionLanguage` — a pair of one language is
21
+ * normalised to no second line.
22
+ */
23
+ secondaryCaptionLanguage: string | null;
17
24
  captionSize: CaptionSize;
18
25
  /** A dark box behind each caption line. Off draws the text with an outline only. */
19
26
  captionBackground: boolean;
@@ -28,7 +35,7 @@ interface VideoPreferences {
28
35
  * table, so a shortcut can never be documented and not work, or work and not
29
36
  * be documented.
30
37
  */
31
- type VideoShortcutAction = 'play-pause' | 'jump-10' | 'jump-5' | 'jump-1' | 'frame' | 'speed' | 'percent' | 'start-end' | 'chapter' | 'mute' | 'captions' | 'transcript' | 'picture-in-picture' | 'fullscreen' | 'shortcut-list';
38
+ type VideoShortcutAction = 'play-pause' | 'jump-10' | 'jump-5' | 'jump-1' | 'frame' | 'speed' | 'percent' | 'start-end' | 'chapter' | 'mute' | 'captions' | 'secondary-captions' | 'transcript' | 'picture-in-picture' | 'fullscreen' | 'shortcut-list';
32
39
 
33
40
  /**
34
41
  * What an application's assessor came back with.
@@ -728,10 +735,22 @@ interface LkStrings {
728
735
  videoCaptionsHide: string;
729
736
  /** In the captions menu when a caption file could not be read. */
730
737
  videoCaptionsFailed: string;
738
+ /** The same, for the second language: the first line keeps working. */
739
+ videoSecondaryCaptionsFailed: string;
731
740
  /** A speed in the speed menu, e.g. "1.25×". */
732
741
  videoSpeedValue: (rate: number) => string;
733
742
  videoSettings: string;
734
743
  videoCaptionLanguage: string;
744
+ /** The captions page's item, and page, for a second caption line under the first. */
745
+ videoSecondCaptionLanguage: string;
746
+ /**
747
+ * The captions row of the settings menu when two languages show, from the
748
+ * tracks' own labels: "English + Español". A translation may order them as its
749
+ * language reads, but the first argument is always the upper line.
750
+ */
751
+ videoCaptionPair: (primary: string, secondary: string) => string;
752
+ /** Announced when Shift + C finds no other language to show. */
753
+ videoNoSecondLanguage: string;
735
754
  videoCaptionSize: string;
736
755
  videoCaptionSizeValue: (size: CaptionSize) => string;
737
756
  videoCaptionBackground: string;
@@ -771,6 +790,8 @@ interface LkStrings {
771
790
  videoRewatch: string;
772
791
  /** Exam mode, once a question is submitted: saved, not graded. */
773
792
  videoAnswerSaved: string;
793
+ /** The end card, while an answer is still being stored or graded: why Finish waits. */
794
+ videoAnswerPending: string;
774
795
  videoRequired: string;
775
796
  /** A quiz's progress in the contents panel and on the end screen. */
776
797
  videoQuizProgress: (answered: number, total: number) => string;
@@ -1,29 +1,29 @@
1
1
  'use client';
2
2
  'use strict';
3
3
 
4
- var chunkUCKA22ZJ_cjs = require('../chunk-UCKA22ZJ.cjs');
4
+ var chunkK63VPFOV_cjs = require('../chunk-K63VPFOV.cjs');
5
5
 
6
6
 
7
7
 
8
8
  Object.defineProperty(exports, "ThemeProvider", {
9
9
  enumerable: true,
10
- get: function () { return chunkUCKA22ZJ_cjs.ThemeProvider; }
10
+ get: function () { return chunkK63VPFOV_cjs.ThemeProvider; }
11
11
  });
12
12
  Object.defineProperty(exports, "createTailwindTheme", {
13
13
  enumerable: true,
14
- get: function () { return chunkUCKA22ZJ_cjs.createTailwindTheme; }
14
+ get: function () { return chunkK63VPFOV_cjs.createTailwindTheme; }
15
15
  });
16
16
  Object.defineProperty(exports, "darkTheme", {
17
17
  enumerable: true,
18
- get: function () { return chunkUCKA22ZJ_cjs.darkTheme; }
18
+ get: function () { return chunkK63VPFOV_cjs.darkTheme; }
19
19
  });
20
20
  Object.defineProperty(exports, "defaultTheme", {
21
21
  enumerable: true,
22
- get: function () { return chunkUCKA22ZJ_cjs.defaultTheme; }
22
+ get: function () { return chunkK63VPFOV_cjs.defaultTheme; }
23
23
  });
24
24
  Object.defineProperty(exports, "useTheme", {
25
25
  enumerable: true,
26
- get: function () { return chunkUCKA22ZJ_cjs.useTheme; }
26
+ get: function () { return chunkK63VPFOV_cjs.useTheme; }
27
27
  });
28
28
  //# sourceMappingURL=ThemeProvider.cjs.map
29
29
  //# sourceMappingURL=ThemeProvider.cjs.map
@@ -1,4 +1,4 @@
1
1
  'use client';
2
- export { ThemeProvider, createTailwindTheme, darkTheme, defaultTheme, useTheme } from '../chunk-EVBYEWHO.js';
2
+ export { ThemeProvider, createTailwindTheme, darkTheme, defaultTheme, useTheme } from '../chunk-UHKZXOXD.js';
3
3
  //# sourceMappingURL=ThemeProvider.js.map
4
4
  //# sourceMappingURL=ThemeProvider.js.map
@@ -24,6 +24,13 @@
24
24
  --lk-color-focus-ring: #18181b;
25
25
  /* A video player's accent, drawn on its always-dark chrome. */
26
26
  --lk-color-media-accent: #ffffff;
27
+ /* An interactive video's drawn captions: the first line's colour, the second
28
+ language's, the second line's size as a share of the first, and the
29
+ space between the two. */
30
+ --lk-iv-caption-color: #ffffff;
31
+ --lk-iv-caption-secondary-color: #ffe066;
32
+ --lk-iv-caption-secondary-scale: 0.85;
33
+ --lk-iv-caption-gap: 0.25em;
27
34
 
28
35
  /* Spacing */
29
36
  --lk-spacing-xs: 4px;