@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
|
@@ -295,6 +295,8 @@ var BitType = {
|
|
|
295
295
|
exampleList: "example-list",
|
|
296
296
|
extractorAiChat: "extractor-ai-chat",
|
|
297
297
|
extractorBlock: "extractor-block",
|
|
298
|
+
extractorBlueprint: "extractor-blueprint",
|
|
299
|
+
extractorBlueprintConfiguration: "extractor-blueprint-configuration",
|
|
298
300
|
extractorConfiguration: "extractor-configuration",
|
|
299
301
|
extractorImage: "extractor-image",
|
|
300
302
|
extractorImageCollapsible: "extractor-image-collapsible",
|
|
@@ -478,6 +480,7 @@ var BitType = {
|
|
|
478
480
|
pageOpenBookList: "page-open-book-list",
|
|
479
481
|
printBook: "print-book",
|
|
480
482
|
openBookChapter: "open-book-chapter",
|
|
483
|
+
openBookChapterTeaser: "open-book-chapter-teaser",
|
|
481
484
|
pagePerson: "page-person",
|
|
482
485
|
pageProduct: "page-product",
|
|
483
486
|
pageProductList: "page-product-list",
|
|
@@ -641,6 +644,7 @@ var BitType = {
|
|
|
641
644
|
table: "table",
|
|
642
645
|
tableAlt: "table-alt",
|
|
643
646
|
tableExtended: "table-extended",
|
|
647
|
+
tableExtendedImage: "table-extended-image",
|
|
644
648
|
tableImage: "table-image",
|
|
645
649
|
tableImageAlt: "table-image-alt",
|
|
646
650
|
takePicture: "take-picture",
|
|
@@ -827,6 +831,8 @@ var AbstractTagConfig = class {
|
|
|
827
831
|
__publicField(this, "chain");
|
|
828
832
|
__publicField(this, "jsonKey");
|
|
829
833
|
// If the json key is different from the tag
|
|
834
|
+
__publicField(this, "secondaryJsonKey");
|
|
835
|
+
// Heading card alternate path
|
|
830
836
|
__publicField(this, "deprecated");
|
|
831
837
|
this.type = params.type;
|
|
832
838
|
this.configKey = params.configKey;
|
|
@@ -835,6 +841,7 @@ var AbstractTagConfig = class {
|
|
|
835
841
|
this.minCount = params.minCount;
|
|
836
842
|
this.chain = params.chain;
|
|
837
843
|
this.jsonKey = params.jsonKey;
|
|
844
|
+
this.secondaryJsonKey = params.secondaryJsonKey;
|
|
838
845
|
this.deprecated = params.deprecated;
|
|
839
846
|
}
|
|
840
847
|
};
|
|
@@ -956,18 +963,22 @@ var ResourceTagConfig = class extends AbstractTagConfig {
|
|
|
956
963
|
|
|
957
964
|
// src/model/config/CardVariantConfig.ts
|
|
958
965
|
var CardVariantConfig = class {
|
|
959
|
-
//
|
|
960
|
-
constructor(tags2, bodyAllowed, bodyRequired, repeatCount) {
|
|
966
|
+
// JSON path for body text
|
|
967
|
+
constructor(tags2, bodyAllowed, bodyRequired, repeatCount, jsonKey) {
|
|
961
968
|
__publicField(this, "tags");
|
|
962
969
|
__publicField(this, "bodyAllowed");
|
|
963
970
|
// Default: true
|
|
964
971
|
__publicField(this, "bodyRequired");
|
|
965
972
|
// Default: false
|
|
966
973
|
__publicField(this, "repeatCount");
|
|
974
|
+
// Default: 1
|
|
975
|
+
// JSON mapping fields
|
|
976
|
+
__publicField(this, "jsonKey");
|
|
967
977
|
this.tags = tags2;
|
|
968
978
|
this.bodyAllowed = bodyAllowed == null ? true : bodyAllowed;
|
|
969
979
|
this.bodyRequired = bodyRequired;
|
|
970
980
|
this.repeatCount = repeatCount;
|
|
981
|
+
this.jsonKey = jsonKey;
|
|
971
982
|
}
|
|
972
983
|
toString(options) {
|
|
973
984
|
const opts = Object.assign({}, options);
|
|
@@ -989,27 +1000,63 @@ ${tag.toString(opts)}`;
|
|
|
989
1000
|
}
|
|
990
1001
|
};
|
|
991
1002
|
|
|
1003
|
+
// src/model/config/CardSideConfig.ts
|
|
1004
|
+
var CardSideConfig = class {
|
|
1005
|
+
constructor(name, repeat, variants) {
|
|
1006
|
+
__publicField(this, "name");
|
|
1007
|
+
__publicField(this, "repeat");
|
|
1008
|
+
__publicField(this, "variants");
|
|
1009
|
+
this.name = name;
|
|
1010
|
+
this.repeat = repeat;
|
|
1011
|
+
this.variants = variants;
|
|
1012
|
+
}
|
|
1013
|
+
toString(options) {
|
|
1014
|
+
const opts = Object.assign({}, options);
|
|
1015
|
+
let s = "";
|
|
1016
|
+
s += `[Side: ${this.name}]`;
|
|
1017
|
+
if (this.repeat) s += " (repeat)";
|
|
1018
|
+
let variantNo = 0;
|
|
1019
|
+
for (const variant of this.variants) {
|
|
1020
|
+
s += `
|
|
1021
|
+
[Variant ${variantNo}]`;
|
|
1022
|
+
s += `
|
|
1023
|
+
${variant.toString(opts)}`;
|
|
1024
|
+
variantNo++;
|
|
1025
|
+
}
|
|
1026
|
+
return s;
|
|
1027
|
+
}
|
|
1028
|
+
};
|
|
1029
|
+
|
|
992
1030
|
// src/model/config/CardSetConfig.ts
|
|
993
1031
|
var CardSetConfig = class {
|
|
994
|
-
constructor(configKey,
|
|
1032
|
+
constructor(configKey, jsonKey, itemType, sections, sides) {
|
|
995
1033
|
__publicField(this, "configKey");
|
|
996
|
-
__publicField(this, "
|
|
1034
|
+
__publicField(this, "jsonKey");
|
|
1035
|
+
__publicField(this, "itemType");
|
|
1036
|
+
__publicField(this, "sections");
|
|
1037
|
+
__publicField(this, "sides");
|
|
997
1038
|
this.configKey = configKey;
|
|
998
|
-
this.
|
|
1039
|
+
this.jsonKey = jsonKey;
|
|
1040
|
+
this.itemType = itemType;
|
|
1041
|
+
this.sections = sections;
|
|
1042
|
+
this.sides = sides;
|
|
1043
|
+
}
|
|
1044
|
+
// Legacy accessor — provides the same shape as the old `variants: CardVariantConfig[][]`
|
|
1045
|
+
// so downstream consumers (Config.getCardSetVariantConfig, etc.) continue to work.
|
|
1046
|
+
get variants() {
|
|
1047
|
+
return this.sides.map((side) => side.variants);
|
|
999
1048
|
}
|
|
1000
1049
|
toString(options) {
|
|
1001
1050
|
const opts = Object.assign({}, options);
|
|
1002
1051
|
let s = "";
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
}
|
|
1012
|
-
sideNo++;
|
|
1052
|
+
s += `[CardSet: ${this.configKey}]`;
|
|
1053
|
+
s += `
|
|
1054
|
+
jsonKey: ${this.jsonKey}`;
|
|
1055
|
+
s += `
|
|
1056
|
+
itemType: ${this.itemType}`;
|
|
1057
|
+
for (const side of this.sides) {
|
|
1058
|
+
s += `
|
|
1059
|
+
${side.toString(opts)}`;
|
|
1013
1060
|
}
|
|
1014
1061
|
return s;
|
|
1015
1062
|
}
|
|
@@ -2162,589 +2209,947 @@ var import_superenum15 = require("@ncoderz/superenum");
|
|
|
2162
2209
|
|
|
2163
2210
|
// src/config/raw/cardSets.ts
|
|
2164
2211
|
var CARDSETS = {
|
|
2165
|
-
|
|
2166
|
-
|
|
2167
|
-
|
|
2168
|
-
|
|
2169
|
-
|
|
2170
|
-
|
|
2171
|
-
|
|
2172
|
-
|
|
2173
|
-
|
|
2174
|
-
|
|
2175
|
-
|
|
2176
|
-
|
|
2177
|
-
|
|
2178
|
-
|
|
2179
|
-
|
|
2180
|
-
|
|
2181
|
-
|
|
2182
|
-
|
|
2183
|
-
|
|
2184
|
-
|
|
2185
|
-
|
|
2186
|
-
|
|
2187
|
-
|
|
2188
|
-
|
|
2189
|
-
|
|
2190
|
-
|
|
2212
|
+
//
|
|
2213
|
+
// flashcard
|
|
2214
|
+
//
|
|
2215
|
+
[CardSetConfigKey.flashcard]: {
|
|
2216
|
+
jsonKey: "cards",
|
|
2217
|
+
sides: [
|
|
2218
|
+
{
|
|
2219
|
+
name: "question",
|
|
2220
|
+
variants: [
|
|
2221
|
+
{
|
|
2222
|
+
jsonKey: "question.text",
|
|
2223
|
+
tags: [
|
|
2224
|
+
{
|
|
2225
|
+
key: ConfigKey.group_standardTags,
|
|
2226
|
+
description: "Standard tags for the flashcard."
|
|
2227
|
+
},
|
|
2228
|
+
{
|
|
2229
|
+
key: ConfigKey.tag_title,
|
|
2230
|
+
description: "Title of the flashcard."
|
|
2231
|
+
},
|
|
2232
|
+
{
|
|
2233
|
+
key: ConfigKey.group_resourceIcon,
|
|
2234
|
+
description: "Icon resource for the flashcard.",
|
|
2235
|
+
jsonKey: "question.icon"
|
|
2236
|
+
}
|
|
2237
|
+
]
|
|
2238
|
+
}
|
|
2239
|
+
]
|
|
2240
|
+
},
|
|
2241
|
+
{
|
|
2242
|
+
name: "answer",
|
|
2243
|
+
variants: [
|
|
2244
|
+
{
|
|
2245
|
+
jsonKey: "answer.text",
|
|
2246
|
+
tags: [
|
|
2247
|
+
{
|
|
2248
|
+
key: ConfigKey.group_standardTags,
|
|
2249
|
+
description: "Standard tags for the flashcard."
|
|
2250
|
+
},
|
|
2251
|
+
{
|
|
2252
|
+
key: ConfigKey.tag_title,
|
|
2253
|
+
description: "Title of the flashcard."
|
|
2254
|
+
},
|
|
2255
|
+
{
|
|
2256
|
+
key: ConfigKey.group_resourceIcon,
|
|
2257
|
+
description: "Icon resource for the flashcard.",
|
|
2258
|
+
jsonKey: "answer.icon"
|
|
2259
|
+
}
|
|
2260
|
+
]
|
|
2261
|
+
},
|
|
2262
|
+
{
|
|
2263
|
+
jsonKey: "alternativeAnswers[].text",
|
|
2264
|
+
tags: [
|
|
2265
|
+
{
|
|
2266
|
+
key: ConfigKey.group_standardTags,
|
|
2267
|
+
description: "Standard tags for the flashcard."
|
|
2268
|
+
},
|
|
2269
|
+
{
|
|
2270
|
+
key: ConfigKey.tag_title,
|
|
2271
|
+
description: "Title of the flashcard."
|
|
2272
|
+
},
|
|
2273
|
+
{
|
|
2274
|
+
key: ConfigKey.group_resourceIcon,
|
|
2275
|
+
description: "Icon resource for the flashcard."
|
|
2276
|
+
}
|
|
2277
|
+
],
|
|
2278
|
+
repeatCount: Count.infinity
|
|
2279
|
+
}
|
|
2280
|
+
]
|
|
2281
|
+
}
|
|
2191
2282
|
]
|
|
2192
2283
|
},
|
|
2193
|
-
|
|
2194
|
-
|
|
2195
|
-
|
|
2196
|
-
|
|
2197
|
-
|
|
2198
|
-
|
|
2199
|
-
|
|
2200
|
-
|
|
2201
|
-
|
|
2202
|
-
|
|
2203
|
-
|
|
2204
|
-
|
|
2205
|
-
|
|
2206
|
-
|
|
2207
|
-
|
|
2208
|
-
|
|
2209
|
-
|
|
2210
|
-
|
|
2211
|
-
|
|
2212
|
-
|
|
2213
|
-
|
|
2214
|
-
|
|
2215
|
-
|
|
2216
|
-
|
|
2217
|
-
|
|
2218
|
-
|
|
2284
|
+
//
|
|
2285
|
+
// definition-list
|
|
2286
|
+
//
|
|
2287
|
+
[CardSetConfigKey.definitionList]: {
|
|
2288
|
+
jsonKey: "definitions",
|
|
2289
|
+
sides: [
|
|
2290
|
+
{
|
|
2291
|
+
name: "term",
|
|
2292
|
+
variants: [
|
|
2293
|
+
{
|
|
2294
|
+
jsonKey: "term.text",
|
|
2295
|
+
tags: [
|
|
2296
|
+
{
|
|
2297
|
+
key: ConfigKey.group_standardTags,
|
|
2298
|
+
description: "Standard tags for the definition."
|
|
2299
|
+
},
|
|
2300
|
+
{
|
|
2301
|
+
key: ConfigKey.tag_title,
|
|
2302
|
+
description: "Title of the definition.",
|
|
2303
|
+
secondaryJsonKey: "heading.forKeys"
|
|
2304
|
+
},
|
|
2305
|
+
{
|
|
2306
|
+
key: ConfigKey.group_resourceIcon,
|
|
2307
|
+
description: "Icon resource for the definition.",
|
|
2308
|
+
jsonKey: "term.icon"
|
|
2309
|
+
}
|
|
2310
|
+
]
|
|
2311
|
+
}
|
|
2312
|
+
]
|
|
2313
|
+
},
|
|
2314
|
+
{
|
|
2315
|
+
name: "definition",
|
|
2316
|
+
variants: [
|
|
2317
|
+
{
|
|
2318
|
+
jsonKey: "definition.text",
|
|
2319
|
+
tags: [
|
|
2320
|
+
{
|
|
2321
|
+
key: ConfigKey.group_standardTags,
|
|
2322
|
+
description: "Standard tags for the definition."
|
|
2323
|
+
},
|
|
2324
|
+
{
|
|
2325
|
+
key: ConfigKey.tag_title,
|
|
2326
|
+
description: "Title of the definition.",
|
|
2327
|
+
secondaryJsonKey: "heading.forValues"
|
|
2328
|
+
},
|
|
2329
|
+
{
|
|
2330
|
+
key: ConfigKey.group_resourceIcon,
|
|
2331
|
+
description: "Icon resource for the definition.",
|
|
2332
|
+
jsonKey: "definition.icon"
|
|
2333
|
+
}
|
|
2334
|
+
]
|
|
2335
|
+
},
|
|
2336
|
+
{
|
|
2337
|
+
jsonKey: "alternativeDefinitions[].text",
|
|
2338
|
+
tags: [
|
|
2339
|
+
{
|
|
2340
|
+
key: ConfigKey.group_standardTags,
|
|
2341
|
+
description: "Standard tags for the definition."
|
|
2342
|
+
},
|
|
2343
|
+
{
|
|
2344
|
+
key: ConfigKey.tag_title,
|
|
2345
|
+
description: "Title of the definition."
|
|
2346
|
+
},
|
|
2347
|
+
{
|
|
2348
|
+
key: ConfigKey.group_resourceIcon,
|
|
2349
|
+
description: "Icon resource for the definition."
|
|
2350
|
+
}
|
|
2351
|
+
],
|
|
2352
|
+
repeatCount: Count.infinity
|
|
2353
|
+
}
|
|
2354
|
+
]
|
|
2355
|
+
}
|
|
2219
2356
|
]
|
|
2220
2357
|
},
|
|
2221
|
-
|
|
2222
|
-
|
|
2223
|
-
|
|
2224
|
-
|
|
2225
|
-
|
|
2226
|
-
|
|
2227
|
-
|
|
2228
|
-
|
|
2229
|
-
|
|
2230
|
-
|
|
2231
|
-
|
|
2232
|
-
|
|
2233
|
-
|
|
2234
|
-
|
|
2235
|
-
|
|
2236
|
-
|
|
2237
|
-
|
|
2238
|
-
|
|
2358
|
+
//
|
|
2359
|
+
// match-pairs
|
|
2360
|
+
//
|
|
2361
|
+
[CardSetConfigKey.matchPairs]: {
|
|
2362
|
+
jsonKey: "pairs",
|
|
2363
|
+
sides: [
|
|
2364
|
+
{
|
|
2365
|
+
name: "key",
|
|
2366
|
+
variants: [
|
|
2367
|
+
{
|
|
2368
|
+
jsonKey: "key",
|
|
2369
|
+
tags: [
|
|
2370
|
+
{
|
|
2371
|
+
key: ConfigKey.group_standardTags,
|
|
2372
|
+
description: "Standard tags for the match pair."
|
|
2373
|
+
},
|
|
2374
|
+
{
|
|
2375
|
+
key: ConfigKey.tag_title,
|
|
2376
|
+
description: "Title of the match pair.",
|
|
2377
|
+
secondaryJsonKey: "heading.forKeys"
|
|
2378
|
+
},
|
|
2379
|
+
{
|
|
2380
|
+
key: ConfigKey.property_isCaseSensitive,
|
|
2381
|
+
description: "Property to indicate if the match is case sensitive.",
|
|
2382
|
+
format: TagFormat.boolean
|
|
2383
|
+
},
|
|
2384
|
+
{
|
|
2385
|
+
key: ConfigKey.resource_audio,
|
|
2386
|
+
description: "Audio resource for the match pair.",
|
|
2387
|
+
jsonKey: "keyAudio"
|
|
2388
|
+
},
|
|
2389
|
+
{
|
|
2390
|
+
key: ConfigKey.resource_image,
|
|
2391
|
+
description: "Image resource for the match pair.",
|
|
2392
|
+
jsonKey: "keyImage"
|
|
2393
|
+
}
|
|
2394
|
+
]
|
|
2395
|
+
}
|
|
2396
|
+
]
|
|
2397
|
+
},
|
|
2398
|
+
{
|
|
2399
|
+
name: "values",
|
|
2400
|
+
repeat: true,
|
|
2401
|
+
variants: [
|
|
2402
|
+
{
|
|
2403
|
+
jsonKey: "values[]",
|
|
2404
|
+
tags: [
|
|
2405
|
+
{
|
|
2406
|
+
key: ConfigKey.group_standardTags,
|
|
2407
|
+
description: "Standard tags for the match pair."
|
|
2408
|
+
},
|
|
2409
|
+
{
|
|
2410
|
+
key: ConfigKey.tag_title,
|
|
2411
|
+
description: "Title of the match pair.",
|
|
2412
|
+
secondaryJsonKey: "heading.forValues"
|
|
2413
|
+
},
|
|
2414
|
+
{
|
|
2415
|
+
key: ConfigKey.property_isCaseSensitive,
|
|
2416
|
+
description: "Property to indicate if the match is case sensitive.",
|
|
2417
|
+
format: TagFormat.boolean
|
|
2418
|
+
}
|
|
2419
|
+
],
|
|
2420
|
+
repeatCount: Count.infinity
|
|
2421
|
+
}
|
|
2422
|
+
]
|
|
2423
|
+
}
|
|
2239
2424
|
]
|
|
2240
2425
|
},
|
|
2241
|
-
|
|
2242
|
-
|
|
2243
|
-
|
|
2244
|
-
|
|
2245
|
-
|
|
2246
|
-
|
|
2247
|
-
|
|
2248
|
-
|
|
2249
|
-
|
|
2250
|
-
|
|
2251
|
-
|
|
2252
|
-
|
|
2253
|
-
|
|
2254
|
-
|
|
2255
|
-
|
|
2256
|
-
|
|
2257
|
-
|
|
2258
|
-
|
|
2259
|
-
|
|
2260
|
-
|
|
2261
|
-
|
|
2262
|
-
|
|
2263
|
-
|
|
2264
|
-
|
|
2265
|
-
|
|
2266
|
-
|
|
2267
|
-
|
|
2268
|
-
|
|
2426
|
+
//
|
|
2427
|
+
// match-audio-pairs
|
|
2428
|
+
//
|
|
2429
|
+
[CardSetConfigKey.matchAudioPairs]: {
|
|
2430
|
+
jsonKey: "pairs",
|
|
2431
|
+
sides: [
|
|
2432
|
+
{
|
|
2433
|
+
name: "key",
|
|
2434
|
+
variants: [
|
|
2435
|
+
{
|
|
2436
|
+
jsonKey: "key",
|
|
2437
|
+
tags: [
|
|
2438
|
+
{
|
|
2439
|
+
key: ConfigKey.group_standardTags,
|
|
2440
|
+
description: "Standard tags for the audio match pair."
|
|
2441
|
+
},
|
|
2442
|
+
{
|
|
2443
|
+
key: ConfigKey.tag_title,
|
|
2444
|
+
description: "Title of the audio match pair.",
|
|
2445
|
+
secondaryJsonKey: "heading.forKeys"
|
|
2446
|
+
},
|
|
2447
|
+
{
|
|
2448
|
+
key: ConfigKey.resource_audio,
|
|
2449
|
+
description: "Audio resource for the match pair.",
|
|
2450
|
+
jsonKey: "keyAudio"
|
|
2451
|
+
}
|
|
2452
|
+
]
|
|
2453
|
+
}
|
|
2454
|
+
]
|
|
2455
|
+
},
|
|
2456
|
+
{
|
|
2457
|
+
name: "values",
|
|
2458
|
+
repeat: true,
|
|
2459
|
+
variants: [
|
|
2460
|
+
{
|
|
2461
|
+
jsonKey: "values[]",
|
|
2462
|
+
tags: [
|
|
2463
|
+
{
|
|
2464
|
+
key: ConfigKey.group_standardTags,
|
|
2465
|
+
description: "Standard tags for the audio match pair."
|
|
2466
|
+
},
|
|
2467
|
+
{
|
|
2468
|
+
key: ConfigKey.tag_title,
|
|
2469
|
+
description: "Title of the audio match pair.",
|
|
2470
|
+
secondaryJsonKey: "heading.forValues"
|
|
2471
|
+
},
|
|
2472
|
+
{
|
|
2473
|
+
key: ConfigKey.resource_audio,
|
|
2474
|
+
description: "Audio resource for the match pair."
|
|
2475
|
+
}
|
|
2476
|
+
],
|
|
2477
|
+
repeatCount: Count.infinity
|
|
2478
|
+
}
|
|
2479
|
+
]
|
|
2480
|
+
}
|
|
2269
2481
|
]
|
|
2270
2482
|
},
|
|
2271
|
-
|
|
2272
|
-
|
|
2273
|
-
|
|
2274
|
-
|
|
2275
|
-
|
|
2276
|
-
|
|
2277
|
-
|
|
2278
|
-
|
|
2279
|
-
|
|
2280
|
-
|
|
2281
|
-
|
|
2282
|
-
|
|
2283
|
-
|
|
2284
|
-
|
|
2285
|
-
|
|
2286
|
-
|
|
2287
|
-
|
|
2288
|
-
|
|
2289
|
-
|
|
2290
|
-
|
|
2291
|
-
|
|
2292
|
-
|
|
2483
|
+
//
|
|
2484
|
+
// match-image-pairs
|
|
2485
|
+
//
|
|
2486
|
+
[CardSetConfigKey.matchImagePairs]: {
|
|
2487
|
+
jsonKey: "pairs",
|
|
2488
|
+
sides: [
|
|
2489
|
+
{
|
|
2490
|
+
name: "key",
|
|
2491
|
+
variants: [
|
|
2492
|
+
{
|
|
2493
|
+
jsonKey: "key",
|
|
2494
|
+
tags: [
|
|
2495
|
+
{
|
|
2496
|
+
key: ConfigKey.group_standardTags,
|
|
2497
|
+
description: "Standard tags for the image match pair."
|
|
2498
|
+
},
|
|
2499
|
+
{
|
|
2500
|
+
key: ConfigKey.tag_title,
|
|
2501
|
+
description: "Title of the image match pair.",
|
|
2502
|
+
secondaryJsonKey: "heading.forKeys"
|
|
2503
|
+
},
|
|
2504
|
+
{
|
|
2505
|
+
key: ConfigKey.resource_image,
|
|
2506
|
+
description: "Image resource for the match pair.",
|
|
2507
|
+
jsonKey: "keyImage"
|
|
2508
|
+
}
|
|
2509
|
+
]
|
|
2510
|
+
}
|
|
2511
|
+
]
|
|
2512
|
+
},
|
|
2513
|
+
{
|
|
2514
|
+
name: "values",
|
|
2515
|
+
repeat: true,
|
|
2516
|
+
variants: [
|
|
2517
|
+
{
|
|
2518
|
+
jsonKey: "values[]",
|
|
2519
|
+
tags: [
|
|
2520
|
+
{
|
|
2521
|
+
key: ConfigKey.group_standardTags,
|
|
2522
|
+
description: "Standard tags for the image match pair."
|
|
2523
|
+
},
|
|
2524
|
+
{
|
|
2525
|
+
key: ConfigKey.tag_title,
|
|
2526
|
+
description: "Title of the image match pair.",
|
|
2527
|
+
secondaryJsonKey: "heading.forValues"
|
|
2528
|
+
},
|
|
2529
|
+
{
|
|
2530
|
+
key: ConfigKey.resource_image,
|
|
2531
|
+
description: "Image resource for the match pair."
|
|
2532
|
+
}
|
|
2533
|
+
],
|
|
2534
|
+
repeatCount: Count.infinity
|
|
2535
|
+
}
|
|
2536
|
+
]
|
|
2537
|
+
}
|
|
2293
2538
|
]
|
|
2294
2539
|
},
|
|
2295
|
-
|
|
2296
|
-
|
|
2297
|
-
|
|
2298
|
-
|
|
2299
|
-
|
|
2300
|
-
|
|
2301
|
-
|
|
2302
|
-
|
|
2303
|
-
|
|
2304
|
-
|
|
2305
|
-
|
|
2306
|
-
|
|
2307
|
-
|
|
2308
|
-
|
|
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
|
-
|
|
2540
|
+
//
|
|
2541
|
+
// match-matrix
|
|
2542
|
+
//
|
|
2543
|
+
[CardSetConfigKey.matchMatrix]: {
|
|
2544
|
+
jsonKey: "matrix",
|
|
2545
|
+
sides: [
|
|
2546
|
+
{
|
|
2547
|
+
name: "key",
|
|
2548
|
+
variants: [
|
|
2549
|
+
{
|
|
2550
|
+
jsonKey: "key",
|
|
2551
|
+
tags: [
|
|
2552
|
+
{
|
|
2553
|
+
key: ConfigKey.group_standardItemLeadInstructionHint,
|
|
2554
|
+
description: "Standard tags for lead, instruction, and hint."
|
|
2555
|
+
},
|
|
2556
|
+
{
|
|
2557
|
+
key: ConfigKey.property_example,
|
|
2558
|
+
description: "Example text for the match matrix.",
|
|
2559
|
+
format: TagFormat.plainText
|
|
2560
|
+
},
|
|
2561
|
+
{
|
|
2562
|
+
key: ConfigKey.tag_title,
|
|
2563
|
+
description: "Title of the match matrix.",
|
|
2564
|
+
secondaryJsonKey: "heading.forKeys"
|
|
2565
|
+
},
|
|
2566
|
+
{
|
|
2567
|
+
key: ConfigKey.property_isCaseSensitive,
|
|
2568
|
+
description: "Property to indicate if the match is case sensitive.",
|
|
2569
|
+
format: TagFormat.boolean
|
|
2570
|
+
}
|
|
2571
|
+
]
|
|
2572
|
+
}
|
|
2573
|
+
]
|
|
2574
|
+
},
|
|
2575
|
+
{
|
|
2576
|
+
name: "cell",
|
|
2577
|
+
repeat: true,
|
|
2578
|
+
variants: [
|
|
2579
|
+
{
|
|
2580
|
+
jsonKey: "cells[{s}].values[]",
|
|
2581
|
+
tags: [
|
|
2582
|
+
{
|
|
2583
|
+
key: ConfigKey.group_standardItemLeadInstructionHint,
|
|
2584
|
+
description: "Standard tags for lead, instruction, and hint."
|
|
2585
|
+
},
|
|
2586
|
+
{
|
|
2587
|
+
key: ConfigKey.property_example,
|
|
2588
|
+
description: "Example text for the match matrix.",
|
|
2589
|
+
format: TagFormat.plainText
|
|
2590
|
+
},
|
|
2591
|
+
{
|
|
2592
|
+
key: ConfigKey.tag_title,
|
|
2593
|
+
description: "Title of the match matrix.",
|
|
2594
|
+
secondaryJsonKey: "heading.forValues"
|
|
2595
|
+
},
|
|
2596
|
+
{
|
|
2597
|
+
key: ConfigKey.property_isCaseSensitive,
|
|
2598
|
+
description: "Property to indicate if the match is case sensitive.",
|
|
2599
|
+
format: TagFormat.boolean
|
|
2600
|
+
}
|
|
2601
|
+
],
|
|
2602
|
+
repeatCount: Count.infinity
|
|
2603
|
+
}
|
|
2604
|
+
]
|
|
2605
|
+
}
|
|
2345
2606
|
]
|
|
2346
2607
|
},
|
|
2347
|
-
|
|
2348
|
-
|
|
2349
|
-
|
|
2350
|
-
|
|
2351
|
-
|
|
2352
|
-
|
|
2353
|
-
|
|
2354
|
-
|
|
2355
|
-
|
|
2356
|
-
|
|
2357
|
-
|
|
2358
|
-
|
|
2359
|
-
|
|
2360
|
-
|
|
2361
|
-
|
|
2362
|
-
|
|
2363
|
-
|
|
2364
|
-
|
|
2365
|
-
|
|
2366
|
-
|
|
2367
|
-
|
|
2368
|
-
|
|
2369
|
-
|
|
2370
|
-
|
|
2371
|
-
|
|
2372
|
-
|
|
2373
|
-
|
|
2374
|
-
|
|
2375
|
-
|
|
2376
|
-
|
|
2377
|
-
|
|
2378
|
-
key: ConfigKey.group_standardItemLeadInstructionHint,
|
|
2379
|
-
description: "Standard tags for lead, instruction, and hint."
|
|
2380
|
-
},
|
|
2381
|
-
{
|
|
2382
|
-
key: ConfigKey.property_example,
|
|
2383
|
-
description: "Example text for the question.",
|
|
2384
|
-
format: TagFormat.plainText
|
|
2385
|
-
}
|
|
2386
|
-
],
|
|
2387
|
-
repeatCount: Count.infinity
|
|
2388
|
-
}
|
|
2389
|
-
]
|
|
2608
|
+
//
|
|
2609
|
+
// statements
|
|
2610
|
+
//
|
|
2611
|
+
[CardSetConfigKey.statements]: {
|
|
2612
|
+
jsonKey: "statements",
|
|
2613
|
+
sides: [
|
|
2614
|
+
{
|
|
2615
|
+
name: "statement",
|
|
2616
|
+
variants: [
|
|
2617
|
+
{
|
|
2618
|
+
jsonKey: "statement",
|
|
2619
|
+
tags: [
|
|
2620
|
+
{
|
|
2621
|
+
key: ConfigKey.tag_true,
|
|
2622
|
+
description: "Tag for true statements.",
|
|
2623
|
+
maxCount: 1
|
|
2624
|
+
},
|
|
2625
|
+
{
|
|
2626
|
+
key: ConfigKey.tag_false,
|
|
2627
|
+
description: "Tag for false statements.",
|
|
2628
|
+
maxCount: 1
|
|
2629
|
+
},
|
|
2630
|
+
{
|
|
2631
|
+
key: ConfigKey.group_standardTags,
|
|
2632
|
+
description: "Standard tags for the statement."
|
|
2633
|
+
}
|
|
2634
|
+
],
|
|
2635
|
+
bodyAllowed: false
|
|
2636
|
+
}
|
|
2637
|
+
]
|
|
2638
|
+
}
|
|
2390
2639
|
]
|
|
2391
2640
|
},
|
|
2392
|
-
//
|
|
2393
|
-
//
|
|
2394
|
-
//
|
|
2395
|
-
[CardSetConfigKey.
|
|
2396
|
-
|
|
2397
|
-
|
|
2398
|
-
|
|
2399
|
-
|
|
2400
|
-
|
|
2401
|
-
|
|
2402
|
-
|
|
2403
|
-
|
|
2404
|
-
|
|
2405
|
-
|
|
2406
|
-
|
|
2407
|
-
|
|
2408
|
-
|
|
2409
|
-
|
|
2410
|
-
|
|
2411
|
-
|
|
2412
|
-
|
|
2413
|
-
|
|
2414
|
-
|
|
2415
|
-
|
|
2416
|
-
|
|
2417
|
-
description: "Property to indicate if the match is case sensitive.",
|
|
2418
|
-
format: TagFormat.boolean
|
|
2419
|
-
}
|
|
2420
|
-
],
|
|
2421
|
-
repeatCount: Count.infinity
|
|
2422
|
-
}
|
|
2423
|
-
]
|
|
2641
|
+
//
|
|
2642
|
+
// quiz
|
|
2643
|
+
//
|
|
2644
|
+
[CardSetConfigKey.quiz]: {
|
|
2645
|
+
jsonKey: "quizzes",
|
|
2646
|
+
sides: [
|
|
2647
|
+
{
|
|
2648
|
+
name: "choices",
|
|
2649
|
+
variants: [
|
|
2650
|
+
{
|
|
2651
|
+
jsonKey: null,
|
|
2652
|
+
tags: [
|
|
2653
|
+
{
|
|
2654
|
+
key: ConfigKey.group_trueFalse,
|
|
2655
|
+
description: "Group for true/false questions."
|
|
2656
|
+
},
|
|
2657
|
+
{
|
|
2658
|
+
key: ConfigKey.group_standardTags,
|
|
2659
|
+
description: "Standard tags for the quiz."
|
|
2660
|
+
}
|
|
2661
|
+
],
|
|
2662
|
+
bodyAllowed: false
|
|
2663
|
+
}
|
|
2664
|
+
]
|
|
2665
|
+
}
|
|
2424
2666
|
]
|
|
2425
2667
|
},
|
|
2426
|
-
|
|
2427
|
-
|
|
2428
|
-
|
|
2429
|
-
|
|
2430
|
-
|
|
2431
|
-
|
|
2432
|
-
|
|
2433
|
-
|
|
2434
|
-
|
|
2435
|
-
|
|
2436
|
-
|
|
2437
|
-
|
|
2438
|
-
|
|
2439
|
-
|
|
2440
|
-
|
|
2441
|
-
|
|
2442
|
-
|
|
2443
|
-
|
|
2444
|
-
|
|
2445
|
-
|
|
2446
|
-
|
|
2447
|
-
|
|
2448
|
-
|
|
2449
|
-
|
|
2450
|
-
|
|
2451
|
-
|
|
2452
|
-
|
|
2453
|
-
|
|
2668
|
+
//
|
|
2669
|
+
// feedback
|
|
2670
|
+
//
|
|
2671
|
+
[CardSetConfigKey.feedback]: {
|
|
2672
|
+
jsonKey: "feedbacks",
|
|
2673
|
+
sides: [
|
|
2674
|
+
{
|
|
2675
|
+
name: "choices",
|
|
2676
|
+
variants: [
|
|
2677
|
+
{
|
|
2678
|
+
jsonKey: null,
|
|
2679
|
+
tags: [
|
|
2680
|
+
{
|
|
2681
|
+
key: ConfigKey.group_standardItemLeadInstructionHint,
|
|
2682
|
+
description: "Standard tags for lead, instruction, and hint."
|
|
2683
|
+
},
|
|
2684
|
+
{
|
|
2685
|
+
key: ConfigKey.group_trueFalse,
|
|
2686
|
+
description: "Group for true/false feedback."
|
|
2687
|
+
},
|
|
2688
|
+
{
|
|
2689
|
+
key: ConfigKey.tag_title,
|
|
2690
|
+
description: "Title of the feedback.",
|
|
2691
|
+
secondaryJsonKey: "heading.forKeys"
|
|
2692
|
+
}
|
|
2693
|
+
],
|
|
2694
|
+
bodyAllowed: false
|
|
2695
|
+
}
|
|
2696
|
+
]
|
|
2697
|
+
},
|
|
2698
|
+
{
|
|
2699
|
+
name: "reason",
|
|
2700
|
+
variants: [
|
|
2701
|
+
{
|
|
2702
|
+
jsonKey: "reason.text",
|
|
2703
|
+
tags: [
|
|
2704
|
+
{
|
|
2705
|
+
key: ConfigKey.group_standardItemLeadInstructionHint,
|
|
2706
|
+
description: "Standard tags for lead, instruction, and hint."
|
|
2707
|
+
},
|
|
2708
|
+
{
|
|
2709
|
+
key: ConfigKey.property_reasonableNumOfChars,
|
|
2710
|
+
description: "Property for reasonable number of characters.",
|
|
2711
|
+
format: TagFormat.number
|
|
2712
|
+
},
|
|
2713
|
+
{
|
|
2714
|
+
key: ConfigKey.property_example,
|
|
2715
|
+
description: "Example text for the feedback.",
|
|
2716
|
+
format: TagFormat.plainText
|
|
2717
|
+
},
|
|
2718
|
+
{
|
|
2719
|
+
key: ConfigKey.tag_title,
|
|
2720
|
+
description: "Title of the feedback.",
|
|
2721
|
+
secondaryJsonKey: "heading.forValues"
|
|
2722
|
+
}
|
|
2723
|
+
],
|
|
2724
|
+
bodyAllowed: true
|
|
2725
|
+
}
|
|
2726
|
+
]
|
|
2727
|
+
}
|
|
2454
2728
|
]
|
|
2455
2729
|
},
|
|
2456
|
-
|
|
2457
|
-
|
|
2458
|
-
|
|
2459
|
-
|
|
2460
|
-
|
|
2461
|
-
|
|
2462
|
-
|
|
2463
|
-
|
|
2464
|
-
|
|
2465
|
-
|
|
2466
|
-
|
|
2467
|
-
|
|
2468
|
-
|
|
2469
|
-
|
|
2470
|
-
|
|
2471
|
-
|
|
2472
|
-
|
|
2473
|
-
|
|
2474
|
-
|
|
2475
|
-
|
|
2476
|
-
|
|
2477
|
-
|
|
2478
|
-
|
|
2479
|
-
|
|
2480
|
-
|
|
2481
|
-
|
|
2482
|
-
|
|
2483
|
-
|
|
2730
|
+
//
|
|
2731
|
+
// questions
|
|
2732
|
+
//
|
|
2733
|
+
[CardSetConfigKey.questions]: {
|
|
2734
|
+
jsonKey: "questions",
|
|
2735
|
+
sides: [
|
|
2736
|
+
{
|
|
2737
|
+
name: "question",
|
|
2738
|
+
variants: [
|
|
2739
|
+
{
|
|
2740
|
+
jsonKey: "question",
|
|
2741
|
+
tags: [
|
|
2742
|
+
{
|
|
2743
|
+
key: ConfigKey.property_reasonableNumOfChars,
|
|
2744
|
+
description: "Property for reasonable number of characters.",
|
|
2745
|
+
format: TagFormat.number
|
|
2746
|
+
},
|
|
2747
|
+
{
|
|
2748
|
+
key: ConfigKey.tag_sampleSolution,
|
|
2749
|
+
description: "Sample solution for the question."
|
|
2750
|
+
},
|
|
2751
|
+
{
|
|
2752
|
+
key: ConfigKey.property_sampleSolution,
|
|
2753
|
+
description: "Property for sample solution text.",
|
|
2754
|
+
format: TagFormat.plainText
|
|
2755
|
+
},
|
|
2756
|
+
{
|
|
2757
|
+
key: ConfigKey.property_additionalSolutions,
|
|
2758
|
+
description: "Property for additional solutions.",
|
|
2759
|
+
format: TagFormat.plainText,
|
|
2760
|
+
maxCount: Count.infinity
|
|
2761
|
+
},
|
|
2762
|
+
{
|
|
2763
|
+
key: ConfigKey.property_partialAnswer,
|
|
2764
|
+
description: "Property for partial answer text.",
|
|
2765
|
+
format: TagFormat.plainText
|
|
2766
|
+
},
|
|
2767
|
+
{
|
|
2768
|
+
key: ConfigKey.group_standardTags,
|
|
2769
|
+
description: "Standard tags for the question."
|
|
2770
|
+
}
|
|
2771
|
+
]
|
|
2772
|
+
}
|
|
2773
|
+
]
|
|
2774
|
+
}
|
|
2484
2775
|
]
|
|
2485
2776
|
},
|
|
2486
|
-
|
|
2487
|
-
|
|
2488
|
-
|
|
2489
|
-
|
|
2490
|
-
|
|
2491
|
-
|
|
2492
|
-
|
|
2493
|
-
|
|
2494
|
-
|
|
2495
|
-
|
|
2496
|
-
|
|
2497
|
-
|
|
2498
|
-
|
|
2499
|
-
|
|
2500
|
-
|
|
2501
|
-
|
|
2502
|
-
|
|
2503
|
-
|
|
2504
|
-
|
|
2505
|
-
|
|
2506
|
-
|
|
2507
|
-
|
|
2508
|
-
|
|
2509
|
-
|
|
2510
|
-
|
|
2511
|
-
|
|
2512
|
-
|
|
2513
|
-
}
|
|
2514
|
-
]
|
|
2777
|
+
//
|
|
2778
|
+
// elements
|
|
2779
|
+
//
|
|
2780
|
+
[CardSetConfigKey.elements]: {
|
|
2781
|
+
jsonKey: null,
|
|
2782
|
+
sides: [
|
|
2783
|
+
{
|
|
2784
|
+
name: "element",
|
|
2785
|
+
repeat: true,
|
|
2786
|
+
variants: [
|
|
2787
|
+
{
|
|
2788
|
+
jsonKey: "elements[]",
|
|
2789
|
+
tags: [
|
|
2790
|
+
{
|
|
2791
|
+
key: ConfigKey.group_standardItemLeadInstructionHint,
|
|
2792
|
+
description: "Standard tags for lead, instruction, and hint."
|
|
2793
|
+
},
|
|
2794
|
+
{
|
|
2795
|
+
key: ConfigKey.property_example,
|
|
2796
|
+
description: "Example text for the element.",
|
|
2797
|
+
format: TagFormat.plainText
|
|
2798
|
+
}
|
|
2799
|
+
],
|
|
2800
|
+
repeatCount: Count.infinity
|
|
2801
|
+
}
|
|
2802
|
+
]
|
|
2803
|
+
}
|
|
2515
2804
|
]
|
|
2516
2805
|
},
|
|
2806
|
+
//
|
|
2807
|
+
// table
|
|
2808
|
+
//
|
|
2517
2809
|
[CardSetConfigKey.table]: {
|
|
2518
|
-
|
|
2519
|
-
|
|
2520
|
-
|
|
2521
|
-
|
|
2522
|
-
|
|
2523
|
-
|
|
2524
|
-
|
|
2525
|
-
|
|
2526
|
-
|
|
2527
|
-
|
|
2528
|
-
|
|
2529
|
-
|
|
2530
|
-
|
|
2531
|
-
|
|
2532
|
-
|
|
2533
|
-
|
|
2534
|
-
|
|
2535
|
-
|
|
2536
|
-
|
|
2537
|
-
|
|
2538
|
-
|
|
2539
|
-
|
|
2540
|
-
|
|
2541
|
-
|
|
2542
|
-
|
|
2543
|
-
|
|
2544
|
-
|
|
2545
|
-
|
|
2546
|
-
|
|
2547
|
-
|
|
2548
|
-
|
|
2549
|
-
|
|
2550
|
-
|
|
2551
|
-
|
|
2552
|
-
|
|
2553
|
-
|
|
2554
|
-
|
|
2555
|
-
|
|
2810
|
+
jsonKey: "table.data",
|
|
2811
|
+
itemType: "array",
|
|
2812
|
+
sides: [
|
|
2813
|
+
{
|
|
2814
|
+
name: "cell",
|
|
2815
|
+
repeat: true,
|
|
2816
|
+
variants: [
|
|
2817
|
+
{
|
|
2818
|
+
jsonKey: null,
|
|
2819
|
+
tags: [
|
|
2820
|
+
{
|
|
2821
|
+
key: ConfigKey.group_standardItemLeadInstructionHint,
|
|
2822
|
+
description: "Standard tags for lead, instruction, and hint."
|
|
2823
|
+
},
|
|
2824
|
+
{
|
|
2825
|
+
key: ConfigKey.tag_title,
|
|
2826
|
+
description: "Title of the table.",
|
|
2827
|
+
secondaryJsonKey: "table.columns[]"
|
|
2828
|
+
},
|
|
2829
|
+
{
|
|
2830
|
+
key: ConfigKey.property_tableCellType,
|
|
2831
|
+
description: "Table cell type (th/td).",
|
|
2832
|
+
format: TagFormat.plainText
|
|
2833
|
+
},
|
|
2834
|
+
{
|
|
2835
|
+
key: ConfigKey.property_tableRowSpan,
|
|
2836
|
+
description: "Number of rows the cell spans.",
|
|
2837
|
+
format: TagFormat.number
|
|
2838
|
+
},
|
|
2839
|
+
{
|
|
2840
|
+
key: ConfigKey.property_tableColSpan,
|
|
2841
|
+
description: "Number of columns the cell spans.",
|
|
2842
|
+
format: TagFormat.number
|
|
2843
|
+
},
|
|
2844
|
+
{
|
|
2845
|
+
key: ConfigKey.property_tableScope,
|
|
2846
|
+
description: "Scope attribute for header cells.",
|
|
2847
|
+
format: TagFormat.plainText
|
|
2848
|
+
}
|
|
2849
|
+
],
|
|
2850
|
+
repeatCount: Count.infinity
|
|
2851
|
+
}
|
|
2852
|
+
]
|
|
2853
|
+
}
|
|
2556
2854
|
]
|
|
2557
2855
|
},
|
|
2856
|
+
//
|
|
2857
|
+
// table-extended
|
|
2858
|
+
//
|
|
2859
|
+
[CardSetConfigKey.tableExtended]: {
|
|
2860
|
+
jsonKey: null,
|
|
2861
|
+
sections: {
|
|
2862
|
+
default: { jsonKey: "tableExtended.body.rows" },
|
|
2863
|
+
"table-header": { jsonKey: "tableExtended.header.rows" },
|
|
2864
|
+
"table-footer": { jsonKey: "tableExtended.footer.rows" }
|
|
2865
|
+
},
|
|
2866
|
+
sides: [
|
|
2867
|
+
{
|
|
2868
|
+
name: "cell",
|
|
2869
|
+
repeat: true,
|
|
2870
|
+
variants: [
|
|
2871
|
+
{
|
|
2872
|
+
jsonKey: "content",
|
|
2873
|
+
tags: [
|
|
2874
|
+
{
|
|
2875
|
+
key: ConfigKey.group_standardItemLeadInstructionHint,
|
|
2876
|
+
description: "Standard tags for lead, instruction, and hint."
|
|
2877
|
+
},
|
|
2878
|
+
{
|
|
2879
|
+
key: ConfigKey.tag_title,
|
|
2880
|
+
description: "Title of the table cell."
|
|
2881
|
+
},
|
|
2882
|
+
{
|
|
2883
|
+
key: ConfigKey.property_tableCellType,
|
|
2884
|
+
description: "Table cell type (th/td).",
|
|
2885
|
+
format: TagFormat.plainText
|
|
2886
|
+
},
|
|
2887
|
+
{
|
|
2888
|
+
key: ConfigKey.property_tableRowSpan,
|
|
2889
|
+
description: "Number of rows the cell spans.",
|
|
2890
|
+
format: TagFormat.number
|
|
2891
|
+
},
|
|
2892
|
+
{
|
|
2893
|
+
key: ConfigKey.property_tableColSpan,
|
|
2894
|
+
description: "Number of columns the cell spans.",
|
|
2895
|
+
format: TagFormat.number
|
|
2896
|
+
},
|
|
2897
|
+
{
|
|
2898
|
+
key: ConfigKey.property_tableScope,
|
|
2899
|
+
description: "Scope attribute for header cells.",
|
|
2900
|
+
format: TagFormat.plainText
|
|
2901
|
+
}
|
|
2902
|
+
],
|
|
2903
|
+
repeatCount: Count.infinity
|
|
2904
|
+
}
|
|
2905
|
+
]
|
|
2906
|
+
}
|
|
2907
|
+
]
|
|
2908
|
+
},
|
|
2909
|
+
//
|
|
2910
|
+
// pronunciation-table
|
|
2911
|
+
//
|
|
2558
2912
|
[CardSetConfigKey.pronunciationTable]: {
|
|
2559
|
-
|
|
2560
|
-
|
|
2561
|
-
|
|
2562
|
-
|
|
2563
|
-
|
|
2564
|
-
|
|
2565
|
-
|
|
2566
|
-
|
|
2567
|
-
|
|
2568
|
-
|
|
2569
|
-
|
|
2570
|
-
|
|
2571
|
-
|
|
2572
|
-
|
|
2573
|
-
|
|
2574
|
-
|
|
2575
|
-
|
|
2576
|
-
|
|
2577
|
-
|
|
2578
|
-
|
|
2579
|
-
|
|
2580
|
-
|
|
2913
|
+
jsonKey: "pronunciationTable.data",
|
|
2914
|
+
itemType: "array",
|
|
2915
|
+
sides: [
|
|
2916
|
+
{
|
|
2917
|
+
name: "cell",
|
|
2918
|
+
repeat: true,
|
|
2919
|
+
variants: [
|
|
2920
|
+
{
|
|
2921
|
+
jsonKey: "body",
|
|
2922
|
+
tags: [
|
|
2923
|
+
{
|
|
2924
|
+
key: ConfigKey.group_standardItemLeadInstructionHint,
|
|
2925
|
+
description: "Standard tags for lead, instruction, and hint."
|
|
2926
|
+
},
|
|
2927
|
+
{
|
|
2928
|
+
key: ConfigKey.tag_title,
|
|
2929
|
+
description: "Title of the pronunciation table."
|
|
2930
|
+
},
|
|
2931
|
+
{
|
|
2932
|
+
key: ConfigKey.resource_audio,
|
|
2933
|
+
description: "Audio resource for the pronunciation table.",
|
|
2934
|
+
jsonKey: "audio"
|
|
2935
|
+
}
|
|
2936
|
+
],
|
|
2937
|
+
repeatCount: Count.infinity
|
|
2938
|
+
}
|
|
2939
|
+
]
|
|
2940
|
+
}
|
|
2581
2941
|
]
|
|
2582
2942
|
},
|
|
2943
|
+
//
|
|
2944
|
+
// bot-action-responses
|
|
2945
|
+
//
|
|
2583
2946
|
[CardSetConfigKey.botActionResponses]: {
|
|
2584
|
-
|
|
2585
|
-
|
|
2586
|
-
|
|
2587
|
-
|
|
2588
|
-
|
|
2589
|
-
|
|
2590
|
-
|
|
2591
|
-
|
|
2592
|
-
|
|
2593
|
-
|
|
2594
|
-
|
|
2595
|
-
|
|
2596
|
-
|
|
2597
|
-
|
|
2598
|
-
|
|
2599
|
-
|
|
2600
|
-
|
|
2601
|
-
|
|
2602
|
-
|
|
2603
|
-
|
|
2604
|
-
|
|
2947
|
+
jsonKey: "responses",
|
|
2948
|
+
sides: [
|
|
2949
|
+
{
|
|
2950
|
+
name: "response",
|
|
2951
|
+
variants: [
|
|
2952
|
+
{
|
|
2953
|
+
jsonKey: "feedback",
|
|
2954
|
+
tags: [
|
|
2955
|
+
{
|
|
2956
|
+
key: ConfigKey.property_reaction,
|
|
2957
|
+
description: "Reaction to the bot action.",
|
|
2958
|
+
format: TagFormat.plainText
|
|
2959
|
+
},
|
|
2960
|
+
{
|
|
2961
|
+
key: ConfigKey.tag_item,
|
|
2962
|
+
description: "The item for the bot action response.",
|
|
2963
|
+
chain: [
|
|
2964
|
+
{
|
|
2965
|
+
key: ConfigKey.tag_item,
|
|
2966
|
+
description: "The lead, page number, source page number, and margin number.",
|
|
2967
|
+
maxCount: 4
|
|
2968
|
+
}
|
|
2969
|
+
]
|
|
2970
|
+
},
|
|
2971
|
+
{
|
|
2972
|
+
key: ConfigKey.tag_instruction,
|
|
2973
|
+
description: "The response label for the bot action.",
|
|
2974
|
+
jsonKey: "response"
|
|
2975
|
+
},
|
|
2976
|
+
{
|
|
2977
|
+
key: ConfigKey.property_example,
|
|
2978
|
+
description: "Example text for the bot action response.",
|
|
2979
|
+
format: TagFormat.plainText
|
|
2980
|
+
}
|
|
2981
|
+
]
|
|
2982
|
+
}
|
|
2983
|
+
]
|
|
2984
|
+
}
|
|
2605
2985
|
]
|
|
2606
2986
|
},
|
|
2987
|
+
//
|
|
2988
|
+
// cloze-list
|
|
2989
|
+
//
|
|
2607
2990
|
[CardSetConfigKey.clozeList]: {
|
|
2608
|
-
|
|
2609
|
-
|
|
2610
|
-
|
|
2611
|
-
|
|
2612
|
-
|
|
2613
|
-
|
|
2614
|
-
|
|
2615
|
-
|
|
2616
|
-
|
|
2617
|
-
|
|
2618
|
-
|
|
2619
|
-
|
|
2620
|
-
|
|
2621
|
-
|
|
2622
|
-
|
|
2991
|
+
jsonKey: "listItems",
|
|
2992
|
+
sides: [
|
|
2993
|
+
{
|
|
2994
|
+
name: "content",
|
|
2995
|
+
variants: [
|
|
2996
|
+
{
|
|
2997
|
+
jsonKey: "body",
|
|
2998
|
+
tags: [
|
|
2999
|
+
{
|
|
3000
|
+
key: ConfigKey.group_standardTags,
|
|
3001
|
+
description: "Standard tags for cloze items."
|
|
3002
|
+
},
|
|
3003
|
+
{
|
|
3004
|
+
key: ConfigKey.group_gap,
|
|
3005
|
+
description: "Group for gap tags in cloze items."
|
|
3006
|
+
}
|
|
3007
|
+
]
|
|
3008
|
+
}
|
|
3009
|
+
]
|
|
3010
|
+
}
|
|
2623
3011
|
]
|
|
2624
3012
|
},
|
|
3013
|
+
//
|
|
3014
|
+
// example-bit-list
|
|
3015
|
+
//
|
|
2625
3016
|
[CardSetConfigKey.exampleBitList]: {
|
|
2626
|
-
|
|
2627
|
-
|
|
2628
|
-
|
|
2629
|
-
|
|
2630
|
-
|
|
2631
|
-
|
|
2632
|
-
|
|
2633
|
-
|
|
2634
|
-
|
|
2635
|
-
|
|
2636
|
-
|
|
2637
|
-
|
|
2638
|
-
|
|
2639
|
-
|
|
2640
|
-
|
|
2641
|
-
|
|
3017
|
+
jsonKey: "listItems",
|
|
3018
|
+
sides: [
|
|
3019
|
+
{
|
|
3020
|
+
name: "item",
|
|
3021
|
+
variants: [
|
|
3022
|
+
{
|
|
3023
|
+
jsonKey: "body",
|
|
3024
|
+
tags: [
|
|
3025
|
+
{
|
|
3026
|
+
key: ConfigKey.group_standardTags,
|
|
3027
|
+
description: "Standard tags for example bits."
|
|
3028
|
+
},
|
|
3029
|
+
{
|
|
3030
|
+
key: ConfigKey.tag_title,
|
|
3031
|
+
description: "Title of the example bit."
|
|
3032
|
+
}
|
|
3033
|
+
]
|
|
3034
|
+
}
|
|
3035
|
+
]
|
|
3036
|
+
}
|
|
2642
3037
|
]
|
|
2643
3038
|
},
|
|
3039
|
+
//
|
|
3040
|
+
// ingredients
|
|
3041
|
+
//
|
|
2644
3042
|
[CardSetConfigKey.ingredients]: {
|
|
2645
|
-
|
|
2646
|
-
|
|
2647
|
-
|
|
2648
|
-
|
|
2649
|
-
|
|
2650
|
-
|
|
2651
|
-
|
|
2652
|
-
|
|
2653
|
-
|
|
2654
|
-
|
|
2655
|
-
|
|
2656
|
-
|
|
2657
|
-
|
|
2658
|
-
|
|
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
|
-
|
|
3043
|
+
jsonKey: "ingredients",
|
|
3044
|
+
sides: [
|
|
3045
|
+
{
|
|
3046
|
+
name: "ingredient",
|
|
3047
|
+
variants: [
|
|
3048
|
+
{
|
|
3049
|
+
jsonKey: "ingredient",
|
|
3050
|
+
tags: [
|
|
3051
|
+
{
|
|
3052
|
+
key: ConfigKey.tag_title,
|
|
3053
|
+
description: "Title of the ingredient."
|
|
3054
|
+
},
|
|
3055
|
+
{
|
|
3056
|
+
key: ConfigKey.group_trueFalse,
|
|
3057
|
+
description: "Group for true/false properties of the ingredient."
|
|
3058
|
+
},
|
|
3059
|
+
{
|
|
3060
|
+
key: ConfigKey.tag_item,
|
|
3061
|
+
description: "The item for the ingredient.",
|
|
3062
|
+
chain: [
|
|
3063
|
+
{
|
|
3064
|
+
key: ConfigKey.tag_item,
|
|
3065
|
+
description: "Lead, page number, source page number, and margin number.",
|
|
3066
|
+
maxCount: 4
|
|
3067
|
+
}
|
|
3068
|
+
]
|
|
3069
|
+
},
|
|
3070
|
+
{
|
|
3071
|
+
key: ConfigKey.tag_instruction,
|
|
3072
|
+
description: "The quantity of the ingredient.",
|
|
3073
|
+
jsonKey: "quantity"
|
|
3074
|
+
},
|
|
3075
|
+
{
|
|
3076
|
+
key: ConfigKey.tag_hint,
|
|
3077
|
+
description: "The hint for the ingredient."
|
|
3078
|
+
},
|
|
3079
|
+
{
|
|
3080
|
+
key: ConfigKey.property_unit,
|
|
3081
|
+
description: "Unit of measurement for the ingredient.",
|
|
3082
|
+
format: TagFormat.plainText
|
|
3083
|
+
},
|
|
3084
|
+
{
|
|
3085
|
+
key: ConfigKey.property_unitAbbr,
|
|
3086
|
+
description: "Abbreviation for the unit of measurement.",
|
|
3087
|
+
format: TagFormat.plainText
|
|
3088
|
+
},
|
|
3089
|
+
{
|
|
3090
|
+
key: ConfigKey.property_decimalPlaces,
|
|
3091
|
+
description: "Number of decimal places for the ingredient quantity.",
|
|
3092
|
+
format: TagFormat.number,
|
|
3093
|
+
defaultValue: "1"
|
|
3094
|
+
},
|
|
3095
|
+
{
|
|
3096
|
+
key: ConfigKey.property_disableCalculation,
|
|
3097
|
+
description: "Disable calculation for the ingredient.",
|
|
3098
|
+
format: TagFormat.boolean
|
|
3099
|
+
}
|
|
3100
|
+
]
|
|
3101
|
+
}
|
|
3102
|
+
]
|
|
3103
|
+
}
|
|
2686
3104
|
]
|
|
2687
3105
|
},
|
|
2688
|
-
//
|
|
2689
|
-
//
|
|
2690
|
-
//
|
|
2691
|
-
// // Side 1
|
|
2692
|
-
// [
|
|
2693
|
-
// // Variant 1..N
|
|
2694
|
-
// {
|
|
2695
|
-
// tags: [
|
|
2696
|
-
// {
|
|
2697
|
-
// type: BitTagType.tag,
|
|
2698
|
-
// configKey: TagConfigKey.title,
|
|
2699
|
-
// },
|
|
2700
|
-
// ],
|
|
2701
|
-
// repeatCount: Count.infinity,
|
|
2702
|
-
// },
|
|
2703
|
-
// ],
|
|
2704
|
-
// ],
|
|
2705
|
-
// },
|
|
3106
|
+
//
|
|
3107
|
+
// book-reference-list
|
|
3108
|
+
//
|
|
2706
3109
|
[CardSetConfigKey.bookReferenceList]: {
|
|
2707
|
-
|
|
2708
|
-
|
|
2709
|
-
|
|
2710
|
-
|
|
2711
|
-
|
|
2712
|
-
|
|
2713
|
-
|
|
2714
|
-
|
|
2715
|
-
|
|
2716
|
-
|
|
2717
|
-
|
|
2718
|
-
|
|
2719
|
-
|
|
2720
|
-
|
|
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
|
-
|
|
3110
|
+
jsonKey: "bookReferences",
|
|
3111
|
+
sides: [
|
|
3112
|
+
{
|
|
3113
|
+
name: "reference",
|
|
3114
|
+
variants: [
|
|
3115
|
+
{
|
|
3116
|
+
jsonKey: null,
|
|
3117
|
+
tags: [
|
|
3118
|
+
{
|
|
3119
|
+
key: ConfigKey.group_standardTags,
|
|
3120
|
+
description: "Standard tags for book references."
|
|
3121
|
+
},
|
|
3122
|
+
{
|
|
3123
|
+
key: ConfigKey.property_refAuthor,
|
|
3124
|
+
description: "Author of the book.",
|
|
3125
|
+
format: TagFormat.plainText,
|
|
3126
|
+
maxCount: Count.infinity
|
|
3127
|
+
},
|
|
3128
|
+
{
|
|
3129
|
+
key: ConfigKey.property_refBookTitle,
|
|
3130
|
+
description: "Title of the book.",
|
|
3131
|
+
format: TagFormat.plainText
|
|
3132
|
+
},
|
|
3133
|
+
{
|
|
3134
|
+
key: ConfigKey.property_refPublisher,
|
|
3135
|
+
description: "Publisher of the book.",
|
|
3136
|
+
format: TagFormat.plainText,
|
|
3137
|
+
maxCount: Count.infinity
|
|
3138
|
+
},
|
|
3139
|
+
{
|
|
3140
|
+
key: ConfigKey.property_refPublicationYear,
|
|
3141
|
+
description: "Year of publication of the book.",
|
|
3142
|
+
format: TagFormat.plainText
|
|
3143
|
+
},
|
|
3144
|
+
{
|
|
3145
|
+
key: ConfigKey.property_citationStyle,
|
|
3146
|
+
description: "Citation style for the book reference.",
|
|
3147
|
+
format: TagFormat.plainText
|
|
3148
|
+
}
|
|
3149
|
+
]
|
|
3150
|
+
}
|
|
3151
|
+
]
|
|
3152
|
+
}
|
|
2748
3153
|
]
|
|
2749
3154
|
}
|
|
2750
3155
|
};
|
|
@@ -4410,20 +4815,34 @@ var ConfigHydrator = class {
|
|
|
4410
4815
|
if (!_cardSet) return void 0;
|
|
4411
4816
|
const _cardSetConfig = CARDSETS[_cardSet];
|
|
4412
4817
|
if (!_cardSetConfig) throw new Error(`No config found for card set config key '${_cardSet}'`);
|
|
4413
|
-
const
|
|
4414
|
-
for (const
|
|
4818
|
+
const sides = [];
|
|
4819
|
+
for (const _side of _cardSetConfig.sides) {
|
|
4415
4820
|
const variantsOfSide = [];
|
|
4416
|
-
for (const _variant of
|
|
4821
|
+
for (const _variant of _side.variants) {
|
|
4417
4822
|
const v = this.hydrateCardVariantConfig(_variant);
|
|
4418
4823
|
variantsOfSide.push(v);
|
|
4419
4824
|
}
|
|
4420
|
-
|
|
4825
|
+
const sideConfig = new CardSideConfig(_side.name, _side.repeat ?? false, variantsOfSide);
|
|
4826
|
+
sides.push(sideConfig);
|
|
4421
4827
|
}
|
|
4422
|
-
const cardSetConfig = new CardSetConfig(
|
|
4828
|
+
const cardSetConfig = new CardSetConfig(
|
|
4829
|
+
_cardSet,
|
|
4830
|
+
_cardSetConfig.jsonKey,
|
|
4831
|
+
_cardSetConfig.itemType ?? "object",
|
|
4832
|
+
_cardSetConfig.sections,
|
|
4833
|
+
sides
|
|
4834
|
+
);
|
|
4423
4835
|
return cardSetConfig;
|
|
4424
4836
|
}
|
|
4425
4837
|
hydrateTagConfig(_tag) {
|
|
4426
|
-
const {
|
|
4838
|
+
const {
|
|
4839
|
+
key: _configKey,
|
|
4840
|
+
maxCount,
|
|
4841
|
+
minCount,
|
|
4842
|
+
chain: _chain,
|
|
4843
|
+
secondaryJsonKey,
|
|
4844
|
+
deprecated
|
|
4845
|
+
} = _tag;
|
|
4427
4846
|
const configKey = (0, import_superenum15.Enum)(ConfigKey).fromValue(_configKey) || ConfigKey._unknown;
|
|
4428
4847
|
if (!configKey) throw new Error(`No tag key found for config key '${configKey}'`);
|
|
4429
4848
|
const tag = (0, import_superenum15.Enum)(Tag).fromValue(configKey);
|
|
@@ -4438,6 +4857,7 @@ var ConfigHydrator = class {
|
|
|
4438
4857
|
maxCount: maxCount ?? MAX_COUNT_DEFAULT,
|
|
4439
4858
|
minCount: minCount ?? MIN_COUNT_DEFAULT,
|
|
4440
4859
|
chain,
|
|
4860
|
+
secondaryJsonKey,
|
|
4441
4861
|
deprecated
|
|
4442
4862
|
});
|
|
4443
4863
|
return {
|
|
@@ -4456,7 +4876,8 @@ var ConfigHydrator = class {
|
|
|
4456
4876
|
format,
|
|
4457
4877
|
values,
|
|
4458
4878
|
defaultValue,
|
|
4459
|
-
jsonKey
|
|
4879
|
+
jsonKey,
|
|
4880
|
+
secondaryJsonKey
|
|
4460
4881
|
} = _tag;
|
|
4461
4882
|
const configKey = (0, import_superenum15.Enum)(ConfigKey).fromValue(_configKey) || ConfigKey._unknown;
|
|
4462
4883
|
if (!configKey) throw new Error(`No property key found for config key '${configKey}'`);
|
|
@@ -4472,6 +4893,7 @@ var ConfigHydrator = class {
|
|
|
4472
4893
|
minCount: minCount ?? MIN_COUNT_DEFAULT,
|
|
4473
4894
|
chain,
|
|
4474
4895
|
jsonKey,
|
|
4896
|
+
secondaryJsonKey,
|
|
4475
4897
|
format,
|
|
4476
4898
|
values,
|
|
4477
4899
|
defaultValue,
|
|
@@ -4484,7 +4906,15 @@ var ConfigHydrator = class {
|
|
|
4484
4906
|
};
|
|
4485
4907
|
}
|
|
4486
4908
|
hydrateResourceTagConfig(_tag) {
|
|
4487
|
-
const {
|
|
4909
|
+
const {
|
|
4910
|
+
key: _configKey,
|
|
4911
|
+
maxCount,
|
|
4912
|
+
minCount,
|
|
4913
|
+
chain: _chain,
|
|
4914
|
+
deprecated,
|
|
4915
|
+
jsonKey,
|
|
4916
|
+
secondaryJsonKey
|
|
4917
|
+
} = _tag;
|
|
4488
4918
|
const configKey = (0, import_superenum15.Enum)(ConfigKey).fromValue(_configKey) || ConfigKey._unknown;
|
|
4489
4919
|
if (!configKey) throw new Error(`No resource key found for config key '${configKey}'`);
|
|
4490
4920
|
const tag = _configKey.substring(1);
|
|
@@ -4499,6 +4929,7 @@ var ConfigHydrator = class {
|
|
|
4499
4929
|
minCount: minCount ?? MIN_COUNT_DEFAULT,
|
|
4500
4930
|
chain,
|
|
4501
4931
|
jsonKey,
|
|
4932
|
+
secondaryJsonKey,
|
|
4502
4933
|
deprecated
|
|
4503
4934
|
});
|
|
4504
4935
|
return {
|
|
@@ -4530,9 +4961,15 @@ var ConfigHydrator = class {
|
|
|
4530
4961
|
};
|
|
4531
4962
|
}
|
|
4532
4963
|
hydrateCardVariantConfig(_variant) {
|
|
4533
|
-
const { tags: _tags, bodyAllowed, bodyRequired, repeatCount } = _variant;
|
|
4964
|
+
const { tags: _tags, bodyAllowed, bodyRequired, repeatCount, jsonKey } = _variant;
|
|
4534
4965
|
const tags2 = this.hydrateTagsConfig(_tags);
|
|
4535
|
-
const cardSetConfig = new CardVariantConfig(
|
|
4966
|
+
const cardSetConfig = new CardVariantConfig(
|
|
4967
|
+
tags2.tags,
|
|
4968
|
+
bodyAllowed,
|
|
4969
|
+
bodyRequired,
|
|
4970
|
+
repeatCount,
|
|
4971
|
+
jsonKey
|
|
4972
|
+
);
|
|
4536
4973
|
return cardSetConfig;
|
|
4537
4974
|
}
|
|
4538
4975
|
};
|
|
@@ -7298,6 +7735,12 @@ var BITS = {
|
|
|
7298
7735
|
description: "Extractor configuration bit, used to configure extractors in articles or books",
|
|
7299
7736
|
textFormatDefault: TextFormat2.plainText
|
|
7300
7737
|
},
|
|
7738
|
+
[BitType.extractorBlueprintConfiguration]: {
|
|
7739
|
+
since: "5.11.0",
|
|
7740
|
+
baseBitType: BitType._standard,
|
|
7741
|
+
description: "Extractor blueprint configuration bit, used to specify extractor blueprint configuration when extracting from blueprints",
|
|
7742
|
+
textFormatDefault: TextFormat2.plainText
|
|
7743
|
+
},
|
|
7301
7744
|
[BitType.extractorImage]: {
|
|
7302
7745
|
since: "4.3.0",
|
|
7303
7746
|
baseBitType: BitType._standard,
|
|
@@ -7323,6 +7766,12 @@ var BITS = {
|
|
|
7323
7766
|
baseBitType: BitType.extractorImage,
|
|
7324
7767
|
description: "Collapsible extractor images bit, used for images extracted from PDFs"
|
|
7325
7768
|
},
|
|
7769
|
+
[BitType.extractorBlueprint]: {
|
|
7770
|
+
since: "5.12.0",
|
|
7771
|
+
baseBitType: BitType._standard,
|
|
7772
|
+
description: "Extractor blueprint bit, used to provide blueprint information about extractors",
|
|
7773
|
+
textFormatDefault: TextFormat2.json
|
|
7774
|
+
},
|
|
7326
7775
|
[BitType.extractorInformation]: {
|
|
7327
7776
|
since: "3.8.0",
|
|
7328
7777
|
baseBitType: BitType._standard,
|
|
@@ -7525,6 +7974,11 @@ var BITS = {
|
|
|
7525
7974
|
baseBitType: BitType.pageOpenBook,
|
|
7526
7975
|
description: "Open book chapter bit, derived from page-open-book, used to create chapter pages that open books"
|
|
7527
7976
|
},
|
|
7977
|
+
[BitType.openBookChapterTeaser]: {
|
|
7978
|
+
since: "4.16.0",
|
|
7979
|
+
baseBitType: BitType.openBookChapter,
|
|
7980
|
+
description: "Open book chapter teaser bit, equal to open-book-chapter, used to create teaser chapter pages that open books"
|
|
7981
|
+
},
|
|
7528
7982
|
[BitType.pageOpenBookList]: {
|
|
7529
7983
|
since: "2.1.0",
|
|
7530
7984
|
baseBitType: BitType.article,
|
|
@@ -9427,6 +9881,38 @@ var BITS = {
|
|
|
9427
9881
|
baseBitType: BitType.table,
|
|
9428
9882
|
description: "Extended table bit, used to create complex tables with all HTML table features"
|
|
9429
9883
|
},
|
|
9884
|
+
[BitType.tableExtendedImage]: {
|
|
9885
|
+
since: "5.13.0",
|
|
9886
|
+
baseBitType: BitType.tableExtended,
|
|
9887
|
+
description: "Extended table image bit, used to create complex tables with images and all HTML table features",
|
|
9888
|
+
tags: [
|
|
9889
|
+
{
|
|
9890
|
+
key: ConfigKey.property_caption,
|
|
9891
|
+
description: "Caption for the table image, used to provide a description for the image",
|
|
9892
|
+
format: TagFormat.bitmarkText
|
|
9893
|
+
},
|
|
9894
|
+
{
|
|
9895
|
+
key: ConfigKey.resource_backgroundWallpaper,
|
|
9896
|
+
description: "Background wallpaper for the image, used to set a background for the image",
|
|
9897
|
+
chain: [
|
|
9898
|
+
{
|
|
9899
|
+
key: ConfigKey.group_resourceImageCommon,
|
|
9900
|
+
description: "Common resource image tags for images"
|
|
9901
|
+
}
|
|
9902
|
+
]
|
|
9903
|
+
},
|
|
9904
|
+
{
|
|
9905
|
+
key: ConfigKey.group_resourceBitTags,
|
|
9906
|
+
description: "Resource bit tags for images, used to define additional properties for images"
|
|
9907
|
+
},
|
|
9908
|
+
{
|
|
9909
|
+
key: ConfigKey.group_resourceImage,
|
|
9910
|
+
description: "Resource image tags for images, used to attach images to the bit",
|
|
9911
|
+
minCount: 1
|
|
9912
|
+
}
|
|
9913
|
+
],
|
|
9914
|
+
resourceAttachmentAllowed: false
|
|
9915
|
+
},
|
|
9430
9916
|
[BitType.tableAlt]: {
|
|
9431
9917
|
since: "1.16.0",
|
|
9432
9918
|
baseBitType: BitType.table,
|
|
@@ -10345,6 +10831,7 @@ var Config = class {
|
|
|
10345
10831
|
maxCount: 1,
|
|
10346
10832
|
chain: tag.chain,
|
|
10347
10833
|
jsonKey: tag.jsonKey,
|
|
10834
|
+
secondaryJsonKey: tag.secondaryJsonKey,
|
|
10348
10835
|
deprecated: tag.deprecated
|
|
10349
10836
|
});
|
|
10350
10837
|
finalResourceTags[k] = newTag;
|
|
@@ -10449,7 +10936,7 @@ var instance2 = new Config();
|
|
|
10449
10936
|
// src/generated/package_info.ts
|
|
10450
10937
|
var PACKAGE_INFO = {
|
|
10451
10938
|
"name": "@gmb/bitmark-parser-generator",
|
|
10452
|
-
"version": "5.
|
|
10939
|
+
"version": "5.13.0",
|
|
10453
10940
|
"author": "Get More Brain Ltd",
|
|
10454
10941
|
"license": "ISC",
|
|
10455
10942
|
"description": "A bitmark parser and generator using Peggy.js"
|
|
@@ -12353,6 +12840,7 @@ var TextGenerator = class _TextGenerator extends AstWalkerGenerator {
|
|
|
12353
12840
|
* @param ast bitmark text AST
|
|
12354
12841
|
*/
|
|
12355
12842
|
generateSync(ast, textFormat, textLocation, options) {
|
|
12843
|
+
if (!ast || !Array.isArray(ast)) return "";
|
|
12356
12844
|
this.generateOptions = Object.assign({}, options);
|
|
12357
12845
|
this.validateGenerateOptions(ast);
|
|
12358
12846
|
if (!this.generateOptions.plainTextDividerAllowed) {
|
|
@@ -34442,6 +34930,7 @@ function propertyContentProcessor(context, contentDepth, tagsConfig, content, ta
|
|
|
34442
34930
|
minCount: 1,
|
|
34443
34931
|
chain: void 0,
|
|
34444
34932
|
jsonKey: void 0,
|
|
34933
|
+
secondaryJsonKey: void 0,
|
|
34445
34934
|
format: TagFormat.bitmarkText,
|
|
34446
34935
|
values: void 0,
|
|
34447
34936
|
defaultValue: void 0,
|