@intellectif/lk-core 0.15.0 → 0.16.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 (44) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/dist/{activity-C7cR8U9n.d.cts → activity-DcxtpX7Z.d.cts} +5 -1
  3. package/dist/{activity-C7cR8U9n.d.ts → activity-DcxtpX7Z.d.ts} +5 -1
  4. package/dist/{chunk-5KWF34LJ.cjs → chunk-6P6XK2LI.cjs} +31 -31
  5. package/dist/{chunk-5KWF34LJ.cjs.map → chunk-6P6XK2LI.cjs.map} +1 -1
  6. package/dist/{chunk-QFWEF5ST.cjs → chunk-F7UOLKWV.cjs} +34 -23
  7. package/dist/chunk-F7UOLKWV.cjs.map +1 -0
  8. package/dist/{chunk-W7AQP6AV.cjs → chunk-FJJ2GVBA.cjs} +24 -22
  9. package/dist/chunk-FJJ2GVBA.cjs.map +1 -0
  10. package/dist/{chunk-EEMVWBPP.js → chunk-GOZGBVJP.js} +10 -8
  11. package/dist/chunk-GOZGBVJP.js.map +1 -0
  12. package/dist/{chunk-DPHX4E7X.js → chunk-IRUD73IQ.js} +34 -23
  13. package/dist/chunk-IRUD73IQ.js.map +1 -0
  14. package/dist/{chunk-54XYQ3CS.js → chunk-OXF7VT7S.js} +2 -2
  15. package/dist/{chunk-L6YBQXSB.js → chunk-S63IOKFP.js} +2 -2
  16. package/dist/{chunk-7ETU6EXQ.cjs → chunk-VFTVZJO5.cjs} +4 -4
  17. package/dist/{chunk-7ETU6EXQ.cjs.map → chunk-VFTVZJO5.cjs.map} +1 -1
  18. package/dist/{index-D10NaztZ.d.ts → index-BWpwZRQw.d.cts} +1 -1
  19. package/dist/{index-BWyMDlUS.d.cts → index-DRJqwO2y.d.ts} +1 -1
  20. package/dist/index.cjs +112 -111
  21. package/dist/index.cjs.map +1 -1
  22. package/dist/index.d.cts +17 -4
  23. package/dist/index.d.ts +17 -4
  24. package/dist/index.js +8 -7
  25. package/dist/index.js.map +1 -1
  26. package/dist/schemas.cjs +3 -3
  27. package/dist/schemas.d.cts +2 -2
  28. package/dist/schemas.d.ts +2 -2
  29. package/dist/schemas.js +2 -2
  30. package/dist/scoring.cjs +3 -3
  31. package/dist/scoring.d.cts +2 -2
  32. package/dist/scoring.d.ts +2 -2
  33. package/dist/scoring.js +2 -2
  34. package/dist/xapi.cjs +3 -3
  35. package/dist/xapi.d.cts +1 -1
  36. package/dist/xapi.d.ts +1 -1
  37. package/dist/xapi.js +2 -2
  38. package/package.json +1 -1
  39. package/dist/chunk-DPHX4E7X.js.map +0 -1
  40. package/dist/chunk-EEMVWBPP.js.map +0 -1
  41. package/dist/chunk-QFWEF5ST.cjs.map +0 -1
  42. package/dist/chunk-W7AQP6AV.cjs.map +0 -1
  43. /package/dist/{chunk-54XYQ3CS.js.map → chunk-OXF7VT7S.js.map} +0 -0
  44. /package/dist/{chunk-L6YBQXSB.js.map → chunk-S63IOKFP.js.map} +0 -0
package/dist/index.d.cts CHANGED
@@ -1,9 +1,9 @@
1
1
  import { ScoredItem, RoundingPolicy, CompositionPolicy, AssessmentScore } from './scoring.cjs';
2
2
  export { AssessmentSectionInput, Band, DEFAULT_PASS_THRESHOLD, DICTATION_MAX_ACCEPTED_TRANSCRIPTS, DICTATION_MAX_EQUIVALENCES, DICTATION_MAX_EQUIVALENCE_LENGTH, DICTATION_MAX_TEXT_LENGTH, DICTATION_MAX_TRANSCRIPT_LENGTH, DictationAlignment, DictationCharOp, DictationReference, DictationWordAlignment, GradeReadAloudOptions, PassFailureReason, READ_ALOUD_MAX_DIMENSION_WEIGHT, READ_ALOUD_MAX_REFERENCE_LENGTH, READ_ALOUD_MAX_SECONDS, READ_ALOUD_MAX_TAKES, ReadAloudWordAlignment, ReadAloudWordState, RoundingMode, SPEECH_ASSESSMENT_MAX_WORDS, ScoringOptions, SectionScore, SpeechAssessment, SpeechMeasurement, SpeechPhoneme, SpeechPhonemeCandidate, SpeechPlausibilityPolicy, SpeechSyllable, SpeechUnscorable, SpeechUnscorableCode, SpeechWord, SpeechWordError, WavInspection, WavInspectionPolicy, alignDictation, alignReadAloud, classifyBand, composeAssessmentScore, computePassThreshold, dictationReferenceWords, diffDictationChars, evaluate, gradeReadAloud, gte, inspectWav, outcomeFromUnscorable, roundGrade, score, validateSpeechAssessment } from './scoring.cjs';
3
- import { x as ItemOutcome, A as ActivityData, L as LearnerResponse, _ as ValidationError, e as ActivityType, a as ActivityDataMap, C as CriterionScore, q as GradeRecord, N as NativeControlHint, c as ActivityMedia, X as ScoringResult, f as DeferredScoringPartial, g as DictationData, i as DictationLearnerResponse, F as FillInTheBlanksData, l as FillInTheBlanksLearnerResponse, n as GapSelectData, p as GapSelectLearnerResponse, E as MultipleChoiceData, H as MultipleChoiceLearnerResponse, R as ReadAloudData, Q as ReadAloudLearnerResponse, a0 as WrittenResponseData, a1 as WrittenResponseLearnerResponse } from './activity-C7cR8U9n.cjs';
4
- export { b as ActivityFeedback, d as ActivityResult, B as BlankConfig, D as DeferredReason, h as DictationEquivalence, j as DictationSlowMedia, k as DictationTolerance, G as GapSelectBank, m as GapSelectChoice, o as GapSelectGap, r as Grader, s as GraderKind, t as GraderUsage, u as GradingState, I as InlineCorrection, v as InteractionEvent, w as InteractionKind, y as LearnerResponseMap, M as MediaPlaybackPolicy, z as MediaTrack, J as MultipleChoiceOption, K as MultipleChoiceOptionMedia, O as ReadAloudDimension, P as ReadAloudDimensionWeight, S as ReadAloudSlowMedia, T as RecordingBounds, U as RecordingRef, V as ScoringDetail, W as ScoringOutcome, Y as TextMatchPolicy, Z as TextMatchResult, $ as ValidationResult, a2 as WrittenResponseRubric, a3 as WrittenResponseRubricCriterion, a4 as XAPIActor, a5 as XAPIConfig, a6 as XAPIContext, a7 as XAPIContextActivities, a8 as XAPIError, a9 as XAPIObject, aa as XAPIResult, ab as XAPIScore, ac as XAPIStatement, ad as XAPIVerbObject, ae as levenshteinDistance, af as matchText } from './activity-C7cR8U9n.cjs';
5
- import { a4 as SequenceSlot, a3 as SequenceEntry, I as ItemGroup, i as MediaProgress } from './index-BWyMDlUS.cjs';
6
- export { B as BlankConfigSchema, D as DictationDataSchema, a as DictationEquivalenceSchema, b as DictationSlowMediaSchema, c as DictationToleranceSchema, F as FeedbackSchema, d as FillInTheBlanksDataSchema, G as GapSelectBankSchema, e as GapSelectChoiceSchema, f as GapSelectDataSchema, g as GapSelectGapSchema, h as ItemGroupSchema, M as MediaPlaybackSchema, j as MediaSchema, k as MediaTimeline, l as MediaTimelineSchema, m as MediaTrackSchema, n as MediaUrlSchema, o as MultipleChoiceDataSchema, p as MultipleChoiceOptionMediaSchema, q as MultipleChoiceOptionSchema, N as NativeControlHintSchema, R as ReadAloudDataSchema, r as ReadAloudSlowMediaSchema, s as RedactedActivity, t as RedactedBlankConfig, u as RedactedBlankConfigSchema, v as RedactedDictationData, w as RedactedDictationDataSchema, x as RedactedDictationSlowMedia, y as RedactedDictationSlowMediaSchema, z as RedactedFillInTheBlanksData, A as RedactedFillInTheBlanksDataSchema, C as RedactedGapSelectBank, E as RedactedGapSelectBankSchema, H as RedactedGapSelectChoice, J as RedactedGapSelectChoiceSchema, K as RedactedGapSelectData, L as RedactedGapSelectDataSchema, O as RedactedGapSelectGap, P as RedactedGapSelectGapSchema, Q as RedactedItemGroupSchema, S as RedactedMediaSchema, T as RedactedMultipleChoiceData, U as RedactedMultipleChoiceDataSchema, V as RedactedMultipleChoiceOption, W as RedactedMultipleChoiceOptionMedia, X as RedactedMultipleChoiceOptionMediaSchema, Y as RedactedMultipleChoiceOptionSchema, Z as RedactedReadAloudData, _ as RedactedReadAloudDataSchema, $ as RedactedStimulus, a0 as RedactedStimulusSchema, a1 as RedactedWrittenResponseData, a2 as RedactedWrittenResponseDataSchema, a5 as SequenceSlotGroup, a6 as Stimulus, a7 as StimulusKind, a8 as StimulusSchema, a9 as TextMatchPolicySchema, aa as TimelineChapter, ab as TimelineChapterSchema, ac as TimelineCue, ad as TimelineCueSchema, ae as WrittenResponseDataSchema, af as WrittenResponseRubricCriterionSchema, ag as WrittenResponseRubricSchema, ah as dictationJsonSchema, ai as fillInTheBlanksJsonSchema, aj as gapSelectJsonSchema, ak as itemGroupJsonSchema, al as jsonSchemaFor, am as multipleChoiceJsonSchema, an as readAloudJsonSchema, ao as stimulusJsonSchema, ap as validateActivity, aq as validateItemGroup, ar as writtenResponseJsonSchema } from './index-BWyMDlUS.cjs';
3
+ import { x as ItemOutcome, A as ActivityData, L as LearnerResponse, _ as ValidationError, e as ActivityType, a as ActivityDataMap, C as CriterionScore, q as GradeRecord, N as NativeControlHint, c as ActivityMedia, X as ScoringResult, f as DeferredScoringPartial, g as DictationData, i as DictationLearnerResponse, F as FillInTheBlanksData, l as FillInTheBlanksLearnerResponse, n as GapSelectData, p as GapSelectLearnerResponse, E as MultipleChoiceData, H as MultipleChoiceLearnerResponse, R as ReadAloudData, Q as ReadAloudLearnerResponse, a0 as WrittenResponseData, a1 as WrittenResponseLearnerResponse } from './activity-DcxtpX7Z.cjs';
4
+ export { b as ActivityFeedback, d as ActivityResult, B as BlankConfig, D as DeferredReason, h as DictationEquivalence, j as DictationSlowMedia, k as DictationTolerance, G as GapSelectBank, m as GapSelectChoice, o as GapSelectGap, r as Grader, s as GraderKind, t as GraderUsage, u as GradingState, I as InlineCorrection, v as InteractionEvent, w as InteractionKind, y as LearnerResponseMap, M as MediaPlaybackPolicy, z as MediaTrack, J as MultipleChoiceOption, K as MultipleChoiceOptionMedia, O as ReadAloudDimension, P as ReadAloudDimensionWeight, S as ReadAloudSlowMedia, T as RecordingBounds, U as RecordingRef, V as ScoringDetail, W as ScoringOutcome, Y as TextMatchPolicy, Z as TextMatchResult, $ as ValidationResult, a2 as WrittenResponseRubric, a3 as WrittenResponseRubricCriterion, a4 as XAPIActor, a5 as XAPIConfig, a6 as XAPIContext, a7 as XAPIContextActivities, a8 as XAPIError, a9 as XAPIObject, aa as XAPIResult, ab as XAPIScore, ac as XAPIStatement, ad as XAPIVerbObject, ae as levenshteinDistance, af as matchText } from './activity-DcxtpX7Z.cjs';
5
+ import { a4 as SequenceSlot, a3 as SequenceEntry, I as ItemGroup, i as MediaProgress } from './index-BWpwZRQw.cjs';
6
+ export { B as BlankConfigSchema, D as DictationDataSchema, a as DictationEquivalenceSchema, b as DictationSlowMediaSchema, c as DictationToleranceSchema, F as FeedbackSchema, d as FillInTheBlanksDataSchema, G as GapSelectBankSchema, e as GapSelectChoiceSchema, f as GapSelectDataSchema, g as GapSelectGapSchema, h as ItemGroupSchema, M as MediaPlaybackSchema, j as MediaSchema, k as MediaTimeline, l as MediaTimelineSchema, m as MediaTrackSchema, n as MediaUrlSchema, o as MultipleChoiceDataSchema, p as MultipleChoiceOptionMediaSchema, q as MultipleChoiceOptionSchema, N as NativeControlHintSchema, R as ReadAloudDataSchema, r as ReadAloudSlowMediaSchema, s as RedactedActivity, t as RedactedBlankConfig, u as RedactedBlankConfigSchema, v as RedactedDictationData, w as RedactedDictationDataSchema, x as RedactedDictationSlowMedia, y as RedactedDictationSlowMediaSchema, z as RedactedFillInTheBlanksData, A as RedactedFillInTheBlanksDataSchema, C as RedactedGapSelectBank, E as RedactedGapSelectBankSchema, H as RedactedGapSelectChoice, J as RedactedGapSelectChoiceSchema, K as RedactedGapSelectData, L as RedactedGapSelectDataSchema, O as RedactedGapSelectGap, P as RedactedGapSelectGapSchema, Q as RedactedItemGroupSchema, S as RedactedMediaSchema, T as RedactedMultipleChoiceData, U as RedactedMultipleChoiceDataSchema, V as RedactedMultipleChoiceOption, W as RedactedMultipleChoiceOptionMedia, X as RedactedMultipleChoiceOptionMediaSchema, Y as RedactedMultipleChoiceOptionSchema, Z as RedactedReadAloudData, _ as RedactedReadAloudDataSchema, $ as RedactedStimulus, a0 as RedactedStimulusSchema, a1 as RedactedWrittenResponseData, a2 as RedactedWrittenResponseDataSchema, a5 as SequenceSlotGroup, a6 as Stimulus, a7 as StimulusKind, a8 as StimulusSchema, a9 as TextMatchPolicySchema, aa as TimelineChapter, ab as TimelineChapterSchema, ac as TimelineCue, ad as TimelineCueSchema, ae as WrittenResponseDataSchema, af as WrittenResponseRubricCriterionSchema, ag as WrittenResponseRubricSchema, ah as dictationJsonSchema, ai as fillInTheBlanksJsonSchema, aj as gapSelectJsonSchema, ak as itemGroupJsonSchema, al as jsonSchemaFor, am as multipleChoiceJsonSchema, an as readAloudJsonSchema, ao as stimulusJsonSchema, ap as validateActivity, aq as validateItemGroup, ar as writtenResponseJsonSchema } from './index-BWpwZRQw.cjs';
7
7
  import { z } from 'zod/v4';
8
8
  export { AnsweredStatementParams, CompletedStatementParams, SubmittedStatementParams, XAPIObjectParams, XAPIStatementParams, XAPIVerb, XAPIVerbKey, XAPI_VERB_DISPLAY, validateXAPIStatement, xAPIBuilder, xapiDefinitionFor } from './xapi.cjs';
9
9
 
@@ -1300,6 +1300,19 @@ interface ThemeTokens {
1300
1300
  * which reads on any video. Set it to a brand colour to match a product.
1301
1301
  */
1302
1302
  '--lk-color-media-accent'?: string;
1303
+ /**
1304
+ * The interactive video's drawn captions. Optional like the accent above, so
1305
+ * a theme written before them still type-checks. The primary line's colour;
1306
+ * the second language's colour, which must clear 4.5:1 on the caption box;
1307
+ * the second line's size as a share of the first (a number, e.g. `0.85`);
1308
+ * and the space between the two lines. The second line differs from the
1309
+ * first by position and size as well as colour: colour alone would fail
1310
+ * WCAG 1.4.1.
1311
+ */
1312
+ '--lk-iv-caption-color'?: string;
1313
+ '--lk-iv-caption-secondary-color'?: string;
1314
+ '--lk-iv-caption-secondary-scale'?: string;
1315
+ '--lk-iv-caption-gap'?: string;
1303
1316
  '--lk-spacing-xs': string;
1304
1317
  '--lk-spacing-sm': string;
1305
1318
  '--lk-spacing-md': string;
package/dist/index.d.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  import { ScoredItem, RoundingPolicy, CompositionPolicy, AssessmentScore } from './scoring.js';
2
2
  export { AssessmentSectionInput, Band, DEFAULT_PASS_THRESHOLD, DICTATION_MAX_ACCEPTED_TRANSCRIPTS, DICTATION_MAX_EQUIVALENCES, DICTATION_MAX_EQUIVALENCE_LENGTH, DICTATION_MAX_TEXT_LENGTH, DICTATION_MAX_TRANSCRIPT_LENGTH, DictationAlignment, DictationCharOp, DictationReference, DictationWordAlignment, GradeReadAloudOptions, PassFailureReason, READ_ALOUD_MAX_DIMENSION_WEIGHT, READ_ALOUD_MAX_REFERENCE_LENGTH, READ_ALOUD_MAX_SECONDS, READ_ALOUD_MAX_TAKES, ReadAloudWordAlignment, ReadAloudWordState, RoundingMode, SPEECH_ASSESSMENT_MAX_WORDS, ScoringOptions, SectionScore, SpeechAssessment, SpeechMeasurement, SpeechPhoneme, SpeechPhonemeCandidate, SpeechPlausibilityPolicy, SpeechSyllable, SpeechUnscorable, SpeechUnscorableCode, SpeechWord, SpeechWordError, WavInspection, WavInspectionPolicy, alignDictation, alignReadAloud, classifyBand, composeAssessmentScore, computePassThreshold, dictationReferenceWords, diffDictationChars, evaluate, gradeReadAloud, gte, inspectWav, outcomeFromUnscorable, roundGrade, score, validateSpeechAssessment } from './scoring.js';
3
- import { x as ItemOutcome, A as ActivityData, L as LearnerResponse, _ as ValidationError, e as ActivityType, a as ActivityDataMap, C as CriterionScore, q as GradeRecord, N as NativeControlHint, c as ActivityMedia, X as ScoringResult, f as DeferredScoringPartial, g as DictationData, i as DictationLearnerResponse, F as FillInTheBlanksData, l as FillInTheBlanksLearnerResponse, n as GapSelectData, p as GapSelectLearnerResponse, E as MultipleChoiceData, H as MultipleChoiceLearnerResponse, R as ReadAloudData, Q as ReadAloudLearnerResponse, a0 as WrittenResponseData, a1 as WrittenResponseLearnerResponse } from './activity-C7cR8U9n.js';
4
- export { b as ActivityFeedback, d as ActivityResult, B as BlankConfig, D as DeferredReason, h as DictationEquivalence, j as DictationSlowMedia, k as DictationTolerance, G as GapSelectBank, m as GapSelectChoice, o as GapSelectGap, r as Grader, s as GraderKind, t as GraderUsage, u as GradingState, I as InlineCorrection, v as InteractionEvent, w as InteractionKind, y as LearnerResponseMap, M as MediaPlaybackPolicy, z as MediaTrack, J as MultipleChoiceOption, K as MultipleChoiceOptionMedia, O as ReadAloudDimension, P as ReadAloudDimensionWeight, S as ReadAloudSlowMedia, T as RecordingBounds, U as RecordingRef, V as ScoringDetail, W as ScoringOutcome, Y as TextMatchPolicy, Z as TextMatchResult, $ as ValidationResult, a2 as WrittenResponseRubric, a3 as WrittenResponseRubricCriterion, a4 as XAPIActor, a5 as XAPIConfig, a6 as XAPIContext, a7 as XAPIContextActivities, a8 as XAPIError, a9 as XAPIObject, aa as XAPIResult, ab as XAPIScore, ac as XAPIStatement, ad as XAPIVerbObject, ae as levenshteinDistance, af as matchText } from './activity-C7cR8U9n.js';
5
- import { a4 as SequenceSlot, a3 as SequenceEntry, I as ItemGroup, i as MediaProgress } from './index-D10NaztZ.js';
6
- export { B as BlankConfigSchema, D as DictationDataSchema, a as DictationEquivalenceSchema, b as DictationSlowMediaSchema, c as DictationToleranceSchema, F as FeedbackSchema, d as FillInTheBlanksDataSchema, G as GapSelectBankSchema, e as GapSelectChoiceSchema, f as GapSelectDataSchema, g as GapSelectGapSchema, h as ItemGroupSchema, M as MediaPlaybackSchema, j as MediaSchema, k as MediaTimeline, l as MediaTimelineSchema, m as MediaTrackSchema, n as MediaUrlSchema, o as MultipleChoiceDataSchema, p as MultipleChoiceOptionMediaSchema, q as MultipleChoiceOptionSchema, N as NativeControlHintSchema, R as ReadAloudDataSchema, r as ReadAloudSlowMediaSchema, s as RedactedActivity, t as RedactedBlankConfig, u as RedactedBlankConfigSchema, v as RedactedDictationData, w as RedactedDictationDataSchema, x as RedactedDictationSlowMedia, y as RedactedDictationSlowMediaSchema, z as RedactedFillInTheBlanksData, A as RedactedFillInTheBlanksDataSchema, C as RedactedGapSelectBank, E as RedactedGapSelectBankSchema, H as RedactedGapSelectChoice, J as RedactedGapSelectChoiceSchema, K as RedactedGapSelectData, L as RedactedGapSelectDataSchema, O as RedactedGapSelectGap, P as RedactedGapSelectGapSchema, Q as RedactedItemGroupSchema, S as RedactedMediaSchema, T as RedactedMultipleChoiceData, U as RedactedMultipleChoiceDataSchema, V as RedactedMultipleChoiceOption, W as RedactedMultipleChoiceOptionMedia, X as RedactedMultipleChoiceOptionMediaSchema, Y as RedactedMultipleChoiceOptionSchema, Z as RedactedReadAloudData, _ as RedactedReadAloudDataSchema, $ as RedactedStimulus, a0 as RedactedStimulusSchema, a1 as RedactedWrittenResponseData, a2 as RedactedWrittenResponseDataSchema, a5 as SequenceSlotGroup, a6 as Stimulus, a7 as StimulusKind, a8 as StimulusSchema, a9 as TextMatchPolicySchema, aa as TimelineChapter, ab as TimelineChapterSchema, ac as TimelineCue, ad as TimelineCueSchema, ae as WrittenResponseDataSchema, af as WrittenResponseRubricCriterionSchema, ag as WrittenResponseRubricSchema, ah as dictationJsonSchema, ai as fillInTheBlanksJsonSchema, aj as gapSelectJsonSchema, ak as itemGroupJsonSchema, al as jsonSchemaFor, am as multipleChoiceJsonSchema, an as readAloudJsonSchema, ao as stimulusJsonSchema, ap as validateActivity, aq as validateItemGroup, ar as writtenResponseJsonSchema } from './index-D10NaztZ.js';
3
+ import { x as ItemOutcome, A as ActivityData, L as LearnerResponse, _ as ValidationError, e as ActivityType, a as ActivityDataMap, C as CriterionScore, q as GradeRecord, N as NativeControlHint, c as ActivityMedia, X as ScoringResult, f as DeferredScoringPartial, g as DictationData, i as DictationLearnerResponse, F as FillInTheBlanksData, l as FillInTheBlanksLearnerResponse, n as GapSelectData, p as GapSelectLearnerResponse, E as MultipleChoiceData, H as MultipleChoiceLearnerResponse, R as ReadAloudData, Q as ReadAloudLearnerResponse, a0 as WrittenResponseData, a1 as WrittenResponseLearnerResponse } from './activity-DcxtpX7Z.js';
4
+ export { b as ActivityFeedback, d as ActivityResult, B as BlankConfig, D as DeferredReason, h as DictationEquivalence, j as DictationSlowMedia, k as DictationTolerance, G as GapSelectBank, m as GapSelectChoice, o as GapSelectGap, r as Grader, s as GraderKind, t as GraderUsage, u as GradingState, I as InlineCorrection, v as InteractionEvent, w as InteractionKind, y as LearnerResponseMap, M as MediaPlaybackPolicy, z as MediaTrack, J as MultipleChoiceOption, K as MultipleChoiceOptionMedia, O as ReadAloudDimension, P as ReadAloudDimensionWeight, S as ReadAloudSlowMedia, T as RecordingBounds, U as RecordingRef, V as ScoringDetail, W as ScoringOutcome, Y as TextMatchPolicy, Z as TextMatchResult, $ as ValidationResult, a2 as WrittenResponseRubric, a3 as WrittenResponseRubricCriterion, a4 as XAPIActor, a5 as XAPIConfig, a6 as XAPIContext, a7 as XAPIContextActivities, a8 as XAPIError, a9 as XAPIObject, aa as XAPIResult, ab as XAPIScore, ac as XAPIStatement, ad as XAPIVerbObject, ae as levenshteinDistance, af as matchText } from './activity-DcxtpX7Z.js';
5
+ import { a4 as SequenceSlot, a3 as SequenceEntry, I as ItemGroup, i as MediaProgress } from './index-DRJqwO2y.js';
6
+ export { B as BlankConfigSchema, D as DictationDataSchema, a as DictationEquivalenceSchema, b as DictationSlowMediaSchema, c as DictationToleranceSchema, F as FeedbackSchema, d as FillInTheBlanksDataSchema, G as GapSelectBankSchema, e as GapSelectChoiceSchema, f as GapSelectDataSchema, g as GapSelectGapSchema, h as ItemGroupSchema, M as MediaPlaybackSchema, j as MediaSchema, k as MediaTimeline, l as MediaTimelineSchema, m as MediaTrackSchema, n as MediaUrlSchema, o as MultipleChoiceDataSchema, p as MultipleChoiceOptionMediaSchema, q as MultipleChoiceOptionSchema, N as NativeControlHintSchema, R as ReadAloudDataSchema, r as ReadAloudSlowMediaSchema, s as RedactedActivity, t as RedactedBlankConfig, u as RedactedBlankConfigSchema, v as RedactedDictationData, w as RedactedDictationDataSchema, x as RedactedDictationSlowMedia, y as RedactedDictationSlowMediaSchema, z as RedactedFillInTheBlanksData, A as RedactedFillInTheBlanksDataSchema, C as RedactedGapSelectBank, E as RedactedGapSelectBankSchema, H as RedactedGapSelectChoice, J as RedactedGapSelectChoiceSchema, K as RedactedGapSelectData, L as RedactedGapSelectDataSchema, O as RedactedGapSelectGap, P as RedactedGapSelectGapSchema, Q as RedactedItemGroupSchema, S as RedactedMediaSchema, T as RedactedMultipleChoiceData, U as RedactedMultipleChoiceDataSchema, V as RedactedMultipleChoiceOption, W as RedactedMultipleChoiceOptionMedia, X as RedactedMultipleChoiceOptionMediaSchema, Y as RedactedMultipleChoiceOptionSchema, Z as RedactedReadAloudData, _ as RedactedReadAloudDataSchema, $ as RedactedStimulus, a0 as RedactedStimulusSchema, a1 as RedactedWrittenResponseData, a2 as RedactedWrittenResponseDataSchema, a5 as SequenceSlotGroup, a6 as Stimulus, a7 as StimulusKind, a8 as StimulusSchema, a9 as TextMatchPolicySchema, aa as TimelineChapter, ab as TimelineChapterSchema, ac as TimelineCue, ad as TimelineCueSchema, ae as WrittenResponseDataSchema, af as WrittenResponseRubricCriterionSchema, ag as WrittenResponseRubricSchema, ah as dictationJsonSchema, ai as fillInTheBlanksJsonSchema, aj as gapSelectJsonSchema, ak as itemGroupJsonSchema, al as jsonSchemaFor, am as multipleChoiceJsonSchema, an as readAloudJsonSchema, ao as stimulusJsonSchema, ap as validateActivity, aq as validateItemGroup, ar as writtenResponseJsonSchema } from './index-DRJqwO2y.js';
7
7
  import { z } from 'zod/v4';
8
8
  export { AnsweredStatementParams, CompletedStatementParams, SubmittedStatementParams, XAPIObjectParams, XAPIStatementParams, XAPIVerb, XAPIVerbKey, XAPI_VERB_DISPLAY, validateXAPIStatement, xAPIBuilder, xapiDefinitionFor } from './xapi.js';
9
9
 
@@ -1300,6 +1300,19 @@ interface ThemeTokens {
1300
1300
  * which reads on any video. Set it to a brand colour to match a product.
1301
1301
  */
1302
1302
  '--lk-color-media-accent'?: string;
1303
+ /**
1304
+ * The interactive video's drawn captions. Optional like the accent above, so
1305
+ * a theme written before them still type-checks. The primary line's colour;
1306
+ * the second language's colour, which must clear 4.5:1 on the caption box;
1307
+ * the second line's size as a share of the first (a number, e.g. `0.85`);
1308
+ * and the space between the two lines. The second line differs from the
1309
+ * first by position and size as well as colour: colour alone would fail
1310
+ * WCAG 1.4.1.
1311
+ */
1312
+ '--lk-iv-caption-color'?: string;
1313
+ '--lk-iv-caption-secondary-color'?: string;
1314
+ '--lk-iv-caption-secondary-scale'?: string;
1315
+ '--lk-iv-caption-gap'?: string;
1303
1316
  '--lk-spacing-xs': string;
1304
1317
  '--lk-spacing-sm': string;
1305
1318
  '--lk-spacing-md': string;
package/dist/index.js CHANGED
@@ -16,14 +16,14 @@ import {
16
16
  roundGrade,
17
17
  score,
18
18
  validateSpeechAssessment
19
- } from "./chunk-L6YBQXSB.js";
19
+ } from "./chunk-S63IOKFP.js";
20
20
  import {
21
21
  XAPIVerb,
22
22
  XAPI_VERB_DISPLAY,
23
23
  validateXAPIStatement,
24
24
  xAPIBuilder,
25
25
  xapiDefinitionFor
26
- } from "./chunk-54XYQ3CS.js";
26
+ } from "./chunk-OXF7VT7S.js";
27
27
  import {
28
28
  INTERACTIVE_VIDEO_ITEM_TYPES,
29
29
  ItemGroupSchema,
@@ -49,7 +49,7 @@ import {
49
49
  validateActivity,
50
50
  validateItemGroup,
51
51
  writtenResponseJsonSchema
52
- } from "./chunk-EEMVWBPP.js";
52
+ } from "./chunk-GOZGBVJP.js";
53
53
  import {
54
54
  ActivitySchemaError,
55
55
  BlankConfigSchema,
@@ -118,7 +118,7 @@ import {
118
118
  fillInTheBlanksType,
119
119
  gapSelectType,
120
120
  getActivityTypeDescriptor,
121
- groupCaptionsRevealDictation,
121
+ groupCaptionsField,
122
122
  isMissingId,
123
123
  isRecord,
124
124
  isUnset,
@@ -134,7 +134,7 @@ import {
134
134
  registeredActivityTypes,
135
135
  withValidationScope,
136
136
  writtenResponseType
137
- } from "./chunk-DPHX4E7X.js";
137
+ } from "./chunk-IRUD73IQ.js";
138
138
 
139
139
  // src/content-hash.ts
140
140
  function canonicalJson(value, seen = /* @__PURE__ */ new Set()) {
@@ -734,11 +734,12 @@ function validateItemGroupDraftInScope(draft) {
734
734
  if (draft.timeline !== void 0 && draft.timeline !== null) {
735
735
  issues.push(...checkTimeline(draft));
736
736
  }
737
- if (groupCaptionsRevealDictation(draft, (captionsUrl) => !isUnwritten(captionsUrl))) {
737
+ const captions = groupCaptionsField(draft, (captionsUrl) => !isUnwritten(captionsUrl));
738
+ if (captions !== void 0) {
738
739
  issues.push(
739
740
  issue(
740
741
  "dc_captions_not_allowed",
741
- ["stimulus", "media", "captionsUrl"],
742
+ ["stimulus", "media", captions],
742
743
  GROUP_CAPTIONS_REVEAL_DICTATION
743
744
  )
744
745
  );