eat-js-sdk 0.0.9 → 0.0.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.
- package/dist/eat-prompt-builder.mjs +1077 -685
- package/package.json +1 -1
|
@@ -1244,210 +1244,288 @@
|
|
|
1244
1244
|
customElements.define("prompt-body", create_custom_element(PromptBody, { "rubric": {}, "prompt": {} }, ["default"], [], true));
|
|
1245
1245
|
var PromptBody_default = PromptBody;
|
|
1246
1246
|
|
|
1247
|
-
// src/lib/
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1247
|
+
// src/lib/assets/img/messaging/SuccessSolid.svelte
|
|
1248
|
+
function create_fragment2(ctx) {
|
|
1249
|
+
let svg;
|
|
1250
|
+
let path;
|
|
1251
|
+
return {
|
|
1252
|
+
c() {
|
|
1253
|
+
svg = svg_element("svg");
|
|
1254
|
+
path = svg_element("path");
|
|
1255
|
+
attr(path, "fill-rule", "evenodd");
|
|
1256
|
+
attr(path, "clip-rule", "evenodd");
|
|
1257
|
+
attr(path, "d", "M10 0C15.5228 0 20 4.47715 20 10C20 15.5228 15.5228 20 10 20C4.47715 20 0 15.5228 0 10C0 4.47715 4.47715 0 10 0ZM14.7284 6.79289C14.3378 6.40237 13.7047 6.40237 13.3141 6.79289L8.02125 12.0858L6.20711 10.2716C5.81658 9.88112 5.18342 9.88112 4.79289 10.2716C4.40237 10.6622 4.40237 11.2953 4.79289 11.6859L7.31414 14.2071C7.70467 14.5976 8.33783 14.5976 8.72836 14.2071L14.7284 8.20711C15.1189 7.81658 15.1189 7.18342 14.7284 6.79289Z");
|
|
1258
|
+
attr(path, "fill", "currentColor");
|
|
1259
|
+
attr(svg, "width", "20");
|
|
1260
|
+
attr(svg, "height", "20");
|
|
1261
|
+
attr(svg, "viewBox", "0 0 20 20");
|
|
1262
|
+
attr(svg, "fill", "none");
|
|
1263
|
+
attr(svg, "xmlns", "http://www.w3.org/2000/svg");
|
|
1264
|
+
attr(svg, "role", "img");
|
|
1265
|
+
attr(svg, "aria-label", "Check Icon");
|
|
1266
|
+
},
|
|
1267
|
+
m(target, anchor) {
|
|
1268
|
+
insert(target, svg, anchor);
|
|
1269
|
+
append(svg, path);
|
|
1270
|
+
},
|
|
1271
|
+
p: noop,
|
|
1272
|
+
i: noop,
|
|
1273
|
+
o: noop,
|
|
1274
|
+
d(detaching) {
|
|
1275
|
+
if (detaching) {
|
|
1276
|
+
detach(svg);
|
|
1277
|
+
}
|
|
1278
|
+
}
|
|
1279
|
+
};
|
|
1280
|
+
}
|
|
1281
|
+
var SuccessSolid = class extends SvelteComponent {
|
|
1282
|
+
constructor(options) {
|
|
1283
|
+
super();
|
|
1284
|
+
init(this, options, null, create_fragment2, safe_not_equal, {});
|
|
1285
|
+
}
|
|
1278
1286
|
};
|
|
1279
|
-
|
|
1287
|
+
create_custom_element(SuccessSolid, {}, [], [], true);
|
|
1288
|
+
var SuccessSolid_default = SuccessSolid;
|
|
1280
1289
|
|
|
1281
|
-
// src/lib/
|
|
1282
|
-
function
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
|
|
1290
|
+
// src/lib/assets/img/messaging/InfoSolid.svelte
|
|
1291
|
+
function create_fragment3(ctx) {
|
|
1292
|
+
let svg;
|
|
1293
|
+
let path;
|
|
1294
|
+
return {
|
|
1295
|
+
c() {
|
|
1296
|
+
svg = svg_element("svg");
|
|
1297
|
+
path = svg_element("path");
|
|
1298
|
+
attr(path, "fill-rule", "evenodd");
|
|
1299
|
+
attr(path, "clip-rule", "evenodd");
|
|
1300
|
+
attr(path, "d", "M10 0C15.5228 0 20 4.47715 20 10C20 15.5228 15.5228 20 10 20C4.47715 20 0 15.5228 0 10C0 4.47715 4.47715 0 10 0ZM10 9C9.44772 9 9 9.44772 9 10V14.5C9 15.0523 9.44772 15.5 10 15.5C10.5523 15.5 11 15.0523 11 14.5V10C11 9.44772 10.5523 9 10 9ZM10 5C9.44772 5 9 5.44772 9 6C9 6.55228 9.44772 7 10 7C10.5523 7 11 6.55228 11 6C11 5.44772 10.5523 5 10 5Z");
|
|
1301
|
+
attr(path, "fill", "currentColor");
|
|
1302
|
+
attr(svg, "width", "20");
|
|
1303
|
+
attr(svg, "height", "20");
|
|
1304
|
+
attr(svg, "viewBox", "0 0 20 20");
|
|
1305
|
+
attr(svg, "fill", "none");
|
|
1306
|
+
attr(svg, "xmlns", "http://www.w3.org/2000/svg");
|
|
1307
|
+
attr(svg, "role", "img");
|
|
1308
|
+
attr(svg, "aria-label", "Info Icon");
|
|
1309
|
+
},
|
|
1310
|
+
m(target, anchor) {
|
|
1311
|
+
insert(target, svg, anchor);
|
|
1312
|
+
append(svg, path);
|
|
1313
|
+
},
|
|
1314
|
+
p: noop,
|
|
1315
|
+
i: noop,
|
|
1316
|
+
o: noop,
|
|
1317
|
+
d(detaching) {
|
|
1318
|
+
if (detaching) {
|
|
1319
|
+
detach(svg);
|
|
1320
|
+
}
|
|
1321
|
+
}
|
|
1322
|
+
};
|
|
1288
1323
|
}
|
|
1324
|
+
var InfoSolid = class extends SvelteComponent {
|
|
1325
|
+
constructor(options) {
|
|
1326
|
+
super();
|
|
1327
|
+
init(this, options, null, create_fragment3, safe_not_equal, {});
|
|
1328
|
+
}
|
|
1329
|
+
};
|
|
1330
|
+
create_custom_element(InfoSolid, {}, [], [], true);
|
|
1331
|
+
var InfoSolid_default = InfoSolid;
|
|
1332
|
+
|
|
1333
|
+
// src/lib/components/prompt/template/PromptResultFeedback.svelte
|
|
1289
1334
|
function create_if_block2(ctx) {
|
|
1290
|
-
let div1;
|
|
1291
1335
|
let div0;
|
|
1292
|
-
let
|
|
1336
|
+
let span0;
|
|
1337
|
+
let current_block_type_index;
|
|
1338
|
+
let if_block;
|
|
1339
|
+
let span0_class_value;
|
|
1340
|
+
let t0;
|
|
1341
|
+
let span3;
|
|
1342
|
+
let span1;
|
|
1343
|
+
let t1;
|
|
1293
1344
|
let t2;
|
|
1294
|
-
let
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
let
|
|
1299
|
-
|
|
1300
|
-
|
|
1345
|
+
let span2;
|
|
1346
|
+
let t3;
|
|
1347
|
+
let div0_class_value;
|
|
1348
|
+
let t4;
|
|
1349
|
+
let div1;
|
|
1350
|
+
let current;
|
|
1351
|
+
const if_block_creators = [create_if_block_12, create_else_block];
|
|
1352
|
+
const if_blocks = [];
|
|
1353
|
+
function select_block_type(ctx2, dirty) {
|
|
1354
|
+
if (
|
|
1355
|
+
/*isResultCorrect*/
|
|
1356
|
+
ctx2[2]
|
|
1357
|
+
)
|
|
1358
|
+
return 0;
|
|
1359
|
+
return 1;
|
|
1301
1360
|
}
|
|
1361
|
+
current_block_type_index = select_block_type(ctx, -1);
|
|
1362
|
+
if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx);
|
|
1302
1363
|
return {
|
|
1303
1364
|
c() {
|
|
1304
|
-
div1 = element("div");
|
|
1305
1365
|
div0 = element("div");
|
|
1366
|
+
span0 = element("span");
|
|
1367
|
+
if_block.c();
|
|
1368
|
+
t0 = space();
|
|
1369
|
+
span3 = element("span");
|
|
1370
|
+
span1 = element("span");
|
|
1371
|
+
t1 = text(
|
|
1372
|
+
/*resultFeedbackTitle*/
|
|
1373
|
+
ctx[1]
|
|
1374
|
+
);
|
|
1306
1375
|
t2 = space();
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
1376
|
+
span2 = element("span");
|
|
1377
|
+
t3 = text(
|
|
1378
|
+
/*resultFeedback*/
|
|
1379
|
+
ctx[0]
|
|
1380
|
+
);
|
|
1381
|
+
t4 = space();
|
|
1382
|
+
div1 = element("div");
|
|
1383
|
+
attr(span0, "class", span0_class_value = "mr-2 p-0.5 " + /*isResultCorrect*/
|
|
1384
|
+
(ctx[2] ? "text-green-800" : "text-red-800"));
|
|
1385
|
+
attr(span1, "class", "block mb-1 font-semibold");
|
|
1386
|
+
attr(span3, "class", "text-base");
|
|
1387
|
+
attr(div0, "class", div0_class_value = "flex items-start my-6 p-4 border-l-[6px] text-charcoal " + /*isResultCorrect*/
|
|
1388
|
+
(ctx[2] ? "border-green-800 bg-green-300" : "border-red-800 bg-red-300"));
|
|
1389
|
+
attr(div1, "class", "divider my-6");
|
|
1313
1390
|
},
|
|
1314
1391
|
m(target, anchor) {
|
|
1392
|
+
insert(target, div0, anchor);
|
|
1393
|
+
append(div0, span0);
|
|
1394
|
+
if_blocks[current_block_type_index].m(span0, null);
|
|
1395
|
+
append(div0, t0);
|
|
1396
|
+
append(div0, span3);
|
|
1397
|
+
append(span3, span1);
|
|
1398
|
+
append(span1, t1);
|
|
1399
|
+
append(span3, t2);
|
|
1400
|
+
append(span3, span2);
|
|
1401
|
+
append(span2, t3);
|
|
1402
|
+
insert(target, t4, anchor);
|
|
1315
1403
|
insert(target, div1, anchor);
|
|
1316
|
-
|
|
1317
|
-
append(div1, t2);
|
|
1318
|
-
for (let i = 0; i < each_blocks.length; i += 1) {
|
|
1319
|
-
if (each_blocks[i]) {
|
|
1320
|
-
each_blocks[i].m(div1, null);
|
|
1321
|
-
}
|
|
1322
|
-
}
|
|
1404
|
+
current = true;
|
|
1323
1405
|
},
|
|
1324
1406
|
p(ctx2, dirty) {
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
const child_ctx = get_each_context(ctx2, each_value, i);
|
|
1339
|
-
if (each_blocks[i]) {
|
|
1340
|
-
each_blocks[i].p(child_ctx, dirty);
|
|
1341
|
-
} else {
|
|
1342
|
-
each_blocks[i] = create_each_block(child_ctx);
|
|
1343
|
-
each_blocks[i].c();
|
|
1344
|
-
each_blocks[i].m(div1, null);
|
|
1345
|
-
}
|
|
1346
|
-
}
|
|
1347
|
-
for (; i < each_blocks.length; i += 1) {
|
|
1348
|
-
each_blocks[i].d(1);
|
|
1407
|
+
let previous_block_index = current_block_type_index;
|
|
1408
|
+
current_block_type_index = select_block_type(ctx2, dirty);
|
|
1409
|
+
if (current_block_type_index !== previous_block_index) {
|
|
1410
|
+
group_outros();
|
|
1411
|
+
transition_out(if_blocks[previous_block_index], 1, 1, () => {
|
|
1412
|
+
if_blocks[previous_block_index] = null;
|
|
1413
|
+
});
|
|
1414
|
+
check_outros();
|
|
1415
|
+
if_block = if_blocks[current_block_type_index];
|
|
1416
|
+
if (!if_block) {
|
|
1417
|
+
if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx2);
|
|
1418
|
+
if_block.c();
|
|
1419
|
+
} else {
|
|
1349
1420
|
}
|
|
1350
|
-
|
|
1421
|
+
transition_in(if_block, 1);
|
|
1422
|
+
if_block.m(span0, null);
|
|
1423
|
+
}
|
|
1424
|
+
if (!current || dirty & /*isResultCorrect*/
|
|
1425
|
+
4 && span0_class_value !== (span0_class_value = "mr-2 p-0.5 " + /*isResultCorrect*/
|
|
1426
|
+
(ctx2[2] ? "text-green-800" : "text-red-800"))) {
|
|
1427
|
+
attr(span0, "class", span0_class_value);
|
|
1351
1428
|
}
|
|
1429
|
+
if (!current || dirty & /*resultFeedbackTitle*/
|
|
1430
|
+
2)
|
|
1431
|
+
set_data(
|
|
1432
|
+
t1,
|
|
1433
|
+
/*resultFeedbackTitle*/
|
|
1434
|
+
ctx2[1]
|
|
1435
|
+
);
|
|
1436
|
+
if (!current || dirty & /*resultFeedback*/
|
|
1437
|
+
1)
|
|
1438
|
+
set_data(
|
|
1439
|
+
t3,
|
|
1440
|
+
/*resultFeedback*/
|
|
1441
|
+
ctx2[0]
|
|
1442
|
+
);
|
|
1443
|
+
if (!current || dirty & /*isResultCorrect*/
|
|
1444
|
+
4 && div0_class_value !== (div0_class_value = "flex items-start my-6 p-4 border-l-[6px] text-charcoal " + /*isResultCorrect*/
|
|
1445
|
+
(ctx2[2] ? "border-green-800 bg-green-300" : "border-red-800 bg-red-300"))) {
|
|
1446
|
+
attr(div0, "class", div0_class_value);
|
|
1447
|
+
}
|
|
1448
|
+
},
|
|
1449
|
+
i(local) {
|
|
1450
|
+
if (current)
|
|
1451
|
+
return;
|
|
1452
|
+
transition_in(if_block);
|
|
1453
|
+
current = true;
|
|
1454
|
+
},
|
|
1455
|
+
o(local) {
|
|
1456
|
+
transition_out(if_block);
|
|
1457
|
+
current = false;
|
|
1352
1458
|
},
|
|
1353
1459
|
d(detaching) {
|
|
1354
1460
|
if (detaching) {
|
|
1461
|
+
detach(div0);
|
|
1462
|
+
detach(t4);
|
|
1355
1463
|
detach(div1);
|
|
1356
1464
|
}
|
|
1357
|
-
|
|
1465
|
+
if_blocks[current_block_type_index].d();
|
|
1358
1466
|
}
|
|
1359
1467
|
};
|
|
1360
1468
|
}
|
|
1361
|
-
function
|
|
1362
|
-
let
|
|
1363
|
-
let
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
|
-
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
|
|
1469
|
+
function create_else_block(ctx) {
|
|
1470
|
+
let infosolid;
|
|
1471
|
+
let current;
|
|
1472
|
+
infosolid = new InfoSolid_default({});
|
|
1473
|
+
return {
|
|
1474
|
+
c() {
|
|
1475
|
+
create_component(infosolid.$$.fragment);
|
|
1476
|
+
},
|
|
1477
|
+
m(target, anchor) {
|
|
1478
|
+
mount_component(infosolid, target, anchor);
|
|
1479
|
+
current = true;
|
|
1480
|
+
},
|
|
1481
|
+
i(local) {
|
|
1482
|
+
if (current)
|
|
1483
|
+
return;
|
|
1484
|
+
transition_in(infosolid.$$.fragment, local);
|
|
1485
|
+
current = true;
|
|
1486
|
+
},
|
|
1487
|
+
o(local) {
|
|
1488
|
+
transition_out(infosolid.$$.fragment, local);
|
|
1489
|
+
current = false;
|
|
1490
|
+
},
|
|
1491
|
+
d(detaching) {
|
|
1492
|
+
destroy_component(infosolid, detaching);
|
|
1493
|
+
}
|
|
1494
|
+
};
|
|
1495
|
+
}
|
|
1496
|
+
function create_if_block_12(ctx) {
|
|
1497
|
+
let successsolid;
|
|
1498
|
+
let current;
|
|
1499
|
+
successsolid = new SuccessSolid_default({});
|
|
1384
1500
|
return {
|
|
1385
1501
|
c() {
|
|
1386
|
-
|
|
1387
|
-
span = element("span");
|
|
1388
|
-
span.textContent = `${useMCQ_default(
|
|
1389
|
-
/*index*/
|
|
1390
|
-
ctx[14]
|
|
1391
|
-
)}`;
|
|
1392
|
-
t1 = space();
|
|
1393
|
-
t2 = text(t2_value);
|
|
1394
|
-
t3 = space();
|
|
1395
|
-
attr(span, "class", "choice group-active:border-2 group-active:border-blue-1000 group-active:p-[7px]");
|
|
1396
|
-
attr(button, "aria-label", button_aria_label_value = `${/*selectedOption*/
|
|
1397
|
-
ctx[1] === /*option*/
|
|
1398
|
-
ctx[12].id ? "Selected option" : "Option"} ${useMCQ_default(
|
|
1399
|
-
/*index*/
|
|
1400
|
-
ctx[14]
|
|
1401
|
-
)}: ${/*option*/
|
|
1402
|
-
ctx[12].answer}`);
|
|
1403
|
-
attr(button, "class", button_class_value = "btn-mcq-option group text-left " + /*selectedOption*/
|
|
1404
|
-
(ctx[1] === /*option*/
|
|
1405
|
-
ctx[12].id ? "selected" : ""));
|
|
1502
|
+
create_component(successsolid.$$.fragment);
|
|
1406
1503
|
},
|
|
1407
1504
|
m(target, anchor) {
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
append(button, t1);
|
|
1411
|
-
append(button, t2);
|
|
1412
|
-
append(button, t3);
|
|
1413
|
-
if (!mounted) {
|
|
1414
|
-
dispose = listen(button, "click", click_handler);
|
|
1415
|
-
mounted = true;
|
|
1416
|
-
}
|
|
1505
|
+
mount_component(successsolid, target, anchor);
|
|
1506
|
+
current = true;
|
|
1417
1507
|
},
|
|
1418
|
-
|
|
1419
|
-
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
|
|
1424
|
-
|
|
1425
|
-
|
|
1426
|
-
|
|
1427
|
-
ctx[12].answer}`)) {
|
|
1428
|
-
attr(button, "aria-label", button_aria_label_value);
|
|
1429
|
-
}
|
|
1430
|
-
if (dirty & /*selectedOption*/
|
|
1431
|
-
2 && button_class_value !== (button_class_value = "btn-mcq-option group text-left " + /*selectedOption*/
|
|
1432
|
-
(ctx[1] === /*option*/
|
|
1433
|
-
ctx[12].id ? "selected" : ""))) {
|
|
1434
|
-
attr(button, "class", button_class_value);
|
|
1435
|
-
}
|
|
1508
|
+
i(local) {
|
|
1509
|
+
if (current)
|
|
1510
|
+
return;
|
|
1511
|
+
transition_in(successsolid.$$.fragment, local);
|
|
1512
|
+
current = true;
|
|
1513
|
+
},
|
|
1514
|
+
o(local) {
|
|
1515
|
+
transition_out(successsolid.$$.fragment, local);
|
|
1516
|
+
current = false;
|
|
1436
1517
|
},
|
|
1437
1518
|
d(detaching) {
|
|
1438
|
-
|
|
1439
|
-
detach(button);
|
|
1440
|
-
}
|
|
1441
|
-
mounted = false;
|
|
1442
|
-
dispose();
|
|
1519
|
+
destroy_component(successsolid, detaching);
|
|
1443
1520
|
}
|
|
1444
1521
|
};
|
|
1445
1522
|
}
|
|
1446
|
-
function
|
|
1523
|
+
function create_fragment4(ctx) {
|
|
1447
1524
|
let if_block_anchor;
|
|
1525
|
+
let current;
|
|
1448
1526
|
let if_block = (
|
|
1449
|
-
/*
|
|
1450
|
-
ctx[
|
|
1527
|
+
/*resultFeedback*/
|
|
1528
|
+
ctx[0] && create_if_block2(ctx)
|
|
1451
1529
|
);
|
|
1452
1530
|
return {
|
|
1453
1531
|
c() {
|
|
@@ -1459,208 +1537,136 @@
|
|
|
1459
1537
|
if (if_block)
|
|
1460
1538
|
if_block.m(target, anchor);
|
|
1461
1539
|
insert(target, if_block_anchor, anchor);
|
|
1462
|
-
},
|
|
1463
|
-
p(ctx2, dirty) {
|
|
1464
|
-
if (
|
|
1465
|
-
/*options*/
|
|
1466
|
-
ctx2[4]
|
|
1467
|
-
)
|
|
1468
|
-
if_block.p(ctx2, dirty);
|
|
1469
|
-
},
|
|
1470
|
-
d(detaching) {
|
|
1471
|
-
if (detaching) {
|
|
1472
|
-
detach(if_block_anchor);
|
|
1473
|
-
}
|
|
1474
|
-
if (if_block)
|
|
1475
|
-
if_block.d(detaching);
|
|
1476
|
-
}
|
|
1477
|
-
};
|
|
1478
|
-
}
|
|
1479
|
-
function create_fragment2(ctx) {
|
|
1480
|
-
let promptbody;
|
|
1481
|
-
let current;
|
|
1482
|
-
promptbody = new PromptBody_default({
|
|
1483
|
-
props: {
|
|
1484
|
-
rubric: (
|
|
1485
|
-
/*rubric*/
|
|
1486
|
-
ctx[2].text
|
|
1487
|
-
),
|
|
1488
|
-
prompt: (
|
|
1489
|
-
/*prompt*/
|
|
1490
|
-
ctx[3]
|
|
1491
|
-
),
|
|
1492
|
-
$$slots: { default: [create_default_slot] },
|
|
1493
|
-
$$scope: { ctx }
|
|
1494
|
-
}
|
|
1495
|
-
});
|
|
1496
|
-
return {
|
|
1497
|
-
c() {
|
|
1498
|
-
create_component(promptbody.$$.fragment);
|
|
1499
|
-
},
|
|
1500
|
-
m(target, anchor) {
|
|
1501
|
-
mount_component(promptbody, target, anchor);
|
|
1502
1540
|
current = true;
|
|
1503
1541
|
},
|
|
1504
1542
|
p(ctx2, [dirty]) {
|
|
1505
|
-
|
|
1506
|
-
|
|
1507
|
-
|
|
1508
|
-
|
|
1543
|
+
if (
|
|
1544
|
+
/*resultFeedback*/
|
|
1545
|
+
ctx2[0]
|
|
1546
|
+
) {
|
|
1547
|
+
if (if_block) {
|
|
1548
|
+
if_block.p(ctx2, dirty);
|
|
1549
|
+
if (dirty & /*resultFeedback*/
|
|
1550
|
+
1) {
|
|
1551
|
+
transition_in(if_block, 1);
|
|
1552
|
+
}
|
|
1553
|
+
} else {
|
|
1554
|
+
if_block = create_if_block2(ctx2);
|
|
1555
|
+
if_block.c();
|
|
1556
|
+
transition_in(if_block, 1);
|
|
1557
|
+
if_block.m(if_block_anchor.parentNode, if_block_anchor);
|
|
1558
|
+
}
|
|
1559
|
+
} else if (if_block) {
|
|
1560
|
+
group_outros();
|
|
1561
|
+
transition_out(if_block, 1, 1, () => {
|
|
1562
|
+
if_block = null;
|
|
1563
|
+
});
|
|
1564
|
+
check_outros();
|
|
1509
1565
|
}
|
|
1510
|
-
promptbody.$set(promptbody_changes);
|
|
1511
1566
|
},
|
|
1512
1567
|
i(local) {
|
|
1513
1568
|
if (current)
|
|
1514
1569
|
return;
|
|
1515
|
-
transition_in(
|
|
1570
|
+
transition_in(if_block);
|
|
1516
1571
|
current = true;
|
|
1517
1572
|
},
|
|
1518
1573
|
o(local) {
|
|
1519
|
-
transition_out(
|
|
1574
|
+
transition_out(if_block);
|
|
1520
1575
|
current = false;
|
|
1521
1576
|
},
|
|
1522
1577
|
d(detaching) {
|
|
1523
|
-
|
|
1578
|
+
if (detaching) {
|
|
1579
|
+
detach(if_block_anchor);
|
|
1580
|
+
}
|
|
1581
|
+
if (if_block)
|
|
1582
|
+
if_block.d(detaching);
|
|
1524
1583
|
}
|
|
1525
1584
|
};
|
|
1526
1585
|
}
|
|
1527
1586
|
function instance2($$self, $$props, $$invalidate) {
|
|
1528
|
-
let {
|
|
1529
|
-
let {
|
|
1530
|
-
|
|
1531
|
-
const { prompt, options } = interaction;
|
|
1532
|
-
let selectedOption;
|
|
1533
|
-
const dispatch = createEventDispatcher();
|
|
1534
|
-
if (metadata) {
|
|
1535
|
-
const { events } = metadata.interactions;
|
|
1536
|
-
const currentOption = events.pop();
|
|
1537
|
-
const { answer_id: answerChoiceId } = currentOption;
|
|
1538
|
-
selectedOption = answerChoiceId[0];
|
|
1539
|
-
}
|
|
1540
|
-
const handleOptionClick = (optionId, option) => {
|
|
1541
|
-
if (isDataSaving || optionId === selectedOption)
|
|
1542
|
-
return;
|
|
1543
|
-
$$invalidate(1, selectedOption = optionId);
|
|
1544
|
-
dispatch("saveOption", {
|
|
1545
|
-
answer_id: [optionId],
|
|
1546
|
-
answer_choice: [option]
|
|
1547
|
-
});
|
|
1548
|
-
};
|
|
1549
|
-
const click_handler = (option) => handleOptionClick(option.id, option.answer);
|
|
1587
|
+
let { resultFeedback = null } = $$props;
|
|
1588
|
+
let { resultFeedbackTitle = null } = $$props;
|
|
1589
|
+
let { isResultCorrect: isResultCorrect2 = true } = $$props;
|
|
1550
1590
|
$$self.$$set = ($$props2) => {
|
|
1551
|
-
if ("
|
|
1552
|
-
$$invalidate(
|
|
1553
|
-
if ("
|
|
1554
|
-
$$invalidate(
|
|
1591
|
+
if ("resultFeedback" in $$props2)
|
|
1592
|
+
$$invalidate(0, resultFeedback = $$props2.resultFeedback);
|
|
1593
|
+
if ("resultFeedbackTitle" in $$props2)
|
|
1594
|
+
$$invalidate(1, resultFeedbackTitle = $$props2.resultFeedbackTitle);
|
|
1595
|
+
if ("isResultCorrect" in $$props2)
|
|
1596
|
+
$$invalidate(2, isResultCorrect2 = $$props2.isResultCorrect);
|
|
1555
1597
|
};
|
|
1556
|
-
return [
|
|
1557
|
-
isDataSaving,
|
|
1558
|
-
selectedOption,
|
|
1559
|
-
rubric,
|
|
1560
|
-
prompt,
|
|
1561
|
-
options,
|
|
1562
|
-
handleOptionClick,
|
|
1563
|
-
sessionData,
|
|
1564
|
-
click_handler
|
|
1565
|
-
];
|
|
1598
|
+
return [resultFeedback, resultFeedbackTitle, isResultCorrect2];
|
|
1566
1599
|
}
|
|
1567
|
-
var
|
|
1600
|
+
var PromptResultFeedback = class extends SvelteComponent {
|
|
1568
1601
|
constructor(options) {
|
|
1569
1602
|
super();
|
|
1570
|
-
init(this, options, instance2,
|
|
1603
|
+
init(this, options, instance2, create_fragment4, safe_not_equal, {
|
|
1604
|
+
resultFeedback: 0,
|
|
1605
|
+
resultFeedbackTitle: 1,
|
|
1606
|
+
isResultCorrect: 2
|
|
1607
|
+
});
|
|
1571
1608
|
}
|
|
1572
|
-
get
|
|
1573
|
-
return this.$$.ctx[
|
|
1609
|
+
get resultFeedback() {
|
|
1610
|
+
return this.$$.ctx[0];
|
|
1574
1611
|
}
|
|
1575
|
-
set
|
|
1576
|
-
this.$$set({
|
|
1612
|
+
set resultFeedback(resultFeedback) {
|
|
1613
|
+
this.$$set({ resultFeedback });
|
|
1577
1614
|
flush();
|
|
1578
1615
|
}
|
|
1579
|
-
get
|
|
1580
|
-
return this.$$.ctx[
|
|
1616
|
+
get resultFeedbackTitle() {
|
|
1617
|
+
return this.$$.ctx[1];
|
|
1581
1618
|
}
|
|
1582
|
-
set
|
|
1583
|
-
this.$$set({
|
|
1619
|
+
set resultFeedbackTitle(resultFeedbackTitle) {
|
|
1620
|
+
this.$$set({ resultFeedbackTitle });
|
|
1621
|
+
flush();
|
|
1622
|
+
}
|
|
1623
|
+
get isResultCorrect() {
|
|
1624
|
+
return this.$$.ctx[2];
|
|
1625
|
+
}
|
|
1626
|
+
set isResultCorrect(isResultCorrect2) {
|
|
1627
|
+
this.$$set({ isResultCorrect: isResultCorrect2 });
|
|
1584
1628
|
flush();
|
|
1585
1629
|
}
|
|
1586
1630
|
};
|
|
1587
|
-
customElements.define("prompt-
|
|
1588
|
-
var
|
|
1589
|
-
|
|
1590
|
-
// node_modules/autosize/dist/autosize.esm.js
|
|
1591
|
-
var e = /* @__PURE__ */ new Map();
|
|
1592
|
-
function t(t2) {
|
|
1593
|
-
var o2 = e.get(t2);
|
|
1594
|
-
o2 && o2.destroy();
|
|
1595
|
-
}
|
|
1596
|
-
function o(t2) {
|
|
1597
|
-
var o2 = e.get(t2);
|
|
1598
|
-
o2 && o2.update();
|
|
1599
|
-
}
|
|
1600
|
-
var r = null;
|
|
1601
|
-
"undefined" == typeof window ? ((r = function(e2) {
|
|
1602
|
-
return e2;
|
|
1603
|
-
}).destroy = function(e2) {
|
|
1604
|
-
return e2;
|
|
1605
|
-
}, r.update = function(e2) {
|
|
1606
|
-
return e2;
|
|
1607
|
-
}) : ((r = function(t2, o2) {
|
|
1608
|
-
return t2 && Array.prototype.forEach.call(t2.length ? t2 : [t2], function(t3) {
|
|
1609
|
-
return function(t4) {
|
|
1610
|
-
if (t4 && t4.nodeName && "TEXTAREA" === t4.nodeName && !e.has(t4)) {
|
|
1611
|
-
var o3, r2 = null, n2 = window.getComputedStyle(t4), i = (o3 = t4.value, function() {
|
|
1612
|
-
a({ testForHeightReduction: "" === o3 || !t4.value.startsWith(o3), restoreTextAlign: null }), o3 = t4.value;
|
|
1613
|
-
}), l = function(o4) {
|
|
1614
|
-
t4.removeEventListener("autosize:destroy", l), t4.removeEventListener("autosize:update", s), t4.removeEventListener("input", i), window.removeEventListener("resize", s), Object.keys(o4).forEach(function(e2) {
|
|
1615
|
-
return t4.style[e2] = o4[e2];
|
|
1616
|
-
}), e.delete(t4);
|
|
1617
|
-
}.bind(t4, { height: t4.style.height, resize: t4.style.resize, textAlign: t4.style.textAlign, overflowY: t4.style.overflowY, overflowX: t4.style.overflowX, wordWrap: t4.style.wordWrap });
|
|
1618
|
-
t4.addEventListener("autosize:destroy", l), t4.addEventListener("autosize:update", s), t4.addEventListener("input", i), window.addEventListener("resize", s), t4.style.overflowX = "hidden", t4.style.wordWrap = "break-word", e.set(t4, { destroy: l, update: s }), s();
|
|
1619
|
-
}
|
|
1620
|
-
function a(e2) {
|
|
1621
|
-
var o4, i2, l2 = e2.restoreTextAlign, s2 = void 0 === l2 ? null : l2, d = e2.testForHeightReduction, u = void 0 === d || d, c = n2.overflowY;
|
|
1622
|
-
if (0 !== t4.scrollHeight && ("vertical" === n2.resize ? t4.style.resize = "none" : "both" === n2.resize && (t4.style.resize = "horizontal"), u && (o4 = function(e3) {
|
|
1623
|
-
for (var t5 = []; e3 && e3.parentNode && e3.parentNode instanceof Element; )
|
|
1624
|
-
e3.parentNode.scrollTop && t5.push([e3.parentNode, e3.parentNode.scrollTop]), e3 = e3.parentNode;
|
|
1625
|
-
return function() {
|
|
1626
|
-
return t5.forEach(function(e4) {
|
|
1627
|
-
var t6 = e4[0], o5 = e4[1];
|
|
1628
|
-
t6.style.scrollBehavior = "auto", t6.scrollTop = o5, t6.style.scrollBehavior = null;
|
|
1629
|
-
});
|
|
1630
|
-
};
|
|
1631
|
-
}(t4), t4.style.height = ""), i2 = "content-box" === n2.boxSizing ? t4.scrollHeight - (parseFloat(n2.paddingTop) + parseFloat(n2.paddingBottom)) : t4.scrollHeight + parseFloat(n2.borderTopWidth) + parseFloat(n2.borderBottomWidth), "none" !== n2.maxHeight && i2 > parseFloat(n2.maxHeight) ? ("hidden" === n2.overflowY && (t4.style.overflow = "scroll"), i2 = parseFloat(n2.maxHeight)) : "hidden" !== n2.overflowY && (t4.style.overflow = "hidden"), t4.style.height = i2 + "px", s2 && (t4.style.textAlign = s2), o4 && o4(), r2 !== i2 && (t4.dispatchEvent(new Event("autosize:resized", { bubbles: true })), r2 = i2), c !== n2.overflow && !s2)) {
|
|
1632
|
-
var v = n2.textAlign;
|
|
1633
|
-
"hidden" === n2.overflow && (t4.style.textAlign = "start" === v ? "end" : "start"), a({ restoreTextAlign: v, testForHeightReduction: true });
|
|
1634
|
-
}
|
|
1635
|
-
}
|
|
1636
|
-
function s() {
|
|
1637
|
-
a({ testForHeightReduction: true, restoreTextAlign: null });
|
|
1638
|
-
}
|
|
1639
|
-
}(t3);
|
|
1640
|
-
}), t2;
|
|
1641
|
-
}).destroy = function(e2) {
|
|
1642
|
-
return e2 && Array.prototype.forEach.call(e2.length ? e2 : [e2], t), e2;
|
|
1643
|
-
}, r.update = function(e2) {
|
|
1644
|
-
return e2 && Array.prototype.forEach.call(e2.length ? e2 : [e2], o), e2;
|
|
1645
|
-
});
|
|
1646
|
-
var n = r;
|
|
1647
|
-
var autosize_esm_default = n;
|
|
1631
|
+
customElements.define("prompt-result-feedback", create_custom_element(PromptResultFeedback, { "resultFeedback": {}, "resultFeedbackTitle": {}, "isResultCorrect": { "type": "Boolean" } }, [], [], true));
|
|
1632
|
+
var PromptResultFeedback_default = PromptResultFeedback;
|
|
1648
1633
|
|
|
1649
|
-
//
|
|
1650
|
-
var
|
|
1651
|
-
|
|
1652
|
-
|
|
1653
|
-
|
|
1654
|
-
|
|
1655
|
-
|
|
1656
|
-
|
|
1634
|
+
// src/lib/composables/useMCQ.ts
|
|
1635
|
+
var useAlphabetEquivalent = (index) => {
|
|
1636
|
+
const alphabetArr = [
|
|
1637
|
+
"A",
|
|
1638
|
+
"B",
|
|
1639
|
+
"C",
|
|
1640
|
+
"D",
|
|
1641
|
+
"E",
|
|
1642
|
+
"F",
|
|
1643
|
+
"G",
|
|
1644
|
+
"H",
|
|
1645
|
+
"I",
|
|
1646
|
+
"J",
|
|
1647
|
+
"K",
|
|
1648
|
+
"L",
|
|
1649
|
+
"M",
|
|
1650
|
+
"N",
|
|
1651
|
+
"O",
|
|
1652
|
+
"P",
|
|
1653
|
+
"Q",
|
|
1654
|
+
"R",
|
|
1655
|
+
"S",
|
|
1656
|
+
"T",
|
|
1657
|
+
"U",
|
|
1658
|
+
"V",
|
|
1659
|
+
"W",
|
|
1660
|
+
"X",
|
|
1661
|
+
"Y",
|
|
1662
|
+
"Z"
|
|
1663
|
+
];
|
|
1664
|
+
return alphabetArr[index];
|
|
1657
1665
|
};
|
|
1658
|
-
|
|
1659
|
-
action.destroy = autosize_esm_default.destroy;
|
|
1660
|
-
var svelte_autosize_default = action;
|
|
1666
|
+
var useMCQ_default = useAlphabetEquivalent;
|
|
1661
1667
|
|
|
1662
|
-
// src/lib/assets/img/messaging/
|
|
1663
|
-
function
|
|
1668
|
+
// src/lib/assets/img/messaging/ErrorSolid.svelte
|
|
1669
|
+
function create_fragment5(ctx) {
|
|
1664
1670
|
let svg;
|
|
1665
1671
|
let path;
|
|
1666
1672
|
return {
|
|
@@ -1669,13 +1675,15 @@
|
|
|
1669
1675
|
path = svg_element("path");
|
|
1670
1676
|
attr(path, "fill-rule", "evenodd");
|
|
1671
1677
|
attr(path, "clip-rule", "evenodd");
|
|
1672
|
-
attr(path, "d", "M10 0C15.5228 0 20 4.47715 20 10C20 15.5228 15.5228 20 10 20C4.47715 20 0 15.5228 0 10C0 4.47715 4.47715 0 10
|
|
1678
|
+
attr(path, "d", "M10 0C15.5228 0 20 4.47715 20 10C20 15.5228 15.5228 20 10 20C4.47715 20 0 15.5228 0 10C0 4.47715 4.47715 0 10 0ZM7.70711 6.29289C7.31658 5.90237 6.68342 5.90237 6.29289 6.29289C5.90237 6.68342 5.90237 7.31658 6.29289 7.70711L8.585 10L6.29289 12.2929C5.93241 12.6534 5.90468 13.2206 6.2097 13.6129L6.29289 13.7071C6.68342 14.0976 7.31658 14.0976 7.70711 13.7071L10 11.415L12.2929 13.7071C12.6534 14.0676 13.2206 14.0953 13.6129 13.7903L13.7071 13.7071C14.0976 13.3166 14.0976 12.6834 13.7071 12.2929L11.415 10L13.7071 7.70711C14.0676 7.34662 14.0953 6.77939 13.7903 6.3871L13.7071 6.29289C13.3166 5.90237 12.6834 5.90237 12.2929 6.29289L10 8.585L7.70711 6.29289Z");
|
|
1673
1679
|
attr(path, "fill", "currentColor");
|
|
1674
1680
|
attr(svg, "width", "20");
|
|
1675
1681
|
attr(svg, "height", "20");
|
|
1676
1682
|
attr(svg, "viewBox", "0 0 20 20");
|
|
1677
1683
|
attr(svg, "fill", "none");
|
|
1678
1684
|
attr(svg, "xmlns", "http://www.w3.org/2000/svg");
|
|
1685
|
+
attr(svg, "role", "img");
|
|
1686
|
+
attr(svg, "aria-label", "Cross Icon");
|
|
1679
1687
|
},
|
|
1680
1688
|
m(target, anchor) {
|
|
1681
1689
|
insert(target, svg, anchor);
|
|
@@ -1691,99 +1699,191 @@
|
|
|
1691
1699
|
}
|
|
1692
1700
|
};
|
|
1693
1701
|
}
|
|
1694
|
-
var
|
|
1702
|
+
var ErrorSolid = class extends SvelteComponent {
|
|
1695
1703
|
constructor(options) {
|
|
1696
1704
|
super();
|
|
1697
|
-
init(this, options, null,
|
|
1705
|
+
init(this, options, null, create_fragment5, safe_not_equal, {});
|
|
1698
1706
|
}
|
|
1699
1707
|
};
|
|
1700
|
-
create_custom_element(
|
|
1701
|
-
var
|
|
1708
|
+
create_custom_element(ErrorSolid, {}, [], [], true);
|
|
1709
|
+
var ErrorSolid_default = ErrorSolid;
|
|
1702
1710
|
|
|
1703
|
-
// src/lib/
|
|
1704
|
-
function
|
|
1705
|
-
|
|
1706
|
-
|
|
1711
|
+
// src/lib/components/prompt/mcq/PromptMCQ.svelte
|
|
1712
|
+
function get_each_context(ctx, list, i) {
|
|
1713
|
+
const child_ctx = ctx.slice();
|
|
1714
|
+
child_ctx[15] = list[i][0];
|
|
1715
|
+
child_ctx[16] = list[i][1];
|
|
1716
|
+
child_ctx[18] = i;
|
|
1717
|
+
return child_ctx;
|
|
1718
|
+
}
|
|
1719
|
+
function create_if_block_13(ctx) {
|
|
1720
|
+
let div1;
|
|
1721
|
+
let div0;
|
|
1722
|
+
let div0_class_value;
|
|
1723
|
+
let t2;
|
|
1724
|
+
let current;
|
|
1725
|
+
let each_value = ensure_array_like(Object.entries(
|
|
1726
|
+
/*options*/
|
|
1727
|
+
ctx[7]
|
|
1728
|
+
));
|
|
1729
|
+
let each_blocks = [];
|
|
1730
|
+
for (let i = 0; i < each_value.length; i += 1) {
|
|
1731
|
+
each_blocks[i] = create_each_block(get_each_context(ctx, each_value, i));
|
|
1732
|
+
}
|
|
1733
|
+
const out = (i) => transition_out(each_blocks[i], 1, 1, () => {
|
|
1734
|
+
each_blocks[i] = null;
|
|
1735
|
+
});
|
|
1707
1736
|
return {
|
|
1708
1737
|
c() {
|
|
1709
|
-
|
|
1710
|
-
|
|
1711
|
-
|
|
1712
|
-
|
|
1713
|
-
|
|
1714
|
-
|
|
1715
|
-
attr(
|
|
1716
|
-
|
|
1717
|
-
attr(
|
|
1718
|
-
attr(svg, "fill", "none");
|
|
1719
|
-
attr(svg, "xmlns", "http://www.w3.org/2000/svg");
|
|
1738
|
+
div1 = element("div");
|
|
1739
|
+
div0 = element("div");
|
|
1740
|
+
t2 = space();
|
|
1741
|
+
for (let i = 0; i < each_blocks.length; i += 1) {
|
|
1742
|
+
each_blocks[i].c();
|
|
1743
|
+
}
|
|
1744
|
+
attr(div0, "class", div0_class_value = /*isDataSaving*/
|
|
1745
|
+
ctx[0] ? "absolute inset-0 bg-transparent z-50" : "");
|
|
1746
|
+
attr(div1, "class", "relative");
|
|
1720
1747
|
},
|
|
1721
1748
|
m(target, anchor) {
|
|
1722
|
-
insert(target,
|
|
1723
|
-
append(
|
|
1749
|
+
insert(target, div1, anchor);
|
|
1750
|
+
append(div1, div0);
|
|
1751
|
+
append(div1, t2);
|
|
1752
|
+
for (let i = 0; i < each_blocks.length; i += 1) {
|
|
1753
|
+
if (each_blocks[i]) {
|
|
1754
|
+
each_blocks[i].m(div1, null);
|
|
1755
|
+
}
|
|
1756
|
+
}
|
|
1757
|
+
current = true;
|
|
1758
|
+
},
|
|
1759
|
+
p(ctx2, dirty) {
|
|
1760
|
+
if (!current || dirty & /*isDataSaving*/
|
|
1761
|
+
1 && div0_class_value !== (div0_class_value = /*isDataSaving*/
|
|
1762
|
+
ctx2[0] ? "absolute inset-0 bg-transparent z-50" : "")) {
|
|
1763
|
+
attr(div0, "class", div0_class_value);
|
|
1764
|
+
}
|
|
1765
|
+
if (dirty & /*selectedOption, Object, options, isFinished, isResultCorrect, handleOptionClick*/
|
|
1766
|
+
398) {
|
|
1767
|
+
each_value = ensure_array_like(Object.entries(
|
|
1768
|
+
/*options*/
|
|
1769
|
+
ctx2[7]
|
|
1770
|
+
));
|
|
1771
|
+
let i;
|
|
1772
|
+
for (i = 0; i < each_value.length; i += 1) {
|
|
1773
|
+
const child_ctx = get_each_context(ctx2, each_value, i);
|
|
1774
|
+
if (each_blocks[i]) {
|
|
1775
|
+
each_blocks[i].p(child_ctx, dirty);
|
|
1776
|
+
transition_in(each_blocks[i], 1);
|
|
1777
|
+
} else {
|
|
1778
|
+
each_blocks[i] = create_each_block(child_ctx);
|
|
1779
|
+
each_blocks[i].c();
|
|
1780
|
+
transition_in(each_blocks[i], 1);
|
|
1781
|
+
each_blocks[i].m(div1, null);
|
|
1782
|
+
}
|
|
1783
|
+
}
|
|
1784
|
+
group_outros();
|
|
1785
|
+
for (i = each_value.length; i < each_blocks.length; i += 1) {
|
|
1786
|
+
out(i);
|
|
1787
|
+
}
|
|
1788
|
+
check_outros();
|
|
1789
|
+
}
|
|
1790
|
+
},
|
|
1791
|
+
i(local) {
|
|
1792
|
+
if (current)
|
|
1793
|
+
return;
|
|
1794
|
+
for (let i = 0; i < each_value.length; i += 1) {
|
|
1795
|
+
transition_in(each_blocks[i]);
|
|
1796
|
+
}
|
|
1797
|
+
current = true;
|
|
1798
|
+
},
|
|
1799
|
+
o(local) {
|
|
1800
|
+
each_blocks = each_blocks.filter(Boolean);
|
|
1801
|
+
for (let i = 0; i < each_blocks.length; i += 1) {
|
|
1802
|
+
transition_out(each_blocks[i]);
|
|
1803
|
+
}
|
|
1804
|
+
current = false;
|
|
1724
1805
|
},
|
|
1725
|
-
p: noop,
|
|
1726
|
-
i: noop,
|
|
1727
|
-
o: noop,
|
|
1728
1806
|
d(detaching) {
|
|
1729
1807
|
if (detaching) {
|
|
1730
|
-
detach(
|
|
1808
|
+
detach(div1);
|
|
1731
1809
|
}
|
|
1810
|
+
destroy_each(each_blocks, detaching);
|
|
1732
1811
|
}
|
|
1733
1812
|
};
|
|
1734
1813
|
}
|
|
1735
|
-
|
|
1736
|
-
|
|
1737
|
-
|
|
1738
|
-
|
|
1814
|
+
function create_if_block_2(ctx) {
|
|
1815
|
+
let span;
|
|
1816
|
+
let current_block_type_index;
|
|
1817
|
+
let if_block;
|
|
1818
|
+
let span_class_value;
|
|
1819
|
+
let current;
|
|
1820
|
+
const if_block_creators = [create_if_block_3, create_else_block2];
|
|
1821
|
+
const if_blocks = [];
|
|
1822
|
+
function select_block_type(ctx2, dirty) {
|
|
1823
|
+
if (
|
|
1824
|
+
/*isResultCorrect*/
|
|
1825
|
+
ctx2[2]
|
|
1826
|
+
)
|
|
1827
|
+
return 0;
|
|
1828
|
+
return 1;
|
|
1739
1829
|
}
|
|
1740
|
-
|
|
1741
|
-
|
|
1742
|
-
var ErrorSolid_default = ErrorSolid;
|
|
1743
|
-
|
|
1744
|
-
// src/lib/assets/img/messaging/InfoSolid.svelte
|
|
1745
|
-
function create_fragment5(ctx) {
|
|
1746
|
-
let svg;
|
|
1747
|
-
let path;
|
|
1830
|
+
current_block_type_index = select_block_type(ctx, -1);
|
|
1831
|
+
if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx);
|
|
1748
1832
|
return {
|
|
1749
1833
|
c() {
|
|
1750
|
-
|
|
1751
|
-
|
|
1752
|
-
attr(
|
|
1753
|
-
|
|
1754
|
-
attr(path, "d", "M10 0C15.5228 0 20 4.47715 20 10C20 15.5228 15.5228 20 10 20C4.47715 20 0 15.5228 0 10C0 4.47715 4.47715 0 10 0ZM10 9C9.44772 9 9 9.44772 9 10V14.5C9 15.0523 9.44772 15.5 10 15.5C10.5523 15.5 11 15.0523 11 14.5V10C11 9.44772 10.5523 9 10 9ZM10 5C9.44772 5 9 5.44772 9 6C9 6.55228 9.44772 7 10 7C10.5523 7 11 6.55228 11 6C11 5.44772 10.5523 5 10 5Z");
|
|
1755
|
-
attr(path, "fill", "currentColor");
|
|
1756
|
-
attr(svg, "width", "20");
|
|
1757
|
-
attr(svg, "height", "20");
|
|
1758
|
-
attr(svg, "viewBox", "0 0 20 20");
|
|
1759
|
-
attr(svg, "fill", "none");
|
|
1760
|
-
attr(svg, "xmlns", "http://www.w3.org/2000/svg");
|
|
1834
|
+
span = element("span");
|
|
1835
|
+
if_block.c();
|
|
1836
|
+
attr(span, "class", span_class_value = /*isResultCorrect*/
|
|
1837
|
+
(ctx[2] ? "text-green-800" : "text-red-800") + " p-0.5");
|
|
1761
1838
|
},
|
|
1762
1839
|
m(target, anchor) {
|
|
1763
|
-
insert(target,
|
|
1764
|
-
|
|
1840
|
+
insert(target, span, anchor);
|
|
1841
|
+
if_blocks[current_block_type_index].m(span, null);
|
|
1842
|
+
current = true;
|
|
1843
|
+
},
|
|
1844
|
+
p(ctx2, dirty) {
|
|
1845
|
+
let previous_block_index = current_block_type_index;
|
|
1846
|
+
current_block_type_index = select_block_type(ctx2, dirty);
|
|
1847
|
+
if (current_block_type_index !== previous_block_index) {
|
|
1848
|
+
group_outros();
|
|
1849
|
+
transition_out(if_blocks[previous_block_index], 1, 1, () => {
|
|
1850
|
+
if_blocks[previous_block_index] = null;
|
|
1851
|
+
});
|
|
1852
|
+
check_outros();
|
|
1853
|
+
if_block = if_blocks[current_block_type_index];
|
|
1854
|
+
if (!if_block) {
|
|
1855
|
+
if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx2);
|
|
1856
|
+
if_block.c();
|
|
1857
|
+
} else {
|
|
1858
|
+
}
|
|
1859
|
+
transition_in(if_block, 1);
|
|
1860
|
+
if_block.m(span, null);
|
|
1861
|
+
}
|
|
1862
|
+
if (!current || dirty & /*isResultCorrect*/
|
|
1863
|
+
4 && span_class_value !== (span_class_value = /*isResultCorrect*/
|
|
1864
|
+
(ctx2[2] ? "text-green-800" : "text-red-800") + " p-0.5")) {
|
|
1865
|
+
attr(span, "class", span_class_value);
|
|
1866
|
+
}
|
|
1867
|
+
},
|
|
1868
|
+
i(local) {
|
|
1869
|
+
if (current)
|
|
1870
|
+
return;
|
|
1871
|
+
transition_in(if_block);
|
|
1872
|
+
current = true;
|
|
1873
|
+
},
|
|
1874
|
+
o(local) {
|
|
1875
|
+
transition_out(if_block);
|
|
1876
|
+
current = false;
|
|
1765
1877
|
},
|
|
1766
|
-
p: noop,
|
|
1767
|
-
i: noop,
|
|
1768
|
-
o: noop,
|
|
1769
1878
|
d(detaching) {
|
|
1770
1879
|
if (detaching) {
|
|
1771
|
-
detach(
|
|
1880
|
+
detach(span);
|
|
1772
1881
|
}
|
|
1882
|
+
if_blocks[current_block_type_index].d();
|
|
1773
1883
|
}
|
|
1774
1884
|
};
|
|
1775
1885
|
}
|
|
1776
|
-
|
|
1777
|
-
constructor(options) {
|
|
1778
|
-
super();
|
|
1779
|
-
init(this, options, null, create_fragment5, safe_not_equal, {});
|
|
1780
|
-
}
|
|
1781
|
-
};
|
|
1782
|
-
create_custom_element(InfoSolid, {}, [], [], true);
|
|
1783
|
-
var InfoSolid_default = InfoSolid;
|
|
1784
|
-
|
|
1785
|
-
// src/lib/components/prompt/template/PromptResult.svelte
|
|
1786
|
-
function create_else_block_1(ctx) {
|
|
1886
|
+
function create_else_block2(ctx) {
|
|
1787
1887
|
let errorsolid;
|
|
1788
1888
|
let current;
|
|
1789
1889
|
errorsolid = new ErrorSolid_default({});
|
|
@@ -1810,7 +1910,7 @@
|
|
|
1810
1910
|
}
|
|
1811
1911
|
};
|
|
1812
1912
|
}
|
|
1813
|
-
function
|
|
1913
|
+
function create_if_block_3(ctx) {
|
|
1814
1914
|
let successsolid;
|
|
1815
1915
|
let current;
|
|
1816
1916
|
successsolid = new SuccessSolid_default({});
|
|
@@ -1837,119 +1937,146 @@
|
|
|
1837
1937
|
}
|
|
1838
1938
|
};
|
|
1839
1939
|
}
|
|
1840
|
-
function
|
|
1841
|
-
let
|
|
1842
|
-
let span0;
|
|
1843
|
-
let current_block_type_index;
|
|
1844
|
-
let if_block;
|
|
1845
|
-
let span0_class_value;
|
|
1846
|
-
let t0;
|
|
1847
|
-
let span3;
|
|
1940
|
+
function create_each_block(ctx) {
|
|
1941
|
+
let button;
|
|
1848
1942
|
let span1;
|
|
1943
|
+
let span0;
|
|
1849
1944
|
let t1;
|
|
1945
|
+
let t2_value = (
|
|
1946
|
+
/*option*/
|
|
1947
|
+
ctx[16].answer + ""
|
|
1948
|
+
);
|
|
1850
1949
|
let t2;
|
|
1851
|
-
let span2;
|
|
1852
1950
|
let t3;
|
|
1853
|
-
let div0_class_value;
|
|
1854
1951
|
let t4;
|
|
1855
|
-
let
|
|
1952
|
+
let button_aria_label_value;
|
|
1953
|
+
let button_class_value;
|
|
1856
1954
|
let current;
|
|
1857
|
-
|
|
1858
|
-
|
|
1859
|
-
|
|
1860
|
-
|
|
1861
|
-
|
|
1862
|
-
|
|
1863
|
-
)
|
|
1864
|
-
|
|
1865
|
-
|
|
1955
|
+
let mounted;
|
|
1956
|
+
let dispose;
|
|
1957
|
+
let if_block = (
|
|
1958
|
+
/*selectedOption*/
|
|
1959
|
+
ctx[3] === /*option*/
|
|
1960
|
+
ctx[16].id && /*isFinished*/
|
|
1961
|
+
ctx[1] && create_if_block_2(ctx)
|
|
1962
|
+
);
|
|
1963
|
+
function click_handler() {
|
|
1964
|
+
return (
|
|
1965
|
+
/*click_handler*/
|
|
1966
|
+
ctx[10](
|
|
1967
|
+
/*option*/
|
|
1968
|
+
ctx[16]
|
|
1969
|
+
)
|
|
1970
|
+
);
|
|
1866
1971
|
}
|
|
1867
|
-
current_block_type_index = select_block_type_1(ctx, -1);
|
|
1868
|
-
if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx);
|
|
1869
1972
|
return {
|
|
1870
1973
|
c() {
|
|
1871
|
-
|
|
1872
|
-
span0 = element("span");
|
|
1873
|
-
if_block.c();
|
|
1874
|
-
t0 = space();
|
|
1875
|
-
span3 = element("span");
|
|
1974
|
+
button = element("button");
|
|
1876
1975
|
span1 = element("span");
|
|
1877
|
-
|
|
1878
|
-
|
|
1879
|
-
|
|
1880
|
-
|
|
1881
|
-
|
|
1882
|
-
|
|
1883
|
-
|
|
1884
|
-
|
|
1885
|
-
|
|
1886
|
-
|
|
1976
|
+
span0 = element("span");
|
|
1977
|
+
span0.textContent = `${useMCQ_default(
|
|
1978
|
+
/*index*/
|
|
1979
|
+
ctx[18]
|
|
1980
|
+
)}`;
|
|
1981
|
+
t1 = space();
|
|
1982
|
+
t2 = text(t2_value);
|
|
1983
|
+
t3 = space();
|
|
1984
|
+
if (if_block)
|
|
1985
|
+
if_block.c();
|
|
1887
1986
|
t4 = space();
|
|
1888
|
-
|
|
1889
|
-
attr(
|
|
1890
|
-
|
|
1891
|
-
|
|
1892
|
-
|
|
1893
|
-
|
|
1894
|
-
|
|
1895
|
-
|
|
1987
|
+
attr(span0, "class", "choice group-active:border-2 group-active:border-blue-1000 group-active:p-[7px]");
|
|
1988
|
+
attr(span1, "class", "grow flex items-center");
|
|
1989
|
+
attr(button, "aria-label", button_aria_label_value = `${/*selectedOption*/
|
|
1990
|
+
ctx[3] === /*option*/
|
|
1991
|
+
ctx[16].id ? `Selected option ${useMCQ_default(
|
|
1992
|
+
/*index*/
|
|
1993
|
+
ctx[18]
|
|
1994
|
+
)} ${!/*isFinished*/
|
|
1995
|
+
ctx[1] ? "" : (
|
|
1996
|
+
/*isResultCorrect*/
|
|
1997
|
+
ctx[2] ? "is correct" : "is incorrect"
|
|
1998
|
+
)}` : `Option ${useMCQ_default(
|
|
1999
|
+
/*index*/
|
|
2000
|
+
ctx[18]
|
|
2001
|
+
)}`}: ${/*option*/
|
|
2002
|
+
ctx[16].answer}`);
|
|
2003
|
+
attr(button, "class", button_class_value = "btn-mcq-option group text-left " + /*selectedOption*/
|
|
2004
|
+
(ctx[3] === /*option*/
|
|
2005
|
+
ctx[16].id ? "selected" : "") + " " + (!/*isFinished*/
|
|
2006
|
+
ctx[1] ? "" : (
|
|
2007
|
+
/*isResultCorrect*/
|
|
2008
|
+
ctx[2] ? "correct" : "incorrect"
|
|
2009
|
+
)));
|
|
1896
2010
|
},
|
|
1897
2011
|
m(target, anchor) {
|
|
1898
|
-
insert(target,
|
|
1899
|
-
append(
|
|
1900
|
-
|
|
1901
|
-
append(div0, t0);
|
|
1902
|
-
append(div0, span3);
|
|
1903
|
-
append(span3, span1);
|
|
2012
|
+
insert(target, button, anchor);
|
|
2013
|
+
append(button, span1);
|
|
2014
|
+
append(span1, span0);
|
|
1904
2015
|
append(span1, t1);
|
|
1905
|
-
append(
|
|
1906
|
-
append(
|
|
1907
|
-
|
|
1908
|
-
|
|
1909
|
-
|
|
2016
|
+
append(span1, t2);
|
|
2017
|
+
append(button, t3);
|
|
2018
|
+
if (if_block)
|
|
2019
|
+
if_block.m(button, null);
|
|
2020
|
+
append(button, t4);
|
|
1910
2021
|
current = true;
|
|
2022
|
+
if (!mounted) {
|
|
2023
|
+
dispose = listen(button, "click", click_handler);
|
|
2024
|
+
mounted = true;
|
|
2025
|
+
}
|
|
1911
2026
|
},
|
|
1912
|
-
p(
|
|
1913
|
-
|
|
1914
|
-
|
|
1915
|
-
|
|
2027
|
+
p(new_ctx, dirty) {
|
|
2028
|
+
ctx = new_ctx;
|
|
2029
|
+
if (
|
|
2030
|
+
/*selectedOption*/
|
|
2031
|
+
ctx[3] === /*option*/
|
|
2032
|
+
ctx[16].id && /*isFinished*/
|
|
2033
|
+
ctx[1]
|
|
2034
|
+
) {
|
|
2035
|
+
if (if_block) {
|
|
2036
|
+
if_block.p(ctx, dirty);
|
|
2037
|
+
if (dirty & /*selectedOption, isFinished*/
|
|
2038
|
+
10) {
|
|
2039
|
+
transition_in(if_block, 1);
|
|
2040
|
+
}
|
|
2041
|
+
} else {
|
|
2042
|
+
if_block = create_if_block_2(ctx);
|
|
2043
|
+
if_block.c();
|
|
2044
|
+
transition_in(if_block, 1);
|
|
2045
|
+
if_block.m(button, t4);
|
|
2046
|
+
}
|
|
2047
|
+
} else if (if_block) {
|
|
1916
2048
|
group_outros();
|
|
1917
|
-
transition_out(
|
|
1918
|
-
|
|
2049
|
+
transition_out(if_block, 1, 1, () => {
|
|
2050
|
+
if_block = null;
|
|
1919
2051
|
});
|
|
1920
2052
|
check_outros();
|
|
1921
|
-
if_block = if_blocks[current_block_type_index];
|
|
1922
|
-
if (!if_block) {
|
|
1923
|
-
if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx2);
|
|
1924
|
-
if_block.c();
|
|
1925
|
-
} else {
|
|
1926
|
-
}
|
|
1927
|
-
transition_in(if_block, 1);
|
|
1928
|
-
if_block.m(span0, null);
|
|
1929
2053
|
}
|
|
1930
|
-
if (!current || dirty & /*
|
|
1931
|
-
|
|
1932
|
-
|
|
1933
|
-
|
|
2054
|
+
if (!current || dirty & /*selectedOption, isFinished, isResultCorrect*/
|
|
2055
|
+
14 && button_aria_label_value !== (button_aria_label_value = `${/*selectedOption*/
|
|
2056
|
+
ctx[3] === /*option*/
|
|
2057
|
+
ctx[16].id ? `Selected option ${useMCQ_default(
|
|
2058
|
+
/*index*/
|
|
2059
|
+
ctx[18]
|
|
2060
|
+
)} ${!/*isFinished*/
|
|
2061
|
+
ctx[1] ? "" : (
|
|
2062
|
+
/*isResultCorrect*/
|
|
2063
|
+
ctx[2] ? "is correct" : "is incorrect"
|
|
2064
|
+
)}` : `Option ${useMCQ_default(
|
|
2065
|
+
/*index*/
|
|
2066
|
+
ctx[18]
|
|
2067
|
+
)}`}: ${/*option*/
|
|
2068
|
+
ctx[16].answer}`)) {
|
|
2069
|
+
attr(button, "aria-label", button_aria_label_value);
|
|
1934
2070
|
}
|
|
1935
|
-
if (!current || dirty & /*
|
|
1936
|
-
|
|
1937
|
-
|
|
1938
|
-
|
|
1939
|
-
|
|
1940
|
-
|
|
1941
|
-
|
|
1942
|
-
|
|
1943
|
-
|
|
1944
|
-
set_data(
|
|
1945
|
-
t3,
|
|
1946
|
-
/*resultFeedback*/
|
|
1947
|
-
ctx2[1]
|
|
1948
|
-
);
|
|
1949
|
-
if (!current || dirty & /*mainDivClass*/
|
|
1950
|
-
16 && div0_class_value !== (div0_class_value = `${/*mainDivClass*/
|
|
1951
|
-
ctx2[4]} flex items-start my-6 p-4 border-l-[6px] text-charcoal`)) {
|
|
1952
|
-
attr(div0, "class", div0_class_value);
|
|
2071
|
+
if (!current || dirty & /*selectedOption, isFinished, isResultCorrect*/
|
|
2072
|
+
14 && button_class_value !== (button_class_value = "btn-mcq-option group text-left " + /*selectedOption*/
|
|
2073
|
+
(ctx[3] === /*option*/
|
|
2074
|
+
ctx[16].id ? "selected" : "") + " " + (!/*isFinished*/
|
|
2075
|
+
ctx[1] ? "" : (
|
|
2076
|
+
/*isResultCorrect*/
|
|
2077
|
+
ctx[2] ? "correct" : "incorrect"
|
|
2078
|
+
)))) {
|
|
2079
|
+
attr(button, "class", button_class_value);
|
|
1953
2080
|
}
|
|
1954
2081
|
},
|
|
1955
2082
|
i(local) {
|
|
@@ -1964,179 +2091,184 @@
|
|
|
1964
2091
|
},
|
|
1965
2092
|
d(detaching) {
|
|
1966
2093
|
if (detaching) {
|
|
1967
|
-
detach(
|
|
1968
|
-
detach(t4);
|
|
1969
|
-
detach(div1);
|
|
2094
|
+
detach(button);
|
|
1970
2095
|
}
|
|
1971
|
-
|
|
2096
|
+
if (if_block)
|
|
2097
|
+
if_block.d();
|
|
2098
|
+
mounted = false;
|
|
2099
|
+
dispose();
|
|
1972
2100
|
}
|
|
1973
2101
|
};
|
|
1974
2102
|
}
|
|
1975
|
-
function
|
|
1976
|
-
let
|
|
2103
|
+
function create_default_slot(ctx) {
|
|
2104
|
+
let if_block_anchor;
|
|
1977
2105
|
let current;
|
|
1978
|
-
|
|
2106
|
+
let if_block = (
|
|
2107
|
+
/*options*/
|
|
2108
|
+
ctx[7] && create_if_block_13(ctx)
|
|
2109
|
+
);
|
|
1979
2110
|
return {
|
|
1980
2111
|
c() {
|
|
1981
|
-
|
|
2112
|
+
if (if_block)
|
|
2113
|
+
if_block.c();
|
|
2114
|
+
if_block_anchor = empty();
|
|
1982
2115
|
},
|
|
1983
2116
|
m(target, anchor) {
|
|
1984
|
-
|
|
2117
|
+
if (if_block)
|
|
2118
|
+
if_block.m(target, anchor);
|
|
2119
|
+
insert(target, if_block_anchor, anchor);
|
|
1985
2120
|
current = true;
|
|
1986
2121
|
},
|
|
2122
|
+
p(ctx2, dirty) {
|
|
2123
|
+
if (
|
|
2124
|
+
/*options*/
|
|
2125
|
+
ctx2[7]
|
|
2126
|
+
)
|
|
2127
|
+
if_block.p(ctx2, dirty);
|
|
2128
|
+
},
|
|
1987
2129
|
i(local) {
|
|
1988
2130
|
if (current)
|
|
1989
2131
|
return;
|
|
1990
|
-
transition_in(
|
|
2132
|
+
transition_in(if_block);
|
|
1991
2133
|
current = true;
|
|
1992
2134
|
},
|
|
1993
2135
|
o(local) {
|
|
1994
|
-
transition_out(
|
|
2136
|
+
transition_out(if_block);
|
|
1995
2137
|
current = false;
|
|
1996
2138
|
},
|
|
1997
2139
|
d(detaching) {
|
|
1998
|
-
|
|
2140
|
+
if (detaching) {
|
|
2141
|
+
detach(if_block_anchor);
|
|
2142
|
+
}
|
|
2143
|
+
if (if_block)
|
|
2144
|
+
if_block.d(detaching);
|
|
1999
2145
|
}
|
|
2000
2146
|
};
|
|
2001
2147
|
}
|
|
2002
|
-
function
|
|
2003
|
-
let
|
|
2148
|
+
function create_if_block3(ctx) {
|
|
2149
|
+
let promptresult;
|
|
2004
2150
|
let current;
|
|
2005
|
-
|
|
2151
|
+
promptresult = new PromptResultFeedback_default({
|
|
2152
|
+
props: {
|
|
2153
|
+
isResultCorrect: (
|
|
2154
|
+
/*isResultCorrect*/
|
|
2155
|
+
ctx[2]
|
|
2156
|
+
),
|
|
2157
|
+
resultFeedbackTitle: (
|
|
2158
|
+
/*isResultCorrect*/
|
|
2159
|
+
ctx[2] ? "Well done!" : "Nice try!"
|
|
2160
|
+
),
|
|
2161
|
+
resultFeedback: (
|
|
2162
|
+
/*resultFeedback*/
|
|
2163
|
+
ctx[4]
|
|
2164
|
+
)
|
|
2165
|
+
}
|
|
2166
|
+
});
|
|
2006
2167
|
return {
|
|
2007
2168
|
c() {
|
|
2008
|
-
create_component(
|
|
2169
|
+
create_component(promptresult.$$.fragment);
|
|
2009
2170
|
},
|
|
2010
2171
|
m(target, anchor) {
|
|
2011
|
-
mount_component(
|
|
2172
|
+
mount_component(promptresult, target, anchor);
|
|
2012
2173
|
current = true;
|
|
2013
2174
|
},
|
|
2175
|
+
p(ctx2, dirty) {
|
|
2176
|
+
const promptresult_changes = {};
|
|
2177
|
+
if (dirty & /*isResultCorrect*/
|
|
2178
|
+
4)
|
|
2179
|
+
promptresult_changes.isResultCorrect = /*isResultCorrect*/
|
|
2180
|
+
ctx2[2];
|
|
2181
|
+
if (dirty & /*isResultCorrect*/
|
|
2182
|
+
4)
|
|
2183
|
+
promptresult_changes.resultFeedbackTitle = /*isResultCorrect*/
|
|
2184
|
+
ctx2[2] ? "Well done!" : "Nice try!";
|
|
2185
|
+
if (dirty & /*resultFeedback*/
|
|
2186
|
+
16)
|
|
2187
|
+
promptresult_changes.resultFeedback = /*resultFeedback*/
|
|
2188
|
+
ctx2[4];
|
|
2189
|
+
promptresult.$set(promptresult_changes);
|
|
2190
|
+
},
|
|
2014
2191
|
i(local) {
|
|
2015
2192
|
if (current)
|
|
2016
2193
|
return;
|
|
2017
|
-
transition_in(
|
|
2194
|
+
transition_in(promptresult.$$.fragment, local);
|
|
2018
2195
|
current = true;
|
|
2019
2196
|
},
|
|
2020
2197
|
o(local) {
|
|
2021
|
-
transition_out(
|
|
2198
|
+
transition_out(promptresult.$$.fragment, local);
|
|
2022
2199
|
current = false;
|
|
2023
2200
|
},
|
|
2024
2201
|
d(detaching) {
|
|
2025
|
-
destroy_component(
|
|
2202
|
+
destroy_component(promptresult, detaching);
|
|
2026
2203
|
}
|
|
2027
2204
|
};
|
|
2028
2205
|
}
|
|
2029
2206
|
function create_fragment6(ctx) {
|
|
2030
|
-
let
|
|
2031
|
-
let span0;
|
|
2032
|
-
let current_block_type_index;
|
|
2033
|
-
let if_block0;
|
|
2034
|
-
let span0_class_value;
|
|
2035
|
-
let t0;
|
|
2036
|
-
let span1;
|
|
2037
|
-
let t1;
|
|
2207
|
+
let promptbody;
|
|
2038
2208
|
let t2;
|
|
2039
|
-
let
|
|
2209
|
+
let if_block_anchor;
|
|
2040
2210
|
let current;
|
|
2041
|
-
|
|
2042
|
-
|
|
2043
|
-
|
|
2044
|
-
|
|
2045
|
-
|
|
2046
|
-
|
|
2047
|
-
|
|
2048
|
-
|
|
2049
|
-
|
|
2050
|
-
|
|
2051
|
-
|
|
2052
|
-
|
|
2053
|
-
|
|
2054
|
-
|
|
2211
|
+
promptbody = new PromptBody_default({
|
|
2212
|
+
props: {
|
|
2213
|
+
rubric: (
|
|
2214
|
+
/*rubric*/
|
|
2215
|
+
ctx[5].text
|
|
2216
|
+
),
|
|
2217
|
+
prompt: (
|
|
2218
|
+
/*prompt*/
|
|
2219
|
+
ctx[6]
|
|
2220
|
+
),
|
|
2221
|
+
$$slots: { default: [create_default_slot] },
|
|
2222
|
+
$$scope: { ctx }
|
|
2223
|
+
}
|
|
2224
|
+
});
|
|
2225
|
+
let if_block = (
|
|
2226
|
+
/*isFinished*/
|
|
2055
2227
|
ctx[1] && create_if_block3(ctx)
|
|
2056
2228
|
);
|
|
2057
2229
|
return {
|
|
2058
2230
|
c() {
|
|
2059
|
-
|
|
2060
|
-
span0 = element("span");
|
|
2061
|
-
if_block0.c();
|
|
2062
|
-
t0 = space();
|
|
2063
|
-
span1 = element("span");
|
|
2064
|
-
t1 = text(
|
|
2065
|
-
/*resultMessage*/
|
|
2066
|
-
ctx[0]
|
|
2067
|
-
);
|
|
2231
|
+
create_component(promptbody.$$.fragment);
|
|
2068
2232
|
t2 = space();
|
|
2069
|
-
if (
|
|
2070
|
-
|
|
2071
|
-
|
|
2072
|
-
attr(span0, "class", span0_class_value = `${/*spanIconClass*/
|
|
2073
|
-
ctx[5]} mr-2 p-0.5`);
|
|
2074
|
-
attr(span1, "class", "p2");
|
|
2075
|
-
attr(div, "class", "flex items-center mt-2 text-charcoal");
|
|
2233
|
+
if (if_block)
|
|
2234
|
+
if_block.c();
|
|
2235
|
+
if_block_anchor = empty();
|
|
2076
2236
|
},
|
|
2077
2237
|
m(target, anchor) {
|
|
2078
|
-
|
|
2079
|
-
append(div, span0);
|
|
2080
|
-
if_blocks[current_block_type_index].m(span0, null);
|
|
2081
|
-
append(div, t0);
|
|
2082
|
-
append(div, span1);
|
|
2083
|
-
append(span1, t1);
|
|
2238
|
+
mount_component(promptbody, target, anchor);
|
|
2084
2239
|
insert(target, t2, anchor);
|
|
2085
|
-
if (
|
|
2086
|
-
|
|
2087
|
-
insert(target,
|
|
2240
|
+
if (if_block)
|
|
2241
|
+
if_block.m(target, anchor);
|
|
2242
|
+
insert(target, if_block_anchor, anchor);
|
|
2088
2243
|
current = true;
|
|
2089
2244
|
},
|
|
2090
2245
|
p(ctx2, [dirty]) {
|
|
2091
|
-
|
|
2092
|
-
|
|
2093
|
-
|
|
2094
|
-
|
|
2095
|
-
transition_out(if_blocks[previous_block_index], 1, 1, () => {
|
|
2096
|
-
if_blocks[previous_block_index] = null;
|
|
2097
|
-
});
|
|
2098
|
-
check_outros();
|
|
2099
|
-
if_block0 = if_blocks[current_block_type_index];
|
|
2100
|
-
if (!if_block0) {
|
|
2101
|
-
if_block0 = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx2);
|
|
2102
|
-
if_block0.c();
|
|
2103
|
-
} else {
|
|
2104
|
-
}
|
|
2105
|
-
transition_in(if_block0, 1);
|
|
2106
|
-
if_block0.m(span0, null);
|
|
2107
|
-
}
|
|
2108
|
-
if (!current || dirty & /*spanIconClass*/
|
|
2109
|
-
32 && span0_class_value !== (span0_class_value = `${/*spanIconClass*/
|
|
2110
|
-
ctx2[5]} mr-2 p-0.5`)) {
|
|
2111
|
-
attr(span0, "class", span0_class_value);
|
|
2246
|
+
const promptbody_changes = {};
|
|
2247
|
+
if (dirty & /*$$scope, selectedOption, isFinished, isResultCorrect, isDataSaving*/
|
|
2248
|
+
524303) {
|
|
2249
|
+
promptbody_changes.$$scope = { dirty, ctx: ctx2 };
|
|
2112
2250
|
}
|
|
2113
|
-
|
|
2114
|
-
1)
|
|
2115
|
-
set_data(
|
|
2116
|
-
t1,
|
|
2117
|
-
/*resultMessage*/
|
|
2118
|
-
ctx2[0]
|
|
2119
|
-
);
|
|
2251
|
+
promptbody.$set(promptbody_changes);
|
|
2120
2252
|
if (
|
|
2121
|
-
/*
|
|
2253
|
+
/*isFinished*/
|
|
2122
2254
|
ctx2[1]
|
|
2123
2255
|
) {
|
|
2124
|
-
if (
|
|
2125
|
-
|
|
2126
|
-
if (dirty & /*
|
|
2256
|
+
if (if_block) {
|
|
2257
|
+
if_block.p(ctx2, dirty);
|
|
2258
|
+
if (dirty & /*isFinished*/
|
|
2127
2259
|
2) {
|
|
2128
|
-
transition_in(
|
|
2260
|
+
transition_in(if_block, 1);
|
|
2129
2261
|
}
|
|
2130
2262
|
} else {
|
|
2131
|
-
|
|
2132
|
-
|
|
2133
|
-
transition_in(
|
|
2134
|
-
|
|
2263
|
+
if_block = create_if_block3(ctx2);
|
|
2264
|
+
if_block.c();
|
|
2265
|
+
transition_in(if_block, 1);
|
|
2266
|
+
if_block.m(if_block_anchor.parentNode, if_block_anchor);
|
|
2135
2267
|
}
|
|
2136
|
-
} else if (
|
|
2268
|
+
} else if (if_block) {
|
|
2137
2269
|
group_outros();
|
|
2138
|
-
transition_out(
|
|
2139
|
-
|
|
2270
|
+
transition_out(if_block, 1, 1, () => {
|
|
2271
|
+
if_block = null;
|
|
2140
2272
|
});
|
|
2141
2273
|
check_outros();
|
|
2142
2274
|
}
|
|
@@ -2144,77 +2276,113 @@
|
|
|
2144
2276
|
i(local) {
|
|
2145
2277
|
if (current)
|
|
2146
2278
|
return;
|
|
2147
|
-
transition_in(
|
|
2148
|
-
transition_in(
|
|
2279
|
+
transition_in(promptbody.$$.fragment, local);
|
|
2280
|
+
transition_in(if_block);
|
|
2149
2281
|
current = true;
|
|
2150
2282
|
},
|
|
2151
2283
|
o(local) {
|
|
2152
|
-
transition_out(
|
|
2153
|
-
transition_out(
|
|
2284
|
+
transition_out(promptbody.$$.fragment, local);
|
|
2285
|
+
transition_out(if_block);
|
|
2154
2286
|
current = false;
|
|
2155
2287
|
},
|
|
2156
2288
|
d(detaching) {
|
|
2157
2289
|
if (detaching) {
|
|
2158
|
-
detach(div);
|
|
2159
2290
|
detach(t2);
|
|
2160
|
-
detach(
|
|
2161
|
-
}
|
|
2162
|
-
|
|
2163
|
-
if (
|
|
2164
|
-
|
|
2291
|
+
detach(if_block_anchor);
|
|
2292
|
+
}
|
|
2293
|
+
destroy_component(promptbody, detaching);
|
|
2294
|
+
if (if_block)
|
|
2295
|
+
if_block.d(detaching);
|
|
2165
2296
|
}
|
|
2166
2297
|
};
|
|
2167
2298
|
}
|
|
2168
2299
|
function instance3($$self, $$props, $$invalidate) {
|
|
2169
|
-
let {
|
|
2170
|
-
let {
|
|
2171
|
-
let {
|
|
2172
|
-
let
|
|
2173
|
-
|
|
2174
|
-
|
|
2175
|
-
|
|
2176
|
-
|
|
2177
|
-
|
|
2178
|
-
|
|
2300
|
+
let { sessionData } = $$props;
|
|
2301
|
+
let { isDataSaving } = $$props;
|
|
2302
|
+
let { isFinished: isFinished2 = false } = $$props;
|
|
2303
|
+
let { isResultCorrect: isResultCorrect2 = false } = $$props;
|
|
2304
|
+
const { rubric, interaction, metadata, scoringMetadata } = sessionData;
|
|
2305
|
+
const { prompt, options } = interaction;
|
|
2306
|
+
let selectedOption = null;
|
|
2307
|
+
let resultFeedback = null;
|
|
2308
|
+
const dispatch = createEventDispatcher();
|
|
2309
|
+
if (metadata) {
|
|
2310
|
+
const { events } = metadata.interactions;
|
|
2311
|
+
const currentOption = events.pop();
|
|
2312
|
+
const { answer_id: answerChoiceId } = currentOption;
|
|
2313
|
+
selectedOption = answerChoiceId[0];
|
|
2314
|
+
}
|
|
2315
|
+
if (isFinished2) {
|
|
2316
|
+
if (options && selectedOption) {
|
|
2317
|
+
const feedbackData = Object.values(options).filter((option) => option.id === selectedOption);
|
|
2318
|
+
resultFeedback = feedbackData[0].feedback || resultFeedback;
|
|
2319
|
+
}
|
|
2320
|
+
const { answerId, has_answer } = scoringMetadata;
|
|
2321
|
+
selectedOption = answerId && has_answer ? answerId : selectedOption;
|
|
2179
2322
|
}
|
|
2323
|
+
const handleOptionClick = (optionId, option) => {
|
|
2324
|
+
if (isDataSaving || optionId === selectedOption || isFinished2)
|
|
2325
|
+
return;
|
|
2326
|
+
$$invalidate(3, selectedOption = optionId);
|
|
2327
|
+
dispatch("saveOption", {
|
|
2328
|
+
answer_id: [optionId],
|
|
2329
|
+
answer_choice: [option]
|
|
2330
|
+
});
|
|
2331
|
+
};
|
|
2332
|
+
const click_handler = (option) => handleOptionClick(option.id, option.answer);
|
|
2180
2333
|
$$self.$$set = ($$props2) => {
|
|
2181
|
-
if ("
|
|
2182
|
-
$$invalidate(
|
|
2183
|
-
if ("
|
|
2184
|
-
$$invalidate(
|
|
2334
|
+
if ("sessionData" in $$props2)
|
|
2335
|
+
$$invalidate(9, sessionData = $$props2.sessionData);
|
|
2336
|
+
if ("isDataSaving" in $$props2)
|
|
2337
|
+
$$invalidate(0, isDataSaving = $$props2.isDataSaving);
|
|
2338
|
+
if ("isFinished" in $$props2)
|
|
2339
|
+
$$invalidate(1, isFinished2 = $$props2.isFinished);
|
|
2185
2340
|
if ("isResultCorrect" in $$props2)
|
|
2186
2341
|
$$invalidate(2, isResultCorrect2 = $$props2.isResultCorrect);
|
|
2187
2342
|
};
|
|
2188
2343
|
return [
|
|
2189
|
-
|
|
2190
|
-
|
|
2344
|
+
isDataSaving,
|
|
2345
|
+
isFinished2,
|
|
2191
2346
|
isResultCorrect2,
|
|
2192
|
-
|
|
2193
|
-
|
|
2194
|
-
|
|
2347
|
+
selectedOption,
|
|
2348
|
+
resultFeedback,
|
|
2349
|
+
rubric,
|
|
2350
|
+
prompt,
|
|
2351
|
+
options,
|
|
2352
|
+
handleOptionClick,
|
|
2353
|
+
sessionData,
|
|
2354
|
+
click_handler
|
|
2195
2355
|
];
|
|
2196
2356
|
}
|
|
2197
|
-
var
|
|
2357
|
+
var PromptMCQ = class extends SvelteComponent {
|
|
2198
2358
|
constructor(options) {
|
|
2199
2359
|
super();
|
|
2200
2360
|
init(this, options, instance3, create_fragment6, safe_not_equal, {
|
|
2201
|
-
|
|
2202
|
-
|
|
2361
|
+
sessionData: 9,
|
|
2362
|
+
isDataSaving: 0,
|
|
2363
|
+
isFinished: 1,
|
|
2203
2364
|
isResultCorrect: 2
|
|
2204
2365
|
});
|
|
2205
2366
|
}
|
|
2206
|
-
get
|
|
2367
|
+
get sessionData() {
|
|
2368
|
+
return this.$$.ctx[9];
|
|
2369
|
+
}
|
|
2370
|
+
set sessionData(sessionData) {
|
|
2371
|
+
this.$$set({ sessionData });
|
|
2372
|
+
flush();
|
|
2373
|
+
}
|
|
2374
|
+
get isDataSaving() {
|
|
2207
2375
|
return this.$$.ctx[0];
|
|
2208
2376
|
}
|
|
2209
|
-
set
|
|
2210
|
-
this.$$set({
|
|
2377
|
+
set isDataSaving(isDataSaving) {
|
|
2378
|
+
this.$$set({ isDataSaving });
|
|
2211
2379
|
flush();
|
|
2212
2380
|
}
|
|
2213
|
-
get
|
|
2381
|
+
get isFinished() {
|
|
2214
2382
|
return this.$$.ctx[1];
|
|
2215
2383
|
}
|
|
2216
|
-
set
|
|
2217
|
-
this.$$set({
|
|
2384
|
+
set isFinished(isFinished2) {
|
|
2385
|
+
this.$$set({ isFinished: isFinished2 });
|
|
2218
2386
|
flush();
|
|
2219
2387
|
}
|
|
2220
2388
|
get isResultCorrect() {
|
|
@@ -2225,11 +2393,88 @@
|
|
|
2225
2393
|
flush();
|
|
2226
2394
|
}
|
|
2227
2395
|
};
|
|
2228
|
-
customElements.define("prompt-
|
|
2229
|
-
var
|
|
2396
|
+
customElements.define("prompt-mcq", create_custom_element(PromptMCQ, { "sessionData": {}, "isDataSaving": {}, "isFinished": { "type": "Boolean" }, "isResultCorrect": { "type": "Boolean" } }, [], [], true));
|
|
2397
|
+
var PromptMCQ_default = PromptMCQ;
|
|
2398
|
+
|
|
2399
|
+
// node_modules/autosize/dist/autosize.esm.js
|
|
2400
|
+
var e = /* @__PURE__ */ new Map();
|
|
2401
|
+
function t(t2) {
|
|
2402
|
+
var o2 = e.get(t2);
|
|
2403
|
+
o2 && o2.destroy();
|
|
2404
|
+
}
|
|
2405
|
+
function o(t2) {
|
|
2406
|
+
var o2 = e.get(t2);
|
|
2407
|
+
o2 && o2.update();
|
|
2408
|
+
}
|
|
2409
|
+
var r = null;
|
|
2410
|
+
"undefined" == typeof window ? ((r = function(e2) {
|
|
2411
|
+
return e2;
|
|
2412
|
+
}).destroy = function(e2) {
|
|
2413
|
+
return e2;
|
|
2414
|
+
}, r.update = function(e2) {
|
|
2415
|
+
return e2;
|
|
2416
|
+
}) : ((r = function(t2, o2) {
|
|
2417
|
+
return t2 && Array.prototype.forEach.call(t2.length ? t2 : [t2], function(t3) {
|
|
2418
|
+
return function(t4) {
|
|
2419
|
+
if (t4 && t4.nodeName && "TEXTAREA" === t4.nodeName && !e.has(t4)) {
|
|
2420
|
+
var o3, r2 = null, n2 = window.getComputedStyle(t4), i = (o3 = t4.value, function() {
|
|
2421
|
+
a({ testForHeightReduction: "" === o3 || !t4.value.startsWith(o3), restoreTextAlign: null }), o3 = t4.value;
|
|
2422
|
+
}), l = function(o4) {
|
|
2423
|
+
t4.removeEventListener("autosize:destroy", l), t4.removeEventListener("autosize:update", s), t4.removeEventListener("input", i), window.removeEventListener("resize", s), Object.keys(o4).forEach(function(e2) {
|
|
2424
|
+
return t4.style[e2] = o4[e2];
|
|
2425
|
+
}), e.delete(t4);
|
|
2426
|
+
}.bind(t4, { height: t4.style.height, resize: t4.style.resize, textAlign: t4.style.textAlign, overflowY: t4.style.overflowY, overflowX: t4.style.overflowX, wordWrap: t4.style.wordWrap });
|
|
2427
|
+
t4.addEventListener("autosize:destroy", l), t4.addEventListener("autosize:update", s), t4.addEventListener("input", i), window.addEventListener("resize", s), t4.style.overflowX = "hidden", t4.style.wordWrap = "break-word", e.set(t4, { destroy: l, update: s }), s();
|
|
2428
|
+
}
|
|
2429
|
+
function a(e2) {
|
|
2430
|
+
var o4, i2, l2 = e2.restoreTextAlign, s2 = void 0 === l2 ? null : l2, d = e2.testForHeightReduction, u = void 0 === d || d, c = n2.overflowY;
|
|
2431
|
+
if (0 !== t4.scrollHeight && ("vertical" === n2.resize ? t4.style.resize = "none" : "both" === n2.resize && (t4.style.resize = "horizontal"), u && (o4 = function(e3) {
|
|
2432
|
+
for (var t5 = []; e3 && e3.parentNode && e3.parentNode instanceof Element; )
|
|
2433
|
+
e3.parentNode.scrollTop && t5.push([e3.parentNode, e3.parentNode.scrollTop]), e3 = e3.parentNode;
|
|
2434
|
+
return function() {
|
|
2435
|
+
return t5.forEach(function(e4) {
|
|
2436
|
+
var t6 = e4[0], o5 = e4[1];
|
|
2437
|
+
t6.style.scrollBehavior = "auto", t6.scrollTop = o5, t6.style.scrollBehavior = null;
|
|
2438
|
+
});
|
|
2439
|
+
};
|
|
2440
|
+
}(t4), t4.style.height = ""), i2 = "content-box" === n2.boxSizing ? t4.scrollHeight - (parseFloat(n2.paddingTop) + parseFloat(n2.paddingBottom)) : t4.scrollHeight + parseFloat(n2.borderTopWidth) + parseFloat(n2.borderBottomWidth), "none" !== n2.maxHeight && i2 > parseFloat(n2.maxHeight) ? ("hidden" === n2.overflowY && (t4.style.overflow = "scroll"), i2 = parseFloat(n2.maxHeight)) : "hidden" !== n2.overflowY && (t4.style.overflow = "hidden"), t4.style.height = i2 + "px", s2 && (t4.style.textAlign = s2), o4 && o4(), r2 !== i2 && (t4.dispatchEvent(new Event("autosize:resized", { bubbles: true })), r2 = i2), c !== n2.overflow && !s2)) {
|
|
2441
|
+
var v = n2.textAlign;
|
|
2442
|
+
"hidden" === n2.overflow && (t4.style.textAlign = "start" === v ? "end" : "start"), a({ restoreTextAlign: v, testForHeightReduction: true });
|
|
2443
|
+
}
|
|
2444
|
+
}
|
|
2445
|
+
function s() {
|
|
2446
|
+
a({ testForHeightReduction: true, restoreTextAlign: null });
|
|
2447
|
+
}
|
|
2448
|
+
}(t3);
|
|
2449
|
+
}), t2;
|
|
2450
|
+
}).destroy = function(e2) {
|
|
2451
|
+
return e2 && Array.prototype.forEach.call(e2.length ? e2 : [e2], t), e2;
|
|
2452
|
+
}, r.update = function(e2) {
|
|
2453
|
+
return e2 && Array.prototype.forEach.call(e2.length ? e2 : [e2], o), e2;
|
|
2454
|
+
});
|
|
2455
|
+
var n = r;
|
|
2456
|
+
var autosize_esm_default = n;
|
|
2457
|
+
|
|
2458
|
+
// node_modules/svelte-autosize/index.js
|
|
2459
|
+
var action = (node) => {
|
|
2460
|
+
autosize_esm_default(node);
|
|
2461
|
+
return {
|
|
2462
|
+
destroy() {
|
|
2463
|
+
autosize_esm_default.destroy(node);
|
|
2464
|
+
}
|
|
2465
|
+
};
|
|
2466
|
+
};
|
|
2467
|
+
action.update = autosize_esm_default.update;
|
|
2468
|
+
action.destroy = autosize_esm_default.destroy;
|
|
2469
|
+
var svelte_autosize_default = action;
|
|
2470
|
+
|
|
2471
|
+
// src/lib/constants/index.ts
|
|
2472
|
+
var INTERACTION_TYPE_MCQ = "multipleChoiceInteraction";
|
|
2473
|
+
var INTERACTION_TYPE_TYPEIN = "typeInInteraction";
|
|
2474
|
+
var TYPEIN_TYPE_SHORT = "Short-Text";
|
|
2230
2475
|
|
|
2231
2476
|
// src/lib/components/prompt/typein/PromptTypeIn.svelte
|
|
2232
|
-
function
|
|
2477
|
+
function create_else_block_1(ctx) {
|
|
2233
2478
|
let textarea;
|
|
2234
2479
|
let textarea_class_value;
|
|
2235
2480
|
let autosize_action;
|
|
@@ -2239,10 +2484,10 @@
|
|
|
2239
2484
|
c() {
|
|
2240
2485
|
textarea = element("textarea");
|
|
2241
2486
|
attr(textarea, "id", idLabel);
|
|
2487
|
+
attr(textarea, "aria-label", placeholder);
|
|
2242
2488
|
attr(textarea, "placeholder", placeholder);
|
|
2243
2489
|
attr(textarea, "rows", "3");
|
|
2244
|
-
attr(textarea, "class", textarea_class_value =
|
|
2245
|
-
ctx[2]} typein-textbox overflow-hidden`);
|
|
2490
|
+
attr(textarea, "class", textarea_class_value = "typein-textbox overflow-hidden " + (!isFinished ? "" : isResultCorrect ? "border-2 border-green-800" : "border-2 border-red-800"));
|
|
2246
2491
|
textarea.disabled = /*isDataSaving*/
|
|
2247
2492
|
ctx[0];
|
|
2248
2493
|
attr(textarea, "autocomplete", "off");
|
|
@@ -2260,38 +2505,38 @@
|
|
|
2260
2505
|
textarea,
|
|
2261
2506
|
"input",
|
|
2262
2507
|
/*textarea_input_handler*/
|
|
2263
|
-
ctx[
|
|
2508
|
+
ctx[13]
|
|
2264
2509
|
),
|
|
2265
2510
|
listen(
|
|
2266
2511
|
textarea,
|
|
2267
2512
|
"mousedown",
|
|
2268
2513
|
/*mousedown_handler*/
|
|
2269
|
-
ctx[
|
|
2514
|
+
ctx[14]
|
|
2270
2515
|
),
|
|
2271
2516
|
listen(
|
|
2272
2517
|
textarea,
|
|
2273
2518
|
"touchstart",
|
|
2274
2519
|
/*touchstart_handler*/
|
|
2275
|
-
ctx[
|
|
2520
|
+
ctx[15],
|
|
2276
2521
|
{ passive: true }
|
|
2277
2522
|
),
|
|
2278
2523
|
listen(
|
|
2279
2524
|
textarea,
|
|
2280
2525
|
"focus",
|
|
2281
2526
|
/*focus_handler*/
|
|
2282
|
-
ctx[
|
|
2527
|
+
ctx[16]
|
|
2283
2528
|
),
|
|
2284
2529
|
listen(
|
|
2285
2530
|
textarea,
|
|
2286
2531
|
"focusout",
|
|
2287
2532
|
/*focusout_handler_1*/
|
|
2288
|
-
ctx[
|
|
2533
|
+
ctx[17]
|
|
2289
2534
|
),
|
|
2290
2535
|
listen(
|
|
2291
2536
|
textarea,
|
|
2292
2537
|
"keydown",
|
|
2293
2538
|
/*keydown_handler_1*/
|
|
2294
|
-
ctx[
|
|
2539
|
+
ctx[18]
|
|
2295
2540
|
),
|
|
2296
2541
|
action_destroyer(autosize_action = svelte_autosize_default.call(null, textarea))
|
|
2297
2542
|
];
|
|
@@ -2322,7 +2567,7 @@
|
|
|
2322
2567
|
}
|
|
2323
2568
|
};
|
|
2324
2569
|
}
|
|
2325
|
-
function
|
|
2570
|
+
function create_if_block_22(ctx) {
|
|
2326
2571
|
let input;
|
|
2327
2572
|
let input_class_value;
|
|
2328
2573
|
let mounted;
|
|
@@ -2332,9 +2577,9 @@
|
|
|
2332
2577
|
input = element("input");
|
|
2333
2578
|
attr(input, "type", "text");
|
|
2334
2579
|
attr(input, "id", idLabel);
|
|
2580
|
+
attr(input, "aria-label", placeholder);
|
|
2335
2581
|
attr(input, "placeholder", placeholder);
|
|
2336
|
-
attr(input, "class", input_class_value =
|
|
2337
|
-
ctx[2]} typein-textbox`);
|
|
2582
|
+
attr(input, "class", input_class_value = "typein-textbox " + (!isFinished ? "" : isResultCorrect ? "border-2 border-green-800" : "border-2 border-red-800"));
|
|
2338
2583
|
input.disabled = /*isDataSaving*/
|
|
2339
2584
|
ctx[0];
|
|
2340
2585
|
attr(input, "autocomplete", "off");
|
|
@@ -2352,19 +2597,19 @@
|
|
|
2352
2597
|
input,
|
|
2353
2598
|
"input",
|
|
2354
2599
|
/*input_input_handler*/
|
|
2355
|
-
ctx[
|
|
2600
|
+
ctx[10]
|
|
2356
2601
|
),
|
|
2357
2602
|
listen(
|
|
2358
2603
|
input,
|
|
2359
2604
|
"focusout",
|
|
2360
2605
|
/*focusout_handler*/
|
|
2361
|
-
ctx[
|
|
2606
|
+
ctx[11]
|
|
2362
2607
|
),
|
|
2363
2608
|
listen(
|
|
2364
2609
|
input,
|
|
2365
2610
|
"keydown",
|
|
2366
2611
|
/*keydown_handler*/
|
|
2367
|
-
ctx[
|
|
2612
|
+
ctx[12]
|
|
2368
2613
|
)
|
|
2369
2614
|
];
|
|
2370
2615
|
mounted = true;
|
|
@@ -2400,10 +2645,10 @@
|
|
|
2400
2645
|
function select_block_type(ctx2, dirty) {
|
|
2401
2646
|
if (
|
|
2402
2647
|
/*typeinType*/
|
|
2403
|
-
ctx2[
|
|
2648
|
+
ctx2[4] === TYPEIN_TYPE_SHORT
|
|
2404
2649
|
)
|
|
2405
|
-
return
|
|
2406
|
-
return
|
|
2650
|
+
return create_if_block_22;
|
|
2651
|
+
return create_else_block_1;
|
|
2407
2652
|
}
|
|
2408
2653
|
let current_block_type = select_block_type(ctx, -1);
|
|
2409
2654
|
let if_block = current_block_type(ctx);
|
|
@@ -2428,20 +2673,55 @@
|
|
|
2428
2673
|
};
|
|
2429
2674
|
}
|
|
2430
2675
|
function create_if_block4(ctx) {
|
|
2676
|
+
let div;
|
|
2677
|
+
let span0;
|
|
2678
|
+
let current_block_type_index;
|
|
2679
|
+
let if_block;
|
|
2680
|
+
let span0_class_value;
|
|
2681
|
+
let t0;
|
|
2682
|
+
let span1;
|
|
2683
|
+
let div_class_value;
|
|
2684
|
+
let t2;
|
|
2431
2685
|
let promptresult;
|
|
2432
2686
|
let current;
|
|
2433
|
-
|
|
2687
|
+
const if_block_creators = [create_if_block_14, create_else_block3];
|
|
2688
|
+
const if_blocks = [];
|
|
2689
|
+
function select_block_type_1(ctx2, dirty) {
|
|
2690
|
+
if (isResultCorrect)
|
|
2691
|
+
return 0;
|
|
2692
|
+
return 1;
|
|
2693
|
+
}
|
|
2694
|
+
current_block_type_index = select_block_type_1(ctx, -1);
|
|
2695
|
+
if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx);
|
|
2696
|
+
promptresult = new PromptResultFeedback_default({
|
|
2434
2697
|
props: {
|
|
2435
2698
|
isResultCorrect,
|
|
2436
|
-
|
|
2699
|
+
resultFeedbackTitle: isResultCorrect ? "Well done!" : "Not quite, but you\u2019re close!",
|
|
2437
2700
|
resultFeedback: "You applied the principles of [specific theory] perfectly in your response."
|
|
2438
2701
|
}
|
|
2439
2702
|
});
|
|
2440
2703
|
return {
|
|
2441
2704
|
c() {
|
|
2705
|
+
div = element("div");
|
|
2706
|
+
span0 = element("span");
|
|
2707
|
+
if_block.c();
|
|
2708
|
+
t0 = space();
|
|
2709
|
+
span1 = element("span");
|
|
2710
|
+
span1.textContent = `${isResultCorrect ? "[Generic \u201Ccorrect\u201D message]" : "[Generic \u201Cincorrect\u201D message]"}`;
|
|
2711
|
+
t2 = space();
|
|
2442
2712
|
create_component(promptresult.$$.fragment);
|
|
2713
|
+
attr(span0, "class", span0_class_value = (isResultCorrect ? "text-green-800" : "text-red-800") + " mr-2 p-0.5");
|
|
2714
|
+
attr(span1, "class", "p2");
|
|
2715
|
+
attr(div, "class", div_class_value = "flex items-center text-charcoal " + /*typeinType*/
|
|
2716
|
+
(ctx[4] === TYPEIN_TYPE_SHORT ? "mt-2" : "mt-0.5"));
|
|
2443
2717
|
},
|
|
2444
2718
|
m(target, anchor) {
|
|
2719
|
+
insert(target, div, anchor);
|
|
2720
|
+
append(div, span0);
|
|
2721
|
+
if_blocks[current_block_type_index].m(span0, null);
|
|
2722
|
+
append(div, t0);
|
|
2723
|
+
append(div, span1);
|
|
2724
|
+
insert(target, t2, anchor);
|
|
2445
2725
|
mount_component(promptresult, target, anchor);
|
|
2446
2726
|
current = true;
|
|
2447
2727
|
},
|
|
@@ -2449,18 +2729,79 @@
|
|
|
2449
2729
|
i(local) {
|
|
2450
2730
|
if (current)
|
|
2451
2731
|
return;
|
|
2732
|
+
transition_in(if_block);
|
|
2452
2733
|
transition_in(promptresult.$$.fragment, local);
|
|
2453
2734
|
current = true;
|
|
2454
2735
|
},
|
|
2455
2736
|
o(local) {
|
|
2737
|
+
transition_out(if_block);
|
|
2456
2738
|
transition_out(promptresult.$$.fragment, local);
|
|
2457
2739
|
current = false;
|
|
2458
2740
|
},
|
|
2459
2741
|
d(detaching) {
|
|
2742
|
+
if (detaching) {
|
|
2743
|
+
detach(div);
|
|
2744
|
+
detach(t2);
|
|
2745
|
+
}
|
|
2746
|
+
if_blocks[current_block_type_index].d();
|
|
2460
2747
|
destroy_component(promptresult, detaching);
|
|
2461
2748
|
}
|
|
2462
2749
|
};
|
|
2463
2750
|
}
|
|
2751
|
+
function create_else_block3(ctx) {
|
|
2752
|
+
let errorsolid;
|
|
2753
|
+
let current;
|
|
2754
|
+
errorsolid = new ErrorSolid_default({});
|
|
2755
|
+
return {
|
|
2756
|
+
c() {
|
|
2757
|
+
create_component(errorsolid.$$.fragment);
|
|
2758
|
+
},
|
|
2759
|
+
m(target, anchor) {
|
|
2760
|
+
mount_component(errorsolid, target, anchor);
|
|
2761
|
+
current = true;
|
|
2762
|
+
},
|
|
2763
|
+
i(local) {
|
|
2764
|
+
if (current)
|
|
2765
|
+
return;
|
|
2766
|
+
transition_in(errorsolid.$$.fragment, local);
|
|
2767
|
+
current = true;
|
|
2768
|
+
},
|
|
2769
|
+
o(local) {
|
|
2770
|
+
transition_out(errorsolid.$$.fragment, local);
|
|
2771
|
+
current = false;
|
|
2772
|
+
},
|
|
2773
|
+
d(detaching) {
|
|
2774
|
+
destroy_component(errorsolid, detaching);
|
|
2775
|
+
}
|
|
2776
|
+
};
|
|
2777
|
+
}
|
|
2778
|
+
function create_if_block_14(ctx) {
|
|
2779
|
+
let successsolid;
|
|
2780
|
+
let current;
|
|
2781
|
+
successsolid = new SuccessSolid_default({});
|
|
2782
|
+
return {
|
|
2783
|
+
c() {
|
|
2784
|
+
create_component(successsolid.$$.fragment);
|
|
2785
|
+
},
|
|
2786
|
+
m(target, anchor) {
|
|
2787
|
+
mount_component(successsolid, target, anchor);
|
|
2788
|
+
current = true;
|
|
2789
|
+
},
|
|
2790
|
+
i(local) {
|
|
2791
|
+
if (current)
|
|
2792
|
+
return;
|
|
2793
|
+
transition_in(successsolid.$$.fragment, local);
|
|
2794
|
+
current = true;
|
|
2795
|
+
},
|
|
2796
|
+
o(local) {
|
|
2797
|
+
transition_out(successsolid.$$.fragment, local);
|
|
2798
|
+
current = false;
|
|
2799
|
+
},
|
|
2800
|
+
d(detaching) {
|
|
2801
|
+
destroy_component(successsolid, detaching);
|
|
2802
|
+
}
|
|
2803
|
+
};
|
|
2804
|
+
}
|
|
2464
2805
|
function create_fragment7(ctx) {
|
|
2465
2806
|
let promptbody;
|
|
2466
2807
|
let t2;
|
|
@@ -2470,11 +2811,11 @@
|
|
|
2470
2811
|
props: {
|
|
2471
2812
|
rubric: (
|
|
2472
2813
|
/*rubric*/
|
|
2473
|
-
ctx[
|
|
2814
|
+
ctx[2].text
|
|
2474
2815
|
),
|
|
2475
2816
|
prompt: (
|
|
2476
2817
|
/*prompt*/
|
|
2477
|
-
ctx[
|
|
2818
|
+
ctx[3]
|
|
2478
2819
|
),
|
|
2479
2820
|
$$slots: { default: [create_default_slot2] },
|
|
2480
2821
|
$$scope: { ctx }
|
|
@@ -2500,7 +2841,7 @@
|
|
|
2500
2841
|
p(ctx2, [dirty]) {
|
|
2501
2842
|
const promptbody_changes = {};
|
|
2502
2843
|
if (dirty & /*$$scope, isDataSaving, typeinAnswer*/
|
|
2503
|
-
|
|
2844
|
+
16777219) {
|
|
2504
2845
|
promptbody_changes.$$scope = { dirty, ctx: ctx2 };
|
|
2505
2846
|
}
|
|
2506
2847
|
promptbody.$set(promptbody_changes);
|
|
@@ -2533,7 +2874,7 @@
|
|
|
2533
2874
|
var idLabel = "answerText";
|
|
2534
2875
|
var placeholder = "Type your answer here";
|
|
2535
2876
|
var isFinished = false;
|
|
2536
|
-
var isResultCorrect =
|
|
2877
|
+
var isResultCorrect = false;
|
|
2537
2878
|
function instance4($$self, $$props, $$invalidate) {
|
|
2538
2879
|
let { sessionData } = $$props;
|
|
2539
2880
|
let { isDataSaving } = $$props;
|
|
@@ -2541,7 +2882,6 @@
|
|
|
2541
2882
|
let typeinAnswer;
|
|
2542
2883
|
let latestAnswer = "";
|
|
2543
2884
|
let focusOrigin = "tab";
|
|
2544
|
-
const inputBorderClass = !isFinished ? "" : isResultCorrect ? "border-2 border-green-800" : "border-2 border-red-800";
|
|
2545
2885
|
const { rubric, interaction, metadata } = sessionData;
|
|
2546
2886
|
const { prompt, typein_type: typeinType } = interaction;
|
|
2547
2887
|
if (metadata) {
|
|
@@ -2588,14 +2928,13 @@
|
|
|
2588
2928
|
const keydown_handler_1 = (event) => saveOnEnter(event);
|
|
2589
2929
|
$$self.$$set = ($$props2) => {
|
|
2590
2930
|
if ("sessionData" in $$props2)
|
|
2591
|
-
$$invalidate(
|
|
2931
|
+
$$invalidate(9, sessionData = $$props2.sessionData);
|
|
2592
2932
|
if ("isDataSaving" in $$props2)
|
|
2593
2933
|
$$invalidate(0, isDataSaving = $$props2.isDataSaving);
|
|
2594
2934
|
};
|
|
2595
2935
|
return [
|
|
2596
2936
|
isDataSaving,
|
|
2597
2937
|
typeinAnswer,
|
|
2598
|
-
inputBorderClass,
|
|
2599
2938
|
rubric,
|
|
2600
2939
|
prompt,
|
|
2601
2940
|
typeinType,
|
|
@@ -2618,10 +2957,10 @@
|
|
|
2618
2957
|
var PromptTypeIn = class extends SvelteComponent {
|
|
2619
2958
|
constructor(options) {
|
|
2620
2959
|
super();
|
|
2621
|
-
init(this, options, instance4, create_fragment7, safe_not_equal, { sessionData:
|
|
2960
|
+
init(this, options, instance4, create_fragment7, safe_not_equal, { sessionData: 9, isDataSaving: 0 });
|
|
2622
2961
|
}
|
|
2623
2962
|
get sessionData() {
|
|
2624
|
-
return this.$$.ctx[
|
|
2963
|
+
return this.$$.ctx[9];
|
|
2625
2964
|
}
|
|
2626
2965
|
set sessionData(sessionData) {
|
|
2627
2966
|
this.$$set({ sessionData });
|
|
@@ -2729,7 +3068,7 @@
|
|
|
2729
3068
|
|
|
2730
3069
|
// src/lib/components/prompt/PromptBuilder.svelte
|
|
2731
3070
|
function add_css(target) {
|
|
2732
|
-
append_styles(target, "svelte-12rerkj", '*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}html{-webkit-text-size-adjust:100%;font-feature-settings:normal;font-family:Mulish, sans-serif;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*{font-family:Mulish, sans-serif}input::-moz-selection,textarea::-moz-selection{background-color:hsla(0, 0%, 85%, 0.4)}input::selection,textarea::selection{background-color:hsla(0, 0%, 85%, 0.4)}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.p2{font-size:0.875rem;font-weight:600;line-height:1.25rem;line-height:1.5}.item-heading{--tw-text-opacity:1;color:rgb(8 38 99/var(--tw-text-opacity));font-size:1.25rem;letter-spacing:-0.025em;line-height:1.5rem}.divider{--tw-border-opacity:1;border-bottom-width:1px;border-color:rgb(107 121 121/var(--tw-border-opacity))}@keyframes svelte-12rerkj-pulse{{opacity:0.5}}.animate-skeleton{--tw-bg-opacity:1;animation:svelte-12rerkj-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;background-color:rgb(226 232 240/var(--tw-bg-opacity))}.btn-mcq-option:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(84 101 251/var(--tw-ring-opacity));--tw-ring-offset-width:4px;box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0, 0, 0, 0));outline:2px solid transparent;outline-offset:2px;transition-duration:50ms}.btn-mcq-option{--tw-text-opacity:1;--tw-border-opacity:1;--tw-bg-opacity:1;align-items:center;background-color:rgb(247 250 250/var(--tw-bg-opacity));border-color:rgb(113 115 119/var(--tw-border-opacity));border-radius:0.5rem;border-width:1px;color:rgb(33 37 41/var(--tw-text-opacity));display:flex;font-size:1rem;line-height:1.5rem;margin-bottom:1rem;min-height:48px;padding:0.5rem 0.75rem 0.5rem 0.5rem;width:100%}.btn-mcq-option:active{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(222 222 255/var(--tw-bg-opacity));border-color:rgb(8 38 99/var(--tw-border-opacity));border-width:2px}@media(hover: hover) and (pointer: fine){.btn-mcq-option:hover{--tw-bg-opacity:1;background-color:rgb(222 222 255/var(--tw-bg-opacity))}}.btn-mcq-option>.choice{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;align-items:center;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:rgb(113 115 119/var(--tw-border-opacity));border-radius:1rem;border-width:1px;color:rgb(93 99 107/var(--tw-text-opacity));display:flex;font-size:1rem;font-weight:700;height:2rem;justify-content:center;letter-spacing:0.05em;line-height:1rem;margin-right:1rem;padding:0.5rem;width:2rem}.btn-mcq-option.selected{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(222 222 255/var(--tw-bg-opacity))}.btn-mcq-option.selected,.btn-mcq-option.selected>.choice{border-color:rgb(8 38 99/var(--tw-border-opacity));border-width:2px}.btn-mcq-option.selected>.choice{--tw-border-opacity:1}.typein-textbox:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(84 101 251/var(--tw-ring-opacity));--tw-ring-offset-width:4px;box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0, 0, 0, 0));outline:2px solid transparent;outline-offset:2px;transition-duration:50ms}.typein-textbox{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:rgb(93 99 107/var(--tw-border-opacity));border-radius:0.5rem;border-width:1px;color:rgb(33 37 41/var(--tw-text-opacity));font-size:1rem;line-height:1.5rem;padding:0.75rem 1rem;width:100%}.typein-textbox::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(93 99 107/var(--tw-placeholder-opacity))}.typein-textbox::placeholder{--tw-placeholder-opacity:1;color:rgb(93 99 107/var(--tw-placeholder-opacity))}.typein-textbox:focus{--tw-border-opacity:1;border-color:rgb(84 101 251/var(--tw-border-opacity));border-width:2px}@media(hover: hover) and (pointer: fine){.typein-textbox:hover{--tw-border-opacity:1;border-color:rgb(84 101 251/var(--tw-border-opacity));border-width:2px;outline:2px solid transparent;outline-offset:2px}}.typein-textbox:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color)!important;box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0, 0, 0, 0)) !important}@media(hover: hover) and (pointer: fine){.typein-textbox:hover{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(84 101 251/var(--tw-ring-opacity));--tw-ring-offset-width:4px;box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0, 0, 0, 0));transition-duration:50ms}}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.z-50{z-index:50}.my-6{margin-bottom:1.5rem;margin-top:1.5rem}.mb-1{margin-bottom:0.25rem}.mb-12{margin-bottom:3rem}.mb-2{margin-bottom:0.5rem}.mr-2{margin-right:0.5rem}.mt-2{margin-top:0.5rem}.block{display:block}.flex{display:flex}.h-52{height:13rem}.h-6{height:1.5rem}.w-full{width:100%}.items-start{align-items:flex-start}.items-center{align-items:center}.overflow-hidden{overflow:hidden}.rounded{border-radius:0.25rem}.border-2{border-width:2px}.border-l-\\[6px\\]{border-left-width:6px}.border-green-800{--tw-border-opacity:1;border-color:rgb(0 102 5/var(--tw-border-opacity))}.border-red-600{--tw-border-opacity:1;border-color:rgb(220 38 38/var(--tw-border-opacity))}.border-red-800{--tw-border-opacity:1;border-color:rgb(217 12 85/var(--tw-border-opacity))}.bg-green-300{--tw-bg-opacity:1;background-color:rgb(241 254 241/var(--tw-bg-opacity))}.bg-red-200{--tw-bg-opacity:1;background-color:rgb(254 202 202/var(--tw-bg-opacity))}.bg-red-300{--tw-bg-opacity:1;background-color:rgb(253 243 247/var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.p-0{padding:0}.p-0\\.5{padding:0.125rem}.p-2{padding:0.5rem}.p-4{padding:1rem}.text-left{text-align:left}.text-base{font-size:1rem;line-height:1.5rem}.font-semibold{font-weight:600}.text-charcoal{--tw-text-opacity:1;color:rgb(33 37 41/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(0 102 5/var(--tw-text-opacity))}.text-red-800{--tw-text-opacity:1;color:rgb(217 12 85/var(--tw-text-opacity))}.group:active .group-active\\:border-2{border-width:2px}.group:active .group-active\\:border-blue-1000{--tw-border-opacity:1;border-color:rgb(8 38 99/var(--tw-border-opacity))}.group:active .group-active\\:p-\\[7px\\]{padding:7px}@media(min-width: 732px){.md\\:mb-4{margin-bottom:1rem}}');
|
|
3071
|
+
append_styles(target, "svelte-14zs2vw", '*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}html{-webkit-text-size-adjust:100%;font-feature-settings:normal;font-family:Mulish, sans-serif;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*{font-family:Mulish, sans-serif}input::-moz-selection,textarea::-moz-selection{background-color:hsla(0, 0%, 85%, 0.4)}input::selection,textarea::selection{background-color:hsla(0, 0%, 85%, 0.4)}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.p2{font-size:0.875rem;font-weight:600;line-height:1.25rem;line-height:1.5}.item-heading{--tw-text-opacity:1;color:rgb(8 38 99/var(--tw-text-opacity));font-size:1.25rem;letter-spacing:-0.025em;line-height:1.5rem}.divider{--tw-border-opacity:1;border-bottom-width:1px;border-color:rgb(107 121 121/var(--tw-border-opacity))}@keyframes svelte-14zs2vw-pulse{{opacity:0.5}}.animate-skeleton{--tw-bg-opacity:1;animation:svelte-14zs2vw-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;background-color:rgb(226 232 240/var(--tw-bg-opacity))}.btn-mcq-option:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(84 101 251/var(--tw-ring-opacity));--tw-ring-offset-width:4px;box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0, 0, 0, 0));outline:2px solid transparent;outline-offset:2px;transition-duration:50ms}.btn-mcq-option{--tw-text-opacity:1;--tw-border-opacity:1;--tw-bg-opacity:1;align-items:center;background-color:rgb(247 250 250/var(--tw-bg-opacity));border-color:rgb(113 115 119/var(--tw-border-opacity));border-radius:0.5rem;border-width:1px;color:rgb(33 37 41/var(--tw-text-opacity));display:flex;font-size:1rem;justify-content:space-between;line-height:1.5rem;margin-bottom:1rem;min-height:48px;padding:0.5rem 0.75rem 0.5rem 0.5rem;width:100%}.btn-mcq-option:active{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(222 222 255/var(--tw-bg-opacity));border-color:rgb(8 38 99/var(--tw-border-opacity));border-width:2px}@media(hover: hover) and (pointer: fine){.btn-mcq-option:hover{--tw-bg-opacity:1;background-color:rgb(222 222 255/var(--tw-bg-opacity))}}.btn-mcq-option>span>.choice{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;align-items:center;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:rgb(113 115 119/var(--tw-border-opacity));border-radius:1rem;border-width:1px;color:rgb(93 99 107/var(--tw-text-opacity));display:flex;font-size:1rem;font-weight:700;height:2rem;justify-content:center;letter-spacing:0.05em;line-height:1rem;margin-right:1rem;padding:0.5rem;width:2rem}.btn-mcq-option.selected{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(222 222 255/var(--tw-bg-opacity))}.btn-mcq-option.selected,.btn-mcq-option.selected>span>.choice{border-color:rgb(8 38 99/var(--tw-border-opacity));border-width:2px}.btn-mcq-option.selected>span>.choice{--tw-border-opacity:1}.btn-mcq-option.selected.correct{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(241 254 241/var(--tw-bg-opacity));border-color:rgb(0 102 5/var(--tw-border-opacity));border-width:1px}.btn-mcq-option.selected.incorrect{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(253 243 247/var(--tw-bg-opacity));border-color:rgb(217 12 85/var(--tw-border-opacity));border-width:1px}.btn-mcq-option.selected.correct>span>.choice,.btn-mcq-option.selected.incorrect>span>.choice{--tw-border-opacity:1;border-color:rgb(113 115 119/var(--tw-border-opacity));border-width:1px}.typein-textbox:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(84 101 251/var(--tw-ring-opacity));--tw-ring-offset-width:4px;box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0, 0, 0, 0));outline:2px solid transparent;outline-offset:2px;transition-duration:50ms}.typein-textbox{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:rgb(93 99 107/var(--tw-border-opacity));border-radius:0.5rem;border-width:1px;color:rgb(33 37 41/var(--tw-text-opacity));font-size:1rem;line-height:1.5rem;padding:0.75rem 1rem;width:100%}.typein-textbox::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(93 99 107/var(--tw-placeholder-opacity))}.typein-textbox::placeholder{--tw-placeholder-opacity:1;color:rgb(93 99 107/var(--tw-placeholder-opacity))}.typein-textbox:focus{--tw-border-opacity:1;border-color:rgb(84 101 251/var(--tw-border-opacity));border-width:2px}@media(hover: hover) and (pointer: fine){.typein-textbox:hover{--tw-border-opacity:1;border-color:rgb(84 101 251/var(--tw-border-opacity));border-width:2px;outline:2px solid transparent;outline-offset:2px}}.typein-textbox:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color)!important;box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0, 0, 0, 0)) !important}@media(hover: hover) and (pointer: fine){.typein-textbox:hover{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(84 101 251/var(--tw-ring-opacity));--tw-ring-offset-width:4px;box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0, 0, 0, 0));transition-duration:50ms}}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.z-50{z-index:50}.my-6{margin-bottom:1.5rem;margin-top:1.5rem}.mb-1{margin-bottom:0.25rem}.mb-12{margin-bottom:3rem}.mb-2{margin-bottom:0.5rem}.mr-2{margin-right:0.5rem}.mt-0{margin-top:0}.mt-0\\.5{margin-top:0.125rem}.mt-2{margin-top:0.5rem}.block{display:block}.flex{display:flex}.h-52{height:13rem}.h-6{height:1.5rem}.w-full{width:100%}.grow{flex-grow:1}.items-start{align-items:flex-start}.items-center{align-items:center}.overflow-hidden{overflow:hidden}.rounded{border-radius:0.25rem}.border-2{border-width:2px}.border-l-\\[6px\\]{border-left-width:6px}.border-green-800{--tw-border-opacity:1;border-color:rgb(0 102 5/var(--tw-border-opacity))}.border-red-600{--tw-border-opacity:1;border-color:rgb(220 38 38/var(--tw-border-opacity))}.border-red-800{--tw-border-opacity:1;border-color:rgb(217 12 85/var(--tw-border-opacity))}.bg-green-300{--tw-bg-opacity:1;background-color:rgb(241 254 241/var(--tw-bg-opacity))}.bg-red-200{--tw-bg-opacity:1;background-color:rgb(254 202 202/var(--tw-bg-opacity))}.bg-red-300{--tw-bg-opacity:1;background-color:rgb(253 243 247/var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.p-0{padding:0}.p-0\\.5{padding:0.125rem}.p-2{padding:0.5rem}.p-4{padding:1rem}.text-left{text-align:left}.text-base{font-size:1rem;line-height:1.5rem}.font-semibold{font-weight:600}.text-charcoal{--tw-text-opacity:1;color:rgb(33 37 41/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(0 102 5/var(--tw-text-opacity))}.text-red-800{--tw-text-opacity:1;color:rgb(217 12 85/var(--tw-text-opacity))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.group:active .group-active\\:border-2{border-width:2px}.group:active .group-active\\:border-blue-1000{--tw-border-opacity:1;border-color:rgb(8 38 99/var(--tw-border-opacity))}.group:active .group-active\\:p-\\[7px\\]{padding:7px}@media(min-width: 732px){.md\\:mb-4{margin-bottom:1rem}}');
|
|
2733
3072
|
}
|
|
2734
3073
|
function create_else_block_12(ctx) {
|
|
2735
3074
|
let invalidbanner;
|
|
@@ -2759,22 +3098,22 @@
|
|
|
2759
3098
|
}
|
|
2760
3099
|
};
|
|
2761
3100
|
}
|
|
2762
|
-
function
|
|
3101
|
+
function create_if_block_15(ctx) {
|
|
2763
3102
|
let current_block_type_index;
|
|
2764
3103
|
let if_block;
|
|
2765
3104
|
let if_block_anchor;
|
|
2766
3105
|
let current;
|
|
2767
|
-
const if_block_creators = [
|
|
3106
|
+
const if_block_creators = [create_if_block_23, create_if_block_32, create_else_block4];
|
|
2768
3107
|
const if_blocks = [];
|
|
2769
3108
|
function select_block_type_1(ctx2, dirty) {
|
|
2770
3109
|
if (
|
|
2771
3110
|
/*interactionType*/
|
|
2772
|
-
ctx2[3] ===
|
|
3111
|
+
ctx2[3] === INTERACTION_TYPE_MCQ
|
|
2773
3112
|
)
|
|
2774
3113
|
return 0;
|
|
2775
3114
|
if (
|
|
2776
3115
|
/*interactionType*/
|
|
2777
|
-
ctx2[3] ===
|
|
3116
|
+
ctx2[3] === INTERACTION_TYPE_TYPEIN
|
|
2778
3117
|
)
|
|
2779
3118
|
return 1;
|
|
2780
3119
|
return 2;
|
|
@@ -2859,7 +3198,7 @@
|
|
|
2859
3198
|
}
|
|
2860
3199
|
};
|
|
2861
3200
|
}
|
|
2862
|
-
function
|
|
3201
|
+
function create_else_block4(ctx) {
|
|
2863
3202
|
let invalidbanner;
|
|
2864
3203
|
let current;
|
|
2865
3204
|
invalidbanner = new InvalidBanner_default({ props: { bannerLabel } });
|
|
@@ -2887,7 +3226,7 @@
|
|
|
2887
3226
|
}
|
|
2888
3227
|
};
|
|
2889
3228
|
}
|
|
2890
|
-
function
|
|
3229
|
+
function create_if_block_32(ctx) {
|
|
2891
3230
|
let prompttypein;
|
|
2892
3231
|
let current;
|
|
2893
3232
|
prompttypein = new PromptTypeIn_default({
|
|
@@ -2905,7 +3244,7 @@
|
|
|
2905
3244
|
prompttypein.$on(
|
|
2906
3245
|
"saveAnswer",
|
|
2907
3246
|
/*saveEvent*/
|
|
2908
|
-
ctx[
|
|
3247
|
+
ctx[6]
|
|
2909
3248
|
);
|
|
2910
3249
|
return {
|
|
2911
3250
|
c() {
|
|
@@ -2942,7 +3281,7 @@
|
|
|
2942
3281
|
}
|
|
2943
3282
|
};
|
|
2944
3283
|
}
|
|
2945
|
-
function
|
|
3284
|
+
function create_if_block_23(ctx) {
|
|
2946
3285
|
let promptmcq;
|
|
2947
3286
|
let current;
|
|
2948
3287
|
promptmcq = new PromptMCQ_default({
|
|
@@ -2954,13 +3293,21 @@
|
|
|
2954
3293
|
isDataSaving: (
|
|
2955
3294
|
/*isDataSaving*/
|
|
2956
3295
|
ctx[2]
|
|
3296
|
+
),
|
|
3297
|
+
isFinished: (
|
|
3298
|
+
/*isFinished*/
|
|
3299
|
+
ctx[4]
|
|
3300
|
+
),
|
|
3301
|
+
isResultCorrect: (
|
|
3302
|
+
/*isResultCorrect*/
|
|
3303
|
+
ctx[5]
|
|
2957
3304
|
)
|
|
2958
3305
|
}
|
|
2959
3306
|
});
|
|
2960
3307
|
promptmcq.$on(
|
|
2961
3308
|
"saveOption",
|
|
2962
3309
|
/*saveEvent*/
|
|
2963
|
-
ctx[
|
|
3310
|
+
ctx[6]
|
|
2964
3311
|
);
|
|
2965
3312
|
return {
|
|
2966
3313
|
c() {
|
|
@@ -2980,6 +3327,14 @@
|
|
|
2980
3327
|
4)
|
|
2981
3328
|
promptmcq_changes.isDataSaving = /*isDataSaving*/
|
|
2982
3329
|
ctx2[2];
|
|
3330
|
+
if (dirty & /*isFinished*/
|
|
3331
|
+
16)
|
|
3332
|
+
promptmcq_changes.isFinished = /*isFinished*/
|
|
3333
|
+
ctx2[4];
|
|
3334
|
+
if (dirty & /*isResultCorrect*/
|
|
3335
|
+
32)
|
|
3336
|
+
promptmcq_changes.isResultCorrect = /*isResultCorrect*/
|
|
3337
|
+
ctx2[5];
|
|
2983
3338
|
promptmcq.$set(promptmcq_changes);
|
|
2984
3339
|
},
|
|
2985
3340
|
i(local) {
|
|
@@ -3002,7 +3357,7 @@
|
|
|
3002
3357
|
let if_block;
|
|
3003
3358
|
let if_block_anchor;
|
|
3004
3359
|
let current;
|
|
3005
|
-
const if_block_creators = [create_if_block5,
|
|
3360
|
+
const if_block_creators = [create_if_block5, create_if_block_15, create_else_block_12];
|
|
3006
3361
|
const if_blocks = [];
|
|
3007
3362
|
function select_block_type(ctx2, dirty) {
|
|
3008
3363
|
if (
|
|
@@ -3077,11 +3432,16 @@
|
|
|
3077
3432
|
let isDataFetching = true;
|
|
3078
3433
|
let isDataSaving = false;
|
|
3079
3434
|
let interactionType = null;
|
|
3435
|
+
let isFinished2 = false;
|
|
3436
|
+
let isLocked = false;
|
|
3437
|
+
let isResultCorrect2 = false;
|
|
3080
3438
|
const skipUserValidationStr = get_store_value(skipUserValidation) ? "?skip_user_validation=true" : "";
|
|
3081
3439
|
const getSessionData = async (sessionId2) => {
|
|
3082
3440
|
try {
|
|
3083
3441
|
const { data } = await useGet(`sessions/${sessionId2}${skipUserValidationStr}`);
|
|
3084
|
-
const { item_id: itemId, metadata } = data;
|
|
3442
|
+
const { item_id: itemId, metadata, is_finished: isSessionFinished, is_locked: isSessionLocked } = data;
|
|
3443
|
+
isLocked = isSessionLocked;
|
|
3444
|
+
$$invalidate(4, isFinished2 = isSessionFinished);
|
|
3085
3445
|
if (itemId) {
|
|
3086
3446
|
await getItemData(itemId, metadata);
|
|
3087
3447
|
}
|
|
@@ -3091,9 +3451,13 @@
|
|
|
3091
3451
|
};
|
|
3092
3452
|
const getItemData = async (itemId, metadata) => {
|
|
3093
3453
|
try {
|
|
3094
|
-
const
|
|
3454
|
+
const includeAnswer = isFinished2 && isLocked ? "?include=[correct_answer]" : "";
|
|
3455
|
+
const { data } = await useGet(`items/${itemId}${includeAnswer}`);
|
|
3095
3456
|
$$invalidate(3, interactionType = getInteractionType(data));
|
|
3096
3457
|
$$invalidate(0, sessionData = { ...data, metadata });
|
|
3458
|
+
if (isFinished2 && isLocked) {
|
|
3459
|
+
await getSessionScore();
|
|
3460
|
+
}
|
|
3097
3461
|
} catch (error) {
|
|
3098
3462
|
} finally {
|
|
3099
3463
|
$$invalidate(1, isDataFetching = false);
|
|
@@ -3110,7 +3474,27 @@
|
|
|
3110
3474
|
}
|
|
3111
3475
|
return interactionType2;
|
|
3112
3476
|
};
|
|
3477
|
+
const getSessionScore = async () => {
|
|
3478
|
+
try {
|
|
3479
|
+
const { data } = await useGet(`sessions/${sessionId}/score`);
|
|
3480
|
+
if (data) {
|
|
3481
|
+
const { metadata, has_answer: hasAnswer, scoring } = data[0];
|
|
3482
|
+
const scoringMetadata = {
|
|
3483
|
+
hasAnswer: !!hasAnswer,
|
|
3484
|
+
answerId: metadata.answer[0],
|
|
3485
|
+
correctAnswerId: metadata.correctAnswerId[0]
|
|
3486
|
+
};
|
|
3487
|
+
$$invalidate(0, sessionData = { ...sessionData, scoringMetadata });
|
|
3488
|
+
$$invalidate(5, isResultCorrect2 = scoring.score_earned);
|
|
3489
|
+
}
|
|
3490
|
+
} catch (error) {
|
|
3491
|
+
} finally {
|
|
3492
|
+
$$invalidate(1, isDataFetching = false);
|
|
3493
|
+
}
|
|
3494
|
+
};
|
|
3113
3495
|
const saveEvent = async ({ detail }) => {
|
|
3496
|
+
if (isLocked || isFinished2)
|
|
3497
|
+
return;
|
|
3114
3498
|
try {
|
|
3115
3499
|
$$invalidate(2, isDataSaving = true);
|
|
3116
3500
|
await usePatch(`sessions/${sessionId}${skipUserValidationStr}`, detail);
|
|
@@ -3124,10 +3508,18 @@
|
|
|
3124
3508
|
getSessionData(sessionId);
|
|
3125
3509
|
}
|
|
3126
3510
|
$$self.$$set = ($$new_props) => {
|
|
3127
|
-
$$invalidate(
|
|
3511
|
+
$$invalidate(14, $$props = assign(assign({}, $$props), exclude_internal_props($$new_props)));
|
|
3128
3512
|
};
|
|
3129
3513
|
$$props = exclude_internal_props($$props);
|
|
3130
|
-
return [
|
|
3514
|
+
return [
|
|
3515
|
+
sessionData,
|
|
3516
|
+
isDataFetching,
|
|
3517
|
+
isDataSaving,
|
|
3518
|
+
interactionType,
|
|
3519
|
+
isFinished2,
|
|
3520
|
+
isResultCorrect2,
|
|
3521
|
+
saveEvent
|
|
3522
|
+
];
|
|
3131
3523
|
}
|
|
3132
3524
|
var PromptBuilder = class extends SvelteComponent {
|
|
3133
3525
|
constructor(options) {
|