@gmb/bitmark-parser-generator 5.11.0 → 5.13.0
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/browser/bitmark-parser-generator.min.js +1 -1
- package/dist/browser/bundle-report.html +2 -2
- package/dist/browser/cjs/index.cjs +1057 -568
- package/dist/browser/cjs/index.cjs.map +1 -1
- package/dist/browser/cjs/index.d.cts +40 -10
- package/dist/browser/esm/index.d.ts +40 -10
- package/dist/browser/esm/index.js +1057 -568
- package/dist/browser/esm/index.js.map +1 -1
- package/dist/cli/main.js +1071 -572
- package/dist/cli/main.js.map +1 -1
- package/dist/index.cjs +1072 -573
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +40 -10
- package/dist/index.d.ts +40 -10
- package/dist/index.js +1072 -573
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -309,6 +309,8 @@ var BitType = {
|
|
|
309
309
|
exampleList: "example-list",
|
|
310
310
|
extractorAiChat: "extractor-ai-chat",
|
|
311
311
|
extractorBlock: "extractor-block",
|
|
312
|
+
extractorBlueprint: "extractor-blueprint",
|
|
313
|
+
extractorBlueprintConfiguration: "extractor-blueprint-configuration",
|
|
312
314
|
extractorConfiguration: "extractor-configuration",
|
|
313
315
|
extractorImage: "extractor-image",
|
|
314
316
|
extractorImageCollapsible: "extractor-image-collapsible",
|
|
@@ -492,6 +494,7 @@ var BitType = {
|
|
|
492
494
|
pageOpenBookList: "page-open-book-list",
|
|
493
495
|
printBook: "print-book",
|
|
494
496
|
openBookChapter: "open-book-chapter",
|
|
497
|
+
openBookChapterTeaser: "open-book-chapter-teaser",
|
|
495
498
|
pagePerson: "page-person",
|
|
496
499
|
pageProduct: "page-product",
|
|
497
500
|
pageProductList: "page-product-list",
|
|
@@ -655,6 +658,7 @@ var BitType = {
|
|
|
655
658
|
table: "table",
|
|
656
659
|
tableAlt: "table-alt",
|
|
657
660
|
tableExtended: "table-extended",
|
|
661
|
+
tableExtendedImage: "table-extended-image",
|
|
658
662
|
tableImage: "table-image",
|
|
659
663
|
tableImageAlt: "table-image-alt",
|
|
660
664
|
takePicture: "take-picture",
|
|
@@ -841,6 +845,8 @@ var AbstractTagConfig = class {
|
|
|
841
845
|
__publicField(this, "chain");
|
|
842
846
|
__publicField(this, "jsonKey");
|
|
843
847
|
// If the json key is different from the tag
|
|
848
|
+
__publicField(this, "secondaryJsonKey");
|
|
849
|
+
// Heading card alternate path
|
|
844
850
|
__publicField(this, "deprecated");
|
|
845
851
|
this.type = params.type;
|
|
846
852
|
this.configKey = params.configKey;
|
|
@@ -849,6 +855,7 @@ var AbstractTagConfig = class {
|
|
|
849
855
|
this.minCount = params.minCount;
|
|
850
856
|
this.chain = params.chain;
|
|
851
857
|
this.jsonKey = params.jsonKey;
|
|
858
|
+
this.secondaryJsonKey = params.secondaryJsonKey;
|
|
852
859
|
this.deprecated = params.deprecated;
|
|
853
860
|
}
|
|
854
861
|
};
|
|
@@ -970,18 +977,22 @@ var ResourceTagConfig = class extends AbstractTagConfig {
|
|
|
970
977
|
|
|
971
978
|
// src/model/config/CardVariantConfig.ts
|
|
972
979
|
var CardVariantConfig = class {
|
|
973
|
-
//
|
|
974
|
-
constructor(tags2, bodyAllowed, bodyRequired, repeatCount) {
|
|
980
|
+
// JSON path for body text
|
|
981
|
+
constructor(tags2, bodyAllowed, bodyRequired, repeatCount, jsonKey) {
|
|
975
982
|
__publicField(this, "tags");
|
|
976
983
|
__publicField(this, "bodyAllowed");
|
|
977
984
|
// Default: true
|
|
978
985
|
__publicField(this, "bodyRequired");
|
|
979
986
|
// Default: false
|
|
980
987
|
__publicField(this, "repeatCount");
|
|
988
|
+
// Default: 1
|
|
989
|
+
// JSON mapping fields
|
|
990
|
+
__publicField(this, "jsonKey");
|
|
981
991
|
this.tags = tags2;
|
|
982
992
|
this.bodyAllowed = bodyAllowed == null ? true : bodyAllowed;
|
|
983
993
|
this.bodyRequired = bodyRequired;
|
|
984
994
|
this.repeatCount = repeatCount;
|
|
995
|
+
this.jsonKey = jsonKey;
|
|
985
996
|
}
|
|
986
997
|
toString(options) {
|
|
987
998
|
const opts = Object.assign({}, options);
|
|
@@ -1003,27 +1014,63 @@ ${tag.toString(opts)}`;
|
|
|
1003
1014
|
}
|
|
1004
1015
|
};
|
|
1005
1016
|
|
|
1017
|
+
// src/model/config/CardSideConfig.ts
|
|
1018
|
+
var CardSideConfig = class {
|
|
1019
|
+
constructor(name, repeat, variants) {
|
|
1020
|
+
__publicField(this, "name");
|
|
1021
|
+
__publicField(this, "repeat");
|
|
1022
|
+
__publicField(this, "variants");
|
|
1023
|
+
this.name = name;
|
|
1024
|
+
this.repeat = repeat;
|
|
1025
|
+
this.variants = variants;
|
|
1026
|
+
}
|
|
1027
|
+
toString(options) {
|
|
1028
|
+
const opts = Object.assign({}, options);
|
|
1029
|
+
let s = "";
|
|
1030
|
+
s += `[Side: ${this.name}]`;
|
|
1031
|
+
if (this.repeat) s += " (repeat)";
|
|
1032
|
+
let variantNo = 0;
|
|
1033
|
+
for (const variant of this.variants) {
|
|
1034
|
+
s += `
|
|
1035
|
+
[Variant ${variantNo}]`;
|
|
1036
|
+
s += `
|
|
1037
|
+
${variant.toString(opts)}`;
|
|
1038
|
+
variantNo++;
|
|
1039
|
+
}
|
|
1040
|
+
return s;
|
|
1041
|
+
}
|
|
1042
|
+
};
|
|
1043
|
+
|
|
1006
1044
|
// src/model/config/CardSetConfig.ts
|
|
1007
1045
|
var CardSetConfig = class {
|
|
1008
|
-
constructor(configKey,
|
|
1046
|
+
constructor(configKey, jsonKey, itemType, sections, sides) {
|
|
1009
1047
|
__publicField(this, "configKey");
|
|
1010
|
-
__publicField(this, "
|
|
1048
|
+
__publicField(this, "jsonKey");
|
|
1049
|
+
__publicField(this, "itemType");
|
|
1050
|
+
__publicField(this, "sections");
|
|
1051
|
+
__publicField(this, "sides");
|
|
1011
1052
|
this.configKey = configKey;
|
|
1012
|
-
this.
|
|
1053
|
+
this.jsonKey = jsonKey;
|
|
1054
|
+
this.itemType = itemType;
|
|
1055
|
+
this.sections = sections;
|
|
1056
|
+
this.sides = sides;
|
|
1057
|
+
}
|
|
1058
|
+
// Legacy accessor — provides the same shape as the old `variants: CardVariantConfig[][]`
|
|
1059
|
+
// so downstream consumers (Config.getCardSetVariantConfig, etc.) continue to work.
|
|
1060
|
+
get variants() {
|
|
1061
|
+
return this.sides.map((side) => side.variants);
|
|
1013
1062
|
}
|
|
1014
1063
|
toString(options) {
|
|
1015
1064
|
const opts = Object.assign({}, options);
|
|
1016
1065
|
let s = "";
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
}
|
|
1026
|
-
sideNo++;
|
|
1066
|
+
s += `[CardSet: ${this.configKey}]`;
|
|
1067
|
+
s += `
|
|
1068
|
+
jsonKey: ${this.jsonKey}`;
|
|
1069
|
+
s += `
|
|
1070
|
+
itemType: ${this.itemType}`;
|
|
1071
|
+
for (const side of this.sides) {
|
|
1072
|
+
s += `
|
|
1073
|
+
${side.toString(opts)}`;
|
|
1027
1074
|
}
|
|
1028
1075
|
return s;
|
|
1029
1076
|
}
|
|
@@ -2176,589 +2223,947 @@ var import_superenum15 = require("@ncoderz/superenum");
|
|
|
2176
2223
|
|
|
2177
2224
|
// src/config/raw/cardSets.ts
|
|
2178
2225
|
var CARDSETS = {
|
|
2179
|
-
|
|
2180
|
-
|
|
2181
|
-
|
|
2182
|
-
|
|
2183
|
-
|
|
2184
|
-
|
|
2185
|
-
|
|
2186
|
-
|
|
2187
|
-
|
|
2188
|
-
|
|
2189
|
-
|
|
2190
|
-
|
|
2191
|
-
|
|
2192
|
-
|
|
2193
|
-
|
|
2194
|
-
|
|
2195
|
-
|
|
2196
|
-
|
|
2197
|
-
|
|
2198
|
-
|
|
2199
|
-
|
|
2200
|
-
|
|
2201
|
-
|
|
2202
|
-
|
|
2203
|
-
|
|
2204
|
-
|
|
2226
|
+
//
|
|
2227
|
+
// flashcard
|
|
2228
|
+
//
|
|
2229
|
+
[CardSetConfigKey.flashcard]: {
|
|
2230
|
+
jsonKey: "cards",
|
|
2231
|
+
sides: [
|
|
2232
|
+
{
|
|
2233
|
+
name: "question",
|
|
2234
|
+
variants: [
|
|
2235
|
+
{
|
|
2236
|
+
jsonKey: "question.text",
|
|
2237
|
+
tags: [
|
|
2238
|
+
{
|
|
2239
|
+
key: ConfigKey.group_standardTags,
|
|
2240
|
+
description: "Standard tags for the flashcard."
|
|
2241
|
+
},
|
|
2242
|
+
{
|
|
2243
|
+
key: ConfigKey.tag_title,
|
|
2244
|
+
description: "Title of the flashcard."
|
|
2245
|
+
},
|
|
2246
|
+
{
|
|
2247
|
+
key: ConfigKey.group_resourceIcon,
|
|
2248
|
+
description: "Icon resource for the flashcard.",
|
|
2249
|
+
jsonKey: "question.icon"
|
|
2250
|
+
}
|
|
2251
|
+
]
|
|
2252
|
+
}
|
|
2253
|
+
]
|
|
2254
|
+
},
|
|
2255
|
+
{
|
|
2256
|
+
name: "answer",
|
|
2257
|
+
variants: [
|
|
2258
|
+
{
|
|
2259
|
+
jsonKey: "answer.text",
|
|
2260
|
+
tags: [
|
|
2261
|
+
{
|
|
2262
|
+
key: ConfigKey.group_standardTags,
|
|
2263
|
+
description: "Standard tags for the flashcard."
|
|
2264
|
+
},
|
|
2265
|
+
{
|
|
2266
|
+
key: ConfigKey.tag_title,
|
|
2267
|
+
description: "Title of the flashcard."
|
|
2268
|
+
},
|
|
2269
|
+
{
|
|
2270
|
+
key: ConfigKey.group_resourceIcon,
|
|
2271
|
+
description: "Icon resource for the flashcard.",
|
|
2272
|
+
jsonKey: "answer.icon"
|
|
2273
|
+
}
|
|
2274
|
+
]
|
|
2275
|
+
},
|
|
2276
|
+
{
|
|
2277
|
+
jsonKey: "alternativeAnswers[].text",
|
|
2278
|
+
tags: [
|
|
2279
|
+
{
|
|
2280
|
+
key: ConfigKey.group_standardTags,
|
|
2281
|
+
description: "Standard tags for the flashcard."
|
|
2282
|
+
},
|
|
2283
|
+
{
|
|
2284
|
+
key: ConfigKey.tag_title,
|
|
2285
|
+
description: "Title of the flashcard."
|
|
2286
|
+
},
|
|
2287
|
+
{
|
|
2288
|
+
key: ConfigKey.group_resourceIcon,
|
|
2289
|
+
description: "Icon resource for the flashcard."
|
|
2290
|
+
}
|
|
2291
|
+
],
|
|
2292
|
+
repeatCount: Count.infinity
|
|
2293
|
+
}
|
|
2294
|
+
]
|
|
2295
|
+
}
|
|
2205
2296
|
]
|
|
2206
2297
|
},
|
|
2207
|
-
|
|
2208
|
-
|
|
2209
|
-
|
|
2210
|
-
|
|
2211
|
-
|
|
2212
|
-
|
|
2213
|
-
|
|
2214
|
-
|
|
2215
|
-
|
|
2216
|
-
|
|
2217
|
-
|
|
2218
|
-
|
|
2219
|
-
|
|
2220
|
-
|
|
2221
|
-
|
|
2222
|
-
|
|
2223
|
-
|
|
2224
|
-
|
|
2225
|
-
|
|
2226
|
-
|
|
2227
|
-
|
|
2228
|
-
|
|
2229
|
-
|
|
2230
|
-
|
|
2231
|
-
|
|
2232
|
-
|
|
2298
|
+
//
|
|
2299
|
+
// definition-list
|
|
2300
|
+
//
|
|
2301
|
+
[CardSetConfigKey.definitionList]: {
|
|
2302
|
+
jsonKey: "definitions",
|
|
2303
|
+
sides: [
|
|
2304
|
+
{
|
|
2305
|
+
name: "term",
|
|
2306
|
+
variants: [
|
|
2307
|
+
{
|
|
2308
|
+
jsonKey: "term.text",
|
|
2309
|
+
tags: [
|
|
2310
|
+
{
|
|
2311
|
+
key: ConfigKey.group_standardTags,
|
|
2312
|
+
description: "Standard tags for the definition."
|
|
2313
|
+
},
|
|
2314
|
+
{
|
|
2315
|
+
key: ConfigKey.tag_title,
|
|
2316
|
+
description: "Title of the definition.",
|
|
2317
|
+
secondaryJsonKey: "heading.forKeys"
|
|
2318
|
+
},
|
|
2319
|
+
{
|
|
2320
|
+
key: ConfigKey.group_resourceIcon,
|
|
2321
|
+
description: "Icon resource for the definition.",
|
|
2322
|
+
jsonKey: "term.icon"
|
|
2323
|
+
}
|
|
2324
|
+
]
|
|
2325
|
+
}
|
|
2326
|
+
]
|
|
2327
|
+
},
|
|
2328
|
+
{
|
|
2329
|
+
name: "definition",
|
|
2330
|
+
variants: [
|
|
2331
|
+
{
|
|
2332
|
+
jsonKey: "definition.text",
|
|
2333
|
+
tags: [
|
|
2334
|
+
{
|
|
2335
|
+
key: ConfigKey.group_standardTags,
|
|
2336
|
+
description: "Standard tags for the definition."
|
|
2337
|
+
},
|
|
2338
|
+
{
|
|
2339
|
+
key: ConfigKey.tag_title,
|
|
2340
|
+
description: "Title of the definition.",
|
|
2341
|
+
secondaryJsonKey: "heading.forValues"
|
|
2342
|
+
},
|
|
2343
|
+
{
|
|
2344
|
+
key: ConfigKey.group_resourceIcon,
|
|
2345
|
+
description: "Icon resource for the definition.",
|
|
2346
|
+
jsonKey: "definition.icon"
|
|
2347
|
+
}
|
|
2348
|
+
]
|
|
2349
|
+
},
|
|
2350
|
+
{
|
|
2351
|
+
jsonKey: "alternativeDefinitions[].text",
|
|
2352
|
+
tags: [
|
|
2353
|
+
{
|
|
2354
|
+
key: ConfigKey.group_standardTags,
|
|
2355
|
+
description: "Standard tags for the definition."
|
|
2356
|
+
},
|
|
2357
|
+
{
|
|
2358
|
+
key: ConfigKey.tag_title,
|
|
2359
|
+
description: "Title of the definition."
|
|
2360
|
+
},
|
|
2361
|
+
{
|
|
2362
|
+
key: ConfigKey.group_resourceIcon,
|
|
2363
|
+
description: "Icon resource for the definition."
|
|
2364
|
+
}
|
|
2365
|
+
],
|
|
2366
|
+
repeatCount: Count.infinity
|
|
2367
|
+
}
|
|
2368
|
+
]
|
|
2369
|
+
}
|
|
2233
2370
|
]
|
|
2234
2371
|
},
|
|
2235
|
-
|
|
2236
|
-
|
|
2237
|
-
|
|
2238
|
-
|
|
2239
|
-
|
|
2240
|
-
|
|
2241
|
-
|
|
2242
|
-
|
|
2243
|
-
|
|
2244
|
-
|
|
2245
|
-
|
|
2246
|
-
|
|
2247
|
-
|
|
2248
|
-
|
|
2249
|
-
|
|
2250
|
-
|
|
2251
|
-
|
|
2252
|
-
|
|
2372
|
+
//
|
|
2373
|
+
// match-pairs
|
|
2374
|
+
//
|
|
2375
|
+
[CardSetConfigKey.matchPairs]: {
|
|
2376
|
+
jsonKey: "pairs",
|
|
2377
|
+
sides: [
|
|
2378
|
+
{
|
|
2379
|
+
name: "key",
|
|
2380
|
+
variants: [
|
|
2381
|
+
{
|
|
2382
|
+
jsonKey: "key",
|
|
2383
|
+
tags: [
|
|
2384
|
+
{
|
|
2385
|
+
key: ConfigKey.group_standardTags,
|
|
2386
|
+
description: "Standard tags for the match pair."
|
|
2387
|
+
},
|
|
2388
|
+
{
|
|
2389
|
+
key: ConfigKey.tag_title,
|
|
2390
|
+
description: "Title of the match pair.",
|
|
2391
|
+
secondaryJsonKey: "heading.forKeys"
|
|
2392
|
+
},
|
|
2393
|
+
{
|
|
2394
|
+
key: ConfigKey.property_isCaseSensitive,
|
|
2395
|
+
description: "Property to indicate if the match is case sensitive.",
|
|
2396
|
+
format: TagFormat.boolean
|
|
2397
|
+
},
|
|
2398
|
+
{
|
|
2399
|
+
key: ConfigKey.resource_audio,
|
|
2400
|
+
description: "Audio resource for the match pair.",
|
|
2401
|
+
jsonKey: "keyAudio"
|
|
2402
|
+
},
|
|
2403
|
+
{
|
|
2404
|
+
key: ConfigKey.resource_image,
|
|
2405
|
+
description: "Image resource for the match pair.",
|
|
2406
|
+
jsonKey: "keyImage"
|
|
2407
|
+
}
|
|
2408
|
+
]
|
|
2409
|
+
}
|
|
2410
|
+
]
|
|
2411
|
+
},
|
|
2412
|
+
{
|
|
2413
|
+
name: "values",
|
|
2414
|
+
repeat: true,
|
|
2415
|
+
variants: [
|
|
2416
|
+
{
|
|
2417
|
+
jsonKey: "values[]",
|
|
2418
|
+
tags: [
|
|
2419
|
+
{
|
|
2420
|
+
key: ConfigKey.group_standardTags,
|
|
2421
|
+
description: "Standard tags for the match pair."
|
|
2422
|
+
},
|
|
2423
|
+
{
|
|
2424
|
+
key: ConfigKey.tag_title,
|
|
2425
|
+
description: "Title of the match pair.",
|
|
2426
|
+
secondaryJsonKey: "heading.forValues"
|
|
2427
|
+
},
|
|
2428
|
+
{
|
|
2429
|
+
key: ConfigKey.property_isCaseSensitive,
|
|
2430
|
+
description: "Property to indicate if the match is case sensitive.",
|
|
2431
|
+
format: TagFormat.boolean
|
|
2432
|
+
}
|
|
2433
|
+
],
|
|
2434
|
+
repeatCount: Count.infinity
|
|
2435
|
+
}
|
|
2436
|
+
]
|
|
2437
|
+
}
|
|
2253
2438
|
]
|
|
2254
2439
|
},
|
|
2255
|
-
|
|
2256
|
-
|
|
2257
|
-
|
|
2258
|
-
|
|
2259
|
-
|
|
2260
|
-
|
|
2261
|
-
|
|
2262
|
-
|
|
2263
|
-
|
|
2264
|
-
|
|
2265
|
-
|
|
2266
|
-
|
|
2267
|
-
|
|
2268
|
-
|
|
2269
|
-
|
|
2270
|
-
|
|
2271
|
-
|
|
2272
|
-
|
|
2273
|
-
|
|
2274
|
-
|
|
2275
|
-
|
|
2276
|
-
|
|
2277
|
-
|
|
2278
|
-
|
|
2279
|
-
|
|
2280
|
-
|
|
2281
|
-
|
|
2282
|
-
|
|
2440
|
+
//
|
|
2441
|
+
// match-audio-pairs
|
|
2442
|
+
//
|
|
2443
|
+
[CardSetConfigKey.matchAudioPairs]: {
|
|
2444
|
+
jsonKey: "pairs",
|
|
2445
|
+
sides: [
|
|
2446
|
+
{
|
|
2447
|
+
name: "key",
|
|
2448
|
+
variants: [
|
|
2449
|
+
{
|
|
2450
|
+
jsonKey: "key",
|
|
2451
|
+
tags: [
|
|
2452
|
+
{
|
|
2453
|
+
key: ConfigKey.group_standardTags,
|
|
2454
|
+
description: "Standard tags for the audio match pair."
|
|
2455
|
+
},
|
|
2456
|
+
{
|
|
2457
|
+
key: ConfigKey.tag_title,
|
|
2458
|
+
description: "Title of the audio match pair.",
|
|
2459
|
+
secondaryJsonKey: "heading.forKeys"
|
|
2460
|
+
},
|
|
2461
|
+
{
|
|
2462
|
+
key: ConfigKey.resource_audio,
|
|
2463
|
+
description: "Audio resource for the match pair.",
|
|
2464
|
+
jsonKey: "keyAudio"
|
|
2465
|
+
}
|
|
2466
|
+
]
|
|
2467
|
+
}
|
|
2468
|
+
]
|
|
2469
|
+
},
|
|
2470
|
+
{
|
|
2471
|
+
name: "values",
|
|
2472
|
+
repeat: true,
|
|
2473
|
+
variants: [
|
|
2474
|
+
{
|
|
2475
|
+
jsonKey: "values[]",
|
|
2476
|
+
tags: [
|
|
2477
|
+
{
|
|
2478
|
+
key: ConfigKey.group_standardTags,
|
|
2479
|
+
description: "Standard tags for the audio match pair."
|
|
2480
|
+
},
|
|
2481
|
+
{
|
|
2482
|
+
key: ConfigKey.tag_title,
|
|
2483
|
+
description: "Title of the audio match pair.",
|
|
2484
|
+
secondaryJsonKey: "heading.forValues"
|
|
2485
|
+
},
|
|
2486
|
+
{
|
|
2487
|
+
key: ConfigKey.resource_audio,
|
|
2488
|
+
description: "Audio resource for the match pair."
|
|
2489
|
+
}
|
|
2490
|
+
],
|
|
2491
|
+
repeatCount: Count.infinity
|
|
2492
|
+
}
|
|
2493
|
+
]
|
|
2494
|
+
}
|
|
2283
2495
|
]
|
|
2284
2496
|
},
|
|
2285
|
-
|
|
2286
|
-
|
|
2287
|
-
|
|
2288
|
-
|
|
2289
|
-
|
|
2290
|
-
|
|
2291
|
-
|
|
2292
|
-
|
|
2293
|
-
|
|
2294
|
-
|
|
2295
|
-
|
|
2296
|
-
|
|
2297
|
-
|
|
2298
|
-
|
|
2299
|
-
|
|
2300
|
-
|
|
2301
|
-
|
|
2302
|
-
|
|
2303
|
-
|
|
2304
|
-
|
|
2305
|
-
|
|
2306
|
-
|
|
2497
|
+
//
|
|
2498
|
+
// match-image-pairs
|
|
2499
|
+
//
|
|
2500
|
+
[CardSetConfigKey.matchImagePairs]: {
|
|
2501
|
+
jsonKey: "pairs",
|
|
2502
|
+
sides: [
|
|
2503
|
+
{
|
|
2504
|
+
name: "key",
|
|
2505
|
+
variants: [
|
|
2506
|
+
{
|
|
2507
|
+
jsonKey: "key",
|
|
2508
|
+
tags: [
|
|
2509
|
+
{
|
|
2510
|
+
key: ConfigKey.group_standardTags,
|
|
2511
|
+
description: "Standard tags for the image match pair."
|
|
2512
|
+
},
|
|
2513
|
+
{
|
|
2514
|
+
key: ConfigKey.tag_title,
|
|
2515
|
+
description: "Title of the image match pair.",
|
|
2516
|
+
secondaryJsonKey: "heading.forKeys"
|
|
2517
|
+
},
|
|
2518
|
+
{
|
|
2519
|
+
key: ConfigKey.resource_image,
|
|
2520
|
+
description: "Image resource for the match pair.",
|
|
2521
|
+
jsonKey: "keyImage"
|
|
2522
|
+
}
|
|
2523
|
+
]
|
|
2524
|
+
}
|
|
2525
|
+
]
|
|
2526
|
+
},
|
|
2527
|
+
{
|
|
2528
|
+
name: "values",
|
|
2529
|
+
repeat: true,
|
|
2530
|
+
variants: [
|
|
2531
|
+
{
|
|
2532
|
+
jsonKey: "values[]",
|
|
2533
|
+
tags: [
|
|
2534
|
+
{
|
|
2535
|
+
key: ConfigKey.group_standardTags,
|
|
2536
|
+
description: "Standard tags for the image match pair."
|
|
2537
|
+
},
|
|
2538
|
+
{
|
|
2539
|
+
key: ConfigKey.tag_title,
|
|
2540
|
+
description: "Title of the image match pair.",
|
|
2541
|
+
secondaryJsonKey: "heading.forValues"
|
|
2542
|
+
},
|
|
2543
|
+
{
|
|
2544
|
+
key: ConfigKey.resource_image,
|
|
2545
|
+
description: "Image resource for the match pair."
|
|
2546
|
+
}
|
|
2547
|
+
],
|
|
2548
|
+
repeatCount: Count.infinity
|
|
2549
|
+
}
|
|
2550
|
+
]
|
|
2551
|
+
}
|
|
2307
2552
|
]
|
|
2308
2553
|
},
|
|
2309
|
-
|
|
2310
|
-
|
|
2311
|
-
|
|
2312
|
-
|
|
2313
|
-
|
|
2314
|
-
|
|
2315
|
-
|
|
2316
|
-
|
|
2317
|
-
|
|
2318
|
-
|
|
2319
|
-
|
|
2320
|
-
|
|
2321
|
-
|
|
2322
|
-
|
|
2323
|
-
|
|
2324
|
-
|
|
2325
|
-
|
|
2326
|
-
|
|
2327
|
-
|
|
2328
|
-
|
|
2329
|
-
|
|
2330
|
-
|
|
2331
|
-
|
|
2332
|
-
|
|
2333
|
-
|
|
2334
|
-
|
|
2335
|
-
|
|
2336
|
-
|
|
2337
|
-
|
|
2338
|
-
|
|
2339
|
-
|
|
2340
|
-
|
|
2341
|
-
|
|
2342
|
-
|
|
2343
|
-
|
|
2344
|
-
|
|
2345
|
-
|
|
2346
|
-
|
|
2347
|
-
|
|
2348
|
-
|
|
2349
|
-
|
|
2350
|
-
|
|
2351
|
-
|
|
2352
|
-
|
|
2353
|
-
|
|
2354
|
-
|
|
2355
|
-
|
|
2356
|
-
|
|
2357
|
-
|
|
2358
|
-
|
|
2554
|
+
//
|
|
2555
|
+
// match-matrix
|
|
2556
|
+
//
|
|
2557
|
+
[CardSetConfigKey.matchMatrix]: {
|
|
2558
|
+
jsonKey: "matrix",
|
|
2559
|
+
sides: [
|
|
2560
|
+
{
|
|
2561
|
+
name: "key",
|
|
2562
|
+
variants: [
|
|
2563
|
+
{
|
|
2564
|
+
jsonKey: "key",
|
|
2565
|
+
tags: [
|
|
2566
|
+
{
|
|
2567
|
+
key: ConfigKey.group_standardItemLeadInstructionHint,
|
|
2568
|
+
description: "Standard tags for lead, instruction, and hint."
|
|
2569
|
+
},
|
|
2570
|
+
{
|
|
2571
|
+
key: ConfigKey.property_example,
|
|
2572
|
+
description: "Example text for the match matrix.",
|
|
2573
|
+
format: TagFormat.plainText
|
|
2574
|
+
},
|
|
2575
|
+
{
|
|
2576
|
+
key: ConfigKey.tag_title,
|
|
2577
|
+
description: "Title of the match matrix.",
|
|
2578
|
+
secondaryJsonKey: "heading.forKeys"
|
|
2579
|
+
},
|
|
2580
|
+
{
|
|
2581
|
+
key: ConfigKey.property_isCaseSensitive,
|
|
2582
|
+
description: "Property to indicate if the match is case sensitive.",
|
|
2583
|
+
format: TagFormat.boolean
|
|
2584
|
+
}
|
|
2585
|
+
]
|
|
2586
|
+
}
|
|
2587
|
+
]
|
|
2588
|
+
},
|
|
2589
|
+
{
|
|
2590
|
+
name: "cell",
|
|
2591
|
+
repeat: true,
|
|
2592
|
+
variants: [
|
|
2593
|
+
{
|
|
2594
|
+
jsonKey: "cells[{s}].values[]",
|
|
2595
|
+
tags: [
|
|
2596
|
+
{
|
|
2597
|
+
key: ConfigKey.group_standardItemLeadInstructionHint,
|
|
2598
|
+
description: "Standard tags for lead, instruction, and hint."
|
|
2599
|
+
},
|
|
2600
|
+
{
|
|
2601
|
+
key: ConfigKey.property_example,
|
|
2602
|
+
description: "Example text for the match matrix.",
|
|
2603
|
+
format: TagFormat.plainText
|
|
2604
|
+
},
|
|
2605
|
+
{
|
|
2606
|
+
key: ConfigKey.tag_title,
|
|
2607
|
+
description: "Title of the match matrix.",
|
|
2608
|
+
secondaryJsonKey: "heading.forValues"
|
|
2609
|
+
},
|
|
2610
|
+
{
|
|
2611
|
+
key: ConfigKey.property_isCaseSensitive,
|
|
2612
|
+
description: "Property to indicate if the match is case sensitive.",
|
|
2613
|
+
format: TagFormat.boolean
|
|
2614
|
+
}
|
|
2615
|
+
],
|
|
2616
|
+
repeatCount: Count.infinity
|
|
2617
|
+
}
|
|
2618
|
+
]
|
|
2619
|
+
}
|
|
2359
2620
|
]
|
|
2360
2621
|
},
|
|
2361
|
-
|
|
2362
|
-
|
|
2363
|
-
|
|
2364
|
-
|
|
2365
|
-
|
|
2366
|
-
|
|
2367
|
-
|
|
2368
|
-
|
|
2369
|
-
|
|
2370
|
-
|
|
2371
|
-
|
|
2372
|
-
|
|
2373
|
-
|
|
2374
|
-
|
|
2375
|
-
|
|
2376
|
-
|
|
2377
|
-
|
|
2378
|
-
|
|
2379
|
-
|
|
2380
|
-
|
|
2381
|
-
|
|
2382
|
-
|
|
2383
|
-
|
|
2384
|
-
|
|
2385
|
-
|
|
2386
|
-
|
|
2387
|
-
|
|
2388
|
-
|
|
2389
|
-
|
|
2390
|
-
|
|
2391
|
-
|
|
2392
|
-
key: ConfigKey.group_standardItemLeadInstructionHint,
|
|
2393
|
-
description: "Standard tags for lead, instruction, and hint."
|
|
2394
|
-
},
|
|
2395
|
-
{
|
|
2396
|
-
key: ConfigKey.property_example,
|
|
2397
|
-
description: "Example text for the question.",
|
|
2398
|
-
format: TagFormat.plainText
|
|
2399
|
-
}
|
|
2400
|
-
],
|
|
2401
|
-
repeatCount: Count.infinity
|
|
2402
|
-
}
|
|
2403
|
-
]
|
|
2622
|
+
//
|
|
2623
|
+
// statements
|
|
2624
|
+
//
|
|
2625
|
+
[CardSetConfigKey.statements]: {
|
|
2626
|
+
jsonKey: "statements",
|
|
2627
|
+
sides: [
|
|
2628
|
+
{
|
|
2629
|
+
name: "statement",
|
|
2630
|
+
variants: [
|
|
2631
|
+
{
|
|
2632
|
+
jsonKey: "statement",
|
|
2633
|
+
tags: [
|
|
2634
|
+
{
|
|
2635
|
+
key: ConfigKey.tag_true,
|
|
2636
|
+
description: "Tag for true statements.",
|
|
2637
|
+
maxCount: 1
|
|
2638
|
+
},
|
|
2639
|
+
{
|
|
2640
|
+
key: ConfigKey.tag_false,
|
|
2641
|
+
description: "Tag for false statements.",
|
|
2642
|
+
maxCount: 1
|
|
2643
|
+
},
|
|
2644
|
+
{
|
|
2645
|
+
key: ConfigKey.group_standardTags,
|
|
2646
|
+
description: "Standard tags for the statement."
|
|
2647
|
+
}
|
|
2648
|
+
],
|
|
2649
|
+
bodyAllowed: false
|
|
2650
|
+
}
|
|
2651
|
+
]
|
|
2652
|
+
}
|
|
2404
2653
|
]
|
|
2405
2654
|
},
|
|
2406
|
-
//
|
|
2407
|
-
//
|
|
2408
|
-
//
|
|
2409
|
-
[CardSetConfigKey.
|
|
2410
|
-
|
|
2411
|
-
|
|
2412
|
-
|
|
2413
|
-
|
|
2414
|
-
|
|
2415
|
-
|
|
2416
|
-
|
|
2417
|
-
|
|
2418
|
-
|
|
2419
|
-
|
|
2420
|
-
|
|
2421
|
-
|
|
2422
|
-
|
|
2423
|
-
|
|
2424
|
-
|
|
2425
|
-
|
|
2426
|
-
|
|
2427
|
-
|
|
2428
|
-
|
|
2429
|
-
|
|
2430
|
-
|
|
2431
|
-
description: "Property to indicate if the match is case sensitive.",
|
|
2432
|
-
format: TagFormat.boolean
|
|
2433
|
-
}
|
|
2434
|
-
],
|
|
2435
|
-
repeatCount: Count.infinity
|
|
2436
|
-
}
|
|
2437
|
-
]
|
|
2655
|
+
//
|
|
2656
|
+
// quiz
|
|
2657
|
+
//
|
|
2658
|
+
[CardSetConfigKey.quiz]: {
|
|
2659
|
+
jsonKey: "quizzes",
|
|
2660
|
+
sides: [
|
|
2661
|
+
{
|
|
2662
|
+
name: "choices",
|
|
2663
|
+
variants: [
|
|
2664
|
+
{
|
|
2665
|
+
jsonKey: null,
|
|
2666
|
+
tags: [
|
|
2667
|
+
{
|
|
2668
|
+
key: ConfigKey.group_trueFalse,
|
|
2669
|
+
description: "Group for true/false questions."
|
|
2670
|
+
},
|
|
2671
|
+
{
|
|
2672
|
+
key: ConfigKey.group_standardTags,
|
|
2673
|
+
description: "Standard tags for the quiz."
|
|
2674
|
+
}
|
|
2675
|
+
],
|
|
2676
|
+
bodyAllowed: false
|
|
2677
|
+
}
|
|
2678
|
+
]
|
|
2679
|
+
}
|
|
2438
2680
|
]
|
|
2439
2681
|
},
|
|
2440
|
-
|
|
2441
|
-
|
|
2442
|
-
|
|
2443
|
-
|
|
2444
|
-
|
|
2445
|
-
|
|
2446
|
-
|
|
2447
|
-
|
|
2448
|
-
|
|
2449
|
-
|
|
2450
|
-
|
|
2451
|
-
|
|
2452
|
-
|
|
2453
|
-
|
|
2454
|
-
|
|
2455
|
-
|
|
2456
|
-
|
|
2457
|
-
|
|
2458
|
-
|
|
2459
|
-
|
|
2460
|
-
|
|
2461
|
-
|
|
2462
|
-
|
|
2463
|
-
|
|
2464
|
-
|
|
2465
|
-
|
|
2466
|
-
|
|
2467
|
-
|
|
2682
|
+
//
|
|
2683
|
+
// feedback
|
|
2684
|
+
//
|
|
2685
|
+
[CardSetConfigKey.feedback]: {
|
|
2686
|
+
jsonKey: "feedbacks",
|
|
2687
|
+
sides: [
|
|
2688
|
+
{
|
|
2689
|
+
name: "choices",
|
|
2690
|
+
variants: [
|
|
2691
|
+
{
|
|
2692
|
+
jsonKey: null,
|
|
2693
|
+
tags: [
|
|
2694
|
+
{
|
|
2695
|
+
key: ConfigKey.group_standardItemLeadInstructionHint,
|
|
2696
|
+
description: "Standard tags for lead, instruction, and hint."
|
|
2697
|
+
},
|
|
2698
|
+
{
|
|
2699
|
+
key: ConfigKey.group_trueFalse,
|
|
2700
|
+
description: "Group for true/false feedback."
|
|
2701
|
+
},
|
|
2702
|
+
{
|
|
2703
|
+
key: ConfigKey.tag_title,
|
|
2704
|
+
description: "Title of the feedback.",
|
|
2705
|
+
secondaryJsonKey: "heading.forKeys"
|
|
2706
|
+
}
|
|
2707
|
+
],
|
|
2708
|
+
bodyAllowed: false
|
|
2709
|
+
}
|
|
2710
|
+
]
|
|
2711
|
+
},
|
|
2712
|
+
{
|
|
2713
|
+
name: "reason",
|
|
2714
|
+
variants: [
|
|
2715
|
+
{
|
|
2716
|
+
jsonKey: "reason.text",
|
|
2717
|
+
tags: [
|
|
2718
|
+
{
|
|
2719
|
+
key: ConfigKey.group_standardItemLeadInstructionHint,
|
|
2720
|
+
description: "Standard tags for lead, instruction, and hint."
|
|
2721
|
+
},
|
|
2722
|
+
{
|
|
2723
|
+
key: ConfigKey.property_reasonableNumOfChars,
|
|
2724
|
+
description: "Property for reasonable number of characters.",
|
|
2725
|
+
format: TagFormat.number
|
|
2726
|
+
},
|
|
2727
|
+
{
|
|
2728
|
+
key: ConfigKey.property_example,
|
|
2729
|
+
description: "Example text for the feedback.",
|
|
2730
|
+
format: TagFormat.plainText
|
|
2731
|
+
},
|
|
2732
|
+
{
|
|
2733
|
+
key: ConfigKey.tag_title,
|
|
2734
|
+
description: "Title of the feedback.",
|
|
2735
|
+
secondaryJsonKey: "heading.forValues"
|
|
2736
|
+
}
|
|
2737
|
+
],
|
|
2738
|
+
bodyAllowed: true
|
|
2739
|
+
}
|
|
2740
|
+
]
|
|
2741
|
+
}
|
|
2468
2742
|
]
|
|
2469
2743
|
},
|
|
2470
|
-
|
|
2471
|
-
|
|
2472
|
-
|
|
2473
|
-
|
|
2474
|
-
|
|
2475
|
-
|
|
2476
|
-
|
|
2477
|
-
|
|
2478
|
-
|
|
2479
|
-
|
|
2480
|
-
|
|
2481
|
-
|
|
2482
|
-
|
|
2483
|
-
|
|
2484
|
-
|
|
2485
|
-
|
|
2486
|
-
|
|
2487
|
-
|
|
2488
|
-
|
|
2489
|
-
|
|
2490
|
-
|
|
2491
|
-
|
|
2492
|
-
|
|
2493
|
-
|
|
2494
|
-
|
|
2495
|
-
|
|
2496
|
-
|
|
2497
|
-
|
|
2744
|
+
//
|
|
2745
|
+
// questions
|
|
2746
|
+
//
|
|
2747
|
+
[CardSetConfigKey.questions]: {
|
|
2748
|
+
jsonKey: "questions",
|
|
2749
|
+
sides: [
|
|
2750
|
+
{
|
|
2751
|
+
name: "question",
|
|
2752
|
+
variants: [
|
|
2753
|
+
{
|
|
2754
|
+
jsonKey: "question",
|
|
2755
|
+
tags: [
|
|
2756
|
+
{
|
|
2757
|
+
key: ConfigKey.property_reasonableNumOfChars,
|
|
2758
|
+
description: "Property for reasonable number of characters.",
|
|
2759
|
+
format: TagFormat.number
|
|
2760
|
+
},
|
|
2761
|
+
{
|
|
2762
|
+
key: ConfigKey.tag_sampleSolution,
|
|
2763
|
+
description: "Sample solution for the question."
|
|
2764
|
+
},
|
|
2765
|
+
{
|
|
2766
|
+
key: ConfigKey.property_sampleSolution,
|
|
2767
|
+
description: "Property for sample solution text.",
|
|
2768
|
+
format: TagFormat.plainText
|
|
2769
|
+
},
|
|
2770
|
+
{
|
|
2771
|
+
key: ConfigKey.property_additionalSolutions,
|
|
2772
|
+
description: "Property for additional solutions.",
|
|
2773
|
+
format: TagFormat.plainText,
|
|
2774
|
+
maxCount: Count.infinity
|
|
2775
|
+
},
|
|
2776
|
+
{
|
|
2777
|
+
key: ConfigKey.property_partialAnswer,
|
|
2778
|
+
description: "Property for partial answer text.",
|
|
2779
|
+
format: TagFormat.plainText
|
|
2780
|
+
},
|
|
2781
|
+
{
|
|
2782
|
+
key: ConfigKey.group_standardTags,
|
|
2783
|
+
description: "Standard tags for the question."
|
|
2784
|
+
}
|
|
2785
|
+
]
|
|
2786
|
+
}
|
|
2787
|
+
]
|
|
2788
|
+
}
|
|
2498
2789
|
]
|
|
2499
2790
|
},
|
|
2500
|
-
|
|
2501
|
-
|
|
2502
|
-
|
|
2503
|
-
|
|
2504
|
-
|
|
2505
|
-
|
|
2506
|
-
|
|
2507
|
-
|
|
2508
|
-
|
|
2509
|
-
|
|
2510
|
-
|
|
2511
|
-
|
|
2512
|
-
|
|
2513
|
-
|
|
2514
|
-
|
|
2515
|
-
|
|
2516
|
-
|
|
2517
|
-
|
|
2518
|
-
|
|
2519
|
-
|
|
2520
|
-
|
|
2521
|
-
|
|
2522
|
-
|
|
2523
|
-
|
|
2524
|
-
|
|
2525
|
-
|
|
2526
|
-
|
|
2527
|
-
}
|
|
2528
|
-
]
|
|
2791
|
+
//
|
|
2792
|
+
// elements
|
|
2793
|
+
//
|
|
2794
|
+
[CardSetConfigKey.elements]: {
|
|
2795
|
+
jsonKey: null,
|
|
2796
|
+
sides: [
|
|
2797
|
+
{
|
|
2798
|
+
name: "element",
|
|
2799
|
+
repeat: true,
|
|
2800
|
+
variants: [
|
|
2801
|
+
{
|
|
2802
|
+
jsonKey: "elements[]",
|
|
2803
|
+
tags: [
|
|
2804
|
+
{
|
|
2805
|
+
key: ConfigKey.group_standardItemLeadInstructionHint,
|
|
2806
|
+
description: "Standard tags for lead, instruction, and hint."
|
|
2807
|
+
},
|
|
2808
|
+
{
|
|
2809
|
+
key: ConfigKey.property_example,
|
|
2810
|
+
description: "Example text for the element.",
|
|
2811
|
+
format: TagFormat.plainText
|
|
2812
|
+
}
|
|
2813
|
+
],
|
|
2814
|
+
repeatCount: Count.infinity
|
|
2815
|
+
}
|
|
2816
|
+
]
|
|
2817
|
+
}
|
|
2529
2818
|
]
|
|
2530
2819
|
},
|
|
2820
|
+
//
|
|
2821
|
+
// table
|
|
2822
|
+
//
|
|
2531
2823
|
[CardSetConfigKey.table]: {
|
|
2532
|
-
|
|
2533
|
-
|
|
2534
|
-
|
|
2535
|
-
|
|
2536
|
-
|
|
2537
|
-
|
|
2538
|
-
|
|
2539
|
-
|
|
2540
|
-
|
|
2541
|
-
|
|
2542
|
-
|
|
2543
|
-
|
|
2544
|
-
|
|
2545
|
-
|
|
2546
|
-
|
|
2547
|
-
|
|
2548
|
-
|
|
2549
|
-
|
|
2550
|
-
|
|
2551
|
-
|
|
2552
|
-
|
|
2553
|
-
|
|
2554
|
-
|
|
2555
|
-
|
|
2556
|
-
|
|
2557
|
-
|
|
2558
|
-
|
|
2559
|
-
|
|
2560
|
-
|
|
2561
|
-
|
|
2562
|
-
|
|
2563
|
-
|
|
2564
|
-
|
|
2565
|
-
|
|
2566
|
-
|
|
2567
|
-
|
|
2568
|
-
|
|
2569
|
-
|
|
2824
|
+
jsonKey: "table.data",
|
|
2825
|
+
itemType: "array",
|
|
2826
|
+
sides: [
|
|
2827
|
+
{
|
|
2828
|
+
name: "cell",
|
|
2829
|
+
repeat: true,
|
|
2830
|
+
variants: [
|
|
2831
|
+
{
|
|
2832
|
+
jsonKey: null,
|
|
2833
|
+
tags: [
|
|
2834
|
+
{
|
|
2835
|
+
key: ConfigKey.group_standardItemLeadInstructionHint,
|
|
2836
|
+
description: "Standard tags for lead, instruction, and hint."
|
|
2837
|
+
},
|
|
2838
|
+
{
|
|
2839
|
+
key: ConfigKey.tag_title,
|
|
2840
|
+
description: "Title of the table.",
|
|
2841
|
+
secondaryJsonKey: "table.columns[]"
|
|
2842
|
+
},
|
|
2843
|
+
{
|
|
2844
|
+
key: ConfigKey.property_tableCellType,
|
|
2845
|
+
description: "Table cell type (th/td).",
|
|
2846
|
+
format: TagFormat.plainText
|
|
2847
|
+
},
|
|
2848
|
+
{
|
|
2849
|
+
key: ConfigKey.property_tableRowSpan,
|
|
2850
|
+
description: "Number of rows the cell spans.",
|
|
2851
|
+
format: TagFormat.number
|
|
2852
|
+
},
|
|
2853
|
+
{
|
|
2854
|
+
key: ConfigKey.property_tableColSpan,
|
|
2855
|
+
description: "Number of columns the cell spans.",
|
|
2856
|
+
format: TagFormat.number
|
|
2857
|
+
},
|
|
2858
|
+
{
|
|
2859
|
+
key: ConfigKey.property_tableScope,
|
|
2860
|
+
description: "Scope attribute for header cells.",
|
|
2861
|
+
format: TagFormat.plainText
|
|
2862
|
+
}
|
|
2863
|
+
],
|
|
2864
|
+
repeatCount: Count.infinity
|
|
2865
|
+
}
|
|
2866
|
+
]
|
|
2867
|
+
}
|
|
2570
2868
|
]
|
|
2571
2869
|
},
|
|
2870
|
+
//
|
|
2871
|
+
// table-extended
|
|
2872
|
+
//
|
|
2873
|
+
[CardSetConfigKey.tableExtended]: {
|
|
2874
|
+
jsonKey: null,
|
|
2875
|
+
sections: {
|
|
2876
|
+
default: { jsonKey: "tableExtended.body.rows" },
|
|
2877
|
+
"table-header": { jsonKey: "tableExtended.header.rows" },
|
|
2878
|
+
"table-footer": { jsonKey: "tableExtended.footer.rows" }
|
|
2879
|
+
},
|
|
2880
|
+
sides: [
|
|
2881
|
+
{
|
|
2882
|
+
name: "cell",
|
|
2883
|
+
repeat: true,
|
|
2884
|
+
variants: [
|
|
2885
|
+
{
|
|
2886
|
+
jsonKey: "content",
|
|
2887
|
+
tags: [
|
|
2888
|
+
{
|
|
2889
|
+
key: ConfigKey.group_standardItemLeadInstructionHint,
|
|
2890
|
+
description: "Standard tags for lead, instruction, and hint."
|
|
2891
|
+
},
|
|
2892
|
+
{
|
|
2893
|
+
key: ConfigKey.tag_title,
|
|
2894
|
+
description: "Title of the table cell."
|
|
2895
|
+
},
|
|
2896
|
+
{
|
|
2897
|
+
key: ConfigKey.property_tableCellType,
|
|
2898
|
+
description: "Table cell type (th/td).",
|
|
2899
|
+
format: TagFormat.plainText
|
|
2900
|
+
},
|
|
2901
|
+
{
|
|
2902
|
+
key: ConfigKey.property_tableRowSpan,
|
|
2903
|
+
description: "Number of rows the cell spans.",
|
|
2904
|
+
format: TagFormat.number
|
|
2905
|
+
},
|
|
2906
|
+
{
|
|
2907
|
+
key: ConfigKey.property_tableColSpan,
|
|
2908
|
+
description: "Number of columns the cell spans.",
|
|
2909
|
+
format: TagFormat.number
|
|
2910
|
+
},
|
|
2911
|
+
{
|
|
2912
|
+
key: ConfigKey.property_tableScope,
|
|
2913
|
+
description: "Scope attribute for header cells.",
|
|
2914
|
+
format: TagFormat.plainText
|
|
2915
|
+
}
|
|
2916
|
+
],
|
|
2917
|
+
repeatCount: Count.infinity
|
|
2918
|
+
}
|
|
2919
|
+
]
|
|
2920
|
+
}
|
|
2921
|
+
]
|
|
2922
|
+
},
|
|
2923
|
+
//
|
|
2924
|
+
// pronunciation-table
|
|
2925
|
+
//
|
|
2572
2926
|
[CardSetConfigKey.pronunciationTable]: {
|
|
2573
|
-
|
|
2574
|
-
|
|
2575
|
-
|
|
2576
|
-
|
|
2577
|
-
|
|
2578
|
-
|
|
2579
|
-
|
|
2580
|
-
|
|
2581
|
-
|
|
2582
|
-
|
|
2583
|
-
|
|
2584
|
-
|
|
2585
|
-
|
|
2586
|
-
|
|
2587
|
-
|
|
2588
|
-
|
|
2589
|
-
|
|
2590
|
-
|
|
2591
|
-
|
|
2592
|
-
|
|
2593
|
-
|
|
2594
|
-
|
|
2927
|
+
jsonKey: "pronunciationTable.data",
|
|
2928
|
+
itemType: "array",
|
|
2929
|
+
sides: [
|
|
2930
|
+
{
|
|
2931
|
+
name: "cell",
|
|
2932
|
+
repeat: true,
|
|
2933
|
+
variants: [
|
|
2934
|
+
{
|
|
2935
|
+
jsonKey: "body",
|
|
2936
|
+
tags: [
|
|
2937
|
+
{
|
|
2938
|
+
key: ConfigKey.group_standardItemLeadInstructionHint,
|
|
2939
|
+
description: "Standard tags for lead, instruction, and hint."
|
|
2940
|
+
},
|
|
2941
|
+
{
|
|
2942
|
+
key: ConfigKey.tag_title,
|
|
2943
|
+
description: "Title of the pronunciation table."
|
|
2944
|
+
},
|
|
2945
|
+
{
|
|
2946
|
+
key: ConfigKey.resource_audio,
|
|
2947
|
+
description: "Audio resource for the pronunciation table.",
|
|
2948
|
+
jsonKey: "audio"
|
|
2949
|
+
}
|
|
2950
|
+
],
|
|
2951
|
+
repeatCount: Count.infinity
|
|
2952
|
+
}
|
|
2953
|
+
]
|
|
2954
|
+
}
|
|
2595
2955
|
]
|
|
2596
2956
|
},
|
|
2957
|
+
//
|
|
2958
|
+
// bot-action-responses
|
|
2959
|
+
//
|
|
2597
2960
|
[CardSetConfigKey.botActionResponses]: {
|
|
2598
|
-
|
|
2599
|
-
|
|
2600
|
-
|
|
2601
|
-
|
|
2602
|
-
|
|
2603
|
-
|
|
2604
|
-
|
|
2605
|
-
|
|
2606
|
-
|
|
2607
|
-
|
|
2608
|
-
|
|
2609
|
-
|
|
2610
|
-
|
|
2611
|
-
|
|
2612
|
-
|
|
2613
|
-
|
|
2614
|
-
|
|
2615
|
-
|
|
2616
|
-
|
|
2617
|
-
|
|
2618
|
-
|
|
2961
|
+
jsonKey: "responses",
|
|
2962
|
+
sides: [
|
|
2963
|
+
{
|
|
2964
|
+
name: "response",
|
|
2965
|
+
variants: [
|
|
2966
|
+
{
|
|
2967
|
+
jsonKey: "feedback",
|
|
2968
|
+
tags: [
|
|
2969
|
+
{
|
|
2970
|
+
key: ConfigKey.property_reaction,
|
|
2971
|
+
description: "Reaction to the bot action.",
|
|
2972
|
+
format: TagFormat.plainText
|
|
2973
|
+
},
|
|
2974
|
+
{
|
|
2975
|
+
key: ConfigKey.tag_item,
|
|
2976
|
+
description: "The item for the bot action response.",
|
|
2977
|
+
chain: [
|
|
2978
|
+
{
|
|
2979
|
+
key: ConfigKey.tag_item,
|
|
2980
|
+
description: "The lead, page number, source page number, and margin number.",
|
|
2981
|
+
maxCount: 4
|
|
2982
|
+
}
|
|
2983
|
+
]
|
|
2984
|
+
},
|
|
2985
|
+
{
|
|
2986
|
+
key: ConfigKey.tag_instruction,
|
|
2987
|
+
description: "The response label for the bot action.",
|
|
2988
|
+
jsonKey: "response"
|
|
2989
|
+
},
|
|
2990
|
+
{
|
|
2991
|
+
key: ConfigKey.property_example,
|
|
2992
|
+
description: "Example text for the bot action response.",
|
|
2993
|
+
format: TagFormat.plainText
|
|
2994
|
+
}
|
|
2995
|
+
]
|
|
2996
|
+
}
|
|
2997
|
+
]
|
|
2998
|
+
}
|
|
2619
2999
|
]
|
|
2620
3000
|
},
|
|
3001
|
+
//
|
|
3002
|
+
// cloze-list
|
|
3003
|
+
//
|
|
2621
3004
|
[CardSetConfigKey.clozeList]: {
|
|
2622
|
-
|
|
2623
|
-
|
|
2624
|
-
|
|
2625
|
-
|
|
2626
|
-
|
|
2627
|
-
|
|
2628
|
-
|
|
2629
|
-
|
|
2630
|
-
|
|
2631
|
-
|
|
2632
|
-
|
|
2633
|
-
|
|
2634
|
-
|
|
2635
|
-
|
|
2636
|
-
|
|
3005
|
+
jsonKey: "listItems",
|
|
3006
|
+
sides: [
|
|
3007
|
+
{
|
|
3008
|
+
name: "content",
|
|
3009
|
+
variants: [
|
|
3010
|
+
{
|
|
3011
|
+
jsonKey: "body",
|
|
3012
|
+
tags: [
|
|
3013
|
+
{
|
|
3014
|
+
key: ConfigKey.group_standardTags,
|
|
3015
|
+
description: "Standard tags for cloze items."
|
|
3016
|
+
},
|
|
3017
|
+
{
|
|
3018
|
+
key: ConfigKey.group_gap,
|
|
3019
|
+
description: "Group for gap tags in cloze items."
|
|
3020
|
+
}
|
|
3021
|
+
]
|
|
3022
|
+
}
|
|
3023
|
+
]
|
|
3024
|
+
}
|
|
2637
3025
|
]
|
|
2638
3026
|
},
|
|
3027
|
+
//
|
|
3028
|
+
// example-bit-list
|
|
3029
|
+
//
|
|
2639
3030
|
[CardSetConfigKey.exampleBitList]: {
|
|
2640
|
-
|
|
2641
|
-
|
|
2642
|
-
|
|
2643
|
-
|
|
2644
|
-
|
|
2645
|
-
|
|
2646
|
-
|
|
2647
|
-
|
|
2648
|
-
|
|
2649
|
-
|
|
2650
|
-
|
|
2651
|
-
|
|
2652
|
-
|
|
2653
|
-
|
|
2654
|
-
|
|
2655
|
-
|
|
3031
|
+
jsonKey: "listItems",
|
|
3032
|
+
sides: [
|
|
3033
|
+
{
|
|
3034
|
+
name: "item",
|
|
3035
|
+
variants: [
|
|
3036
|
+
{
|
|
3037
|
+
jsonKey: "body",
|
|
3038
|
+
tags: [
|
|
3039
|
+
{
|
|
3040
|
+
key: ConfigKey.group_standardTags,
|
|
3041
|
+
description: "Standard tags for example bits."
|
|
3042
|
+
},
|
|
3043
|
+
{
|
|
3044
|
+
key: ConfigKey.tag_title,
|
|
3045
|
+
description: "Title of the example bit."
|
|
3046
|
+
}
|
|
3047
|
+
]
|
|
3048
|
+
}
|
|
3049
|
+
]
|
|
3050
|
+
}
|
|
2656
3051
|
]
|
|
2657
3052
|
},
|
|
3053
|
+
//
|
|
3054
|
+
// ingredients
|
|
3055
|
+
//
|
|
2658
3056
|
[CardSetConfigKey.ingredients]: {
|
|
2659
|
-
|
|
2660
|
-
|
|
2661
|
-
|
|
2662
|
-
|
|
2663
|
-
|
|
2664
|
-
|
|
2665
|
-
|
|
2666
|
-
|
|
2667
|
-
|
|
2668
|
-
|
|
2669
|
-
|
|
2670
|
-
|
|
2671
|
-
|
|
2672
|
-
|
|
2673
|
-
|
|
2674
|
-
|
|
2675
|
-
|
|
2676
|
-
|
|
2677
|
-
|
|
2678
|
-
|
|
2679
|
-
|
|
2680
|
-
|
|
2681
|
-
|
|
2682
|
-
|
|
2683
|
-
|
|
2684
|
-
|
|
2685
|
-
|
|
2686
|
-
|
|
2687
|
-
|
|
2688
|
-
|
|
2689
|
-
|
|
2690
|
-
|
|
2691
|
-
|
|
2692
|
-
|
|
2693
|
-
|
|
2694
|
-
|
|
2695
|
-
|
|
2696
|
-
|
|
2697
|
-
|
|
2698
|
-
|
|
2699
|
-
|
|
3057
|
+
jsonKey: "ingredients",
|
|
3058
|
+
sides: [
|
|
3059
|
+
{
|
|
3060
|
+
name: "ingredient",
|
|
3061
|
+
variants: [
|
|
3062
|
+
{
|
|
3063
|
+
jsonKey: "ingredient",
|
|
3064
|
+
tags: [
|
|
3065
|
+
{
|
|
3066
|
+
key: ConfigKey.tag_title,
|
|
3067
|
+
description: "Title of the ingredient."
|
|
3068
|
+
},
|
|
3069
|
+
{
|
|
3070
|
+
key: ConfigKey.group_trueFalse,
|
|
3071
|
+
description: "Group for true/false properties of the ingredient."
|
|
3072
|
+
},
|
|
3073
|
+
{
|
|
3074
|
+
key: ConfigKey.tag_item,
|
|
3075
|
+
description: "The item for the ingredient.",
|
|
3076
|
+
chain: [
|
|
3077
|
+
{
|
|
3078
|
+
key: ConfigKey.tag_item,
|
|
3079
|
+
description: "Lead, page number, source page number, and margin number.",
|
|
3080
|
+
maxCount: 4
|
|
3081
|
+
}
|
|
3082
|
+
]
|
|
3083
|
+
},
|
|
3084
|
+
{
|
|
3085
|
+
key: ConfigKey.tag_instruction,
|
|
3086
|
+
description: "The quantity of the ingredient.",
|
|
3087
|
+
jsonKey: "quantity"
|
|
3088
|
+
},
|
|
3089
|
+
{
|
|
3090
|
+
key: ConfigKey.tag_hint,
|
|
3091
|
+
description: "The hint for the ingredient."
|
|
3092
|
+
},
|
|
3093
|
+
{
|
|
3094
|
+
key: ConfigKey.property_unit,
|
|
3095
|
+
description: "Unit of measurement for the ingredient.",
|
|
3096
|
+
format: TagFormat.plainText
|
|
3097
|
+
},
|
|
3098
|
+
{
|
|
3099
|
+
key: ConfigKey.property_unitAbbr,
|
|
3100
|
+
description: "Abbreviation for the unit of measurement.",
|
|
3101
|
+
format: TagFormat.plainText
|
|
3102
|
+
},
|
|
3103
|
+
{
|
|
3104
|
+
key: ConfigKey.property_decimalPlaces,
|
|
3105
|
+
description: "Number of decimal places for the ingredient quantity.",
|
|
3106
|
+
format: TagFormat.number,
|
|
3107
|
+
defaultValue: "1"
|
|
3108
|
+
},
|
|
3109
|
+
{
|
|
3110
|
+
key: ConfigKey.property_disableCalculation,
|
|
3111
|
+
description: "Disable calculation for the ingredient.",
|
|
3112
|
+
format: TagFormat.boolean
|
|
3113
|
+
}
|
|
3114
|
+
]
|
|
3115
|
+
}
|
|
3116
|
+
]
|
|
3117
|
+
}
|
|
2700
3118
|
]
|
|
2701
3119
|
},
|
|
2702
|
-
//
|
|
2703
|
-
//
|
|
2704
|
-
//
|
|
2705
|
-
// // Side 1
|
|
2706
|
-
// [
|
|
2707
|
-
// // Variant 1..N
|
|
2708
|
-
// {
|
|
2709
|
-
// tags: [
|
|
2710
|
-
// {
|
|
2711
|
-
// type: BitTagType.tag,
|
|
2712
|
-
// configKey: TagConfigKey.title,
|
|
2713
|
-
// },
|
|
2714
|
-
// ],
|
|
2715
|
-
// repeatCount: Count.infinity,
|
|
2716
|
-
// },
|
|
2717
|
-
// ],
|
|
2718
|
-
// ],
|
|
2719
|
-
// },
|
|
3120
|
+
//
|
|
3121
|
+
// book-reference-list
|
|
3122
|
+
//
|
|
2720
3123
|
[CardSetConfigKey.bookReferenceList]: {
|
|
2721
|
-
|
|
2722
|
-
|
|
2723
|
-
|
|
2724
|
-
|
|
2725
|
-
|
|
2726
|
-
|
|
2727
|
-
|
|
2728
|
-
|
|
2729
|
-
|
|
2730
|
-
|
|
2731
|
-
|
|
2732
|
-
|
|
2733
|
-
|
|
2734
|
-
|
|
2735
|
-
|
|
2736
|
-
|
|
2737
|
-
|
|
2738
|
-
|
|
2739
|
-
|
|
2740
|
-
|
|
2741
|
-
|
|
2742
|
-
|
|
2743
|
-
|
|
2744
|
-
|
|
2745
|
-
|
|
2746
|
-
|
|
2747
|
-
|
|
2748
|
-
|
|
2749
|
-
|
|
2750
|
-
|
|
2751
|
-
|
|
2752
|
-
|
|
2753
|
-
|
|
2754
|
-
|
|
2755
|
-
|
|
2756
|
-
|
|
2757
|
-
|
|
2758
|
-
|
|
2759
|
-
|
|
2760
|
-
|
|
2761
|
-
|
|
3124
|
+
jsonKey: "bookReferences",
|
|
3125
|
+
sides: [
|
|
3126
|
+
{
|
|
3127
|
+
name: "reference",
|
|
3128
|
+
variants: [
|
|
3129
|
+
{
|
|
3130
|
+
jsonKey: null,
|
|
3131
|
+
tags: [
|
|
3132
|
+
{
|
|
3133
|
+
key: ConfigKey.group_standardTags,
|
|
3134
|
+
description: "Standard tags for book references."
|
|
3135
|
+
},
|
|
3136
|
+
{
|
|
3137
|
+
key: ConfigKey.property_refAuthor,
|
|
3138
|
+
description: "Author of the book.",
|
|
3139
|
+
format: TagFormat.plainText,
|
|
3140
|
+
maxCount: Count.infinity
|
|
3141
|
+
},
|
|
3142
|
+
{
|
|
3143
|
+
key: ConfigKey.property_refBookTitle,
|
|
3144
|
+
description: "Title of the book.",
|
|
3145
|
+
format: TagFormat.plainText
|
|
3146
|
+
},
|
|
3147
|
+
{
|
|
3148
|
+
key: ConfigKey.property_refPublisher,
|
|
3149
|
+
description: "Publisher of the book.",
|
|
3150
|
+
format: TagFormat.plainText,
|
|
3151
|
+
maxCount: Count.infinity
|
|
3152
|
+
},
|
|
3153
|
+
{
|
|
3154
|
+
key: ConfigKey.property_refPublicationYear,
|
|
3155
|
+
description: "Year of publication of the book.",
|
|
3156
|
+
format: TagFormat.plainText
|
|
3157
|
+
},
|
|
3158
|
+
{
|
|
3159
|
+
key: ConfigKey.property_citationStyle,
|
|
3160
|
+
description: "Citation style for the book reference.",
|
|
3161
|
+
format: TagFormat.plainText
|
|
3162
|
+
}
|
|
3163
|
+
]
|
|
3164
|
+
}
|
|
3165
|
+
]
|
|
3166
|
+
}
|
|
2762
3167
|
]
|
|
2763
3168
|
}
|
|
2764
3169
|
};
|
|
@@ -4424,20 +4829,34 @@ var ConfigHydrator = class {
|
|
|
4424
4829
|
if (!_cardSet) return void 0;
|
|
4425
4830
|
const _cardSetConfig = CARDSETS[_cardSet];
|
|
4426
4831
|
if (!_cardSetConfig) throw new Error(`No config found for card set config key '${_cardSet}'`);
|
|
4427
|
-
const
|
|
4428
|
-
for (const
|
|
4832
|
+
const sides = [];
|
|
4833
|
+
for (const _side of _cardSetConfig.sides) {
|
|
4429
4834
|
const variantsOfSide = [];
|
|
4430
|
-
for (const _variant of
|
|
4835
|
+
for (const _variant of _side.variants) {
|
|
4431
4836
|
const v = this.hydrateCardVariantConfig(_variant);
|
|
4432
4837
|
variantsOfSide.push(v);
|
|
4433
4838
|
}
|
|
4434
|
-
|
|
4839
|
+
const sideConfig = new CardSideConfig(_side.name, _side.repeat ?? false, variantsOfSide);
|
|
4840
|
+
sides.push(sideConfig);
|
|
4435
4841
|
}
|
|
4436
|
-
const cardSetConfig = new CardSetConfig(
|
|
4842
|
+
const cardSetConfig = new CardSetConfig(
|
|
4843
|
+
_cardSet,
|
|
4844
|
+
_cardSetConfig.jsonKey,
|
|
4845
|
+
_cardSetConfig.itemType ?? "object",
|
|
4846
|
+
_cardSetConfig.sections,
|
|
4847
|
+
sides
|
|
4848
|
+
);
|
|
4437
4849
|
return cardSetConfig;
|
|
4438
4850
|
}
|
|
4439
4851
|
hydrateTagConfig(_tag) {
|
|
4440
|
-
const {
|
|
4852
|
+
const {
|
|
4853
|
+
key: _configKey,
|
|
4854
|
+
maxCount,
|
|
4855
|
+
minCount,
|
|
4856
|
+
chain: _chain,
|
|
4857
|
+
secondaryJsonKey,
|
|
4858
|
+
deprecated
|
|
4859
|
+
} = _tag;
|
|
4441
4860
|
const configKey = (0, import_superenum15.Enum)(ConfigKey).fromValue(_configKey) || ConfigKey._unknown;
|
|
4442
4861
|
if (!configKey) throw new Error(`No tag key found for config key '${configKey}'`);
|
|
4443
4862
|
const tag = (0, import_superenum15.Enum)(Tag).fromValue(configKey);
|
|
@@ -4452,6 +4871,7 @@ var ConfigHydrator = class {
|
|
|
4452
4871
|
maxCount: maxCount ?? MAX_COUNT_DEFAULT,
|
|
4453
4872
|
minCount: minCount ?? MIN_COUNT_DEFAULT,
|
|
4454
4873
|
chain,
|
|
4874
|
+
secondaryJsonKey,
|
|
4455
4875
|
deprecated
|
|
4456
4876
|
});
|
|
4457
4877
|
return {
|
|
@@ -4470,7 +4890,8 @@ var ConfigHydrator = class {
|
|
|
4470
4890
|
format,
|
|
4471
4891
|
values,
|
|
4472
4892
|
defaultValue,
|
|
4473
|
-
jsonKey
|
|
4893
|
+
jsonKey,
|
|
4894
|
+
secondaryJsonKey
|
|
4474
4895
|
} = _tag;
|
|
4475
4896
|
const configKey = (0, import_superenum15.Enum)(ConfigKey).fromValue(_configKey) || ConfigKey._unknown;
|
|
4476
4897
|
if (!configKey) throw new Error(`No property key found for config key '${configKey}'`);
|
|
@@ -4486,6 +4907,7 @@ var ConfigHydrator = class {
|
|
|
4486
4907
|
minCount: minCount ?? MIN_COUNT_DEFAULT,
|
|
4487
4908
|
chain,
|
|
4488
4909
|
jsonKey,
|
|
4910
|
+
secondaryJsonKey,
|
|
4489
4911
|
format,
|
|
4490
4912
|
values,
|
|
4491
4913
|
defaultValue,
|
|
@@ -4498,7 +4920,15 @@ var ConfigHydrator = class {
|
|
|
4498
4920
|
};
|
|
4499
4921
|
}
|
|
4500
4922
|
hydrateResourceTagConfig(_tag) {
|
|
4501
|
-
const {
|
|
4923
|
+
const {
|
|
4924
|
+
key: _configKey,
|
|
4925
|
+
maxCount,
|
|
4926
|
+
minCount,
|
|
4927
|
+
chain: _chain,
|
|
4928
|
+
deprecated,
|
|
4929
|
+
jsonKey,
|
|
4930
|
+
secondaryJsonKey
|
|
4931
|
+
} = _tag;
|
|
4502
4932
|
const configKey = (0, import_superenum15.Enum)(ConfigKey).fromValue(_configKey) || ConfigKey._unknown;
|
|
4503
4933
|
if (!configKey) throw new Error(`No resource key found for config key '${configKey}'`);
|
|
4504
4934
|
const tag = _configKey.substring(1);
|
|
@@ -4513,6 +4943,7 @@ var ConfigHydrator = class {
|
|
|
4513
4943
|
minCount: minCount ?? MIN_COUNT_DEFAULT,
|
|
4514
4944
|
chain,
|
|
4515
4945
|
jsonKey,
|
|
4946
|
+
secondaryJsonKey,
|
|
4516
4947
|
deprecated
|
|
4517
4948
|
});
|
|
4518
4949
|
return {
|
|
@@ -4544,9 +4975,15 @@ var ConfigHydrator = class {
|
|
|
4544
4975
|
};
|
|
4545
4976
|
}
|
|
4546
4977
|
hydrateCardVariantConfig(_variant) {
|
|
4547
|
-
const { tags: _tags, bodyAllowed, bodyRequired, repeatCount } = _variant;
|
|
4978
|
+
const { tags: _tags, bodyAllowed, bodyRequired, repeatCount, jsonKey } = _variant;
|
|
4548
4979
|
const tags2 = this.hydrateTagsConfig(_tags);
|
|
4549
|
-
const cardSetConfig = new CardVariantConfig(
|
|
4980
|
+
const cardSetConfig = new CardVariantConfig(
|
|
4981
|
+
tags2.tags,
|
|
4982
|
+
bodyAllowed,
|
|
4983
|
+
bodyRequired,
|
|
4984
|
+
repeatCount,
|
|
4985
|
+
jsonKey
|
|
4986
|
+
);
|
|
4550
4987
|
return cardSetConfig;
|
|
4551
4988
|
}
|
|
4552
4989
|
};
|
|
@@ -7312,6 +7749,12 @@ var BITS = {
|
|
|
7312
7749
|
description: "Extractor configuration bit, used to configure extractors in articles or books",
|
|
7313
7750
|
textFormatDefault: TextFormat.plainText
|
|
7314
7751
|
},
|
|
7752
|
+
[BitType.extractorBlueprintConfiguration]: {
|
|
7753
|
+
since: "5.11.0",
|
|
7754
|
+
baseBitType: BitType._standard,
|
|
7755
|
+
description: "Extractor blueprint configuration bit, used to specify extractor blueprint configuration when extracting from blueprints",
|
|
7756
|
+
textFormatDefault: TextFormat.plainText
|
|
7757
|
+
},
|
|
7315
7758
|
[BitType.extractorImage]: {
|
|
7316
7759
|
since: "4.3.0",
|
|
7317
7760
|
baseBitType: BitType._standard,
|
|
@@ -7337,6 +7780,12 @@ var BITS = {
|
|
|
7337
7780
|
baseBitType: BitType.extractorImage,
|
|
7338
7781
|
description: "Collapsible extractor images bit, used for images extracted from PDFs"
|
|
7339
7782
|
},
|
|
7783
|
+
[BitType.extractorBlueprint]: {
|
|
7784
|
+
since: "5.12.0",
|
|
7785
|
+
baseBitType: BitType._standard,
|
|
7786
|
+
description: "Extractor blueprint bit, used to provide blueprint information about extractors",
|
|
7787
|
+
textFormatDefault: TextFormat.json
|
|
7788
|
+
},
|
|
7340
7789
|
[BitType.extractorInformation]: {
|
|
7341
7790
|
since: "3.8.0",
|
|
7342
7791
|
baseBitType: BitType._standard,
|
|
@@ -7539,6 +7988,11 @@ var BITS = {
|
|
|
7539
7988
|
baseBitType: BitType.pageOpenBook,
|
|
7540
7989
|
description: "Open book chapter bit, derived from page-open-book, used to create chapter pages that open books"
|
|
7541
7990
|
},
|
|
7991
|
+
[BitType.openBookChapterTeaser]: {
|
|
7992
|
+
since: "4.16.0",
|
|
7993
|
+
baseBitType: BitType.openBookChapter,
|
|
7994
|
+
description: "Open book chapter teaser bit, equal to open-book-chapter, used to create teaser chapter pages that open books"
|
|
7995
|
+
},
|
|
7542
7996
|
[BitType.pageOpenBookList]: {
|
|
7543
7997
|
since: "2.1.0",
|
|
7544
7998
|
baseBitType: BitType.article,
|
|
@@ -9441,6 +9895,38 @@ var BITS = {
|
|
|
9441
9895
|
baseBitType: BitType.table,
|
|
9442
9896
|
description: "Extended table bit, used to create complex tables with all HTML table features"
|
|
9443
9897
|
},
|
|
9898
|
+
[BitType.tableExtendedImage]: {
|
|
9899
|
+
since: "5.13.0",
|
|
9900
|
+
baseBitType: BitType.tableExtended,
|
|
9901
|
+
description: "Extended table image bit, used to create complex tables with images and all HTML table features",
|
|
9902
|
+
tags: [
|
|
9903
|
+
{
|
|
9904
|
+
key: ConfigKey.property_caption,
|
|
9905
|
+
description: "Caption for the table image, used to provide a description for the image",
|
|
9906
|
+
format: TagFormat.bitmarkText
|
|
9907
|
+
},
|
|
9908
|
+
{
|
|
9909
|
+
key: ConfigKey.resource_backgroundWallpaper,
|
|
9910
|
+
description: "Background wallpaper for the image, used to set a background for the image",
|
|
9911
|
+
chain: [
|
|
9912
|
+
{
|
|
9913
|
+
key: ConfigKey.group_resourceImageCommon,
|
|
9914
|
+
description: "Common resource image tags for images"
|
|
9915
|
+
}
|
|
9916
|
+
]
|
|
9917
|
+
},
|
|
9918
|
+
{
|
|
9919
|
+
key: ConfigKey.group_resourceBitTags,
|
|
9920
|
+
description: "Resource bit tags for images, used to define additional properties for images"
|
|
9921
|
+
},
|
|
9922
|
+
{
|
|
9923
|
+
key: ConfigKey.group_resourceImage,
|
|
9924
|
+
description: "Resource image tags for images, used to attach images to the bit",
|
|
9925
|
+
minCount: 1
|
|
9926
|
+
}
|
|
9927
|
+
],
|
|
9928
|
+
resourceAttachmentAllowed: false
|
|
9929
|
+
},
|
|
9444
9930
|
[BitType.tableAlt]: {
|
|
9445
9931
|
since: "1.16.0",
|
|
9446
9932
|
baseBitType: BitType.table,
|
|
@@ -10359,6 +10845,7 @@ var Config = class {
|
|
|
10359
10845
|
maxCount: 1,
|
|
10360
10846
|
chain: tag.chain,
|
|
10361
10847
|
jsonKey: tag.jsonKey,
|
|
10848
|
+
secondaryJsonKey: tag.secondaryJsonKey,
|
|
10362
10849
|
deprecated: tag.deprecated
|
|
10363
10850
|
});
|
|
10364
10851
|
finalResourceTags[k] = newTag;
|
|
@@ -10463,7 +10950,7 @@ var instance2 = new Config();
|
|
|
10463
10950
|
// src/generated/package_info.ts
|
|
10464
10951
|
var PACKAGE_INFO = {
|
|
10465
10952
|
"name": "@gmb/bitmark-parser-generator",
|
|
10466
|
-
"version": "5.
|
|
10953
|
+
"version": "5.13.0",
|
|
10467
10954
|
"author": "Get More Brain Ltd",
|
|
10468
10955
|
"license": "ISC",
|
|
10469
10956
|
"description": "A bitmark parser and generator using Peggy.js"
|
|
@@ -12367,6 +12854,7 @@ var TextGenerator = class _TextGenerator extends AstWalkerGenerator {
|
|
|
12367
12854
|
* @param ast bitmark text AST
|
|
12368
12855
|
*/
|
|
12369
12856
|
generateSync(ast, textFormat, textLocation, options) {
|
|
12857
|
+
if (!ast || !Array.isArray(ast)) return "";
|
|
12370
12858
|
this.generateOptions = Object.assign({}, options);
|
|
12371
12859
|
this.validateGenerateOptions(ast);
|
|
12372
12860
|
if (!this.generateOptions.plainTextDividerAllowed) {
|
|
@@ -34474,6 +34962,7 @@ function propertyContentProcessor(context, contentDepth, tagsConfig, content, ta
|
|
|
34474
34962
|
minCount: 1,
|
|
34475
34963
|
chain: void 0,
|
|
34476
34964
|
jsonKey: void 0,
|
|
34965
|
+
secondaryJsonKey: void 0,
|
|
34477
34966
|
format: TagFormat.bitmarkText,
|
|
34478
34967
|
values: void 0,
|
|
34479
34968
|
defaultValue: void 0,
|
|
@@ -39327,7 +39816,7 @@ var ConfigBuilder = class {
|
|
|
39327
39816
|
const processTagEntries = (tag, tagNameChain) => {
|
|
39328
39817
|
const tags2 = [];
|
|
39329
39818
|
let tagName = tag.key;
|
|
39330
|
-
const jsonKey = keyToJsonKey(tagName, tagNameChain);
|
|
39819
|
+
const jsonKey = tag.jsonKey ?? keyToJsonKey(tagName, tagNameChain);
|
|
39331
39820
|
const tagType = typeFromConfigKey(tag.key);
|
|
39332
39821
|
let format = "";
|
|
39333
39822
|
let chain = void 0;
|
|
@@ -39356,7 +39845,8 @@ var ConfigBuilder = class {
|
|
|
39356
39845
|
for (const groupKey of resolvedGroups) {
|
|
39357
39846
|
tags2.push({
|
|
39358
39847
|
type: "group",
|
|
39359
|
-
key: groupKey
|
|
39848
|
+
key: groupKey,
|
|
39849
|
+
...tag.jsonKey ? { jsonKey: tag.jsonKey } : {}
|
|
39360
39850
|
});
|
|
39361
39851
|
}
|
|
39362
39852
|
return tags2;
|
|
@@ -39372,6 +39862,7 @@ var ConfigBuilder = class {
|
|
|
39372
39862
|
type: "tag",
|
|
39373
39863
|
key: tagName,
|
|
39374
39864
|
jsonKey,
|
|
39865
|
+
...tag.secondaryJsonKey ? { secondaryJsonKey: tag.secondaryJsonKey } : {},
|
|
39375
39866
|
format,
|
|
39376
39867
|
default: null,
|
|
39377
39868
|
alwaysInclude: false,
|
|
@@ -39390,8 +39881,8 @@ var ConfigBuilder = class {
|
|
|
39390
39881
|
const cardSetConfig = CARDSETS[cardSetKey];
|
|
39391
39882
|
if (!cardSetConfig) return void 0;
|
|
39392
39883
|
const normalizedKey = normalizeCardKey(cardSetKey);
|
|
39393
|
-
const sides = cardSetConfig.
|
|
39394
|
-
const variants =
|
|
39884
|
+
const sides = cardSetConfig.sides.map((side) => {
|
|
39885
|
+
const variants = side.variants.map((variant) => {
|
|
39395
39886
|
const variantTags = [];
|
|
39396
39887
|
const variantTagEntries = Object.entries(variant.tags ?? []).sort((a, b) => {
|
|
39397
39888
|
const tagA = a[1];
|
|
@@ -39405,16 +39896,24 @@ var ConfigBuilder = class {
|
|
|
39405
39896
|
variantTags.push(...processTagEntries(variantTag, []));
|
|
39406
39897
|
}
|
|
39407
39898
|
return {
|
|
39899
|
+
...variant.jsonKey !== void 0 ? { jsonKey: variant.jsonKey } : {},
|
|
39408
39900
|
tags: variantTags,
|
|
39409
39901
|
repeatCount: variant.repeatCount ?? 1,
|
|
39410
39902
|
bodyAllowed: variant.bodyAllowed ?? true,
|
|
39411
39903
|
bodyRequired: variant.bodyRequired ?? false
|
|
39412
39904
|
};
|
|
39413
39905
|
});
|
|
39414
|
-
return {
|
|
39906
|
+
return {
|
|
39907
|
+
name: side.name,
|
|
39908
|
+
...side.repeat ? { repeat: side.repeat } : {},
|
|
39909
|
+
variants
|
|
39910
|
+
};
|
|
39415
39911
|
});
|
|
39416
39912
|
return {
|
|
39417
39913
|
key: normalizedKey,
|
|
39914
|
+
jsonKey: cardSetConfig.jsonKey,
|
|
39915
|
+
...cardSetConfig.itemType && cardSetConfig.itemType !== "object" ? { itemType: cardSetConfig.itemType } : {},
|
|
39916
|
+
...cardSetConfig.sections ? { sections: cardSetConfig.sections } : {},
|
|
39418
39917
|
sides
|
|
39419
39918
|
};
|
|
39420
39919
|
};
|