@gmb/bitmark-parser-generator 5.1.0 → 5.3.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.
@@ -3,7 +3,7 @@
3
3
  <head>
4
4
  <meta charset="UTF-8"/>
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1"/>
6
- <title>@gmb/bitmark-parser-generator [7 Dec 2025 at 21:13]</title>
6
+ <title>@gmb/bitmark-parser-generator [12 Jan 2026 at 07:31]</title>
7
7
  <link rel="shortcut icon" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAABrVBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+O1foceMD///+J0/qK1Pr7/v8Xdr/9///W8P4UdL7L7P0Scr2r4Pyj3vwad8D5/f/2/f+55f3E6f34+/2H0/ojfMKpzOd0rNgQcb3F3O/j9f7c8v6g3Pz0/P/w+v/q+P7n9v6T1/uQ1vuE0vqLut/y+v+Z2fvt+f+15Pzv9fuc2/vR7v2V2Pvd6/bg9P7I6/285/2y4/yp3/zp8vk8i8kqgMT7/P31+fyv4vxGkcz6/P6/6P3j7vfS5PNnpNUxhcbO7f7F6v3O4vHK3/DA2u631Ouy0eqXweKJud5wqthfoNMMbLvY8f73+v2dxeR8sNtTmdDx9/zX6PSjyeaCtd1YnNGX2PuQveCGt95Nls42h8dLlM3F4vBtAAAAM3RSTlMAAyOx0/sKBvik8opWGBMOAe3l1snDm2E9LSb06eHcu5JpHbarfHZCN9CBb08zzkdNS0kYaptYAAAFV0lEQVRYw92X51/aYBDHHS2O2qqttVbrqNq9m+TJIAYIShBkWwqIiCgoWvfeq7Z2/s29hyQNyUcR7LveGwVyXy6XH8/9rqxglLfUPLxVduUor3h0rfp2TYvpivk37929TkG037hffoX0+peVtZQc1589rigVUdXS/ABSAyEmGIO/1XfvldSK8vs3OqB6u3m0nxmIrvgB0dj7rr7Y9IbuF68hnfFaiHA/sxqm0wciIG43P60qKv9WXWc1RXGh/mFESFABTSBi0sNAKzqet17eCtOb3kZIDwxEEU0oAIJGYxNBDhBND29e0rtXXbcpuPmED9IhEAAQ/AXEaF8EPmnrrKsv0LvWR3fg5sWDNAFZOgAgaKvZDogHNU9MFwnnYROkc56RD5CjAbQX9Ow4g7upCsvYu55aSI/Nj0H1akgKQEUM94dwK65hYRmFU9MIcH/fqJYOZYcnuJSU/waKDgTOEVaVKhwrTRP5XzgSpAITYzom7UvkhFX5VutmxeNnWDjjswTKTyfgluNDGbUpWissXhF3s7mlSml+czWkg3D0l1nNjGNjz3myOQOa1KM/jOS6ebdbAVTCi4gljHSFrviza7tOgRWcS0MOUX9zdNgag5w7rRqA44Lzw0hr1WqES36dFliSJFlh2rXIae3FFcDDgKdxrUIDePr8jGcSClV1u7A9xeN0ModY/pHMxmR1EzRh8TJiwqsHmKW0l4FCEZI+jHio+JdPPE9qwQtTRxku2D8sIeRL2LnxWSllANCQGOIiqVHAz2ye2JR0DcH+HoxDkaADLjgxjKQ+AwCX/g0+DNgdG0ukYCONAe+dbc2IAc6fwt1ARoDSezNHxV2Cmzwv3O6lDMV55edBGwGK9n1+x2F8EDfAGCxug8MhpsMEcTEAWf3rx2vZhe/LAmtIn/6apE6PN0ULKgywD9mmdxbmFl3OvD5AS5fW5zLbv/YHmcsBTjf/afDz3MaZTVCfAP9z6/Bw6ycv8EUBWJIn9zYcoAWWlW9+OzO3vkTy8H+RANLmdrpOuYWdZYEXpo+TlCJrW5EARb7fF+bWdqf3hhyZI1nWJQHgznErZhbjoEsWqi8dQNoE294aldzFurwSABL2XXMf9+H1VQGke9exw5P/AnA5Pv5ngMul7LOvO922iwACu8WkCwLCafvM4CeWPxfA8lNHcWZSoi8EwMAIciKX2Z4SWCMAa3snCZ/G4EA8D6CMLNFsGQhkkz/gQNEBbPCbWsxGUpYVu3z8IyNAknwJkfPMEhLyrdi5RTyUVACkw4GSFRNWJNEW+fgPGwHD8/JxnRuLabN4CGNRkAE23na2+VmEAUmrYymSGjMAYqH84YUIyzgzs3XC7gNgH36Vcc4zKY9o9fgPBXUAiHHwVboBHGLiX6Zcjp1f2wu4tvzZKo0ecPnDtQYDQvJXaBeNzce45Fp28ZQLrEZVuFqgBwOalArKXnW1UzlnSusQKJqKYNuz4tOnI6sZG4zanpemv+7ySU2jbA9h6uhcgpfy6G2PahirDZ6zvq6zDduMVFTKvzw8wgyEdelwY9in3XkEPs3osJuwRQ4qTkfzifndg9Gfc4pdsu82+tTnHZTBa2EAMrqr2t43pguc8tNm7JQVQ2S0ukj2d22dhXYP0/veWtwKrCkNoNimAN5+Xr/oLrxswKbVJjteWrX7eR63o4j9q0GxnaBdWgGA5VStpanIjQmEhV0/nVt5VOFUvix6awJhPcAaTEShgrG+iGyvb5a0Ndb1YGHFPEwoqAinoaykaID1o1pdPNu7XsnCKQ3R+hwWIIhGvORcJUBYXe3Xa3vq/mF/N9V13ugufMkfXn+KHsRD0B8AAAAASUVORK5CYII=" type="image/x-icon" />
8
8
 
9
9
  <script>
@@ -31,7 +31,7 @@
31
31
  <body>
32
32
  <div id="app"></div>
33
33
  <script>
34
- window.chartData = [{"label":"bitmark-parser-generator.min.js","isAsset":true,"statSize":1254289,"parsedSize":544466,"gzipSize":105762,"groups":[{"label":"dist/browser/cjs","path":"./dist/browser/cjs","statSize":1248227,"groups":[{"id":922,"label":"index.cjs","path":"./dist/browser/cjs/index.cjs","statSize":1248227,"parsedSize":544362,"gzipSize":105762}],"parsedSize":544362,"gzipSize":105762},{"label":"node_modules/@ncoderz/superenum/dist","path":"./node_modules/@ncoderz/superenum/dist","statSize":6062,"groups":[{"id":722,"label":"index.cjs","path":"./node_modules/@ncoderz/superenum/dist/index.cjs","statSize":6062}],"parsedSize":0,"gzipSize":0}],"isInitialByEntrypoint":{"main":true}}];
34
+ window.chartData = [{"label":"bitmark-parser-generator.min.js","isAsset":true,"statSize":1258290,"parsedSize":547261,"gzipSize":106364,"groups":[{"label":"dist/browser/cjs","path":"./dist/browser/cjs","statSize":1252228,"groups":[{"id":922,"label":"index.cjs","path":"./dist/browser/cjs/index.cjs","statSize":1252228,"parsedSize":547157,"gzipSize":106364}],"parsedSize":547157,"gzipSize":106364},{"label":"node_modules/@ncoderz/superenum/dist","path":"./node_modules/@ncoderz/superenum/dist","statSize":6062,"groups":[{"id":722,"label":"index.cjs","path":"./node_modules/@ncoderz/superenum/dist/index.cjs","statSize":6062}],"parsedSize":0,"gzipSize":0}],"isInitialByEntrypoint":{"main":true}}];
35
35
  window.entrypoints = ["main"];
36
36
  window.defaultSizes = "stat";
37
37
  window.compressionAlgorithm = "gzip";
@@ -317,6 +317,7 @@ var BitType = {
317
317
  flashcard1: "flashcard-1",
318
318
  focusImage: "focus-image",
319
319
  footNote: "foot-note",
320
+ formFreeText: "form-free-text",
320
321
  formula: "formula",
321
322
  gapText: "gap-text",
322
323
  gapTextInstructionGrouped: "gap-text-instruction-grouped",
@@ -329,6 +330,8 @@ var BitType = {
329
330
  handInFeedbackExpert: "hand-in-feedback-expert",
330
331
  handInFeedbackSelf: "hand-in-feedback-self",
331
332
  handInFile: "hand-in-file",
333
+ handInFreeText: "hand-in-free-text",
334
+ handInFreeTextExpert: "hand-in-free-text-expert",
332
335
  handInLocation: "hand-in-location",
333
336
  handInPhoto: "hand-in-photo",
334
337
  handInScan: "hand-in-scan",
@@ -641,6 +644,7 @@ var BitType = {
641
644
  trueFalse: "true-false",
642
645
  trueFalse1: "true-false-1",
643
646
  vendorAmcharts5Chart: "vendor-amcharts-5-chart",
647
+ vendorDatadogDashboard: "vendor-datadog-dashboard",
644
648
  vendorDatadogDashboardEmbed: "vendor-datadog-dashboard-embed",
645
649
  vendorFormbricksEmbed: "vendor-formbricks-embed",
646
650
  vendorFormbricksLink: "vendor-formbricks-link",
@@ -1280,6 +1284,7 @@ var propertyKeys = {
1280
1284
  property_internalComment: "@internalComment",
1281
1285
  property_internalPrintPdf: "@internalPrintPdf",
1282
1286
  property_hasPrintRestriction: "@hasPrintRestriction",
1287
+ property_enforceUpdateOverUserInput: "@enforceUpdateOverUserInput",
1283
1288
  property_isCaseSensitive: "@isCaseSensitive",
1284
1289
  property_isInfoOnly: "@isInfoOnly",
1285
1290
  property_isPublic: "@isPublic",
@@ -1306,6 +1311,7 @@ var propertyKeys = {
1306
1311
  property_listItemIndent: "@listItemIndent",
1307
1312
  property_location: "@location",
1308
1313
  property_machineTranslated: "@machineTranslated",
1314
+ property_translationOf: "@translationOf",
1309
1315
  property_spansPageBreak: "@spansPageBreak",
1310
1316
  property_mailingList: "@mailingList",
1311
1317
  property_mark: "@mark",
@@ -1338,6 +1344,7 @@ var propertyKeys = {
1338
1344
  property_platformMargin: "@platformMargin",
1339
1345
  property_platformBorderRadius: "@platformBorderRadius",
1340
1346
  property_platformSelectionBorderRadius: "@platformSelectionBorderRadius",
1347
+ property_platformLogoMaxHeight: "@platformLogoMaxHeight",
1341
1348
  property_platformNeedsShadow: "@platformNeedsShadow",
1342
1349
  property_platformSeparatorColor: "@platformSeparatorColor",
1343
1350
  property_platformTextSelectionColor: "@platformTextSelectionColor",
@@ -2793,6 +2800,11 @@ var GROUPS = {
2793
2800
  description: "If true, the bit is machine-translated",
2794
2801
  format: TagFormat.plainText
2795
2802
  },
2803
+ {
2804
+ key: ConfigKey.property_translationOf,
2805
+ description: "Translation source reference",
2806
+ format: TagFormat.plainText
2807
+ },
2796
2808
  {
2797
2809
  key: ConfigKey.property_spansPageBreak,
2798
2810
  description: "If true, the bit spans a page break",
@@ -3443,6 +3455,12 @@ var GROUPS = {
3443
3455
  description: "If true, the book has print restrictions",
3444
3456
  format: TagFormat.boolean,
3445
3457
  defaultValue: "true"
3458
+ },
3459
+ {
3460
+ key: ConfigKey.property_enforceUpdateOverUserInput,
3461
+ description: "If true, prioritize new content over legacy content from the instance API",
3462
+ format: TagFormat.boolean,
3463
+ defaultValue: "false"
3446
3464
  }
3447
3465
  ]
3448
3466
  },
@@ -8769,6 +8787,11 @@ var BITS = {
8769
8787
  ],
8770
8788
  maxCount: 1
8771
8789
  },
8790
+ {
8791
+ key: ConfigKey.property_platformLogoMaxHeight,
8792
+ description: "Maximum height for the platform logo",
8793
+ format: TagFormat.number
8794
+ },
8772
8795
  {
8773
8796
  key: ConfigKey.group_platformStylesCommon,
8774
8797
  description: "Common platform styles"
@@ -9463,6 +9486,11 @@ var BITS = {
9463
9486
  baseBitType: BitType._standard,
9464
9487
  description: "Footnote bit, used to create footnotes in articles or books"
9465
9488
  },
9489
+ [BitType.formFreeText]: {
9490
+ since: "5.3.0",
9491
+ baseBitType: BitType.interview,
9492
+ description: "Form free text bit, used to create free text forms in articles or books"
9493
+ },
9466
9494
  [BitType.groupBorn]: {
9467
9495
  since: "1.3.0",
9468
9496
  baseBitType: BitType._standard,
@@ -9522,6 +9550,16 @@ var BITS = {
9522
9550
  }
9523
9551
  ]
9524
9552
  },
9553
+ [BitType.handInFreeText]: {
9554
+ since: "5.3.0",
9555
+ baseBitType: BitType.interview,
9556
+ description: "Hand in free text bit, used to create free text submission sections in articles or books"
9557
+ },
9558
+ [BitType.handInFreeTextExpert]: {
9559
+ since: "5.3.0",
9560
+ baseBitType: BitType.interview,
9561
+ description: "Hand in free text expert bit, used to create free text expert submission sections in articles or books"
9562
+ },
9525
9563
  [BitType.handInLocation]: {
9526
9564
  since: "1.5.15",
9527
9565
  baseBitType: BitType._standard,
@@ -9631,6 +9669,11 @@ var BITS = {
9631
9669
  description: "AmCharts 5 chart bit, used to embed AmCharts 5 charts in articles or books",
9632
9670
  textFormatDefault: TextFormat2.json
9633
9671
  },
9672
+ [BitType.vendorDatadogDashboard]: {
9673
+ since: "5.2.0",
9674
+ baseBitType: BitType.nonProductionPrototypeIframe,
9675
+ description: "A Datadog dashboard bit, used to embed Datadog dashboards"
9676
+ },
9634
9677
  [BitType.vendorDatadogDashboardEmbed]: {
9635
9678
  since: "3.12.0",
9636
9679
  baseBitType: BitType.code,
@@ -10260,7 +10303,7 @@ var instance2 = new Config();
10260
10303
  // src/generated/package_info.ts
10261
10304
  var PACKAGE_INFO = {
10262
10305
  "name": "@gmb/bitmark-parser-generator",
10263
- "version": "5.1.0",
10306
+ "version": "5.3.0",
10264
10307
  "author": "Get More Brain Ltd",
10265
10308
  "license": "ISC",
10266
10309
  "description": "A bitmark parser and generator using Peggy.js"
@@ -10881,6 +10924,8 @@ var NodeType = {
10881
10924
  internalPrintPdfValue: "internalPrintPdfValue",
10882
10925
  hasPrintRestriction: "hasPrintRestriction",
10883
10926
  hasPrintRestrictionValue: "hasPrintRestrictionValue",
10927
+ enforceUpdateOverUserInput: "enforceUpdateOverUserInput",
10928
+ enforceUpdateOverUserInputValue: "enforceUpdateOverUserInputValue",
10884
10929
  isCaseSensitive: "isCaseSensitive",
10885
10930
  isCommented: "isCommented",
10886
10931
  isCorrect: "isCorrect",
@@ -10947,6 +10992,8 @@ var NodeType = {
10947
10992
  locationValue: "locationValue",
10948
10993
  machineTranslated: "machineTranslated",
10949
10994
  machineTranslatedValue: "machineTranslatedValue",
10995
+ translationOf: "translationOf",
10996
+ translationOfValue: "translationOfValue",
10950
10997
  spansPageBreak: "spansPageBreak",
10951
10998
  spansPageBreakValue: "spansPageBreakValue",
10952
10999
  mailingList: "mailingList",
@@ -10998,6 +11045,8 @@ var NodeType = {
10998
11045
  platformIconValue: "platformIconValue",
10999
11046
  platformLogo: "platformLogo",
11000
11047
  platformLogoValue: "platformLogoValue",
11048
+ platformLogoMaxHeight: "platformLogoMaxHeight",
11049
+ platformLogoMaxHeightValue: "platformLogoMaxHeightValue",
11001
11050
  platformPrimaryColor: "platformPrimaryColor",
11002
11051
  platformPrimaryColorValue: "platformPrimaryColorValue",
11003
11052
  platformSecondaryColor: "platformSecondaryColor",
@@ -12066,7 +12115,7 @@ var Stage = {
12066
12115
  between: "between",
12067
12116
  exit: "exit"
12068
12117
  };
12069
- var TextGenerator = class extends AstWalkerGenerator {
12118
+ var TextGenerator = class _TextGenerator extends AstWalkerGenerator {
12070
12119
  /**
12071
12120
  * Generate text from a bitmark text AST
12072
12121
  *
@@ -12078,6 +12127,7 @@ var TextGenerator = class extends AstWalkerGenerator {
12078
12127
  __publicField(this, "ast", new Ast());
12079
12128
  __publicField(this, "bitmarkVersion");
12080
12129
  __publicField(this, "options");
12130
+ __publicField(this, "internalTextGenerator", null);
12081
12131
  // State
12082
12132
  __publicField(this, "generateOptions", {});
12083
12133
  __publicField(this, "textFormat", TextFormat2.bitmarkText);
@@ -12093,6 +12143,7 @@ var TextGenerator = class extends AstWalkerGenerator {
12093
12143
  __publicField(this, "exitedCodeBlock", false);
12094
12144
  __publicField(this, "inBulletList", false);
12095
12145
  __publicField(this, "inInline", false);
12146
+ __publicField(this, "markDepth", 0);
12096
12147
  __publicField(this, "textDepth", 0);
12097
12148
  __publicField(this, "placeholderIndex", 0);
12098
12149
  __publicField(this, "placeholders", {});
@@ -12117,6 +12168,13 @@ var TextGenerator = class extends AstWalkerGenerator {
12117
12168
  this.between = this.between.bind(this);
12118
12169
  this.exit = this.exit.bind(this);
12119
12170
  this.leaf = this.leaf.bind(this);
12171
+ if (!this.options.isInternal) {
12172
+ this.internalTextGenerator = new _TextGenerator(bitmarkVersion, {
12173
+ ...this.options,
12174
+ writeCallback: void 0,
12175
+ isInternal: true
12176
+ });
12177
+ }
12120
12178
  }
12121
12179
  /**
12122
12180
  * Generate text from a bitmark text AST
@@ -12173,6 +12231,7 @@ var TextGenerator = class extends AstWalkerGenerator {
12173
12231
  this.exitedCodeBlock = false;
12174
12232
  this.inBulletList = false;
12175
12233
  this.inInline = false;
12234
+ this.markDepth = 0;
12176
12235
  this.textDepth = 0;
12177
12236
  this.placeholderIndex = 0;
12178
12237
  this.placeholders = {};
@@ -12220,8 +12279,16 @@ var TextGenerator = class extends AstWalkerGenerator {
12220
12279
  exit_contentValueValue(node, route) {
12221
12280
  return this.handleExitNode(node.value, route);
12222
12281
  }
12282
+ // * -> marks
12283
+ enter_marks(_node, _route) {
12284
+ this.markDepth++;
12285
+ }
12286
+ exit_marks(_node, _route) {
12287
+ this.markDepth--;
12288
+ }
12223
12289
  // END NODE HANDLERS
12224
12290
  handleEnterNode(node, route) {
12291
+ if (this.markDepth > 0) return;
12225
12292
  this.handleEnterNodePreTextCheck(node, route);
12226
12293
  this.handleIndent(node);
12227
12294
  switch (node.type) {
@@ -12232,7 +12299,7 @@ var TextGenerator = class extends AstWalkerGenerator {
12232
12299
  case TextNodeType.hardBreak:
12233
12300
  this.writeHardBreak(node);
12234
12301
  break;
12235
- case TextNodeType.text:
12302
+ case TextNodeType.text: {
12236
12303
  this.writeMarks(node, Stage.enter);
12237
12304
  this.writeText(node);
12238
12305
  this.writeMarks(node, Stage.between);
@@ -12241,6 +12308,7 @@ var TextGenerator = class extends AstWalkerGenerator {
12241
12308
  }
12242
12309
  this.textDepth++;
12243
12310
  break;
12311
+ }
12244
12312
  case TextNodeType.heading:
12245
12313
  this.writeHeading(node);
12246
12314
  this.inHeading = true;
@@ -12291,6 +12359,7 @@ var TextGenerator = class extends AstWalkerGenerator {
12291
12359
  }
12292
12360
  }
12293
12361
  handleExitNode(node, _route) {
12362
+ if (this.markDepth > 0) return;
12294
12363
  switch (node.type) {
12295
12364
  case TextNodeType.text:
12296
12365
  this.textDepth--;
@@ -12597,7 +12666,7 @@ var TextGenerator = class extends AstWalkerGenerator {
12597
12666
  */
12598
12667
  writeMarks(node, stage) {
12599
12668
  if (node.marks) {
12600
- const forceSingleMark = !!(this.inInline || this.inHeading);
12669
+ const forceSingleMark = this.generateOptions.forceInline || !!(this.inInline || this.inHeading);
12601
12670
  this.thisNodeIsPreText = false;
12602
12671
  const emptyMarks = node.marks.length === 0;
12603
12672
  if (emptyMarks) {
@@ -12828,13 +12897,33 @@ var TextGenerator = class extends AstWalkerGenerator {
12828
12897
  s += `|provider:${provider}`;
12829
12898
  this.write(s);
12830
12899
  }
12831
- writeFootnoteMark(_mark) {
12900
+ writeFootnoteMark(mark) {
12832
12901
  const s = `footnote:`;
12833
12902
  this.write(s);
12903
+ const text = this.internalTextGenerator?.generateSync(
12904
+ mark.attrs?.content,
12905
+ this.textFormat,
12906
+ this.textLocation,
12907
+ {
12908
+ ...this.generateOptions,
12909
+ forceInline: true
12910
+ }
12911
+ ) ?? "";
12912
+ this.write(text);
12834
12913
  }
12835
- writeFootnoteStarMark(_mark) {
12914
+ writeFootnoteStarMark(mark) {
12836
12915
  const s = `footnote*:`;
12837
12916
  this.write(s);
12917
+ const text = this.internalTextGenerator?.generateSync(
12918
+ mark.attrs?.content,
12919
+ this.textFormat,
12920
+ this.textLocation,
12921
+ {
12922
+ ...this.generateOptions,
12923
+ forceInline: true
12924
+ }
12925
+ ) ?? "";
12926
+ this.write(text);
12838
12927
  }
12839
12928
  writeSymbolMark(mark) {
12840
12929
  if (mark.attrs == null) return;
@@ -23991,6 +24080,12 @@ var Builder = class extends BaseBuilder {
23991
24080
  data.machineTranslated,
23992
24081
  options
23993
24082
  ),
24083
+ translationOf: this.toAstProperty(
24084
+ bitType,
24085
+ ConfigKey.property_translationOf,
24086
+ data.translationOf,
24087
+ options
24088
+ ),
23994
24089
  spansPageBreak: this.toAstProperty(
23995
24090
  bitType,
23996
24091
  ConfigKey.property_spansPageBreak,
@@ -24707,6 +24802,12 @@ var Builder = class extends BaseBuilder {
24707
24802
  data.hasPrintRestriction,
24708
24803
  options
24709
24804
  ),
24805
+ enforceUpdateOverUserInput: this.toAstProperty(
24806
+ bitType,
24807
+ ConfigKey.property_enforceUpdateOverUserInput,
24808
+ data.enforceUpdateOverUserInput,
24809
+ options
24810
+ ),
24710
24811
  tocResource: this.toAstProperty(
24711
24812
  bitType,
24712
24813
  ConfigKey.property_tocResource,
@@ -24734,6 +24835,12 @@ var Builder = class extends BaseBuilder {
24734
24835
  ),
24735
24836
  platformIcon: this.toImageResource(context, data.platformIcon),
24736
24837
  platformLogo: this.toImageResource(context, data.platformLogo),
24838
+ platformLogoMaxHeight: this.toAstProperty(
24839
+ bitType,
24840
+ ConfigKey.property_platformLogoMaxHeight,
24841
+ data.platformLogoMaxHeight,
24842
+ options
24843
+ ),
24737
24844
  platformPrimaryColor: this.toAstProperty(
24738
24845
  bitType,
24739
24846
  ConfigKey.property_platformPrimaryColor,
@@ -30407,6 +30514,7 @@ var JsonGenerator = class extends AstWalkerGenerator {
30407
30514
  if (instance2.isOfBitType(bitType, BitType.book)) {
30408
30515
  if (bitJson.maxTocChapterLevel == null) bitJson.maxTocChapterLevel = -1;
30409
30516
  if (bitJson.hasPrintRestriction == null) bitJson.hasPrintRestriction = true;
30517
+ if (bitJson.enforceUpdateOverUserInput == null) bitJson.enforceUpdateOverUserInput = false;
30410
30518
  if (bitJson.hasMarkAsDone == null) bitJson.hasMarkAsDone = false;
30411
30519
  if (bitJson.processHandIn == null) bitJson.processHandIn = false;
30412
30520
  if (bitJson.isPublic == null) bitJson.isPublic = false;
@@ -30487,6 +30595,9 @@ var JsonGenerator = class extends AstWalkerGenerator {
30487
30595
  if (instance2.isOfBitType(bitType, BitType.platformBrandTarget)) {
30488
30596
  if (bitJson.platformBrandTarget == null) bitJson.platformBrandTarget = "none";
30489
30597
  }
30598
+ if (instance2.isOfBitType(bitType, BitType.platformHeader)) {
30599
+ if (bitJson.platformLogoMaxHeight == null) bitJson.platformLogoMaxHeight = 40;
30600
+ }
30490
30601
  if (isTopLevelExample) {
30491
30602
  if (bitJson.isExample == null) bitJson.isExample = false;
30492
30603
  } else {
@@ -32756,6 +32867,9 @@ function parseFeedback(_context, _bitType, cardSet) {
32756
32867
  const choice = {
32757
32868
  choice: tfTags.choice,
32758
32869
  requireReason: tfTags.isCorrect,
32870
+ item: tfTags.item,
32871
+ lead: tfTags.lead,
32872
+ instruction: tfTags.instruction,
32759
32873
  __isDefaultExample,
32760
32874
  example
32761
32875
  };