eat-js-sdk 0.0.12 → 0.0.14
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 +368 -352
- package/package.json +1 -1
|
@@ -562,7 +562,7 @@
|
|
|
562
562
|
}
|
|
563
563
|
component.$$.dirty[i / 31 | 0] |= 1 << i % 31;
|
|
564
564
|
}
|
|
565
|
-
function init(component, options, instance7,
|
|
565
|
+
function init(component, options, instance7, create_fragment10, not_equal, props, append_styles2 = null, dirty = [-1]) {
|
|
566
566
|
const parent_component = current_component;
|
|
567
567
|
set_current_component(component);
|
|
568
568
|
const $$ = component.$$ = {
|
|
@@ -601,7 +601,7 @@
|
|
|
601
601
|
$$.update();
|
|
602
602
|
ready = true;
|
|
603
603
|
run_all($$.before_update);
|
|
604
|
-
$$.fragment =
|
|
604
|
+
$$.fragment = create_fragment10 ? create_fragment10($$.ctx) : false;
|
|
605
605
|
if (options.target) {
|
|
606
606
|
if (options.hydrate) {
|
|
607
607
|
start_hydrating();
|
|
@@ -1244,285 +1244,80 @@
|
|
|
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/assets/img/messaging/SuccessSolid.svelte
|
|
1248
|
-
function create_fragment2(ctx) {
|
|
1249
|
-
let svg;
|
|
1250
|
-
let path;
|
|
1251
|
-
return {
|
|
1252
|
-
c() {
|
|
1253
|
-
svg = svg_element("svg");
|
|
1254
|
-
path = svg_element("path");
|
|
1255
|
-
attr(path, "fill-rule", "evenodd");
|
|
1256
|
-
attr(path, "clip-rule", "evenodd");
|
|
1257
|
-
attr(path, "d", "M10 0C15.5228 0 20 4.47715 20 10C20 15.5228 15.5228 20 10 20C4.47715 20 0 15.5228 0 10C0 4.47715 4.47715 0 10 0ZM14.7284 6.79289C14.3378 6.40237 13.7047 6.40237 13.3141 6.79289L8.02125 12.0858L6.20711 10.2716C5.81658 9.88112 5.18342 9.88112 4.79289 10.2716C4.40237 10.6622 4.40237 11.2953 4.79289 11.6859L7.31414 14.2071C7.70467 14.5976 8.33783 14.5976 8.72836 14.2071L14.7284 8.20711C15.1189 7.81658 15.1189 7.18342 14.7284 6.79289Z");
|
|
1258
|
-
attr(path, "fill", "currentColor");
|
|
1259
|
-
attr(svg, "width", "20");
|
|
1260
|
-
attr(svg, "height", "20");
|
|
1261
|
-
attr(svg, "viewBox", "0 0 20 20");
|
|
1262
|
-
attr(svg, "fill", "none");
|
|
1263
|
-
attr(svg, "xmlns", "http://www.w3.org/2000/svg");
|
|
1264
|
-
attr(svg, "role", "img");
|
|
1265
|
-
attr(svg, "aria-label", "Check Icon");
|
|
1266
|
-
},
|
|
1267
|
-
m(target, anchor) {
|
|
1268
|
-
insert(target, svg, anchor);
|
|
1269
|
-
append(svg, path);
|
|
1270
|
-
},
|
|
1271
|
-
p: noop,
|
|
1272
|
-
i: noop,
|
|
1273
|
-
o: noop,
|
|
1274
|
-
d(detaching) {
|
|
1275
|
-
if (detaching) {
|
|
1276
|
-
detach(svg);
|
|
1277
|
-
}
|
|
1278
|
-
}
|
|
1279
|
-
};
|
|
1280
|
-
}
|
|
1281
|
-
var SuccessSolid = class extends SvelteComponent {
|
|
1282
|
-
constructor(options) {
|
|
1283
|
-
super();
|
|
1284
|
-
init(this, options, null, create_fragment2, safe_not_equal, {});
|
|
1285
|
-
}
|
|
1286
|
-
};
|
|
1287
|
-
create_custom_element(SuccessSolid, {}, [], [], true);
|
|
1288
|
-
var SuccessSolid_default = SuccessSolid;
|
|
1289
|
-
|
|
1290
|
-
// src/lib/assets/img/messaging/InfoSolid.svelte
|
|
1291
|
-
function create_fragment3(ctx) {
|
|
1292
|
-
let svg;
|
|
1293
|
-
let path;
|
|
1294
|
-
return {
|
|
1295
|
-
c() {
|
|
1296
|
-
svg = svg_element("svg");
|
|
1297
|
-
path = svg_element("path");
|
|
1298
|
-
attr(path, "fill-rule", "evenodd");
|
|
1299
|
-
attr(path, "clip-rule", "evenodd");
|
|
1300
|
-
attr(path, "d", "M10 0C15.5228 0 20 4.47715 20 10C20 15.5228 15.5228 20 10 20C4.47715 20 0 15.5228 0 10C0 4.47715 4.47715 0 10 0ZM10 9C9.44772 9 9 9.44772 9 10V14.5C9 15.0523 9.44772 15.5 10 15.5C10.5523 15.5 11 15.0523 11 14.5V10C11 9.44772 10.5523 9 10 9ZM10 5C9.44772 5 9 5.44772 9 6C9 6.55228 9.44772 7 10 7C10.5523 7 11 6.55228 11 6C11 5.44772 10.5523 5 10 5Z");
|
|
1301
|
-
attr(path, "fill", "currentColor");
|
|
1302
|
-
attr(svg, "width", "20");
|
|
1303
|
-
attr(svg, "height", "20");
|
|
1304
|
-
attr(svg, "viewBox", "0 0 20 20");
|
|
1305
|
-
attr(svg, "fill", "none");
|
|
1306
|
-
attr(svg, "xmlns", "http://www.w3.org/2000/svg");
|
|
1307
|
-
attr(svg, "role", "img");
|
|
1308
|
-
attr(svg, "aria-label", "Info Icon");
|
|
1309
|
-
},
|
|
1310
|
-
m(target, anchor) {
|
|
1311
|
-
insert(target, svg, anchor);
|
|
1312
|
-
append(svg, path);
|
|
1313
|
-
},
|
|
1314
|
-
p: noop,
|
|
1315
|
-
i: noop,
|
|
1316
|
-
o: noop,
|
|
1317
|
-
d(detaching) {
|
|
1318
|
-
if (detaching) {
|
|
1319
|
-
detach(svg);
|
|
1320
|
-
}
|
|
1321
|
-
}
|
|
1322
|
-
};
|
|
1323
|
-
}
|
|
1324
|
-
var InfoSolid = class extends SvelteComponent {
|
|
1325
|
-
constructor(options) {
|
|
1326
|
-
super();
|
|
1327
|
-
init(this, options, null, create_fragment3, safe_not_equal, {});
|
|
1328
|
-
}
|
|
1329
|
-
};
|
|
1330
|
-
create_custom_element(InfoSolid, {}, [], [], true);
|
|
1331
|
-
var InfoSolid_default = InfoSolid;
|
|
1332
|
-
|
|
1333
1247
|
// src/lib/components/prompt/template/PromptResultFeedback.svelte
|
|
1334
1248
|
function create_if_block2(ctx) {
|
|
1335
1249
|
let div0;
|
|
1336
1250
|
let span0;
|
|
1337
|
-
let current_block_type_index;
|
|
1338
|
-
let if_block;
|
|
1339
|
-
let span0_class_value;
|
|
1340
1251
|
let t0;
|
|
1341
|
-
let span3;
|
|
1342
|
-
let span1;
|
|
1343
1252
|
let t1;
|
|
1253
|
+
let span1;
|
|
1344
1254
|
let t2;
|
|
1345
|
-
let span2;
|
|
1346
|
-
let t3;
|
|
1347
1255
|
let div0_class_value;
|
|
1348
|
-
let
|
|
1256
|
+
let t3;
|
|
1349
1257
|
let div1;
|
|
1350
|
-
let current;
|
|
1351
|
-
const if_block_creators = [create_if_block_12, create_else_block];
|
|
1352
|
-
const if_blocks = [];
|
|
1353
|
-
function select_block_type(ctx2, dirty) {
|
|
1354
|
-
if (
|
|
1355
|
-
/*isResultCorrect*/
|
|
1356
|
-
ctx2[2]
|
|
1357
|
-
)
|
|
1358
|
-
return 0;
|
|
1359
|
-
return 1;
|
|
1360
|
-
}
|
|
1361
|
-
current_block_type_index = select_block_type(ctx, -1);
|
|
1362
|
-
if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx);
|
|
1363
1258
|
return {
|
|
1364
1259
|
c() {
|
|
1365
1260
|
div0 = element("div");
|
|
1366
1261
|
span0 = element("span");
|
|
1367
|
-
|
|
1368
|
-
t0 = space();
|
|
1369
|
-
span3 = element("span");
|
|
1370
|
-
span1 = element("span");
|
|
1371
|
-
t1 = text(
|
|
1262
|
+
t0 = text(
|
|
1372
1263
|
/*resultFeedbackTitle*/
|
|
1373
1264
|
ctx[1]
|
|
1374
1265
|
);
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
|
|
1266
|
+
t1 = space();
|
|
1267
|
+
span1 = element("span");
|
|
1268
|
+
t2 = text(
|
|
1378
1269
|
/*resultFeedback*/
|
|
1379
1270
|
ctx[0]
|
|
1380
1271
|
);
|
|
1381
|
-
|
|
1272
|
+
t3 = space();
|
|
1382
1273
|
div1 = element("div");
|
|
1383
|
-
attr(span0, "class",
|
|
1384
|
-
(
|
|
1385
|
-
attr(span1, "class", "block mb-1 font-semibold");
|
|
1386
|
-
attr(span3, "class", "text-base");
|
|
1387
|
-
attr(div0, "class", div0_class_value = "flex items-start my-6 p-4 border-l-[6px] text-charcoal " + /*isResultCorrect*/
|
|
1274
|
+
attr(span0, "class", "block mb-1 font-semibold");
|
|
1275
|
+
attr(div0, "class", div0_class_value = "my-6 p-4 border-l-[6px] text-charcoal text-base " + /*isResultCorrect*/
|
|
1388
1276
|
(ctx[2] ? "border-green-800 bg-green-300" : "border-red-800 bg-red-300"));
|
|
1389
1277
|
attr(div1, "class", "divider my-6");
|
|
1390
1278
|
},
|
|
1391
1279
|
m(target, anchor) {
|
|
1392
1280
|
insert(target, div0, anchor);
|
|
1393
1281
|
append(div0, span0);
|
|
1394
|
-
|
|
1395
|
-
append(div0,
|
|
1396
|
-
append(div0,
|
|
1397
|
-
append(
|
|
1398
|
-
|
|
1399
|
-
append(span3, t2);
|
|
1400
|
-
append(span3, span2);
|
|
1401
|
-
append(span2, t3);
|
|
1402
|
-
insert(target, t4, anchor);
|
|
1282
|
+
append(span0, t0);
|
|
1283
|
+
append(div0, t1);
|
|
1284
|
+
append(div0, span1);
|
|
1285
|
+
append(span1, t2);
|
|
1286
|
+
insert(target, t3, anchor);
|
|
1403
1287
|
insert(target, div1, anchor);
|
|
1404
|
-
current = true;
|
|
1405
1288
|
},
|
|
1406
1289
|
p(ctx2, dirty) {
|
|
1407
|
-
|
|
1408
|
-
current_block_type_index = select_block_type(ctx2, dirty);
|
|
1409
|
-
if (current_block_type_index !== previous_block_index) {
|
|
1410
|
-
group_outros();
|
|
1411
|
-
transition_out(if_blocks[previous_block_index], 1, 1, () => {
|
|
1412
|
-
if_blocks[previous_block_index] = null;
|
|
1413
|
-
});
|
|
1414
|
-
check_outros();
|
|
1415
|
-
if_block = if_blocks[current_block_type_index];
|
|
1416
|
-
if (!if_block) {
|
|
1417
|
-
if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx2);
|
|
1418
|
-
if_block.c();
|
|
1419
|
-
} else {
|
|
1420
|
-
}
|
|
1421
|
-
transition_in(if_block, 1);
|
|
1422
|
-
if_block.m(span0, null);
|
|
1423
|
-
}
|
|
1424
|
-
if (!current || dirty & /*isResultCorrect*/
|
|
1425
|
-
4 && span0_class_value !== (span0_class_value = "mr-2 p-0.5 " + /*isResultCorrect*/
|
|
1426
|
-
(ctx2[2] ? "text-green-800" : "text-red-800"))) {
|
|
1427
|
-
attr(span0, "class", span0_class_value);
|
|
1428
|
-
}
|
|
1429
|
-
if (!current || dirty & /*resultFeedbackTitle*/
|
|
1290
|
+
if (dirty & /*resultFeedbackTitle*/
|
|
1430
1291
|
2)
|
|
1431
1292
|
set_data(
|
|
1432
|
-
|
|
1293
|
+
t0,
|
|
1433
1294
|
/*resultFeedbackTitle*/
|
|
1434
1295
|
ctx2[1]
|
|
1435
1296
|
);
|
|
1436
|
-
if (
|
|
1297
|
+
if (dirty & /*resultFeedback*/
|
|
1437
1298
|
1)
|
|
1438
1299
|
set_data(
|
|
1439
|
-
|
|
1300
|
+
t2,
|
|
1440
1301
|
/*resultFeedback*/
|
|
1441
1302
|
ctx2[0]
|
|
1442
1303
|
);
|
|
1443
|
-
if (
|
|
1444
|
-
4 && div0_class_value !== (div0_class_value = "
|
|
1304
|
+
if (dirty & /*isResultCorrect*/
|
|
1305
|
+
4 && div0_class_value !== (div0_class_value = "my-6 p-4 border-l-[6px] text-charcoal text-base " + /*isResultCorrect*/
|
|
1445
1306
|
(ctx2[2] ? "border-green-800 bg-green-300" : "border-red-800 bg-red-300"))) {
|
|
1446
1307
|
attr(div0, "class", div0_class_value);
|
|
1447
1308
|
}
|
|
1448
1309
|
},
|
|
1449
|
-
i(local) {
|
|
1450
|
-
if (current)
|
|
1451
|
-
return;
|
|
1452
|
-
transition_in(if_block);
|
|
1453
|
-
current = true;
|
|
1454
|
-
},
|
|
1455
|
-
o(local) {
|
|
1456
|
-
transition_out(if_block);
|
|
1457
|
-
current = false;
|
|
1458
|
-
},
|
|
1459
1310
|
d(detaching) {
|
|
1460
1311
|
if (detaching) {
|
|
1461
1312
|
detach(div0);
|
|
1462
|
-
detach(
|
|
1313
|
+
detach(t3);
|
|
1463
1314
|
detach(div1);
|
|
1464
1315
|
}
|
|
1465
|
-
if_blocks[current_block_type_index].d();
|
|
1466
1316
|
}
|
|
1467
1317
|
};
|
|
1468
1318
|
}
|
|
1469
|
-
function
|
|
1470
|
-
let infosolid;
|
|
1471
|
-
let current;
|
|
1472
|
-
infosolid = new InfoSolid_default({});
|
|
1473
|
-
return {
|
|
1474
|
-
c() {
|
|
1475
|
-
create_component(infosolid.$$.fragment);
|
|
1476
|
-
},
|
|
1477
|
-
m(target, anchor) {
|
|
1478
|
-
mount_component(infosolid, target, anchor);
|
|
1479
|
-
current = true;
|
|
1480
|
-
},
|
|
1481
|
-
i(local) {
|
|
1482
|
-
if (current)
|
|
1483
|
-
return;
|
|
1484
|
-
transition_in(infosolid.$$.fragment, local);
|
|
1485
|
-
current = true;
|
|
1486
|
-
},
|
|
1487
|
-
o(local) {
|
|
1488
|
-
transition_out(infosolid.$$.fragment, local);
|
|
1489
|
-
current = false;
|
|
1490
|
-
},
|
|
1491
|
-
d(detaching) {
|
|
1492
|
-
destroy_component(infosolid, detaching);
|
|
1493
|
-
}
|
|
1494
|
-
};
|
|
1495
|
-
}
|
|
1496
|
-
function create_if_block_12(ctx) {
|
|
1497
|
-
let successsolid;
|
|
1498
|
-
let current;
|
|
1499
|
-
successsolid = new SuccessSolid_default({});
|
|
1500
|
-
return {
|
|
1501
|
-
c() {
|
|
1502
|
-
create_component(successsolid.$$.fragment);
|
|
1503
|
-
},
|
|
1504
|
-
m(target, anchor) {
|
|
1505
|
-
mount_component(successsolid, target, anchor);
|
|
1506
|
-
current = true;
|
|
1507
|
-
},
|
|
1508
|
-
i(local) {
|
|
1509
|
-
if (current)
|
|
1510
|
-
return;
|
|
1511
|
-
transition_in(successsolid.$$.fragment, local);
|
|
1512
|
-
current = true;
|
|
1513
|
-
},
|
|
1514
|
-
o(local) {
|
|
1515
|
-
transition_out(successsolid.$$.fragment, local);
|
|
1516
|
-
current = false;
|
|
1517
|
-
},
|
|
1518
|
-
d(detaching) {
|
|
1519
|
-
destroy_component(successsolid, detaching);
|
|
1520
|
-
}
|
|
1521
|
-
};
|
|
1522
|
-
}
|
|
1523
|
-
function create_fragment4(ctx) {
|
|
1319
|
+
function create_fragment2(ctx) {
|
|
1524
1320
|
let if_block_anchor;
|
|
1525
|
-
let current;
|
|
1526
1321
|
let if_block = (
|
|
1527
1322
|
/*resultFeedback*/
|
|
1528
1323
|
ctx[0] && create_if_block2(ctx)
|
|
@@ -1537,7 +1332,6 @@
|
|
|
1537
1332
|
if (if_block)
|
|
1538
1333
|
if_block.m(target, anchor);
|
|
1539
1334
|
insert(target, if_block_anchor, anchor);
|
|
1540
|
-
current = true;
|
|
1541
1335
|
},
|
|
1542
1336
|
p(ctx2, [dirty]) {
|
|
1543
1337
|
if (
|
|
@@ -1546,34 +1340,18 @@
|
|
|
1546
1340
|
) {
|
|
1547
1341
|
if (if_block) {
|
|
1548
1342
|
if_block.p(ctx2, dirty);
|
|
1549
|
-
if (dirty & /*resultFeedback*/
|
|
1550
|
-
1) {
|
|
1551
|
-
transition_in(if_block, 1);
|
|
1552
|
-
}
|
|
1553
1343
|
} else {
|
|
1554
1344
|
if_block = create_if_block2(ctx2);
|
|
1555
1345
|
if_block.c();
|
|
1556
|
-
transition_in(if_block, 1);
|
|
1557
1346
|
if_block.m(if_block_anchor.parentNode, if_block_anchor);
|
|
1558
1347
|
}
|
|
1559
1348
|
} else if (if_block) {
|
|
1560
|
-
|
|
1561
|
-
|
|
1562
|
-
if_block = null;
|
|
1563
|
-
});
|
|
1564
|
-
check_outros();
|
|
1349
|
+
if_block.d(1);
|
|
1350
|
+
if_block = null;
|
|
1565
1351
|
}
|
|
1566
1352
|
},
|
|
1567
|
-
i
|
|
1568
|
-
|
|
1569
|
-
return;
|
|
1570
|
-
transition_in(if_block);
|
|
1571
|
-
current = true;
|
|
1572
|
-
},
|
|
1573
|
-
o(local) {
|
|
1574
|
-
transition_out(if_block);
|
|
1575
|
-
current = false;
|
|
1576
|
-
},
|
|
1353
|
+
i: noop,
|
|
1354
|
+
o: noop,
|
|
1577
1355
|
d(detaching) {
|
|
1578
1356
|
if (detaching) {
|
|
1579
1357
|
detach(if_block_anchor);
|
|
@@ -1586,21 +1364,21 @@
|
|
|
1586
1364
|
function instance2($$self, $$props, $$invalidate) {
|
|
1587
1365
|
let { resultFeedback = null } = $$props;
|
|
1588
1366
|
let { resultFeedbackTitle = null } = $$props;
|
|
1589
|
-
let { isResultCorrect
|
|
1367
|
+
let { isResultCorrect = true } = $$props;
|
|
1590
1368
|
$$self.$$set = ($$props2) => {
|
|
1591
1369
|
if ("resultFeedback" in $$props2)
|
|
1592
1370
|
$$invalidate(0, resultFeedback = $$props2.resultFeedback);
|
|
1593
1371
|
if ("resultFeedbackTitle" in $$props2)
|
|
1594
1372
|
$$invalidate(1, resultFeedbackTitle = $$props2.resultFeedbackTitle);
|
|
1595
1373
|
if ("isResultCorrect" in $$props2)
|
|
1596
|
-
$$invalidate(2,
|
|
1374
|
+
$$invalidate(2, isResultCorrect = $$props2.isResultCorrect);
|
|
1597
1375
|
};
|
|
1598
|
-
return [resultFeedback, resultFeedbackTitle,
|
|
1376
|
+
return [resultFeedback, resultFeedbackTitle, isResultCorrect];
|
|
1599
1377
|
}
|
|
1600
1378
|
var PromptResultFeedback = class extends SvelteComponent {
|
|
1601
1379
|
constructor(options) {
|
|
1602
1380
|
super();
|
|
1603
|
-
init(this, options, instance2,
|
|
1381
|
+
init(this, options, instance2, create_fragment2, safe_not_equal, {
|
|
1604
1382
|
resultFeedback: 0,
|
|
1605
1383
|
resultFeedbackTitle: 1,
|
|
1606
1384
|
isResultCorrect: 2
|
|
@@ -1623,8 +1401,8 @@
|
|
|
1623
1401
|
get isResultCorrect() {
|
|
1624
1402
|
return this.$$.ctx[2];
|
|
1625
1403
|
}
|
|
1626
|
-
set isResultCorrect(
|
|
1627
|
-
this.$$set({ isResultCorrect
|
|
1404
|
+
set isResultCorrect(isResultCorrect) {
|
|
1405
|
+
this.$$set({ isResultCorrect });
|
|
1628
1406
|
flush();
|
|
1629
1407
|
}
|
|
1630
1408
|
};
|
|
@@ -1665,8 +1443,51 @@
|
|
|
1665
1443
|
};
|
|
1666
1444
|
var useMCQ_default = useAlphabetEquivalent;
|
|
1667
1445
|
|
|
1446
|
+
// src/lib/assets/img/messaging/SuccessSolid.svelte
|
|
1447
|
+
function create_fragment3(ctx) {
|
|
1448
|
+
let svg;
|
|
1449
|
+
let path;
|
|
1450
|
+
return {
|
|
1451
|
+
c() {
|
|
1452
|
+
svg = svg_element("svg");
|
|
1453
|
+
path = svg_element("path");
|
|
1454
|
+
attr(path, "fill-rule", "evenodd");
|
|
1455
|
+
attr(path, "clip-rule", "evenodd");
|
|
1456
|
+
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");
|
|
1457
|
+
attr(path, "fill", "currentColor");
|
|
1458
|
+
attr(svg, "width", "20");
|
|
1459
|
+
attr(svg, "height", "20");
|
|
1460
|
+
attr(svg, "viewBox", "0 0 20 20");
|
|
1461
|
+
attr(svg, "fill", "none");
|
|
1462
|
+
attr(svg, "xmlns", "http://www.w3.org/2000/svg");
|
|
1463
|
+
attr(svg, "role", "img");
|
|
1464
|
+
attr(svg, "aria-label", "Check Icon");
|
|
1465
|
+
},
|
|
1466
|
+
m(target, anchor) {
|
|
1467
|
+
insert(target, svg, anchor);
|
|
1468
|
+
append(svg, path);
|
|
1469
|
+
},
|
|
1470
|
+
p: noop,
|
|
1471
|
+
i: noop,
|
|
1472
|
+
o: noop,
|
|
1473
|
+
d(detaching) {
|
|
1474
|
+
if (detaching) {
|
|
1475
|
+
detach(svg);
|
|
1476
|
+
}
|
|
1477
|
+
}
|
|
1478
|
+
};
|
|
1479
|
+
}
|
|
1480
|
+
var SuccessSolid = class extends SvelteComponent {
|
|
1481
|
+
constructor(options) {
|
|
1482
|
+
super();
|
|
1483
|
+
init(this, options, null, create_fragment3, safe_not_equal, {});
|
|
1484
|
+
}
|
|
1485
|
+
};
|
|
1486
|
+
create_custom_element(SuccessSolid, {}, [], [], true);
|
|
1487
|
+
var SuccessSolid_default = SuccessSolid;
|
|
1488
|
+
|
|
1668
1489
|
// src/lib/assets/img/messaging/ErrorSolid.svelte
|
|
1669
|
-
function
|
|
1490
|
+
function create_fragment4(ctx) {
|
|
1670
1491
|
let svg;
|
|
1671
1492
|
let path;
|
|
1672
1493
|
return {
|
|
@@ -1702,7 +1523,7 @@
|
|
|
1702
1523
|
var ErrorSolid = class extends SvelteComponent {
|
|
1703
1524
|
constructor(options) {
|
|
1704
1525
|
super();
|
|
1705
|
-
init(this, options, null,
|
|
1526
|
+
init(this, options, null, create_fragment4, safe_not_equal, {});
|
|
1706
1527
|
}
|
|
1707
1528
|
};
|
|
1708
1529
|
create_custom_element(ErrorSolid, {}, [], [], true);
|
|
@@ -1716,7 +1537,7 @@
|
|
|
1716
1537
|
child_ctx[18] = i;
|
|
1717
1538
|
return child_ctx;
|
|
1718
1539
|
}
|
|
1719
|
-
function
|
|
1540
|
+
function create_if_block_12(ctx) {
|
|
1720
1541
|
let div1;
|
|
1721
1542
|
let div0;
|
|
1722
1543
|
let div0_class_value;
|
|
@@ -1817,7 +1638,7 @@
|
|
|
1817
1638
|
let if_block;
|
|
1818
1639
|
let span_class_value;
|
|
1819
1640
|
let current;
|
|
1820
|
-
const if_block_creators = [create_if_block_3,
|
|
1641
|
+
const if_block_creators = [create_if_block_3, create_else_block];
|
|
1821
1642
|
const if_blocks = [];
|
|
1822
1643
|
function select_block_type(ctx2, dirty) {
|
|
1823
1644
|
if (
|
|
@@ -1883,7 +1704,7 @@
|
|
|
1883
1704
|
}
|
|
1884
1705
|
};
|
|
1885
1706
|
}
|
|
1886
|
-
function
|
|
1707
|
+
function create_else_block(ctx) {
|
|
1887
1708
|
let errorsolid;
|
|
1888
1709
|
let current;
|
|
1889
1710
|
errorsolid = new ErrorSolid_default({});
|
|
@@ -2105,7 +1926,7 @@
|
|
|
2105
1926
|
let current;
|
|
2106
1927
|
let if_block = (
|
|
2107
1928
|
/*options*/
|
|
2108
|
-
ctx[7] &&
|
|
1929
|
+
ctx[7] && create_if_block_12(ctx)
|
|
2109
1930
|
);
|
|
2110
1931
|
return {
|
|
2111
1932
|
c() {
|
|
@@ -2203,7 +2024,7 @@
|
|
|
2203
2024
|
}
|
|
2204
2025
|
};
|
|
2205
2026
|
}
|
|
2206
|
-
function
|
|
2027
|
+
function create_fragment5(ctx) {
|
|
2207
2028
|
let promptbody;
|
|
2208
2029
|
let t2;
|
|
2209
2030
|
let if_block_anchor;
|
|
@@ -2299,8 +2120,8 @@
|
|
|
2299
2120
|
function instance3($$self, $$props, $$invalidate) {
|
|
2300
2121
|
let { sessionData } = $$props;
|
|
2301
2122
|
let { isDataSaving } = $$props;
|
|
2302
|
-
let { isFinished
|
|
2303
|
-
let { isResultCorrect
|
|
2123
|
+
let { isFinished = false } = $$props;
|
|
2124
|
+
let { isResultCorrect = false } = $$props;
|
|
2304
2125
|
const { rubric, interaction, metadata, scoringMetadata } = sessionData;
|
|
2305
2126
|
const { prompt, options } = interaction;
|
|
2306
2127
|
let selectedOption = null;
|
|
@@ -2312,16 +2133,16 @@
|
|
|
2312
2133
|
const { answer_id: answerChoiceId } = currentOption;
|
|
2313
2134
|
selectedOption = answerChoiceId[0];
|
|
2314
2135
|
}
|
|
2315
|
-
if (
|
|
2136
|
+
if (isFinished) {
|
|
2316
2137
|
if (options && selectedOption) {
|
|
2317
2138
|
const feedbackData = Object.values(options).filter((option) => option.id === selectedOption);
|
|
2318
2139
|
resultFeedback = feedbackData[0].feedback || resultFeedback;
|
|
2319
2140
|
}
|
|
2320
|
-
const { answerId,
|
|
2321
|
-
selectedOption = answerId &&
|
|
2141
|
+
const { answerId, hasAnswer } = scoringMetadata;
|
|
2142
|
+
selectedOption = answerId && hasAnswer ? answerId : selectedOption;
|
|
2322
2143
|
}
|
|
2323
2144
|
const handleOptionClick = (optionId, option) => {
|
|
2324
|
-
if (isDataSaving || optionId === selectedOption ||
|
|
2145
|
+
if (isDataSaving || optionId === selectedOption || isFinished)
|
|
2325
2146
|
return;
|
|
2326
2147
|
$$invalidate(3, selectedOption = optionId);
|
|
2327
2148
|
dispatch("saveOption", {
|
|
@@ -2336,14 +2157,14 @@
|
|
|
2336
2157
|
if ("isDataSaving" in $$props2)
|
|
2337
2158
|
$$invalidate(0, isDataSaving = $$props2.isDataSaving);
|
|
2338
2159
|
if ("isFinished" in $$props2)
|
|
2339
|
-
$$invalidate(1,
|
|
2160
|
+
$$invalidate(1, isFinished = $$props2.isFinished);
|
|
2340
2161
|
if ("isResultCorrect" in $$props2)
|
|
2341
|
-
$$invalidate(2,
|
|
2162
|
+
$$invalidate(2, isResultCorrect = $$props2.isResultCorrect);
|
|
2342
2163
|
};
|
|
2343
2164
|
return [
|
|
2344
2165
|
isDataSaving,
|
|
2345
|
-
|
|
2346
|
-
|
|
2166
|
+
isFinished,
|
|
2167
|
+
isResultCorrect,
|
|
2347
2168
|
selectedOption,
|
|
2348
2169
|
resultFeedback,
|
|
2349
2170
|
rubric,
|
|
@@ -2357,7 +2178,7 @@
|
|
|
2357
2178
|
var PromptMCQ = class extends SvelteComponent {
|
|
2358
2179
|
constructor(options) {
|
|
2359
2180
|
super();
|
|
2360
|
-
init(this, options, instance3,
|
|
2181
|
+
init(this, options, instance3, create_fragment5, safe_not_equal, {
|
|
2361
2182
|
sessionData: 9,
|
|
2362
2183
|
isDataSaving: 0,
|
|
2363
2184
|
isFinished: 1,
|
|
@@ -2381,15 +2202,15 @@
|
|
|
2381
2202
|
get isFinished() {
|
|
2382
2203
|
return this.$$.ctx[1];
|
|
2383
2204
|
}
|
|
2384
|
-
set isFinished(
|
|
2385
|
-
this.$$set({ isFinished
|
|
2205
|
+
set isFinished(isFinished) {
|
|
2206
|
+
this.$$set({ isFinished });
|
|
2386
2207
|
flush();
|
|
2387
2208
|
}
|
|
2388
2209
|
get isResultCorrect() {
|
|
2389
2210
|
return this.$$.ctx[2];
|
|
2390
2211
|
}
|
|
2391
|
-
set isResultCorrect(
|
|
2392
|
-
this.$$set({ isResultCorrect
|
|
2212
|
+
set isResultCorrect(isResultCorrect) {
|
|
2213
|
+
this.$$set({ isResultCorrect });
|
|
2393
2214
|
flush();
|
|
2394
2215
|
}
|
|
2395
2216
|
};
|
|
@@ -2487,17 +2308,23 @@
|
|
|
2487
2308
|
attr(textarea, "aria-label", "Answer input: Please type your response");
|
|
2488
2309
|
attr(textarea, "placeholder", placeholder);
|
|
2489
2310
|
attr(textarea, "rows", "3");
|
|
2490
|
-
attr(textarea, "class", textarea_class_value = "typein-textbox overflow-hidden " + (
|
|
2311
|
+
attr(textarea, "class", textarea_class_value = "typein-textbox overflow-hidden " + (!/*isFinished*/
|
|
2312
|
+
ctx[1] ? "" : (
|
|
2313
|
+
/*isResultCorrect*/
|
|
2314
|
+
ctx[2] ? "border-2 border-green-800" : "border-2 border-red-800"
|
|
2315
|
+
)));
|
|
2491
2316
|
textarea.disabled = /*isDataSaving*/
|
|
2492
2317
|
ctx[0];
|
|
2493
2318
|
attr(textarea, "autocomplete", "off");
|
|
2319
|
+
textarea.readOnly = /*isFinished*/
|
|
2320
|
+
ctx[1];
|
|
2494
2321
|
},
|
|
2495
2322
|
m(target, anchor) {
|
|
2496
2323
|
insert(target, textarea, anchor);
|
|
2497
2324
|
set_input_value(
|
|
2498
2325
|
textarea,
|
|
2499
2326
|
/*typeinAnswer*/
|
|
2500
|
-
ctx[
|
|
2327
|
+
ctx[3]
|
|
2501
2328
|
);
|
|
2502
2329
|
if (!mounted) {
|
|
2503
2330
|
dispose = [
|
|
@@ -2505,38 +2332,38 @@
|
|
|
2505
2332
|
textarea,
|
|
2506
2333
|
"input",
|
|
2507
2334
|
/*textarea_input_handler*/
|
|
2508
|
-
ctx[
|
|
2335
|
+
ctx[15]
|
|
2509
2336
|
),
|
|
2510
2337
|
listen(
|
|
2511
2338
|
textarea,
|
|
2512
2339
|
"mousedown",
|
|
2513
2340
|
/*mousedown_handler*/
|
|
2514
|
-
ctx[
|
|
2341
|
+
ctx[16]
|
|
2515
2342
|
),
|
|
2516
2343
|
listen(
|
|
2517
2344
|
textarea,
|
|
2518
2345
|
"touchstart",
|
|
2519
2346
|
/*touchstart_handler*/
|
|
2520
|
-
ctx[
|
|
2347
|
+
ctx[17],
|
|
2521
2348
|
{ passive: true }
|
|
2522
2349
|
),
|
|
2523
2350
|
listen(
|
|
2524
2351
|
textarea,
|
|
2525
2352
|
"focus",
|
|
2526
2353
|
/*focus_handler*/
|
|
2527
|
-
ctx[
|
|
2354
|
+
ctx[18]
|
|
2528
2355
|
),
|
|
2529
2356
|
listen(
|
|
2530
2357
|
textarea,
|
|
2531
2358
|
"focusout",
|
|
2532
2359
|
/*focusout_handler_1*/
|
|
2533
|
-
ctx[
|
|
2360
|
+
ctx[19]
|
|
2534
2361
|
),
|
|
2535
2362
|
listen(
|
|
2536
2363
|
textarea,
|
|
2537
2364
|
"keydown",
|
|
2538
2365
|
/*keydown_handler_1*/
|
|
2539
|
-
ctx[
|
|
2366
|
+
ctx[20]
|
|
2540
2367
|
),
|
|
2541
2368
|
action_destroyer(autosize_action = svelte_autosize_default.call(null, textarea))
|
|
2542
2369
|
];
|
|
@@ -2544,17 +2371,30 @@
|
|
|
2544
2371
|
}
|
|
2545
2372
|
},
|
|
2546
2373
|
p(ctx2, dirty) {
|
|
2374
|
+
if (dirty & /*isFinished, isResultCorrect*/
|
|
2375
|
+
6 && textarea_class_value !== (textarea_class_value = "typein-textbox overflow-hidden " + (!/*isFinished*/
|
|
2376
|
+
ctx2[1] ? "" : (
|
|
2377
|
+
/*isResultCorrect*/
|
|
2378
|
+
ctx2[2] ? "border-2 border-green-800" : "border-2 border-red-800"
|
|
2379
|
+
)))) {
|
|
2380
|
+
attr(textarea, "class", textarea_class_value);
|
|
2381
|
+
}
|
|
2547
2382
|
if (dirty & /*isDataSaving*/
|
|
2548
2383
|
1) {
|
|
2549
2384
|
textarea.disabled = /*isDataSaving*/
|
|
2550
2385
|
ctx2[0];
|
|
2551
2386
|
}
|
|
2552
|
-
if (dirty & /*
|
|
2387
|
+
if (dirty & /*isFinished*/
|
|
2553
2388
|
2) {
|
|
2389
|
+
textarea.readOnly = /*isFinished*/
|
|
2390
|
+
ctx2[1];
|
|
2391
|
+
}
|
|
2392
|
+
if (dirty & /*typeinAnswer*/
|
|
2393
|
+
8) {
|
|
2554
2394
|
set_input_value(
|
|
2555
2395
|
textarea,
|
|
2556
2396
|
/*typeinAnswer*/
|
|
2557
|
-
ctx2[
|
|
2397
|
+
ctx2[3]
|
|
2558
2398
|
);
|
|
2559
2399
|
}
|
|
2560
2400
|
},
|
|
@@ -2579,17 +2419,23 @@
|
|
|
2579
2419
|
attr(input, "id", idLabel);
|
|
2580
2420
|
attr(input, "aria-label", placeholder);
|
|
2581
2421
|
attr(input, "placeholder", placeholder);
|
|
2582
|
-
attr(input, "class", input_class_value = "typein-textbox " + (
|
|
2422
|
+
attr(input, "class", input_class_value = "typein-textbox " + (!/*isFinished*/
|
|
2423
|
+
ctx[1] ? "" : (
|
|
2424
|
+
/*isResultCorrect*/
|
|
2425
|
+
ctx[2] ? "border-2 border-green-800" : "border-2 border-red-800"
|
|
2426
|
+
)));
|
|
2583
2427
|
input.disabled = /*isDataSaving*/
|
|
2584
2428
|
ctx[0];
|
|
2585
2429
|
attr(input, "autocomplete", "off");
|
|
2430
|
+
input.readOnly = /*isFinished*/
|
|
2431
|
+
ctx[1];
|
|
2586
2432
|
},
|
|
2587
2433
|
m(target, anchor) {
|
|
2588
2434
|
insert(target, input, anchor);
|
|
2589
2435
|
set_input_value(
|
|
2590
2436
|
input,
|
|
2591
2437
|
/*typeinAnswer*/
|
|
2592
|
-
ctx[
|
|
2438
|
+
ctx[3]
|
|
2593
2439
|
);
|
|
2594
2440
|
if (!mounted) {
|
|
2595
2441
|
dispose = [
|
|
@@ -2597,37 +2443,50 @@
|
|
|
2597
2443
|
input,
|
|
2598
2444
|
"input",
|
|
2599
2445
|
/*input_input_handler*/
|
|
2600
|
-
ctx[
|
|
2446
|
+
ctx[12]
|
|
2601
2447
|
),
|
|
2602
2448
|
listen(
|
|
2603
2449
|
input,
|
|
2604
2450
|
"focusout",
|
|
2605
2451
|
/*focusout_handler*/
|
|
2606
|
-
ctx[
|
|
2452
|
+
ctx[13]
|
|
2607
2453
|
),
|
|
2608
2454
|
listen(
|
|
2609
2455
|
input,
|
|
2610
2456
|
"keydown",
|
|
2611
2457
|
/*keydown_handler*/
|
|
2612
|
-
ctx[
|
|
2458
|
+
ctx[14]
|
|
2613
2459
|
)
|
|
2614
2460
|
];
|
|
2615
2461
|
mounted = true;
|
|
2616
2462
|
}
|
|
2617
2463
|
},
|
|
2618
2464
|
p(ctx2, dirty) {
|
|
2465
|
+
if (dirty & /*isFinished, isResultCorrect*/
|
|
2466
|
+
6 && input_class_value !== (input_class_value = "typein-textbox " + (!/*isFinished*/
|
|
2467
|
+
ctx2[1] ? "" : (
|
|
2468
|
+
/*isResultCorrect*/
|
|
2469
|
+
ctx2[2] ? "border-2 border-green-800" : "border-2 border-red-800"
|
|
2470
|
+
)))) {
|
|
2471
|
+
attr(input, "class", input_class_value);
|
|
2472
|
+
}
|
|
2619
2473
|
if (dirty & /*isDataSaving*/
|
|
2620
2474
|
1) {
|
|
2621
2475
|
input.disabled = /*isDataSaving*/
|
|
2622
2476
|
ctx2[0];
|
|
2623
2477
|
}
|
|
2478
|
+
if (dirty & /*isFinished*/
|
|
2479
|
+
2) {
|
|
2480
|
+
input.readOnly = /*isFinished*/
|
|
2481
|
+
ctx2[1];
|
|
2482
|
+
}
|
|
2624
2483
|
if (dirty & /*typeinAnswer*/
|
|
2625
|
-
|
|
2626
|
-
ctx2[
|
|
2484
|
+
8 && input.value !== /*typeinAnswer*/
|
|
2485
|
+
ctx2[3]) {
|
|
2627
2486
|
set_input_value(
|
|
2628
2487
|
input,
|
|
2629
2488
|
/*typeinAnswer*/
|
|
2630
|
-
ctx2[
|
|
2489
|
+
ctx2[3]
|
|
2631
2490
|
);
|
|
2632
2491
|
}
|
|
2633
2492
|
},
|
|
@@ -2645,7 +2504,7 @@
|
|
|
2645
2504
|
function select_block_type(ctx2, dirty) {
|
|
2646
2505
|
if (
|
|
2647
2506
|
/*typeinType*/
|
|
2648
|
-
ctx2[
|
|
2507
|
+
ctx2[6] === TYPEIN_TYPE_SHORT
|
|
2649
2508
|
)
|
|
2650
2509
|
return create_if_block_22;
|
|
2651
2510
|
return create_else_block_1;
|
|
@@ -2680,14 +2539,22 @@
|
|
|
2680
2539
|
let span0_class_value;
|
|
2681
2540
|
let t0;
|
|
2682
2541
|
let span1;
|
|
2542
|
+
let t1_value = (
|
|
2543
|
+
/*isResultCorrect*/
|
|
2544
|
+
ctx[2] ? "Correct" : "Incorrect"
|
|
2545
|
+
);
|
|
2546
|
+
let t1;
|
|
2683
2547
|
let div_class_value;
|
|
2684
2548
|
let t2;
|
|
2685
2549
|
let promptresult;
|
|
2686
2550
|
let current;
|
|
2687
|
-
const if_block_creators = [
|
|
2551
|
+
const if_block_creators = [create_if_block_13, create_else_block2];
|
|
2688
2552
|
const if_blocks = [];
|
|
2689
2553
|
function select_block_type_1(ctx2, dirty) {
|
|
2690
|
-
if (
|
|
2554
|
+
if (
|
|
2555
|
+
/*isResultCorrect*/
|
|
2556
|
+
ctx2[2]
|
|
2557
|
+
)
|
|
2691
2558
|
return 0;
|
|
2692
2559
|
return 1;
|
|
2693
2560
|
}
|
|
@@ -2695,9 +2562,15 @@
|
|
|
2695
2562
|
if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx);
|
|
2696
2563
|
promptresult = new PromptResultFeedback_default({
|
|
2697
2564
|
props: {
|
|
2698
|
-
isResultCorrect
|
|
2699
|
-
|
|
2700
|
-
|
|
2565
|
+
isResultCorrect: (
|
|
2566
|
+
/*isResultCorrect*/
|
|
2567
|
+
ctx[2]
|
|
2568
|
+
),
|
|
2569
|
+
resultFeedbackTitle: (
|
|
2570
|
+
/*isResultCorrect*/
|
|
2571
|
+
ctx[2] ? "Well done!" : "Not quite, but you\u2019re close!"
|
|
2572
|
+
),
|
|
2573
|
+
resultFeedback: null
|
|
2701
2574
|
}
|
|
2702
2575
|
});
|
|
2703
2576
|
return {
|
|
@@ -2707,13 +2580,14 @@
|
|
|
2707
2580
|
if_block.c();
|
|
2708
2581
|
t0 = space();
|
|
2709
2582
|
span1 = element("span");
|
|
2710
|
-
|
|
2583
|
+
t1 = text(t1_value);
|
|
2711
2584
|
t2 = space();
|
|
2712
2585
|
create_component(promptresult.$$.fragment);
|
|
2713
|
-
attr(span0, "class", span0_class_value =
|
|
2586
|
+
attr(span0, "class", span0_class_value = /*isResultCorrect*/
|
|
2587
|
+
(ctx[2] ? "text-green-800" : "text-red-800") + " mr-2 p-0.5");
|
|
2714
2588
|
attr(span1, "class", "p2");
|
|
2715
2589
|
attr(div, "class", div_class_value = "flex items-center text-charcoal " + /*typeinType*/
|
|
2716
|
-
(ctx[
|
|
2590
|
+
(ctx[6] === TYPEIN_TYPE_SHORT ? "mt-2" : "mt-0.5"));
|
|
2717
2591
|
},
|
|
2718
2592
|
m(target, anchor) {
|
|
2719
2593
|
insert(target, div, anchor);
|
|
@@ -2721,11 +2595,49 @@
|
|
|
2721
2595
|
if_blocks[current_block_type_index].m(span0, null);
|
|
2722
2596
|
append(div, t0);
|
|
2723
2597
|
append(div, span1);
|
|
2598
|
+
append(span1, t1);
|
|
2724
2599
|
insert(target, t2, anchor);
|
|
2725
2600
|
mount_component(promptresult, target, anchor);
|
|
2726
2601
|
current = true;
|
|
2727
2602
|
},
|
|
2728
|
-
p
|
|
2603
|
+
p(ctx2, dirty) {
|
|
2604
|
+
let previous_block_index = current_block_type_index;
|
|
2605
|
+
current_block_type_index = select_block_type_1(ctx2, dirty);
|
|
2606
|
+
if (current_block_type_index !== previous_block_index) {
|
|
2607
|
+
group_outros();
|
|
2608
|
+
transition_out(if_blocks[previous_block_index], 1, 1, () => {
|
|
2609
|
+
if_blocks[previous_block_index] = null;
|
|
2610
|
+
});
|
|
2611
|
+
check_outros();
|
|
2612
|
+
if_block = if_blocks[current_block_type_index];
|
|
2613
|
+
if (!if_block) {
|
|
2614
|
+
if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx2);
|
|
2615
|
+
if_block.c();
|
|
2616
|
+
} else {
|
|
2617
|
+
}
|
|
2618
|
+
transition_in(if_block, 1);
|
|
2619
|
+
if_block.m(span0, null);
|
|
2620
|
+
}
|
|
2621
|
+
if (!current || dirty & /*isResultCorrect*/
|
|
2622
|
+
4 && span0_class_value !== (span0_class_value = /*isResultCorrect*/
|
|
2623
|
+
(ctx2[2] ? "text-green-800" : "text-red-800") + " mr-2 p-0.5")) {
|
|
2624
|
+
attr(span0, "class", span0_class_value);
|
|
2625
|
+
}
|
|
2626
|
+
if ((!current || dirty & /*isResultCorrect*/
|
|
2627
|
+
4) && t1_value !== (t1_value = /*isResultCorrect*/
|
|
2628
|
+
ctx2[2] ? "Correct" : "Incorrect"))
|
|
2629
|
+
set_data(t1, t1_value);
|
|
2630
|
+
const promptresult_changes = {};
|
|
2631
|
+
if (dirty & /*isResultCorrect*/
|
|
2632
|
+
4)
|
|
2633
|
+
promptresult_changes.isResultCorrect = /*isResultCorrect*/
|
|
2634
|
+
ctx2[2];
|
|
2635
|
+
if (dirty & /*isResultCorrect*/
|
|
2636
|
+
4)
|
|
2637
|
+
promptresult_changes.resultFeedbackTitle = /*isResultCorrect*/
|
|
2638
|
+
ctx2[2] ? "Well done!" : "Not quite, but you\u2019re close!";
|
|
2639
|
+
promptresult.$set(promptresult_changes);
|
|
2640
|
+
},
|
|
2729
2641
|
i(local) {
|
|
2730
2642
|
if (current)
|
|
2731
2643
|
return;
|
|
@@ -2748,7 +2660,7 @@
|
|
|
2748
2660
|
}
|
|
2749
2661
|
};
|
|
2750
2662
|
}
|
|
2751
|
-
function
|
|
2663
|
+
function create_else_block2(ctx) {
|
|
2752
2664
|
let errorsolid;
|
|
2753
2665
|
let current;
|
|
2754
2666
|
errorsolid = new ErrorSolid_default({});
|
|
@@ -2775,7 +2687,7 @@
|
|
|
2775
2687
|
}
|
|
2776
2688
|
};
|
|
2777
2689
|
}
|
|
2778
|
-
function
|
|
2690
|
+
function create_if_block_13(ctx) {
|
|
2779
2691
|
let successsolid;
|
|
2780
2692
|
let current;
|
|
2781
2693
|
successsolid = new SuccessSolid_default({});
|
|
@@ -2802,7 +2714,7 @@
|
|
|
2802
2714
|
}
|
|
2803
2715
|
};
|
|
2804
2716
|
}
|
|
2805
|
-
function
|
|
2717
|
+
function create_fragment6(ctx) {
|
|
2806
2718
|
let promptbody;
|
|
2807
2719
|
let t2;
|
|
2808
2720
|
let if_block_anchor;
|
|
@@ -2811,17 +2723,20 @@
|
|
|
2811
2723
|
props: {
|
|
2812
2724
|
rubric: (
|
|
2813
2725
|
/*rubric*/
|
|
2814
|
-
ctx[
|
|
2726
|
+
ctx[4].text
|
|
2815
2727
|
),
|
|
2816
2728
|
prompt: (
|
|
2817
2729
|
/*prompt*/
|
|
2818
|
-
ctx[
|
|
2730
|
+
ctx[5]
|
|
2819
2731
|
),
|
|
2820
2732
|
$$slots: { default: [create_default_slot2] },
|
|
2821
2733
|
$$scope: { ctx }
|
|
2822
2734
|
}
|
|
2823
2735
|
});
|
|
2824
|
-
let if_block =
|
|
2736
|
+
let if_block = (
|
|
2737
|
+
/*isFinished*/
|
|
2738
|
+
ctx[1] && create_if_block4(ctx)
|
|
2739
|
+
);
|
|
2825
2740
|
return {
|
|
2826
2741
|
c() {
|
|
2827
2742
|
create_component(promptbody.$$.fragment);
|
|
@@ -2840,13 +2755,34 @@
|
|
|
2840
2755
|
},
|
|
2841
2756
|
p(ctx2, [dirty]) {
|
|
2842
2757
|
const promptbody_changes = {};
|
|
2843
|
-
if (dirty & /*$$scope, isDataSaving, typeinAnswer*/
|
|
2844
|
-
|
|
2758
|
+
if (dirty & /*$$scope, isFinished, isResultCorrect, isDataSaving, typeinAnswer*/
|
|
2759
|
+
67108879) {
|
|
2845
2760
|
promptbody_changes.$$scope = { dirty, ctx: ctx2 };
|
|
2846
2761
|
}
|
|
2847
2762
|
promptbody.$set(promptbody_changes);
|
|
2848
|
-
if (
|
|
2849
|
-
|
|
2763
|
+
if (
|
|
2764
|
+
/*isFinished*/
|
|
2765
|
+
ctx2[1]
|
|
2766
|
+
) {
|
|
2767
|
+
if (if_block) {
|
|
2768
|
+
if_block.p(ctx2, dirty);
|
|
2769
|
+
if (dirty & /*isFinished*/
|
|
2770
|
+
2) {
|
|
2771
|
+
transition_in(if_block, 1);
|
|
2772
|
+
}
|
|
2773
|
+
} else {
|
|
2774
|
+
if_block = create_if_block4(ctx2);
|
|
2775
|
+
if_block.c();
|
|
2776
|
+
transition_in(if_block, 1);
|
|
2777
|
+
if_block.m(if_block_anchor.parentNode, if_block_anchor);
|
|
2778
|
+
}
|
|
2779
|
+
} else if (if_block) {
|
|
2780
|
+
group_outros();
|
|
2781
|
+
transition_out(if_block, 1, 1, () => {
|
|
2782
|
+
if_block = null;
|
|
2783
|
+
});
|
|
2784
|
+
check_outros();
|
|
2785
|
+
}
|
|
2850
2786
|
},
|
|
2851
2787
|
i(local) {
|
|
2852
2788
|
if (current)
|
|
@@ -2873,11 +2809,11 @@
|
|
|
2873
2809
|
}
|
|
2874
2810
|
var idLabel = "answerText";
|
|
2875
2811
|
var placeholder = "Type your answer here";
|
|
2876
|
-
var isFinished = false;
|
|
2877
|
-
var isResultCorrect = false;
|
|
2878
2812
|
function instance4($$self, $$props, $$invalidate) {
|
|
2879
2813
|
let { sessionData } = $$props;
|
|
2880
2814
|
let { isDataSaving } = $$props;
|
|
2815
|
+
let { isFinished = false } = $$props;
|
|
2816
|
+
let { isResultCorrect = false } = $$props;
|
|
2881
2817
|
const dispatch = createEventDispatcher();
|
|
2882
2818
|
let typeinAnswer;
|
|
2883
2819
|
let latestAnswer = "";
|
|
@@ -2913,13 +2849,13 @@
|
|
|
2913
2849
|
};
|
|
2914
2850
|
function input_input_handler() {
|
|
2915
2851
|
typeinAnswer = this.value;
|
|
2916
|
-
$$invalidate(
|
|
2852
|
+
$$invalidate(3, typeinAnswer);
|
|
2917
2853
|
}
|
|
2918
2854
|
const focusout_handler = () => saveAnswer();
|
|
2919
2855
|
const keydown_handler = (event) => saveOnEnter(event);
|
|
2920
2856
|
function textarea_input_handler() {
|
|
2921
2857
|
typeinAnswer = this.value;
|
|
2922
|
-
$$invalidate(
|
|
2858
|
+
$$invalidate(3, typeinAnswer);
|
|
2923
2859
|
}
|
|
2924
2860
|
const mousedown_handler = () => handleClick();
|
|
2925
2861
|
const touchstart_handler = () => handleClick();
|
|
@@ -2928,12 +2864,18 @@
|
|
|
2928
2864
|
const keydown_handler_1 = (event) => saveOnEnter(event);
|
|
2929
2865
|
$$self.$$set = ($$props2) => {
|
|
2930
2866
|
if ("sessionData" in $$props2)
|
|
2931
|
-
$$invalidate(
|
|
2867
|
+
$$invalidate(11, sessionData = $$props2.sessionData);
|
|
2932
2868
|
if ("isDataSaving" in $$props2)
|
|
2933
2869
|
$$invalidate(0, isDataSaving = $$props2.isDataSaving);
|
|
2870
|
+
if ("isFinished" in $$props2)
|
|
2871
|
+
$$invalidate(1, isFinished = $$props2.isFinished);
|
|
2872
|
+
if ("isResultCorrect" in $$props2)
|
|
2873
|
+
$$invalidate(2, isResultCorrect = $$props2.isResultCorrect);
|
|
2934
2874
|
};
|
|
2935
2875
|
return [
|
|
2936
2876
|
isDataSaving,
|
|
2877
|
+
isFinished,
|
|
2878
|
+
isResultCorrect,
|
|
2937
2879
|
typeinAnswer,
|
|
2938
2880
|
rubric,
|
|
2939
2881
|
prompt,
|
|
@@ -2957,10 +2899,15 @@
|
|
|
2957
2899
|
var PromptTypeIn = class extends SvelteComponent {
|
|
2958
2900
|
constructor(options) {
|
|
2959
2901
|
super();
|
|
2960
|
-
init(this, options, instance4,
|
|
2902
|
+
init(this, options, instance4, create_fragment6, safe_not_equal, {
|
|
2903
|
+
sessionData: 11,
|
|
2904
|
+
isDataSaving: 0,
|
|
2905
|
+
isFinished: 1,
|
|
2906
|
+
isResultCorrect: 2
|
|
2907
|
+
});
|
|
2961
2908
|
}
|
|
2962
2909
|
get sessionData() {
|
|
2963
|
-
return this.$$.ctx[
|
|
2910
|
+
return this.$$.ctx[11];
|
|
2964
2911
|
}
|
|
2965
2912
|
set sessionData(sessionData) {
|
|
2966
2913
|
this.$$set({ sessionData });
|
|
@@ -2973,12 +2920,26 @@
|
|
|
2973
2920
|
this.$$set({ isDataSaving });
|
|
2974
2921
|
flush();
|
|
2975
2922
|
}
|
|
2923
|
+
get isFinished() {
|
|
2924
|
+
return this.$$.ctx[1];
|
|
2925
|
+
}
|
|
2926
|
+
set isFinished(isFinished) {
|
|
2927
|
+
this.$$set({ isFinished });
|
|
2928
|
+
flush();
|
|
2929
|
+
}
|
|
2930
|
+
get isResultCorrect() {
|
|
2931
|
+
return this.$$.ctx[2];
|
|
2932
|
+
}
|
|
2933
|
+
set isResultCorrect(isResultCorrect) {
|
|
2934
|
+
this.$$set({ isResultCorrect });
|
|
2935
|
+
flush();
|
|
2936
|
+
}
|
|
2976
2937
|
};
|
|
2977
|
-
customElements.define("prompt-typein", create_custom_element(PromptTypeIn, { "sessionData": {}, "isDataSaving": {} }, [], [], true));
|
|
2938
|
+
customElements.define("prompt-typein", create_custom_element(PromptTypeIn, { "sessionData": {}, "isDataSaving": {}, "isFinished": { "type": "Boolean" }, "isResultCorrect": { "type": "Boolean" } }, [], [], true));
|
|
2978
2939
|
var PromptTypeIn_default = PromptTypeIn;
|
|
2979
2940
|
|
|
2980
2941
|
// src/lib/components/prompt/skeleton/PromptSkeleton.svelte
|
|
2981
|
-
function
|
|
2942
|
+
function create_fragment7(ctx) {
|
|
2982
2943
|
let div3;
|
|
2983
2944
|
return {
|
|
2984
2945
|
c() {
|
|
@@ -3001,14 +2962,14 @@
|
|
|
3001
2962
|
var PromptSkeleton = class extends SvelteComponent {
|
|
3002
2963
|
constructor(options) {
|
|
3003
2964
|
super();
|
|
3004
|
-
init(this, options, null,
|
|
2965
|
+
init(this, options, null, create_fragment7, safe_not_equal, {});
|
|
3005
2966
|
}
|
|
3006
2967
|
};
|
|
3007
2968
|
customElements.define("prompt-skeleton", create_custom_element(PromptSkeleton, {}, [], [], true));
|
|
3008
2969
|
var PromptSkeleton_default = PromptSkeleton;
|
|
3009
2970
|
|
|
3010
2971
|
// src/lib/components/common/InvalidBanner.svelte
|
|
3011
|
-
function
|
|
2972
|
+
function create_fragment8(ctx) {
|
|
3012
2973
|
let p;
|
|
3013
2974
|
let t2;
|
|
3014
2975
|
return {
|
|
@@ -3053,7 +3014,7 @@
|
|
|
3053
3014
|
var InvalidBanner = class extends SvelteComponent {
|
|
3054
3015
|
constructor(options) {
|
|
3055
3016
|
super();
|
|
3056
|
-
init(this, options, instance5,
|
|
3017
|
+
init(this, options, instance5, create_fragment8, safe_not_equal, { bannerLabel: 0 });
|
|
3057
3018
|
}
|
|
3058
3019
|
get bannerLabel() {
|
|
3059
3020
|
return this.$$.ctx[0];
|
|
@@ -3068,7 +3029,7 @@
|
|
|
3068
3029
|
|
|
3069
3030
|
// src/lib/components/prompt/PromptBuilder.svelte
|
|
3070
3031
|
function add_css(target) {
|
|
3071
|
-
append_styles(target, "svelte-14zs2vw", '*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}html{-webkit-text-size-adjust:100%;font-feature-settings:normal;font-family:Mulish, sans-serif;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*{font-family:Mulish, sans-serif}input::-moz-selection,textarea::-moz-selection{background-color:hsla(0, 0%, 85%, 0.4)}input::selection,textarea::selection{background-color:hsla(0, 0%, 85%, 0.4)}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.p2{font-size:0.875rem;font-weight:600;line-height:1.25rem;line-height:1.5}.item-heading{--tw-text-opacity:1;color:rgb(8 38 99/var(--tw-text-opacity));font-size:1.25rem;letter-spacing:-0.025em;line-height:1.5rem}.divider{--tw-border-opacity:1;border-bottom-width:1px;border-color:rgb(107 121 121/var(--tw-border-opacity))}@keyframes svelte-14zs2vw-pulse{{opacity:0.5}}.animate-skeleton{--tw-bg-opacity:1;animation:svelte-14zs2vw-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;background-color:rgb(226 232 240/var(--tw-bg-opacity))}.btn-mcq-option:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(84 101 251/var(--tw-ring-opacity));--tw-ring-offset-width:4px;box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0, 0, 0, 0));outline:2px solid transparent;outline-offset:2px;transition-duration:50ms}.btn-mcq-option{--tw-text-opacity:1;--tw-border-opacity:1;--tw-bg-opacity:1;align-items:center;background-color:rgb(247 250 250/var(--tw-bg-opacity));border-color:rgb(113 115 119/var(--tw-border-opacity));border-radius:0.5rem;border-width:1px;color:rgb(33 37 41/var(--tw-text-opacity));display:flex;font-size:1rem;justify-content:space-between;line-height:1.5rem;margin-bottom:1rem;min-height:48px;padding:0.5rem 0.75rem 0.5rem 0.5rem;width:100%}.btn-mcq-option:active{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(222 222 255/var(--tw-bg-opacity));border-color:rgb(8 38 99/var(--tw-border-opacity));border-width:2px}@media(hover: hover) and (pointer: fine){.btn-mcq-option:hover{--tw-bg-opacity:1;background-color:rgb(222 222 255/var(--tw-bg-opacity))}}.btn-mcq-option>span>.choice{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;align-items:center;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:rgb(113 115 119/var(--tw-border-opacity));border-radius:1rem;border-width:1px;color:rgb(93 99 107/var(--tw-text-opacity));display:flex;font-size:1rem;font-weight:700;height:2rem;justify-content:center;letter-spacing:0.05em;line-height:1rem;margin-right:1rem;padding:0.5rem;width:2rem}.btn-mcq-option.selected{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(222 222 255/var(--tw-bg-opacity))}.btn-mcq-option.selected,.btn-mcq-option.selected>span>.choice{border-color:rgb(8 38 99/var(--tw-border-opacity));border-width:2px}.btn-mcq-option.selected>span>.choice{--tw-border-opacity:1}.btn-mcq-option.selected.correct{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(241 254 241/var(--tw-bg-opacity));border-color:rgb(0 102 5/var(--tw-border-opacity));border-width:1px}.btn-mcq-option.selected.incorrect{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(253 243 247/var(--tw-bg-opacity));border-color:rgb(217 12 85/var(--tw-border-opacity));border-width:1px}.btn-mcq-option.selected.correct>span>.choice,.btn-mcq-option.selected.incorrect>span>.choice{--tw-border-opacity:1;border-color:rgb(113 115 119/var(--tw-border-opacity));border-width:1px}.typein-textbox:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(84 101 251/var(--tw-ring-opacity));--tw-ring-offset-width:4px;box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0, 0, 0, 0));outline:2px solid transparent;outline-offset:2px;transition-duration:50ms}.typein-textbox{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:rgb(93 99 107/var(--tw-border-opacity));border-radius:0.5rem;border-width:1px;color:rgb(33 37 41/var(--tw-text-opacity));font-size:1rem;line-height:1.5rem;padding:0.75rem 1rem;width:100%}.typein-textbox::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(93 99 107/var(--tw-placeholder-opacity))}.typein-textbox::placeholder{--tw-placeholder-opacity:1;color:rgb(93 99 107/var(--tw-placeholder-opacity))}.typein-textbox:focus{--tw-border-opacity:1;border-color:rgb(84 101 251/var(--tw-border-opacity));border-width:2px}@media(hover: hover) and (pointer: fine){.typein-textbox:hover{--tw-border-opacity:1;border-color:rgb(84 101 251/var(--tw-border-opacity));border-width:2px;outline:2px solid transparent;outline-offset:2px}}.typein-textbox:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color)!important;box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0, 0, 0, 0)) !important}@media(hover: hover) and (pointer: fine){.typein-textbox:hover{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(84 101 251/var(--tw-ring-opacity));--tw-ring-offset-width:4px;box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0, 0, 0, 0));transition-duration:50ms}}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.z-50{z-index:50}.my-6{margin-bottom:1.5rem;margin-top:1.5rem}.mb-1{margin-bottom:0.25rem}.mb-12{margin-bottom:3rem}.mb-2{margin-bottom:0.5rem}.mr-2{margin-right:0.5rem}.mt-0{margin-top:0}.mt-0\\.5{margin-top:0.125rem}.mt-2{margin-top:0.5rem}.block{display:block}.flex{display:flex}.h-52{height:13rem}.h-6{height:1.5rem}.w-full{width:100%}.grow{flex-grow:1}.items-start{align-items:flex-start}.items-center{align-items:center}.overflow-hidden{overflow:hidden}.rounded{border-radius:0.25rem}.border-2{border-width:2px}.border-l-\\[6px\\]{border-left-width:6px}.border-green-800{--tw-border-opacity:1;border-color:rgb(0 102 5/var(--tw-border-opacity))}.border-red-600{--tw-border-opacity:1;border-color:rgb(220 38 38/var(--tw-border-opacity))}.border-red-800{--tw-border-opacity:1;border-color:rgb(217 12 85/var(--tw-border-opacity))}.bg-green-300{--tw-bg-opacity:1;background-color:rgb(241 254 241/var(--tw-bg-opacity))}.bg-red-200{--tw-bg-opacity:1;background-color:rgb(254 202 202/var(--tw-bg-opacity))}.bg-red-300{--tw-bg-opacity:1;background-color:rgb(253 243 247/var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.p-0{padding:0}.p-0\\.5{padding:0.125rem}.p-2{padding:0.5rem}.p-4{padding:1rem}.text-left{text-align:left}.text-base{font-size:1rem;line-height:1.5rem}.font-semibold{font-weight:600}.text-charcoal{--tw-text-opacity:1;color:rgb(33 37 41/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(0 102 5/var(--tw-text-opacity))}.text-red-800{--tw-text-opacity:1;color:rgb(217 12 85/var(--tw-text-opacity))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.group:active .group-active\\:border-2{border-width:2px}.group:active .group-active\\:border-blue-1000{--tw-border-opacity:1;border-color:rgb(8 38 99/var(--tw-border-opacity))}.group:active .group-active\\:p-\\[7px\\]{padding:7px}@media(min-width: 732px){.md\\:mb-4{margin-bottom:1rem}}');
|
|
3032
|
+
append_styles(target, "svelte-qoakla", '*,: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-qoakla-pulse{{opacity:0.5}}.animate-skeleton{--tw-bg-opacity:1;animation:svelte-qoakla-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-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}}');
|
|
3072
3033
|
}
|
|
3073
3034
|
function create_else_block_12(ctx) {
|
|
3074
3035
|
let invalidbanner;
|
|
@@ -3098,12 +3059,12 @@
|
|
|
3098
3059
|
}
|
|
3099
3060
|
};
|
|
3100
3061
|
}
|
|
3101
|
-
function
|
|
3062
|
+
function create_if_block_14(ctx) {
|
|
3102
3063
|
let current_block_type_index;
|
|
3103
3064
|
let if_block;
|
|
3104
3065
|
let if_block_anchor;
|
|
3105
3066
|
let current;
|
|
3106
|
-
const if_block_creators = [create_if_block_23, create_if_block_32,
|
|
3067
|
+
const if_block_creators = [create_if_block_23, create_if_block_32, create_else_block3];
|
|
3107
3068
|
const if_blocks = [];
|
|
3108
3069
|
function select_block_type_1(ctx2, dirty) {
|
|
3109
3070
|
if (
|
|
@@ -3198,7 +3159,7 @@
|
|
|
3198
3159
|
}
|
|
3199
3160
|
};
|
|
3200
3161
|
}
|
|
3201
|
-
function
|
|
3162
|
+
function create_else_block3(ctx) {
|
|
3202
3163
|
let invalidbanner;
|
|
3203
3164
|
let current;
|
|
3204
3165
|
invalidbanner = new InvalidBanner_default({ props: { bannerLabel } });
|
|
@@ -3238,6 +3199,14 @@
|
|
|
3238
3199
|
isDataSaving: (
|
|
3239
3200
|
/*isDataSaving*/
|
|
3240
3201
|
ctx[2]
|
|
3202
|
+
),
|
|
3203
|
+
isFinished: (
|
|
3204
|
+
/*isFinished*/
|
|
3205
|
+
ctx[4]
|
|
3206
|
+
),
|
|
3207
|
+
isResultCorrect: (
|
|
3208
|
+
/*isResultCorrect*/
|
|
3209
|
+
ctx[5]
|
|
3241
3210
|
)
|
|
3242
3211
|
}
|
|
3243
3212
|
});
|
|
@@ -3264,6 +3233,14 @@
|
|
|
3264
3233
|
4)
|
|
3265
3234
|
prompttypein_changes.isDataSaving = /*isDataSaving*/
|
|
3266
3235
|
ctx2[2];
|
|
3236
|
+
if (dirty & /*isFinished*/
|
|
3237
|
+
16)
|
|
3238
|
+
prompttypein_changes.isFinished = /*isFinished*/
|
|
3239
|
+
ctx2[4];
|
|
3240
|
+
if (dirty & /*isResultCorrect*/
|
|
3241
|
+
32)
|
|
3242
|
+
prompttypein_changes.isResultCorrect = /*isResultCorrect*/
|
|
3243
|
+
ctx2[5];
|
|
3267
3244
|
prompttypein.$set(prompttypein_changes);
|
|
3268
3245
|
},
|
|
3269
3246
|
i(local) {
|
|
@@ -3352,12 +3329,12 @@
|
|
|
3352
3329
|
}
|
|
3353
3330
|
};
|
|
3354
3331
|
}
|
|
3355
|
-
function
|
|
3332
|
+
function create_fragment9(ctx) {
|
|
3356
3333
|
let current_block_type_index;
|
|
3357
3334
|
let if_block;
|
|
3358
3335
|
let if_block_anchor;
|
|
3359
3336
|
let current;
|
|
3360
|
-
const if_block_creators = [create_if_block5,
|
|
3337
|
+
const if_block_creators = [create_if_block5, create_if_block_14, create_else_block_12];
|
|
3361
3338
|
const if_blocks = [];
|
|
3362
3339
|
function select_block_type(ctx2, dirty) {
|
|
3363
3340
|
if (
|
|
@@ -3426,38 +3403,42 @@
|
|
|
3426
3403
|
}
|
|
3427
3404
|
var bannerLabel = "Invalid session id.";
|
|
3428
3405
|
function instance6($$self, $$props, $$invalidate) {
|
|
3429
|
-
const { "session-id": sessionId } = $$props;
|
|
3406
|
+
const { "session-id": sessionId, "preview-mode": previewMode, "item-id": itemId } = $$props;
|
|
3407
|
+
const isPreviewMode = previewMode === "true" && itemId;
|
|
3430
3408
|
useSetupAPI();
|
|
3431
3409
|
let sessionData;
|
|
3432
3410
|
let isDataFetching = true;
|
|
3433
3411
|
let isDataSaving = false;
|
|
3434
3412
|
let interactionType = null;
|
|
3435
|
-
let
|
|
3413
|
+
let isFinished = false;
|
|
3436
3414
|
let isLocked = false;
|
|
3437
|
-
let
|
|
3415
|
+
let isResultCorrect = false;
|
|
3438
3416
|
const skipUserValidationStr = get_store_value(skipUserValidation) ? "?skip_user_validation=true" : "";
|
|
3439
3417
|
const getSessionData = async (sessionId2) => {
|
|
3440
3418
|
try {
|
|
3441
3419
|
const { data } = await useGet(`sessions/${sessionId2}${skipUserValidationStr}`);
|
|
3442
|
-
const { item_id:
|
|
3420
|
+
const { item_id: itemId2, metadata, is_finished: isSessionFinished, is_locked: isSessionLocked } = data;
|
|
3443
3421
|
isLocked = isSessionLocked;
|
|
3444
|
-
$$invalidate(4,
|
|
3445
|
-
if (
|
|
3446
|
-
await getItemData(
|
|
3422
|
+
$$invalidate(4, isFinished = isSessionFinished);
|
|
3423
|
+
if (itemId2) {
|
|
3424
|
+
await getItemData(itemId2, metadata);
|
|
3447
3425
|
}
|
|
3448
3426
|
} catch (error) {
|
|
3449
3427
|
$$invalidate(1, isDataFetching = false);
|
|
3450
3428
|
}
|
|
3451
3429
|
};
|
|
3452
|
-
const getItemData = async (
|
|
3430
|
+
const getItemData = async (itemId2, metadata) => {
|
|
3453
3431
|
try {
|
|
3454
|
-
const includeAnswer =
|
|
3455
|
-
const { data } = await useGet(`items/${
|
|
3432
|
+
const includeAnswer = isFinished && isLocked ? "?include=[correct_answer]" : "";
|
|
3433
|
+
const { data } = await useGet(`items/${itemId2}${includeAnswer}`);
|
|
3456
3434
|
$$invalidate(3, interactionType = getInteractionType(data));
|
|
3457
3435
|
$$invalidate(0, sessionData = { ...data, metadata });
|
|
3458
|
-
if (
|
|
3436
|
+
if (isFinished && isLocked && !isPreviewMode) {
|
|
3459
3437
|
await getSessionScore();
|
|
3460
3438
|
}
|
|
3439
|
+
if (isPreviewMode) {
|
|
3440
|
+
setPreviewData(data);
|
|
3441
|
+
}
|
|
3461
3442
|
} catch (error) {
|
|
3462
3443
|
} finally {
|
|
3463
3444
|
$$invalidate(1, isDataFetching = false);
|
|
@@ -3485,15 +3466,44 @@
|
|
|
3485
3466
|
correctAnswerId: metadata.correctAnswerId[0]
|
|
3486
3467
|
};
|
|
3487
3468
|
$$invalidate(0, sessionData = { ...sessionData, scoringMetadata });
|
|
3488
|
-
$$invalidate(5,
|
|
3469
|
+
$$invalidate(5, isResultCorrect = scoring.score_earned);
|
|
3489
3470
|
}
|
|
3490
3471
|
} catch (error) {
|
|
3491
3472
|
} finally {
|
|
3492
3473
|
$$invalidate(1, isDataFetching = false);
|
|
3493
3474
|
}
|
|
3494
3475
|
};
|
|
3476
|
+
const getPreviewData = async (itemId2) => {
|
|
3477
|
+
await getItemData(itemId2, null);
|
|
3478
|
+
};
|
|
3479
|
+
const setPreviewData = (data) => {
|
|
3480
|
+
switch (interactionType) {
|
|
3481
|
+
case INTERACTION_TYPE_MCQ:
|
|
3482
|
+
const { options } = data.interaction;
|
|
3483
|
+
const answerId = Object.values(options).filter((option) => option.correct_choice === true).map((option) => option.id);
|
|
3484
|
+
const scoringMetadata = {
|
|
3485
|
+
hasAnswer: true,
|
|
3486
|
+
answerId: answerId[0],
|
|
3487
|
+
correctAnswerId: answerId[0]
|
|
3488
|
+
};
|
|
3489
|
+
$$invalidate(0, sessionData = { ...sessionData, scoringMetadata });
|
|
3490
|
+
case INTERACTION_TYPE_TYPEIN:
|
|
3491
|
+
default:
|
|
3492
|
+
const { correct_answer: correctAnswer, typein_type: typeinType } = data.interaction;
|
|
3493
|
+
const metadata = {
|
|
3494
|
+
interactions: {
|
|
3495
|
+
events: [
|
|
3496
|
+
{
|
|
3497
|
+
answer: typeinType === TYPEIN_TYPE_SHORT ? correctAnswer[0] : correctAnswer[0].answer[0]
|
|
3498
|
+
}
|
|
3499
|
+
]
|
|
3500
|
+
}
|
|
3501
|
+
};
|
|
3502
|
+
$$invalidate(0, sessionData = { ...sessionData, metadata });
|
|
3503
|
+
}
|
|
3504
|
+
};
|
|
3495
3505
|
const saveEvent = async ({ detail }) => {
|
|
3496
|
-
if (isLocked ||
|
|
3506
|
+
if (isLocked || isFinished)
|
|
3497
3507
|
return;
|
|
3498
3508
|
try {
|
|
3499
3509
|
$$invalidate(2, isDataSaving = true);
|
|
@@ -3504,11 +3514,17 @@
|
|
|
3504
3514
|
$$invalidate(2, isDataSaving = false);
|
|
3505
3515
|
}
|
|
3506
3516
|
};
|
|
3507
|
-
if (
|
|
3517
|
+
if (isPreviewMode) {
|
|
3518
|
+
isFinished = true;
|
|
3519
|
+
isLocked = true;
|
|
3520
|
+
isResultCorrect = true;
|
|
3521
|
+
getPreviewData(itemId);
|
|
3522
|
+
}
|
|
3523
|
+
if (sessionId && !isPreviewMode) {
|
|
3508
3524
|
getSessionData(sessionId);
|
|
3509
3525
|
}
|
|
3510
3526
|
$$self.$$set = ($$new_props) => {
|
|
3511
|
-
$$invalidate(
|
|
3527
|
+
$$invalidate(19, $$props = assign(assign({}, $$props), exclude_internal_props($$new_props)));
|
|
3512
3528
|
};
|
|
3513
3529
|
$$props = exclude_internal_props($$props);
|
|
3514
3530
|
return [
|
|
@@ -3516,15 +3532,15 @@
|
|
|
3516
3532
|
isDataFetching,
|
|
3517
3533
|
isDataSaving,
|
|
3518
3534
|
interactionType,
|
|
3519
|
-
|
|
3520
|
-
|
|
3535
|
+
isFinished,
|
|
3536
|
+
isResultCorrect,
|
|
3521
3537
|
saveEvent
|
|
3522
3538
|
];
|
|
3523
3539
|
}
|
|
3524
3540
|
var PromptBuilder = class extends SvelteComponent {
|
|
3525
3541
|
constructor(options) {
|
|
3526
3542
|
super();
|
|
3527
|
-
init(this, options, instance6,
|
|
3543
|
+
init(this, options, instance6, create_fragment9, safe_not_equal, {}, add_css);
|
|
3528
3544
|
}
|
|
3529
3545
|
};
|
|
3530
3546
|
customElements.define("prompt-builder", create_custom_element(PromptBuilder, {}, [], [], true));
|