eat-js-sdk 0.0.9 → 0.0.10
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 +1057 -685
- package/package.json +1 -1
|
@@ -1244,210 +1244,284 @@
|
|
|
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
|
+
},
|
|
1265
|
+
m(target, anchor) {
|
|
1266
|
+
insert(target, svg, anchor);
|
|
1267
|
+
append(svg, path);
|
|
1268
|
+
},
|
|
1269
|
+
p: noop,
|
|
1270
|
+
i: noop,
|
|
1271
|
+
o: noop,
|
|
1272
|
+
d(detaching) {
|
|
1273
|
+
if (detaching) {
|
|
1274
|
+
detach(svg);
|
|
1275
|
+
}
|
|
1276
|
+
}
|
|
1277
|
+
};
|
|
1278
|
+
}
|
|
1279
|
+
var SuccessSolid = class extends SvelteComponent {
|
|
1280
|
+
constructor(options) {
|
|
1281
|
+
super();
|
|
1282
|
+
init(this, options, null, create_fragment2, safe_not_equal, {});
|
|
1283
|
+
}
|
|
1278
1284
|
};
|
|
1279
|
-
|
|
1285
|
+
create_custom_element(SuccessSolid, {}, [], [], true);
|
|
1286
|
+
var SuccessSolid_default = SuccessSolid;
|
|
1280
1287
|
|
|
1281
|
-
// src/lib/
|
|
1282
|
-
function
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
+
// src/lib/assets/img/messaging/InfoSolid.svelte
|
|
1289
|
+
function create_fragment3(ctx) {
|
|
1290
|
+
let svg;
|
|
1291
|
+
let path;
|
|
1292
|
+
return {
|
|
1293
|
+
c() {
|
|
1294
|
+
svg = svg_element("svg");
|
|
1295
|
+
path = svg_element("path");
|
|
1296
|
+
attr(path, "fill-rule", "evenodd");
|
|
1297
|
+
attr(path, "clip-rule", "evenodd");
|
|
1298
|
+
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");
|
|
1299
|
+
attr(path, "fill", "currentColor");
|
|
1300
|
+
attr(svg, "width", "20");
|
|
1301
|
+
attr(svg, "height", "20");
|
|
1302
|
+
attr(svg, "viewBox", "0 0 20 20");
|
|
1303
|
+
attr(svg, "fill", "none");
|
|
1304
|
+
attr(svg, "xmlns", "http://www.w3.org/2000/svg");
|
|
1305
|
+
},
|
|
1306
|
+
m(target, anchor) {
|
|
1307
|
+
insert(target, svg, anchor);
|
|
1308
|
+
append(svg, path);
|
|
1309
|
+
},
|
|
1310
|
+
p: noop,
|
|
1311
|
+
i: noop,
|
|
1312
|
+
o: noop,
|
|
1313
|
+
d(detaching) {
|
|
1314
|
+
if (detaching) {
|
|
1315
|
+
detach(svg);
|
|
1316
|
+
}
|
|
1317
|
+
}
|
|
1318
|
+
};
|
|
1288
1319
|
}
|
|
1320
|
+
var InfoSolid = class extends SvelteComponent {
|
|
1321
|
+
constructor(options) {
|
|
1322
|
+
super();
|
|
1323
|
+
init(this, options, null, create_fragment3, safe_not_equal, {});
|
|
1324
|
+
}
|
|
1325
|
+
};
|
|
1326
|
+
create_custom_element(InfoSolid, {}, [], [], true);
|
|
1327
|
+
var InfoSolid_default = InfoSolid;
|
|
1328
|
+
|
|
1329
|
+
// src/lib/components/prompt/template/PromptResultFeedback.svelte
|
|
1289
1330
|
function create_if_block2(ctx) {
|
|
1290
|
-
let div1;
|
|
1291
1331
|
let div0;
|
|
1292
|
-
let
|
|
1332
|
+
let span0;
|
|
1333
|
+
let current_block_type_index;
|
|
1334
|
+
let if_block;
|
|
1335
|
+
let span0_class_value;
|
|
1336
|
+
let t0;
|
|
1337
|
+
let span3;
|
|
1338
|
+
let span1;
|
|
1339
|
+
let t1;
|
|
1293
1340
|
let t2;
|
|
1294
|
-
let
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
let
|
|
1299
|
-
|
|
1300
|
-
|
|
1341
|
+
let span2;
|
|
1342
|
+
let t3;
|
|
1343
|
+
let div0_class_value;
|
|
1344
|
+
let t4;
|
|
1345
|
+
let div1;
|
|
1346
|
+
let current;
|
|
1347
|
+
const if_block_creators = [create_if_block_12, create_else_block];
|
|
1348
|
+
const if_blocks = [];
|
|
1349
|
+
function select_block_type(ctx2, dirty) {
|
|
1350
|
+
if (
|
|
1351
|
+
/*isResultCorrect*/
|
|
1352
|
+
ctx2[2]
|
|
1353
|
+
)
|
|
1354
|
+
return 0;
|
|
1355
|
+
return 1;
|
|
1301
1356
|
}
|
|
1357
|
+
current_block_type_index = select_block_type(ctx, -1);
|
|
1358
|
+
if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx);
|
|
1302
1359
|
return {
|
|
1303
1360
|
c() {
|
|
1304
|
-
div1 = element("div");
|
|
1305
1361
|
div0 = element("div");
|
|
1362
|
+
span0 = element("span");
|
|
1363
|
+
if_block.c();
|
|
1364
|
+
t0 = space();
|
|
1365
|
+
span3 = element("span");
|
|
1366
|
+
span1 = element("span");
|
|
1367
|
+
t1 = text(
|
|
1368
|
+
/*resultFeedbackTitle*/
|
|
1369
|
+
ctx[1]
|
|
1370
|
+
);
|
|
1306
1371
|
t2 = space();
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
1372
|
+
span2 = element("span");
|
|
1373
|
+
t3 = text(
|
|
1374
|
+
/*resultFeedback*/
|
|
1375
|
+
ctx[0]
|
|
1376
|
+
);
|
|
1377
|
+
t4 = space();
|
|
1378
|
+
div1 = element("div");
|
|
1379
|
+
attr(span0, "class", span0_class_value = "mr-2 p-0.5 " + /*isResultCorrect*/
|
|
1380
|
+
(ctx[2] ? "text-green-800" : "text-red-800"));
|
|
1381
|
+
attr(span1, "class", "block mb-1 font-semibold");
|
|
1382
|
+
attr(span3, "class", "text-base");
|
|
1383
|
+
attr(div0, "class", div0_class_value = "flex items-start my-6 p-4 border-l-[6px] text-charcoal " + /*isResultCorrect*/
|
|
1384
|
+
(ctx[2] ? "border-green-800 bg-green-300" : "border-red-800 bg-red-300"));
|
|
1385
|
+
attr(div1, "class", "divider my-6");
|
|
1313
1386
|
},
|
|
1314
1387
|
m(target, anchor) {
|
|
1388
|
+
insert(target, div0, anchor);
|
|
1389
|
+
append(div0, span0);
|
|
1390
|
+
if_blocks[current_block_type_index].m(span0, null);
|
|
1391
|
+
append(div0, t0);
|
|
1392
|
+
append(div0, span3);
|
|
1393
|
+
append(span3, span1);
|
|
1394
|
+
append(span1, t1);
|
|
1395
|
+
append(span3, t2);
|
|
1396
|
+
append(span3, span2);
|
|
1397
|
+
append(span2, t3);
|
|
1398
|
+
insert(target, t4, anchor);
|
|
1315
1399
|
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
|
-
}
|
|
1400
|
+
current = true;
|
|
1323
1401
|
},
|
|
1324
1402
|
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);
|
|
1403
|
+
let previous_block_index = current_block_type_index;
|
|
1404
|
+
current_block_type_index = select_block_type(ctx2, dirty);
|
|
1405
|
+
if (current_block_type_index !== previous_block_index) {
|
|
1406
|
+
group_outros();
|
|
1407
|
+
transition_out(if_blocks[previous_block_index], 1, 1, () => {
|
|
1408
|
+
if_blocks[previous_block_index] = null;
|
|
1409
|
+
});
|
|
1410
|
+
check_outros();
|
|
1411
|
+
if_block = if_blocks[current_block_type_index];
|
|
1412
|
+
if (!if_block) {
|
|
1413
|
+
if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx2);
|
|
1414
|
+
if_block.c();
|
|
1415
|
+
} else {
|
|
1349
1416
|
}
|
|
1350
|
-
|
|
1417
|
+
transition_in(if_block, 1);
|
|
1418
|
+
if_block.m(span0, null);
|
|
1419
|
+
}
|
|
1420
|
+
if (!current || dirty & /*isResultCorrect*/
|
|
1421
|
+
4 && span0_class_value !== (span0_class_value = "mr-2 p-0.5 " + /*isResultCorrect*/
|
|
1422
|
+
(ctx2[2] ? "text-green-800" : "text-red-800"))) {
|
|
1423
|
+
attr(span0, "class", span0_class_value);
|
|
1424
|
+
}
|
|
1425
|
+
if (!current || dirty & /*resultFeedbackTitle*/
|
|
1426
|
+
2)
|
|
1427
|
+
set_data(
|
|
1428
|
+
t1,
|
|
1429
|
+
/*resultFeedbackTitle*/
|
|
1430
|
+
ctx2[1]
|
|
1431
|
+
);
|
|
1432
|
+
if (!current || dirty & /*resultFeedback*/
|
|
1433
|
+
1)
|
|
1434
|
+
set_data(
|
|
1435
|
+
t3,
|
|
1436
|
+
/*resultFeedback*/
|
|
1437
|
+
ctx2[0]
|
|
1438
|
+
);
|
|
1439
|
+
if (!current || dirty & /*isResultCorrect*/
|
|
1440
|
+
4 && div0_class_value !== (div0_class_value = "flex items-start my-6 p-4 border-l-[6px] text-charcoal " + /*isResultCorrect*/
|
|
1441
|
+
(ctx2[2] ? "border-green-800 bg-green-300" : "border-red-800 bg-red-300"))) {
|
|
1442
|
+
attr(div0, "class", div0_class_value);
|
|
1351
1443
|
}
|
|
1352
1444
|
},
|
|
1445
|
+
i(local) {
|
|
1446
|
+
if (current)
|
|
1447
|
+
return;
|
|
1448
|
+
transition_in(if_block);
|
|
1449
|
+
current = true;
|
|
1450
|
+
},
|
|
1451
|
+
o(local) {
|
|
1452
|
+
transition_out(if_block);
|
|
1453
|
+
current = false;
|
|
1454
|
+
},
|
|
1353
1455
|
d(detaching) {
|
|
1354
1456
|
if (detaching) {
|
|
1457
|
+
detach(div0);
|
|
1458
|
+
detach(t4);
|
|
1355
1459
|
detach(div1);
|
|
1356
1460
|
}
|
|
1357
|
-
|
|
1461
|
+
if_blocks[current_block_type_index].d();
|
|
1358
1462
|
}
|
|
1359
1463
|
};
|
|
1360
1464
|
}
|
|
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
|
-
|
|
1465
|
+
function create_else_block(ctx) {
|
|
1466
|
+
let infosolid;
|
|
1467
|
+
let current;
|
|
1468
|
+
infosolid = new InfoSolid_default({});
|
|
1469
|
+
return {
|
|
1470
|
+
c() {
|
|
1471
|
+
create_component(infosolid.$$.fragment);
|
|
1472
|
+
},
|
|
1473
|
+
m(target, anchor) {
|
|
1474
|
+
mount_component(infosolid, target, anchor);
|
|
1475
|
+
current = true;
|
|
1476
|
+
},
|
|
1477
|
+
i(local) {
|
|
1478
|
+
if (current)
|
|
1479
|
+
return;
|
|
1480
|
+
transition_in(infosolid.$$.fragment, local);
|
|
1481
|
+
current = true;
|
|
1482
|
+
},
|
|
1483
|
+
o(local) {
|
|
1484
|
+
transition_out(infosolid.$$.fragment, local);
|
|
1485
|
+
current = false;
|
|
1486
|
+
},
|
|
1487
|
+
d(detaching) {
|
|
1488
|
+
destroy_component(infosolid, detaching);
|
|
1489
|
+
}
|
|
1490
|
+
};
|
|
1491
|
+
}
|
|
1492
|
+
function create_if_block_12(ctx) {
|
|
1493
|
+
let successsolid;
|
|
1494
|
+
let current;
|
|
1495
|
+
successsolid = new SuccessSolid_default({});
|
|
1384
1496
|
return {
|
|
1385
1497
|
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" : ""));
|
|
1498
|
+
create_component(successsolid.$$.fragment);
|
|
1406
1499
|
},
|
|
1407
1500
|
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
|
-
}
|
|
1501
|
+
mount_component(successsolid, target, anchor);
|
|
1502
|
+
current = true;
|
|
1417
1503
|
},
|
|
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
|
-
}
|
|
1504
|
+
i(local) {
|
|
1505
|
+
if (current)
|
|
1506
|
+
return;
|
|
1507
|
+
transition_in(successsolid.$$.fragment, local);
|
|
1508
|
+
current = true;
|
|
1509
|
+
},
|
|
1510
|
+
o(local) {
|
|
1511
|
+
transition_out(successsolid.$$.fragment, local);
|
|
1512
|
+
current = false;
|
|
1436
1513
|
},
|
|
1437
1514
|
d(detaching) {
|
|
1438
|
-
|
|
1439
|
-
detach(button);
|
|
1440
|
-
}
|
|
1441
|
-
mounted = false;
|
|
1442
|
-
dispose();
|
|
1515
|
+
destroy_component(successsolid, detaching);
|
|
1443
1516
|
}
|
|
1444
1517
|
};
|
|
1445
1518
|
}
|
|
1446
|
-
function
|
|
1519
|
+
function create_fragment4(ctx) {
|
|
1447
1520
|
let if_block_anchor;
|
|
1521
|
+
let current;
|
|
1448
1522
|
let if_block = (
|
|
1449
|
-
/*
|
|
1450
|
-
ctx[
|
|
1523
|
+
/*resultFeedback*/
|
|
1524
|
+
ctx[0] && create_if_block2(ctx)
|
|
1451
1525
|
);
|
|
1452
1526
|
return {
|
|
1453
1527
|
c() {
|
|
@@ -1459,208 +1533,136 @@
|
|
|
1459
1533
|
if (if_block)
|
|
1460
1534
|
if_block.m(target, anchor);
|
|
1461
1535
|
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
1536
|
current = true;
|
|
1503
1537
|
},
|
|
1504
1538
|
p(ctx2, [dirty]) {
|
|
1505
|
-
|
|
1506
|
-
|
|
1507
|
-
|
|
1508
|
-
|
|
1539
|
+
if (
|
|
1540
|
+
/*resultFeedback*/
|
|
1541
|
+
ctx2[0]
|
|
1542
|
+
) {
|
|
1543
|
+
if (if_block) {
|
|
1544
|
+
if_block.p(ctx2, dirty);
|
|
1545
|
+
if (dirty & /*resultFeedback*/
|
|
1546
|
+
1) {
|
|
1547
|
+
transition_in(if_block, 1);
|
|
1548
|
+
}
|
|
1549
|
+
} else {
|
|
1550
|
+
if_block = create_if_block2(ctx2);
|
|
1551
|
+
if_block.c();
|
|
1552
|
+
transition_in(if_block, 1);
|
|
1553
|
+
if_block.m(if_block_anchor.parentNode, if_block_anchor);
|
|
1554
|
+
}
|
|
1555
|
+
} else if (if_block) {
|
|
1556
|
+
group_outros();
|
|
1557
|
+
transition_out(if_block, 1, 1, () => {
|
|
1558
|
+
if_block = null;
|
|
1559
|
+
});
|
|
1560
|
+
check_outros();
|
|
1509
1561
|
}
|
|
1510
|
-
promptbody.$set(promptbody_changes);
|
|
1511
1562
|
},
|
|
1512
1563
|
i(local) {
|
|
1513
1564
|
if (current)
|
|
1514
1565
|
return;
|
|
1515
|
-
transition_in(
|
|
1566
|
+
transition_in(if_block);
|
|
1516
1567
|
current = true;
|
|
1517
1568
|
},
|
|
1518
1569
|
o(local) {
|
|
1519
|
-
transition_out(
|
|
1570
|
+
transition_out(if_block);
|
|
1520
1571
|
current = false;
|
|
1521
1572
|
},
|
|
1522
1573
|
d(detaching) {
|
|
1523
|
-
|
|
1574
|
+
if (detaching) {
|
|
1575
|
+
detach(if_block_anchor);
|
|
1576
|
+
}
|
|
1577
|
+
if (if_block)
|
|
1578
|
+
if_block.d(detaching);
|
|
1524
1579
|
}
|
|
1525
1580
|
};
|
|
1526
1581
|
}
|
|
1527
1582
|
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);
|
|
1583
|
+
let { resultFeedback = null } = $$props;
|
|
1584
|
+
let { resultFeedbackTitle = null } = $$props;
|
|
1585
|
+
let { isResultCorrect: isResultCorrect2 = true } = $$props;
|
|
1550
1586
|
$$self.$$set = ($$props2) => {
|
|
1551
|
-
if ("
|
|
1552
|
-
$$invalidate(
|
|
1553
|
-
if ("
|
|
1554
|
-
$$invalidate(
|
|
1587
|
+
if ("resultFeedback" in $$props2)
|
|
1588
|
+
$$invalidate(0, resultFeedback = $$props2.resultFeedback);
|
|
1589
|
+
if ("resultFeedbackTitle" in $$props2)
|
|
1590
|
+
$$invalidate(1, resultFeedbackTitle = $$props2.resultFeedbackTitle);
|
|
1591
|
+
if ("isResultCorrect" in $$props2)
|
|
1592
|
+
$$invalidate(2, isResultCorrect2 = $$props2.isResultCorrect);
|
|
1555
1593
|
};
|
|
1556
|
-
return [
|
|
1557
|
-
isDataSaving,
|
|
1558
|
-
selectedOption,
|
|
1559
|
-
rubric,
|
|
1560
|
-
prompt,
|
|
1561
|
-
options,
|
|
1562
|
-
handleOptionClick,
|
|
1563
|
-
sessionData,
|
|
1564
|
-
click_handler
|
|
1565
|
-
];
|
|
1594
|
+
return [resultFeedback, resultFeedbackTitle, isResultCorrect2];
|
|
1566
1595
|
}
|
|
1567
|
-
var
|
|
1596
|
+
var PromptResultFeedback = class extends SvelteComponent {
|
|
1568
1597
|
constructor(options) {
|
|
1569
1598
|
super();
|
|
1570
|
-
init(this, options, instance2,
|
|
1599
|
+
init(this, options, instance2, create_fragment4, safe_not_equal, {
|
|
1600
|
+
resultFeedback: 0,
|
|
1601
|
+
resultFeedbackTitle: 1,
|
|
1602
|
+
isResultCorrect: 2
|
|
1603
|
+
});
|
|
1571
1604
|
}
|
|
1572
|
-
get
|
|
1573
|
-
return this.$$.ctx[
|
|
1605
|
+
get resultFeedback() {
|
|
1606
|
+
return this.$$.ctx[0];
|
|
1574
1607
|
}
|
|
1575
|
-
set
|
|
1576
|
-
this.$$set({
|
|
1608
|
+
set resultFeedback(resultFeedback) {
|
|
1609
|
+
this.$$set({ resultFeedback });
|
|
1577
1610
|
flush();
|
|
1578
1611
|
}
|
|
1579
|
-
get
|
|
1580
|
-
return this.$$.ctx[
|
|
1612
|
+
get resultFeedbackTitle() {
|
|
1613
|
+
return this.$$.ctx[1];
|
|
1581
1614
|
}
|
|
1582
|
-
set
|
|
1583
|
-
this.$$set({
|
|
1615
|
+
set resultFeedbackTitle(resultFeedbackTitle) {
|
|
1616
|
+
this.$$set({ resultFeedbackTitle });
|
|
1617
|
+
flush();
|
|
1618
|
+
}
|
|
1619
|
+
get isResultCorrect() {
|
|
1620
|
+
return this.$$.ctx[2];
|
|
1621
|
+
}
|
|
1622
|
+
set isResultCorrect(isResultCorrect2) {
|
|
1623
|
+
this.$$set({ isResultCorrect: isResultCorrect2 });
|
|
1584
1624
|
flush();
|
|
1585
1625
|
}
|
|
1586
1626
|
};
|
|
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;
|
|
1627
|
+
customElements.define("prompt-result-feedback", create_custom_element(PromptResultFeedback, { "resultFeedback": {}, "resultFeedbackTitle": {}, "isResultCorrect": { "type": "Boolean" } }, [], [], true));
|
|
1628
|
+
var PromptResultFeedback_default = PromptResultFeedback;
|
|
1648
1629
|
|
|
1649
|
-
//
|
|
1650
|
-
var
|
|
1651
|
-
|
|
1652
|
-
|
|
1653
|
-
|
|
1654
|
-
|
|
1655
|
-
|
|
1656
|
-
|
|
1630
|
+
// src/lib/composables/useMCQ.ts
|
|
1631
|
+
var useAlphabetEquivalent = (index) => {
|
|
1632
|
+
const alphabetArr = [
|
|
1633
|
+
"A",
|
|
1634
|
+
"B",
|
|
1635
|
+
"C",
|
|
1636
|
+
"D",
|
|
1637
|
+
"E",
|
|
1638
|
+
"F",
|
|
1639
|
+
"G",
|
|
1640
|
+
"H",
|
|
1641
|
+
"I",
|
|
1642
|
+
"J",
|
|
1643
|
+
"K",
|
|
1644
|
+
"L",
|
|
1645
|
+
"M",
|
|
1646
|
+
"N",
|
|
1647
|
+
"O",
|
|
1648
|
+
"P",
|
|
1649
|
+
"Q",
|
|
1650
|
+
"R",
|
|
1651
|
+
"S",
|
|
1652
|
+
"T",
|
|
1653
|
+
"U",
|
|
1654
|
+
"V",
|
|
1655
|
+
"W",
|
|
1656
|
+
"X",
|
|
1657
|
+
"Y",
|
|
1658
|
+
"Z"
|
|
1659
|
+
];
|
|
1660
|
+
return alphabetArr[index];
|
|
1657
1661
|
};
|
|
1658
|
-
|
|
1659
|
-
action.destroy = autosize_esm_default.destroy;
|
|
1660
|
-
var svelte_autosize_default = action;
|
|
1662
|
+
var useMCQ_default = useAlphabetEquivalent;
|
|
1661
1663
|
|
|
1662
|
-
// src/lib/assets/img/messaging/
|
|
1663
|
-
function
|
|
1664
|
+
// src/lib/assets/img/messaging/ErrorSolid.svelte
|
|
1665
|
+
function create_fragment5(ctx) {
|
|
1664
1666
|
let svg;
|
|
1665
1667
|
let path;
|
|
1666
1668
|
return {
|
|
@@ -1669,7 +1671,7 @@
|
|
|
1669
1671
|
path = svg_element("path");
|
|
1670
1672
|
attr(path, "fill-rule", "evenodd");
|
|
1671
1673
|
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
|
|
1674
|
+
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
1675
|
attr(path, "fill", "currentColor");
|
|
1674
1676
|
attr(svg, "width", "20");
|
|
1675
1677
|
attr(svg, "height", "20");
|
|
@@ -1691,99 +1693,191 @@
|
|
|
1691
1693
|
}
|
|
1692
1694
|
};
|
|
1693
1695
|
}
|
|
1694
|
-
var
|
|
1696
|
+
var ErrorSolid = class extends SvelteComponent {
|
|
1695
1697
|
constructor(options) {
|
|
1696
1698
|
super();
|
|
1697
|
-
init(this, options, null,
|
|
1699
|
+
init(this, options, null, create_fragment5, safe_not_equal, {});
|
|
1698
1700
|
}
|
|
1699
1701
|
};
|
|
1700
|
-
create_custom_element(
|
|
1701
|
-
var
|
|
1702
|
+
create_custom_element(ErrorSolid, {}, [], [], true);
|
|
1703
|
+
var ErrorSolid_default = ErrorSolid;
|
|
1702
1704
|
|
|
1703
|
-
// src/lib/
|
|
1704
|
-
function
|
|
1705
|
-
|
|
1706
|
-
|
|
1705
|
+
// src/lib/components/prompt/mcq/PromptMCQ.svelte
|
|
1706
|
+
function get_each_context(ctx, list, i) {
|
|
1707
|
+
const child_ctx = ctx.slice();
|
|
1708
|
+
child_ctx[15] = list[i][0];
|
|
1709
|
+
child_ctx[16] = list[i][1];
|
|
1710
|
+
child_ctx[18] = i;
|
|
1711
|
+
return child_ctx;
|
|
1712
|
+
}
|
|
1713
|
+
function create_if_block_13(ctx) {
|
|
1714
|
+
let div1;
|
|
1715
|
+
let div0;
|
|
1716
|
+
let div0_class_value;
|
|
1717
|
+
let t2;
|
|
1718
|
+
let current;
|
|
1719
|
+
let each_value = ensure_array_like(Object.entries(
|
|
1720
|
+
/*options*/
|
|
1721
|
+
ctx[7]
|
|
1722
|
+
));
|
|
1723
|
+
let each_blocks = [];
|
|
1724
|
+
for (let i = 0; i < each_value.length; i += 1) {
|
|
1725
|
+
each_blocks[i] = create_each_block(get_each_context(ctx, each_value, i));
|
|
1726
|
+
}
|
|
1727
|
+
const out = (i) => transition_out(each_blocks[i], 1, 1, () => {
|
|
1728
|
+
each_blocks[i] = null;
|
|
1729
|
+
});
|
|
1707
1730
|
return {
|
|
1708
1731
|
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");
|
|
1732
|
+
div1 = element("div");
|
|
1733
|
+
div0 = element("div");
|
|
1734
|
+
t2 = space();
|
|
1735
|
+
for (let i = 0; i < each_blocks.length; i += 1) {
|
|
1736
|
+
each_blocks[i].c();
|
|
1737
|
+
}
|
|
1738
|
+
attr(div0, "class", div0_class_value = /*isDataSaving*/
|
|
1739
|
+
ctx[0] ? "absolute inset-0 bg-transparent z-50" : "");
|
|
1740
|
+
attr(div1, "class", "relative");
|
|
1720
1741
|
},
|
|
1721
1742
|
m(target, anchor) {
|
|
1722
|
-
insert(target,
|
|
1723
|
-
append(
|
|
1743
|
+
insert(target, div1, anchor);
|
|
1744
|
+
append(div1, div0);
|
|
1745
|
+
append(div1, t2);
|
|
1746
|
+
for (let i = 0; i < each_blocks.length; i += 1) {
|
|
1747
|
+
if (each_blocks[i]) {
|
|
1748
|
+
each_blocks[i].m(div1, null);
|
|
1749
|
+
}
|
|
1750
|
+
}
|
|
1751
|
+
current = true;
|
|
1752
|
+
},
|
|
1753
|
+
p(ctx2, dirty) {
|
|
1754
|
+
if (!current || dirty & /*isDataSaving*/
|
|
1755
|
+
1 && div0_class_value !== (div0_class_value = /*isDataSaving*/
|
|
1756
|
+
ctx2[0] ? "absolute inset-0 bg-transparent z-50" : "")) {
|
|
1757
|
+
attr(div0, "class", div0_class_value);
|
|
1758
|
+
}
|
|
1759
|
+
if (dirty & /*selectedOption, Object, options, isFinished, isResultCorrect, handleOptionClick*/
|
|
1760
|
+
398) {
|
|
1761
|
+
each_value = ensure_array_like(Object.entries(
|
|
1762
|
+
/*options*/
|
|
1763
|
+
ctx2[7]
|
|
1764
|
+
));
|
|
1765
|
+
let i;
|
|
1766
|
+
for (i = 0; i < each_value.length; i += 1) {
|
|
1767
|
+
const child_ctx = get_each_context(ctx2, each_value, i);
|
|
1768
|
+
if (each_blocks[i]) {
|
|
1769
|
+
each_blocks[i].p(child_ctx, dirty);
|
|
1770
|
+
transition_in(each_blocks[i], 1);
|
|
1771
|
+
} else {
|
|
1772
|
+
each_blocks[i] = create_each_block(child_ctx);
|
|
1773
|
+
each_blocks[i].c();
|
|
1774
|
+
transition_in(each_blocks[i], 1);
|
|
1775
|
+
each_blocks[i].m(div1, null);
|
|
1776
|
+
}
|
|
1777
|
+
}
|
|
1778
|
+
group_outros();
|
|
1779
|
+
for (i = each_value.length; i < each_blocks.length; i += 1) {
|
|
1780
|
+
out(i);
|
|
1781
|
+
}
|
|
1782
|
+
check_outros();
|
|
1783
|
+
}
|
|
1784
|
+
},
|
|
1785
|
+
i(local) {
|
|
1786
|
+
if (current)
|
|
1787
|
+
return;
|
|
1788
|
+
for (let i = 0; i < each_value.length; i += 1) {
|
|
1789
|
+
transition_in(each_blocks[i]);
|
|
1790
|
+
}
|
|
1791
|
+
current = true;
|
|
1792
|
+
},
|
|
1793
|
+
o(local) {
|
|
1794
|
+
each_blocks = each_blocks.filter(Boolean);
|
|
1795
|
+
for (let i = 0; i < each_blocks.length; i += 1) {
|
|
1796
|
+
transition_out(each_blocks[i]);
|
|
1797
|
+
}
|
|
1798
|
+
current = false;
|
|
1724
1799
|
},
|
|
1725
|
-
p: noop,
|
|
1726
|
-
i: noop,
|
|
1727
|
-
o: noop,
|
|
1728
1800
|
d(detaching) {
|
|
1729
1801
|
if (detaching) {
|
|
1730
|
-
detach(
|
|
1802
|
+
detach(div1);
|
|
1731
1803
|
}
|
|
1804
|
+
destroy_each(each_blocks, detaching);
|
|
1732
1805
|
}
|
|
1733
1806
|
};
|
|
1734
1807
|
}
|
|
1735
|
-
|
|
1736
|
-
|
|
1737
|
-
|
|
1738
|
-
|
|
1808
|
+
function create_if_block_2(ctx) {
|
|
1809
|
+
let span;
|
|
1810
|
+
let current_block_type_index;
|
|
1811
|
+
let if_block;
|
|
1812
|
+
let span_class_value;
|
|
1813
|
+
let current;
|
|
1814
|
+
const if_block_creators = [create_if_block_3, create_else_block2];
|
|
1815
|
+
const if_blocks = [];
|
|
1816
|
+
function select_block_type(ctx2, dirty) {
|
|
1817
|
+
if (
|
|
1818
|
+
/*isResultCorrect*/
|
|
1819
|
+
ctx2[2]
|
|
1820
|
+
)
|
|
1821
|
+
return 0;
|
|
1822
|
+
return 1;
|
|
1739
1823
|
}
|
|
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;
|
|
1824
|
+
current_block_type_index = select_block_type(ctx, -1);
|
|
1825
|
+
if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx);
|
|
1748
1826
|
return {
|
|
1749
1827
|
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");
|
|
1828
|
+
span = element("span");
|
|
1829
|
+
if_block.c();
|
|
1830
|
+
attr(span, "class", span_class_value = /*isResultCorrect*/
|
|
1831
|
+
(ctx[2] ? "text-green-800" : "text-red-800") + " p-0.5");
|
|
1761
1832
|
},
|
|
1762
1833
|
m(target, anchor) {
|
|
1763
|
-
insert(target,
|
|
1764
|
-
|
|
1834
|
+
insert(target, span, anchor);
|
|
1835
|
+
if_blocks[current_block_type_index].m(span, null);
|
|
1836
|
+
current = true;
|
|
1837
|
+
},
|
|
1838
|
+
p(ctx2, dirty) {
|
|
1839
|
+
let previous_block_index = current_block_type_index;
|
|
1840
|
+
current_block_type_index = select_block_type(ctx2, dirty);
|
|
1841
|
+
if (current_block_type_index !== previous_block_index) {
|
|
1842
|
+
group_outros();
|
|
1843
|
+
transition_out(if_blocks[previous_block_index], 1, 1, () => {
|
|
1844
|
+
if_blocks[previous_block_index] = null;
|
|
1845
|
+
});
|
|
1846
|
+
check_outros();
|
|
1847
|
+
if_block = if_blocks[current_block_type_index];
|
|
1848
|
+
if (!if_block) {
|
|
1849
|
+
if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx2);
|
|
1850
|
+
if_block.c();
|
|
1851
|
+
} else {
|
|
1852
|
+
}
|
|
1853
|
+
transition_in(if_block, 1);
|
|
1854
|
+
if_block.m(span, null);
|
|
1855
|
+
}
|
|
1856
|
+
if (!current || dirty & /*isResultCorrect*/
|
|
1857
|
+
4 && span_class_value !== (span_class_value = /*isResultCorrect*/
|
|
1858
|
+
(ctx2[2] ? "text-green-800" : "text-red-800") + " p-0.5")) {
|
|
1859
|
+
attr(span, "class", span_class_value);
|
|
1860
|
+
}
|
|
1861
|
+
},
|
|
1862
|
+
i(local) {
|
|
1863
|
+
if (current)
|
|
1864
|
+
return;
|
|
1865
|
+
transition_in(if_block);
|
|
1866
|
+
current = true;
|
|
1867
|
+
},
|
|
1868
|
+
o(local) {
|
|
1869
|
+
transition_out(if_block);
|
|
1870
|
+
current = false;
|
|
1765
1871
|
},
|
|
1766
|
-
p: noop,
|
|
1767
|
-
i: noop,
|
|
1768
|
-
o: noop,
|
|
1769
1872
|
d(detaching) {
|
|
1770
1873
|
if (detaching) {
|
|
1771
|
-
detach(
|
|
1874
|
+
detach(span);
|
|
1772
1875
|
}
|
|
1876
|
+
if_blocks[current_block_type_index].d();
|
|
1773
1877
|
}
|
|
1774
1878
|
};
|
|
1775
1879
|
}
|
|
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) {
|
|
1880
|
+
function create_else_block2(ctx) {
|
|
1787
1881
|
let errorsolid;
|
|
1788
1882
|
let current;
|
|
1789
1883
|
errorsolid = new ErrorSolid_default({});
|
|
@@ -1810,7 +1904,7 @@
|
|
|
1810
1904
|
}
|
|
1811
1905
|
};
|
|
1812
1906
|
}
|
|
1813
|
-
function
|
|
1907
|
+
function create_if_block_3(ctx) {
|
|
1814
1908
|
let successsolid;
|
|
1815
1909
|
let current;
|
|
1816
1910
|
successsolid = new SuccessSolid_default({});
|
|
@@ -1837,119 +1931,132 @@
|
|
|
1837
1931
|
}
|
|
1838
1932
|
};
|
|
1839
1933
|
}
|
|
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;
|
|
1934
|
+
function create_each_block(ctx) {
|
|
1935
|
+
let button;
|
|
1848
1936
|
let span1;
|
|
1937
|
+
let span0;
|
|
1849
1938
|
let t1;
|
|
1939
|
+
let t2_value = (
|
|
1940
|
+
/*option*/
|
|
1941
|
+
ctx[16].answer + ""
|
|
1942
|
+
);
|
|
1850
1943
|
let t2;
|
|
1851
|
-
let span2;
|
|
1852
1944
|
let t3;
|
|
1853
|
-
let div0_class_value;
|
|
1854
1945
|
let t4;
|
|
1855
|
-
let
|
|
1946
|
+
let button_aria_label_value;
|
|
1947
|
+
let button_class_value;
|
|
1856
1948
|
let current;
|
|
1857
|
-
|
|
1858
|
-
|
|
1859
|
-
|
|
1860
|
-
|
|
1861
|
-
|
|
1862
|
-
|
|
1863
|
-
)
|
|
1864
|
-
|
|
1865
|
-
|
|
1949
|
+
let mounted;
|
|
1950
|
+
let dispose;
|
|
1951
|
+
let if_block = (
|
|
1952
|
+
/*selectedOption*/
|
|
1953
|
+
ctx[3] === /*option*/
|
|
1954
|
+
ctx[16].id && /*isFinished*/
|
|
1955
|
+
ctx[1] && create_if_block_2(ctx)
|
|
1956
|
+
);
|
|
1957
|
+
function click_handler() {
|
|
1958
|
+
return (
|
|
1959
|
+
/*click_handler*/
|
|
1960
|
+
ctx[10](
|
|
1961
|
+
/*option*/
|
|
1962
|
+
ctx[16]
|
|
1963
|
+
)
|
|
1964
|
+
);
|
|
1866
1965
|
}
|
|
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
1966
|
return {
|
|
1870
1967
|
c() {
|
|
1871
|
-
|
|
1872
|
-
span0 = element("span");
|
|
1873
|
-
if_block.c();
|
|
1874
|
-
t0 = space();
|
|
1875
|
-
span3 = element("span");
|
|
1968
|
+
button = element("button");
|
|
1876
1969
|
span1 = element("span");
|
|
1877
|
-
|
|
1878
|
-
|
|
1879
|
-
|
|
1880
|
-
|
|
1881
|
-
|
|
1882
|
-
|
|
1883
|
-
|
|
1884
|
-
|
|
1885
|
-
|
|
1886
|
-
|
|
1970
|
+
span0 = element("span");
|
|
1971
|
+
span0.textContent = `${useMCQ_default(
|
|
1972
|
+
/*index*/
|
|
1973
|
+
ctx[18]
|
|
1974
|
+
)}`;
|
|
1975
|
+
t1 = space();
|
|
1976
|
+
t2 = text(t2_value);
|
|
1977
|
+
t3 = space();
|
|
1978
|
+
if (if_block)
|
|
1979
|
+
if_block.c();
|
|
1887
1980
|
t4 = space();
|
|
1888
|
-
|
|
1889
|
-
attr(
|
|
1890
|
-
|
|
1891
|
-
|
|
1892
|
-
|
|
1893
|
-
|
|
1894
|
-
|
|
1895
|
-
|
|
1981
|
+
attr(span0, "class", "choice group-active:border-2 group-active:border-blue-1000 group-active:p-[7px]");
|
|
1982
|
+
attr(span1, "class", "grow flex items-center");
|
|
1983
|
+
attr(button, "aria-label", button_aria_label_value = `${/*selectedOption*/
|
|
1984
|
+
ctx[3] === /*option*/
|
|
1985
|
+
ctx[16].id ? "Selected option" : "Option"} ${useMCQ_default(
|
|
1986
|
+
/*index*/
|
|
1987
|
+
ctx[18]
|
|
1988
|
+
)}: ${/*option*/
|
|
1989
|
+
ctx[16].answer}`);
|
|
1990
|
+
attr(button, "class", button_class_value = "btn-mcq-option group text-left " + /*selectedOption*/
|
|
1991
|
+
(ctx[3] === /*option*/
|
|
1992
|
+
ctx[16].id ? "selected" : "") + " " + (!/*isFinished*/
|
|
1993
|
+
ctx[1] ? "" : (
|
|
1994
|
+
/*isResultCorrect*/
|
|
1995
|
+
ctx[2] ? "correct" : "incorrect"
|
|
1996
|
+
)));
|
|
1896
1997
|
},
|
|
1897
1998
|
m(target, anchor) {
|
|
1898
|
-
insert(target,
|
|
1899
|
-
append(
|
|
1900
|
-
|
|
1901
|
-
append(div0, t0);
|
|
1902
|
-
append(div0, span3);
|
|
1903
|
-
append(span3, span1);
|
|
1999
|
+
insert(target, button, anchor);
|
|
2000
|
+
append(button, span1);
|
|
2001
|
+
append(span1, span0);
|
|
1904
2002
|
append(span1, t1);
|
|
1905
|
-
append(
|
|
1906
|
-
append(
|
|
1907
|
-
|
|
1908
|
-
|
|
1909
|
-
|
|
2003
|
+
append(span1, t2);
|
|
2004
|
+
append(button, t3);
|
|
2005
|
+
if (if_block)
|
|
2006
|
+
if_block.m(button, null);
|
|
2007
|
+
append(button, t4);
|
|
1910
2008
|
current = true;
|
|
2009
|
+
if (!mounted) {
|
|
2010
|
+
dispose = listen(button, "click", click_handler);
|
|
2011
|
+
mounted = true;
|
|
2012
|
+
}
|
|
1911
2013
|
},
|
|
1912
|
-
p(
|
|
1913
|
-
|
|
1914
|
-
|
|
1915
|
-
|
|
2014
|
+
p(new_ctx, dirty) {
|
|
2015
|
+
ctx = new_ctx;
|
|
2016
|
+
if (
|
|
2017
|
+
/*selectedOption*/
|
|
2018
|
+
ctx[3] === /*option*/
|
|
2019
|
+
ctx[16].id && /*isFinished*/
|
|
2020
|
+
ctx[1]
|
|
2021
|
+
) {
|
|
2022
|
+
if (if_block) {
|
|
2023
|
+
if_block.p(ctx, dirty);
|
|
2024
|
+
if (dirty & /*selectedOption, isFinished*/
|
|
2025
|
+
10) {
|
|
2026
|
+
transition_in(if_block, 1);
|
|
2027
|
+
}
|
|
2028
|
+
} else {
|
|
2029
|
+
if_block = create_if_block_2(ctx);
|
|
2030
|
+
if_block.c();
|
|
2031
|
+
transition_in(if_block, 1);
|
|
2032
|
+
if_block.m(button, t4);
|
|
2033
|
+
}
|
|
2034
|
+
} else if (if_block) {
|
|
1916
2035
|
group_outros();
|
|
1917
|
-
transition_out(
|
|
1918
|
-
|
|
2036
|
+
transition_out(if_block, 1, 1, () => {
|
|
2037
|
+
if_block = null;
|
|
1919
2038
|
});
|
|
1920
2039
|
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
2040
|
}
|
|
1930
|
-
if (!current || dirty & /*
|
|
1931
|
-
|
|
1932
|
-
|
|
1933
|
-
|
|
2041
|
+
if (!current || dirty & /*selectedOption*/
|
|
2042
|
+
8 && button_aria_label_value !== (button_aria_label_value = `${/*selectedOption*/
|
|
2043
|
+
ctx[3] === /*option*/
|
|
2044
|
+
ctx[16].id ? "Selected option" : "Option"} ${useMCQ_default(
|
|
2045
|
+
/*index*/
|
|
2046
|
+
ctx[18]
|
|
2047
|
+
)}: ${/*option*/
|
|
2048
|
+
ctx[16].answer}`)) {
|
|
2049
|
+
attr(button, "aria-label", button_aria_label_value);
|
|
1934
2050
|
}
|
|
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);
|
|
2051
|
+
if (!current || dirty & /*selectedOption, isFinished, isResultCorrect*/
|
|
2052
|
+
14 && button_class_value !== (button_class_value = "btn-mcq-option group text-left " + /*selectedOption*/
|
|
2053
|
+
(ctx[3] === /*option*/
|
|
2054
|
+
ctx[16].id ? "selected" : "") + " " + (!/*isFinished*/
|
|
2055
|
+
ctx[1] ? "" : (
|
|
2056
|
+
/*isResultCorrect*/
|
|
2057
|
+
ctx[2] ? "correct" : "incorrect"
|
|
2058
|
+
)))) {
|
|
2059
|
+
attr(button, "class", button_class_value);
|
|
1953
2060
|
}
|
|
1954
2061
|
},
|
|
1955
2062
|
i(local) {
|
|
@@ -1964,179 +2071,184 @@
|
|
|
1964
2071
|
},
|
|
1965
2072
|
d(detaching) {
|
|
1966
2073
|
if (detaching) {
|
|
1967
|
-
detach(
|
|
1968
|
-
detach(t4);
|
|
1969
|
-
detach(div1);
|
|
2074
|
+
detach(button);
|
|
1970
2075
|
}
|
|
1971
|
-
|
|
2076
|
+
if (if_block)
|
|
2077
|
+
if_block.d();
|
|
2078
|
+
mounted = false;
|
|
2079
|
+
dispose();
|
|
1972
2080
|
}
|
|
1973
2081
|
};
|
|
1974
2082
|
}
|
|
1975
|
-
function
|
|
1976
|
-
let
|
|
2083
|
+
function create_default_slot(ctx) {
|
|
2084
|
+
let if_block_anchor;
|
|
1977
2085
|
let current;
|
|
1978
|
-
|
|
2086
|
+
let if_block = (
|
|
2087
|
+
/*options*/
|
|
2088
|
+
ctx[7] && create_if_block_13(ctx)
|
|
2089
|
+
);
|
|
1979
2090
|
return {
|
|
1980
2091
|
c() {
|
|
1981
|
-
|
|
2092
|
+
if (if_block)
|
|
2093
|
+
if_block.c();
|
|
2094
|
+
if_block_anchor = empty();
|
|
1982
2095
|
},
|
|
1983
2096
|
m(target, anchor) {
|
|
1984
|
-
|
|
2097
|
+
if (if_block)
|
|
2098
|
+
if_block.m(target, anchor);
|
|
2099
|
+
insert(target, if_block_anchor, anchor);
|
|
1985
2100
|
current = true;
|
|
1986
2101
|
},
|
|
2102
|
+
p(ctx2, dirty) {
|
|
2103
|
+
if (
|
|
2104
|
+
/*options*/
|
|
2105
|
+
ctx2[7]
|
|
2106
|
+
)
|
|
2107
|
+
if_block.p(ctx2, dirty);
|
|
2108
|
+
},
|
|
1987
2109
|
i(local) {
|
|
1988
2110
|
if (current)
|
|
1989
2111
|
return;
|
|
1990
|
-
transition_in(
|
|
2112
|
+
transition_in(if_block);
|
|
1991
2113
|
current = true;
|
|
1992
2114
|
},
|
|
1993
2115
|
o(local) {
|
|
1994
|
-
transition_out(
|
|
2116
|
+
transition_out(if_block);
|
|
1995
2117
|
current = false;
|
|
1996
2118
|
},
|
|
1997
2119
|
d(detaching) {
|
|
1998
|
-
|
|
2120
|
+
if (detaching) {
|
|
2121
|
+
detach(if_block_anchor);
|
|
2122
|
+
}
|
|
2123
|
+
if (if_block)
|
|
2124
|
+
if_block.d(detaching);
|
|
1999
2125
|
}
|
|
2000
2126
|
};
|
|
2001
2127
|
}
|
|
2002
|
-
function
|
|
2003
|
-
let
|
|
2128
|
+
function create_if_block3(ctx) {
|
|
2129
|
+
let promptresult;
|
|
2004
2130
|
let current;
|
|
2005
|
-
|
|
2131
|
+
promptresult = new PromptResultFeedback_default({
|
|
2132
|
+
props: {
|
|
2133
|
+
isResultCorrect: (
|
|
2134
|
+
/*isResultCorrect*/
|
|
2135
|
+
ctx[2]
|
|
2136
|
+
),
|
|
2137
|
+
resultFeedbackTitle: (
|
|
2138
|
+
/*isResultCorrect*/
|
|
2139
|
+
ctx[2] ? "Well done!" : "Nice try!"
|
|
2140
|
+
),
|
|
2141
|
+
resultFeedback: (
|
|
2142
|
+
/*resultFeedback*/
|
|
2143
|
+
ctx[4]
|
|
2144
|
+
)
|
|
2145
|
+
}
|
|
2146
|
+
});
|
|
2006
2147
|
return {
|
|
2007
2148
|
c() {
|
|
2008
|
-
create_component(
|
|
2149
|
+
create_component(promptresult.$$.fragment);
|
|
2009
2150
|
},
|
|
2010
2151
|
m(target, anchor) {
|
|
2011
|
-
mount_component(
|
|
2152
|
+
mount_component(promptresult, target, anchor);
|
|
2012
2153
|
current = true;
|
|
2013
2154
|
},
|
|
2155
|
+
p(ctx2, dirty) {
|
|
2156
|
+
const promptresult_changes = {};
|
|
2157
|
+
if (dirty & /*isResultCorrect*/
|
|
2158
|
+
4)
|
|
2159
|
+
promptresult_changes.isResultCorrect = /*isResultCorrect*/
|
|
2160
|
+
ctx2[2];
|
|
2161
|
+
if (dirty & /*isResultCorrect*/
|
|
2162
|
+
4)
|
|
2163
|
+
promptresult_changes.resultFeedbackTitle = /*isResultCorrect*/
|
|
2164
|
+
ctx2[2] ? "Well done!" : "Nice try!";
|
|
2165
|
+
if (dirty & /*resultFeedback*/
|
|
2166
|
+
16)
|
|
2167
|
+
promptresult_changes.resultFeedback = /*resultFeedback*/
|
|
2168
|
+
ctx2[4];
|
|
2169
|
+
promptresult.$set(promptresult_changes);
|
|
2170
|
+
},
|
|
2014
2171
|
i(local) {
|
|
2015
2172
|
if (current)
|
|
2016
2173
|
return;
|
|
2017
|
-
transition_in(
|
|
2174
|
+
transition_in(promptresult.$$.fragment, local);
|
|
2018
2175
|
current = true;
|
|
2019
2176
|
},
|
|
2020
2177
|
o(local) {
|
|
2021
|
-
transition_out(
|
|
2178
|
+
transition_out(promptresult.$$.fragment, local);
|
|
2022
2179
|
current = false;
|
|
2023
2180
|
},
|
|
2024
2181
|
d(detaching) {
|
|
2025
|
-
destroy_component(
|
|
2182
|
+
destroy_component(promptresult, detaching);
|
|
2026
2183
|
}
|
|
2027
2184
|
};
|
|
2028
2185
|
}
|
|
2029
2186
|
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;
|
|
2187
|
+
let promptbody;
|
|
2038
2188
|
let t2;
|
|
2039
|
-
let
|
|
2189
|
+
let if_block_anchor;
|
|
2040
2190
|
let current;
|
|
2041
|
-
|
|
2042
|
-
|
|
2043
|
-
|
|
2044
|
-
|
|
2045
|
-
|
|
2046
|
-
|
|
2047
|
-
|
|
2048
|
-
|
|
2049
|
-
|
|
2050
|
-
|
|
2051
|
-
|
|
2052
|
-
|
|
2053
|
-
|
|
2054
|
-
|
|
2191
|
+
promptbody = new PromptBody_default({
|
|
2192
|
+
props: {
|
|
2193
|
+
rubric: (
|
|
2194
|
+
/*rubric*/
|
|
2195
|
+
ctx[5].text
|
|
2196
|
+
),
|
|
2197
|
+
prompt: (
|
|
2198
|
+
/*prompt*/
|
|
2199
|
+
ctx[6]
|
|
2200
|
+
),
|
|
2201
|
+
$$slots: { default: [create_default_slot] },
|
|
2202
|
+
$$scope: { ctx }
|
|
2203
|
+
}
|
|
2204
|
+
});
|
|
2205
|
+
let if_block = (
|
|
2206
|
+
/*isFinished*/
|
|
2055
2207
|
ctx[1] && create_if_block3(ctx)
|
|
2056
2208
|
);
|
|
2057
2209
|
return {
|
|
2058
2210
|
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
|
-
);
|
|
2211
|
+
create_component(promptbody.$$.fragment);
|
|
2068
2212
|
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");
|
|
2213
|
+
if (if_block)
|
|
2214
|
+
if_block.c();
|
|
2215
|
+
if_block_anchor = empty();
|
|
2076
2216
|
},
|
|
2077
2217
|
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);
|
|
2218
|
+
mount_component(promptbody, target, anchor);
|
|
2084
2219
|
insert(target, t2, anchor);
|
|
2085
|
-
if (
|
|
2086
|
-
|
|
2087
|
-
insert(target,
|
|
2220
|
+
if (if_block)
|
|
2221
|
+
if_block.m(target, anchor);
|
|
2222
|
+
insert(target, if_block_anchor, anchor);
|
|
2088
2223
|
current = true;
|
|
2089
2224
|
},
|
|
2090
2225
|
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);
|
|
2226
|
+
const promptbody_changes = {};
|
|
2227
|
+
if (dirty & /*$$scope, selectedOption, isFinished, isResultCorrect, isDataSaving*/
|
|
2228
|
+
524303) {
|
|
2229
|
+
promptbody_changes.$$scope = { dirty, ctx: ctx2 };
|
|
2112
2230
|
}
|
|
2113
|
-
|
|
2114
|
-
1)
|
|
2115
|
-
set_data(
|
|
2116
|
-
t1,
|
|
2117
|
-
/*resultMessage*/
|
|
2118
|
-
ctx2[0]
|
|
2119
|
-
);
|
|
2231
|
+
promptbody.$set(promptbody_changes);
|
|
2120
2232
|
if (
|
|
2121
|
-
/*
|
|
2233
|
+
/*isFinished*/
|
|
2122
2234
|
ctx2[1]
|
|
2123
2235
|
) {
|
|
2124
|
-
if (
|
|
2125
|
-
|
|
2126
|
-
if (dirty & /*
|
|
2236
|
+
if (if_block) {
|
|
2237
|
+
if_block.p(ctx2, dirty);
|
|
2238
|
+
if (dirty & /*isFinished*/
|
|
2127
2239
|
2) {
|
|
2128
|
-
transition_in(
|
|
2240
|
+
transition_in(if_block, 1);
|
|
2129
2241
|
}
|
|
2130
2242
|
} else {
|
|
2131
|
-
|
|
2132
|
-
|
|
2133
|
-
transition_in(
|
|
2134
|
-
|
|
2243
|
+
if_block = create_if_block3(ctx2);
|
|
2244
|
+
if_block.c();
|
|
2245
|
+
transition_in(if_block, 1);
|
|
2246
|
+
if_block.m(if_block_anchor.parentNode, if_block_anchor);
|
|
2135
2247
|
}
|
|
2136
|
-
} else if (
|
|
2248
|
+
} else if (if_block) {
|
|
2137
2249
|
group_outros();
|
|
2138
|
-
transition_out(
|
|
2139
|
-
|
|
2250
|
+
transition_out(if_block, 1, 1, () => {
|
|
2251
|
+
if_block = null;
|
|
2140
2252
|
});
|
|
2141
2253
|
check_outros();
|
|
2142
2254
|
}
|
|
@@ -2144,77 +2256,113 @@
|
|
|
2144
2256
|
i(local) {
|
|
2145
2257
|
if (current)
|
|
2146
2258
|
return;
|
|
2147
|
-
transition_in(
|
|
2148
|
-
transition_in(
|
|
2259
|
+
transition_in(promptbody.$$.fragment, local);
|
|
2260
|
+
transition_in(if_block);
|
|
2149
2261
|
current = true;
|
|
2150
2262
|
},
|
|
2151
2263
|
o(local) {
|
|
2152
|
-
transition_out(
|
|
2153
|
-
transition_out(
|
|
2264
|
+
transition_out(promptbody.$$.fragment, local);
|
|
2265
|
+
transition_out(if_block);
|
|
2154
2266
|
current = false;
|
|
2155
2267
|
},
|
|
2156
2268
|
d(detaching) {
|
|
2157
2269
|
if (detaching) {
|
|
2158
|
-
detach(div);
|
|
2159
2270
|
detach(t2);
|
|
2160
|
-
detach(
|
|
2161
|
-
}
|
|
2162
|
-
|
|
2163
|
-
if (
|
|
2164
|
-
|
|
2271
|
+
detach(if_block_anchor);
|
|
2272
|
+
}
|
|
2273
|
+
destroy_component(promptbody, detaching);
|
|
2274
|
+
if (if_block)
|
|
2275
|
+
if_block.d(detaching);
|
|
2165
2276
|
}
|
|
2166
2277
|
};
|
|
2167
2278
|
}
|
|
2168
2279
|
function instance3($$self, $$props, $$invalidate) {
|
|
2169
|
-
let {
|
|
2170
|
-
let {
|
|
2171
|
-
let {
|
|
2172
|
-
let
|
|
2173
|
-
|
|
2174
|
-
|
|
2175
|
-
|
|
2176
|
-
|
|
2177
|
-
|
|
2178
|
-
|
|
2280
|
+
let { sessionData } = $$props;
|
|
2281
|
+
let { isDataSaving } = $$props;
|
|
2282
|
+
let { isFinished: isFinished2 = false } = $$props;
|
|
2283
|
+
let { isResultCorrect: isResultCorrect2 = false } = $$props;
|
|
2284
|
+
const { rubric, interaction, metadata, scoringMetadata } = sessionData;
|
|
2285
|
+
const { prompt, options } = interaction;
|
|
2286
|
+
let selectedOption = null;
|
|
2287
|
+
let resultFeedback = null;
|
|
2288
|
+
const dispatch = createEventDispatcher();
|
|
2289
|
+
if (metadata) {
|
|
2290
|
+
const { events } = metadata.interactions;
|
|
2291
|
+
const currentOption = events.pop();
|
|
2292
|
+
const { answer_id: answerChoiceId } = currentOption;
|
|
2293
|
+
selectedOption = answerChoiceId[0];
|
|
2294
|
+
}
|
|
2295
|
+
if (isFinished2) {
|
|
2296
|
+
if (options && selectedOption) {
|
|
2297
|
+
const feedbackData = Object.values(options).filter((option) => option.id === selectedOption);
|
|
2298
|
+
resultFeedback = feedbackData[0].feedback || resultFeedback;
|
|
2299
|
+
}
|
|
2300
|
+
const { answerId, has_answer } = scoringMetadata;
|
|
2301
|
+
selectedOption = answerId && has_answer ? answerId : selectedOption;
|
|
2179
2302
|
}
|
|
2303
|
+
const handleOptionClick = (optionId, option) => {
|
|
2304
|
+
if (isDataSaving || optionId === selectedOption || isFinished2)
|
|
2305
|
+
return;
|
|
2306
|
+
$$invalidate(3, selectedOption = optionId);
|
|
2307
|
+
dispatch("saveOption", {
|
|
2308
|
+
answer_id: [optionId],
|
|
2309
|
+
answer_choice: [option]
|
|
2310
|
+
});
|
|
2311
|
+
};
|
|
2312
|
+
const click_handler = (option) => handleOptionClick(option.id, option.answer);
|
|
2180
2313
|
$$self.$$set = ($$props2) => {
|
|
2181
|
-
if ("
|
|
2182
|
-
$$invalidate(
|
|
2183
|
-
if ("
|
|
2184
|
-
$$invalidate(
|
|
2314
|
+
if ("sessionData" in $$props2)
|
|
2315
|
+
$$invalidate(9, sessionData = $$props2.sessionData);
|
|
2316
|
+
if ("isDataSaving" in $$props2)
|
|
2317
|
+
$$invalidate(0, isDataSaving = $$props2.isDataSaving);
|
|
2318
|
+
if ("isFinished" in $$props2)
|
|
2319
|
+
$$invalidate(1, isFinished2 = $$props2.isFinished);
|
|
2185
2320
|
if ("isResultCorrect" in $$props2)
|
|
2186
2321
|
$$invalidate(2, isResultCorrect2 = $$props2.isResultCorrect);
|
|
2187
2322
|
};
|
|
2188
2323
|
return [
|
|
2189
|
-
|
|
2190
|
-
|
|
2324
|
+
isDataSaving,
|
|
2325
|
+
isFinished2,
|
|
2191
2326
|
isResultCorrect2,
|
|
2192
|
-
|
|
2193
|
-
|
|
2194
|
-
|
|
2327
|
+
selectedOption,
|
|
2328
|
+
resultFeedback,
|
|
2329
|
+
rubric,
|
|
2330
|
+
prompt,
|
|
2331
|
+
options,
|
|
2332
|
+
handleOptionClick,
|
|
2333
|
+
sessionData,
|
|
2334
|
+
click_handler
|
|
2195
2335
|
];
|
|
2196
2336
|
}
|
|
2197
|
-
var
|
|
2337
|
+
var PromptMCQ = class extends SvelteComponent {
|
|
2198
2338
|
constructor(options) {
|
|
2199
2339
|
super();
|
|
2200
2340
|
init(this, options, instance3, create_fragment6, safe_not_equal, {
|
|
2201
|
-
|
|
2202
|
-
|
|
2341
|
+
sessionData: 9,
|
|
2342
|
+
isDataSaving: 0,
|
|
2343
|
+
isFinished: 1,
|
|
2203
2344
|
isResultCorrect: 2
|
|
2204
2345
|
});
|
|
2205
2346
|
}
|
|
2206
|
-
get
|
|
2347
|
+
get sessionData() {
|
|
2348
|
+
return this.$$.ctx[9];
|
|
2349
|
+
}
|
|
2350
|
+
set sessionData(sessionData) {
|
|
2351
|
+
this.$$set({ sessionData });
|
|
2352
|
+
flush();
|
|
2353
|
+
}
|
|
2354
|
+
get isDataSaving() {
|
|
2207
2355
|
return this.$$.ctx[0];
|
|
2208
2356
|
}
|
|
2209
|
-
set
|
|
2210
|
-
this.$$set({
|
|
2357
|
+
set isDataSaving(isDataSaving) {
|
|
2358
|
+
this.$$set({ isDataSaving });
|
|
2211
2359
|
flush();
|
|
2212
2360
|
}
|
|
2213
|
-
get
|
|
2361
|
+
get isFinished() {
|
|
2214
2362
|
return this.$$.ctx[1];
|
|
2215
2363
|
}
|
|
2216
|
-
set
|
|
2217
|
-
this.$$set({
|
|
2364
|
+
set isFinished(isFinished2) {
|
|
2365
|
+
this.$$set({ isFinished: isFinished2 });
|
|
2218
2366
|
flush();
|
|
2219
2367
|
}
|
|
2220
2368
|
get isResultCorrect() {
|
|
@@ -2225,11 +2373,88 @@
|
|
|
2225
2373
|
flush();
|
|
2226
2374
|
}
|
|
2227
2375
|
};
|
|
2228
|
-
customElements.define("prompt-
|
|
2229
|
-
var
|
|
2376
|
+
customElements.define("prompt-mcq", create_custom_element(PromptMCQ, { "sessionData": {}, "isDataSaving": {}, "isFinished": { "type": "Boolean" }, "isResultCorrect": { "type": "Boolean" } }, [], [], true));
|
|
2377
|
+
var PromptMCQ_default = PromptMCQ;
|
|
2378
|
+
|
|
2379
|
+
// node_modules/autosize/dist/autosize.esm.js
|
|
2380
|
+
var e = /* @__PURE__ */ new Map();
|
|
2381
|
+
function t(t2) {
|
|
2382
|
+
var o2 = e.get(t2);
|
|
2383
|
+
o2 && o2.destroy();
|
|
2384
|
+
}
|
|
2385
|
+
function o(t2) {
|
|
2386
|
+
var o2 = e.get(t2);
|
|
2387
|
+
o2 && o2.update();
|
|
2388
|
+
}
|
|
2389
|
+
var r = null;
|
|
2390
|
+
"undefined" == typeof window ? ((r = function(e2) {
|
|
2391
|
+
return e2;
|
|
2392
|
+
}).destroy = function(e2) {
|
|
2393
|
+
return e2;
|
|
2394
|
+
}, r.update = function(e2) {
|
|
2395
|
+
return e2;
|
|
2396
|
+
}) : ((r = function(t2, o2) {
|
|
2397
|
+
return t2 && Array.prototype.forEach.call(t2.length ? t2 : [t2], function(t3) {
|
|
2398
|
+
return function(t4) {
|
|
2399
|
+
if (t4 && t4.nodeName && "TEXTAREA" === t4.nodeName && !e.has(t4)) {
|
|
2400
|
+
var o3, r2 = null, n2 = window.getComputedStyle(t4), i = (o3 = t4.value, function() {
|
|
2401
|
+
a({ testForHeightReduction: "" === o3 || !t4.value.startsWith(o3), restoreTextAlign: null }), o3 = t4.value;
|
|
2402
|
+
}), l = function(o4) {
|
|
2403
|
+
t4.removeEventListener("autosize:destroy", l), t4.removeEventListener("autosize:update", s), t4.removeEventListener("input", i), window.removeEventListener("resize", s), Object.keys(o4).forEach(function(e2) {
|
|
2404
|
+
return t4.style[e2] = o4[e2];
|
|
2405
|
+
}), e.delete(t4);
|
|
2406
|
+
}.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 });
|
|
2407
|
+
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();
|
|
2408
|
+
}
|
|
2409
|
+
function a(e2) {
|
|
2410
|
+
var o4, i2, l2 = e2.restoreTextAlign, s2 = void 0 === l2 ? null : l2, d = e2.testForHeightReduction, u = void 0 === d || d, c = n2.overflowY;
|
|
2411
|
+
if (0 !== t4.scrollHeight && ("vertical" === n2.resize ? t4.style.resize = "none" : "both" === n2.resize && (t4.style.resize = "horizontal"), u && (o4 = function(e3) {
|
|
2412
|
+
for (var t5 = []; e3 && e3.parentNode && e3.parentNode instanceof Element; )
|
|
2413
|
+
e3.parentNode.scrollTop && t5.push([e3.parentNode, e3.parentNode.scrollTop]), e3 = e3.parentNode;
|
|
2414
|
+
return function() {
|
|
2415
|
+
return t5.forEach(function(e4) {
|
|
2416
|
+
var t6 = e4[0], o5 = e4[1];
|
|
2417
|
+
t6.style.scrollBehavior = "auto", t6.scrollTop = o5, t6.style.scrollBehavior = null;
|
|
2418
|
+
});
|
|
2419
|
+
};
|
|
2420
|
+
}(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)) {
|
|
2421
|
+
var v = n2.textAlign;
|
|
2422
|
+
"hidden" === n2.overflow && (t4.style.textAlign = "start" === v ? "end" : "start"), a({ restoreTextAlign: v, testForHeightReduction: true });
|
|
2423
|
+
}
|
|
2424
|
+
}
|
|
2425
|
+
function s() {
|
|
2426
|
+
a({ testForHeightReduction: true, restoreTextAlign: null });
|
|
2427
|
+
}
|
|
2428
|
+
}(t3);
|
|
2429
|
+
}), t2;
|
|
2430
|
+
}).destroy = function(e2) {
|
|
2431
|
+
return e2 && Array.prototype.forEach.call(e2.length ? e2 : [e2], t), e2;
|
|
2432
|
+
}, r.update = function(e2) {
|
|
2433
|
+
return e2 && Array.prototype.forEach.call(e2.length ? e2 : [e2], o), e2;
|
|
2434
|
+
});
|
|
2435
|
+
var n = r;
|
|
2436
|
+
var autosize_esm_default = n;
|
|
2437
|
+
|
|
2438
|
+
// node_modules/svelte-autosize/index.js
|
|
2439
|
+
var action = (node) => {
|
|
2440
|
+
autosize_esm_default(node);
|
|
2441
|
+
return {
|
|
2442
|
+
destroy() {
|
|
2443
|
+
autosize_esm_default.destroy(node);
|
|
2444
|
+
}
|
|
2445
|
+
};
|
|
2446
|
+
};
|
|
2447
|
+
action.update = autosize_esm_default.update;
|
|
2448
|
+
action.destroy = autosize_esm_default.destroy;
|
|
2449
|
+
var svelte_autosize_default = action;
|
|
2450
|
+
|
|
2451
|
+
// src/lib/constants/index.ts
|
|
2452
|
+
var INTERACTION_TYPE_MCQ = "multipleChoiceInteraction";
|
|
2453
|
+
var INTERACTION_TYPE_TYPEIN = "typeInInteraction";
|
|
2454
|
+
var TYPEIN_TYPE_SHORT = "Short-Text";
|
|
2230
2455
|
|
|
2231
2456
|
// src/lib/components/prompt/typein/PromptTypeIn.svelte
|
|
2232
|
-
function
|
|
2457
|
+
function create_else_block_1(ctx) {
|
|
2233
2458
|
let textarea;
|
|
2234
2459
|
let textarea_class_value;
|
|
2235
2460
|
let autosize_action;
|
|
@@ -2239,10 +2464,10 @@
|
|
|
2239
2464
|
c() {
|
|
2240
2465
|
textarea = element("textarea");
|
|
2241
2466
|
attr(textarea, "id", idLabel);
|
|
2467
|
+
attr(textarea, "aria-label", placeholder);
|
|
2242
2468
|
attr(textarea, "placeholder", placeholder);
|
|
2243
2469
|
attr(textarea, "rows", "3");
|
|
2244
|
-
attr(textarea, "class", textarea_class_value =
|
|
2245
|
-
ctx[2]} typein-textbox overflow-hidden`);
|
|
2470
|
+
attr(textarea, "class", textarea_class_value = "typein-textbox overflow-hidden " + (!isFinished ? "" : isResultCorrect ? "border-2 border-green-800" : "border-2 border-red-800"));
|
|
2246
2471
|
textarea.disabled = /*isDataSaving*/
|
|
2247
2472
|
ctx[0];
|
|
2248
2473
|
attr(textarea, "autocomplete", "off");
|
|
@@ -2260,38 +2485,38 @@
|
|
|
2260
2485
|
textarea,
|
|
2261
2486
|
"input",
|
|
2262
2487
|
/*textarea_input_handler*/
|
|
2263
|
-
ctx[
|
|
2488
|
+
ctx[13]
|
|
2264
2489
|
),
|
|
2265
2490
|
listen(
|
|
2266
2491
|
textarea,
|
|
2267
2492
|
"mousedown",
|
|
2268
2493
|
/*mousedown_handler*/
|
|
2269
|
-
ctx[
|
|
2494
|
+
ctx[14]
|
|
2270
2495
|
),
|
|
2271
2496
|
listen(
|
|
2272
2497
|
textarea,
|
|
2273
2498
|
"touchstart",
|
|
2274
2499
|
/*touchstart_handler*/
|
|
2275
|
-
ctx[
|
|
2500
|
+
ctx[15],
|
|
2276
2501
|
{ passive: true }
|
|
2277
2502
|
),
|
|
2278
2503
|
listen(
|
|
2279
2504
|
textarea,
|
|
2280
2505
|
"focus",
|
|
2281
2506
|
/*focus_handler*/
|
|
2282
|
-
ctx[
|
|
2507
|
+
ctx[16]
|
|
2283
2508
|
),
|
|
2284
2509
|
listen(
|
|
2285
2510
|
textarea,
|
|
2286
2511
|
"focusout",
|
|
2287
2512
|
/*focusout_handler_1*/
|
|
2288
|
-
ctx[
|
|
2513
|
+
ctx[17]
|
|
2289
2514
|
),
|
|
2290
2515
|
listen(
|
|
2291
2516
|
textarea,
|
|
2292
2517
|
"keydown",
|
|
2293
2518
|
/*keydown_handler_1*/
|
|
2294
|
-
ctx[
|
|
2519
|
+
ctx[18]
|
|
2295
2520
|
),
|
|
2296
2521
|
action_destroyer(autosize_action = svelte_autosize_default.call(null, textarea))
|
|
2297
2522
|
];
|
|
@@ -2322,7 +2547,7 @@
|
|
|
2322
2547
|
}
|
|
2323
2548
|
};
|
|
2324
2549
|
}
|
|
2325
|
-
function
|
|
2550
|
+
function create_if_block_22(ctx) {
|
|
2326
2551
|
let input;
|
|
2327
2552
|
let input_class_value;
|
|
2328
2553
|
let mounted;
|
|
@@ -2332,9 +2557,9 @@
|
|
|
2332
2557
|
input = element("input");
|
|
2333
2558
|
attr(input, "type", "text");
|
|
2334
2559
|
attr(input, "id", idLabel);
|
|
2560
|
+
attr(input, "aria-label", placeholder);
|
|
2335
2561
|
attr(input, "placeholder", placeholder);
|
|
2336
|
-
attr(input, "class", input_class_value =
|
|
2337
|
-
ctx[2]} typein-textbox`);
|
|
2562
|
+
attr(input, "class", input_class_value = "typein-textbox " + (!isFinished ? "" : isResultCorrect ? "border-2 border-green-800" : "border-2 border-red-800"));
|
|
2338
2563
|
input.disabled = /*isDataSaving*/
|
|
2339
2564
|
ctx[0];
|
|
2340
2565
|
attr(input, "autocomplete", "off");
|
|
@@ -2352,19 +2577,19 @@
|
|
|
2352
2577
|
input,
|
|
2353
2578
|
"input",
|
|
2354
2579
|
/*input_input_handler*/
|
|
2355
|
-
ctx[
|
|
2580
|
+
ctx[10]
|
|
2356
2581
|
),
|
|
2357
2582
|
listen(
|
|
2358
2583
|
input,
|
|
2359
2584
|
"focusout",
|
|
2360
2585
|
/*focusout_handler*/
|
|
2361
|
-
ctx[
|
|
2586
|
+
ctx[11]
|
|
2362
2587
|
),
|
|
2363
2588
|
listen(
|
|
2364
2589
|
input,
|
|
2365
2590
|
"keydown",
|
|
2366
2591
|
/*keydown_handler*/
|
|
2367
|
-
ctx[
|
|
2592
|
+
ctx[12]
|
|
2368
2593
|
)
|
|
2369
2594
|
];
|
|
2370
2595
|
mounted = true;
|
|
@@ -2400,10 +2625,10 @@
|
|
|
2400
2625
|
function select_block_type(ctx2, dirty) {
|
|
2401
2626
|
if (
|
|
2402
2627
|
/*typeinType*/
|
|
2403
|
-
ctx2[
|
|
2628
|
+
ctx2[4] === TYPEIN_TYPE_SHORT
|
|
2404
2629
|
)
|
|
2405
|
-
return
|
|
2406
|
-
return
|
|
2630
|
+
return create_if_block_22;
|
|
2631
|
+
return create_else_block_1;
|
|
2407
2632
|
}
|
|
2408
2633
|
let current_block_type = select_block_type(ctx, -1);
|
|
2409
2634
|
let if_block = current_block_type(ctx);
|
|
@@ -2428,20 +2653,55 @@
|
|
|
2428
2653
|
};
|
|
2429
2654
|
}
|
|
2430
2655
|
function create_if_block4(ctx) {
|
|
2656
|
+
let div;
|
|
2657
|
+
let span0;
|
|
2658
|
+
let current_block_type_index;
|
|
2659
|
+
let if_block;
|
|
2660
|
+
let span0_class_value;
|
|
2661
|
+
let t0;
|
|
2662
|
+
let span1;
|
|
2663
|
+
let div_class_value;
|
|
2664
|
+
let t2;
|
|
2431
2665
|
let promptresult;
|
|
2432
2666
|
let current;
|
|
2433
|
-
|
|
2667
|
+
const if_block_creators = [create_if_block_14, create_else_block3];
|
|
2668
|
+
const if_blocks = [];
|
|
2669
|
+
function select_block_type_1(ctx2, dirty) {
|
|
2670
|
+
if (isResultCorrect)
|
|
2671
|
+
return 0;
|
|
2672
|
+
return 1;
|
|
2673
|
+
}
|
|
2674
|
+
current_block_type_index = select_block_type_1(ctx, -1);
|
|
2675
|
+
if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx);
|
|
2676
|
+
promptresult = new PromptResultFeedback_default({
|
|
2434
2677
|
props: {
|
|
2435
2678
|
isResultCorrect,
|
|
2436
|
-
|
|
2679
|
+
resultFeedbackTitle: isResultCorrect ? "Well done!" : "Not quite, but you\u2019re close!",
|
|
2437
2680
|
resultFeedback: "You applied the principles of [specific theory] perfectly in your response."
|
|
2438
2681
|
}
|
|
2439
2682
|
});
|
|
2440
2683
|
return {
|
|
2441
2684
|
c() {
|
|
2685
|
+
div = element("div");
|
|
2686
|
+
span0 = element("span");
|
|
2687
|
+
if_block.c();
|
|
2688
|
+
t0 = space();
|
|
2689
|
+
span1 = element("span");
|
|
2690
|
+
span1.textContent = `${isResultCorrect ? "[Generic \u201Ccorrect\u201D message]" : "[Generic \u201Cincorrect\u201D message]"}`;
|
|
2691
|
+
t2 = space();
|
|
2442
2692
|
create_component(promptresult.$$.fragment);
|
|
2693
|
+
attr(span0, "class", span0_class_value = (isResultCorrect ? "text-green-800" : "text-red-800") + " mr-2 p-0.5");
|
|
2694
|
+
attr(span1, "class", "p2");
|
|
2695
|
+
attr(div, "class", div_class_value = "flex items-center text-charcoal " + /*typeinType*/
|
|
2696
|
+
(ctx[4] === TYPEIN_TYPE_SHORT ? "mt-2" : "mt-0.5"));
|
|
2443
2697
|
},
|
|
2444
2698
|
m(target, anchor) {
|
|
2699
|
+
insert(target, div, anchor);
|
|
2700
|
+
append(div, span0);
|
|
2701
|
+
if_blocks[current_block_type_index].m(span0, null);
|
|
2702
|
+
append(div, t0);
|
|
2703
|
+
append(div, span1);
|
|
2704
|
+
insert(target, t2, anchor);
|
|
2445
2705
|
mount_component(promptresult, target, anchor);
|
|
2446
2706
|
current = true;
|
|
2447
2707
|
},
|
|
@@ -2449,18 +2709,79 @@
|
|
|
2449
2709
|
i(local) {
|
|
2450
2710
|
if (current)
|
|
2451
2711
|
return;
|
|
2712
|
+
transition_in(if_block);
|
|
2452
2713
|
transition_in(promptresult.$$.fragment, local);
|
|
2453
2714
|
current = true;
|
|
2454
2715
|
},
|
|
2455
2716
|
o(local) {
|
|
2717
|
+
transition_out(if_block);
|
|
2456
2718
|
transition_out(promptresult.$$.fragment, local);
|
|
2457
2719
|
current = false;
|
|
2458
2720
|
},
|
|
2459
2721
|
d(detaching) {
|
|
2722
|
+
if (detaching) {
|
|
2723
|
+
detach(div);
|
|
2724
|
+
detach(t2);
|
|
2725
|
+
}
|
|
2726
|
+
if_blocks[current_block_type_index].d();
|
|
2460
2727
|
destroy_component(promptresult, detaching);
|
|
2461
2728
|
}
|
|
2462
2729
|
};
|
|
2463
2730
|
}
|
|
2731
|
+
function create_else_block3(ctx) {
|
|
2732
|
+
let errorsolid;
|
|
2733
|
+
let current;
|
|
2734
|
+
errorsolid = new ErrorSolid_default({});
|
|
2735
|
+
return {
|
|
2736
|
+
c() {
|
|
2737
|
+
create_component(errorsolid.$$.fragment);
|
|
2738
|
+
},
|
|
2739
|
+
m(target, anchor) {
|
|
2740
|
+
mount_component(errorsolid, target, anchor);
|
|
2741
|
+
current = true;
|
|
2742
|
+
},
|
|
2743
|
+
i(local) {
|
|
2744
|
+
if (current)
|
|
2745
|
+
return;
|
|
2746
|
+
transition_in(errorsolid.$$.fragment, local);
|
|
2747
|
+
current = true;
|
|
2748
|
+
},
|
|
2749
|
+
o(local) {
|
|
2750
|
+
transition_out(errorsolid.$$.fragment, local);
|
|
2751
|
+
current = false;
|
|
2752
|
+
},
|
|
2753
|
+
d(detaching) {
|
|
2754
|
+
destroy_component(errorsolid, detaching);
|
|
2755
|
+
}
|
|
2756
|
+
};
|
|
2757
|
+
}
|
|
2758
|
+
function create_if_block_14(ctx) {
|
|
2759
|
+
let successsolid;
|
|
2760
|
+
let current;
|
|
2761
|
+
successsolid = new SuccessSolid_default({});
|
|
2762
|
+
return {
|
|
2763
|
+
c() {
|
|
2764
|
+
create_component(successsolid.$$.fragment);
|
|
2765
|
+
},
|
|
2766
|
+
m(target, anchor) {
|
|
2767
|
+
mount_component(successsolid, target, anchor);
|
|
2768
|
+
current = true;
|
|
2769
|
+
},
|
|
2770
|
+
i(local) {
|
|
2771
|
+
if (current)
|
|
2772
|
+
return;
|
|
2773
|
+
transition_in(successsolid.$$.fragment, local);
|
|
2774
|
+
current = true;
|
|
2775
|
+
},
|
|
2776
|
+
o(local) {
|
|
2777
|
+
transition_out(successsolid.$$.fragment, local);
|
|
2778
|
+
current = false;
|
|
2779
|
+
},
|
|
2780
|
+
d(detaching) {
|
|
2781
|
+
destroy_component(successsolid, detaching);
|
|
2782
|
+
}
|
|
2783
|
+
};
|
|
2784
|
+
}
|
|
2464
2785
|
function create_fragment7(ctx) {
|
|
2465
2786
|
let promptbody;
|
|
2466
2787
|
let t2;
|
|
@@ -2470,11 +2791,11 @@
|
|
|
2470
2791
|
props: {
|
|
2471
2792
|
rubric: (
|
|
2472
2793
|
/*rubric*/
|
|
2473
|
-
ctx[
|
|
2794
|
+
ctx[2].text
|
|
2474
2795
|
),
|
|
2475
2796
|
prompt: (
|
|
2476
2797
|
/*prompt*/
|
|
2477
|
-
ctx[
|
|
2798
|
+
ctx[3]
|
|
2478
2799
|
),
|
|
2479
2800
|
$$slots: { default: [create_default_slot2] },
|
|
2480
2801
|
$$scope: { ctx }
|
|
@@ -2500,7 +2821,7 @@
|
|
|
2500
2821
|
p(ctx2, [dirty]) {
|
|
2501
2822
|
const promptbody_changes = {};
|
|
2502
2823
|
if (dirty & /*$$scope, isDataSaving, typeinAnswer*/
|
|
2503
|
-
|
|
2824
|
+
16777219) {
|
|
2504
2825
|
promptbody_changes.$$scope = { dirty, ctx: ctx2 };
|
|
2505
2826
|
}
|
|
2506
2827
|
promptbody.$set(promptbody_changes);
|
|
@@ -2533,7 +2854,7 @@
|
|
|
2533
2854
|
var idLabel = "answerText";
|
|
2534
2855
|
var placeholder = "Type your answer here";
|
|
2535
2856
|
var isFinished = false;
|
|
2536
|
-
var isResultCorrect =
|
|
2857
|
+
var isResultCorrect = false;
|
|
2537
2858
|
function instance4($$self, $$props, $$invalidate) {
|
|
2538
2859
|
let { sessionData } = $$props;
|
|
2539
2860
|
let { isDataSaving } = $$props;
|
|
@@ -2541,7 +2862,6 @@
|
|
|
2541
2862
|
let typeinAnswer;
|
|
2542
2863
|
let latestAnswer = "";
|
|
2543
2864
|
let focusOrigin = "tab";
|
|
2544
|
-
const inputBorderClass = !isFinished ? "" : isResultCorrect ? "border-2 border-green-800" : "border-2 border-red-800";
|
|
2545
2865
|
const { rubric, interaction, metadata } = sessionData;
|
|
2546
2866
|
const { prompt, typein_type: typeinType } = interaction;
|
|
2547
2867
|
if (metadata) {
|
|
@@ -2588,14 +2908,13 @@
|
|
|
2588
2908
|
const keydown_handler_1 = (event) => saveOnEnter(event);
|
|
2589
2909
|
$$self.$$set = ($$props2) => {
|
|
2590
2910
|
if ("sessionData" in $$props2)
|
|
2591
|
-
$$invalidate(
|
|
2911
|
+
$$invalidate(9, sessionData = $$props2.sessionData);
|
|
2592
2912
|
if ("isDataSaving" in $$props2)
|
|
2593
2913
|
$$invalidate(0, isDataSaving = $$props2.isDataSaving);
|
|
2594
2914
|
};
|
|
2595
2915
|
return [
|
|
2596
2916
|
isDataSaving,
|
|
2597
2917
|
typeinAnswer,
|
|
2598
|
-
inputBorderClass,
|
|
2599
2918
|
rubric,
|
|
2600
2919
|
prompt,
|
|
2601
2920
|
typeinType,
|
|
@@ -2618,10 +2937,10 @@
|
|
|
2618
2937
|
var PromptTypeIn = class extends SvelteComponent {
|
|
2619
2938
|
constructor(options) {
|
|
2620
2939
|
super();
|
|
2621
|
-
init(this, options, instance4, create_fragment7, safe_not_equal, { sessionData:
|
|
2940
|
+
init(this, options, instance4, create_fragment7, safe_not_equal, { sessionData: 9, isDataSaving: 0 });
|
|
2622
2941
|
}
|
|
2623
2942
|
get sessionData() {
|
|
2624
|
-
return this.$$.ctx[
|
|
2943
|
+
return this.$$.ctx[9];
|
|
2625
2944
|
}
|
|
2626
2945
|
set sessionData(sessionData) {
|
|
2627
2946
|
this.$$set({ sessionData });
|
|
@@ -2729,7 +3048,7 @@
|
|
|
2729
3048
|
|
|
2730
3049
|
// src/lib/components/prompt/PromptBuilder.svelte
|
|
2731
3050
|
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}}');
|
|
3051
|
+
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
3052
|
}
|
|
2734
3053
|
function create_else_block_12(ctx) {
|
|
2735
3054
|
let invalidbanner;
|
|
@@ -2759,22 +3078,22 @@
|
|
|
2759
3078
|
}
|
|
2760
3079
|
};
|
|
2761
3080
|
}
|
|
2762
|
-
function
|
|
3081
|
+
function create_if_block_15(ctx) {
|
|
2763
3082
|
let current_block_type_index;
|
|
2764
3083
|
let if_block;
|
|
2765
3084
|
let if_block_anchor;
|
|
2766
3085
|
let current;
|
|
2767
|
-
const if_block_creators = [
|
|
3086
|
+
const if_block_creators = [create_if_block_23, create_if_block_32, create_else_block4];
|
|
2768
3087
|
const if_blocks = [];
|
|
2769
3088
|
function select_block_type_1(ctx2, dirty) {
|
|
2770
3089
|
if (
|
|
2771
3090
|
/*interactionType*/
|
|
2772
|
-
ctx2[3] ===
|
|
3091
|
+
ctx2[3] === INTERACTION_TYPE_MCQ
|
|
2773
3092
|
)
|
|
2774
3093
|
return 0;
|
|
2775
3094
|
if (
|
|
2776
3095
|
/*interactionType*/
|
|
2777
|
-
ctx2[3] ===
|
|
3096
|
+
ctx2[3] === INTERACTION_TYPE_TYPEIN
|
|
2778
3097
|
)
|
|
2779
3098
|
return 1;
|
|
2780
3099
|
return 2;
|
|
@@ -2859,7 +3178,7 @@
|
|
|
2859
3178
|
}
|
|
2860
3179
|
};
|
|
2861
3180
|
}
|
|
2862
|
-
function
|
|
3181
|
+
function create_else_block4(ctx) {
|
|
2863
3182
|
let invalidbanner;
|
|
2864
3183
|
let current;
|
|
2865
3184
|
invalidbanner = new InvalidBanner_default({ props: { bannerLabel } });
|
|
@@ -2887,7 +3206,7 @@
|
|
|
2887
3206
|
}
|
|
2888
3207
|
};
|
|
2889
3208
|
}
|
|
2890
|
-
function
|
|
3209
|
+
function create_if_block_32(ctx) {
|
|
2891
3210
|
let prompttypein;
|
|
2892
3211
|
let current;
|
|
2893
3212
|
prompttypein = new PromptTypeIn_default({
|
|
@@ -2905,7 +3224,7 @@
|
|
|
2905
3224
|
prompttypein.$on(
|
|
2906
3225
|
"saveAnswer",
|
|
2907
3226
|
/*saveEvent*/
|
|
2908
|
-
ctx[
|
|
3227
|
+
ctx[6]
|
|
2909
3228
|
);
|
|
2910
3229
|
return {
|
|
2911
3230
|
c() {
|
|
@@ -2942,7 +3261,7 @@
|
|
|
2942
3261
|
}
|
|
2943
3262
|
};
|
|
2944
3263
|
}
|
|
2945
|
-
function
|
|
3264
|
+
function create_if_block_23(ctx) {
|
|
2946
3265
|
let promptmcq;
|
|
2947
3266
|
let current;
|
|
2948
3267
|
promptmcq = new PromptMCQ_default({
|
|
@@ -2954,13 +3273,21 @@
|
|
|
2954
3273
|
isDataSaving: (
|
|
2955
3274
|
/*isDataSaving*/
|
|
2956
3275
|
ctx[2]
|
|
3276
|
+
),
|
|
3277
|
+
isFinished: (
|
|
3278
|
+
/*isFinished*/
|
|
3279
|
+
ctx[4]
|
|
3280
|
+
),
|
|
3281
|
+
isResultCorrect: (
|
|
3282
|
+
/*isResultCorrect*/
|
|
3283
|
+
ctx[5]
|
|
2957
3284
|
)
|
|
2958
3285
|
}
|
|
2959
3286
|
});
|
|
2960
3287
|
promptmcq.$on(
|
|
2961
3288
|
"saveOption",
|
|
2962
3289
|
/*saveEvent*/
|
|
2963
|
-
ctx[
|
|
3290
|
+
ctx[6]
|
|
2964
3291
|
);
|
|
2965
3292
|
return {
|
|
2966
3293
|
c() {
|
|
@@ -2980,6 +3307,14 @@
|
|
|
2980
3307
|
4)
|
|
2981
3308
|
promptmcq_changes.isDataSaving = /*isDataSaving*/
|
|
2982
3309
|
ctx2[2];
|
|
3310
|
+
if (dirty & /*isFinished*/
|
|
3311
|
+
16)
|
|
3312
|
+
promptmcq_changes.isFinished = /*isFinished*/
|
|
3313
|
+
ctx2[4];
|
|
3314
|
+
if (dirty & /*isResultCorrect*/
|
|
3315
|
+
32)
|
|
3316
|
+
promptmcq_changes.isResultCorrect = /*isResultCorrect*/
|
|
3317
|
+
ctx2[5];
|
|
2983
3318
|
promptmcq.$set(promptmcq_changes);
|
|
2984
3319
|
},
|
|
2985
3320
|
i(local) {
|
|
@@ -3002,7 +3337,7 @@
|
|
|
3002
3337
|
let if_block;
|
|
3003
3338
|
let if_block_anchor;
|
|
3004
3339
|
let current;
|
|
3005
|
-
const if_block_creators = [create_if_block5,
|
|
3340
|
+
const if_block_creators = [create_if_block5, create_if_block_15, create_else_block_12];
|
|
3006
3341
|
const if_blocks = [];
|
|
3007
3342
|
function select_block_type(ctx2, dirty) {
|
|
3008
3343
|
if (
|
|
@@ -3077,11 +3412,16 @@
|
|
|
3077
3412
|
let isDataFetching = true;
|
|
3078
3413
|
let isDataSaving = false;
|
|
3079
3414
|
let interactionType = null;
|
|
3415
|
+
let isFinished2 = false;
|
|
3416
|
+
let isLocked = false;
|
|
3417
|
+
let isResultCorrect2 = false;
|
|
3080
3418
|
const skipUserValidationStr = get_store_value(skipUserValidation) ? "?skip_user_validation=true" : "";
|
|
3081
3419
|
const getSessionData = async (sessionId2) => {
|
|
3082
3420
|
try {
|
|
3083
3421
|
const { data } = await useGet(`sessions/${sessionId2}${skipUserValidationStr}`);
|
|
3084
|
-
const { item_id: itemId, metadata } = data;
|
|
3422
|
+
const { item_id: itemId, metadata, is_finished: isSessionFinished, is_locked: isSessionLocked } = data;
|
|
3423
|
+
isLocked = isSessionLocked;
|
|
3424
|
+
$$invalidate(4, isFinished2 = isSessionFinished);
|
|
3085
3425
|
if (itemId) {
|
|
3086
3426
|
await getItemData(itemId, metadata);
|
|
3087
3427
|
}
|
|
@@ -3091,9 +3431,13 @@
|
|
|
3091
3431
|
};
|
|
3092
3432
|
const getItemData = async (itemId, metadata) => {
|
|
3093
3433
|
try {
|
|
3094
|
-
const
|
|
3434
|
+
const includeAnswer = isFinished2 && isLocked ? "?include=[correct_answer]" : "";
|
|
3435
|
+
const { data } = await useGet(`items/${itemId}${includeAnswer}`);
|
|
3095
3436
|
$$invalidate(3, interactionType = getInteractionType(data));
|
|
3096
3437
|
$$invalidate(0, sessionData = { ...data, metadata });
|
|
3438
|
+
if (isFinished2 && isLocked) {
|
|
3439
|
+
await getSessionScore();
|
|
3440
|
+
}
|
|
3097
3441
|
} catch (error) {
|
|
3098
3442
|
} finally {
|
|
3099
3443
|
$$invalidate(1, isDataFetching = false);
|
|
@@ -3110,7 +3454,27 @@
|
|
|
3110
3454
|
}
|
|
3111
3455
|
return interactionType2;
|
|
3112
3456
|
};
|
|
3457
|
+
const getSessionScore = async () => {
|
|
3458
|
+
try {
|
|
3459
|
+
const { data } = await useGet(`sessions/${sessionId}/score`);
|
|
3460
|
+
if (data) {
|
|
3461
|
+
const { metadata, has_answer: hasAnswer, scoring } = data[0];
|
|
3462
|
+
const scoringMetadata = {
|
|
3463
|
+
hasAnswer: !!hasAnswer,
|
|
3464
|
+
answerId: metadata.answer[0],
|
|
3465
|
+
correctAnswerId: metadata.correctAnswerId[0]
|
|
3466
|
+
};
|
|
3467
|
+
$$invalidate(0, sessionData = { ...sessionData, scoringMetadata });
|
|
3468
|
+
$$invalidate(5, isResultCorrect2 = scoring.score_earned);
|
|
3469
|
+
}
|
|
3470
|
+
} catch (error) {
|
|
3471
|
+
} finally {
|
|
3472
|
+
$$invalidate(1, isDataFetching = false);
|
|
3473
|
+
}
|
|
3474
|
+
};
|
|
3113
3475
|
const saveEvent = async ({ detail }) => {
|
|
3476
|
+
if (isLocked || isFinished2)
|
|
3477
|
+
return;
|
|
3114
3478
|
try {
|
|
3115
3479
|
$$invalidate(2, isDataSaving = true);
|
|
3116
3480
|
await usePatch(`sessions/${sessionId}${skipUserValidationStr}`, detail);
|
|
@@ -3124,10 +3488,18 @@
|
|
|
3124
3488
|
getSessionData(sessionId);
|
|
3125
3489
|
}
|
|
3126
3490
|
$$self.$$set = ($$new_props) => {
|
|
3127
|
-
$$invalidate(
|
|
3491
|
+
$$invalidate(14, $$props = assign(assign({}, $$props), exclude_internal_props($$new_props)));
|
|
3128
3492
|
};
|
|
3129
3493
|
$$props = exclude_internal_props($$props);
|
|
3130
|
-
return [
|
|
3494
|
+
return [
|
|
3495
|
+
sessionData,
|
|
3496
|
+
isDataFetching,
|
|
3497
|
+
isDataSaving,
|
|
3498
|
+
interactionType,
|
|
3499
|
+
isFinished2,
|
|
3500
|
+
isResultCorrect2,
|
|
3501
|
+
saveEvent
|
|
3502
|
+
];
|
|
3131
3503
|
}
|
|
3132
3504
|
var PromptBuilder = class extends SvelteComponent {
|
|
3133
3505
|
constructor(options) {
|