@pie-element/mc-populated-blank 0.2.13 → 0.3.0-next.4
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.
- package/README.md +1 -1
- package/configure.js +2 -0
- package/dist/author/index.d.ts +0 -1
- package/dist/author/index.js +1235 -1092
- package/dist/author/index.js.map +1 -1
- package/dist/browser/author/index.js +50 -0
- package/dist/browser/author/index.js.map +1 -0
- package/dist/browser/client-BAfWqkS6.js +2358 -0
- package/dist/browser/client-BAfWqkS6.js.map +1 -0
- package/dist/browser/controller/index.js +219 -0
- package/dist/browser/controller/index.js.map +1 -0
- package/dist/browser/delivery/index.js +1059 -0
- package/dist/browser/delivery/index.js.map +1 -0
- package/dist/browser/layoutLimits-ATKOwLHb.js +42 -0
- package/dist/browser/layoutLimits-ATKOwLHb.js.map +1 -0
- package/dist/browser/print/index.js +125 -0
- package/dist/browser/print/index.js.map +1 -0
- package/dist/controller/defaults.d.ts +0 -2
- package/dist/controller/index.d.ts +0 -3
- package/dist/controller/index.js +0 -2
- package/dist/controller/index.js.map +1 -1
- package/dist/delivery/computeAudioMode.d.ts +0 -1
- package/dist/delivery/computeChoiceCorrectness.d.ts +0 -1
- package/dist/delivery/computeDisplayState.d.ts +0 -1
- package/dist/delivery/computeLayoutProfile.d.ts +0 -1
- package/dist/delivery/computeLayoutStyle.d.ts +0 -2
- package/dist/delivery/index.d.ts +0 -1
- package/dist/delivery/index.js +1527 -1584
- package/dist/delivery/index.js.map +1 -1
- package/dist/delivery/variant-css-map.d.ts +0 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.iife.d.ts +0 -3
- package/dist/index.iife.js +14 -15
- package/dist/index.js +1527 -1584
- package/dist/index.js.map +1 -1
- package/dist/print/index.d.ts +0 -1
- package/dist/print/index.js +1414 -1270
- package/dist/print/index.js.map +1 -1
- package/dist/runtime-support.d.ts +12 -0
- package/dist/runtime-support.js +14 -0
- package/dist/runtime-support.js.map +1 -0
- package/dist/shared/layoutLimits.d.ts +0 -1
- package/dist/shared/types.d.ts +9 -2
- package/module/print.js +2312 -0
- package/module/print.js.map +1 -0
- package/package.json +40 -8
- package/dist/author/index.d.ts.map +0 -1
- package/dist/controller/defaults.d.ts.map +0 -1
- package/dist/controller/index.d.ts.map +0 -1
- package/dist/delivery/computeAudioMode.d.ts.map +0 -1
- package/dist/delivery/computeChoiceCorrectness.d.ts.map +0 -1
- package/dist/delivery/computeDisplayState.d.ts.map +0 -1
- package/dist/delivery/computeLayoutProfile.d.ts.map +0 -1
- package/dist/delivery/computeLayoutStyle.d.ts.map +0 -1
- package/dist/delivery/index.d.ts.map +0 -1
- package/dist/delivery/variant-css-map.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.iife.d.ts.map +0 -1
- package/dist/print/index.d.ts.map +0 -1
- package/dist/shared/layoutLimits.d.ts.map +0 -1
- package/dist/shared/types.d.ts.map +0 -1
|
@@ -0,0 +1,1059 @@
|
|
|
1
|
+
import { A as e, C as t, D as n, E as r, M as i, N as a, O as o, P as s, S as c, T as l, _ as u, a as d, c as f, d as p, f as m, g as h, h as g, i as _, j as v, k as y, l as b, m as x, n as S, o as C, r as w, s as T, t as E, u as D, v as O, w as k, x as A, y as j } from "../client-BAfWqkS6.js";
|
|
2
|
+
import { t as M } from "../layoutLimits-ATKOwLHb.js";
|
|
3
|
+
//#region ../../lib-svelte/delivery-events/dist/index2.js
|
|
4
|
+
var N = class e extends CustomEvent {
|
|
5
|
+
static {
|
|
6
|
+
this.TYPE = "model-set";
|
|
7
|
+
}
|
|
8
|
+
constructor(t, n, r) {
|
|
9
|
+
super(e.TYPE, {
|
|
10
|
+
bubbles: !0,
|
|
11
|
+
composed: !0,
|
|
12
|
+
detail: {
|
|
13
|
+
complete: n,
|
|
14
|
+
component: t,
|
|
15
|
+
hasModel: r
|
|
16
|
+
}
|
|
17
|
+
}), this.component = t, this.complete = n;
|
|
18
|
+
}
|
|
19
|
+
}, P = class e extends CustomEvent {
|
|
20
|
+
static {
|
|
21
|
+
this.TYPE = "session-changed";
|
|
22
|
+
}
|
|
23
|
+
constructor(t, n) {
|
|
24
|
+
super(e.TYPE, {
|
|
25
|
+
bubbles: !0,
|
|
26
|
+
composed: !0,
|
|
27
|
+
detail: {
|
|
28
|
+
complete: n,
|
|
29
|
+
component: t
|
|
30
|
+
}
|
|
31
|
+
}), this.component = t, this.complete = n;
|
|
32
|
+
}
|
|
33
|
+
}, F = (e) => {
|
|
34
|
+
let t = e;
|
|
35
|
+
return t ? typeof t.onSessionChange == "function" || typeof t.onAudioStarted == "function" || typeof t.onAudioEnded == "function" : !1;
|
|
36
|
+
};
|
|
37
|
+
function I(e, t = {}) {
|
|
38
|
+
let n = t.hostPredicate ?? F, r = e;
|
|
39
|
+
for (; r;) {
|
|
40
|
+
if (n(r)) return r;
|
|
41
|
+
r = r.parentElement;
|
|
42
|
+
}
|
|
43
|
+
if (typeof document < "u" && t.fallbackSelector) {
|
|
44
|
+
let e = document.querySelector(t.fallbackSelector);
|
|
45
|
+
if (n(e)) return e;
|
|
46
|
+
}
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
49
|
+
function L({ sourceEl: e, fallbackSelector: t, component: n, complete: r, session: i }) {
|
|
50
|
+
let a = I(e, { fallbackSelector: t });
|
|
51
|
+
return a ? typeof a.onSessionChange == "function" ? (a.onSessionChange(i), a) : (a.dispatchEvent(new P(n, r)), a) : null;
|
|
52
|
+
}
|
|
53
|
+
//#endregion
|
|
54
|
+
//#region src/delivery/computeAudioMode.ts
|
|
55
|
+
function ee(e) {
|
|
56
|
+
return e.hasAudio ? e.audioUrl ? e.useFeatureButtonAudio ? "feature-button" : "controls" : "error" : "none";
|
|
57
|
+
}
|
|
58
|
+
//#endregion
|
|
59
|
+
//#region src/delivery/AudioPlayer.svelte
|
|
60
|
+
var te = O("<audio class=\"sr-only pie-audio-player svelte-ypdwb3\" preload=\"metadata\" aria-hidden=\"true\" tabindex=\"-1\"></audio> <button class=\"listen-button pie-listen-button rli-feature-audio svelte-ypdwb3\" type=\"button\"><img/> <img/></button>", 1), ne = O("<button class=\"mt-2 text-sm underline pie-audio-autoplay-enable\" type=\"button\"> </button>"), R = O("<audio controls=\"\" class=\"w-full max-w-md pie-audio-player\" preload=\"metadata\"><track kind=\"captions\"/></audio> <!>", 1), re = O("<p class=\"text-sm text-red-700 pie-audio-error\" role=\"alert\"> </p>"), z = O("<div class=\"mb-4 audio-container pie-audio-container\"><!></div>"), B = {
|
|
61
|
+
hash: "svelte-ypdwb3",
|
|
62
|
+
code: ".listen-button.svelte-ypdwb3 {width:var(--mpb-listen-button-size, 128px);height:var(--mpb-listen-button-size, 128px);border:0;padding:0;background-color:transparent;cursor:pointer;z-index:1;}.listen-button.svelte-ypdwb3:hover {background-color:#e2f1fe;}.listen-feature-icon.svelte-ypdwb3 {width:var(--mpb-listen-button-size, 128px);height:var(--mpb-listen-button-size, 128px);object-fit:contain;display:none;}.listen-feature-icon.listen-active.svelte-ypdwb3 {display:block;}.sr-only.svelte-ypdwb3 {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;}"
|
|
63
|
+
};
|
|
64
|
+
function V(f, p) {
|
|
65
|
+
a(p, !0), D(f, B);
|
|
66
|
+
let m = {
|
|
67
|
+
IDLE: "idle",
|
|
68
|
+
PLAYING: "playing",
|
|
69
|
+
BLOCKED: "blocked",
|
|
70
|
+
PAUSED: "paused"
|
|
71
|
+
}, _ = S(p, "hasAudio", 7, !1), C = S(p, "audioUrl", 7), T = S(p, "useFeatureButtonAudio", 7, !1), E = S(p, "autoplayEnabled", 7, !1), O = S(p, "featureAudioSkin", 7), j = S(p, "uiText", 7), M = S(p, "locale", 7, ""), N = S(p, "onaudiostarted", 7), P = S(p, "onaudioended", 7), F = y(null), I = y(null), L = y(null), V = y(n(m.IDLE)), H = v(() => ee({
|
|
72
|
+
hasAudio: _(),
|
|
73
|
+
audioUrl: C(),
|
|
74
|
+
useFeatureButtonAudio: T()
|
|
75
|
+
})), U = v(() => A(V) === m.PLAYING), W = v(() => A(V) === m.BLOCKED), ie = v(() => A(H) === "error" ? j().audioResourceUnavailable : "");
|
|
76
|
+
t(() => {
|
|
77
|
+
C(), o(V, m.IDLE, !0);
|
|
78
|
+
});
|
|
79
|
+
function ae() {
|
|
80
|
+
A(H) !== "none" && A(H) !== "error" && A(F) && A(F).play().catch(() => {});
|
|
81
|
+
}
|
|
82
|
+
function oe() {
|
|
83
|
+
A(H) !== "none" && A(H) !== "error" && A(F) && A(F).play().finally(() => {
|
|
84
|
+
A(V) === m.BLOCKED && o(V, m.PAUSED, !0);
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
function G(e, n, r) {
|
|
88
|
+
t(() => {
|
|
89
|
+
let t = e();
|
|
90
|
+
if (t) return t.addEventListener(n, r), () => t.removeEventListener(n, r);
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
G(() => A(F), "playing", () => {
|
|
94
|
+
o(V, m.PLAYING, !0), N()?.();
|
|
95
|
+
}), G(() => A(F), "ended", () => {
|
|
96
|
+
o(V, m.PAUSED, !0), P()?.();
|
|
97
|
+
}), G(() => A(I), "click", () => ae()), G(() => A(L), "click", () => oe()), t(() => {
|
|
98
|
+
!E() || A(H) === "none" || A(H) === "error" || A(V) === m.IDLE && A(F) && C() && (o(V, m.PAUSED, !0), A(F).play().catch(() => {
|
|
99
|
+
o(V, m.BLOCKED, !0);
|
|
100
|
+
}));
|
|
101
|
+
});
|
|
102
|
+
function K(e = "") {
|
|
103
|
+
return e.toLowerCase().startsWith("es") ? "Escuchar" : "Listen";
|
|
104
|
+
}
|
|
105
|
+
function q(e = "") {
|
|
106
|
+
return e.toLowerCase().startsWith("es") ? j().listenSilentAltEs ?? "Escuchar. Repetir las instrucciones." : j().listenSilentAlt ?? "Repeat instructions";
|
|
107
|
+
}
|
|
108
|
+
function J(e = "") {
|
|
109
|
+
return e.toLowerCase().startsWith("es") ? j().listenPlayingAltEs ?? "Escuchar. Estas son las instrucciones." : j().listenPlayingAlt ?? "Instructions are playing";
|
|
110
|
+
}
|
|
111
|
+
var se = {
|
|
112
|
+
get hasAudio() {
|
|
113
|
+
return _();
|
|
114
|
+
},
|
|
115
|
+
set hasAudio(t = !1) {
|
|
116
|
+
_(t), e();
|
|
117
|
+
},
|
|
118
|
+
get audioUrl() {
|
|
119
|
+
return C();
|
|
120
|
+
},
|
|
121
|
+
set audioUrl(t) {
|
|
122
|
+
C(t), e();
|
|
123
|
+
},
|
|
124
|
+
get useFeatureButtonAudio() {
|
|
125
|
+
return T();
|
|
126
|
+
},
|
|
127
|
+
set useFeatureButtonAudio(t = !1) {
|
|
128
|
+
T(t), e();
|
|
129
|
+
},
|
|
130
|
+
get autoplayEnabled() {
|
|
131
|
+
return E();
|
|
132
|
+
},
|
|
133
|
+
set autoplayEnabled(t = !1) {
|
|
134
|
+
E(t), e();
|
|
135
|
+
},
|
|
136
|
+
get featureAudioSkin() {
|
|
137
|
+
return O();
|
|
138
|
+
},
|
|
139
|
+
set featureAudioSkin(t) {
|
|
140
|
+
O(t), e();
|
|
141
|
+
},
|
|
142
|
+
get uiText() {
|
|
143
|
+
return j();
|
|
144
|
+
},
|
|
145
|
+
set uiText(t) {
|
|
146
|
+
j(t), e();
|
|
147
|
+
},
|
|
148
|
+
get locale() {
|
|
149
|
+
return M();
|
|
150
|
+
},
|
|
151
|
+
set locale(t = "") {
|
|
152
|
+
M(t), e();
|
|
153
|
+
},
|
|
154
|
+
get onaudiostarted() {
|
|
155
|
+
return N();
|
|
156
|
+
},
|
|
157
|
+
set onaudiostarted(t) {
|
|
158
|
+
N(t), e();
|
|
159
|
+
},
|
|
160
|
+
get onaudioended() {
|
|
161
|
+
return P();
|
|
162
|
+
},
|
|
163
|
+
set onaudioended(t) {
|
|
164
|
+
P(t), e();
|
|
165
|
+
}
|
|
166
|
+
}, Y = u(), ce = l(Y), le = (e) => {
|
|
167
|
+
var t = z(), n = k(t), i = (e) => {
|
|
168
|
+
var t = te(), n = l(t);
|
|
169
|
+
w(n, (e) => o(F, e), () => A(F));
|
|
170
|
+
var i = r(n, 2), a = k(i), u = r(a, 2);
|
|
171
|
+
s(i), w(i, (e) => o(I, e), () => A(I)), c((e, t, r) => {
|
|
172
|
+
d(n, "src", C()), d(i, "aria-label", e), b(a, 1, `listen-feature-icon pie-listen-icon rli-feature-listen ${A(U) ? "" : "listen-active"}`, "svelte-ypdwb3"), d(a, "src", O().silentUrl), d(a, "alt", t), b(u, 1, `listen-feature-icon pie-listen-icon rli-feature-listen ${A(U) ? "listen-active" : ""}`, "svelte-ypdwb3"), d(u, "src", O().playingUrl), d(u, "alt", r);
|
|
173
|
+
}, [
|
|
174
|
+
() => K(M()),
|
|
175
|
+
() => q(M()),
|
|
176
|
+
() => J(M())
|
|
177
|
+
]), h(e, t);
|
|
178
|
+
}, a = (e) => {
|
|
179
|
+
var t = R(), n = l(t);
|
|
180
|
+
w(n, (e) => o(F, e), () => A(F));
|
|
181
|
+
var i = r(n, 2), a = (e) => {
|
|
182
|
+
var t = ne(), n = k(t, !0);
|
|
183
|
+
s(t), w(t, (e) => o(L, e), () => A(L)), c(() => g(n, j().clickToEnableAutoplay)), h(e, t);
|
|
184
|
+
};
|
|
185
|
+
x(i, (e) => {
|
|
186
|
+
A(W) && e(a);
|
|
187
|
+
}), c(() => d(n, "src", C())), h(e, t);
|
|
188
|
+
}, u = (e) => {
|
|
189
|
+
var t = re(), n = k(t, !0);
|
|
190
|
+
s(t), c(() => g(n, A(ie))), h(e, t);
|
|
191
|
+
};
|
|
192
|
+
x(n, (e) => {
|
|
193
|
+
A(H) === "feature-button" ? e(i) : A(H) === "controls" ? e(a, 1) : A(H) === "error" && e(u, 2);
|
|
194
|
+
}), s(t), h(e, t);
|
|
195
|
+
};
|
|
196
|
+
return x(ce, (e) => {
|
|
197
|
+
A(H) !== "none" && e(le);
|
|
198
|
+
}), h(f, Y), i(se);
|
|
199
|
+
}
|
|
200
|
+
E(V, {
|
|
201
|
+
hasAudio: {},
|
|
202
|
+
audioUrl: {},
|
|
203
|
+
useFeatureButtonAudio: {},
|
|
204
|
+
autoplayEnabled: {},
|
|
205
|
+
featureAudioSkin: {},
|
|
206
|
+
uiText: {},
|
|
207
|
+
locale: {},
|
|
208
|
+
onaudiostarted: {},
|
|
209
|
+
onaudioended: {}
|
|
210
|
+
}, [], [], { mode: "open" });
|
|
211
|
+
//#endregion
|
|
212
|
+
//#region src/delivery/ClozeMarker.svelte
|
|
213
|
+
var H = O("<img class=\"w-auto object-contain pie-blank-image\" style=\"max-height:var(--mpb-selected-image-max-height, 4rem);\"/>"), U = O("<span class=\"cloze-marker-value pie-blank-value svelte-d9l5tb\"></span>"), W = O("<span class=\"cloze-marker-empty svelte-d9l5tb\" aria-hidden=\"true\"> </span>"), ie = O("<span role=\"status\" aria-live=\"polite\" aria-atomic=\"true\"><!></span>"), ae = {
|
|
214
|
+
hash: "svelte-d9l5tb",
|
|
215
|
+
code: ".cloze-marker.svelte-d9l5tb {display:inline-flex;align-items:center;justify-content:center;text-align:center;vertical-align:baseline;}.cloze-marker.svelte-d9l5tb:focus-within {outline:2px solid var(--mpb-focus-ring, #1565c0);outline-offset:2px;}.cloze-marker-standalone.svelte-d9l5tb {width:var(--mpb-blank-standalone-width, 7rem);}.cloze-marker-empty.svelte-d9l5tb {display:inline-block;min-width:4ch;}.cloze-marker-value.svelte-d9l5tb {width:100%;display:inline-flex;align-items:center;justify-content:center;text-align:center;}.cloze-marker-value.svelte-d9l5tb p {margin:0;}"
|
|
216
|
+
};
|
|
217
|
+
function oe(t, n) {
|
|
218
|
+
a(n, !0), D(t, ae);
|
|
219
|
+
let r = S(n, "choiceMode", 7, "text"), o = S(n, "displayChoice", 7, void 0), l = S(n, "displayChoiceLabelHtml", 7, ""), u = S(n, "isStandalone", 7, !1), m = S(n, "blankWidth", 7), g = S(n, "blankBorderWidth", 7), _ = S(n, "ariaLabel", 7);
|
|
220
|
+
var v = {
|
|
221
|
+
get choiceMode() {
|
|
222
|
+
return r();
|
|
223
|
+
},
|
|
224
|
+
set choiceMode(t = "text") {
|
|
225
|
+
r(t), e();
|
|
226
|
+
},
|
|
227
|
+
get displayChoice() {
|
|
228
|
+
return o();
|
|
229
|
+
},
|
|
230
|
+
set displayChoice(t = void 0) {
|
|
231
|
+
o(t), e();
|
|
232
|
+
},
|
|
233
|
+
get displayChoiceLabelHtml() {
|
|
234
|
+
return l();
|
|
235
|
+
},
|
|
236
|
+
set displayChoiceLabelHtml(t = "") {
|
|
237
|
+
l(t), e();
|
|
238
|
+
},
|
|
239
|
+
get isStandalone() {
|
|
240
|
+
return u();
|
|
241
|
+
},
|
|
242
|
+
set isStandalone(t = !1) {
|
|
243
|
+
u(t), e();
|
|
244
|
+
},
|
|
245
|
+
get blankWidth() {
|
|
246
|
+
return m();
|
|
247
|
+
},
|
|
248
|
+
set blankWidth(t) {
|
|
249
|
+
m(t), e();
|
|
250
|
+
},
|
|
251
|
+
get blankBorderWidth() {
|
|
252
|
+
return g();
|
|
253
|
+
},
|
|
254
|
+
set blankBorderWidth(t) {
|
|
255
|
+
g(t), e();
|
|
256
|
+
},
|
|
257
|
+
get ariaLabel() {
|
|
258
|
+
return _();
|
|
259
|
+
},
|
|
260
|
+
set ariaLabel(t) {
|
|
261
|
+
_(t), e();
|
|
262
|
+
}
|
|
263
|
+
}, y = ie(), C = k(y), w = (e) => {
|
|
264
|
+
var t = H();
|
|
265
|
+
c(() => {
|
|
266
|
+
d(t, "src", o().imageUrl), d(t, "alt", o().imageAlt || "Selected answer image");
|
|
267
|
+
}), h(e, t);
|
|
268
|
+
}, T = (e) => {
|
|
269
|
+
var t = U();
|
|
270
|
+
p(t, l, !0), s(t), h(e, t);
|
|
271
|
+
}, E = (e) => {
|
|
272
|
+
h(e, W());
|
|
273
|
+
};
|
|
274
|
+
return x(C, (e) => {
|
|
275
|
+
r() === "image" && o()?.imageUrl ? e(w) : l() ? e(T, 1) : e(E, -1);
|
|
276
|
+
}), s(y), c(() => {
|
|
277
|
+
b(y, 1, `inline-flex items-center min-h-[1.5em] px-2 mx-1 border-b-2 border-gray-500 align-baseline cloze-marker pie-blank-slot ${u() ? "cloze-marker-standalone pie-blank-slot-standalone" : ""}`, "svelte-d9l5tb"), f(y, `width:${m()};border-bottom-width:${g()};`), d(y, "aria-label", _());
|
|
278
|
+
}), h(t, y), i(v);
|
|
279
|
+
}
|
|
280
|
+
E(oe, {
|
|
281
|
+
choiceMode: {},
|
|
282
|
+
displayChoice: {},
|
|
283
|
+
displayChoiceLabelHtml: {},
|
|
284
|
+
isStandalone: {},
|
|
285
|
+
blankWidth: {},
|
|
286
|
+
blankBorderWidth: {},
|
|
287
|
+
ariaLabel: {}
|
|
288
|
+
}, [], [], { mode: "open" });
|
|
289
|
+
//#endregion
|
|
290
|
+
//#region src/delivery/ChoiceRow.svelte
|
|
291
|
+
var G = O("<img class=\"object-contain pie-choice-image\" style=\"max-height:var(--mpb-choice-image-max-height, 5rem);\"/>"), K = O("<span class=\"choice-html pie-choice-label svelte-8xu1pt\"></span>"), q = O("<label class=\"cursor-pointer choice-tile text-center pie-choice-tile svelte-8xu1pt\"><span class=\"choice-tile-content pie-choice-tile-content svelte-8xu1pt\"><!></span> <input type=\"radio\" class=\"choice-radio-bottom pie-choice-radio pie-choice-radio-bottom svelte-8xu1pt\"/></label>"), J = O("<input type=\"radio\" class=\"choice-radio-inline pie-choice-radio pie-choice-radio-inline svelte-8xu1pt\"/> <label class=\"cursor-pointer flex-1 pie-choice-label-wrap svelte-8xu1pt\"><!></label>", 1), se = O("<span aria-hidden=\"true\"> </span>"), Y = O("<div style=\"gap:var(--mpb-choice-row-gap, 0.5rem);\"><!> <!></div>"), ce = {
|
|
292
|
+
hash: "svelte-8xu1pt",
|
|
293
|
+
code: ".choice-row-horizontal.svelte-8xu1pt {flex-direction:column;align-items:center;width:min(var(--mpb-choice-width-px, 170px), var(--mpb-choice-width-vw, 30vw));min-height:var(--mpb-choice-tile-min-height, 11rem);gap:0;}.choice-tile.svelte-8xu1pt {display:flex;flex-direction:column;justify-content:space-between;align-items:center;width:100%;min-height:var(--mpb-choice-tile-min-height, 11rem);padding:0.8rem 0.65rem 0.5rem;border-radius:8px;background:transparent;transition:background-color 120ms ease-in-out;}.choice-tile-content.svelte-8xu1pt {width:100%;display:flex;align-items:center;justify-content:center;min-height:var(--mpb-choice-content-min-height, 7.5rem);}.choice-row-horizontal.svelte-8xu1pt:hover .choice-tile:where(.svelte-8xu1pt) {background:var(--mpb-choice-hover-bg, var(--pie-background-dark, #ecedf1));}.pie-choice-horizontal.svelte-8xu1pt:not(.is-selected):not(:hover) .pie-choice-tile:where(.svelte-8xu1pt) {background:transparent;}.choice-row-horizontal.is-selected.svelte-8xu1pt .choice-tile:where(.svelte-8xu1pt) {background:var(--mpb-choice-selected-bg, var(--pie-secondary-background, rgba(241, 241, 241, 1)));}.choice-row-horizontal.is-selected.svelte-8xu1pt:hover .choice-tile:where(.svelte-8xu1pt) {background:var(--mpb-choice-selected-bg, var(--pie-secondary-background, rgba(241, 241, 241, 1)));}.pie-choice.svelte-8xu1pt:not(.pie-choice-horizontal):hover .pie-choice-label-wrap:where(.svelte-8xu1pt) {background:var(--pie-background-dark, #ecedf1);}.pie-choice.svelte-8xu1pt:not(.pie-choice-horizontal):not(.is-selected):not(:hover) .pie-choice-label-wrap:where(.svelte-8xu1pt) {background:transparent;}.pie-choice:not(.pie-choice-horizontal).is-selected.svelte-8xu1pt .pie-choice-label-wrap:where(.svelte-8xu1pt) {background:var(--pie-secondary-background, rgba(241, 241, 241, 1));border-radius:6px;}.pie-choice:not(.pie-choice-horizontal).is-selected.svelte-8xu1pt:hover .pie-choice-label-wrap:where(.svelte-8xu1pt) {background:var(--pie-secondary-background, rgba(241, 241, 241, 1));}.pie-choice.choice-correct.svelte-8xu1pt {border-left:3px solid var(--pie-correct-tertiary, #0ea449);}.pie-choice.choice-incorrect.svelte-8xu1pt {border-left:3px solid var(--pie-incorrect-icon, #bf0d00);}.pie-choice-horizontal.choice-correct.svelte-8xu1pt .choice-tile:where(.svelte-8xu1pt) {background:var(--pie-correct-secondary, #e8f5e9);}.pie-choice-horizontal.choice-incorrect.svelte-8xu1pt .choice-tile:where(.svelte-8xu1pt) {background:var(--pie-incorrect-secondary, #ffebee);}.pie-choice-feedback-badge.svelte-8xu1pt {margin-left:auto;display:inline-flex;align-items:center;justify-content:center;width:1.1rem;height:1.1rem;border-radius:9999px;font-size:0.72rem;line-height:1;font-weight:700;color:var(--pie-white, #ffffff);}.pie-choice-feedback-correct.svelte-8xu1pt {background:var(--pie-correct-icon, #087d38);}.pie-choice-feedback-incorrect.svelte-8xu1pt {background:var(--pie-incorrect-icon, #bf0d00);}.choice-row-horizontal.svelte-8xu1pt p {margin:0;text-align:center;}.choice-html.svelte-8xu1pt p {margin:0;}.choice-html.svelte-8xu1pt {width:100%;display:inline-flex;align-items:center;justify-content:center;text-align:center;}.choice-radio-bottom.svelte-8xu1pt {margin-top:var(--mpb-horizontal-choice-radio-top-margin, 0.5rem);padding:var(--mpb-choice-radio-padding, 0px);}.choice-radio-inline.svelte-8xu1pt {margin-top:var(--mpb-horizontal-choice-radio-top-margin, 0.5rem);}"
|
|
294
|
+
};
|
|
295
|
+
function le(t, n) {
|
|
296
|
+
a(n, !0), D(t, ce);
|
|
297
|
+
let o = S(n, "choice", 7), u = S(n, "choiceMode", 7, "text"), f = S(n, "isHorizontal", 7, !1), m = S(n, "isSelected", 7, !1), v = S(n, "isDisabled", 7, !1), y = S(n, "correctness", 7, void 0), w = S(n, "isEvaluateMode", 7, !1), E = S(n, "instanceId", 7), O = S(n, "radioGroupName", 7);
|
|
298
|
+
var A = {
|
|
299
|
+
get choice() {
|
|
300
|
+
return o();
|
|
301
|
+
},
|
|
302
|
+
set choice(t) {
|
|
303
|
+
o(t), e();
|
|
304
|
+
},
|
|
305
|
+
get choiceMode() {
|
|
306
|
+
return u();
|
|
307
|
+
},
|
|
308
|
+
set choiceMode(t = "text") {
|
|
309
|
+
u(t), e();
|
|
310
|
+
},
|
|
311
|
+
get isHorizontal() {
|
|
312
|
+
return f();
|
|
313
|
+
},
|
|
314
|
+
set isHorizontal(t = !1) {
|
|
315
|
+
f(t), e();
|
|
316
|
+
},
|
|
317
|
+
get isSelected() {
|
|
318
|
+
return m();
|
|
319
|
+
},
|
|
320
|
+
set isSelected(t = !1) {
|
|
321
|
+
m(t), e();
|
|
322
|
+
},
|
|
323
|
+
get isDisabled() {
|
|
324
|
+
return v();
|
|
325
|
+
},
|
|
326
|
+
set isDisabled(t = !1) {
|
|
327
|
+
v(t), e();
|
|
328
|
+
},
|
|
329
|
+
get correctness() {
|
|
330
|
+
return y();
|
|
331
|
+
},
|
|
332
|
+
set correctness(t = void 0) {
|
|
333
|
+
y(t), e();
|
|
334
|
+
},
|
|
335
|
+
get isEvaluateMode() {
|
|
336
|
+
return w();
|
|
337
|
+
},
|
|
338
|
+
set isEvaluateMode(t = !1) {
|
|
339
|
+
w(t), e();
|
|
340
|
+
},
|
|
341
|
+
get instanceId() {
|
|
342
|
+
return E();
|
|
343
|
+
},
|
|
344
|
+
set instanceId(t) {
|
|
345
|
+
E(t), e();
|
|
346
|
+
},
|
|
347
|
+
get radioGroupName() {
|
|
348
|
+
return O();
|
|
349
|
+
},
|
|
350
|
+
set radioGroupName(t) {
|
|
351
|
+
O(t), e();
|
|
352
|
+
}
|
|
353
|
+
}, j = Y(), M = k(j), N = (e) => {
|
|
354
|
+
var t = q(), n = k(t), i = k(n), a = (e) => {
|
|
355
|
+
var t = G();
|
|
356
|
+
c(() => {
|
|
357
|
+
d(t, "src", o().imageUrl), d(t, "alt", o().imageAlt || `Choice ${o().id}`);
|
|
358
|
+
}), h(e, t);
|
|
359
|
+
}, l = (e) => {
|
|
360
|
+
var t = K();
|
|
361
|
+
p(t, () => o().labelHtml || "", !0), s(t), h(e, t);
|
|
362
|
+
};
|
|
363
|
+
x(i, (e) => {
|
|
364
|
+
u() === "image" && o().imageUrl ? e(a) : e(l, -1);
|
|
365
|
+
}), s(n);
|
|
366
|
+
var f = r(n, 2);
|
|
367
|
+
_(f), s(t), c(() => {
|
|
368
|
+
d(t, "for", `${E()}-opt-${o().id}`), d(f, "name", O()), d(f, "id", `${E()}-opt-${o().id}`), T(f, o().id), C(f, m()), f.disabled = v();
|
|
369
|
+
}), h(e, t);
|
|
370
|
+
}, P = (e) => {
|
|
371
|
+
var t = J(), n = l(t);
|
|
372
|
+
_(n);
|
|
373
|
+
var i = r(n, 2), a = k(i), f = (e) => {
|
|
374
|
+
var t = G();
|
|
375
|
+
c(() => {
|
|
376
|
+
d(t, "src", o().imageUrl), d(t, "alt", o().imageAlt || `Choice ${o().id}`);
|
|
377
|
+
}), h(e, t);
|
|
378
|
+
}, g = (e) => {
|
|
379
|
+
var t = K();
|
|
380
|
+
p(t, () => o().labelHtml || "", !0), s(t), h(e, t);
|
|
381
|
+
};
|
|
382
|
+
x(a, (e) => {
|
|
383
|
+
u() === "image" && o().imageUrl ? e(f) : e(g, -1);
|
|
384
|
+
}), s(i), c(() => {
|
|
385
|
+
d(n, "name", O()), d(n, "id", `${E()}-opt-${o().id}`), T(n, o().id), C(n, m()), n.disabled = v(), d(i, "for", `${E()}-opt-${o().id}`);
|
|
386
|
+
}), h(e, t);
|
|
387
|
+
};
|
|
388
|
+
x(M, (e) => {
|
|
389
|
+
f() ? e(N) : e(P, -1);
|
|
390
|
+
});
|
|
391
|
+
var F = r(M, 2), I = (e) => {
|
|
392
|
+
var t = se(), n = k(t, !0);
|
|
393
|
+
s(t), c(() => {
|
|
394
|
+
b(t, 1, `pie-choice-feedback-badge ${y() === "correct" ? "pie-choice-feedback-correct" : "pie-choice-feedback-incorrect"}`, "svelte-8xu1pt"), g(n, y() === "correct" ? "✓" : "✕");
|
|
395
|
+
}), h(e, t);
|
|
396
|
+
};
|
|
397
|
+
return x(F, (e) => {
|
|
398
|
+
w() && y() && e(I);
|
|
399
|
+
}), s(j), c(() => b(j, 1, `flex items-start choice-row pie-choice ${f() ? "choice-row-horizontal pie-choice-horizontal" : ""} ${m() ? "is-selected pie-choice-selected" : ""} ${y() ? `choice-${y()} pie-choice-${y()}` : ""}`, "svelte-8xu1pt")), h(t, j), i(A);
|
|
400
|
+
}
|
|
401
|
+
E(le, {
|
|
402
|
+
choice: {},
|
|
403
|
+
choiceMode: {},
|
|
404
|
+
isHorizontal: {},
|
|
405
|
+
isSelected: {},
|
|
406
|
+
isDisabled: {},
|
|
407
|
+
correctness: {},
|
|
408
|
+
isEvaluateMode: {},
|
|
409
|
+
instanceId: {},
|
|
410
|
+
radioGroupName: {}
|
|
411
|
+
}, [], [], { mode: "open" });
|
|
412
|
+
//#endregion
|
|
413
|
+
//#region src/delivery/computeChoiceCorrectness.ts
|
|
414
|
+
function ue(e) {
|
|
415
|
+
let t = /* @__PURE__ */ new Map(), { isEvaluateMode: n, correctChoiceId: r, selectedId: i, showCorrectAnswer: a } = e;
|
|
416
|
+
return !n || !r ? t : a ? (t.set(r, "correct"), t) : i ? i === r ? (t.set(r, "correct"), t) : (t.set(i, "incorrect"), t.set(r, "incorrect"), t) : (t.set(r, "incorrect"), t);
|
|
417
|
+
}
|
|
418
|
+
//#endregion
|
|
419
|
+
//#region src/delivery/computeLayoutProfile.ts
|
|
420
|
+
var de = "{{blank}}", fe = /* @__PURE__ */ new Set([
|
|
421
|
+
"audio_blank_only",
|
|
422
|
+
"stimulus_image_blank",
|
|
423
|
+
"token_sequence"
|
|
424
|
+
]);
|
|
425
|
+
function pe(e) {
|
|
426
|
+
let { interactionMode: t = "", template: n = "", choiceLayout: r, layoutProfile: i = "", hasAudio: a = !1, useFeatureButtonAudio: o } = e, s = t === "audio_mc_only", c = n ? n.replace(/<[^>]+>/g, "").replace(/ /g, " ").trim() === de : !1, l = r === "horizontal" || r === "vertical" ? r : s || c ? "horizontal" : "vertical";
|
|
427
|
+
return {
|
|
428
|
+
isAudioOnlyMode: s,
|
|
429
|
+
isBlankOnlyTemplate: c,
|
|
430
|
+
choiceLayout: l,
|
|
431
|
+
isHorizontalChoices: l === "horizontal",
|
|
432
|
+
hasInlineSentenceAudioLayout: i === "inline_sentence" && a,
|
|
433
|
+
useFeatureButtonAudio: typeof o == "boolean" ? o : a && fe.has(i)
|
|
434
|
+
};
|
|
435
|
+
}
|
|
436
|
+
//#endregion
|
|
437
|
+
//#region src/delivery/computeLayoutStyle.ts
|
|
438
|
+
var me = {
|
|
439
|
+
blankStandaloneWidthRem: {
|
|
440
|
+
varName: "--mpb-blank-standalone-width",
|
|
441
|
+
unit: "rem"
|
|
442
|
+
},
|
|
443
|
+
blankWideWidthRem: {
|
|
444
|
+
varName: "--mpb-blank-wide-width",
|
|
445
|
+
unit: "rem"
|
|
446
|
+
},
|
|
447
|
+
blankUnderlineWidthPx: {
|
|
448
|
+
varName: "--mpb-blank-underline-width",
|
|
449
|
+
unit: "px"
|
|
450
|
+
},
|
|
451
|
+
blankUnderlineWideWidthPx: {
|
|
452
|
+
varName: "--mpb-blank-underline-wide-width",
|
|
453
|
+
unit: "px"
|
|
454
|
+
},
|
|
455
|
+
horizontalChoiceWidthPx: {
|
|
456
|
+
varName: "--mpb-choice-width-px",
|
|
457
|
+
unit: "px"
|
|
458
|
+
},
|
|
459
|
+
horizontalChoiceWidthVw: {
|
|
460
|
+
varName: "--mpb-choice-width-vw",
|
|
461
|
+
unit: "vw"
|
|
462
|
+
},
|
|
463
|
+
horizontalChoiceTileMinHeightRem: {
|
|
464
|
+
varName: "--mpb-choice-tile-min-height",
|
|
465
|
+
unit: "rem"
|
|
466
|
+
},
|
|
467
|
+
horizontalChoiceContentMinHeightRem: {
|
|
468
|
+
varName: "--mpb-choice-content-min-height",
|
|
469
|
+
unit: "rem"
|
|
470
|
+
},
|
|
471
|
+
choiceImageMaxHeightRem: {
|
|
472
|
+
varName: "--mpb-choice-image-max-height",
|
|
473
|
+
unit: "rem"
|
|
474
|
+
},
|
|
475
|
+
selectedImageMaxHeightRem: {
|
|
476
|
+
varName: "--mpb-selected-image-max-height",
|
|
477
|
+
unit: "rem"
|
|
478
|
+
},
|
|
479
|
+
choiceGroupGapRem: {
|
|
480
|
+
varName: "--mpb-choice-group-gap",
|
|
481
|
+
unit: "rem"
|
|
482
|
+
},
|
|
483
|
+
choiceRowGapRem: {
|
|
484
|
+
varName: "--mpb-choice-row-gap",
|
|
485
|
+
unit: "rem"
|
|
486
|
+
},
|
|
487
|
+
horizontalChoiceRadioTopMarginRem: {
|
|
488
|
+
varName: "--mpb-horizontal-choice-radio-top-margin",
|
|
489
|
+
unit: "rem"
|
|
490
|
+
},
|
|
491
|
+
narrowHorizontalChoiceMaxWidthPx: {
|
|
492
|
+
varName: "--mpb-narrow-choice-max-width",
|
|
493
|
+
unit: "px"
|
|
494
|
+
},
|
|
495
|
+
toggleButtonGapRem: {
|
|
496
|
+
varName: "--mpb-toggle-button-gap",
|
|
497
|
+
unit: "rem"
|
|
498
|
+
},
|
|
499
|
+
listenButtonSizePx: {
|
|
500
|
+
varName: "--mpb-listen-button-size",
|
|
501
|
+
unit: "px"
|
|
502
|
+
},
|
|
503
|
+
audioBlankTemplateMarginTopRem: {
|
|
504
|
+
varName: "--mpb-audio-blank-template-margin-top",
|
|
505
|
+
unit: "rem"
|
|
506
|
+
},
|
|
507
|
+
audioBlankTemplateMarginBottomRem: {
|
|
508
|
+
varName: "--mpb-audio-blank-template-margin-bottom",
|
|
509
|
+
unit: "rem"
|
|
510
|
+
},
|
|
511
|
+
audioInstructionsMaxWidthPx: {
|
|
512
|
+
varName: "--mpb-audio-instructions-max-width",
|
|
513
|
+
unit: "px"
|
|
514
|
+
},
|
|
515
|
+
stimulusMinColumnPx: {
|
|
516
|
+
varName: "--mpb-stimulus-min-column",
|
|
517
|
+
unit: "px"
|
|
518
|
+
},
|
|
519
|
+
textMinColumnPx: {
|
|
520
|
+
varName: "--mpb-text-min-column",
|
|
521
|
+
unit: "px"
|
|
522
|
+
},
|
|
523
|
+
stimulusGridColumnGapRem: {
|
|
524
|
+
varName: "--mpb-stimulus-grid-column-gap",
|
|
525
|
+
unit: "rem"
|
|
526
|
+
},
|
|
527
|
+
stimulusGridRowGapRem: {
|
|
528
|
+
varName: "--mpb-stimulus-grid-row-gap",
|
|
529
|
+
unit: "rem"
|
|
530
|
+
},
|
|
531
|
+
stimulusSentenceMarginTopRem: {
|
|
532
|
+
varName: "--mpb-stimulus-sentence-margin-top",
|
|
533
|
+
unit: "rem"
|
|
534
|
+
},
|
|
535
|
+
stimulusChoicesMarginTopRem: {
|
|
536
|
+
varName: "--mpb-stimulus-choices-margin-top",
|
|
537
|
+
unit: "rem"
|
|
538
|
+
},
|
|
539
|
+
tokenGridColumnGapRem: {
|
|
540
|
+
varName: "--mpb-token-grid-column-gap",
|
|
541
|
+
unit: "rem"
|
|
542
|
+
},
|
|
543
|
+
tokenGridRowGapRem: {
|
|
544
|
+
varName: "--mpb-token-grid-row-gap",
|
|
545
|
+
unit: "rem"
|
|
546
|
+
},
|
|
547
|
+
tokenTemplateMarginTopRem: {
|
|
548
|
+
varName: "--mpb-token-template-margin-top",
|
|
549
|
+
unit: "rem"
|
|
550
|
+
},
|
|
551
|
+
tokenInlineTokenGapRem: {
|
|
552
|
+
varName: "--mpb-token-inline-token-gap",
|
|
553
|
+
unit: "rem"
|
|
554
|
+
},
|
|
555
|
+
tokenChoicesMarginTopRem: {
|
|
556
|
+
varName: "--mpb-token-choices-margin-top",
|
|
557
|
+
unit: "rem"
|
|
558
|
+
},
|
|
559
|
+
inlineGridColumnGapRem: {
|
|
560
|
+
varName: "--mpb-inline-grid-column-gap",
|
|
561
|
+
unit: "rem"
|
|
562
|
+
},
|
|
563
|
+
inlineGridRowGapRem: {
|
|
564
|
+
varName: "--mpb-inline-grid-row-gap",
|
|
565
|
+
unit: "rem"
|
|
566
|
+
},
|
|
567
|
+
inlineTemplateMarginTopRem: {
|
|
568
|
+
varName: "--mpb-inline-template-margin-top",
|
|
569
|
+
unit: "rem"
|
|
570
|
+
},
|
|
571
|
+
inlineChoicesMarginTopRem: {
|
|
572
|
+
varName: "--mpb-inline-choices-margin-top",
|
|
573
|
+
unit: "rem"
|
|
574
|
+
}
|
|
575
|
+
}, X = {
|
|
576
|
+
audio_blank_only: {
|
|
577
|
+
blankWideWidthRem: 10,
|
|
578
|
+
blankUnderlineWideWidthPx: 6,
|
|
579
|
+
horizontalChoiceTileMinHeightRem: 11.25,
|
|
580
|
+
horizontalChoiceContentMinHeightRem: 9.375,
|
|
581
|
+
choiceGroupGapRem: 1,
|
|
582
|
+
audioBlankTemplateMarginBottomRem: 1.875
|
|
583
|
+
},
|
|
584
|
+
stimulus_image_blank: {
|
|
585
|
+
blankWideWidthRem: 10,
|
|
586
|
+
blankUnderlineWideWidthPx: 6
|
|
587
|
+
},
|
|
588
|
+
token_sequence: {
|
|
589
|
+
blankStandaloneWidthRem: 7,
|
|
590
|
+
blankUnderlineWideWidthPx: 6
|
|
591
|
+
}
|
|
592
|
+
};
|
|
593
|
+
function he(e) {
|
|
594
|
+
let { layoutProfile: t, isBlankOnlyTemplate: n } = e, r = e.configuredLimits && typeof e.configuredLimits == "object" ? e.configuredLimits : {}, i = e.customProfilePresets && typeof e.customProfilePresets == "object" ? e.customProfilePresets : {}, a = i[t] && typeof i[t] == "object" ? i[t] : {}, o = {
|
|
595
|
+
...X[t] ?? {},
|
|
596
|
+
...a
|
|
597
|
+
}, s = {
|
|
598
|
+
...M,
|
|
599
|
+
...r,
|
|
600
|
+
...o
|
|
601
|
+
}, c = ["audio_blank_only", "stimulus_image_blank"], l = [
|
|
602
|
+
"audio_blank_only",
|
|
603
|
+
"stimulus_image_blank",
|
|
604
|
+
"token_sequence"
|
|
605
|
+
], u = c.includes(t) ? `${s.blankWideWidthRem}rem` : n ? `${s.blankStandaloneWidthRem}rem` : "auto", d = l.includes(t) ? `${s.blankUnderlineWideWidthPx}px` : `${s.blankUnderlineWidthPx}px`;
|
|
606
|
+
return {
|
|
607
|
+
rootStyle: Object.keys(me).map((e) => `${me[e].varName}:${s[e]}${me[e].unit}`).join(";"),
|
|
608
|
+
blankWidth: u,
|
|
609
|
+
blankBorderWidth: d,
|
|
610
|
+
legendMaxChars: s.legendMaxChars
|
|
611
|
+
};
|
|
612
|
+
}
|
|
613
|
+
//#endregion
|
|
614
|
+
//#region src/delivery/computeDisplayState.ts
|
|
615
|
+
var Z = {
|
|
616
|
+
default: {
|
|
617
|
+
silentUrl: "https://assets.learnosity.com/organisations/844/0c9f2aa3-3cd5-4de7-93ef-541c24ca35da.svg",
|
|
618
|
+
playingUrl: "https://assets.learnosity.com/organisations/844/231dfdc2-c113-4be5-91fb-e75a0ca5994b.svg"
|
|
619
|
+
},
|
|
620
|
+
es: {
|
|
621
|
+
silentUrl: "https://assets.learnosity.com/organisations/844/27a9d5b5-d873-4bd5-b9ba-22748782d8ba.svg",
|
|
622
|
+
playingUrl: "https://assets.learnosity.com/organisations/844/120f216d-96b7-4560-94b8-1d90710216b7.svg"
|
|
623
|
+
}
|
|
624
|
+
};
|
|
625
|
+
function ge(e) {
|
|
626
|
+
let t = String(e.locale || "").toLowerCase(), n = t.slice(0, 2), r = e.audioButtonSkinsByLocale && typeof e.audioButtonSkinsByLocale == "object" ? e.audioButtonSkinsByLocale : {}, i = e.audioButtonSkin && typeof e.audioButtonSkin == "object" ? e.audioButtonSkin : null, a = t.startsWith("es") ? Z.es : Z.default;
|
|
627
|
+
return r[t] || r[n] || r.default || i || a;
|
|
628
|
+
}
|
|
629
|
+
function _e(e) {
|
|
630
|
+
let { selectedId: t, isEvaluateMode: n, showCorrectAnswer: r, alwaysShowCorrect: i, correctChoiceId: a } = e;
|
|
631
|
+
return i && a || n && r && a ? a : t;
|
|
632
|
+
}
|
|
633
|
+
function ve(e) {
|
|
634
|
+
let { isEvaluateMode: t, showCorrectAnswer: n, isCorrect: r, isIncorrect: i, selectedId: a } = e;
|
|
635
|
+
return !t || n ? "" : r ? "Correct answer selected" : i && a ? "Incorrect answer selected" : "";
|
|
636
|
+
}
|
|
637
|
+
function ye(e) {
|
|
638
|
+
let { prompt: t, legendMaxChars: n, answerChoicesLabel: r } = e, i = t.replace(/<[^>]+>/g, " ").replace(/\s+/g, " ").trim(), a = Math.max(8, n);
|
|
639
|
+
return i ? i.length > a ? `${i.slice(0, Math.max(1, a - 1))}…` : i : r;
|
|
640
|
+
}
|
|
641
|
+
//#endregion
|
|
642
|
+
//#region src/delivery/cqt-css/sel-r1-base.css?raw
|
|
643
|
+
var be = "/* Shared base styles for all sel_r1-*_plusggg variants.\n Applied via the data-mpb-variant=\"sel-r1-base\" style element.\n Uses [class*=\"variant-sel-r1-\"] so it covers every r1 variant class.\n Source: web-ItemBankViewer/learnosity/templates/Renaissance/r1.scss */\n\n/* r1.scss: Starial font throughout.\n font-size 14px mirrors the Learnosity host root (.lrn_widget) which sets the\n base for all em-scaled rules in r1.scss (e.g. .rli-r1-content-element { 1.9em })\n and any em-based author content (e.g. <span style=\"font-size:1.8em\">). Without\n this base PIE inherits the 16px browser default and renders ~14% larger than\n the LSY reference. See CONTOOL-2567. */\n[class*=\"variant-sel-r1-\"] {\n font-family: Starial, Arial, sans-serif;\n font-size: 14px;\n}\n\n/* r1.scss: .rli-r1-audio-transcript { font-family:Roboto; font-size:16px } */\n[class*=\"variant-sel-r1-\"] .pie-audio-transcript {\n font-family: Roboto, Arial, sans-serif;\n font-size: 16px;\n font-style: normal;\n font-weight: 400;\n}\n\n/* r1.scss: .rli-r1-content-element { font-size: 1.9em } wraps all stem tokens.\n Makes inline font-size spans in the template multiply on top of this base. */\n[class*=\"variant-sel-r1-\"] .pie-template-line {\n font-size: 1.9em;\n}\n\n/* r1.scss: .rli-r1-stem { display:flex; flex-direction:row; justify-content:center }\n r1.scss: .rli-r1-content-element { margin-right:2px; margin-left:2px } — 4px total gap.\n Apply the per-element margin to both classless tokens and the blank slot\n (which is the cloze equivalent) so the gap stacks with whitespace text-nodes\n between flex items the same way LSY does. Earlier this used column-gap:4px,\n but flex column-gap accumulates with the cloze-side mx-1 and the implicit\n whitespace, producing a wider gap than LSY shows. See CONTOOL-2569. */\n[class*=\"variant-sel-r1-\"] .pie-template-line {\n display: flex;\n flex-direction: row;\n align-items: baseline;\n justify-content: center;\n}\n\n[class*=\"variant-sel-r1-\"] .pie-template-line p {\n margin: 0;\n display: flex;\n flex-direction: row;\n align-items: baseline;\n}\n\n/* r1.scss: .rli-r1-content-element { min-width:150px; max-width:150px; min-height:150px;\n line-height:89px; margin-right:2px; margin-left:2px } — wraps every stem token\n (blank slot and adjacent inline spans) in LSY, giving each a 150px box with a\n 2px per-side margin. Apply to inline tokens in all r1 variants so trailing\n tokens in audio_blank_only (gplusggg) match the blank's height the way LSY does. */\n[class*=\"variant-sel-r1-\"] .pie-template-line span:not([class]) {\n min-width: 150px;\n max-width: 150px;\n min-height: 150px;\n line-height: 89px;\n margin-left: 2px;\n margin-right: 2px;\n}\n\n/* In token_sequence layouts the blank itself is also a content-element box (no\n surrounding .rli-r1-cloze container at 160px). audio_blank_only / stimulus_image_blank\n keep their own 160px min-height set on the blank slot in McPopulatedBlank.svelte to\n mirror LSY's .rli-r1-cloze height. The 2px per-side margin matches LSY's\n .rli-r1-content-element pattern (overriding the default Tailwind mx-1). */\n[class*=\"variant-sel-r1-\"].layout-token_sequence .pie-template-line .pie-blank-slot {\n min-width: 150px;\n max-width: 150px;\n min-height: 150px;\n line-height: 89px;\n margin-left: 2px;\n margin-right: 2px;\n}\n\n/* audio_blank_only / stimulus_image_blank keep the 160px wide blank slot, but\n still need the 2px per-side margin so the gap to the trailing token mirrors\n LSY's .rli-r1-content-element rhythm. Without this, Tailwind's mx-1 (4px)\n would dominate and the cloze→token gap diverges from LSY. See CONTOOL-2569. */\n[class*=\"variant-sel-r1-\"].layout-audio_blank_only .pie-template-line .pie-blank-slot,\n[class*=\"variant-sel-r1-\"].layout-stimulus_image_blank .pie-template-line .pie-blank-slot {\n margin-left: 2px;\n margin-right: 2px;\n}\n\n/* r1.scss: .rli-r1-content-element { font-size:1.9em; line-height:89px } on distractors */\n[class*=\"variant-sel-r1-\"] .pie-choice-label {\n font-size: 1.9em;\n line-height: 89px;\n}\n\n/* r1.scss: .rli-r1-content-element { min-width:150px; max-width:150px;\n min-height:150px } wraps every image (stem token + distractor) and forces\n the content box to 150×150. LSY's host also rewrites <img width/height>\n to 150 server-side. PIE keeps the authored attributes (typically 108×108),\n so without an explicit override images render ~28% smaller than LSY.\n See CONTOOL-2570. */\n[class*=\"variant-sel-r1-\"] .pie-template-line img,\n[class*=\"variant-sel-r1-\"] .pie-choice-label img {\n width: 150px;\n height: 150px;\n}\n", xe = {
|
|
644
|
+
"sel_r1-_plusggg": {
|
|
645
|
+
variantId: "sel-r1-plusggg",
|
|
646
|
+
variantClass: "variant-sel-r1-plusggg",
|
|
647
|
+
sourceUrl: "https://global-pr-ibvcustomfiles.renaissance-go.com/learnosity/sel_r1-_plusggg/0.0.1/question.css",
|
|
648
|
+
cssText: "/* Source baseline: https://global-pr-ibvcustomfiles.renaissance-go.com/learnosity/sel_r1-_plusggg/0.0.1/question.css */\n/* Shared r1 base styles (font, template-line flex, choice-label) are in sel-r1-base.css */\n.mc-populated-blank-root.variant-sel-r1-plusggg {\n max-width: 875px;\n margin-inline: auto;\n --mpb-listen-button-size: 128px;\n --mpb-choice-width-px: 155px;\n --mpb-choice-tile-min-height: 11.25rem;\n --mpb-choice-content-min-height: 9.375rem;\n --mpb-choice-group-gap: 1rem;\n --mpb-choice-hover-bg: #f2f2f2;\n --mpb-choice-selected-bg: #fcfcd3;\n}\n\n.mc-populated-blank-root.variant-sel-r1-plusggg {\n --mpb-choice-radio-padding: 20px;\n}\n"
|
|
649
|
+
},
|
|
650
|
+
"sr-vic": {
|
|
651
|
+
variantId: "sr-vic",
|
|
652
|
+
variantClass: "variant-sr-vic",
|
|
653
|
+
sourceUrl: "https://global-pr-ibvcustomfiles.renaissance-go.com/learnosity/sr-vic/0.0.1/question.css",
|
|
654
|
+
cssText: "/* Source baseline: https://global-pr-ibvcustomfiles.renaissance-go.com/learnosity/sr-vic/0.0.1/question.css */\n/* Reference layout: web-ItemBankViewer/learnosity/templates/Renaissance/vic.scss */\n.mc-populated-blank-root.variant-sr-vic {\n font-family: Starial, Arial, sans-serif;\n --mpb-inline-grid-column-gap: 1rem;\n --mpb-inline-grid-row-gap: 0.5rem;\n --mpb-inline-template-margin-top: 0.2rem;\n --mpb-inline-choices-margin-top: 0.2rem;\n}\n\n.mc-populated-blank-root.variant-sr-vic .pie-template-line,\n.mc-populated-blank-root.variant-sr-vic .pie-blank-value,\n.mc-populated-blank-root.variant-sr-vic .pie-choice-label {\n line-height: 123%;\n}\n\n/* vic.scss: .rli-vic-answer uses display:flex so sentence and cloze stay on\n one line. The template HTML wraps text in <p>, which is block by default and\n breaks to a new line. Making <p> inline keeps the sentence and blank inline. */\n.mc-populated-blank-root.variant-sr-vic .pie-template-line p {\n display: inline;\n margin: 0;\n}\n\n/* LSY .rli-vic-answer has no text-align rule and inherits start; PIE's\n inline_sentence layout sets text-align:center on .template-line via a\n Svelte-scoped selector with specificity (0,4,0), so we need to match or\n exceed that. Pin sr-vic back to start so wrapped lines stay left-aligned.\n Same root cause as sel-vic. See CONTOOL-2573. */\n.mc-populated-blank-root.variant-sr-vic.layout-inline_sentence .pie-template-line.template-line {\n text-align: start;\n}\n\n/* vic.scss: .rli-vic-cloze > .rli-vic-content-element { color: #cc3333 } */\n.mc-populated-blank-root.variant-sr-vic .pie-blank-value {\n color: #cc3333;\n}\n\n/* vic.scss: .rli-vic-selected { background-color: #fcfcd3 } applied to the\n whole distractor row (radio + label), not just the label wrapper. */\n.mc-populated-blank-root.variant-sr-vic .pie-choice.is-selected {\n background-color: #fcfcd3;\n border-radius: 6px;\n}\n\n.mc-populated-blank-root.variant-sr-vic .pie-choice.is-selected .pie-choice-label-wrap {\n background-color: transparent;\n}\n\n/* vic.scss: distractor label text sits to the right of the radio — no centering. */\n.mc-populated-blank-root.variant-sr-vic .pie-choice-label {\n text-align: left;\n justify-content: flex-start;\n}\n\n/* vic.scss: .rli-vic-distractor:hover { background-color: #F2F2F2 } applied to\n the full row element, not only the inner label wrapper. */\n.mc-populated-blank-root.variant-sr-vic .pie-choice:not(.pie-choice-horizontal):hover {\n background-color: #f2f2f2;\n border-radius: 6px;\n}\n\n.mc-populated-blank-root.variant-sr-vic\n .pie-choice:not(.pie-choice-horizontal):hover\n .pie-choice-label-wrap {\n background-color: transparent;\n}\n\n/* Selected state must win over hover — yellow persists when hovering a chosen row. */\n.mc-populated-blank-root.variant-sr-vic .pie-choice:not(.pie-choice-horizontal).is-selected:hover {\n background-color: #fcfcd3;\n}\n"
|
|
655
|
+
},
|
|
656
|
+
sel_vic: {
|
|
657
|
+
variantId: "sel-vic",
|
|
658
|
+
variantClass: "variant-sel-vic",
|
|
659
|
+
sourceUrl: "https://global-pr-ibvcustomfiles.renaissance-go.com/learnosity/sel_vic/0.0.1/question.css",
|
|
660
|
+
cssText: "/* Source baseline: https://global-pr-ibvcustomfiles.renaissance-go.com/learnosity/sel_vic/0.0.1/question.css */\n/* Reference layout: web-ItemBankViewer/learnosity/templates/Renaissance/sel_vic/scss/main.scss + vic.scss */\n.mc-populated-blank-root.variant-sel-vic {\n font-family: Starial, Arial, sans-serif;\n /* LSY chain: .lrn_widget (14px host) → .sel-vic { 1.5em } = 21px.\n PIE collapses both LSY layers into this single variant-root selector, so\n the resolved value is set directly. See CONTOOL-2567. */\n font-size: 21px;\n max-width: 800px;\n margin-inline: auto;\n --mpb-inline-grid-column-gap: 1rem;\n --mpb-inline-grid-row-gap: 0.5rem;\n --mpb-inline-template-margin-top: 0.2rem;\n --mpb-inline-choices-margin-top: 0.2rem;\n}\n\n.mc-populated-blank-root.variant-sel-vic .pie-audio-transcript {\n font-family: Roboto, Arial, sans-serif;\n font-size: 16px;\n font-style: normal;\n font-weight: 400;\n}\n\n.mc-populated-blank-root.variant-sel-vic .pie-template-line,\n.mc-populated-blank-root.variant-sel-vic .pie-blank-value,\n.mc-populated-blank-root.variant-sel-vic .pie-choice-label {\n line-height: 123%;\n}\n\n/* sel_vic/main.scss: template left ~75%, audio right ~25% on the same row.\n Svelte scoping prevents the component-internal grid-area rule from reaching\n .audio-container inside AudioPlayer, so we override it here via the global\n .pie-audio-container class which is not subject to scope hashing. */\n.mc-populated-blank-root.variant-sel-vic .pie-audio-container {\n grid-area: audio;\n margin: 0;\n justify-self: end;\n align-self: start;\n min-height: 128px;\n}\n\n/* vic.scss: sentence and cloze sit inline — the <p> wrapper must not break to\n a new line before the blank slot. */\n.mc-populated-blank-root.variant-sel-vic .pie-template-line p {\n display: inline;\n margin: 0;\n}\n\n/* LSY .rli-vic-answer has no text-align rule and inherits start; PIE's\n inline_sentence layout sets text-align:center on .template-line via a\n Svelte-scoped selector with specificity (0,4,0), so we need to match or\n exceed that. Pin sel-vic back to start so wrapped lines stay left-aligned.\n See CONTOOL-2573. */\n.mc-populated-blank-root.variant-sel-vic.layout-inline_sentence .pie-template-line.template-line {\n text-align: start;\n}\n\n/* vic.scss: .rli-vic-cloze { margin-left: 6px; margin-right: 6px } gives the\n cloze breathing room from adjacent text or punctuation. The PIE markup uses\n Tailwind-style mx-1 in the class list, but mc-populated-blank does not\n compile Tailwind, so that class is a no-op. Set the inline margin\n explicitly so the cloze→trailing-punctuation gap matches LSY. See\n CONTOOL-2572. */\n.mc-populated-blank-root.variant-sel-vic .pie-template-line .pie-blank-slot {\n margin-left: 6px;\n margin-right: 6px;\n}\n\n/* vic.scss: .rli-vic-cloze > .rli-vic-content-element { color: #cc3333 } */\n.mc-populated-blank-root.variant-sel-vic .pie-blank-value {\n color: #cc3333;\n}\n\n/* sel_vic/main.scss: .sel-vic { max-width: 800px } — the fieldset/choices must\n also be constrained so rows don't span beyond 800px. */\n.mc-populated-blank-root.variant-sel-vic .pie-choices-fieldset {\n max-width: 800px;\n width: 100%;\n}\n\n/* vic.scss: distractor label text sits to the right of the radio — no centering. */\n.mc-populated-blank-root.variant-sel-vic .pie-choice-label {\n text-align: left;\n justify-content: flex-start;\n}\n\n/* vic.scss: .rli-vic-selected { background-color: #fcfcd3 } on the full row. */\n.mc-populated-blank-root.variant-sel-vic .pie-choice.is-selected {\n background-color: #fcfcd3;\n border-radius: 6px;\n}\n\n.mc-populated-blank-root.variant-sel-vic .pie-choice.is-selected .pie-choice-label-wrap {\n background-color: transparent;\n}\n\n/* Selected state must win over hover. */\n.mc-populated-blank-root.variant-sel-vic .pie-choice:not(.pie-choice-horizontal).is-selected:hover {\n background-color: #fcfcd3;\n}\n\n/* vic.scss: .rli-vic-distractor:hover { background-color: #F2F2F2 } on the full row. */\n.mc-populated-blank-root.variant-sel-vic .pie-choice:not(.pie-choice-horizontal):hover {\n background-color: #f2f2f2;\n border-radius: 6px;\n}\n\n.mc-populated-blank-root.variant-sel-vic\n .pie-choice:not(.pie-choice-horizontal):hover\n .pie-choice-label-wrap {\n background-color: transparent;\n}\n\n@media (min-width: 620px) {\n .mc-populated-blank-root.variant-sel-vic .pie-audio-transcript {\n min-width: 620px;\n max-width: 800px;\n transform: translateX(-55px);\n }\n}\n"
|
|
661
|
+
},
|
|
662
|
+
"sel_r1-_gplusggg": {
|
|
663
|
+
variantId: "sel-r1-gplusggg",
|
|
664
|
+
variantClass: "variant-sel-r1-gplusggg",
|
|
665
|
+
sourceUrl: "https://global-pr-ibvcustomfiles.renaissance-go.com/learnosity/sel_r1-_gplusggg/0.0.1/question.css",
|
|
666
|
+
cssText: "/* Source baseline: https://global-pr-ibvcustomfiles.renaissance-go.com/learnosity/sel_r1-_gplusggg/0.0.1/question.css */\n/* Shared r1 base styles (font, template-line flex, choice-label) are in sel-r1-base.css */\n.mc-populated-blank-root.variant-sel-r1-gplusggg {\n max-width: 875px;\n margin-inline: auto;\n --mpb-listen-button-size: 128px;\n --mpb-choice-width-px: 155px;\n --mpb-choice-tile-min-height: 11.25rem;\n --mpb-choice-content-min-height: 9.375rem;\n --mpb-choice-group-gap: 1rem;\n --mpb-choice-hover-bg: #f2f2f2;\n --mpb-choice-selected-bg: #fcfcd3;\n}\n\n/* r1.scss: .rli-r1-content-element boxes all have fixed line-height:89px, so every\n token in the stem row shares a stable baseline regardless of content. In PIE,\n the blank slot's baseline shifts when the empty placeholder (short ) is\n replaced by the filled value span (full text height), dragging adjacent tokens\n down by ~9px. Switching to align-items:center is safe here because gplusggg has\n only one row of content (blank + \"four\"), so vertical centering and baseline\n alignment produce the same visual result. The :is() wrapper raises specificity\n above the base [class*=] rule without needing !important. */\n:is(.mc-populated-blank-root.variant-sel-r1-gplusggg) .pie-template-line {\n align-items: center;\n}\n"
|
|
667
|
+
},
|
|
668
|
+
"sel_r1-g_plusggg": {
|
|
669
|
+
variantId: "sel-r1-g-stem",
|
|
670
|
+
variantClass: "variant-sel-r1-g-stem",
|
|
671
|
+
sourceUrl: "https://global-pr-ibvcustomfiles.renaissance-go.com/learnosity/sel_r1-g_plusggg/0.0.1/question.css",
|
|
672
|
+
cssText: "/* Source baseline: https://global-pr-ibvcustomfiles.renaissance-go.com/learnosity/sel_r1-g_plusggg/0.0.1/question.css */\n/* Shared r1 base styles (font, template-line flex, choice-label) are in sel-r1-base.css */\n.mc-populated-blank-root.variant-sel-r1-g-stem {\n max-width: 875px;\n margin-inline: auto;\n --mpb-listen-button-size: 128px;\n --mpb-choice-width-px: 155px;\n --mpb-choice-tile-min-height: 11.25rem;\n --mpb-choice-content-min-height: 9.375rem;\n --mpb-choice-hover-bg: #f2f2f2;\n --mpb-choice-selected-bg: #fcfcd3;\n /* r1.scss: .rli-r1-cloze { border-bottom: 6px solid } */\n --mpb-blank-underline-wide-width: 6px;\n}\n"
|
|
673
|
+
},
|
|
674
|
+
"sel_r1-gg_plusggg": {
|
|
675
|
+
variantId: "sel-r1-gg-plus",
|
|
676
|
+
variantClass: "variant-sel-r1-gg-plus",
|
|
677
|
+
sourceUrl: "https://global-pr-ibvcustomfiles.renaissance-go.com/learnosity/sel_r1-gg_plusggg/0.0.1/question.css",
|
|
678
|
+
cssText: "/* Source baseline: https://global-pr-ibvcustomfiles.renaissance-go.com/learnosity/sel_r1-gg_plusggg/0.0.1/question.css */\n/* Shared r1 base styles (font, template-line flex, choice-label) are in sel-r1-base.css */\n.mc-populated-blank-root.variant-sel-r1-gg-plus {\n max-width: 875px;\n margin-inline: auto;\n --mpb-listen-button-size: 128px;\n --mpb-choice-width-px: 155px;\n --mpb-choice-tile-min-height: 11.25rem;\n --mpb-choice-content-min-height: 9.375rem;\n --mpb-choice-hover-bg: #f2f2f2;\n --mpb-choice-selected-bg: #fcfcd3;\n}\n"
|
|
679
|
+
},
|
|
680
|
+
"sel_r1-_ggplusggg": {
|
|
681
|
+
variantId: "sel-r1-ggplus",
|
|
682
|
+
variantClass: "variant-sel-r1-ggplus",
|
|
683
|
+
sourceUrl: "https://global-pr-ibvcustomfiles.renaissance-go.com/learnosity/sel_r1-_ggplusggg/0.0.1/question.css",
|
|
684
|
+
cssText: "/* Source baseline: https://global-pr-ibvcustomfiles.renaissance-go.com/learnosity/sel_r1-_ggplusggg/0.0.1/question.css */\n/* Shared r1 base styles (font, template-line flex, choice-label) are in sel-r1-base.css */\n.mc-populated-blank-root.variant-sel-r1-ggplus {\n max-width: 875px;\n margin-inline: auto;\n --mpb-listen-button-size: 128px;\n --mpb-choice-width-px: 155px;\n --mpb-choice-tile-min-height: 11.25rem;\n --mpb-choice-content-min-height: 9.375rem;\n --mpb-choice-hover-bg: #f2f2f2;\n --mpb-choice-selected-bg: #fcfcd3;\n}\n"
|
|
685
|
+
},
|
|
686
|
+
"sel_r1-s3_plusggg": {
|
|
687
|
+
variantId: "sel-r1-s3",
|
|
688
|
+
variantClass: "variant-sel-r1-s3",
|
|
689
|
+
sourceUrl: "https://global-pr-ibvcustomfiles.renaissance-go.com/learnosity/sel_r1-s3_plusggg/0.0.1/question.css",
|
|
690
|
+
cssText: "/* Source baseline: https://global-pr-ibvcustomfiles.renaissance-go.com/learnosity/sel_r1-s3_plusggg/0.0.1/question.css */\n/* Shared r1 base styles (font, template-line flex, choice-label) are in sel-r1-base.css */\n.mc-populated-blank-root.variant-sel-r1-s3 {\n max-width: 860px;\n margin-inline: auto;\n --mpb-listen-button-size: 128px;\n --mpb-choice-width-px: 155px;\n --mpb-choice-tile-min-height: 11.25rem;\n --mpb-choice-content-min-height: 9.375rem;\n --mpb-choice-group-gap: 0.35rem;\n --mpb-choice-row-gap: 0.35rem;\n --mpb-horizontal-choice-radio-top-margin: 0.25rem;\n --mpb-stimulus-min-column: 240px;\n --mpb-stimulus-grid-column-gap: 1.1rem;\n --mpb-stimulus-choices-margin-top: 0.85rem;\n --mpb-audio-blank-template-margin-bottom: 0.9rem;\n --mpb-blank-wide-width: 6.8rem;\n}\n\n/* sel_r1-s3_plusggg/question.css does not set font-weight on distractors or\n cloze content-element, so they inherit 400 from the host root. The earlier\n font-weight:500 override caused PIE to render visibly heavier than LSY for\n the same author content. See CONTOOL-2571. */\n.mc-populated-blank-root.variant-sel-r1-s3 .pie-choice-label,\n.mc-populated-blank-root.variant-sel-r1-s3 .pie-choice-label :is(span, p, div) {\n font-size: 1.9em;\n line-height: 89px;\n}\n\n.mc-populated-blank-root.variant-sel-r1-s3 .pie-blank-value,\n.mc-populated-blank-root.variant-sel-r1-s3 .pie-blank-value :is(span, p, div) {\n line-height: 1.1;\n white-space: nowrap;\n}\n\n.mc-populated-blank-root.variant-sel-r1-s3 .pie-choice-horizontal .pie-choice-tile {\n border-radius: 6px;\n background: #f1f1f1;\n}\n\n.mc-populated-blank-root.variant-sel-r1-s3.layout-stimulus_image_blank {\n grid-template-columns: minmax(220px, auto) auto auto;\n grid-template-areas:\n \"transcript transcript transcript\"\n \"sentence template audio\"\n \"choices choices choices\";\n justify-content: center;\n}\n\n.mc-populated-blank-root.variant-sel-r1-s3.layout-stimulus_image_blank .pie-template-line {\n grid-area: template;\n justify-self: center;\n}\n\n.mc-populated-blank-root.variant-sel-r1-s3.layout-stimulus_image_blank .pie-sentence-line {\n justify-self: end;\n}\n\n.mc-populated-blank-root.variant-sel-r1-s3.layout-stimulus_image_blank .pie-audio-container {\n justify-self: start;\n align-self: start;\n}\n\n.mc-populated-blank-root.variant-sel-r1-s3.layout-stimulus_image_blank .pie-choices-fieldset {\n justify-self: center;\n width: fit-content;\n}\n\n.mc-populated-blank-root.variant-sel-r1-s3 .pie-sentence-line img {\n max-width: 100%;\n height: auto;\n}\n\n.mc-populated-blank-root.variant-sel-r1-s3 .pie-choice-horizontal:hover .pie-choice-tile {\n background: #e2e2e2;\n}\n\n.mc-populated-blank-root.variant-sel-r1-s3 .pie-choice-horizontal.is-selected .pie-choice-tile,\n.mc-populated-blank-root.variant-sel-r1-s3\n .pie-choice-horizontal.is-selected:hover\n .pie-choice-tile {\n background: #fcfcd3;\n}\n\n.mc-populated-blank-root.variant-sel-r1-s3 .pie-choice-horizontal .pie-choice-radio {\n transform: scale(0.85);\n}\n"
|
|
691
|
+
}
|
|
692
|
+
}, Se = (e) => String(e || "").trim().toLowerCase().replace(/v\d+\.\d+\.\d+$/i, ""), Ce = (e) => xe[Se(e)], we = (e) => Ce(e)?.variantClass || "", Te = /* @__PURE__ */ new Set([
|
|
693
|
+
"sel-r1-plusggg",
|
|
694
|
+
"sel-r1-gplusggg",
|
|
695
|
+
"sel-r1-g-stem",
|
|
696
|
+
"sel-r1-gg-plus",
|
|
697
|
+
"sel-r1-ggplus",
|
|
698
|
+
"sel-r1-s3"
|
|
699
|
+
]), Ee = (e, t, n) => {
|
|
700
|
+
let r = document.getElementById(e);
|
|
701
|
+
if (r) {
|
|
702
|
+
r.textContent !== n && (r.textContent = n);
|
|
703
|
+
return;
|
|
704
|
+
}
|
|
705
|
+
let i = document.createElement("style");
|
|
706
|
+
i.id = e, i.setAttribute("data-mpb-variant", t), i.textContent = n, document.head.appendChild(i);
|
|
707
|
+
}, De = (e) => {
|
|
708
|
+
!e?.cssText || typeof document > "u" || (Te.has(e.variantId) && Ee("mc-populated-blank-css-sel-r1-base", "sel-r1-base", be), Ee(`mc-populated-blank-css-${e.variantId}`, e.variantId, e.cssText));
|
|
709
|
+
}, Oe = O("<div class=\"mb-4 prose pie-prompt\"></div>"), ke = j("<svg class=\"pie-correct-answer-toggle-svg svelte-6wlbb4\" preserveAspectRatio=\"xMinYMin meet\" version=\"1.1\" viewBox=\"-283 359 34 35\"><circle cx=\"-266\" cy=\"375.9\" r=\"14\" fill=\"var(--pie-tertiary-light, #d0e2f0)\"></circle><path d=\"M-280.5,375.9c0-8,6.5-14.5,14.5-14.5s14.5,6.5,14.5,14.5s-6.5,14.5-14.5,14.5S-280.5,383.9-280.5,375.9z M-279.5,375.9c0,7.4,6.1,13.5,13.5,13.5c7.4,0,13.5-6.1,13.5-13.5s-6.1-13.5-13.5-13.5C-273.4,362.4-279.5,368.5-279.5,375.9z\" fill=\"var(--pie-tertiary-light, #d0e2f0)\"></path><polygon points=\"-265.4,383.1 -258.6,377.2 -261.2,374.2 -264.3,376.9 -268.9,368.7 -272.4,370.6\" fill=\"var(--pie-tertiary, #146eb3)\"></polygon></svg>"), Ae = j("<svg class=\"pie-correct-answer-toggle-svg svelte-6wlbb4\" preserveAspectRatio=\"xMinYMin meet\" version=\"1.1\" viewBox=\"-129.5 127 34 35\"><path d=\"M-112.9,160.4c-8.5,0-15.5-6.9-15.5-15.5c0-8.5,6.9-15.5,15.5-15.5s15.5,6.9,15.5,15.5 C-97.4,153.5-104.3,160.4-112.9,160.4z\" fill=\"#D0CAC5\" stroke=\"#E6E3E0\" stroke-width=\"0.75\"></path><path d=\"M-113.2,159c-8,0-14.5-6.5-14.5-14.5s6.5-14.5,14.5-14.5s14.5,6.5,14.5,14.5S-105.2,159-113.2,159z\" fill=\"#B3ABA4\" stroke=\"#CDC7C2\" stroke-width=\"0.5\"></path><circle cx=\"-114.2\" cy=\"143.5\" r=\"14\" fill=\"white\"></circle><path d=\"M-114.2,158c-8,0-14.5-6.5-14.5-14.5s6.5-14.5,14.5-14.5s14.5,6.5,14.5,14.5S-106.2,158-114.2,158z M-114.2,130c-7.4,0-13.5,6.1-13.5,13.5s6.1,13.5,13.5,13.5s13.5-6.1,13.5-13.5S-106.8,130-114.2,130z\" fill=\"var(--pie-background-dark, #ecedf1)\"></path><polygon points=\"-114.8,150.7 -121.6,144.8 -119,141.8 -115.9,144.5 -111.3,136.3 -107.8,138.2\" fill=\"var(--pie-tertiary, #146eb3)\"></polygon></svg>"), je = O("<div class=\"pie-correct-answer-toggle-row svelte-6wlbb4\"><button type=\"button\" class=\"mb-3 pie-toggle-correct-answer svelte-6wlbb4\" style=\"gap:var(--mpb-toggle-button-gap, 0.5rem);\" data-testid=\"show-correct-answer\"><span class=\"pie-correct-answer-toggle-content svelte-6wlbb4\"><span class=\"pie-correct-answer-toggle-icon-holder svelte-6wlbb4\" aria-hidden=\"true\"><!></span> <span class=\"pie-correct-answer-toggle-label svelte-6wlbb4\"> </span></span></button></div>"), Me = O("<div class=\"mb-3 prose prose-p:my-1 sentence-line pie-sentence-line svelte-6wlbb4\"></div>"), Ne = O("<div class=\"mb-4 template-line pie-template-line svelte-6wlbb4\"><!><!><!></div>"), Pe = O("<p class=\"sr-only pie-result-feedback svelte-6wlbb4\" role=\"status\" aria-live=\"polite\"> </p>"), Fe = O("<div><!> <!> <!> <!> <!> <!> <fieldset class=\"border-0 p-0 m-0 pie-choices-fieldset svelte-6wlbb4\"><legend class=\"sr-only pie-choices-legend svelte-6wlbb4\"> </legend> <div style=\"gap:var(--mpb-choice-group-gap, 0.5rem);\" role=\"radiogroup\" tabindex=\"-1\"></div></fieldset></div>"), Ie = {
|
|
710
|
+
hash: "svelte-6wlbb4",
|
|
711
|
+
code: ".sr-only.svelte-6wlbb4 {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;}.mc-populated-blank-root.svelte-6wlbb4 {--mpb-focus-ring: var(\n --pie-focus-outline,\n var(--pie-button-focus-outline, var(--pie-focus-checked-border, #1565c0))\n );}.mc-populated-blank-root.svelte-6wlbb4 .prose {max-width:none;}.pie-toggle-correct-answer.svelte-6wlbb4 {width:100%;cursor:pointer;border:0;background:transparent;padding:0;display:flex;justify-content:center;text-align:center;color:var(--pie-text, black);}.pie-correct-answer-toggle-row.svelte-6wlbb4 {width:100%;display:flex;justify-content:flex-end;}.pie-correct-answer-toggle-content.svelte-6wlbb4 {display:flex;margin:0 auto;align-items:center;}.pie-correct-answer-toggle-icon-holder.svelte-6wlbb4 {width:25px;margin-right:5px;display:inline-flex;align-items:center;justify-content:center;}.pie-correct-answer-toggle-svg.svelte-6wlbb4 {width:25px;height:25px;}.pie-correct-answer-toggle-label.svelte-6wlbb4 {width:fit-content;min-width:140px;align-self:center;vertical-align:middle;font-weight:400;user-select:none;}.pie-toggle-correct-answer.svelte-6wlbb4:hover .pie-correct-answer-toggle-label:where(.svelte-6wlbb4),\n .pie-toggle-correct-answer.svelte-6wlbb4:focus-visible .pie-correct-answer-toggle-label:where(.svelte-6wlbb4) {text-decoration:underline;}.template-line.svelte-6wlbb4 {white-space:pre-wrap;}.template-line.svelte-6wlbb4 p {margin:0;display:inline;}.layout-audio_blank_only.svelte-6wlbb4 .pie-audio-container,\n .layout-stimulus_image_blank.svelte-6wlbb4 .pie-audio-container {display:flex;width:min(100%, var(--mpb-audio-instructions-max-width, 875px));margin-left:auto;margin-right:auto;justify-content:flex-end;}.layout-audio_blank_only.svelte-6wlbb4 .template-line:where(.svelte-6wlbb4),\n .layout-stimulus_image_blank.svelte-6wlbb4 .template-line:where(.svelte-6wlbb4) {text-align:center;margin:var(--mpb-audio-blank-template-margin-top, 0.8rem) 0\n var(--mpb-audio-blank-template-margin-bottom, 1.8rem);}.layout-audio_blank_only.svelte-6wlbb4 fieldset:where(.svelte-6wlbb4) {display:flex;justify-content:center;}.layout-audio_blank_only.svelte-6wlbb4 .pie-blank-slot,\n .layout-stimulus_image_blank.svelte-6wlbb4 .pie-blank-slot {width:var(--mpb-blank-wide-width, 10rem);border-bottom-width:var(--mpb-blank-underline-wide-width, 6px);min-height:160px;padding-bottom:4px;}.layout-stimulus_image_blank.svelte-6wlbb4 {display:grid;grid-template-columns:minmax(var(--mpb-stimulus-min-column, 210px), 1fr) auto;grid-template-areas:'sentence audio'\n '. template'\n 'choices choices';column-gap:var(--mpb-stimulus-grid-column-gap, 2rem);row-gap:var(--mpb-stimulus-grid-row-gap, 0.7rem);align-items:start;}.layout-stimulus_image_blank.svelte-6wlbb4 .pie-audio-container {grid-area:audio;margin:0;}.layout-stimulus_image_blank.svelte-6wlbb4 .sentence-line:where(.svelte-6wlbb4) {grid-area:sentence;margin:var(--mpb-stimulus-sentence-margin-top, 0.2rem) 0 0;}.layout-stimulus_image_blank.svelte-6wlbb4 .template-line:where(.svelte-6wlbb4) {grid-area:template;margin:0;text-align:center;justify-self:center;}.layout-stimulus_image_blank.svelte-6wlbb4 fieldset:where(.svelte-6wlbb4) {grid-area:choices;margin-top:var(--mpb-stimulus-choices-margin-top, 0.9rem);}.layout-token_sequence.svelte-6wlbb4 {display:grid;grid-template-columns:1fr auto;grid-template-areas:'audio audio'\n 'template template'\n 'choices choices';column-gap:var(--mpb-token-grid-column-gap, 1.5rem);row-gap:var(--mpb-token-grid-row-gap, 0.8rem);align-items:start;}.layout-token_sequence.svelte-6wlbb4 .pie-audio-container {grid-area:audio;margin:0;justify-self:end;}.layout-token_sequence.svelte-6wlbb4 .template-line:where(.svelte-6wlbb4) {grid-area:template;margin:var(--mpb-token-template-margin-top, 0.6rem) 0 0;justify-self:center;text-align:center;}.layout-token_sequence.svelte-6wlbb4 .template-line:where(.svelte-6wlbb4) span + span {margin-left:var(--mpb-token-inline-token-gap, 0.35rem);}.layout-token_sequence.svelte-6wlbb4 .pie-blank-slot {width:var(--mpb-blank-standalone-width, 7rem);border-bottom-width:var(--mpb-blank-underline-wide-width, 4px);margin-left:var(--mpb-token-inline-token-gap, 0.35rem);}.layout-token_sequence.svelte-6wlbb4 fieldset:where(.svelte-6wlbb4) {grid-area:choices;margin-top:var(--mpb-token-choices-margin-top, 0.2rem);}.layout-inline_sentence.has-inline-audio.svelte-6wlbb4 {display:grid;grid-template-columns:minmax(var(--mpb-text-min-column, 260px), 1fr) auto;grid-template-areas:'template audio'\n 'choices choices';column-gap:var(--mpb-inline-grid-column-gap, 1.5rem);row-gap:var(--mpb-inline-grid-row-gap, 0.65rem);align-items:start;}.layout-inline_sentence.has-inline-audio.svelte-6wlbb4 .pie-audio-container {grid-area:audio;margin:0;justify-self:end;}.layout-inline_sentence.has-inline-audio.svelte-6wlbb4 .template-line:where(.svelte-6wlbb4) {grid-area:template;margin:var(--mpb-inline-template-margin-top, 0.45rem) 0 0;text-align:center;justify-self:center;}.layout-inline_sentence.has-inline-audio.svelte-6wlbb4 fieldset:where(.svelte-6wlbb4) {grid-area:choices;margin-top:var(--mpb-inline-choices-margin-top, 0.25rem);}\n\n /* Match Learnosity responsive behavior for CQT audio-blank layouts:\n at smaller widths, audio control shifts left and answer tiles stack. */\n @media (max-width: 760px) {.layout-audio_blank_only.svelte-6wlbb4 .pie-audio-container,\n .layout-stimulus_image_blank.svelte-6wlbb4 .pie-audio-container,\n .layout-token_sequence.svelte-6wlbb4 .pie-audio-container,\n .layout-inline_sentence.has-inline-audio.svelte-6wlbb4 .pie-audio-container {width:100%;margin-left:0;margin-right:0;justify-content:flex-start;justify-self:start;}.layout-audio_blank_only.svelte-6wlbb4 .pie-choices:where(.svelte-6wlbb4),\n .layout-token_sequence.svelte-6wlbb4 .pie-choices:where(.svelte-6wlbb4),\n .layout-stimulus_image_blank.svelte-6wlbb4 .pie-choices:where(.svelte-6wlbb4),\n .layout-inline_sentence.has-inline-audio.svelte-6wlbb4 .pie-choices:where(.svelte-6wlbb4) {flex-direction:column;align-items:flex-start;justify-content:flex-start;}.layout-audio_blank_only.svelte-6wlbb4 .choice-row-horizontal:where(.svelte-6wlbb4),\n .layout-token_sequence.svelte-6wlbb4 .choice-row-horizontal:where(.svelte-6wlbb4),\n .layout-stimulus_image_blank.svelte-6wlbb4 .choice-row-horizontal:where(.svelte-6wlbb4),\n .layout-inline_sentence.has-inline-audio.svelte-6wlbb4 .choice-row-horizontal:where(.svelte-6wlbb4) {width:min(100%, var(--mpb-narrow-choice-max-width, 230px));align-items:flex-start;}\n }"
|
|
712
|
+
};
|
|
713
|
+
function Le(n, l) {
|
|
714
|
+
a(l, !0), D(n, Ie);
|
|
715
|
+
let u = {
|
|
716
|
+
answerChoices: "Answer choices",
|
|
717
|
+
selectedAnswerInSentence: "Selected answer in sentence",
|
|
718
|
+
showCorrectAnswer: "Show correct answer",
|
|
719
|
+
hideCorrectAnswer: "Hide correct answer",
|
|
720
|
+
clickToEnableAutoplay: "Click to enable audio autoplay",
|
|
721
|
+
audioResourceUnavailable: "Audio is enabled but no playable audio URL is configured."
|
|
722
|
+
}, _ = S(l, "model", 7), C = S(l, "session", 7), T = y(""), E = y(null), O = y(null), j = y(null), M = `mc-populated-blank-${Math.random().toString(36).slice(2, 10)}`, N = v(() => (_()?.mode || _()?.env?.mode || "").toString()), P = v(() => A(N) === "evaluate"), F = v(() => _()?.correctness), ee = v(() => typeof _()?.responseCorrect == "boolean" ? _().responseCorrect : A(F) === "correct"), te = v(() => A(F) === "correct"), ne = v(() => A(F) === "incorrect"), R = y(!1), re = v(() => A(P) && !A(ee) && !!_()?.correctChoiceId), z = v(() => _()?.layoutProfile || ""), B = v(() => pe({
|
|
723
|
+
interactionMode: _()?.interactionMode,
|
|
724
|
+
template: _()?.template,
|
|
725
|
+
choiceLayout: _()?.choiceLayout,
|
|
726
|
+
layoutProfile: A(z),
|
|
727
|
+
hasAudio: _()?.hasAudio,
|
|
728
|
+
useFeatureButtonAudio: _()?.useFeatureButtonAudio
|
|
729
|
+
})), H = v(() => A(B).isAudioOnlyMode), U = v(() => A(B).isBlankOnlyTemplate), W = v(() => A(B).isHorizontalChoices), ie = v(() => A(B).hasInlineSentenceAudioLayout), ae = v(() => A(B).useFeatureButtonAudio), G = v(() => he({
|
|
730
|
+
layoutProfile: A(z),
|
|
731
|
+
isBlankOnlyTemplate: A(U),
|
|
732
|
+
configuredLimits: _()?.layoutLimits,
|
|
733
|
+
customProfilePresets: _()?.layoutProfilePresets
|
|
734
|
+
})), K = v(() => Array.isArray(_()?.choices) ? _().choices : []), q = v(() => _()?.choiceMode || "text"), J = v(() => C()?.choiceId || A(T) || ""), se = v(() => `${M}-choice-group-${_()?.id || "1"}`), Y = v(() => _e({
|
|
735
|
+
selectedId: A(J),
|
|
736
|
+
isEvaluateMode: A(P),
|
|
737
|
+
showCorrectAnswer: A(R),
|
|
738
|
+
alwaysShowCorrect: !!_()?.alwaysShowCorrect,
|
|
739
|
+
correctChoiceId: String(_()?.correctChoiceId || "")
|
|
740
|
+
})), ce = v(() => A(K).find((e) => e.id === A(Y))), de = v(() => String(A(ce)?.labelHtml || "")), fe = v(() => ve({
|
|
741
|
+
isEvaluateMode: A(P),
|
|
742
|
+
showCorrectAnswer: A(R),
|
|
743
|
+
isCorrect: A(te),
|
|
744
|
+
isIncorrect: A(ne),
|
|
745
|
+
selectedId: A(J)
|
|
746
|
+
})), me = v(() => ue({
|
|
747
|
+
isEvaluateMode: A(P),
|
|
748
|
+
correctChoiceId: String(_()?.correctChoiceId || ""),
|
|
749
|
+
selectedId: String(A(J) || ""),
|
|
750
|
+
showCorrectAnswer: A(R)
|
|
751
|
+
})), X = v(() => ({
|
|
752
|
+
...u,
|
|
753
|
+
..._()?.uiText || {}
|
|
754
|
+
})), Z = v(() => `${M}-prompt`), be = v(() => `${M}-choices-legend`), xe = v(() => `${M}-result`), Se = v(() => ye({
|
|
755
|
+
prompt: _()?.prompt || "",
|
|
756
|
+
legendMaxChars: A(G).legendMaxChars,
|
|
757
|
+
answerChoicesLabel: A(X).answerChoices
|
|
758
|
+
})), Te = v(() => _()?.prompt ? A(Z) : void 0), Ee = v(() => _()?.prompt ? void 0 : String(_()?.choiceGroupLabel || "").trim() || A(Se)), Le = v(() => _()?.prompt ? A(Z) : void 0), Re = v(() => {
|
|
759
|
+
let e = _()?.locale || "";
|
|
760
|
+
return e ? e.slice(0, 2) : "en";
|
|
761
|
+
}), ze = v(() => Ce(_()?.customType)), Be = v(() => we(_()?.customType)), Ve = v(() => {
|
|
762
|
+
let e = _()?.template || "", t = e.indexOf("{{blank}}");
|
|
763
|
+
if (t < 0) return {
|
|
764
|
+
before: e,
|
|
765
|
+
after: ""
|
|
766
|
+
};
|
|
767
|
+
let n = e.slice(0, t), r = e.slice(t + 9);
|
|
768
|
+
return A(z) === "inline_sentence" && (n = `${n.replace(/\s+$/, "")} `, r = ` ${r.replace(/^\s+/, "")}`), {
|
|
769
|
+
before: n,
|
|
770
|
+
after: r
|
|
771
|
+
};
|
|
772
|
+
});
|
|
773
|
+
function He(e, t) {
|
|
774
|
+
L({
|
|
775
|
+
sourceEl: t,
|
|
776
|
+
fallbackSelector: "mc-populated-blank",
|
|
777
|
+
component: "mc-populated-blank",
|
|
778
|
+
session: e,
|
|
779
|
+
complete: !!e?.choiceId
|
|
780
|
+
});
|
|
781
|
+
}
|
|
782
|
+
function Ue(e) {
|
|
783
|
+
let t = e.target;
|
|
784
|
+
if (!t.checked) return;
|
|
785
|
+
let n = t.value;
|
|
786
|
+
o(T, n, !0), He({
|
|
787
|
+
...C(),
|
|
788
|
+
id: C()?.id || _()?.id || "1",
|
|
789
|
+
element: "mc-populated-blank",
|
|
790
|
+
choiceId: n
|
|
791
|
+
}, t);
|
|
792
|
+
}
|
|
793
|
+
function We() {
|
|
794
|
+
A(re) && o(R, !A(R));
|
|
795
|
+
}
|
|
796
|
+
t(() => {
|
|
797
|
+
(!A(P) || A(ee)) && o(R, !1);
|
|
798
|
+
});
|
|
799
|
+
function Ge(e) {
|
|
800
|
+
if (_()?.disabled) return;
|
|
801
|
+
let t = e.key;
|
|
802
|
+
if (![
|
|
803
|
+
"ArrowDown",
|
|
804
|
+
"ArrowRight",
|
|
805
|
+
"ArrowUp",
|
|
806
|
+
"ArrowLeft"
|
|
807
|
+
].includes(t)) return;
|
|
808
|
+
e.preventDefault();
|
|
809
|
+
let n = e.currentTarget, r = Array.from(n.querySelectorAll("input[type=\"radio\"]:not([disabled])"));
|
|
810
|
+
if (r.length === 0) return;
|
|
811
|
+
let i = r.findIndex((e) => e.checked);
|
|
812
|
+
i = t === "ArrowDown" || t === "ArrowRight" ? i < 0 ? 0 : (i + 1) % r.length : i < 0 ? r.length - 1 : (i - 1 + r.length) % r.length;
|
|
813
|
+
let a = r[i];
|
|
814
|
+
a.checked = !0, a.dispatchEvent(new Event("change", { bubbles: !0 })), a.focus();
|
|
815
|
+
}
|
|
816
|
+
let Ke = v(() => ge({
|
|
817
|
+
locale: _()?.locale,
|
|
818
|
+
audioButtonSkin: _()?.audioButtonSkin,
|
|
819
|
+
audioButtonSkinsByLocale: _()?.audioButtonSkinsByLocale
|
|
820
|
+
}));
|
|
821
|
+
function qe() {
|
|
822
|
+
I(A(j), { fallbackSelector: "mc-populated-blank" })?.onAudioStarted?.();
|
|
823
|
+
}
|
|
824
|
+
function Je() {
|
|
825
|
+
I(A(j), { fallbackSelector: "mc-populated-blank" })?.onAudioEnded?.();
|
|
826
|
+
}
|
|
827
|
+
t(() => {
|
|
828
|
+
C()?.choiceId && o(T, C().choiceId, !0);
|
|
829
|
+
}), t(() => {
|
|
830
|
+
let e = A(E);
|
|
831
|
+
if (e) return e.addEventListener("click", We), () => e.removeEventListener("click", We);
|
|
832
|
+
}), t(() => {
|
|
833
|
+
let e = A(O);
|
|
834
|
+
if (!e) return;
|
|
835
|
+
let t = (e) => {
|
|
836
|
+
e.target?.type === "radio" && Ue(e);
|
|
837
|
+
}, n = (e) => Ge(e);
|
|
838
|
+
return e.addEventListener("change", t), e.addEventListener("keydown", n), () => {
|
|
839
|
+
e.removeEventListener("change", t), e.removeEventListener("keydown", n);
|
|
840
|
+
};
|
|
841
|
+
}), t(() => {
|
|
842
|
+
De(A(ze));
|
|
843
|
+
});
|
|
844
|
+
var Ye = {
|
|
845
|
+
get model() {
|
|
846
|
+
return _();
|
|
847
|
+
},
|
|
848
|
+
set model(t) {
|
|
849
|
+
_(t), e();
|
|
850
|
+
},
|
|
851
|
+
get session() {
|
|
852
|
+
return C();
|
|
853
|
+
},
|
|
854
|
+
set session(t) {
|
|
855
|
+
C(t), e();
|
|
856
|
+
}
|
|
857
|
+
}, Q = Fe(), Xe = k(Q), Ze = (e) => {
|
|
858
|
+
var t = Oe();
|
|
859
|
+
p(t, () => _().prompt, !0), s(t), c(() => d(t, "id", A(Z))), h(e, t);
|
|
860
|
+
};
|
|
861
|
+
x(Xe, (e) => {
|
|
862
|
+
_()?.prompt && e(Ze);
|
|
863
|
+
});
|
|
864
|
+
var Qe = r(Xe, 2), $e = (e) => {
|
|
865
|
+
var t = je(), n = k(t), i = k(n), a = k(i), l = k(a), u = (e) => {
|
|
866
|
+
h(e, ke());
|
|
867
|
+
}, f = (e) => {
|
|
868
|
+
h(e, Ae());
|
|
869
|
+
};
|
|
870
|
+
x(l, (e) => {
|
|
871
|
+
A(R) ? e(u) : e(f, -1);
|
|
872
|
+
}), s(a);
|
|
873
|
+
var p = r(a, 2), m = k(p, !0);
|
|
874
|
+
s(p), s(i), s(n), w(n, (e) => o(E, e), () => A(E)), s(t), c(() => {
|
|
875
|
+
d(n, "aria-pressed", A(R)), g(m, A(R) ? A(X).hideCorrectAnswer : A(X).showCorrectAnswer);
|
|
876
|
+
}), h(e, t);
|
|
877
|
+
};
|
|
878
|
+
x(Qe, (e) => {
|
|
879
|
+
A(re) && e($e);
|
|
880
|
+
});
|
|
881
|
+
var et = r(Qe, 2);
|
|
882
|
+
{
|
|
883
|
+
let e = v(() => !!_()?.hasAudio), t = v(() => _()?.audioUrl), n = v(() => !!_()?.autoplayAudioEnabled), r = v(() => _()?.locale);
|
|
884
|
+
V(et, {
|
|
885
|
+
get hasAudio() {
|
|
886
|
+
return A(e);
|
|
887
|
+
},
|
|
888
|
+
get audioUrl() {
|
|
889
|
+
return A(t);
|
|
890
|
+
},
|
|
891
|
+
get useFeatureButtonAudio() {
|
|
892
|
+
return A(ae);
|
|
893
|
+
},
|
|
894
|
+
get autoplayEnabled() {
|
|
895
|
+
return A(n);
|
|
896
|
+
},
|
|
897
|
+
get featureAudioSkin() {
|
|
898
|
+
return A(Ke);
|
|
899
|
+
},
|
|
900
|
+
get uiText() {
|
|
901
|
+
return A(X);
|
|
902
|
+
},
|
|
903
|
+
get locale() {
|
|
904
|
+
return A(r);
|
|
905
|
+
},
|
|
906
|
+
onaudiostarted: qe,
|
|
907
|
+
onaudioended: Je
|
|
908
|
+
});
|
|
909
|
+
}
|
|
910
|
+
var tt = r(et, 2), nt = (e) => {
|
|
911
|
+
var t = Me();
|
|
912
|
+
p(t, () => _().sentenceHtml, !0), s(t), c(() => d(t, "aria-describedby", A(Le))), h(e, t);
|
|
913
|
+
};
|
|
914
|
+
x(tt, (e) => {
|
|
915
|
+
_()?.sentenceHtml && e(nt);
|
|
916
|
+
});
|
|
917
|
+
var rt = r(tt, 2), it = (e) => {
|
|
918
|
+
var t = Ne(), n = k(t);
|
|
919
|
+
p(n, () => A(Ve).before);
|
|
920
|
+
var i = r(n);
|
|
921
|
+
oe(i, {
|
|
922
|
+
get choiceMode() {
|
|
923
|
+
return A(q);
|
|
924
|
+
},
|
|
925
|
+
get displayChoice() {
|
|
926
|
+
return A(ce);
|
|
927
|
+
},
|
|
928
|
+
get displayChoiceLabelHtml() {
|
|
929
|
+
return A(de);
|
|
930
|
+
},
|
|
931
|
+
get isStandalone() {
|
|
932
|
+
return A(U);
|
|
933
|
+
},
|
|
934
|
+
get blankWidth() {
|
|
935
|
+
return A(G).blankWidth;
|
|
936
|
+
},
|
|
937
|
+
get blankBorderWidth() {
|
|
938
|
+
return A(G).blankBorderWidth;
|
|
939
|
+
},
|
|
940
|
+
get ariaLabel() {
|
|
941
|
+
return A(X).selectedAnswerInSentence;
|
|
942
|
+
}
|
|
943
|
+
}), p(r(i), () => A(Ve).after), s(t), c(() => d(t, "aria-describedby", A(Le))), h(e, t);
|
|
944
|
+
};
|
|
945
|
+
x(rt, (e) => {
|
|
946
|
+
A(H) || e(it);
|
|
947
|
+
});
|
|
948
|
+
var at = r(rt, 2), ot = (e) => {
|
|
949
|
+
var t = Pe(), n = k(t, !0);
|
|
950
|
+
s(t), c(() => {
|
|
951
|
+
d(t, "id", A(xe)), g(n, A(fe));
|
|
952
|
+
}), h(e, t);
|
|
953
|
+
};
|
|
954
|
+
x(at, (e) => {
|
|
955
|
+
A(fe) && e(ot);
|
|
956
|
+
});
|
|
957
|
+
var st = r(at, 2), ct = k(st), lt = k(ct, !0);
|
|
958
|
+
s(ct);
|
|
959
|
+
var $ = r(ct, 2);
|
|
960
|
+
return m($, 21, () => A(K), (e) => e.id, (e, t) => {
|
|
961
|
+
{
|
|
962
|
+
let n = v(() => A(Y) === A(t).id), r = v(() => !!_()?.disabled), i = v(() => A(me).get(A(t).id));
|
|
963
|
+
le(e, {
|
|
964
|
+
get choice() {
|
|
965
|
+
return A(t);
|
|
966
|
+
},
|
|
967
|
+
get choiceMode() {
|
|
968
|
+
return A(q);
|
|
969
|
+
},
|
|
970
|
+
get isHorizontal() {
|
|
971
|
+
return A(W);
|
|
972
|
+
},
|
|
973
|
+
get isSelected() {
|
|
974
|
+
return A(n);
|
|
975
|
+
},
|
|
976
|
+
get isDisabled() {
|
|
977
|
+
return A(r);
|
|
978
|
+
},
|
|
979
|
+
get correctness() {
|
|
980
|
+
return A(i);
|
|
981
|
+
},
|
|
982
|
+
get isEvaluateMode() {
|
|
983
|
+
return A(P);
|
|
984
|
+
},
|
|
985
|
+
get instanceId() {
|
|
986
|
+
return M;
|
|
987
|
+
},
|
|
988
|
+
get radioGroupName() {
|
|
989
|
+
return A(se);
|
|
990
|
+
}
|
|
991
|
+
});
|
|
992
|
+
}
|
|
993
|
+
}), s($), w($, (e) => o(O, e), () => A(O)), s(st), s(Q), w(Q, (e) => o(j, e), () => A(j)), c(() => {
|
|
994
|
+
b(Q, 1, `p-4 mc-populated-blank-root pie-element pie-element-mc-populated-blank pie-delivery-root layout-${A(z)} ${A(Be)} ${A(ie) ? "has-inline-audio" : ""}`, "svelte-6wlbb4"), d(Q, "lang", A(Re)), f(Q, A(G).rootStyle), st.disabled = _()?.disabled, d(ct, "id", A(be)), g(lt, A(Se)), b($, 1, `pie-choices ${A(W) ? "flex flex-row flex-wrap items-start justify-center" : "flex flex-col"}`, "svelte-6wlbb4"), d($, "aria-labelledby", A(Te)), d($, "aria-label", A(Ee)), d($, "aria-describedby", A(fe) ? A(xe) : void 0);
|
|
995
|
+
}), h(n, Q), i(Ye);
|
|
996
|
+
}
|
|
997
|
+
E(Le, {
|
|
998
|
+
model: { type: "Object" },
|
|
999
|
+
session: { type: "Object" },
|
|
1000
|
+
options: { type: "Object" }
|
|
1001
|
+
}, [], []);
|
|
1002
|
+
//#endregion
|
|
1003
|
+
//#region src/delivery/index.ts
|
|
1004
|
+
function Re(e, t, n = !1) {
|
|
1005
|
+
return !(!t?.choiceId || e?.autoplayAudioEnabled && e?.completeAudioEnabled && e?.hasAudio && !n);
|
|
1006
|
+
}
|
|
1007
|
+
var ze = Le.element, Be = class extends ze {
|
|
1008
|
+
_internalSession = null;
|
|
1009
|
+
_model = null;
|
|
1010
|
+
_options = null;
|
|
1011
|
+
audioComplete = !1;
|
|
1012
|
+
_dispatchModelSet = () => {
|
|
1013
|
+
this.dispatchEvent(new N(this.tagName.toLowerCase(), this._isComplete(), this._model !== void 0));
|
|
1014
|
+
};
|
|
1015
|
+
_dispatchSessionChanged = () => {
|
|
1016
|
+
this.dispatchEvent(new P(this.tagName.toLowerCase(), this._isComplete()));
|
|
1017
|
+
};
|
|
1018
|
+
set model(e) {
|
|
1019
|
+
this._model = e, this.audioComplete = !1, super.model = e, this._dispatchModelSet();
|
|
1020
|
+
}
|
|
1021
|
+
get model() {
|
|
1022
|
+
return this._model;
|
|
1023
|
+
}
|
|
1024
|
+
set session(e) {
|
|
1025
|
+
this._internalSession = e, super.session = e, this._dispatchSessionChanged();
|
|
1026
|
+
}
|
|
1027
|
+
get session() {
|
|
1028
|
+
return this._internalSession;
|
|
1029
|
+
}
|
|
1030
|
+
set options(e) {
|
|
1031
|
+
this._options = e, super.options = e;
|
|
1032
|
+
}
|
|
1033
|
+
get options() {
|
|
1034
|
+
return this._options;
|
|
1035
|
+
}
|
|
1036
|
+
onSessionChange = (e) => {
|
|
1037
|
+
this._internalSession = e, super.session = e, this._dispatchSessionChanged();
|
|
1038
|
+
};
|
|
1039
|
+
onAudioStarted = () => {
|
|
1040
|
+
this._internalSession = {
|
|
1041
|
+
...this._internalSession || {},
|
|
1042
|
+
audioStartTime: Date.now()
|
|
1043
|
+
};
|
|
1044
|
+
};
|
|
1045
|
+
onAudioEnded = () => {
|
|
1046
|
+
this.audioComplete = !0, this._internalSession = {
|
|
1047
|
+
...this._internalSession || {},
|
|
1048
|
+
audioEndTime: Date.now()
|
|
1049
|
+
}, this._dispatchSessionChanged();
|
|
1050
|
+
};
|
|
1051
|
+
_isComplete = () => Re(this._model, this._internalSession, this.audioComplete);
|
|
1052
|
+
connectedCallback() {
|
|
1053
|
+
super.connectedCallback(), this.onSessionChange = this.onSessionChange, this.onAudioStarted = this.onAudioStarted, this.onAudioEnded = this.onAudioEnded;
|
|
1054
|
+
}
|
|
1055
|
+
};
|
|
1056
|
+
//#endregion
|
|
1057
|
+
export { Be as default };
|
|
1058
|
+
|
|
1059
|
+
//# sourceMappingURL=index.js.map
|