@mathscan/math-exercise-engine 1.0.12 → 1.0.13
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/index.d.ts +920 -13
- package/dist/index.js +262 -10
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +262 -10
- package/dist/index.mjs.map +1 -1
- package/dist/style.css +102 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -25,6 +25,8 @@ export declare const AST_TYPES: {
|
|
|
25
25
|
readonly BOLD_TEXT: "BoldText";
|
|
26
26
|
/** Inline input widget (string or numeric) */
|
|
27
27
|
readonly INLINE_INPUT: "InlineInput";
|
|
28
|
+
/** Inline fraction widget (numerator/denominator with optional inputs) */
|
|
29
|
+
readonly FRACTION: "Fraction";
|
|
28
30
|
/** Question/instruction text block */
|
|
29
31
|
readonly TEXT_BLOCK: "TextBlock";
|
|
30
32
|
/** Line containing inline elements */
|
|
@@ -228,6 +230,13 @@ export declare function compileWithAST(dsl: string): {
|
|
|
228
230
|
name: string;
|
|
229
231
|
digits: number;
|
|
230
232
|
answer?: string | number | undefined;
|
|
233
|
+
} | {
|
|
234
|
+
type: "Fraction";
|
|
235
|
+
name: string;
|
|
236
|
+
simplified: boolean;
|
|
237
|
+
answer?: string | undefined;
|
|
238
|
+
numerator?: number | undefined;
|
|
239
|
+
denominator?: number | undefined;
|
|
231
240
|
})[];
|
|
232
241
|
} | {
|
|
233
242
|
type: "NumberLineBlock";
|
|
@@ -267,6 +276,13 @@ export declare function compileWithAST(dsl: string): {
|
|
|
267
276
|
name: string;
|
|
268
277
|
digits: number;
|
|
269
278
|
answer?: string | number | undefined;
|
|
279
|
+
} | {
|
|
280
|
+
type: "Fraction";
|
|
281
|
+
name: string;
|
|
282
|
+
simplified: boolean;
|
|
283
|
+
answer?: string | undefined;
|
|
284
|
+
numerator?: number | undefined;
|
|
285
|
+
denominator?: number | undefined;
|
|
270
286
|
})[];
|
|
271
287
|
}[];
|
|
272
288
|
counter?: {
|
|
@@ -323,6 +339,13 @@ export declare function compileWithAST(dsl: string): {
|
|
|
323
339
|
name: string;
|
|
324
340
|
digits: number;
|
|
325
341
|
answer?: string | number | undefined;
|
|
342
|
+
} | {
|
|
343
|
+
type: "Fraction";
|
|
344
|
+
name: string;
|
|
345
|
+
simplified: boolean;
|
|
346
|
+
answer?: string | undefined;
|
|
347
|
+
numerator?: number | undefined;
|
|
348
|
+
denominator?: number | undefined;
|
|
326
349
|
})[];
|
|
327
350
|
colspan?: number | undefined;
|
|
328
351
|
}[];
|
|
@@ -373,6 +396,11 @@ export declare function compileWithAST(dsl: string): {
|
|
|
373
396
|
type: "numeric-keypad";
|
|
374
397
|
includeOperators?: boolean | undefined;
|
|
375
398
|
includeDecimal?: boolean | undefined;
|
|
399
|
+
} | {
|
|
400
|
+
type: "fraction";
|
|
401
|
+
numerator: number | null;
|
|
402
|
+
denominator: number | null;
|
|
403
|
+
simplified: boolean;
|
|
376
404
|
}>;
|
|
377
405
|
validation?: {
|
|
378
406
|
mode: "simple" | "expression";
|
|
@@ -484,7 +512,28 @@ export declare const ContentBlockSchema: z.ZodUnion<[z.ZodObject<{
|
|
|
484
512
|
name: string;
|
|
485
513
|
digits: number;
|
|
486
514
|
answer?: string | number | undefined;
|
|
487
|
-
}>]
|
|
515
|
+
}>]>, z.ZodObject<{
|
|
516
|
+
type: z.ZodLiteral<"Fraction">;
|
|
517
|
+
name: z.ZodString;
|
|
518
|
+
numerator: z.ZodOptional<z.ZodNumber>;
|
|
519
|
+
denominator: z.ZodOptional<z.ZodNumber>;
|
|
520
|
+
answer: z.ZodOptional<z.ZodString>;
|
|
521
|
+
simplified: z.ZodDefault<z.ZodBoolean>;
|
|
522
|
+
}, "strip", z.ZodTypeAny, {
|
|
523
|
+
type: "Fraction";
|
|
524
|
+
name: string;
|
|
525
|
+
simplified: boolean;
|
|
526
|
+
answer?: string | undefined;
|
|
527
|
+
numerator?: number | undefined;
|
|
528
|
+
denominator?: number | undefined;
|
|
529
|
+
}, {
|
|
530
|
+
type: "Fraction";
|
|
531
|
+
name: string;
|
|
532
|
+
answer?: string | undefined;
|
|
533
|
+
numerator?: number | undefined;
|
|
534
|
+
denominator?: number | undefined;
|
|
535
|
+
simplified?: boolean | undefined;
|
|
536
|
+
}>]>, "many">;
|
|
488
537
|
}, "strip", z.ZodTypeAny, {
|
|
489
538
|
type: "LineBlock";
|
|
490
539
|
inlines: ({
|
|
@@ -517,6 +566,13 @@ export declare const ContentBlockSchema: z.ZodUnion<[z.ZodObject<{
|
|
|
517
566
|
name: string;
|
|
518
567
|
digits: number;
|
|
519
568
|
answer?: string | number | undefined;
|
|
569
|
+
} | {
|
|
570
|
+
type: "Fraction";
|
|
571
|
+
name: string;
|
|
572
|
+
simplified: boolean;
|
|
573
|
+
answer?: string | undefined;
|
|
574
|
+
numerator?: number | undefined;
|
|
575
|
+
denominator?: number | undefined;
|
|
520
576
|
})[];
|
|
521
577
|
}, {
|
|
522
578
|
type: "LineBlock";
|
|
@@ -550,6 +606,13 @@ export declare const ContentBlockSchema: z.ZodUnion<[z.ZodObject<{
|
|
|
550
606
|
name: string;
|
|
551
607
|
digits: number;
|
|
552
608
|
answer?: string | number | undefined;
|
|
609
|
+
} | {
|
|
610
|
+
type: "Fraction";
|
|
611
|
+
name: string;
|
|
612
|
+
answer?: string | undefined;
|
|
613
|
+
numerator?: number | undefined;
|
|
614
|
+
denominator?: number | undefined;
|
|
615
|
+
simplified?: boolean | undefined;
|
|
553
616
|
})[];
|
|
554
617
|
}>, z.ZodObject<{
|
|
555
618
|
type: z.ZodLiteral<"TableBlock">;
|
|
@@ -649,7 +712,28 @@ export declare const ContentBlockSchema: z.ZodUnion<[z.ZodObject<{
|
|
|
649
712
|
name: string;
|
|
650
713
|
digits: number;
|
|
651
714
|
answer?: string | number | undefined;
|
|
652
|
-
}>]
|
|
715
|
+
}>]>, z.ZodObject<{
|
|
716
|
+
type: z.ZodLiteral<"Fraction">;
|
|
717
|
+
name: z.ZodString;
|
|
718
|
+
numerator: z.ZodOptional<z.ZodNumber>;
|
|
719
|
+
denominator: z.ZodOptional<z.ZodNumber>;
|
|
720
|
+
answer: z.ZodOptional<z.ZodString>;
|
|
721
|
+
simplified: z.ZodDefault<z.ZodBoolean>;
|
|
722
|
+
}, "strip", z.ZodTypeAny, {
|
|
723
|
+
type: "Fraction";
|
|
724
|
+
name: string;
|
|
725
|
+
simplified: boolean;
|
|
726
|
+
answer?: string | undefined;
|
|
727
|
+
numerator?: number | undefined;
|
|
728
|
+
denominator?: number | undefined;
|
|
729
|
+
}, {
|
|
730
|
+
type: "Fraction";
|
|
731
|
+
name: string;
|
|
732
|
+
answer?: string | undefined;
|
|
733
|
+
numerator?: number | undefined;
|
|
734
|
+
denominator?: number | undefined;
|
|
735
|
+
simplified?: boolean | undefined;
|
|
736
|
+
}>]>, "many">;
|
|
653
737
|
}, "strip", z.ZodTypeAny, {
|
|
654
738
|
type: "TableCell";
|
|
655
739
|
inlines: ({
|
|
@@ -682,6 +766,13 @@ export declare const ContentBlockSchema: z.ZodUnion<[z.ZodObject<{
|
|
|
682
766
|
name: string;
|
|
683
767
|
digits: number;
|
|
684
768
|
answer?: string | number | undefined;
|
|
769
|
+
} | {
|
|
770
|
+
type: "Fraction";
|
|
771
|
+
name: string;
|
|
772
|
+
simplified: boolean;
|
|
773
|
+
answer?: string | undefined;
|
|
774
|
+
numerator?: number | undefined;
|
|
775
|
+
denominator?: number | undefined;
|
|
685
776
|
})[];
|
|
686
777
|
colspan?: number | undefined;
|
|
687
778
|
}, {
|
|
@@ -716,6 +807,13 @@ export declare const ContentBlockSchema: z.ZodUnion<[z.ZodObject<{
|
|
|
716
807
|
name: string;
|
|
717
808
|
digits: number;
|
|
718
809
|
answer?: string | number | undefined;
|
|
810
|
+
} | {
|
|
811
|
+
type: "Fraction";
|
|
812
|
+
name: string;
|
|
813
|
+
answer?: string | undefined;
|
|
814
|
+
numerator?: number | undefined;
|
|
815
|
+
denominator?: number | undefined;
|
|
816
|
+
simplified?: boolean | undefined;
|
|
719
817
|
})[];
|
|
720
818
|
colspan?: number | undefined;
|
|
721
819
|
}>, "many">;
|
|
@@ -753,6 +851,13 @@ export declare const ContentBlockSchema: z.ZodUnion<[z.ZodObject<{
|
|
|
753
851
|
name: string;
|
|
754
852
|
digits: number;
|
|
755
853
|
answer?: string | number | undefined;
|
|
854
|
+
} | {
|
|
855
|
+
type: "Fraction";
|
|
856
|
+
name: string;
|
|
857
|
+
simplified: boolean;
|
|
858
|
+
answer?: string | undefined;
|
|
859
|
+
numerator?: number | undefined;
|
|
860
|
+
denominator?: number | undefined;
|
|
756
861
|
})[];
|
|
757
862
|
colspan?: number | undefined;
|
|
758
863
|
}[];
|
|
@@ -790,6 +895,13 @@ export declare const ContentBlockSchema: z.ZodUnion<[z.ZodObject<{
|
|
|
790
895
|
name: string;
|
|
791
896
|
digits: number;
|
|
792
897
|
answer?: string | number | undefined;
|
|
898
|
+
} | {
|
|
899
|
+
type: "Fraction";
|
|
900
|
+
name: string;
|
|
901
|
+
answer?: string | undefined;
|
|
902
|
+
numerator?: number | undefined;
|
|
903
|
+
denominator?: number | undefined;
|
|
904
|
+
simplified?: boolean | undefined;
|
|
793
905
|
})[];
|
|
794
906
|
colspan?: number | undefined;
|
|
795
907
|
}[];
|
|
@@ -831,6 +943,13 @@ export declare const ContentBlockSchema: z.ZodUnion<[z.ZodObject<{
|
|
|
831
943
|
name: string;
|
|
832
944
|
digits: number;
|
|
833
945
|
answer?: string | number | undefined;
|
|
946
|
+
} | {
|
|
947
|
+
type: "Fraction";
|
|
948
|
+
name: string;
|
|
949
|
+
simplified: boolean;
|
|
950
|
+
answer?: string | undefined;
|
|
951
|
+
numerator?: number | undefined;
|
|
952
|
+
denominator?: number | undefined;
|
|
834
953
|
})[];
|
|
835
954
|
colspan?: number | undefined;
|
|
836
955
|
}[];
|
|
@@ -872,6 +991,13 @@ export declare const ContentBlockSchema: z.ZodUnion<[z.ZodObject<{
|
|
|
872
991
|
name: string;
|
|
873
992
|
digits: number;
|
|
874
993
|
answer?: string | number | undefined;
|
|
994
|
+
} | {
|
|
995
|
+
type: "Fraction";
|
|
996
|
+
name: string;
|
|
997
|
+
answer?: string | undefined;
|
|
998
|
+
numerator?: number | undefined;
|
|
999
|
+
denominator?: number | undefined;
|
|
1000
|
+
simplified?: boolean | undefined;
|
|
875
1001
|
})[];
|
|
876
1002
|
colspan?: number | undefined;
|
|
877
1003
|
}[];
|
|
@@ -1054,7 +1180,28 @@ export declare const ContentBlockSchema: z.ZodUnion<[z.ZodObject<{
|
|
|
1054
1180
|
name: string;
|
|
1055
1181
|
digits: number;
|
|
1056
1182
|
answer?: string | number | undefined;
|
|
1057
|
-
}>]
|
|
1183
|
+
}>]>, z.ZodObject<{
|
|
1184
|
+
type: z.ZodLiteral<"Fraction">;
|
|
1185
|
+
name: z.ZodString;
|
|
1186
|
+
numerator: z.ZodOptional<z.ZodNumber>;
|
|
1187
|
+
denominator: z.ZodOptional<z.ZodNumber>;
|
|
1188
|
+
answer: z.ZodOptional<z.ZodString>;
|
|
1189
|
+
simplified: z.ZodDefault<z.ZodBoolean>;
|
|
1190
|
+
}, "strip", z.ZodTypeAny, {
|
|
1191
|
+
type: "Fraction";
|
|
1192
|
+
name: string;
|
|
1193
|
+
simplified: boolean;
|
|
1194
|
+
answer?: string | undefined;
|
|
1195
|
+
numerator?: number | undefined;
|
|
1196
|
+
denominator?: number | undefined;
|
|
1197
|
+
}, {
|
|
1198
|
+
type: "Fraction";
|
|
1199
|
+
name: string;
|
|
1200
|
+
answer?: string | undefined;
|
|
1201
|
+
numerator?: number | undefined;
|
|
1202
|
+
denominator?: number | undefined;
|
|
1203
|
+
simplified?: boolean | undefined;
|
|
1204
|
+
}>]>, "many">;
|
|
1058
1205
|
}, "strip", z.ZodTypeAny, {
|
|
1059
1206
|
value: number;
|
|
1060
1207
|
type: "NumberLinePosition";
|
|
@@ -1088,6 +1235,13 @@ export declare const ContentBlockSchema: z.ZodUnion<[z.ZodObject<{
|
|
|
1088
1235
|
name: string;
|
|
1089
1236
|
digits: number;
|
|
1090
1237
|
answer?: string | number | undefined;
|
|
1238
|
+
} | {
|
|
1239
|
+
type: "Fraction";
|
|
1240
|
+
name: string;
|
|
1241
|
+
simplified: boolean;
|
|
1242
|
+
answer?: string | undefined;
|
|
1243
|
+
numerator?: number | undefined;
|
|
1244
|
+
denominator?: number | undefined;
|
|
1091
1245
|
})[];
|
|
1092
1246
|
}, {
|
|
1093
1247
|
value: number;
|
|
@@ -1122,6 +1276,13 @@ export declare const ContentBlockSchema: z.ZodUnion<[z.ZodObject<{
|
|
|
1122
1276
|
name: string;
|
|
1123
1277
|
digits: number;
|
|
1124
1278
|
answer?: string | number | undefined;
|
|
1279
|
+
} | {
|
|
1280
|
+
type: "Fraction";
|
|
1281
|
+
name: string;
|
|
1282
|
+
answer?: string | undefined;
|
|
1283
|
+
numerator?: number | undefined;
|
|
1284
|
+
denominator?: number | undefined;
|
|
1285
|
+
simplified?: boolean | undefined;
|
|
1125
1286
|
})[];
|
|
1126
1287
|
}>, "many">;
|
|
1127
1288
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -1162,6 +1323,13 @@ export declare const ContentBlockSchema: z.ZodUnion<[z.ZodObject<{
|
|
|
1162
1323
|
name: string;
|
|
1163
1324
|
digits: number;
|
|
1164
1325
|
answer?: string | number | undefined;
|
|
1326
|
+
} | {
|
|
1327
|
+
type: "Fraction";
|
|
1328
|
+
name: string;
|
|
1329
|
+
simplified: boolean;
|
|
1330
|
+
answer?: string | undefined;
|
|
1331
|
+
numerator?: number | undefined;
|
|
1332
|
+
denominator?: number | undefined;
|
|
1165
1333
|
})[];
|
|
1166
1334
|
}[];
|
|
1167
1335
|
counter?: {
|
|
@@ -1218,6 +1386,13 @@ export declare const ContentBlockSchema: z.ZodUnion<[z.ZodObject<{
|
|
|
1218
1386
|
name: string;
|
|
1219
1387
|
digits: number;
|
|
1220
1388
|
answer?: string | number | undefined;
|
|
1389
|
+
} | {
|
|
1390
|
+
type: "Fraction";
|
|
1391
|
+
name: string;
|
|
1392
|
+
answer?: string | undefined;
|
|
1393
|
+
numerator?: number | undefined;
|
|
1394
|
+
denominator?: number | undefined;
|
|
1395
|
+
simplified?: boolean | undefined;
|
|
1221
1396
|
})[];
|
|
1222
1397
|
}[];
|
|
1223
1398
|
counter?: {
|
|
@@ -1276,6 +1451,13 @@ export declare const ContentBlockSchema: z.ZodUnion<[z.ZodObject<{
|
|
|
1276
1451
|
name: string;
|
|
1277
1452
|
digits: number;
|
|
1278
1453
|
answer?: string | number | undefined;
|
|
1454
|
+
} | {
|
|
1455
|
+
type: "Fraction";
|
|
1456
|
+
name: string;
|
|
1457
|
+
simplified: boolean;
|
|
1458
|
+
answer?: string | undefined;
|
|
1459
|
+
numerator?: number | undefined;
|
|
1460
|
+
denominator?: number | undefined;
|
|
1279
1461
|
})[];
|
|
1280
1462
|
}[];
|
|
1281
1463
|
counter?: {
|
|
@@ -1332,6 +1514,13 @@ export declare const ContentBlockSchema: z.ZodUnion<[z.ZodObject<{
|
|
|
1332
1514
|
name: string;
|
|
1333
1515
|
digits: number;
|
|
1334
1516
|
answer?: string | number | undefined;
|
|
1517
|
+
} | {
|
|
1518
|
+
type: "Fraction";
|
|
1519
|
+
name: string;
|
|
1520
|
+
answer?: string | undefined;
|
|
1521
|
+
numerator?: number | undefined;
|
|
1522
|
+
denominator?: number | undefined;
|
|
1523
|
+
simplified?: boolean | undefined;
|
|
1335
1524
|
})[];
|
|
1336
1525
|
}[];
|
|
1337
1526
|
counter?: {
|
|
@@ -1390,6 +1579,13 @@ export declare const ContentBlockSchema: z.ZodUnion<[z.ZodObject<{
|
|
|
1390
1579
|
name: string;
|
|
1391
1580
|
digits: number;
|
|
1392
1581
|
answer?: string | number | undefined;
|
|
1582
|
+
} | {
|
|
1583
|
+
type: "Fraction";
|
|
1584
|
+
name: string;
|
|
1585
|
+
simplified: boolean;
|
|
1586
|
+
answer?: string | undefined;
|
|
1587
|
+
numerator?: number | undefined;
|
|
1588
|
+
denominator?: number | undefined;
|
|
1393
1589
|
})[];
|
|
1394
1590
|
}[];
|
|
1395
1591
|
counter?: {
|
|
@@ -1446,6 +1642,13 @@ export declare const ContentBlockSchema: z.ZodUnion<[z.ZodObject<{
|
|
|
1446
1642
|
name: string;
|
|
1447
1643
|
digits: number;
|
|
1448
1644
|
answer?: string | number | undefined;
|
|
1645
|
+
} | {
|
|
1646
|
+
type: "Fraction";
|
|
1647
|
+
name: string;
|
|
1648
|
+
answer?: string | undefined;
|
|
1649
|
+
numerator?: number | undefined;
|
|
1650
|
+
denominator?: number | undefined;
|
|
1651
|
+
simplified?: boolean | undefined;
|
|
1449
1652
|
})[];
|
|
1450
1653
|
}[];
|
|
1451
1654
|
counter?: {
|
|
@@ -1493,6 +1696,16 @@ export declare function createExerciseDocument(question: z.infer<typeof TextBloc
|
|
|
1493
1696
|
*/
|
|
1494
1697
|
export declare function createExpressionValidation(expression: string): ExpressionValidation;
|
|
1495
1698
|
|
|
1699
|
+
/**
|
|
1700
|
+
* Create a fraction inline widget
|
|
1701
|
+
*/
|
|
1702
|
+
export declare function createFraction(name: string, options?: {
|
|
1703
|
+
numerator?: number;
|
|
1704
|
+
denominator?: number;
|
|
1705
|
+
answer?: string;
|
|
1706
|
+
simplified?: boolean;
|
|
1707
|
+
}): FractionInline;
|
|
1708
|
+
|
|
1496
1709
|
/**
|
|
1497
1710
|
* Create a free text inline element
|
|
1498
1711
|
*/
|
|
@@ -1735,7 +1948,28 @@ export declare const ExerciseDocumentSchema: z.ZodObject<{
|
|
|
1735
1948
|
name: string;
|
|
1736
1949
|
digits: number;
|
|
1737
1950
|
answer?: string | number | undefined;
|
|
1738
|
-
}>]
|
|
1951
|
+
}>]>, z.ZodObject<{
|
|
1952
|
+
type: z.ZodLiteral<"Fraction">;
|
|
1953
|
+
name: z.ZodString;
|
|
1954
|
+
numerator: z.ZodOptional<z.ZodNumber>;
|
|
1955
|
+
denominator: z.ZodOptional<z.ZodNumber>;
|
|
1956
|
+
answer: z.ZodOptional<z.ZodString>;
|
|
1957
|
+
simplified: z.ZodDefault<z.ZodBoolean>;
|
|
1958
|
+
}, "strip", z.ZodTypeAny, {
|
|
1959
|
+
type: "Fraction";
|
|
1960
|
+
name: string;
|
|
1961
|
+
simplified: boolean;
|
|
1962
|
+
answer?: string | undefined;
|
|
1963
|
+
numerator?: number | undefined;
|
|
1964
|
+
denominator?: number | undefined;
|
|
1965
|
+
}, {
|
|
1966
|
+
type: "Fraction";
|
|
1967
|
+
name: string;
|
|
1968
|
+
answer?: string | undefined;
|
|
1969
|
+
numerator?: number | undefined;
|
|
1970
|
+
denominator?: number | undefined;
|
|
1971
|
+
simplified?: boolean | undefined;
|
|
1972
|
+
}>]>, "many">;
|
|
1739
1973
|
}, "strip", z.ZodTypeAny, {
|
|
1740
1974
|
type: "LineBlock";
|
|
1741
1975
|
inlines: ({
|
|
@@ -1768,6 +2002,13 @@ export declare const ExerciseDocumentSchema: z.ZodObject<{
|
|
|
1768
2002
|
name: string;
|
|
1769
2003
|
digits: number;
|
|
1770
2004
|
answer?: string | number | undefined;
|
|
2005
|
+
} | {
|
|
2006
|
+
type: "Fraction";
|
|
2007
|
+
name: string;
|
|
2008
|
+
simplified: boolean;
|
|
2009
|
+
answer?: string | undefined;
|
|
2010
|
+
numerator?: number | undefined;
|
|
2011
|
+
denominator?: number | undefined;
|
|
1771
2012
|
})[];
|
|
1772
2013
|
}, {
|
|
1773
2014
|
type: "LineBlock";
|
|
@@ -1801,6 +2042,13 @@ export declare const ExerciseDocumentSchema: z.ZodObject<{
|
|
|
1801
2042
|
name: string;
|
|
1802
2043
|
digits: number;
|
|
1803
2044
|
answer?: string | number | undefined;
|
|
2045
|
+
} | {
|
|
2046
|
+
type: "Fraction";
|
|
2047
|
+
name: string;
|
|
2048
|
+
answer?: string | undefined;
|
|
2049
|
+
numerator?: number | undefined;
|
|
2050
|
+
denominator?: number | undefined;
|
|
2051
|
+
simplified?: boolean | undefined;
|
|
1804
2052
|
})[];
|
|
1805
2053
|
}>, z.ZodObject<{
|
|
1806
2054
|
type: z.ZodLiteral<"TableBlock">;
|
|
@@ -1900,7 +2148,28 @@ export declare const ExerciseDocumentSchema: z.ZodObject<{
|
|
|
1900
2148
|
name: string;
|
|
1901
2149
|
digits: number;
|
|
1902
2150
|
answer?: string | number | undefined;
|
|
1903
|
-
}>]
|
|
2151
|
+
}>]>, z.ZodObject<{
|
|
2152
|
+
type: z.ZodLiteral<"Fraction">;
|
|
2153
|
+
name: z.ZodString;
|
|
2154
|
+
numerator: z.ZodOptional<z.ZodNumber>;
|
|
2155
|
+
denominator: z.ZodOptional<z.ZodNumber>;
|
|
2156
|
+
answer: z.ZodOptional<z.ZodString>;
|
|
2157
|
+
simplified: z.ZodDefault<z.ZodBoolean>;
|
|
2158
|
+
}, "strip", z.ZodTypeAny, {
|
|
2159
|
+
type: "Fraction";
|
|
2160
|
+
name: string;
|
|
2161
|
+
simplified: boolean;
|
|
2162
|
+
answer?: string | undefined;
|
|
2163
|
+
numerator?: number | undefined;
|
|
2164
|
+
denominator?: number | undefined;
|
|
2165
|
+
}, {
|
|
2166
|
+
type: "Fraction";
|
|
2167
|
+
name: string;
|
|
2168
|
+
answer?: string | undefined;
|
|
2169
|
+
numerator?: number | undefined;
|
|
2170
|
+
denominator?: number | undefined;
|
|
2171
|
+
simplified?: boolean | undefined;
|
|
2172
|
+
}>]>, "many">;
|
|
1904
2173
|
}, "strip", z.ZodTypeAny, {
|
|
1905
2174
|
type: "TableCell";
|
|
1906
2175
|
inlines: ({
|
|
@@ -1933,6 +2202,13 @@ export declare const ExerciseDocumentSchema: z.ZodObject<{
|
|
|
1933
2202
|
name: string;
|
|
1934
2203
|
digits: number;
|
|
1935
2204
|
answer?: string | number | undefined;
|
|
2205
|
+
} | {
|
|
2206
|
+
type: "Fraction";
|
|
2207
|
+
name: string;
|
|
2208
|
+
simplified: boolean;
|
|
2209
|
+
answer?: string | undefined;
|
|
2210
|
+
numerator?: number | undefined;
|
|
2211
|
+
denominator?: number | undefined;
|
|
1936
2212
|
})[];
|
|
1937
2213
|
colspan?: number | undefined;
|
|
1938
2214
|
}, {
|
|
@@ -1967,6 +2243,13 @@ export declare const ExerciseDocumentSchema: z.ZodObject<{
|
|
|
1967
2243
|
name: string;
|
|
1968
2244
|
digits: number;
|
|
1969
2245
|
answer?: string | number | undefined;
|
|
2246
|
+
} | {
|
|
2247
|
+
type: "Fraction";
|
|
2248
|
+
name: string;
|
|
2249
|
+
answer?: string | undefined;
|
|
2250
|
+
numerator?: number | undefined;
|
|
2251
|
+
denominator?: number | undefined;
|
|
2252
|
+
simplified?: boolean | undefined;
|
|
1970
2253
|
})[];
|
|
1971
2254
|
colspan?: number | undefined;
|
|
1972
2255
|
}>, "many">;
|
|
@@ -2004,6 +2287,13 @@ export declare const ExerciseDocumentSchema: z.ZodObject<{
|
|
|
2004
2287
|
name: string;
|
|
2005
2288
|
digits: number;
|
|
2006
2289
|
answer?: string | number | undefined;
|
|
2290
|
+
} | {
|
|
2291
|
+
type: "Fraction";
|
|
2292
|
+
name: string;
|
|
2293
|
+
simplified: boolean;
|
|
2294
|
+
answer?: string | undefined;
|
|
2295
|
+
numerator?: number | undefined;
|
|
2296
|
+
denominator?: number | undefined;
|
|
2007
2297
|
})[];
|
|
2008
2298
|
colspan?: number | undefined;
|
|
2009
2299
|
}[];
|
|
@@ -2041,6 +2331,13 @@ export declare const ExerciseDocumentSchema: z.ZodObject<{
|
|
|
2041
2331
|
name: string;
|
|
2042
2332
|
digits: number;
|
|
2043
2333
|
answer?: string | number | undefined;
|
|
2334
|
+
} | {
|
|
2335
|
+
type: "Fraction";
|
|
2336
|
+
name: string;
|
|
2337
|
+
answer?: string | undefined;
|
|
2338
|
+
numerator?: number | undefined;
|
|
2339
|
+
denominator?: number | undefined;
|
|
2340
|
+
simplified?: boolean | undefined;
|
|
2044
2341
|
})[];
|
|
2045
2342
|
colspan?: number | undefined;
|
|
2046
2343
|
}[];
|
|
@@ -2082,6 +2379,13 @@ export declare const ExerciseDocumentSchema: z.ZodObject<{
|
|
|
2082
2379
|
name: string;
|
|
2083
2380
|
digits: number;
|
|
2084
2381
|
answer?: string | number | undefined;
|
|
2382
|
+
} | {
|
|
2383
|
+
type: "Fraction";
|
|
2384
|
+
name: string;
|
|
2385
|
+
simplified: boolean;
|
|
2386
|
+
answer?: string | undefined;
|
|
2387
|
+
numerator?: number | undefined;
|
|
2388
|
+
denominator?: number | undefined;
|
|
2085
2389
|
})[];
|
|
2086
2390
|
colspan?: number | undefined;
|
|
2087
2391
|
}[];
|
|
@@ -2123,6 +2427,13 @@ export declare const ExerciseDocumentSchema: z.ZodObject<{
|
|
|
2123
2427
|
name: string;
|
|
2124
2428
|
digits: number;
|
|
2125
2429
|
answer?: string | number | undefined;
|
|
2430
|
+
} | {
|
|
2431
|
+
type: "Fraction";
|
|
2432
|
+
name: string;
|
|
2433
|
+
answer?: string | undefined;
|
|
2434
|
+
numerator?: number | undefined;
|
|
2435
|
+
denominator?: number | undefined;
|
|
2436
|
+
simplified?: boolean | undefined;
|
|
2126
2437
|
})[];
|
|
2127
2438
|
colspan?: number | undefined;
|
|
2128
2439
|
}[];
|
|
@@ -2305,7 +2616,28 @@ export declare const ExerciseDocumentSchema: z.ZodObject<{
|
|
|
2305
2616
|
name: string;
|
|
2306
2617
|
digits: number;
|
|
2307
2618
|
answer?: string | number | undefined;
|
|
2308
|
-
}>]
|
|
2619
|
+
}>]>, z.ZodObject<{
|
|
2620
|
+
type: z.ZodLiteral<"Fraction">;
|
|
2621
|
+
name: z.ZodString;
|
|
2622
|
+
numerator: z.ZodOptional<z.ZodNumber>;
|
|
2623
|
+
denominator: z.ZodOptional<z.ZodNumber>;
|
|
2624
|
+
answer: z.ZodOptional<z.ZodString>;
|
|
2625
|
+
simplified: z.ZodDefault<z.ZodBoolean>;
|
|
2626
|
+
}, "strip", z.ZodTypeAny, {
|
|
2627
|
+
type: "Fraction";
|
|
2628
|
+
name: string;
|
|
2629
|
+
simplified: boolean;
|
|
2630
|
+
answer?: string | undefined;
|
|
2631
|
+
numerator?: number | undefined;
|
|
2632
|
+
denominator?: number | undefined;
|
|
2633
|
+
}, {
|
|
2634
|
+
type: "Fraction";
|
|
2635
|
+
name: string;
|
|
2636
|
+
answer?: string | undefined;
|
|
2637
|
+
numerator?: number | undefined;
|
|
2638
|
+
denominator?: number | undefined;
|
|
2639
|
+
simplified?: boolean | undefined;
|
|
2640
|
+
}>]>, "many">;
|
|
2309
2641
|
}, "strip", z.ZodTypeAny, {
|
|
2310
2642
|
value: number;
|
|
2311
2643
|
type: "NumberLinePosition";
|
|
@@ -2339,6 +2671,13 @@ export declare const ExerciseDocumentSchema: z.ZodObject<{
|
|
|
2339
2671
|
name: string;
|
|
2340
2672
|
digits: number;
|
|
2341
2673
|
answer?: string | number | undefined;
|
|
2674
|
+
} | {
|
|
2675
|
+
type: "Fraction";
|
|
2676
|
+
name: string;
|
|
2677
|
+
simplified: boolean;
|
|
2678
|
+
answer?: string | undefined;
|
|
2679
|
+
numerator?: number | undefined;
|
|
2680
|
+
denominator?: number | undefined;
|
|
2342
2681
|
})[];
|
|
2343
2682
|
}, {
|
|
2344
2683
|
value: number;
|
|
@@ -2373,6 +2712,13 @@ export declare const ExerciseDocumentSchema: z.ZodObject<{
|
|
|
2373
2712
|
name: string;
|
|
2374
2713
|
digits: number;
|
|
2375
2714
|
answer?: string | number | undefined;
|
|
2715
|
+
} | {
|
|
2716
|
+
type: "Fraction";
|
|
2717
|
+
name: string;
|
|
2718
|
+
answer?: string | undefined;
|
|
2719
|
+
numerator?: number | undefined;
|
|
2720
|
+
denominator?: number | undefined;
|
|
2721
|
+
simplified?: boolean | undefined;
|
|
2376
2722
|
})[];
|
|
2377
2723
|
}>, "many">;
|
|
2378
2724
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -2413,6 +2759,13 @@ export declare const ExerciseDocumentSchema: z.ZodObject<{
|
|
|
2413
2759
|
name: string;
|
|
2414
2760
|
digits: number;
|
|
2415
2761
|
answer?: string | number | undefined;
|
|
2762
|
+
} | {
|
|
2763
|
+
type: "Fraction";
|
|
2764
|
+
name: string;
|
|
2765
|
+
simplified: boolean;
|
|
2766
|
+
answer?: string | undefined;
|
|
2767
|
+
numerator?: number | undefined;
|
|
2768
|
+
denominator?: number | undefined;
|
|
2416
2769
|
})[];
|
|
2417
2770
|
}[];
|
|
2418
2771
|
counter?: {
|
|
@@ -2469,6 +2822,13 @@ export declare const ExerciseDocumentSchema: z.ZodObject<{
|
|
|
2469
2822
|
name: string;
|
|
2470
2823
|
digits: number;
|
|
2471
2824
|
answer?: string | number | undefined;
|
|
2825
|
+
} | {
|
|
2826
|
+
type: "Fraction";
|
|
2827
|
+
name: string;
|
|
2828
|
+
answer?: string | undefined;
|
|
2829
|
+
numerator?: number | undefined;
|
|
2830
|
+
denominator?: number | undefined;
|
|
2831
|
+
simplified?: boolean | undefined;
|
|
2472
2832
|
})[];
|
|
2473
2833
|
}[];
|
|
2474
2834
|
counter?: {
|
|
@@ -2527,6 +2887,13 @@ export declare const ExerciseDocumentSchema: z.ZodObject<{
|
|
|
2527
2887
|
name: string;
|
|
2528
2888
|
digits: number;
|
|
2529
2889
|
answer?: string | number | undefined;
|
|
2890
|
+
} | {
|
|
2891
|
+
type: "Fraction";
|
|
2892
|
+
name: string;
|
|
2893
|
+
simplified: boolean;
|
|
2894
|
+
answer?: string | undefined;
|
|
2895
|
+
numerator?: number | undefined;
|
|
2896
|
+
denominator?: number | undefined;
|
|
2530
2897
|
})[];
|
|
2531
2898
|
}[];
|
|
2532
2899
|
counter?: {
|
|
@@ -2583,6 +2950,13 @@ export declare const ExerciseDocumentSchema: z.ZodObject<{
|
|
|
2583
2950
|
name: string;
|
|
2584
2951
|
digits: number;
|
|
2585
2952
|
answer?: string | number | undefined;
|
|
2953
|
+
} | {
|
|
2954
|
+
type: "Fraction";
|
|
2955
|
+
name: string;
|
|
2956
|
+
answer?: string | undefined;
|
|
2957
|
+
numerator?: number | undefined;
|
|
2958
|
+
denominator?: number | undefined;
|
|
2959
|
+
simplified?: boolean | undefined;
|
|
2586
2960
|
})[];
|
|
2587
2961
|
}[];
|
|
2588
2962
|
counter?: {
|
|
@@ -2641,6 +3015,13 @@ export declare const ExerciseDocumentSchema: z.ZodObject<{
|
|
|
2641
3015
|
name: string;
|
|
2642
3016
|
digits: number;
|
|
2643
3017
|
answer?: string | number | undefined;
|
|
3018
|
+
} | {
|
|
3019
|
+
type: "Fraction";
|
|
3020
|
+
name: string;
|
|
3021
|
+
simplified: boolean;
|
|
3022
|
+
answer?: string | undefined;
|
|
3023
|
+
numerator?: number | undefined;
|
|
3024
|
+
denominator?: number | undefined;
|
|
2644
3025
|
})[];
|
|
2645
3026
|
}[];
|
|
2646
3027
|
counter?: {
|
|
@@ -2697,6 +3078,13 @@ export declare const ExerciseDocumentSchema: z.ZodObject<{
|
|
|
2697
3078
|
name: string;
|
|
2698
3079
|
digits: number;
|
|
2699
3080
|
answer?: string | number | undefined;
|
|
3081
|
+
} | {
|
|
3082
|
+
type: "Fraction";
|
|
3083
|
+
name: string;
|
|
3084
|
+
answer?: string | undefined;
|
|
3085
|
+
numerator?: number | undefined;
|
|
3086
|
+
denominator?: number | undefined;
|
|
3087
|
+
simplified?: boolean | undefined;
|
|
2700
3088
|
})[];
|
|
2701
3089
|
}[];
|
|
2702
3090
|
counter?: {
|
|
@@ -2790,6 +3178,13 @@ export declare const ExerciseDocumentSchema: z.ZodObject<{
|
|
|
2790
3178
|
name: string;
|
|
2791
3179
|
digits: number;
|
|
2792
3180
|
answer?: string | number | undefined;
|
|
3181
|
+
} | {
|
|
3182
|
+
type: "Fraction";
|
|
3183
|
+
name: string;
|
|
3184
|
+
simplified: boolean;
|
|
3185
|
+
answer?: string | undefined;
|
|
3186
|
+
numerator?: number | undefined;
|
|
3187
|
+
denominator?: number | undefined;
|
|
2793
3188
|
})[];
|
|
2794
3189
|
} | {
|
|
2795
3190
|
type: "NumberLineBlock";
|
|
@@ -2829,6 +3224,13 @@ export declare const ExerciseDocumentSchema: z.ZodObject<{
|
|
|
2829
3224
|
name: string;
|
|
2830
3225
|
digits: number;
|
|
2831
3226
|
answer?: string | number | undefined;
|
|
3227
|
+
} | {
|
|
3228
|
+
type: "Fraction";
|
|
3229
|
+
name: string;
|
|
3230
|
+
simplified: boolean;
|
|
3231
|
+
answer?: string | undefined;
|
|
3232
|
+
numerator?: number | undefined;
|
|
3233
|
+
denominator?: number | undefined;
|
|
2832
3234
|
})[];
|
|
2833
3235
|
}[];
|
|
2834
3236
|
counter?: {
|
|
@@ -2885,6 +3287,13 @@ export declare const ExerciseDocumentSchema: z.ZodObject<{
|
|
|
2885
3287
|
name: string;
|
|
2886
3288
|
digits: number;
|
|
2887
3289
|
answer?: string | number | undefined;
|
|
3290
|
+
} | {
|
|
3291
|
+
type: "Fraction";
|
|
3292
|
+
name: string;
|
|
3293
|
+
simplified: boolean;
|
|
3294
|
+
answer?: string | undefined;
|
|
3295
|
+
numerator?: number | undefined;
|
|
3296
|
+
denominator?: number | undefined;
|
|
2888
3297
|
})[];
|
|
2889
3298
|
colspan?: number | undefined;
|
|
2890
3299
|
}[];
|
|
@@ -2947,6 +3356,13 @@ export declare const ExerciseDocumentSchema: z.ZodObject<{
|
|
|
2947
3356
|
name: string;
|
|
2948
3357
|
digits: number;
|
|
2949
3358
|
answer?: string | number | undefined;
|
|
3359
|
+
} | {
|
|
3360
|
+
type: "Fraction";
|
|
3361
|
+
name: string;
|
|
3362
|
+
answer?: string | undefined;
|
|
3363
|
+
numerator?: number | undefined;
|
|
3364
|
+
denominator?: number | undefined;
|
|
3365
|
+
simplified?: boolean | undefined;
|
|
2950
3366
|
})[];
|
|
2951
3367
|
} | {
|
|
2952
3368
|
type: "NumberLineBlock";
|
|
@@ -2985,6 +3401,13 @@ export declare const ExerciseDocumentSchema: z.ZodObject<{
|
|
|
2985
3401
|
name: string;
|
|
2986
3402
|
digits: number;
|
|
2987
3403
|
answer?: string | number | undefined;
|
|
3404
|
+
} | {
|
|
3405
|
+
type: "Fraction";
|
|
3406
|
+
name: string;
|
|
3407
|
+
answer?: string | undefined;
|
|
3408
|
+
numerator?: number | undefined;
|
|
3409
|
+
denominator?: number | undefined;
|
|
3410
|
+
simplified?: boolean | undefined;
|
|
2988
3411
|
})[];
|
|
2989
3412
|
}[];
|
|
2990
3413
|
counter?: {
|
|
@@ -3042,6 +3465,13 @@ export declare const ExerciseDocumentSchema: z.ZodObject<{
|
|
|
3042
3465
|
name: string;
|
|
3043
3466
|
digits: number;
|
|
3044
3467
|
answer?: string | number | undefined;
|
|
3468
|
+
} | {
|
|
3469
|
+
type: "Fraction";
|
|
3470
|
+
name: string;
|
|
3471
|
+
answer?: string | undefined;
|
|
3472
|
+
numerator?: number | undefined;
|
|
3473
|
+
denominator?: number | undefined;
|
|
3474
|
+
simplified?: boolean | undefined;
|
|
3045
3475
|
})[];
|
|
3046
3476
|
colspan?: number | undefined;
|
|
3047
3477
|
}[];
|
|
@@ -3132,6 +3562,21 @@ export declare const ExerciseJSONSchema: z.ZodObject<{
|
|
|
3132
3562
|
type: "numeric-keypad";
|
|
3133
3563
|
includeOperators?: boolean | undefined;
|
|
3134
3564
|
includeDecimal?: boolean | undefined;
|
|
3565
|
+
}>, z.ZodObject<{
|
|
3566
|
+
type: z.ZodLiteral<"fraction">;
|
|
3567
|
+
numerator: z.ZodNullable<z.ZodNumber>;
|
|
3568
|
+
denominator: z.ZodNullable<z.ZodNumber>;
|
|
3569
|
+
simplified: z.ZodBoolean;
|
|
3570
|
+
}, "strip", z.ZodTypeAny, {
|
|
3571
|
+
type: "fraction";
|
|
3572
|
+
numerator: number | null;
|
|
3573
|
+
denominator: number | null;
|
|
3574
|
+
simplified: boolean;
|
|
3575
|
+
}, {
|
|
3576
|
+
type: "fraction";
|
|
3577
|
+
numerator: number | null;
|
|
3578
|
+
denominator: number | null;
|
|
3579
|
+
simplified: boolean;
|
|
3135
3580
|
}>]>>;
|
|
3136
3581
|
validation: z.ZodOptional<z.ZodObject<{
|
|
3137
3582
|
mode: z.ZodEnum<["simple", "expression"]>;
|
|
@@ -3186,6 +3631,11 @@ export declare const ExerciseJSONSchema: z.ZodObject<{
|
|
|
3186
3631
|
type: "numeric-keypad";
|
|
3187
3632
|
includeOperators?: boolean | undefined;
|
|
3188
3633
|
includeDecimal?: boolean | undefined;
|
|
3634
|
+
} | {
|
|
3635
|
+
type: "fraction";
|
|
3636
|
+
numerator: number | null;
|
|
3637
|
+
denominator: number | null;
|
|
3638
|
+
simplified: boolean;
|
|
3189
3639
|
}>;
|
|
3190
3640
|
validation?: {
|
|
3191
3641
|
mode: "simple" | "expression";
|
|
@@ -3221,6 +3671,11 @@ export declare const ExerciseJSONSchema: z.ZodObject<{
|
|
|
3221
3671
|
type: "numeric-keypad";
|
|
3222
3672
|
includeOperators?: boolean | undefined;
|
|
3223
3673
|
includeDecimal?: boolean | undefined;
|
|
3674
|
+
} | {
|
|
3675
|
+
type: "fraction";
|
|
3676
|
+
numerator: number | null;
|
|
3677
|
+
denominator: number | null;
|
|
3678
|
+
simplified: boolean;
|
|
3224
3679
|
}>;
|
|
3225
3680
|
validation?: {
|
|
3226
3681
|
mode: "simple" | "expression";
|
|
@@ -3327,6 +3782,72 @@ export declare function findValidCombination(expression: string, ranges: Record<
|
|
|
3327
3782
|
step?: number;
|
|
3328
3783
|
}>): Record<string, number> | null;
|
|
3329
3784
|
|
|
3785
|
+
export declare type FractionInline = z.infer<typeof FractionInlineSchema>;
|
|
3786
|
+
|
|
3787
|
+
/**
|
|
3788
|
+
* Fraction inline widget schema
|
|
3789
|
+
*
|
|
3790
|
+
* Modes determined by presence of numerator/denominator:
|
|
3791
|
+
* - both provided → readonly display
|
|
3792
|
+
* - only numerator → denominator input
|
|
3793
|
+
* - only denominator → numerator input
|
|
3794
|
+
* - neither → both are inputs
|
|
3795
|
+
*
|
|
3796
|
+
* @example Readonly: { type: "Fraction", name: "x", numerator: 5, denominator: 3 }
|
|
3797
|
+
* @example Denominator input: { type: "Fraction", name: "y", numerator: 5, answer: "5/3" }
|
|
3798
|
+
* @example Both inputs: { type: "Fraction", name: "z", answer: "5/3" }
|
|
3799
|
+
*/
|
|
3800
|
+
export declare const FractionInlineSchema: z.ZodObject<{
|
|
3801
|
+
type: z.ZodLiteral<"Fraction">;
|
|
3802
|
+
name: z.ZodString;
|
|
3803
|
+
numerator: z.ZodOptional<z.ZodNumber>;
|
|
3804
|
+
denominator: z.ZodOptional<z.ZodNumber>;
|
|
3805
|
+
answer: z.ZodOptional<z.ZodString>;
|
|
3806
|
+
simplified: z.ZodDefault<z.ZodBoolean>;
|
|
3807
|
+
}, "strip", z.ZodTypeAny, {
|
|
3808
|
+
type: "Fraction";
|
|
3809
|
+
name: string;
|
|
3810
|
+
simplified: boolean;
|
|
3811
|
+
answer?: string | undefined;
|
|
3812
|
+
numerator?: number | undefined;
|
|
3813
|
+
denominator?: number | undefined;
|
|
3814
|
+
}, {
|
|
3815
|
+
type: "Fraction";
|
|
3816
|
+
name: string;
|
|
3817
|
+
answer?: string | undefined;
|
|
3818
|
+
numerator?: number | undefined;
|
|
3819
|
+
denominator?: number | undefined;
|
|
3820
|
+
simplified?: boolean | undefined;
|
|
3821
|
+
}>;
|
|
3822
|
+
|
|
3823
|
+
export declare type FractionJSON = z.infer<typeof FractionJSONSchema>;
|
|
3824
|
+
|
|
3825
|
+
export declare const FractionJSONSchema: z.ZodObject<{
|
|
3826
|
+
type: z.ZodLiteral<"fraction">;
|
|
3827
|
+
numerator: z.ZodNullable<z.ZodNumber>;
|
|
3828
|
+
denominator: z.ZodNullable<z.ZodNumber>;
|
|
3829
|
+
simplified: z.ZodBoolean;
|
|
3830
|
+
}, "strip", z.ZodTypeAny, {
|
|
3831
|
+
type: "fraction";
|
|
3832
|
+
numerator: number | null;
|
|
3833
|
+
denominator: number | null;
|
|
3834
|
+
simplified: boolean;
|
|
3835
|
+
}, {
|
|
3836
|
+
type: "fraction";
|
|
3837
|
+
numerator: number | null;
|
|
3838
|
+
denominator: number | null;
|
|
3839
|
+
simplified: boolean;
|
|
3840
|
+
}>;
|
|
3841
|
+
|
|
3842
|
+
/**
|
|
3843
|
+
* Centralized fraction compound key utilities.
|
|
3844
|
+
*
|
|
3845
|
+
* Fraction widgets use compound keys (e.g., "x__num", "x__den") in the
|
|
3846
|
+
* UI values map for sub-inputs. These keys are UI-only — they never appear
|
|
3847
|
+
* in the widgets map or validation answers.
|
|
3848
|
+
*/
|
|
3849
|
+
export declare type FractionPart = 'num' | 'den';
|
|
3850
|
+
|
|
3330
3851
|
export declare type FreeTextInline = z.infer<typeof FreeTextInlineSchema>;
|
|
3331
3852
|
|
|
3332
3853
|
/**
|
|
@@ -3349,6 +3870,8 @@ export declare const FreeTextInlineSchema: z.ZodObject<{
|
|
|
3349
3870
|
type: "FreeText";
|
|
3350
3871
|
}>;
|
|
3351
3872
|
|
|
3873
|
+
export declare function getFractionKey(widgetId: string, part: FractionPart): string;
|
|
3874
|
+
|
|
3352
3875
|
/**
|
|
3353
3876
|
* Check if all required inputs are provided
|
|
3354
3877
|
*
|
|
@@ -3608,7 +4131,28 @@ export declare const InlineNodeSchema: z.ZodUnion<[z.ZodObject<{
|
|
|
3608
4131
|
name: string;
|
|
3609
4132
|
digits: number;
|
|
3610
4133
|
answer?: string | number | undefined;
|
|
3611
|
-
}>]
|
|
4134
|
+
}>]>, z.ZodObject<{
|
|
4135
|
+
type: z.ZodLiteral<"Fraction">;
|
|
4136
|
+
name: z.ZodString;
|
|
4137
|
+
numerator: z.ZodOptional<z.ZodNumber>;
|
|
4138
|
+
denominator: z.ZodOptional<z.ZodNumber>;
|
|
4139
|
+
answer: z.ZodOptional<z.ZodString>;
|
|
4140
|
+
simplified: z.ZodDefault<z.ZodBoolean>;
|
|
4141
|
+
}, "strip", z.ZodTypeAny, {
|
|
4142
|
+
type: "Fraction";
|
|
4143
|
+
name: string;
|
|
4144
|
+
simplified: boolean;
|
|
4145
|
+
answer?: string | undefined;
|
|
4146
|
+
numerator?: number | undefined;
|
|
4147
|
+
denominator?: number | undefined;
|
|
4148
|
+
}, {
|
|
4149
|
+
type: "Fraction";
|
|
4150
|
+
name: string;
|
|
4151
|
+
answer?: string | undefined;
|
|
4152
|
+
numerator?: number | undefined;
|
|
4153
|
+
denominator?: number | undefined;
|
|
4154
|
+
simplified?: boolean | undefined;
|
|
4155
|
+
}>]>;
|
|
3612
4156
|
|
|
3613
4157
|
/**
|
|
3614
4158
|
* Type guard for BoldText
|
|
@@ -3637,6 +4181,17 @@ export declare function isExerciseDocument(value: unknown): value is ExerciseDoc
|
|
|
3637
4181
|
|
|
3638
4182
|
export declare function isExpressionValidation(value: unknown): value is ExpressionValidation;
|
|
3639
4183
|
|
|
4184
|
+
export declare function isFraction(value: unknown): value is FractionInline;
|
|
4185
|
+
|
|
4186
|
+
/**
|
|
4187
|
+
* Type guard for FractionJSON
|
|
4188
|
+
*/
|
|
4189
|
+
export declare function isFractionJSON(widget: WidgetJSON): widget is Extract<WidgetJSON, {
|
|
4190
|
+
type: 'fraction';
|
|
4191
|
+
}>;
|
|
4192
|
+
|
|
4193
|
+
export declare function isFractionKey(key: string): boolean;
|
|
4194
|
+
|
|
3640
4195
|
export declare function isFreeText(value: unknown): value is FreeTextInline;
|
|
3641
4196
|
|
|
3642
4197
|
/**
|
|
@@ -3809,6 +4364,8 @@ export declare const JSON_TYPES: {
|
|
|
3809
4364
|
readonly RADIO_OPTIONS: "radio-options";
|
|
3810
4365
|
/** Numeric keypad widget */
|
|
3811
4366
|
readonly NUMERIC_KEYPAD: "numeric-keypad";
|
|
4367
|
+
/** Inline fraction widget */
|
|
4368
|
+
readonly FRACTION: "fraction";
|
|
3812
4369
|
};
|
|
3813
4370
|
|
|
3814
4371
|
/**
|
|
@@ -3830,6 +4387,7 @@ export declare interface LayoutRendererProps {
|
|
|
3830
4387
|
widgets: Record<string, WidgetJSON>;
|
|
3831
4388
|
values: Record<string, string>;
|
|
3832
4389
|
droppedInputs: Set<string>;
|
|
4390
|
+
validationDetails?: Record<string, boolean> | null;
|
|
3833
4391
|
onChange: (widgetId: string, value: string, fromDrop?: boolean, sourceOptionId?: string) => void;
|
|
3834
4392
|
onInputFocus?: (widgetId: string) => void;
|
|
3835
4393
|
}
|
|
@@ -3953,7 +4511,28 @@ export declare const LineBlockSchema: z.ZodObject<{
|
|
|
3953
4511
|
name: string;
|
|
3954
4512
|
digits: number;
|
|
3955
4513
|
answer?: string | number | undefined;
|
|
3956
|
-
}>]
|
|
4514
|
+
}>]>, z.ZodObject<{
|
|
4515
|
+
type: z.ZodLiteral<"Fraction">;
|
|
4516
|
+
name: z.ZodString;
|
|
4517
|
+
numerator: z.ZodOptional<z.ZodNumber>;
|
|
4518
|
+
denominator: z.ZodOptional<z.ZodNumber>;
|
|
4519
|
+
answer: z.ZodOptional<z.ZodString>;
|
|
4520
|
+
simplified: z.ZodDefault<z.ZodBoolean>;
|
|
4521
|
+
}, "strip", z.ZodTypeAny, {
|
|
4522
|
+
type: "Fraction";
|
|
4523
|
+
name: string;
|
|
4524
|
+
simplified: boolean;
|
|
4525
|
+
answer?: string | undefined;
|
|
4526
|
+
numerator?: number | undefined;
|
|
4527
|
+
denominator?: number | undefined;
|
|
4528
|
+
}, {
|
|
4529
|
+
type: "Fraction";
|
|
4530
|
+
name: string;
|
|
4531
|
+
answer?: string | undefined;
|
|
4532
|
+
numerator?: number | undefined;
|
|
4533
|
+
denominator?: number | undefined;
|
|
4534
|
+
simplified?: boolean | undefined;
|
|
4535
|
+
}>]>, "many">;
|
|
3957
4536
|
}, "strip", z.ZodTypeAny, {
|
|
3958
4537
|
type: "LineBlock";
|
|
3959
4538
|
inlines: ({
|
|
@@ -3986,6 +4565,13 @@ export declare const LineBlockSchema: z.ZodObject<{
|
|
|
3986
4565
|
name: string;
|
|
3987
4566
|
digits: number;
|
|
3988
4567
|
answer?: string | number | undefined;
|
|
4568
|
+
} | {
|
|
4569
|
+
type: "Fraction";
|
|
4570
|
+
name: string;
|
|
4571
|
+
simplified: boolean;
|
|
4572
|
+
answer?: string | undefined;
|
|
4573
|
+
numerator?: number | undefined;
|
|
4574
|
+
denominator?: number | undefined;
|
|
3989
4575
|
})[];
|
|
3990
4576
|
}, {
|
|
3991
4577
|
type: "LineBlock";
|
|
@@ -4019,6 +4605,13 @@ export declare const LineBlockSchema: z.ZodObject<{
|
|
|
4019
4605
|
name: string;
|
|
4020
4606
|
digits: number;
|
|
4021
4607
|
answer?: string | number | undefined;
|
|
4608
|
+
} | {
|
|
4609
|
+
type: "Fraction";
|
|
4610
|
+
name: string;
|
|
4611
|
+
answer?: string | undefined;
|
|
4612
|
+
numerator?: number | undefined;
|
|
4613
|
+
denominator?: number | undefined;
|
|
4614
|
+
simplified?: boolean | undefined;
|
|
4022
4615
|
})[];
|
|
4023
4616
|
}>;
|
|
4024
4617
|
|
|
@@ -4212,7 +4805,28 @@ declare const NumberLineBlockSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
|
|
|
4212
4805
|
name: string;
|
|
4213
4806
|
digits: number;
|
|
4214
4807
|
answer?: string | number | undefined;
|
|
4215
|
-
}>]
|
|
4808
|
+
}>]>, z.ZodObject<{
|
|
4809
|
+
type: z.ZodLiteral<"Fraction">;
|
|
4810
|
+
name: z.ZodString;
|
|
4811
|
+
numerator: z.ZodOptional<z.ZodNumber>;
|
|
4812
|
+
denominator: z.ZodOptional<z.ZodNumber>;
|
|
4813
|
+
answer: z.ZodOptional<z.ZodString>;
|
|
4814
|
+
simplified: z.ZodDefault<z.ZodBoolean>;
|
|
4815
|
+
}, "strip", z.ZodTypeAny, {
|
|
4816
|
+
type: "Fraction";
|
|
4817
|
+
name: string;
|
|
4818
|
+
simplified: boolean;
|
|
4819
|
+
answer?: string | undefined;
|
|
4820
|
+
numerator?: number | undefined;
|
|
4821
|
+
denominator?: number | undefined;
|
|
4822
|
+
}, {
|
|
4823
|
+
type: "Fraction";
|
|
4824
|
+
name: string;
|
|
4825
|
+
answer?: string | undefined;
|
|
4826
|
+
numerator?: number | undefined;
|
|
4827
|
+
denominator?: number | undefined;
|
|
4828
|
+
simplified?: boolean | undefined;
|
|
4829
|
+
}>]>, "many">;
|
|
4216
4830
|
}, "strip", z.ZodTypeAny, {
|
|
4217
4831
|
value: number;
|
|
4218
4832
|
type: "NumberLinePosition";
|
|
@@ -4246,6 +4860,13 @@ declare const NumberLineBlockSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
|
|
|
4246
4860
|
name: string;
|
|
4247
4861
|
digits: number;
|
|
4248
4862
|
answer?: string | number | undefined;
|
|
4863
|
+
} | {
|
|
4864
|
+
type: "Fraction";
|
|
4865
|
+
name: string;
|
|
4866
|
+
simplified: boolean;
|
|
4867
|
+
answer?: string | undefined;
|
|
4868
|
+
numerator?: number | undefined;
|
|
4869
|
+
denominator?: number | undefined;
|
|
4249
4870
|
})[];
|
|
4250
4871
|
}, {
|
|
4251
4872
|
value: number;
|
|
@@ -4280,6 +4901,13 @@ declare const NumberLineBlockSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
|
|
|
4280
4901
|
name: string;
|
|
4281
4902
|
digits: number;
|
|
4282
4903
|
answer?: string | number | undefined;
|
|
4904
|
+
} | {
|
|
4905
|
+
type: "Fraction";
|
|
4906
|
+
name: string;
|
|
4907
|
+
answer?: string | undefined;
|
|
4908
|
+
numerator?: number | undefined;
|
|
4909
|
+
denominator?: number | undefined;
|
|
4910
|
+
simplified?: boolean | undefined;
|
|
4283
4911
|
})[];
|
|
4284
4912
|
}>, "many">;
|
|
4285
4913
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -4320,6 +4948,13 @@ declare const NumberLineBlockSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
|
|
|
4320
4948
|
name: string;
|
|
4321
4949
|
digits: number;
|
|
4322
4950
|
answer?: string | number | undefined;
|
|
4951
|
+
} | {
|
|
4952
|
+
type: "Fraction";
|
|
4953
|
+
name: string;
|
|
4954
|
+
simplified: boolean;
|
|
4955
|
+
answer?: string | undefined;
|
|
4956
|
+
numerator?: number | undefined;
|
|
4957
|
+
denominator?: number | undefined;
|
|
4323
4958
|
})[];
|
|
4324
4959
|
}[];
|
|
4325
4960
|
counter?: {
|
|
@@ -4376,6 +5011,13 @@ declare const NumberLineBlockSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
|
|
|
4376
5011
|
name: string;
|
|
4377
5012
|
digits: number;
|
|
4378
5013
|
answer?: string | number | undefined;
|
|
5014
|
+
} | {
|
|
5015
|
+
type: "Fraction";
|
|
5016
|
+
name: string;
|
|
5017
|
+
answer?: string | undefined;
|
|
5018
|
+
numerator?: number | undefined;
|
|
5019
|
+
denominator?: number | undefined;
|
|
5020
|
+
simplified?: boolean | undefined;
|
|
4379
5021
|
})[];
|
|
4380
5022
|
}[];
|
|
4381
5023
|
counter?: {
|
|
@@ -4434,6 +5076,13 @@ declare const NumberLineBlockSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
|
|
|
4434
5076
|
name: string;
|
|
4435
5077
|
digits: number;
|
|
4436
5078
|
answer?: string | number | undefined;
|
|
5079
|
+
} | {
|
|
5080
|
+
type: "Fraction";
|
|
5081
|
+
name: string;
|
|
5082
|
+
simplified: boolean;
|
|
5083
|
+
answer?: string | undefined;
|
|
5084
|
+
numerator?: number | undefined;
|
|
5085
|
+
denominator?: number | undefined;
|
|
4437
5086
|
})[];
|
|
4438
5087
|
}[];
|
|
4439
5088
|
counter?: {
|
|
@@ -4490,6 +5139,13 @@ declare const NumberLineBlockSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
|
|
|
4490
5139
|
name: string;
|
|
4491
5140
|
digits: number;
|
|
4492
5141
|
answer?: string | number | undefined;
|
|
5142
|
+
} | {
|
|
5143
|
+
type: "Fraction";
|
|
5144
|
+
name: string;
|
|
5145
|
+
answer?: string | undefined;
|
|
5146
|
+
numerator?: number | undefined;
|
|
5147
|
+
denominator?: number | undefined;
|
|
5148
|
+
simplified?: boolean | undefined;
|
|
4493
5149
|
})[];
|
|
4494
5150
|
}[];
|
|
4495
5151
|
counter?: {
|
|
@@ -4548,6 +5204,13 @@ declare const NumberLineBlockSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
|
|
|
4548
5204
|
name: string;
|
|
4549
5205
|
digits: number;
|
|
4550
5206
|
answer?: string | number | undefined;
|
|
5207
|
+
} | {
|
|
5208
|
+
type: "Fraction";
|
|
5209
|
+
name: string;
|
|
5210
|
+
simplified: boolean;
|
|
5211
|
+
answer?: string | undefined;
|
|
5212
|
+
numerator?: number | undefined;
|
|
5213
|
+
denominator?: number | undefined;
|
|
4551
5214
|
})[];
|
|
4552
5215
|
}[];
|
|
4553
5216
|
counter?: {
|
|
@@ -4604,6 +5267,13 @@ declare const NumberLineBlockSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
|
|
|
4604
5267
|
name: string;
|
|
4605
5268
|
digits: number;
|
|
4606
5269
|
answer?: string | number | undefined;
|
|
5270
|
+
} | {
|
|
5271
|
+
type: "Fraction";
|
|
5272
|
+
name: string;
|
|
5273
|
+
answer?: string | undefined;
|
|
5274
|
+
numerator?: number | undefined;
|
|
5275
|
+
denominator?: number | undefined;
|
|
5276
|
+
simplified?: boolean | undefined;
|
|
4607
5277
|
})[];
|
|
4608
5278
|
}[];
|
|
4609
5279
|
counter?: {
|
|
@@ -5018,7 +5688,28 @@ declare const NumberLinePositionSchema: z.ZodObject<{
|
|
|
5018
5688
|
name: string;
|
|
5019
5689
|
digits: number;
|
|
5020
5690
|
answer?: string | number | undefined;
|
|
5021
|
-
}>]
|
|
5691
|
+
}>]>, z.ZodObject<{
|
|
5692
|
+
type: z.ZodLiteral<"Fraction">;
|
|
5693
|
+
name: z.ZodString;
|
|
5694
|
+
numerator: z.ZodOptional<z.ZodNumber>;
|
|
5695
|
+
denominator: z.ZodOptional<z.ZodNumber>;
|
|
5696
|
+
answer: z.ZodOptional<z.ZodString>;
|
|
5697
|
+
simplified: z.ZodDefault<z.ZodBoolean>;
|
|
5698
|
+
}, "strip", z.ZodTypeAny, {
|
|
5699
|
+
type: "Fraction";
|
|
5700
|
+
name: string;
|
|
5701
|
+
simplified: boolean;
|
|
5702
|
+
answer?: string | undefined;
|
|
5703
|
+
numerator?: number | undefined;
|
|
5704
|
+
denominator?: number | undefined;
|
|
5705
|
+
}, {
|
|
5706
|
+
type: "Fraction";
|
|
5707
|
+
name: string;
|
|
5708
|
+
answer?: string | undefined;
|
|
5709
|
+
numerator?: number | undefined;
|
|
5710
|
+
denominator?: number | undefined;
|
|
5711
|
+
simplified?: boolean | undefined;
|
|
5712
|
+
}>]>, "many">;
|
|
5022
5713
|
}, "strip", z.ZodTypeAny, {
|
|
5023
5714
|
value: number;
|
|
5024
5715
|
type: "NumberLinePosition";
|
|
@@ -5052,6 +5743,13 @@ declare const NumberLinePositionSchema: z.ZodObject<{
|
|
|
5052
5743
|
name: string;
|
|
5053
5744
|
digits: number;
|
|
5054
5745
|
answer?: string | number | undefined;
|
|
5746
|
+
} | {
|
|
5747
|
+
type: "Fraction";
|
|
5748
|
+
name: string;
|
|
5749
|
+
simplified: boolean;
|
|
5750
|
+
answer?: string | undefined;
|
|
5751
|
+
numerator?: number | undefined;
|
|
5752
|
+
denominator?: number | undefined;
|
|
5055
5753
|
})[];
|
|
5056
5754
|
}, {
|
|
5057
5755
|
value: number;
|
|
@@ -5086,6 +5784,13 @@ declare const NumberLinePositionSchema: z.ZodObject<{
|
|
|
5086
5784
|
name: string;
|
|
5087
5785
|
digits: number;
|
|
5088
5786
|
answer?: string | number | undefined;
|
|
5787
|
+
} | {
|
|
5788
|
+
type: "Fraction";
|
|
5789
|
+
name: string;
|
|
5790
|
+
answer?: string | undefined;
|
|
5791
|
+
numerator?: number | undefined;
|
|
5792
|
+
denominator?: number | undefined;
|
|
5793
|
+
simplified?: boolean | undefined;
|
|
5089
5794
|
})[];
|
|
5090
5795
|
}>;
|
|
5091
5796
|
|
|
@@ -5167,6 +5872,11 @@ export declare class ParseError extends EngineError {
|
|
|
5167
5872
|
constructor(errors: IRecognitionException[]);
|
|
5168
5873
|
}
|
|
5169
5874
|
|
|
5875
|
+
export declare function parseFractionKey(key: string): {
|
|
5876
|
+
widgetId: string;
|
|
5877
|
+
part: FractionPart;
|
|
5878
|
+
} | null;
|
|
5879
|
+
|
|
5170
5880
|
/**
|
|
5171
5881
|
* Parse DSL tokens into CST (safe version - returns errors instead of throwing)
|
|
5172
5882
|
*/
|
|
@@ -5439,7 +6149,28 @@ declare const TableBlockSchema: z.ZodObject<{
|
|
|
5439
6149
|
name: string;
|
|
5440
6150
|
digits: number;
|
|
5441
6151
|
answer?: string | number | undefined;
|
|
5442
|
-
}>]
|
|
6152
|
+
}>]>, z.ZodObject<{
|
|
6153
|
+
type: z.ZodLiteral<"Fraction">;
|
|
6154
|
+
name: z.ZodString;
|
|
6155
|
+
numerator: z.ZodOptional<z.ZodNumber>;
|
|
6156
|
+
denominator: z.ZodOptional<z.ZodNumber>;
|
|
6157
|
+
answer: z.ZodOptional<z.ZodString>;
|
|
6158
|
+
simplified: z.ZodDefault<z.ZodBoolean>;
|
|
6159
|
+
}, "strip", z.ZodTypeAny, {
|
|
6160
|
+
type: "Fraction";
|
|
6161
|
+
name: string;
|
|
6162
|
+
simplified: boolean;
|
|
6163
|
+
answer?: string | undefined;
|
|
6164
|
+
numerator?: number | undefined;
|
|
6165
|
+
denominator?: number | undefined;
|
|
6166
|
+
}, {
|
|
6167
|
+
type: "Fraction";
|
|
6168
|
+
name: string;
|
|
6169
|
+
answer?: string | undefined;
|
|
6170
|
+
numerator?: number | undefined;
|
|
6171
|
+
denominator?: number | undefined;
|
|
6172
|
+
simplified?: boolean | undefined;
|
|
6173
|
+
}>]>, "many">;
|
|
5443
6174
|
}, "strip", z.ZodTypeAny, {
|
|
5444
6175
|
type: "TableCell";
|
|
5445
6176
|
inlines: ({
|
|
@@ -5472,6 +6203,13 @@ declare const TableBlockSchema: z.ZodObject<{
|
|
|
5472
6203
|
name: string;
|
|
5473
6204
|
digits: number;
|
|
5474
6205
|
answer?: string | number | undefined;
|
|
6206
|
+
} | {
|
|
6207
|
+
type: "Fraction";
|
|
6208
|
+
name: string;
|
|
6209
|
+
simplified: boolean;
|
|
6210
|
+
answer?: string | undefined;
|
|
6211
|
+
numerator?: number | undefined;
|
|
6212
|
+
denominator?: number | undefined;
|
|
5475
6213
|
})[];
|
|
5476
6214
|
colspan?: number | undefined;
|
|
5477
6215
|
}, {
|
|
@@ -5506,6 +6244,13 @@ declare const TableBlockSchema: z.ZodObject<{
|
|
|
5506
6244
|
name: string;
|
|
5507
6245
|
digits: number;
|
|
5508
6246
|
answer?: string | number | undefined;
|
|
6247
|
+
} | {
|
|
6248
|
+
type: "Fraction";
|
|
6249
|
+
name: string;
|
|
6250
|
+
answer?: string | undefined;
|
|
6251
|
+
numerator?: number | undefined;
|
|
6252
|
+
denominator?: number | undefined;
|
|
6253
|
+
simplified?: boolean | undefined;
|
|
5509
6254
|
})[];
|
|
5510
6255
|
colspan?: number | undefined;
|
|
5511
6256
|
}>, "many">;
|
|
@@ -5543,6 +6288,13 @@ declare const TableBlockSchema: z.ZodObject<{
|
|
|
5543
6288
|
name: string;
|
|
5544
6289
|
digits: number;
|
|
5545
6290
|
answer?: string | number | undefined;
|
|
6291
|
+
} | {
|
|
6292
|
+
type: "Fraction";
|
|
6293
|
+
name: string;
|
|
6294
|
+
simplified: boolean;
|
|
6295
|
+
answer?: string | undefined;
|
|
6296
|
+
numerator?: number | undefined;
|
|
6297
|
+
denominator?: number | undefined;
|
|
5546
6298
|
})[];
|
|
5547
6299
|
colspan?: number | undefined;
|
|
5548
6300
|
}[];
|
|
@@ -5580,6 +6332,13 @@ declare const TableBlockSchema: z.ZodObject<{
|
|
|
5580
6332
|
name: string;
|
|
5581
6333
|
digits: number;
|
|
5582
6334
|
answer?: string | number | undefined;
|
|
6335
|
+
} | {
|
|
6336
|
+
type: "Fraction";
|
|
6337
|
+
name: string;
|
|
6338
|
+
answer?: string | undefined;
|
|
6339
|
+
numerator?: number | undefined;
|
|
6340
|
+
denominator?: number | undefined;
|
|
6341
|
+
simplified?: boolean | undefined;
|
|
5583
6342
|
})[];
|
|
5584
6343
|
colspan?: number | undefined;
|
|
5585
6344
|
}[];
|
|
@@ -5621,6 +6380,13 @@ declare const TableBlockSchema: z.ZodObject<{
|
|
|
5621
6380
|
name: string;
|
|
5622
6381
|
digits: number;
|
|
5623
6382
|
answer?: string | number | undefined;
|
|
6383
|
+
} | {
|
|
6384
|
+
type: "Fraction";
|
|
6385
|
+
name: string;
|
|
6386
|
+
simplified: boolean;
|
|
6387
|
+
answer?: string | undefined;
|
|
6388
|
+
numerator?: number | undefined;
|
|
6389
|
+
denominator?: number | undefined;
|
|
5624
6390
|
})[];
|
|
5625
6391
|
colspan?: number | undefined;
|
|
5626
6392
|
}[];
|
|
@@ -5662,6 +6428,13 @@ declare const TableBlockSchema: z.ZodObject<{
|
|
|
5662
6428
|
name: string;
|
|
5663
6429
|
digits: number;
|
|
5664
6430
|
answer?: string | number | undefined;
|
|
6431
|
+
} | {
|
|
6432
|
+
type: "Fraction";
|
|
6433
|
+
name: string;
|
|
6434
|
+
answer?: string | undefined;
|
|
6435
|
+
numerator?: number | undefined;
|
|
6436
|
+
denominator?: number | undefined;
|
|
6437
|
+
simplified?: boolean | undefined;
|
|
5665
6438
|
})[];
|
|
5666
6439
|
colspan?: number | undefined;
|
|
5667
6440
|
}[];
|
|
@@ -5782,7 +6555,28 @@ declare const TableCellSchema: z.ZodObject<{
|
|
|
5782
6555
|
name: string;
|
|
5783
6556
|
digits: number;
|
|
5784
6557
|
answer?: string | number | undefined;
|
|
5785
|
-
}>]
|
|
6558
|
+
}>]>, z.ZodObject<{
|
|
6559
|
+
type: z.ZodLiteral<"Fraction">;
|
|
6560
|
+
name: z.ZodString;
|
|
6561
|
+
numerator: z.ZodOptional<z.ZodNumber>;
|
|
6562
|
+
denominator: z.ZodOptional<z.ZodNumber>;
|
|
6563
|
+
answer: z.ZodOptional<z.ZodString>;
|
|
6564
|
+
simplified: z.ZodDefault<z.ZodBoolean>;
|
|
6565
|
+
}, "strip", z.ZodTypeAny, {
|
|
6566
|
+
type: "Fraction";
|
|
6567
|
+
name: string;
|
|
6568
|
+
simplified: boolean;
|
|
6569
|
+
answer?: string | undefined;
|
|
6570
|
+
numerator?: number | undefined;
|
|
6571
|
+
denominator?: number | undefined;
|
|
6572
|
+
}, {
|
|
6573
|
+
type: "Fraction";
|
|
6574
|
+
name: string;
|
|
6575
|
+
answer?: string | undefined;
|
|
6576
|
+
numerator?: number | undefined;
|
|
6577
|
+
denominator?: number | undefined;
|
|
6578
|
+
simplified?: boolean | undefined;
|
|
6579
|
+
}>]>, "many">;
|
|
5786
6580
|
}, "strip", z.ZodTypeAny, {
|
|
5787
6581
|
type: "TableCell";
|
|
5788
6582
|
inlines: ({
|
|
@@ -5815,6 +6609,13 @@ declare const TableCellSchema: z.ZodObject<{
|
|
|
5815
6609
|
name: string;
|
|
5816
6610
|
digits: number;
|
|
5817
6611
|
answer?: string | number | undefined;
|
|
6612
|
+
} | {
|
|
6613
|
+
type: "Fraction";
|
|
6614
|
+
name: string;
|
|
6615
|
+
simplified: boolean;
|
|
6616
|
+
answer?: string | undefined;
|
|
6617
|
+
numerator?: number | undefined;
|
|
6618
|
+
denominator?: number | undefined;
|
|
5818
6619
|
})[];
|
|
5819
6620
|
colspan?: number | undefined;
|
|
5820
6621
|
}, {
|
|
@@ -5849,6 +6650,13 @@ declare const TableCellSchema: z.ZodObject<{
|
|
|
5849
6650
|
name: string;
|
|
5850
6651
|
digits: number;
|
|
5851
6652
|
answer?: string | number | undefined;
|
|
6653
|
+
} | {
|
|
6654
|
+
type: "Fraction";
|
|
6655
|
+
name: string;
|
|
6656
|
+
answer?: string | undefined;
|
|
6657
|
+
numerator?: number | undefined;
|
|
6658
|
+
denominator?: number | undefined;
|
|
6659
|
+
simplified?: boolean | undefined;
|
|
5852
6660
|
})[];
|
|
5853
6661
|
colspan?: number | undefined;
|
|
5854
6662
|
}>;
|
|
@@ -6065,7 +6873,28 @@ declare const TableRowSchema: z.ZodObject<{
|
|
|
6065
6873
|
name: string;
|
|
6066
6874
|
digits: number;
|
|
6067
6875
|
answer?: string | number | undefined;
|
|
6068
|
-
}>]
|
|
6876
|
+
}>]>, z.ZodObject<{
|
|
6877
|
+
type: z.ZodLiteral<"Fraction">;
|
|
6878
|
+
name: z.ZodString;
|
|
6879
|
+
numerator: z.ZodOptional<z.ZodNumber>;
|
|
6880
|
+
denominator: z.ZodOptional<z.ZodNumber>;
|
|
6881
|
+
answer: z.ZodOptional<z.ZodString>;
|
|
6882
|
+
simplified: z.ZodDefault<z.ZodBoolean>;
|
|
6883
|
+
}, "strip", z.ZodTypeAny, {
|
|
6884
|
+
type: "Fraction";
|
|
6885
|
+
name: string;
|
|
6886
|
+
simplified: boolean;
|
|
6887
|
+
answer?: string | undefined;
|
|
6888
|
+
numerator?: number | undefined;
|
|
6889
|
+
denominator?: number | undefined;
|
|
6890
|
+
}, {
|
|
6891
|
+
type: "Fraction";
|
|
6892
|
+
name: string;
|
|
6893
|
+
answer?: string | undefined;
|
|
6894
|
+
numerator?: number | undefined;
|
|
6895
|
+
denominator?: number | undefined;
|
|
6896
|
+
simplified?: boolean | undefined;
|
|
6897
|
+
}>]>, "many">;
|
|
6069
6898
|
}, "strip", z.ZodTypeAny, {
|
|
6070
6899
|
type: "TableCell";
|
|
6071
6900
|
inlines: ({
|
|
@@ -6098,6 +6927,13 @@ declare const TableRowSchema: z.ZodObject<{
|
|
|
6098
6927
|
name: string;
|
|
6099
6928
|
digits: number;
|
|
6100
6929
|
answer?: string | number | undefined;
|
|
6930
|
+
} | {
|
|
6931
|
+
type: "Fraction";
|
|
6932
|
+
name: string;
|
|
6933
|
+
simplified: boolean;
|
|
6934
|
+
answer?: string | undefined;
|
|
6935
|
+
numerator?: number | undefined;
|
|
6936
|
+
denominator?: number | undefined;
|
|
6101
6937
|
})[];
|
|
6102
6938
|
colspan?: number | undefined;
|
|
6103
6939
|
}, {
|
|
@@ -6132,6 +6968,13 @@ declare const TableRowSchema: z.ZodObject<{
|
|
|
6132
6968
|
name: string;
|
|
6133
6969
|
digits: number;
|
|
6134
6970
|
answer?: string | number | undefined;
|
|
6971
|
+
} | {
|
|
6972
|
+
type: "Fraction";
|
|
6973
|
+
name: string;
|
|
6974
|
+
answer?: string | undefined;
|
|
6975
|
+
numerator?: number | undefined;
|
|
6976
|
+
denominator?: number | undefined;
|
|
6977
|
+
simplified?: boolean | undefined;
|
|
6135
6978
|
})[];
|
|
6136
6979
|
colspan?: number | undefined;
|
|
6137
6980
|
}>, "many">;
|
|
@@ -6169,6 +7012,13 @@ declare const TableRowSchema: z.ZodObject<{
|
|
|
6169
7012
|
name: string;
|
|
6170
7013
|
digits: number;
|
|
6171
7014
|
answer?: string | number | undefined;
|
|
7015
|
+
} | {
|
|
7016
|
+
type: "Fraction";
|
|
7017
|
+
name: string;
|
|
7018
|
+
simplified: boolean;
|
|
7019
|
+
answer?: string | undefined;
|
|
7020
|
+
numerator?: number | undefined;
|
|
7021
|
+
denominator?: number | undefined;
|
|
6172
7022
|
})[];
|
|
6173
7023
|
colspan?: number | undefined;
|
|
6174
7024
|
}[];
|
|
@@ -6206,6 +7056,13 @@ declare const TableRowSchema: z.ZodObject<{
|
|
|
6206
7056
|
name: string;
|
|
6207
7057
|
digits: number;
|
|
6208
7058
|
answer?: string | number | undefined;
|
|
7059
|
+
} | {
|
|
7060
|
+
type: "Fraction";
|
|
7061
|
+
name: string;
|
|
7062
|
+
answer?: string | undefined;
|
|
7063
|
+
numerator?: number | undefined;
|
|
7064
|
+
denominator?: number | undefined;
|
|
7065
|
+
simplified?: boolean | undefined;
|
|
6209
7066
|
})[];
|
|
6210
7067
|
colspan?: number | undefined;
|
|
6211
7068
|
}[];
|
|
@@ -6397,6 +7254,11 @@ export declare function validateExerciseJSON(data: unknown): {
|
|
|
6397
7254
|
type: "numeric-keypad";
|
|
6398
7255
|
includeOperators?: boolean | undefined;
|
|
6399
7256
|
includeDecimal?: boolean | undefined;
|
|
7257
|
+
} | {
|
|
7258
|
+
type: "fraction";
|
|
7259
|
+
numerator: number | null;
|
|
7260
|
+
denominator: number | null;
|
|
7261
|
+
simplified: boolean;
|
|
6400
7262
|
}>;
|
|
6401
7263
|
validation?: {
|
|
6402
7264
|
mode: "simple" | "expression";
|
|
@@ -6450,6 +7312,11 @@ export declare function validateExerciseJSONSafe(data: unknown): z.SafeParseRetu
|
|
|
6450
7312
|
type: "numeric-keypad";
|
|
6451
7313
|
includeOperators?: boolean | undefined;
|
|
6452
7314
|
includeDecimal?: boolean | undefined;
|
|
7315
|
+
} | {
|
|
7316
|
+
type: "fraction";
|
|
7317
|
+
numerator: number | null;
|
|
7318
|
+
denominator: number | null;
|
|
7319
|
+
simplified: boolean;
|
|
6453
7320
|
}>;
|
|
6454
7321
|
validation?: {
|
|
6455
7322
|
mode: "simple" | "expression";
|
|
@@ -6485,6 +7352,11 @@ export declare function validateExerciseJSONSafe(data: unknown): z.SafeParseRetu
|
|
|
6485
7352
|
type: "numeric-keypad";
|
|
6486
7353
|
includeOperators?: boolean | undefined;
|
|
6487
7354
|
includeDecimal?: boolean | undefined;
|
|
7355
|
+
} | {
|
|
7356
|
+
type: "fraction";
|
|
7357
|
+
numerator: number | null;
|
|
7358
|
+
denominator: number | null;
|
|
7359
|
+
simplified: boolean;
|
|
6488
7360
|
}>;
|
|
6489
7361
|
validation?: {
|
|
6490
7362
|
mode: "simple" | "expression";
|
|
@@ -6554,6 +7426,11 @@ export declare function validateWidgetJSON(data: unknown): {
|
|
|
6554
7426
|
type: "numeric-keypad";
|
|
6555
7427
|
includeOperators?: boolean | undefined;
|
|
6556
7428
|
includeDecimal?: boolean | undefined;
|
|
7429
|
+
} | {
|
|
7430
|
+
type: "fraction";
|
|
7431
|
+
numerator: number | null;
|
|
7432
|
+
denominator: number | null;
|
|
7433
|
+
simplified: boolean;
|
|
6557
7434
|
};
|
|
6558
7435
|
|
|
6559
7436
|
/**
|
|
@@ -6580,6 +7457,11 @@ export declare function validateWidgetJSONSafe(data: unknown): z.SafeParseReturn
|
|
|
6580
7457
|
type: "numeric-keypad";
|
|
6581
7458
|
includeOperators?: boolean | undefined;
|
|
6582
7459
|
includeDecimal?: boolean | undefined;
|
|
7460
|
+
} | {
|
|
7461
|
+
type: "fraction";
|
|
7462
|
+
numerator: number | null;
|
|
7463
|
+
denominator: number | null;
|
|
7464
|
+
simplified: boolean;
|
|
6583
7465
|
}, {
|
|
6584
7466
|
length: number;
|
|
6585
7467
|
type: "inline-input";
|
|
@@ -6598,6 +7480,11 @@ export declare function validateWidgetJSONSafe(data: unknown): z.SafeParseReturn
|
|
|
6598
7480
|
type: "numeric-keypad";
|
|
6599
7481
|
includeOperators?: boolean | undefined;
|
|
6600
7482
|
includeDecimal?: boolean | undefined;
|
|
7483
|
+
} | {
|
|
7484
|
+
type: "fraction";
|
|
7485
|
+
numerator: number | null;
|
|
7486
|
+
denominator: number | null;
|
|
7487
|
+
simplified: boolean;
|
|
6601
7488
|
}>;
|
|
6602
7489
|
|
|
6603
7490
|
/**
|
|
@@ -6667,6 +7554,8 @@ export declare interface ValidationResult {
|
|
|
6667
7554
|
error?: string;
|
|
6668
7555
|
}
|
|
6669
7556
|
|
|
7557
|
+
declare type ValidationStatus = 'correct' | 'incorrect' | null;
|
|
7558
|
+
|
|
6670
7559
|
export declare type WidgetJSON = z.infer<typeof WidgetJSONSchema>;
|
|
6671
7560
|
|
|
6672
7561
|
export declare const WidgetJSONSchema: z.ZodUnion<[z.ZodDiscriminatedUnion<"inputType", [z.ZodObject<{
|
|
@@ -6723,6 +7612,21 @@ export declare const WidgetJSONSchema: z.ZodUnion<[z.ZodDiscriminatedUnion<"inpu
|
|
|
6723
7612
|
type: "numeric-keypad";
|
|
6724
7613
|
includeOperators?: boolean | undefined;
|
|
6725
7614
|
includeDecimal?: boolean | undefined;
|
|
7615
|
+
}>, z.ZodObject<{
|
|
7616
|
+
type: z.ZodLiteral<"fraction">;
|
|
7617
|
+
numerator: z.ZodNullable<z.ZodNumber>;
|
|
7618
|
+
denominator: z.ZodNullable<z.ZodNumber>;
|
|
7619
|
+
simplified: z.ZodBoolean;
|
|
7620
|
+
}, "strip", z.ZodTypeAny, {
|
|
7621
|
+
type: "fraction";
|
|
7622
|
+
numerator: number | null;
|
|
7623
|
+
denominator: number | null;
|
|
7624
|
+
simplified: boolean;
|
|
7625
|
+
}, {
|
|
7626
|
+
type: "fraction";
|
|
7627
|
+
numerator: number | null;
|
|
7628
|
+
denominator: number | null;
|
|
7629
|
+
simplified: boolean;
|
|
6726
7630
|
}>]>;
|
|
6727
7631
|
|
|
6728
7632
|
export declare type WidgetRef = z.infer<typeof WidgetRefSchema>;
|
|
@@ -6752,7 +7656,10 @@ export declare interface WidgetRendererProps {
|
|
|
6752
7656
|
widget: WidgetJSON;
|
|
6753
7657
|
widgetId: string;
|
|
6754
7658
|
value: string;
|
|
7659
|
+
values?: Record<string, string>;
|
|
6755
7660
|
isDropped?: boolean;
|
|
7661
|
+
validationStatus?: ValidationStatus;
|
|
7662
|
+
droppedInputs?: Set<string>;
|
|
6756
7663
|
onChange: (widgetId: string, value: string, fromDrop?: boolean, sourceOptionId?: string) => void;
|
|
6757
7664
|
onInputFocus?: (widgetId: string) => void;
|
|
6758
7665
|
onKeypadChange?: (value: string) => void;
|