@pie-element/mc-populated-blank 0.2.9 → 0.2.11

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 (91) hide show
  1. package/README.md +20 -10
  2. package/dist/author/index.js +186 -152
  3. package/dist/author/index.js.map +1 -1
  4. package/dist/controller/defaults.d.ts +41 -73
  5. package/dist/controller/defaults.d.ts.map +1 -1
  6. package/dist/controller/index.d.ts +154 -10
  7. package/dist/controller/index.d.ts.map +1 -1
  8. package/dist/controller/index.js +30 -30
  9. package/dist/controller/index.js.map +1 -1
  10. package/dist/controller/index.test.d.ts +63 -0
  11. package/dist/controller/index.test.d.ts.map +1 -0
  12. package/dist/delivery/AudioPlayer.test.d.ts +2 -0
  13. package/dist/delivery/AudioPlayer.test.d.ts.map +1 -0
  14. package/dist/delivery/ChoiceRow.test.d.ts +2 -0
  15. package/dist/delivery/ChoiceRow.test.d.ts.map +1 -0
  16. package/dist/delivery/ClozeMarker.test.d.ts +2 -0
  17. package/dist/delivery/ClozeMarker.test.d.ts.map +1 -0
  18. package/dist/delivery/McPopulatedBlank.transcript.test.d.ts +2 -0
  19. package/dist/delivery/McPopulatedBlank.transcript.test.d.ts.map +1 -0
  20. package/dist/delivery/computeAudioMode.d.ts +7 -0
  21. package/dist/delivery/computeAudioMode.d.ts.map +1 -0
  22. package/dist/delivery/computeAudioMode.test.d.ts +2 -0
  23. package/dist/delivery/computeAudioMode.test.d.ts.map +1 -0
  24. package/dist/delivery/computeChoiceCorrectness.d.ts +18 -0
  25. package/dist/delivery/computeChoiceCorrectness.d.ts.map +1 -0
  26. package/dist/delivery/computeChoiceCorrectness.test.d.ts +19 -0
  27. package/dist/delivery/computeChoiceCorrectness.test.d.ts.map +1 -0
  28. package/dist/delivery/computeDisplayState.d.ts +47 -0
  29. package/dist/delivery/computeDisplayState.d.ts.map +1 -0
  30. package/dist/delivery/computeDisplayState.test.d.ts +38 -0
  31. package/dist/delivery/computeDisplayState.test.d.ts.map +1 -0
  32. package/dist/delivery/computeLayoutProfile.d.ts +18 -0
  33. package/dist/delivery/computeLayoutProfile.d.ts.map +1 -0
  34. package/dist/delivery/computeLayoutProfile.test.d.ts +2 -0
  35. package/dist/delivery/computeLayoutProfile.test.d.ts.map +1 -0
  36. package/dist/delivery/computeLayoutStyle.d.ts +27 -0
  37. package/dist/delivery/computeLayoutStyle.d.ts.map +1 -0
  38. package/dist/delivery/computeLayoutStyle.test.d.ts +2 -0
  39. package/dist/delivery/computeLayoutStyle.test.d.ts.map +1 -0
  40. package/dist/delivery/index.d.ts.map +1 -1
  41. package/dist/delivery/index.js +1650 -881
  42. package/dist/delivery/index.js.map +1 -1
  43. package/dist/delivery/variant-css-map.d.ts +10 -0
  44. package/dist/delivery/variant-css-map.d.ts.map +1 -0
  45. package/dist/index.iife.d.ts +151 -10
  46. package/dist/index.iife.d.ts.map +1 -1
  47. package/dist/index.iife.js +409 -16
  48. package/dist/index.js +1650 -881
  49. package/dist/index.js.map +1 -1
  50. package/dist/print/index.js +194 -166
  51. package/dist/print/index.js.map +1 -1
  52. package/dist/shared/layoutLimits.d.ts +40 -0
  53. package/dist/shared/layoutLimits.d.ts.map +1 -0
  54. package/dist/shared/types.d.ts +82 -0
  55. package/dist/shared/types.d.ts.map +1 -0
  56. package/package.json +4 -2
  57. package/src/controller/defaults.ts +9 -39
  58. package/src/controller/index.test.ts +428 -0
  59. package/src/controller/index.ts +64 -50
  60. package/src/delivery/AudioPlayer.svelte +246 -0
  61. package/src/delivery/AudioPlayer.test.ts +149 -0
  62. package/src/delivery/ChoiceRow.svelte +222 -0
  63. package/src/delivery/ChoiceRow.test.ts +179 -0
  64. package/src/delivery/ClozeMarker.svelte +83 -0
  65. package/src/delivery/ClozeMarker.test.ts +128 -0
  66. package/src/delivery/McPopulatedBlank.svelte +234 -709
  67. package/src/delivery/McPopulatedBlank.transcript.test.ts +154 -0
  68. package/src/delivery/computeAudioMode.test.ts +40 -0
  69. package/src/delivery/computeAudioMode.ts +11 -0
  70. package/src/delivery/computeChoiceCorrectness.test.ts +120 -0
  71. package/src/delivery/computeChoiceCorrectness.ts +42 -0
  72. package/src/delivery/computeDisplayState.test.ts +274 -0
  73. package/src/delivery/computeDisplayState.ts +101 -0
  74. package/src/delivery/computeLayoutProfile.test.ts +163 -0
  75. package/src/delivery/computeLayoutProfile.ts +72 -0
  76. package/src/delivery/computeLayoutStyle.test.ts +168 -0
  77. package/src/delivery/computeLayoutStyle.ts +128 -0
  78. package/src/delivery/cqt-css/sel-r1-base.css +59 -0
  79. package/src/delivery/cqt-css/sel-r1-g-stem.css +14 -0
  80. package/src/delivery/cqt-css/sel-r1-gg-plus.css +12 -0
  81. package/src/delivery/cqt-css/sel-r1-ggplus.css +17 -0
  82. package/src/delivery/cqt-css/sel-r1-gplusggg.css +25 -0
  83. package/src/delivery/cqt-css/sel-r1-plusggg.css +17 -0
  84. package/src/delivery/cqt-css/sel-r1-s3.css +85 -0
  85. package/src/delivery/cqt-css/sel-vic.css +99 -0
  86. package/src/delivery/cqt-css/sr-vic.css +63 -0
  87. package/src/delivery/index.ts +14 -23
  88. package/src/delivery/variant-css-map.ts +124 -0
  89. package/src/shared/layoutLimits.ts +76 -0
  90. package/src/shared/types.ts +84 -0
  91. package/src/types/css-raw.d.ts +4 -0
@@ -0,0 +1,10 @@
1
+ export type VariantCssConfig = {
2
+ variantId: string;
3
+ variantClass: string;
4
+ sourceUrl: string;
5
+ cssText: string;
6
+ };
7
+ export declare const getVariantCssConfig: (customType: unknown) => VariantCssConfig | undefined;
8
+ export declare const getVariantRootClass: (customType: unknown) => string;
9
+ export declare const ensureVariantCssInjected: (config?: VariantCssConfig) => void;
10
+ //# sourceMappingURL=variant-css-map.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variant-css-map.d.ts","sourceRoot":"","sources":["../../src/delivery/variant-css-map.ts"],"names":[],"mappings":"AAUA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAqEF,eAAO,MAAM,mBAAmB,GAAI,YAAY,OAAO,KAAG,gBAAgB,GAAG,SAG5E,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,YAAY,OAAO,KAAG,MAEzD,CAAC;AAwBF,eAAO,MAAM,wBAAwB,GAAI,SAAS,gBAAgB,KAAG,IAQpE,CAAC"}
@@ -5,16 +5,157 @@
5
5
  import Element from './delivery';
6
6
  declare const controller: {
7
7
  countBlankTokens(template: string): number;
8
- getCorrectness: (question: any, session: any) => "unanswered" | "correct" | "incorrect";
9
- getPartialScore: (_question: any, session: any) => 0 | 1;
10
- isComplete: (question: any, session: any, audioComplete?: boolean) => boolean;
11
- outcome: (question: any, session: any, env: any) => Promise<unknown>;
12
- createDefaultModel: (model?: any) => any;
13
- normalize: (question?: any) => any;
14
- normalizeSession: (s: any) => any;
15
- model: (question: any, session: any, env: any, updateSession?: any) => Promise<any>;
16
- createCorrectResponseSession: (question: any, env: any) => Promise<unknown>;
17
- validate: (model?: any, _config?: any) => any;
8
+ getCorrectness: (question: import("./shared/types").McpbQuestion, session: import("./shared/types").McpbSession) => import("./shared/types").McpbCorrectness;
9
+ getPartialScore: (_question: import("./shared/types").McpbQuestion, session: import("./shared/types").McpbSession) => 0 | 1;
10
+ outcome: (question: import("./shared/types").McpbQuestion, session: import("./shared/types").McpbSession, env: import("./shared/types").McpbEnv) => Promise<unknown>;
11
+ createDefaultModel: (model?: import("./shared/types").McpbQuestion) => {
12
+ layoutLimits: {
13
+ blankStandaloneWidthRem: number;
14
+ blankWideWidthRem: number;
15
+ blankUnderlineWidthPx: number;
16
+ blankUnderlineWideWidthPx: number;
17
+ horizontalChoiceWidthPx: number;
18
+ horizontalChoiceWidthVw: number;
19
+ horizontalChoiceTileMinHeightRem: number;
20
+ horizontalChoiceContentMinHeightRem: number;
21
+ selectedImageMaxHeightRem: number;
22
+ choiceImageMaxHeightRem: number;
23
+ listenButtonSizePx: number;
24
+ stimulusMinColumnPx: number;
25
+ textMinColumnPx: number;
26
+ legendMaxChars: number;
27
+ choiceGroupGapRem: number;
28
+ choiceRowGapRem: number;
29
+ toggleButtonGapRem: number;
30
+ horizontalChoiceRadioTopMarginRem: number;
31
+ audioBlankTemplateMarginTopRem: number;
32
+ audioBlankTemplateMarginBottomRem: number;
33
+ audioInstructionsMaxWidthPx: number;
34
+ narrowHorizontalChoiceMaxWidthPx: number;
35
+ stimulusGridColumnGapRem: number;
36
+ stimulusGridRowGapRem: number;
37
+ stimulusSentenceMarginTopRem: number;
38
+ stimulusChoicesMarginTopRem: number;
39
+ tokenGridColumnGapRem: number;
40
+ tokenGridRowGapRem: number;
41
+ tokenTemplateMarginTopRem: number;
42
+ tokenInlineTokenGapRem: number;
43
+ tokenChoicesMarginTopRem: number;
44
+ inlineGridColumnGapRem: number;
45
+ inlineGridRowGapRem: number;
46
+ inlineTemplateMarginTopRem: number;
47
+ inlineChoicesMarginTopRem: number;
48
+ };
49
+ id: string;
50
+ element: string;
51
+ prompt: string;
52
+ promptEnabled: boolean;
53
+ interactionMode: import("./shared/types").McpbInteractionMode;
54
+ layoutProfile: string;
55
+ choiceLayout: string;
56
+ layoutProfilePresets: {};
57
+ audioButtonSkin: import("./shared/types").McpbAudioButtonSkin | null;
58
+ audioButtonSkinsByLocale: {};
59
+ uiText: import("./shared/types").McpbUiText;
60
+ sentenceHtml: string;
61
+ template: string;
62
+ choiceMode: import("./shared/types").McpbChoiceMode;
63
+ choices: import("./shared/types").McpbChoice[] | {
64
+ id: string;
65
+ labelHtml: string;
66
+ }[];
67
+ correctChoiceId: string;
68
+ hasAudio: boolean;
69
+ autoplayAudioEnabled: boolean;
70
+ completeAudioEnabled: boolean;
71
+ audioUrl: string;
72
+ audioTranscript: string;
73
+ showVisibleTranscript: boolean;
74
+ useFeatureButtonAudio?: boolean;
75
+ locale: string;
76
+ shuffle?: boolean;
77
+ lockChoiceOrder?: boolean;
78
+ teacherInstructions: string;
79
+ teacherInstructionsEnabled: boolean;
80
+ customType?: string;
81
+ };
82
+ normalize: (question?: import("./shared/types").McpbQuestion) => {
83
+ layoutLimits: {
84
+ blankStandaloneWidthRem: number;
85
+ blankWideWidthRem: number;
86
+ blankUnderlineWidthPx: number;
87
+ blankUnderlineWideWidthPx: number;
88
+ horizontalChoiceWidthPx: number;
89
+ horizontalChoiceWidthVw: number;
90
+ horizontalChoiceTileMinHeightRem: number;
91
+ horizontalChoiceContentMinHeightRem: number;
92
+ selectedImageMaxHeightRem: number;
93
+ choiceImageMaxHeightRem: number;
94
+ listenButtonSizePx: number;
95
+ stimulusMinColumnPx: number;
96
+ textMinColumnPx: number;
97
+ legendMaxChars: number;
98
+ choiceGroupGapRem: number;
99
+ choiceRowGapRem: number;
100
+ toggleButtonGapRem: number;
101
+ horizontalChoiceRadioTopMarginRem: number;
102
+ audioBlankTemplateMarginTopRem: number;
103
+ audioBlankTemplateMarginBottomRem: number;
104
+ audioInstructionsMaxWidthPx: number;
105
+ narrowHorizontalChoiceMaxWidthPx: number;
106
+ stimulusGridColumnGapRem: number;
107
+ stimulusGridRowGapRem: number;
108
+ stimulusSentenceMarginTopRem: number;
109
+ stimulusChoicesMarginTopRem: number;
110
+ tokenGridColumnGapRem: number;
111
+ tokenGridRowGapRem: number;
112
+ tokenTemplateMarginTopRem: number;
113
+ tokenInlineTokenGapRem: number;
114
+ tokenChoicesMarginTopRem: number;
115
+ inlineGridColumnGapRem: number;
116
+ inlineGridRowGapRem: number;
117
+ inlineTemplateMarginTopRem: number;
118
+ inlineChoicesMarginTopRem: number;
119
+ };
120
+ id: string;
121
+ element: string;
122
+ prompt: string;
123
+ promptEnabled: boolean;
124
+ interactionMode: import("./shared/types").McpbInteractionMode;
125
+ layoutProfile: string;
126
+ choiceLayout: string;
127
+ layoutProfilePresets: {};
128
+ audioButtonSkin: import("./shared/types").McpbAudioButtonSkin | null;
129
+ audioButtonSkinsByLocale: {};
130
+ uiText: import("./shared/types").McpbUiText;
131
+ sentenceHtml: string;
132
+ template: string;
133
+ choiceMode: import("./shared/types").McpbChoiceMode;
134
+ choices: import("./shared/types").McpbChoice[] | {
135
+ id: string;
136
+ labelHtml: string;
137
+ }[];
138
+ correctChoiceId: string;
139
+ hasAudio: boolean;
140
+ autoplayAudioEnabled: boolean;
141
+ completeAudioEnabled: boolean;
142
+ audioUrl: string;
143
+ audioTranscript: string;
144
+ showVisibleTranscript: boolean;
145
+ useFeatureButtonAudio?: boolean;
146
+ locale: string;
147
+ shuffle?: boolean;
148
+ lockChoiceOrder?: boolean;
149
+ teacherInstructions: string;
150
+ teacherInstructionsEnabled: boolean;
151
+ customType?: string;
152
+ };
153
+ normalizeSession: (s: import("./shared/types").McpbSession) => import("./shared/types").McpbSession;
154
+ model: (question: import("./shared/types").McpbQuestion, session: import("./shared/types").McpbSession | null, env: import("./shared/types").McpbEnv | null, updateSession?: (id: string, element: string, data: {
155
+ shuffledValues: string[];
156
+ }) => Promise<void>) => Promise<Record<string, unknown>>;
157
+ createCorrectResponseSession: (question: import("./shared/types").McpbQuestion, env: import("./shared/types").McpbEnv) => Promise<unknown>;
158
+ validate: (question?: import("./shared/types").McpbQuestion, _config?: Record<string, unknown>) => Record<string, string>;
18
159
  };
19
160
  export { controller };
20
161
  export default Element;
@@ -1 +1 @@
1
- {"version":3,"file":"index.iife.d.ts","sourceRoot":"","sources":["../src/index.iife.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,OAAO,MAAM,YAAY,CAAC;AAKjC,QAAA,MAAM,UAAU;;qBAGG,aACX,EAAC,YAAa;sBAAwP,cAAc,EAAC,YAAa;iBAAqI,aAAa,EAAC,YAAa,EAAC,uBAAsB;cAAsa,aAAa,EAAC,YAAa,EAAC,QAAS;yBAAs4B,WAAe;gBAAiK,cAAkB;uBAAqE,MAAM;YAAipE,aAAa,EAAC,YAAa,EAAC,QAAS,EAAC,mBAAoB;mCAAqwF,aAAa,EAAC,QAAS;eAA2T,WAAe,EAAC,aAAkB;CAJz1O,CAAC;AAE3C,OAAO,EAAE,UAAU,EAAE,CAAC;AACtB,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"index.iife.d.ts","sourceRoot":"","sources":["../src/index.iife.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,OAAO,MAAM,YAAY,CAAC;AAKjC,QAAA,MAAM,UAAU;;qBAI8F,+CAAsB,EAAC,6CAAqB;sBAA8P,gDAAuB,EAAC,6CAAqB;cAAkI,+CAAsB,EAAC,6CAAqB,EAAC,qCAAa;yBAAs4B,6CAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAAiK,gDAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAAqE,uCAAc;YAAm4E,+CAAyB,EAAC,oDAA8B,EAAC,4CAAsB,EAAC;;uBAAkC;mCAAu3F,+CAAsB,EAAC,qCAAa;eAA2T,gDAA2B,EAAC,iCAAsC;CAJjhP,CAAC;AAE3C,OAAO,EAAE,UAAU,EAAE,CAAC;AACtB,eAAe,OAAO,CAAC"}