@pie-element/mc-populated-blank 0.3.0-next.9 → 0.3.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 (53) hide show
  1. package/README.md +51 -21
  2. package/author.js +2 -0
  3. package/dist/author/defaults.d.ts +73 -0
  4. package/dist/author/index.d.ts +2 -10
  5. package/dist/author/index.js +139 -165
  6. package/dist/author/index.js.map +1 -1
  7. package/dist/browser/McPopulatedBlank-LqV-pdXv.js +2541 -0
  8. package/dist/browser/McPopulatedBlank-LqV-pdXv.js.map +1 -0
  9. package/dist/browser/author/index.js +11 -32
  10. package/dist/browser/author/index.js.map +1 -1
  11. package/dist/browser/{client-BmZWrsT3.js → client-Dfdyltec.js} +655 -643
  12. package/dist/browser/client-Dfdyltec.js.map +1 -0
  13. package/dist/browser/controller/index.js +2 -220
  14. package/dist/browser/controller-DSkEI2th.js +222 -0
  15. package/dist/browser/controller-DSkEI2th.js.map +1 -0
  16. package/dist/browser/delivery/index.js +72 -1024
  17. package/dist/browser/delivery/index.js.map +1 -1
  18. package/dist/browser/{layoutLimits-Bp17YP2V.js → layoutLimits-C2D60jW0.js} +1 -2
  19. package/dist/browser/layoutLimits-C2D60jW0.js.map +1 -0
  20. package/dist/browser/print/index.js +94 -103
  21. package/dist/browser/print/index.js.map +1 -1
  22. package/dist/controller/defaults.d.ts +8 -30
  23. package/dist/controller/index.d.ts +80 -65
  24. package/dist/controller/index.js +142 -115
  25. package/dist/controller/index.js.map +1 -1
  26. package/dist/delivery/assets/audioButtonSkinAssets.d.ts +4 -0
  27. package/dist/delivery/computeDisplayState.d.ts +12 -7
  28. package/dist/delivery/computeLayoutProfile.d.ts +8 -0
  29. package/dist/delivery/computeLayoutStyle.d.ts +1 -1
  30. package/dist/delivery/i18n.d.ts +8 -0
  31. package/dist/delivery/index.d.ts +8 -23
  32. package/dist/delivery/index.js +3233 -752
  33. package/dist/delivery/index.js.map +1 -1
  34. package/dist/delivery/variant-css-map.d.ts +15 -2
  35. package/dist/index.d.ts +1 -1
  36. package/dist/index.iife.d.ts +1 -154
  37. package/dist/index.iife.js +414 -163
  38. package/dist/index.js +2 -6847
  39. package/dist/print/index.d.ts +3 -7
  40. package/dist/print/index.js +4667 -349
  41. package/dist/print/index.js.map +1 -1
  42. package/dist/print/preparePrint.d.ts +15 -0
  43. package/dist/runtime-support.js +5 -5
  44. package/dist/runtime-support.js.map +1 -1
  45. package/dist/shared/layoutLimits.d.ts +0 -1
  46. package/dist/shared/types.d.ts +14 -20
  47. package/module/print.js +3781 -918
  48. package/module/print.js.map +1 -1
  49. package/package.json +14 -4
  50. package/dist/browser/client-BmZWrsT3.js.map +0 -1
  51. package/dist/browser/controller/index.js.map +0 -1
  52. package/dist/browser/layoutLimits-Bp17YP2V.js.map +0 -1
  53. package/dist/index.js.map +0 -1
@@ -1,9 +1,22 @@
1
1
  export type VariantCssConfig = {
2
2
  variantId: string;
3
3
  variantClass: string;
4
- sourceUrl: string;
5
4
  cssText: string;
6
5
  };
7
6
  export declare const getVariantCssConfig: (customType: unknown) => VariantCssConfig | undefined;
8
7
  export declare const getVariantRootClass: (customType: unknown) => string;
9
- export declare const ensureVariantCssInjected: (config?: VariantCssConfig) => void;
8
+ /**
9
+ * Names this build's variant sheets. The sheets are global, so each selector is
10
+ * narrowed to roots carrying the same key: two versions of the element on one
11
+ * page then style only their own roots, and share a sheet only when the CSS is
12
+ * identical.
13
+ */
14
+ export declare const VARIANT_CSS_KEY: string;
15
+ /** `:where()` adds no specificity, so the variant sheets cascade exactly as written. */
16
+ export declare const keyVariantCss: (cssText: string) => string;
17
+ /**
18
+ * Adds the item's variant sheet where `root` renders: the document head, or the
19
+ * shadow root of a host that placed the element inside one, which document
20
+ * styles do not reach.
21
+ */
22
+ export declare const ensureVariantCssInjected: (config: VariantCssConfig | undefined, root: Element) => void;
package/dist/index.d.ts CHANGED
@@ -1 +1 @@
1
- export { default } from './delivery/index';
1
+ export { default } from './delivery/index.js';
@@ -2,158 +2,5 @@
2
2
  * IIFE entry for mc-populated-blank delivery.
3
3
  * Registration is handled by PIE players/loaders, not by the element bundle itself.
4
4
  */
5
- import Element from './delivery';
6
- declare const controller: {
7
- countBlankTokens(template: string): number;
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
- choiceImageMaxHeightRem: number;
22
- choiceImageMaxWidthRem: 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
- useFeatureButtonAudio?: boolean;
74
- locale: string;
75
- shuffle?: boolean;
76
- lockChoiceOrder?: boolean;
77
- teacherInstructions: string;
78
- teacherInstructionsEnabled: boolean;
79
- customType?: string;
80
- };
81
- normalize: (question?: import("./shared/types").McpbQuestion) => {
82
- layoutLimits: {
83
- blankStandaloneWidthRem: number;
84
- blankWideWidthRem: number;
85
- blankUnderlineWidthPx: number;
86
- blankUnderlineWideWidthPx: number;
87
- horizontalChoiceWidthPx: number;
88
- horizontalChoiceWidthVw: number;
89
- horizontalChoiceTileMinHeightRem: number;
90
- horizontalChoiceContentMinHeightRem: number;
91
- choiceImageMaxHeightRem: number;
92
- choiceImageMaxWidthRem: number;
93
- listenButtonSizePx: number;
94
- stimulusMinColumnPx: number;
95
- textMinColumnPx: number;
96
- legendMaxChars: number;
97
- choiceGroupGapRem: number;
98
- choiceRowGapRem: number;
99
- toggleButtonGapRem: number;
100
- horizontalChoiceRadioTopMarginRem: number;
101
- audioBlankTemplateMarginTopRem: number;
102
- audioBlankTemplateMarginBottomRem: number;
103
- audioInstructionsMaxWidthPx: number;
104
- narrowHorizontalChoiceMaxWidthPx: number;
105
- stimulusGridColumnGapRem: number;
106
- stimulusGridRowGapRem: number;
107
- stimulusSentenceMarginTopRem: number;
108
- stimulusChoicesMarginTopRem: number;
109
- tokenGridColumnGapRem: number;
110
- tokenGridRowGapRem: number;
111
- tokenTemplateMarginTopRem: number;
112
- tokenInlineTokenGapRem: number;
113
- tokenChoicesMarginTopRem: number;
114
- inlineGridColumnGapRem: number;
115
- inlineGridRowGapRem: number;
116
- inlineTemplateMarginTopRem: number;
117
- inlineChoicesMarginTopRem: number;
118
- };
119
- id: string;
120
- element: string;
121
- prompt: string;
122
- promptEnabled: boolean;
123
- interactionMode: import("./shared/types").McpbInteractionMode;
124
- layoutProfile: string;
125
- choiceLayout: string;
126
- layoutProfilePresets: {};
127
- audioButtonSkin: import("./shared/types").McpbAudioButtonSkin | null;
128
- audioButtonSkinsByLocale: {};
129
- uiText: import("./shared/types").McpbUiText;
130
- sentenceHtml: string;
131
- template: string;
132
- choiceMode: import("./shared/types").McpbChoiceMode;
133
- choices: import("./shared/types").McpbChoice[] | {
134
- id: string;
135
- labelHtml: string;
136
- }[];
137
- correctChoiceId: string;
138
- hasAudio: boolean;
139
- autoplayAudioEnabled: boolean;
140
- completeAudioEnabled: boolean;
141
- audioUrl: string;
142
- audioTranscript: string;
143
- useFeatureButtonAudio?: boolean;
144
- locale: string;
145
- shuffle?: boolean;
146
- lockChoiceOrder?: boolean;
147
- teacherInstructions: string;
148
- teacherInstructionsEnabled: boolean;
149
- customType?: string;
150
- };
151
- normalizeSession: (s: import("./shared/types").McpbSession) => import("./shared/types").McpbSession;
152
- model: (question: import("./shared/types").McpbQuestion, session: import("./shared/types").McpbSession | null, env: import("./shared/types").McpbEnv | null, updateSession?: (id: string, element: string, data: {
153
- shuffledValues: string[];
154
- }) => Promise<void>) => Promise<Record<string, unknown>>;
155
- createCorrectResponseSession: (question: import("./shared/types").McpbQuestion, env: import("./shared/types").McpbEnv) => Promise<unknown>;
156
- validate: (question?: import("./shared/types").McpbQuestion, _config?: Record<string, unknown>) => Record<string, string>;
157
- };
158
- export { controller };
5
+ import Element from './delivery/index.js';
159
6
  export default Element;