@wireweave/core 2.4.0 → 2.5.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/index.js CHANGED
@@ -453,30 +453,32 @@ function peg$parse(input, options) {
453
453
  const peg$c49 = "tabs";
454
454
  const peg$c50 = "tab";
455
455
  const peg$c51 = "breadcrumb";
456
- const peg$c52 = "=";
457
- const peg$c53 = "//";
458
- const peg$c54 = "/*";
459
- const peg$c55 = '"';
460
- const peg$c56 = "'";
461
- const peg$c57 = "\\";
462
- const peg$c58 = "n";
463
- const peg$c59 = "r";
464
- const peg$c60 = "t";
465
- const peg$c61 = "-";
466
- const peg$c62 = ".";
467
- const peg$c63 = "px";
468
- const peg$c64 = "%";
469
- const peg$c65 = "em";
470
- const peg$c66 = "rem";
471
- const peg$c67 = "vh";
472
- const peg$c68 = "vw";
473
- const peg$c69 = "true";
474
- const peg$c70 = "false";
475
- const peg$c71 = "\n";
476
- const peg$c72 = "*/";
477
- const peg$r0 = /^[=[{}]/;
478
- const peg$r1 = /^[a-zA-Z0-9_\-]/;
479
- const peg$r2 = /^[0-9]/;
456
+ const peg$c52 = "marker";
457
+ const peg$c53 = "annotations";
458
+ const peg$c54 = "=";
459
+ const peg$c55 = "//";
460
+ const peg$c56 = "/*";
461
+ const peg$c57 = '"';
462
+ const peg$c58 = "'";
463
+ const peg$c59 = "\\";
464
+ const peg$c60 = "n";
465
+ const peg$c61 = "r";
466
+ const peg$c62 = "t";
467
+ const peg$c63 = "-";
468
+ const peg$c64 = ".";
469
+ const peg$c65 = "px";
470
+ const peg$c66 = "%";
471
+ const peg$c67 = "em";
472
+ const peg$c68 = "rem";
473
+ const peg$c69 = "vh";
474
+ const peg$c70 = "vw";
475
+ const peg$c71 = "true";
476
+ const peg$c72 = "false";
477
+ const peg$c73 = "\n";
478
+ const peg$c74 = "*/";
479
+ const peg$r0 = /^[0-9]/;
480
+ const peg$r1 = /^[=[{}]/;
481
+ const peg$r2 = /^[a-zA-Z0-9_\-]/;
480
482
  const peg$r3 = /^[a-zA-Z_]/;
481
483
  const peg$r4 = /^[ \t\n\r]/;
482
484
  const peg$r5 = /^[^\n]/;
@@ -532,40 +534,43 @@ function peg$parse(input, options) {
532
534
  const peg$e49 = peg$literalExpectation("tabs", false);
533
535
  const peg$e50 = peg$literalExpectation("tab", false);
534
536
  const peg$e51 = peg$literalExpectation("breadcrumb", false);
535
- const peg$e52 = peg$literalExpectation("=", false);
536
- const peg$e53 = peg$classExpectation(["=", "[", "{", "}"], false, false, false);
537
- const peg$e54 = peg$literalExpectation("//", false);
538
- const peg$e55 = peg$literalExpectation("/*", false);
539
- const peg$e56 = peg$anyExpectation();
540
- const peg$e57 = peg$classExpectation([["a", "z"], ["A", "Z"], ["0", "9"], "_", "-"], false, false, false);
541
- const peg$e58 = peg$otherExpectation("string");
542
- const peg$e59 = peg$literalExpectation('"', false);
543
- const peg$e60 = peg$literalExpectation("'", false);
544
- const peg$e61 = peg$literalExpectation("\\", false);
545
- const peg$e62 = peg$literalExpectation("n", false);
546
- const peg$e63 = peg$literalExpectation("r", false);
547
- const peg$e64 = peg$literalExpectation("t", false);
548
- const peg$e65 = peg$otherExpectation("number");
549
- const peg$e66 = peg$literalExpectation("-", false);
550
- const peg$e67 = peg$classExpectation([["0", "9"]], false, false, false);
551
- const peg$e68 = peg$literalExpectation(".", false);
552
- const peg$e69 = peg$otherExpectation("value with unit");
553
- const peg$e70 = peg$literalExpectation("px", false);
554
- const peg$e71 = peg$literalExpectation("%", false);
555
- const peg$e72 = peg$literalExpectation("em", false);
556
- const peg$e73 = peg$literalExpectation("rem", false);
557
- const peg$e74 = peg$literalExpectation("vh", false);
558
- const peg$e75 = peg$literalExpectation("vw", false);
559
- const peg$e76 = peg$otherExpectation("boolean");
560
- const peg$e77 = peg$literalExpectation("true", false);
561
- const peg$e78 = peg$literalExpectation("false", false);
562
- const peg$e79 = peg$otherExpectation("identifier");
563
- const peg$e80 = peg$classExpectation([["a", "z"], ["A", "Z"], "_"], false, false, false);
564
- const peg$e81 = peg$classExpectation([" ", " ", "\n", "\r"], false, false, false);
565
- const peg$e82 = peg$otherExpectation("comment");
566
- const peg$e83 = peg$classExpectation(["\n"], true, false, false);
567
- const peg$e84 = peg$literalExpectation("\n", false);
568
- const peg$e85 = peg$literalExpectation("*/", false);
537
+ const peg$e52 = peg$literalExpectation("marker", false);
538
+ const peg$e53 = peg$literalExpectation("annotations", false);
539
+ const peg$e54 = peg$otherExpectation("integer");
540
+ const peg$e55 = peg$classExpectation([["0", "9"]], false, false, false);
541
+ const peg$e56 = peg$literalExpectation("=", false);
542
+ const peg$e57 = peg$classExpectation(["=", "[", "{", "}"], false, false, false);
543
+ const peg$e58 = peg$literalExpectation("//", false);
544
+ const peg$e59 = peg$literalExpectation("/*", false);
545
+ const peg$e60 = peg$anyExpectation();
546
+ const peg$e61 = peg$classExpectation([["a", "z"], ["A", "Z"], ["0", "9"], "_", "-"], false, false, false);
547
+ const peg$e62 = peg$otherExpectation("string");
548
+ const peg$e63 = peg$literalExpectation('"', false);
549
+ const peg$e64 = peg$literalExpectation("'", false);
550
+ const peg$e65 = peg$literalExpectation("\\", false);
551
+ const peg$e66 = peg$literalExpectation("n", false);
552
+ const peg$e67 = peg$literalExpectation("r", false);
553
+ const peg$e68 = peg$literalExpectation("t", false);
554
+ const peg$e69 = peg$otherExpectation("number");
555
+ const peg$e70 = peg$literalExpectation("-", false);
556
+ const peg$e71 = peg$literalExpectation(".", false);
557
+ const peg$e72 = peg$otherExpectation("value with unit");
558
+ const peg$e73 = peg$literalExpectation("px", false);
559
+ const peg$e74 = peg$literalExpectation("%", false);
560
+ const peg$e75 = peg$literalExpectation("em", false);
561
+ const peg$e76 = peg$literalExpectation("rem", false);
562
+ const peg$e77 = peg$literalExpectation("vh", false);
563
+ const peg$e78 = peg$literalExpectation("vw", false);
564
+ const peg$e79 = peg$otherExpectation("boolean");
565
+ const peg$e80 = peg$literalExpectation("true", false);
566
+ const peg$e81 = peg$literalExpectation("false", false);
567
+ const peg$e82 = peg$otherExpectation("identifier");
568
+ const peg$e83 = peg$classExpectation([["a", "z"], ["A", "Z"], "_"], false, false, false);
569
+ const peg$e84 = peg$classExpectation([" ", " ", "\n", "\r"], false, false, false);
570
+ const peg$e85 = peg$otherExpectation("comment");
571
+ const peg$e86 = peg$classExpectation(["\n"], true, false, false);
572
+ const peg$e87 = peg$literalExpectation("\n", false);
573
+ const peg$e88 = peg$literalExpectation("*/", false);
569
574
  function peg$f0(children) {
570
575
  return createNode("Document", { children: children.filter((c) => c !== null) });
571
576
  }
@@ -963,78 +968,115 @@ function peg$parse(input, options) {
963
968
  ...attrsToObject(attrs)
964
969
  });
965
970
  }
966
- function peg$f71(attrs) {
971
+ function peg$f71(num, attrs) {
972
+ return createNode("Marker", {
973
+ number: num,
974
+ ...attrsToObject(attrs)
975
+ });
976
+ }
977
+ function peg$f72(attrs, items) {
978
+ return createNode("Annotations", {
979
+ ...attrsToObject(attrs),
980
+ children: items
981
+ });
982
+ }
983
+ function peg$f73(items) {
984
+ return items.map((i) => i[0]).filter((i) => i !== null);
985
+ }
986
+ function peg$f74(num, title, attrs, children) {
987
+ return createNode("AnnotationItem", {
988
+ number: num,
989
+ title,
990
+ ...attrsToObject(attrs),
991
+ children
992
+ });
993
+ }
994
+ function peg$f75(num, title, attrs) {
995
+ return createNode("AnnotationItem", {
996
+ number: num,
997
+ title,
998
+ ...attrsToObject(attrs),
999
+ children: []
1000
+ });
1001
+ }
1002
+ function peg$f76() {
1003
+ return null;
1004
+ }
1005
+ function peg$f77(digits) {
1006
+ return parseInt(digits.join(""), 10);
1007
+ }
1008
+ function peg$f78(attrs) {
967
1009
  return attrs;
968
1010
  }
969
- function peg$f72(name, value) {
1011
+ function peg$f79(name, value) {
970
1012
  return { name, value };
971
1013
  }
972
- function peg$f73(flag) {
1014
+ function peg$f80(flag) {
973
1015
  return { name: flag, value: true };
974
1016
  }
975
- function peg$f74(name) {
1017
+ function peg$f81(name) {
976
1018
  return name;
977
1019
  }
978
- function peg$f75(chars) {
1020
+ function peg$f82(chars) {
979
1021
  return chars.join("");
980
1022
  }
981
- function peg$f76(chars) {
1023
+ function peg$f83(chars) {
982
1024
  return chars.join("");
983
1025
  }
984
- function peg$f77(char) {
1026
+ function peg$f84(char) {
985
1027
  return char;
986
1028
  }
987
- function peg$f78(seq) {
1029
+ function peg$f85(seq) {
988
1030
  return seq;
989
1031
  }
990
- function peg$f79(char) {
1032
+ function peg$f86(char) {
991
1033
  return char;
992
1034
  }
993
- function peg$f80(seq) {
1035
+ function peg$f87(seq) {
994
1036
  return seq;
995
1037
  }
996
- function peg$f81() {
1038
+ function peg$f88() {
997
1039
  return "\n";
998
1040
  }
999
- function peg$f82() {
1041
+ function peg$f89() {
1000
1042
  return "\r";
1001
1043
  }
1002
- function peg$f83() {
1044
+ function peg$f90() {
1003
1045
  return " ";
1004
1046
  }
1005
- function peg$f84() {
1047
+ function peg$f91() {
1006
1048
  return "\\";
1007
1049
  }
1008
- function peg$f85() {
1050
+ function peg$f92() {
1009
1051
  return '"';
1010
1052
  }
1011
- function peg$f86() {
1053
+ function peg$f93() {
1012
1054
  return "'";
1013
1055
  }
1014
- function peg$f87(sign, digits, decimal) {
1056
+ function peg$f94(sign, digits, decimal) {
1015
1057
  const num = (sign || "") + digits.join("") + (decimal ? "." + decimal[1].join("") : "");
1016
1058
  return parseFloat(num);
1017
1059
  }
1018
- function peg$f88(sign, digits, decimal, unit) {
1060
+ function peg$f95(sign, digits, decimal, unit) {
1019
1061
  const num = (sign || "") + digits.join("") + (decimal ? "." + decimal[1].join("") : "");
1020
1062
  return { value: parseFloat(num), unit };
1021
1063
  }
1022
- function peg$f89() {
1064
+ function peg$f96() {
1023
1065
  return true;
1024
1066
  }
1025
- function peg$f90() {
1067
+ function peg$f97() {
1026
1068
  return false;
1027
1069
  }
1028
- function peg$f91(head, tail) {
1070
+ function peg$f98(head, tail) {
1029
1071
  return head + tail.join("");
1030
1072
  }
1031
- function peg$f92(items) {
1073
+ function peg$f99(items) {
1032
1074
  return items || [];
1033
1075
  }
1034
- function peg$f93(head, tail) {
1076
+ function peg$f100(head, tail) {
1035
1077
  return [head, ...tail.map((t) => t[3])];
1036
1078
  }
1037
- function peg$f94(props) {
1079
+ function peg$f101(props) {
1038
1080
  const result = {};
1039
1081
  if (props) {
1040
1082
  for (const p of props) {
@@ -1043,13 +1085,13 @@ function peg$parse(input, options) {
1043
1085
  }
1044
1086
  return result;
1045
1087
  }
1046
- function peg$f95(head, tail) {
1088
+ function peg$f102(head, tail) {
1047
1089
  return [head, ...tail.map((t) => t[3])];
1048
1090
  }
1049
- function peg$f96(name, value) {
1091
+ function peg$f103(name, value) {
1050
1092
  return { name, value };
1051
1093
  }
1052
- function peg$f97(name) {
1094
+ function peg$f104(name) {
1053
1095
  return { name, value: true };
1054
1096
  }
1055
1097
  let peg$currPos = options.peg$currPos | 0;
@@ -2279,6 +2321,12 @@ function peg$parse(input, options) {
2279
2321
  s0 = peg$parseBreadcrumb();
2280
2322
  if (s0 === peg$FAILED) {
2281
2323
  s0 = peg$parseDivider();
2324
+ if (s0 === peg$FAILED) {
2325
+ s0 = peg$parseMarker();
2326
+ if (s0 === peg$FAILED) {
2327
+ s0 = peg$parseAnnotations();
2328
+ }
2329
+ }
2282
2330
  }
2283
2331
  }
2284
2332
  }
@@ -4227,6 +4275,297 @@ function peg$parse(input, options) {
4227
4275
  }
4228
4276
  return s0;
4229
4277
  }
4278
+ function peg$parseMarker() {
4279
+ let s0, s1, s2, s3, s4, s5;
4280
+ s0 = peg$currPos;
4281
+ if (input.substr(peg$currPos, 6) === peg$c52) {
4282
+ s1 = peg$c52;
4283
+ peg$currPos += 6;
4284
+ } else {
4285
+ s1 = peg$FAILED;
4286
+ if (peg$silentFails === 0) {
4287
+ peg$fail(peg$e52);
4288
+ }
4289
+ }
4290
+ if (s1 !== peg$FAILED) {
4291
+ s2 = peg$parse_();
4292
+ s3 = peg$parseInteger();
4293
+ if (s3 !== peg$FAILED) {
4294
+ s4 = peg$parse_();
4295
+ s5 = peg$parseAttributes();
4296
+ if (s5 === peg$FAILED) {
4297
+ s5 = null;
4298
+ }
4299
+ peg$savedPos = s0;
4300
+ s0 = peg$f71(s3, s5);
4301
+ } else {
4302
+ peg$currPos = s0;
4303
+ s0 = peg$FAILED;
4304
+ }
4305
+ } else {
4306
+ peg$currPos = s0;
4307
+ s0 = peg$FAILED;
4308
+ }
4309
+ return s0;
4310
+ }
4311
+ function peg$parseAnnotations() {
4312
+ let s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
4313
+ s0 = peg$currPos;
4314
+ if (input.substr(peg$currPos, 11) === peg$c53) {
4315
+ s1 = peg$c53;
4316
+ peg$currPos += 11;
4317
+ } else {
4318
+ s1 = peg$FAILED;
4319
+ if (peg$silentFails === 0) {
4320
+ peg$fail(peg$e53);
4321
+ }
4322
+ }
4323
+ if (s1 !== peg$FAILED) {
4324
+ s2 = peg$parse_();
4325
+ s3 = peg$parseAttributes();
4326
+ if (s3 === peg$FAILED) {
4327
+ s3 = null;
4328
+ }
4329
+ s4 = peg$parse_();
4330
+ if (input.charCodeAt(peg$currPos) === 123) {
4331
+ s5 = peg$c1;
4332
+ peg$currPos++;
4333
+ } else {
4334
+ s5 = peg$FAILED;
4335
+ if (peg$silentFails === 0) {
4336
+ peg$fail(peg$e1);
4337
+ }
4338
+ }
4339
+ if (s5 !== peg$FAILED) {
4340
+ s6 = peg$parse_();
4341
+ s7 = peg$parseAnnotationContent();
4342
+ s8 = peg$parse_();
4343
+ if (input.charCodeAt(peg$currPos) === 125) {
4344
+ s9 = peg$c2;
4345
+ peg$currPos++;
4346
+ } else {
4347
+ s9 = peg$FAILED;
4348
+ if (peg$silentFails === 0) {
4349
+ peg$fail(peg$e2);
4350
+ }
4351
+ }
4352
+ if (s9 !== peg$FAILED) {
4353
+ peg$savedPos = s0;
4354
+ s0 = peg$f72(s3, s7);
4355
+ } else {
4356
+ peg$currPos = s0;
4357
+ s0 = peg$FAILED;
4358
+ }
4359
+ } else {
4360
+ peg$currPos = s0;
4361
+ s0 = peg$FAILED;
4362
+ }
4363
+ } else {
4364
+ peg$currPos = s0;
4365
+ s0 = peg$FAILED;
4366
+ }
4367
+ return s0;
4368
+ }
4369
+ function peg$parseAnnotationContent() {
4370
+ let s0, s1, s2, s3, s4;
4371
+ s0 = peg$currPos;
4372
+ s1 = [];
4373
+ s2 = peg$currPos;
4374
+ s3 = peg$parseAnnotationItem();
4375
+ if (s3 !== peg$FAILED) {
4376
+ s4 = peg$parse_();
4377
+ s3 = [s3, s4];
4378
+ s2 = s3;
4379
+ } else {
4380
+ peg$currPos = s2;
4381
+ s2 = peg$FAILED;
4382
+ }
4383
+ while (s2 !== peg$FAILED) {
4384
+ s1.push(s2);
4385
+ s2 = peg$currPos;
4386
+ s3 = peg$parseAnnotationItem();
4387
+ if (s3 !== peg$FAILED) {
4388
+ s4 = peg$parse_();
4389
+ s3 = [s3, s4];
4390
+ s2 = s3;
4391
+ } else {
4392
+ peg$currPos = s2;
4393
+ s2 = peg$FAILED;
4394
+ }
4395
+ }
4396
+ peg$savedPos = s0;
4397
+ s1 = peg$f73(s1);
4398
+ s0 = s1;
4399
+ return s0;
4400
+ }
4401
+ function peg$parseAnnotationItem() {
4402
+ let s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13;
4403
+ s0 = peg$currPos;
4404
+ if (input.substr(peg$currPos, 4) === peg$c38) {
4405
+ s1 = peg$c38;
4406
+ peg$currPos += 4;
4407
+ } else {
4408
+ s1 = peg$FAILED;
4409
+ if (peg$silentFails === 0) {
4410
+ peg$fail(peg$e38);
4411
+ }
4412
+ }
4413
+ if (s1 !== peg$FAILED) {
4414
+ s2 = peg$parse_();
4415
+ s3 = peg$parseInteger();
4416
+ if (s3 !== peg$FAILED) {
4417
+ s4 = peg$parse_();
4418
+ s5 = peg$parseStringLiteral();
4419
+ if (s5 !== peg$FAILED) {
4420
+ s6 = peg$parse_();
4421
+ s7 = peg$parseAttributes();
4422
+ if (s7 === peg$FAILED) {
4423
+ s7 = null;
4424
+ }
4425
+ s8 = peg$parse_();
4426
+ if (input.charCodeAt(peg$currPos) === 123) {
4427
+ s9 = peg$c1;
4428
+ peg$currPos++;
4429
+ } else {
4430
+ s9 = peg$FAILED;
4431
+ if (peg$silentFails === 0) {
4432
+ peg$fail(peg$e1);
4433
+ }
4434
+ }
4435
+ if (s9 !== peg$FAILED) {
4436
+ s10 = peg$parse_();
4437
+ s11 = peg$parseChildren();
4438
+ if (s11 !== peg$FAILED) {
4439
+ s12 = peg$parse_();
4440
+ if (input.charCodeAt(peg$currPos) === 125) {
4441
+ s13 = peg$c2;
4442
+ peg$currPos++;
4443
+ } else {
4444
+ s13 = peg$FAILED;
4445
+ if (peg$silentFails === 0) {
4446
+ peg$fail(peg$e2);
4447
+ }
4448
+ }
4449
+ if (s13 !== peg$FAILED) {
4450
+ peg$savedPos = s0;
4451
+ s0 = peg$f74(s3, s5, s7, s11);
4452
+ } else {
4453
+ peg$currPos = s0;
4454
+ s0 = peg$FAILED;
4455
+ }
4456
+ } else {
4457
+ peg$currPos = s0;
4458
+ s0 = peg$FAILED;
4459
+ }
4460
+ } else {
4461
+ peg$currPos = s0;
4462
+ s0 = peg$FAILED;
4463
+ }
4464
+ } else {
4465
+ peg$currPos = s0;
4466
+ s0 = peg$FAILED;
4467
+ }
4468
+ } else {
4469
+ peg$currPos = s0;
4470
+ s0 = peg$FAILED;
4471
+ }
4472
+ } else {
4473
+ peg$currPos = s0;
4474
+ s0 = peg$FAILED;
4475
+ }
4476
+ if (s0 === peg$FAILED) {
4477
+ s0 = peg$currPos;
4478
+ if (input.substr(peg$currPos, 4) === peg$c38) {
4479
+ s1 = peg$c38;
4480
+ peg$currPos += 4;
4481
+ } else {
4482
+ s1 = peg$FAILED;
4483
+ if (peg$silentFails === 0) {
4484
+ peg$fail(peg$e38);
4485
+ }
4486
+ }
4487
+ if (s1 !== peg$FAILED) {
4488
+ s2 = peg$parse_();
4489
+ s3 = peg$parseInteger();
4490
+ if (s3 !== peg$FAILED) {
4491
+ s4 = peg$parse_();
4492
+ s5 = peg$parseStringLiteral();
4493
+ if (s5 !== peg$FAILED) {
4494
+ s6 = peg$parse_();
4495
+ s7 = peg$parseAttributes();
4496
+ if (s7 === peg$FAILED) {
4497
+ s7 = null;
4498
+ }
4499
+ peg$savedPos = s0;
4500
+ s0 = peg$f75(s3, s5, s7);
4501
+ } else {
4502
+ peg$currPos = s0;
4503
+ s0 = peg$FAILED;
4504
+ }
4505
+ } else {
4506
+ peg$currPos = s0;
4507
+ s0 = peg$FAILED;
4508
+ }
4509
+ } else {
4510
+ peg$currPos = s0;
4511
+ s0 = peg$FAILED;
4512
+ }
4513
+ if (s0 === peg$FAILED) {
4514
+ s0 = peg$currPos;
4515
+ s1 = peg$parseComment();
4516
+ if (s1 !== peg$FAILED) {
4517
+ peg$savedPos = s0;
4518
+ s1 = peg$f76();
4519
+ }
4520
+ s0 = s1;
4521
+ }
4522
+ }
4523
+ return s0;
4524
+ }
4525
+ function peg$parseInteger() {
4526
+ let s0, s1, s2;
4527
+ peg$silentFails++;
4528
+ s0 = peg$currPos;
4529
+ s1 = [];
4530
+ s2 = input.charAt(peg$currPos);
4531
+ if (peg$r0.test(s2)) {
4532
+ peg$currPos++;
4533
+ } else {
4534
+ s2 = peg$FAILED;
4535
+ if (peg$silentFails === 0) {
4536
+ peg$fail(peg$e55);
4537
+ }
4538
+ }
4539
+ if (s2 !== peg$FAILED) {
4540
+ while (s2 !== peg$FAILED) {
4541
+ s1.push(s2);
4542
+ s2 = input.charAt(peg$currPos);
4543
+ if (peg$r0.test(s2)) {
4544
+ peg$currPos++;
4545
+ } else {
4546
+ s2 = peg$FAILED;
4547
+ if (peg$silentFails === 0) {
4548
+ peg$fail(peg$e55);
4549
+ }
4550
+ }
4551
+ }
4552
+ } else {
4553
+ s1 = peg$FAILED;
4554
+ }
4555
+ if (s1 !== peg$FAILED) {
4556
+ peg$savedPos = s0;
4557
+ s1 = peg$f77(s1);
4558
+ }
4559
+ s0 = s1;
4560
+ peg$silentFails--;
4561
+ if (s0 === peg$FAILED) {
4562
+ s1 = peg$FAILED;
4563
+ if (peg$silentFails === 0) {
4564
+ peg$fail(peg$e54);
4565
+ }
4566
+ }
4567
+ return s0;
4568
+ }
4230
4569
  function peg$parseAttributes() {
4231
4570
  let s0, s1, s2;
4232
4571
  s0 = peg$currPos;
@@ -4242,7 +4581,7 @@ function peg$parse(input, options) {
4242
4581
  }
4243
4582
  if (s1 !== peg$FAILED) {
4244
4583
  peg$savedPos = s0;
4245
- s1 = peg$f71(s1);
4584
+ s1 = peg$f78(s1);
4246
4585
  }
4247
4586
  s0 = s1;
4248
4587
  return s0;
@@ -4255,12 +4594,12 @@ function peg$parse(input, options) {
4255
4594
  if (s2 !== peg$FAILED) {
4256
4595
  s3 = peg$parse_();
4257
4596
  if (input.charCodeAt(peg$currPos) === 61) {
4258
- s4 = peg$c52;
4597
+ s4 = peg$c54;
4259
4598
  peg$currPos++;
4260
4599
  } else {
4261
4600
  s4 = peg$FAILED;
4262
4601
  if (peg$silentFails === 0) {
4263
- peg$fail(peg$e52);
4602
+ peg$fail(peg$e56);
4264
4603
  }
4265
4604
  }
4266
4605
  if (s4 !== peg$FAILED) {
@@ -4268,7 +4607,7 @@ function peg$parse(input, options) {
4268
4607
  s6 = peg$parseAttributeValue();
4269
4608
  if (s6 !== peg$FAILED) {
4270
4609
  peg$savedPos = s0;
4271
- s0 = peg$f72(s2, s6);
4610
+ s0 = peg$f79(s2, s6);
4272
4611
  } else {
4273
4612
  peg$currPos = s0;
4274
4613
  s0 = peg$FAILED;
@@ -4295,32 +4634,32 @@ function peg$parse(input, options) {
4295
4634
  s6 = peg$parseAttributeName();
4296
4635
  if (s6 === peg$FAILED) {
4297
4636
  s6 = input.charAt(peg$currPos);
4298
- if (peg$r0.test(s6)) {
4637
+ if (peg$r1.test(s6)) {
4299
4638
  peg$currPos++;
4300
4639
  } else {
4301
4640
  s6 = peg$FAILED;
4302
4641
  if (peg$silentFails === 0) {
4303
- peg$fail(peg$e53);
4642
+ peg$fail(peg$e57);
4304
4643
  }
4305
4644
  }
4306
4645
  if (s6 === peg$FAILED) {
4307
- if (input.substr(peg$currPos, 2) === peg$c53) {
4308
- s6 = peg$c53;
4646
+ if (input.substr(peg$currPos, 2) === peg$c55) {
4647
+ s6 = peg$c55;
4309
4648
  peg$currPos += 2;
4310
4649
  } else {
4311
4650
  s6 = peg$FAILED;
4312
4651
  if (peg$silentFails === 0) {
4313
- peg$fail(peg$e54);
4652
+ peg$fail(peg$e58);
4314
4653
  }
4315
4654
  }
4316
4655
  if (s6 === peg$FAILED) {
4317
- if (input.substr(peg$currPos, 2) === peg$c54) {
4318
- s6 = peg$c54;
4656
+ if (input.substr(peg$currPos, 2) === peg$c56) {
4657
+ s6 = peg$c56;
4319
4658
  peg$currPos += 2;
4320
4659
  } else {
4321
4660
  s6 = peg$FAILED;
4322
4661
  if (peg$silentFails === 0) {
4323
- peg$fail(peg$e55);
4662
+ peg$fail(peg$e59);
4324
4663
  }
4325
4664
  }
4326
4665
  if (s6 === peg$FAILED) {
@@ -4332,7 +4671,7 @@ function peg$parse(input, options) {
4332
4671
  } else {
4333
4672
  s7 = peg$FAILED;
4334
4673
  if (peg$silentFails === 0) {
4335
- peg$fail(peg$e56);
4674
+ peg$fail(peg$e60);
4336
4675
  }
4337
4676
  }
4338
4677
  peg$silentFails--;
@@ -4363,7 +4702,7 @@ function peg$parse(input, options) {
4363
4702
  }
4364
4703
  if (s3 !== peg$FAILED) {
4365
4704
  peg$savedPos = s0;
4366
- s0 = peg$f73(s2);
4705
+ s0 = peg$f80(s2);
4367
4706
  } else {
4368
4707
  peg$currPos = s0;
4369
4708
  s0 = peg$FAILED;
@@ -4392,7 +4731,7 @@ function peg$parse(input, options) {
4392
4731
  s2 = peg$parseIdentifier();
4393
4732
  if (s2 !== peg$FAILED) {
4394
4733
  peg$savedPos = s0;
4395
- s0 = peg$f74(s2);
4734
+ s0 = peg$f81(s2);
4396
4735
  } else {
4397
4736
  peg$currPos = s0;
4398
4737
  s0 = peg$FAILED;
@@ -4845,6 +5184,28 @@ function peg$parse(input, options) {
4845
5184
  peg$fail(peg$e48);
4846
5185
  }
4847
5186
  }
5187
+ if (s1 === peg$FAILED) {
5188
+ if (input.substr(peg$currPos, 6) === peg$c52) {
5189
+ s1 = peg$c52;
5190
+ peg$currPos += 6;
5191
+ } else {
5192
+ s1 = peg$FAILED;
5193
+ if (peg$silentFails === 0) {
5194
+ peg$fail(peg$e52);
5195
+ }
5196
+ }
5197
+ if (s1 === peg$FAILED) {
5198
+ if (input.substr(peg$currPos, 11) === peg$c53) {
5199
+ s1 = peg$c53;
5200
+ peg$currPos += 11;
5201
+ } else {
5202
+ s1 = peg$FAILED;
5203
+ if (peg$silentFails === 0) {
5204
+ peg$fail(peg$e53);
5205
+ }
5206
+ }
5207
+ }
5208
+ }
4848
5209
  }
4849
5210
  }
4850
5211
  }
@@ -4915,12 +5276,12 @@ function peg$parse(input, options) {
4915
5276
  function peg$parseIdentifierChar() {
4916
5277
  let s0;
4917
5278
  s0 = input.charAt(peg$currPos);
4918
- if (peg$r1.test(s0)) {
5279
+ if (peg$r2.test(s0)) {
4919
5280
  peg$currPos++;
4920
5281
  } else {
4921
5282
  s0 = peg$FAILED;
4922
5283
  if (peg$silentFails === 0) {
4923
- peg$fail(peg$e57);
5284
+ peg$fail(peg$e61);
4924
5285
  }
4925
5286
  }
4926
5287
  return s0;
@@ -4953,12 +5314,12 @@ function peg$parse(input, options) {
4953
5314
  peg$silentFails++;
4954
5315
  s0 = peg$currPos;
4955
5316
  if (input.charCodeAt(peg$currPos) === 34) {
4956
- s1 = peg$c55;
5317
+ s1 = peg$c57;
4957
5318
  peg$currPos++;
4958
5319
  } else {
4959
5320
  s1 = peg$FAILED;
4960
5321
  if (peg$silentFails === 0) {
4961
- peg$fail(peg$e59);
5322
+ peg$fail(peg$e63);
4962
5323
  }
4963
5324
  }
4964
5325
  if (s1 !== peg$FAILED) {
@@ -4969,17 +5330,17 @@ function peg$parse(input, options) {
4969
5330
  s3 = peg$parseDoubleStringChar();
4970
5331
  }
4971
5332
  if (input.charCodeAt(peg$currPos) === 34) {
4972
- s3 = peg$c55;
5333
+ s3 = peg$c57;
4973
5334
  peg$currPos++;
4974
5335
  } else {
4975
5336
  s3 = peg$FAILED;
4976
5337
  if (peg$silentFails === 0) {
4977
- peg$fail(peg$e59);
5338
+ peg$fail(peg$e63);
4978
5339
  }
4979
5340
  }
4980
5341
  if (s3 !== peg$FAILED) {
4981
5342
  peg$savedPos = s0;
4982
- s0 = peg$f75(s2);
5343
+ s0 = peg$f82(s2);
4983
5344
  } else {
4984
5345
  peg$currPos = s0;
4985
5346
  s0 = peg$FAILED;
@@ -4991,12 +5352,12 @@ function peg$parse(input, options) {
4991
5352
  if (s0 === peg$FAILED) {
4992
5353
  s0 = peg$currPos;
4993
5354
  if (input.charCodeAt(peg$currPos) === 39) {
4994
- s1 = peg$c56;
5355
+ s1 = peg$c58;
4995
5356
  peg$currPos++;
4996
5357
  } else {
4997
5358
  s1 = peg$FAILED;
4998
5359
  if (peg$silentFails === 0) {
4999
- peg$fail(peg$e60);
5360
+ peg$fail(peg$e64);
5000
5361
  }
5001
5362
  }
5002
5363
  if (s1 !== peg$FAILED) {
@@ -5007,17 +5368,17 @@ function peg$parse(input, options) {
5007
5368
  s3 = peg$parseSingleStringChar();
5008
5369
  }
5009
5370
  if (input.charCodeAt(peg$currPos) === 39) {
5010
- s3 = peg$c56;
5371
+ s3 = peg$c58;
5011
5372
  peg$currPos++;
5012
5373
  } else {
5013
5374
  s3 = peg$FAILED;
5014
5375
  if (peg$silentFails === 0) {
5015
- peg$fail(peg$e60);
5376
+ peg$fail(peg$e64);
5016
5377
  }
5017
5378
  }
5018
5379
  if (s3 !== peg$FAILED) {
5019
5380
  peg$savedPos = s0;
5020
- s0 = peg$f76(s2);
5381
+ s0 = peg$f83(s2);
5021
5382
  } else {
5022
5383
  peg$currPos = s0;
5023
5384
  s0 = peg$FAILED;
@@ -5031,7 +5392,7 @@ function peg$parse(input, options) {
5031
5392
  if (s0 === peg$FAILED) {
5032
5393
  s1 = peg$FAILED;
5033
5394
  if (peg$silentFails === 0) {
5034
- peg$fail(peg$e58);
5395
+ peg$fail(peg$e62);
5035
5396
  }
5036
5397
  }
5037
5398
  return s0;
@@ -5042,12 +5403,12 @@ function peg$parse(input, options) {
5042
5403
  s1 = peg$currPos;
5043
5404
  peg$silentFails++;
5044
5405
  if (input.charCodeAt(peg$currPos) === 34) {
5045
- s2 = peg$c55;
5406
+ s2 = peg$c57;
5046
5407
  peg$currPos++;
5047
5408
  } else {
5048
5409
  s2 = peg$FAILED;
5049
5410
  if (peg$silentFails === 0) {
5050
- peg$fail(peg$e59);
5411
+ peg$fail(peg$e63);
5051
5412
  }
5052
5413
  }
5053
5414
  peg$silentFails--;
@@ -5061,12 +5422,12 @@ function peg$parse(input, options) {
5061
5422
  s2 = peg$currPos;
5062
5423
  peg$silentFails++;
5063
5424
  if (input.charCodeAt(peg$currPos) === 92) {
5064
- s3 = peg$c57;
5425
+ s3 = peg$c59;
5065
5426
  peg$currPos++;
5066
5427
  } else {
5067
5428
  s3 = peg$FAILED;
5068
5429
  if (peg$silentFails === 0) {
5069
- peg$fail(peg$e61);
5430
+ peg$fail(peg$e65);
5070
5431
  }
5071
5432
  }
5072
5433
  peg$silentFails--;
@@ -5083,12 +5444,12 @@ function peg$parse(input, options) {
5083
5444
  } else {
5084
5445
  s3 = peg$FAILED;
5085
5446
  if (peg$silentFails === 0) {
5086
- peg$fail(peg$e56);
5447
+ peg$fail(peg$e60);
5087
5448
  }
5088
5449
  }
5089
5450
  if (s3 !== peg$FAILED) {
5090
5451
  peg$savedPos = s0;
5091
- s0 = peg$f77(s3);
5452
+ s0 = peg$f84(s3);
5092
5453
  } else {
5093
5454
  peg$currPos = s0;
5094
5455
  s0 = peg$FAILED;
@@ -5104,19 +5465,19 @@ function peg$parse(input, options) {
5104
5465
  if (s0 === peg$FAILED) {
5105
5466
  s0 = peg$currPos;
5106
5467
  if (input.charCodeAt(peg$currPos) === 92) {
5107
- s1 = peg$c57;
5468
+ s1 = peg$c59;
5108
5469
  peg$currPos++;
5109
5470
  } else {
5110
5471
  s1 = peg$FAILED;
5111
5472
  if (peg$silentFails === 0) {
5112
- peg$fail(peg$e61);
5473
+ peg$fail(peg$e65);
5113
5474
  }
5114
5475
  }
5115
5476
  if (s1 !== peg$FAILED) {
5116
5477
  s2 = peg$parseEscapeSequence();
5117
5478
  if (s2 !== peg$FAILED) {
5118
5479
  peg$savedPos = s0;
5119
- s0 = peg$f78(s2);
5480
+ s0 = peg$f85(s2);
5120
5481
  } else {
5121
5482
  peg$currPos = s0;
5122
5483
  s0 = peg$FAILED;
@@ -5134,12 +5495,12 @@ function peg$parse(input, options) {
5134
5495
  s1 = peg$currPos;
5135
5496
  peg$silentFails++;
5136
5497
  if (input.charCodeAt(peg$currPos) === 39) {
5137
- s2 = peg$c56;
5498
+ s2 = peg$c58;
5138
5499
  peg$currPos++;
5139
5500
  } else {
5140
5501
  s2 = peg$FAILED;
5141
5502
  if (peg$silentFails === 0) {
5142
- peg$fail(peg$e60);
5503
+ peg$fail(peg$e64);
5143
5504
  }
5144
5505
  }
5145
5506
  peg$silentFails--;
@@ -5153,12 +5514,12 @@ function peg$parse(input, options) {
5153
5514
  s2 = peg$currPos;
5154
5515
  peg$silentFails++;
5155
5516
  if (input.charCodeAt(peg$currPos) === 92) {
5156
- s3 = peg$c57;
5517
+ s3 = peg$c59;
5157
5518
  peg$currPos++;
5158
5519
  } else {
5159
5520
  s3 = peg$FAILED;
5160
5521
  if (peg$silentFails === 0) {
5161
- peg$fail(peg$e61);
5522
+ peg$fail(peg$e65);
5162
5523
  }
5163
5524
  }
5164
5525
  peg$silentFails--;
@@ -5175,12 +5536,12 @@ function peg$parse(input, options) {
5175
5536
  } else {
5176
5537
  s3 = peg$FAILED;
5177
5538
  if (peg$silentFails === 0) {
5178
- peg$fail(peg$e56);
5539
+ peg$fail(peg$e60);
5179
5540
  }
5180
5541
  }
5181
5542
  if (s3 !== peg$FAILED) {
5182
5543
  peg$savedPos = s0;
5183
- s0 = peg$f79(s3);
5544
+ s0 = peg$f86(s3);
5184
5545
  } else {
5185
5546
  peg$currPos = s0;
5186
5547
  s0 = peg$FAILED;
@@ -5196,19 +5557,19 @@ function peg$parse(input, options) {
5196
5557
  if (s0 === peg$FAILED) {
5197
5558
  s0 = peg$currPos;
5198
5559
  if (input.charCodeAt(peg$currPos) === 92) {
5199
- s1 = peg$c57;
5560
+ s1 = peg$c59;
5200
5561
  peg$currPos++;
5201
5562
  } else {
5202
5563
  s1 = peg$FAILED;
5203
5564
  if (peg$silentFails === 0) {
5204
- peg$fail(peg$e61);
5565
+ peg$fail(peg$e65);
5205
5566
  }
5206
5567
  }
5207
5568
  if (s1 !== peg$FAILED) {
5208
5569
  s2 = peg$parseEscapeSequence();
5209
5570
  if (s2 !== peg$FAILED) {
5210
5571
  peg$savedPos = s0;
5211
- s0 = peg$f80(s2);
5572
+ s0 = peg$f87(s2);
5212
5573
  } else {
5213
5574
  peg$currPos = s0;
5214
5575
  s0 = peg$FAILED;
@@ -5224,97 +5585,97 @@ function peg$parse(input, options) {
5224
5585
  let s0, s1;
5225
5586
  s0 = peg$currPos;
5226
5587
  if (input.charCodeAt(peg$currPos) === 110) {
5227
- s1 = peg$c58;
5588
+ s1 = peg$c60;
5228
5589
  peg$currPos++;
5229
5590
  } else {
5230
5591
  s1 = peg$FAILED;
5231
5592
  if (peg$silentFails === 0) {
5232
- peg$fail(peg$e62);
5593
+ peg$fail(peg$e66);
5233
5594
  }
5234
5595
  }
5235
5596
  if (s1 !== peg$FAILED) {
5236
5597
  peg$savedPos = s0;
5237
- s1 = peg$f81();
5598
+ s1 = peg$f88();
5238
5599
  }
5239
5600
  s0 = s1;
5240
5601
  if (s0 === peg$FAILED) {
5241
5602
  s0 = peg$currPos;
5242
5603
  if (input.charCodeAt(peg$currPos) === 114) {
5243
- s1 = peg$c59;
5604
+ s1 = peg$c61;
5244
5605
  peg$currPos++;
5245
5606
  } else {
5246
5607
  s1 = peg$FAILED;
5247
5608
  if (peg$silentFails === 0) {
5248
- peg$fail(peg$e63);
5609
+ peg$fail(peg$e67);
5249
5610
  }
5250
5611
  }
5251
5612
  if (s1 !== peg$FAILED) {
5252
5613
  peg$savedPos = s0;
5253
- s1 = peg$f82();
5614
+ s1 = peg$f89();
5254
5615
  }
5255
5616
  s0 = s1;
5256
5617
  if (s0 === peg$FAILED) {
5257
5618
  s0 = peg$currPos;
5258
5619
  if (input.charCodeAt(peg$currPos) === 116) {
5259
- s1 = peg$c60;
5620
+ s1 = peg$c62;
5260
5621
  peg$currPos++;
5261
5622
  } else {
5262
5623
  s1 = peg$FAILED;
5263
5624
  if (peg$silentFails === 0) {
5264
- peg$fail(peg$e64);
5625
+ peg$fail(peg$e68);
5265
5626
  }
5266
5627
  }
5267
5628
  if (s1 !== peg$FAILED) {
5268
5629
  peg$savedPos = s0;
5269
- s1 = peg$f83();
5630
+ s1 = peg$f90();
5270
5631
  }
5271
5632
  s0 = s1;
5272
5633
  if (s0 === peg$FAILED) {
5273
5634
  s0 = peg$currPos;
5274
5635
  if (input.charCodeAt(peg$currPos) === 92) {
5275
- s1 = peg$c57;
5636
+ s1 = peg$c59;
5276
5637
  peg$currPos++;
5277
5638
  } else {
5278
5639
  s1 = peg$FAILED;
5279
5640
  if (peg$silentFails === 0) {
5280
- peg$fail(peg$e61);
5641
+ peg$fail(peg$e65);
5281
5642
  }
5282
5643
  }
5283
5644
  if (s1 !== peg$FAILED) {
5284
5645
  peg$savedPos = s0;
5285
- s1 = peg$f84();
5646
+ s1 = peg$f91();
5286
5647
  }
5287
5648
  s0 = s1;
5288
5649
  if (s0 === peg$FAILED) {
5289
5650
  s0 = peg$currPos;
5290
5651
  if (input.charCodeAt(peg$currPos) === 34) {
5291
- s1 = peg$c55;
5652
+ s1 = peg$c57;
5292
5653
  peg$currPos++;
5293
5654
  } else {
5294
5655
  s1 = peg$FAILED;
5295
5656
  if (peg$silentFails === 0) {
5296
- peg$fail(peg$e59);
5657
+ peg$fail(peg$e63);
5297
5658
  }
5298
5659
  }
5299
5660
  if (s1 !== peg$FAILED) {
5300
5661
  peg$savedPos = s0;
5301
- s1 = peg$f85();
5662
+ s1 = peg$f92();
5302
5663
  }
5303
5664
  s0 = s1;
5304
5665
  if (s0 === peg$FAILED) {
5305
5666
  s0 = peg$currPos;
5306
5667
  if (input.charCodeAt(peg$currPos) === 39) {
5307
- s1 = peg$c56;
5668
+ s1 = peg$c58;
5308
5669
  peg$currPos++;
5309
5670
  } else {
5310
5671
  s1 = peg$FAILED;
5311
5672
  if (peg$silentFails === 0) {
5312
- peg$fail(peg$e60);
5673
+ peg$fail(peg$e64);
5313
5674
  }
5314
5675
  }
5315
5676
  if (s1 !== peg$FAILED) {
5316
5677
  peg$savedPos = s0;
5317
- s1 = peg$f86();
5678
+ s1 = peg$f93();
5318
5679
  }
5319
5680
  s0 = s1;
5320
5681
  }
@@ -5329,12 +5690,12 @@ function peg$parse(input, options) {
5329
5690
  peg$silentFails++;
5330
5691
  s0 = peg$currPos;
5331
5692
  if (input.charCodeAt(peg$currPos) === 45) {
5332
- s1 = peg$c61;
5693
+ s1 = peg$c63;
5333
5694
  peg$currPos++;
5334
5695
  } else {
5335
5696
  s1 = peg$FAILED;
5336
5697
  if (peg$silentFails === 0) {
5337
- peg$fail(peg$e66);
5698
+ peg$fail(peg$e70);
5338
5699
  }
5339
5700
  }
5340
5701
  if (s1 === peg$FAILED) {
@@ -5342,24 +5703,24 @@ function peg$parse(input, options) {
5342
5703
  }
5343
5704
  s2 = [];
5344
5705
  s3 = input.charAt(peg$currPos);
5345
- if (peg$r2.test(s3)) {
5706
+ if (peg$r0.test(s3)) {
5346
5707
  peg$currPos++;
5347
5708
  } else {
5348
5709
  s3 = peg$FAILED;
5349
5710
  if (peg$silentFails === 0) {
5350
- peg$fail(peg$e67);
5711
+ peg$fail(peg$e55);
5351
5712
  }
5352
5713
  }
5353
5714
  if (s3 !== peg$FAILED) {
5354
5715
  while (s3 !== peg$FAILED) {
5355
5716
  s2.push(s3);
5356
5717
  s3 = input.charAt(peg$currPos);
5357
- if (peg$r2.test(s3)) {
5718
+ if (peg$r0.test(s3)) {
5358
5719
  peg$currPos++;
5359
5720
  } else {
5360
5721
  s3 = peg$FAILED;
5361
5722
  if (peg$silentFails === 0) {
5362
- peg$fail(peg$e67);
5723
+ peg$fail(peg$e55);
5363
5724
  }
5364
5725
  }
5365
5726
  }
@@ -5369,35 +5730,35 @@ function peg$parse(input, options) {
5369
5730
  if (s2 !== peg$FAILED) {
5370
5731
  s3 = peg$currPos;
5371
5732
  if (input.charCodeAt(peg$currPos) === 46) {
5372
- s4 = peg$c62;
5733
+ s4 = peg$c64;
5373
5734
  peg$currPos++;
5374
5735
  } else {
5375
5736
  s4 = peg$FAILED;
5376
5737
  if (peg$silentFails === 0) {
5377
- peg$fail(peg$e68);
5738
+ peg$fail(peg$e71);
5378
5739
  }
5379
5740
  }
5380
5741
  if (s4 !== peg$FAILED) {
5381
5742
  s5 = [];
5382
5743
  s6 = input.charAt(peg$currPos);
5383
- if (peg$r2.test(s6)) {
5744
+ if (peg$r0.test(s6)) {
5384
5745
  peg$currPos++;
5385
5746
  } else {
5386
5747
  s6 = peg$FAILED;
5387
5748
  if (peg$silentFails === 0) {
5388
- peg$fail(peg$e67);
5749
+ peg$fail(peg$e55);
5389
5750
  }
5390
5751
  }
5391
5752
  if (s6 !== peg$FAILED) {
5392
5753
  while (s6 !== peg$FAILED) {
5393
5754
  s5.push(s6);
5394
5755
  s6 = input.charAt(peg$currPos);
5395
- if (peg$r2.test(s6)) {
5756
+ if (peg$r0.test(s6)) {
5396
5757
  peg$currPos++;
5397
5758
  } else {
5398
5759
  s6 = peg$FAILED;
5399
5760
  if (peg$silentFails === 0) {
5400
- peg$fail(peg$e67);
5761
+ peg$fail(peg$e55);
5401
5762
  }
5402
5763
  }
5403
5764
  }
@@ -5419,7 +5780,7 @@ function peg$parse(input, options) {
5419
5780
  s3 = null;
5420
5781
  }
5421
5782
  peg$savedPos = s0;
5422
- s0 = peg$f87(s1, s2, s3);
5783
+ s0 = peg$f94(s1, s2, s3);
5423
5784
  } else {
5424
5785
  peg$currPos = s0;
5425
5786
  s0 = peg$FAILED;
@@ -5428,7 +5789,7 @@ function peg$parse(input, options) {
5428
5789
  if (s0 === peg$FAILED) {
5429
5790
  s1 = peg$FAILED;
5430
5791
  if (peg$silentFails === 0) {
5431
- peg$fail(peg$e65);
5792
+ peg$fail(peg$e69);
5432
5793
  }
5433
5794
  }
5434
5795
  return s0;
@@ -5438,12 +5799,12 @@ function peg$parse(input, options) {
5438
5799
  peg$silentFails++;
5439
5800
  s0 = peg$currPos;
5440
5801
  if (input.charCodeAt(peg$currPos) === 45) {
5441
- s1 = peg$c61;
5802
+ s1 = peg$c63;
5442
5803
  peg$currPos++;
5443
5804
  } else {
5444
5805
  s1 = peg$FAILED;
5445
5806
  if (peg$silentFails === 0) {
5446
- peg$fail(peg$e66);
5807
+ peg$fail(peg$e70);
5447
5808
  }
5448
5809
  }
5449
5810
  if (s1 === peg$FAILED) {
@@ -5451,24 +5812,24 @@ function peg$parse(input, options) {
5451
5812
  }
5452
5813
  s2 = [];
5453
5814
  s3 = input.charAt(peg$currPos);
5454
- if (peg$r2.test(s3)) {
5815
+ if (peg$r0.test(s3)) {
5455
5816
  peg$currPos++;
5456
5817
  } else {
5457
5818
  s3 = peg$FAILED;
5458
5819
  if (peg$silentFails === 0) {
5459
- peg$fail(peg$e67);
5820
+ peg$fail(peg$e55);
5460
5821
  }
5461
5822
  }
5462
5823
  if (s3 !== peg$FAILED) {
5463
5824
  while (s3 !== peg$FAILED) {
5464
5825
  s2.push(s3);
5465
5826
  s3 = input.charAt(peg$currPos);
5466
- if (peg$r2.test(s3)) {
5827
+ if (peg$r0.test(s3)) {
5467
5828
  peg$currPos++;
5468
5829
  } else {
5469
5830
  s3 = peg$FAILED;
5470
5831
  if (peg$silentFails === 0) {
5471
- peg$fail(peg$e67);
5832
+ peg$fail(peg$e55);
5472
5833
  }
5473
5834
  }
5474
5835
  }
@@ -5478,35 +5839,35 @@ function peg$parse(input, options) {
5478
5839
  if (s2 !== peg$FAILED) {
5479
5840
  s3 = peg$currPos;
5480
5841
  if (input.charCodeAt(peg$currPos) === 46) {
5481
- s4 = peg$c62;
5842
+ s4 = peg$c64;
5482
5843
  peg$currPos++;
5483
5844
  } else {
5484
5845
  s4 = peg$FAILED;
5485
5846
  if (peg$silentFails === 0) {
5486
- peg$fail(peg$e68);
5847
+ peg$fail(peg$e71);
5487
5848
  }
5488
5849
  }
5489
5850
  if (s4 !== peg$FAILED) {
5490
5851
  s5 = [];
5491
5852
  s6 = input.charAt(peg$currPos);
5492
- if (peg$r2.test(s6)) {
5853
+ if (peg$r0.test(s6)) {
5493
5854
  peg$currPos++;
5494
5855
  } else {
5495
5856
  s6 = peg$FAILED;
5496
5857
  if (peg$silentFails === 0) {
5497
- peg$fail(peg$e67);
5858
+ peg$fail(peg$e55);
5498
5859
  }
5499
5860
  }
5500
5861
  if (s6 !== peg$FAILED) {
5501
5862
  while (s6 !== peg$FAILED) {
5502
5863
  s5.push(s6);
5503
5864
  s6 = input.charAt(peg$currPos);
5504
- if (peg$r2.test(s6)) {
5865
+ if (peg$r0.test(s6)) {
5505
5866
  peg$currPos++;
5506
5867
  } else {
5507
5868
  s6 = peg$FAILED;
5508
5869
  if (peg$silentFails === 0) {
5509
- peg$fail(peg$e67);
5870
+ peg$fail(peg$e55);
5510
5871
  }
5511
5872
  }
5512
5873
  }
@@ -5527,63 +5888,63 @@ function peg$parse(input, options) {
5527
5888
  if (s3 === peg$FAILED) {
5528
5889
  s3 = null;
5529
5890
  }
5530
- if (input.substr(peg$currPos, 2) === peg$c63) {
5531
- s4 = peg$c63;
5891
+ if (input.substr(peg$currPos, 2) === peg$c65) {
5892
+ s4 = peg$c65;
5532
5893
  peg$currPos += 2;
5533
5894
  } else {
5534
5895
  s4 = peg$FAILED;
5535
5896
  if (peg$silentFails === 0) {
5536
- peg$fail(peg$e70);
5897
+ peg$fail(peg$e73);
5537
5898
  }
5538
5899
  }
5539
5900
  if (s4 === peg$FAILED) {
5540
5901
  if (input.charCodeAt(peg$currPos) === 37) {
5541
- s4 = peg$c64;
5902
+ s4 = peg$c66;
5542
5903
  peg$currPos++;
5543
5904
  } else {
5544
5905
  s4 = peg$FAILED;
5545
5906
  if (peg$silentFails === 0) {
5546
- peg$fail(peg$e71);
5907
+ peg$fail(peg$e74);
5547
5908
  }
5548
5909
  }
5549
5910
  if (s4 === peg$FAILED) {
5550
- if (input.substr(peg$currPos, 2) === peg$c65) {
5551
- s4 = peg$c65;
5911
+ if (input.substr(peg$currPos, 2) === peg$c67) {
5912
+ s4 = peg$c67;
5552
5913
  peg$currPos += 2;
5553
5914
  } else {
5554
5915
  s4 = peg$FAILED;
5555
5916
  if (peg$silentFails === 0) {
5556
- peg$fail(peg$e72);
5917
+ peg$fail(peg$e75);
5557
5918
  }
5558
5919
  }
5559
5920
  if (s4 === peg$FAILED) {
5560
- if (input.substr(peg$currPos, 3) === peg$c66) {
5561
- s4 = peg$c66;
5921
+ if (input.substr(peg$currPos, 3) === peg$c68) {
5922
+ s4 = peg$c68;
5562
5923
  peg$currPos += 3;
5563
5924
  } else {
5564
5925
  s4 = peg$FAILED;
5565
5926
  if (peg$silentFails === 0) {
5566
- peg$fail(peg$e73);
5927
+ peg$fail(peg$e76);
5567
5928
  }
5568
5929
  }
5569
5930
  if (s4 === peg$FAILED) {
5570
- if (input.substr(peg$currPos, 2) === peg$c67) {
5571
- s4 = peg$c67;
5931
+ if (input.substr(peg$currPos, 2) === peg$c69) {
5932
+ s4 = peg$c69;
5572
5933
  peg$currPos += 2;
5573
5934
  } else {
5574
5935
  s4 = peg$FAILED;
5575
5936
  if (peg$silentFails === 0) {
5576
- peg$fail(peg$e74);
5937
+ peg$fail(peg$e77);
5577
5938
  }
5578
5939
  }
5579
5940
  if (s4 === peg$FAILED) {
5580
- if (input.substr(peg$currPos, 2) === peg$c68) {
5581
- s4 = peg$c68;
5941
+ if (input.substr(peg$currPos, 2) === peg$c70) {
5942
+ s4 = peg$c70;
5582
5943
  peg$currPos += 2;
5583
5944
  } else {
5584
5945
  s4 = peg$FAILED;
5585
5946
  if (peg$silentFails === 0) {
5586
- peg$fail(peg$e75);
5947
+ peg$fail(peg$e78);
5587
5948
  }
5588
5949
  }
5589
5950
  }
@@ -5593,7 +5954,7 @@ function peg$parse(input, options) {
5593
5954
  }
5594
5955
  if (s4 !== peg$FAILED) {
5595
5956
  peg$savedPos = s0;
5596
- s0 = peg$f88(s1, s2, s3, s4);
5957
+ s0 = peg$f95(s1, s2, s3, s4);
5597
5958
  } else {
5598
5959
  peg$currPos = s0;
5599
5960
  s0 = peg$FAILED;
@@ -5606,7 +5967,7 @@ function peg$parse(input, options) {
5606
5967
  if (s0 === peg$FAILED) {
5607
5968
  s1 = peg$FAILED;
5608
5969
  if (peg$silentFails === 0) {
5609
- peg$fail(peg$e69);
5970
+ peg$fail(peg$e72);
5610
5971
  }
5611
5972
  }
5612
5973
  return s0;
@@ -5615,34 +5976,34 @@ function peg$parse(input, options) {
5615
5976
  let s0, s1;
5616
5977
  peg$silentFails++;
5617
5978
  s0 = peg$currPos;
5618
- if (input.substr(peg$currPos, 4) === peg$c69) {
5619
- s1 = peg$c69;
5979
+ if (input.substr(peg$currPos, 4) === peg$c71) {
5980
+ s1 = peg$c71;
5620
5981
  peg$currPos += 4;
5621
5982
  } else {
5622
5983
  s1 = peg$FAILED;
5623
5984
  if (peg$silentFails === 0) {
5624
- peg$fail(peg$e77);
5985
+ peg$fail(peg$e80);
5625
5986
  }
5626
5987
  }
5627
5988
  if (s1 !== peg$FAILED) {
5628
5989
  peg$savedPos = s0;
5629
- s1 = peg$f89();
5990
+ s1 = peg$f96();
5630
5991
  }
5631
5992
  s0 = s1;
5632
5993
  if (s0 === peg$FAILED) {
5633
5994
  s0 = peg$currPos;
5634
- if (input.substr(peg$currPos, 5) === peg$c70) {
5635
- s1 = peg$c70;
5995
+ if (input.substr(peg$currPos, 5) === peg$c72) {
5996
+ s1 = peg$c72;
5636
5997
  peg$currPos += 5;
5637
5998
  } else {
5638
5999
  s1 = peg$FAILED;
5639
6000
  if (peg$silentFails === 0) {
5640
- peg$fail(peg$e78);
6001
+ peg$fail(peg$e81);
5641
6002
  }
5642
6003
  }
5643
6004
  if (s1 !== peg$FAILED) {
5644
6005
  peg$savedPos = s0;
5645
- s1 = peg$f90();
6006
+ s1 = peg$f97();
5646
6007
  }
5647
6008
  s0 = s1;
5648
6009
  }
@@ -5650,7 +6011,7 @@ function peg$parse(input, options) {
5650
6011
  if (s0 === peg$FAILED) {
5651
6012
  s1 = peg$FAILED;
5652
6013
  if (peg$silentFails === 0) {
5653
- peg$fail(peg$e76);
6014
+ peg$fail(peg$e79);
5654
6015
  }
5655
6016
  }
5656
6017
  return s0;
@@ -5665,34 +6026,34 @@ function peg$parse(input, options) {
5665
6026
  } else {
5666
6027
  s1 = peg$FAILED;
5667
6028
  if (peg$silentFails === 0) {
5668
- peg$fail(peg$e80);
6029
+ peg$fail(peg$e83);
5669
6030
  }
5670
6031
  }
5671
6032
  if (s1 !== peg$FAILED) {
5672
6033
  s2 = [];
5673
6034
  s3 = input.charAt(peg$currPos);
5674
- if (peg$r1.test(s3)) {
6035
+ if (peg$r2.test(s3)) {
5675
6036
  peg$currPos++;
5676
6037
  } else {
5677
6038
  s3 = peg$FAILED;
5678
6039
  if (peg$silentFails === 0) {
5679
- peg$fail(peg$e57);
6040
+ peg$fail(peg$e61);
5680
6041
  }
5681
6042
  }
5682
6043
  while (s3 !== peg$FAILED) {
5683
6044
  s2.push(s3);
5684
6045
  s3 = input.charAt(peg$currPos);
5685
- if (peg$r1.test(s3)) {
6046
+ if (peg$r2.test(s3)) {
5686
6047
  peg$currPos++;
5687
6048
  } else {
5688
6049
  s3 = peg$FAILED;
5689
6050
  if (peg$silentFails === 0) {
5690
- peg$fail(peg$e57);
6051
+ peg$fail(peg$e61);
5691
6052
  }
5692
6053
  }
5693
6054
  }
5694
6055
  peg$savedPos = s0;
5695
- s0 = peg$f91(s1, s2);
6056
+ s0 = peg$f98(s1, s2);
5696
6057
  } else {
5697
6058
  peg$currPos = s0;
5698
6059
  s0 = peg$FAILED;
@@ -5701,7 +6062,7 @@ function peg$parse(input, options) {
5701
6062
  if (s0 === peg$FAILED) {
5702
6063
  s1 = peg$FAILED;
5703
6064
  if (peg$silentFails === 0) {
5704
- peg$fail(peg$e79);
6065
+ peg$fail(peg$e82);
5705
6066
  }
5706
6067
  }
5707
6068
  return s0;
@@ -5736,7 +6097,7 @@ function peg$parse(input, options) {
5736
6097
  }
5737
6098
  if (s5 !== peg$FAILED) {
5738
6099
  peg$savedPos = s0;
5739
- s0 = peg$f92(s3);
6100
+ s0 = peg$f99(s3);
5740
6101
  } else {
5741
6102
  peg$currPos = s0;
5742
6103
  s0 = peg$FAILED;
@@ -5824,7 +6185,7 @@ function peg$parse(input, options) {
5824
6185
  s3 = null;
5825
6186
  }
5826
6187
  peg$savedPos = s0;
5827
- s0 = peg$f93(s1, s2);
6188
+ s0 = peg$f100(s1, s2);
5828
6189
  } else {
5829
6190
  peg$currPos = s0;
5830
6191
  s0 = peg$FAILED;
@@ -5878,7 +6239,7 @@ function peg$parse(input, options) {
5878
6239
  }
5879
6240
  if (s5 !== peg$FAILED) {
5880
6241
  peg$savedPos = s0;
5881
- s0 = peg$f94(s3);
6242
+ s0 = peg$f101(s3);
5882
6243
  } else {
5883
6244
  peg$currPos = s0;
5884
6245
  s0 = peg$FAILED;
@@ -5945,7 +6306,7 @@ function peg$parse(input, options) {
5945
6306
  }
5946
6307
  }
5947
6308
  peg$savedPos = s0;
5948
- s0 = peg$f95(s1, s2);
6309
+ s0 = peg$f102(s1, s2);
5949
6310
  } else {
5950
6311
  peg$currPos = s0;
5951
6312
  s0 = peg$FAILED;
@@ -5959,12 +6320,12 @@ function peg$parse(input, options) {
5959
6320
  if (s1 !== peg$FAILED) {
5960
6321
  s2 = peg$parse_();
5961
6322
  if (input.charCodeAt(peg$currPos) === 61) {
5962
- s3 = peg$c52;
6323
+ s3 = peg$c54;
5963
6324
  peg$currPos++;
5964
6325
  } else {
5965
6326
  s3 = peg$FAILED;
5966
6327
  if (peg$silentFails === 0) {
5967
- peg$fail(peg$e52);
6328
+ peg$fail(peg$e56);
5968
6329
  }
5969
6330
  }
5970
6331
  if (s3 !== peg$FAILED) {
@@ -5972,7 +6333,7 @@ function peg$parse(input, options) {
5972
6333
  s5 = peg$parseAttributeValue();
5973
6334
  if (s5 !== peg$FAILED) {
5974
6335
  peg$savedPos = s0;
5975
- s0 = peg$f96(s1, s5);
6336
+ s0 = peg$f103(s1, s5);
5976
6337
  } else {
5977
6338
  peg$currPos = s0;
5978
6339
  s0 = peg$FAILED;
@@ -5990,7 +6351,7 @@ function peg$parse(input, options) {
5990
6351
  s1 = peg$parseIdentifier();
5991
6352
  if (s1 !== peg$FAILED) {
5992
6353
  peg$savedPos = s0;
5993
- s1 = peg$f97(s1);
6354
+ s1 = peg$f104(s1);
5994
6355
  }
5995
6356
  s0 = s1;
5996
6357
  }
@@ -6023,7 +6384,7 @@ function peg$parse(input, options) {
6023
6384
  } else {
6024
6385
  s1 = peg$FAILED;
6025
6386
  if (peg$silentFails === 0) {
6026
- peg$fail(peg$e81);
6387
+ peg$fail(peg$e84);
6027
6388
  }
6028
6389
  }
6029
6390
  if (s1 !== peg$FAILED) {
@@ -6035,7 +6396,7 @@ function peg$parse(input, options) {
6035
6396
  } else {
6036
6397
  s1 = peg$FAILED;
6037
6398
  if (peg$silentFails === 0) {
6038
- peg$fail(peg$e81);
6399
+ peg$fail(peg$e84);
6039
6400
  }
6040
6401
  }
6041
6402
  }
@@ -6055,7 +6416,7 @@ function peg$parse(input, options) {
6055
6416
  if (s0 === peg$FAILED) {
6056
6417
  s1 = peg$FAILED;
6057
6418
  if (peg$silentFails === 0) {
6058
- peg$fail(peg$e82);
6419
+ peg$fail(peg$e85);
6059
6420
  }
6060
6421
  }
6061
6422
  return s0;
@@ -6063,13 +6424,13 @@ function peg$parse(input, options) {
6063
6424
  function peg$parseLineComment() {
6064
6425
  let s0, s1, s2, s3, s4;
6065
6426
  s0 = peg$currPos;
6066
- if (input.substr(peg$currPos, 2) === peg$c53) {
6067
- s1 = peg$c53;
6427
+ if (input.substr(peg$currPos, 2) === peg$c55) {
6428
+ s1 = peg$c55;
6068
6429
  peg$currPos += 2;
6069
6430
  } else {
6070
6431
  s1 = peg$FAILED;
6071
6432
  if (peg$silentFails === 0) {
6072
- peg$fail(peg$e54);
6433
+ peg$fail(peg$e58);
6073
6434
  }
6074
6435
  }
6075
6436
  if (s1 !== peg$FAILED) {
@@ -6080,7 +6441,7 @@ function peg$parse(input, options) {
6080
6441
  } else {
6081
6442
  s3 = peg$FAILED;
6082
6443
  if (peg$silentFails === 0) {
6083
- peg$fail(peg$e83);
6444
+ peg$fail(peg$e86);
6084
6445
  }
6085
6446
  }
6086
6447
  while (s3 !== peg$FAILED) {
@@ -6091,17 +6452,17 @@ function peg$parse(input, options) {
6091
6452
  } else {
6092
6453
  s3 = peg$FAILED;
6093
6454
  if (peg$silentFails === 0) {
6094
- peg$fail(peg$e83);
6455
+ peg$fail(peg$e86);
6095
6456
  }
6096
6457
  }
6097
6458
  }
6098
6459
  if (input.charCodeAt(peg$currPos) === 10) {
6099
- s3 = peg$c71;
6460
+ s3 = peg$c73;
6100
6461
  peg$currPos++;
6101
6462
  } else {
6102
6463
  s3 = peg$FAILED;
6103
6464
  if (peg$silentFails === 0) {
6104
- peg$fail(peg$e84);
6465
+ peg$fail(peg$e87);
6105
6466
  }
6106
6467
  }
6107
6468
  if (s3 === peg$FAILED) {
@@ -6113,7 +6474,7 @@ function peg$parse(input, options) {
6113
6474
  } else {
6114
6475
  s4 = peg$FAILED;
6115
6476
  if (peg$silentFails === 0) {
6116
- peg$fail(peg$e56);
6477
+ peg$fail(peg$e60);
6117
6478
  }
6118
6479
  }
6119
6480
  peg$silentFails--;
@@ -6140,13 +6501,13 @@ function peg$parse(input, options) {
6140
6501
  function peg$parseBlockComment() {
6141
6502
  let s0, s1, s2, s3, s4, s5;
6142
6503
  s0 = peg$currPos;
6143
- if (input.substr(peg$currPos, 2) === peg$c54) {
6144
- s1 = peg$c54;
6504
+ if (input.substr(peg$currPos, 2) === peg$c56) {
6505
+ s1 = peg$c56;
6145
6506
  peg$currPos += 2;
6146
6507
  } else {
6147
6508
  s1 = peg$FAILED;
6148
6509
  if (peg$silentFails === 0) {
6149
- peg$fail(peg$e55);
6510
+ peg$fail(peg$e59);
6150
6511
  }
6151
6512
  }
6152
6513
  if (s1 !== peg$FAILED) {
@@ -6154,13 +6515,13 @@ function peg$parse(input, options) {
6154
6515
  s3 = peg$currPos;
6155
6516
  s4 = peg$currPos;
6156
6517
  peg$silentFails++;
6157
- if (input.substr(peg$currPos, 2) === peg$c72) {
6158
- s5 = peg$c72;
6518
+ if (input.substr(peg$currPos, 2) === peg$c74) {
6519
+ s5 = peg$c74;
6159
6520
  peg$currPos += 2;
6160
6521
  } else {
6161
6522
  s5 = peg$FAILED;
6162
6523
  if (peg$silentFails === 0) {
6163
- peg$fail(peg$e85);
6524
+ peg$fail(peg$e88);
6164
6525
  }
6165
6526
  }
6166
6527
  peg$silentFails--;
@@ -6177,7 +6538,7 @@ function peg$parse(input, options) {
6177
6538
  } else {
6178
6539
  s5 = peg$FAILED;
6179
6540
  if (peg$silentFails === 0) {
6180
- peg$fail(peg$e56);
6541
+ peg$fail(peg$e60);
6181
6542
  }
6182
6543
  }
6183
6544
  if (s5 !== peg$FAILED) {
@@ -6196,13 +6557,13 @@ function peg$parse(input, options) {
6196
6557
  s3 = peg$currPos;
6197
6558
  s4 = peg$currPos;
6198
6559
  peg$silentFails++;
6199
- if (input.substr(peg$currPos, 2) === peg$c72) {
6200
- s5 = peg$c72;
6560
+ if (input.substr(peg$currPos, 2) === peg$c74) {
6561
+ s5 = peg$c74;
6201
6562
  peg$currPos += 2;
6202
6563
  } else {
6203
6564
  s5 = peg$FAILED;
6204
6565
  if (peg$silentFails === 0) {
6205
- peg$fail(peg$e85);
6566
+ peg$fail(peg$e88);
6206
6567
  }
6207
6568
  }
6208
6569
  peg$silentFails--;
@@ -6219,7 +6580,7 @@ function peg$parse(input, options) {
6219
6580
  } else {
6220
6581
  s5 = peg$FAILED;
6221
6582
  if (peg$silentFails === 0) {
6222
- peg$fail(peg$e56);
6583
+ peg$fail(peg$e60);
6223
6584
  }
6224
6585
  }
6225
6586
  if (s5 !== peg$FAILED) {
@@ -6234,13 +6595,13 @@ function peg$parse(input, options) {
6234
6595
  s3 = peg$FAILED;
6235
6596
  }
6236
6597
  }
6237
- if (input.substr(peg$currPos, 2) === peg$c72) {
6238
- s3 = peg$c72;
6598
+ if (input.substr(peg$currPos, 2) === peg$c74) {
6599
+ s3 = peg$c74;
6239
6600
  peg$currPos += 2;
6240
6601
  } else {
6241
6602
  s3 = peg$FAILED;
6242
6603
  if (peg$silentFails === 0) {
6243
- peg$fail(peg$e85);
6604
+ peg$fail(peg$e88);
6244
6605
  }
6245
6606
  }
6246
6607
  if (s3 !== peg$FAILED) {
@@ -7672,6 +8033,106 @@ function generateAccessibilityStyles(prefix) {
7672
8033
  }`;
7673
8034
  }
7674
8035
 
8036
+ // src/renderer/styles/annotation.ts
8037
+ function generateAnnotationStyles(_theme, prefix) {
8038
+ return `/* Annotation Components */
8039
+
8040
+ /* Marker - Number marker for referencing */
8041
+ .${prefix}-marker {
8042
+ display: inline-flex;
8043
+ align-items: center;
8044
+ justify-content: center;
8045
+ width: 20px;
8046
+ height: 20px;
8047
+ border-radius: 50%;
8048
+ background: #3b82f6;
8049
+ border: 2px solid #2563eb;
8050
+ color: white;
8051
+ font-size: 11px;
8052
+ font-weight: 600;
8053
+ line-height: 1;
8054
+ z-index: 10;
8055
+ }
8056
+
8057
+ /* Annotations Panel - Documentation container */
8058
+ .${prefix}-annotations {
8059
+ background: #fafafa;
8060
+ border: 2px dashed #d1d5db;
8061
+ border-radius: 8px;
8062
+ padding: 16px;
8063
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
8064
+ }
8065
+
8066
+ .${prefix}-annotations-header {
8067
+ display: flex;
8068
+ align-items: center;
8069
+ gap: 8px;
8070
+ font-weight: 600;
8071
+ font-size: 14px;
8072
+ color: #6b7280;
8073
+ margin-bottom: 16px;
8074
+ padding-bottom: 8px;
8075
+ border-bottom: 1px solid #e5e7eb;
8076
+ }
8077
+
8078
+ .${prefix}-annotations-icon {
8079
+ font-size: 16px;
8080
+ }
8081
+
8082
+ .${prefix}-annotations-content {
8083
+ display: flex;
8084
+ flex-direction: column;
8085
+ gap: 12px;
8086
+ }
8087
+
8088
+ /* Annotation Item - Individual entry */
8089
+ .${prefix}-annotation-item {
8090
+ display: flex;
8091
+ flex-direction: column;
8092
+ gap: 4px;
8093
+ }
8094
+
8095
+ .${prefix}-annotation-item-header {
8096
+ display: flex;
8097
+ align-items: center;
8098
+ gap: 8px;
8099
+ }
8100
+
8101
+ .${prefix}-annotation-marker {
8102
+ display: inline-flex;
8103
+ align-items: center;
8104
+ justify-content: center;
8105
+ width: 18px;
8106
+ height: 18px;
8107
+ border-radius: 50%;
8108
+ background: #3b82f6;
8109
+ color: white;
8110
+ font-size: 10px;
8111
+ font-weight: 600;
8112
+ flex-shrink: 0;
8113
+ }
8114
+
8115
+ .${prefix}-annotation-item-title {
8116
+ font-weight: 500;
8117
+ font-size: 13px;
8118
+ color: #374151;
8119
+ }
8120
+
8121
+ .${prefix}-annotation-item-content {
8122
+ padding-left: 26px;
8123
+ font-size: 12px;
8124
+ color: #6b7280;
8125
+ line-height: 1.5;
8126
+ }
8127
+
8128
+ .${prefix}-annotation-item-content p,
8129
+ .${prefix}-annotation-item-content .${prefix}-text {
8130
+ margin: 0;
8131
+ font-size: 12px;
8132
+ color: #6b7280;
8133
+ }`;
8134
+ }
8135
+
7675
8136
  // src/renderer/styles-components.ts
7676
8137
  function generateComponentStyles(_theme, prefix = "wf") {
7677
8138
  const parts = [
@@ -7685,7 +8146,8 @@ function generateComponentStyles(_theme, prefix = "wf") {
7685
8146
  generateOverlayStyles(_theme, prefix),
7686
8147
  generateNavigationStyles(_theme, prefix),
7687
8148
  generateSemanticMarkerStyles(_theme, prefix),
7688
- generateAccessibilityStyles(prefix)
8149
+ generateAccessibilityStyles(prefix),
8150
+ generateAnnotationStyles(_theme, prefix)
7689
8151
  ];
7690
8152
  return parts.join("\n\n");
7691
8153
  }
@@ -55771,6 +56233,117 @@ function renderDivider(node, ctx) {
55771
56233
  return `<hr class="${ctx.prefix}-divider"${styleAttr} />`;
55772
56234
  }
55773
56235
 
56236
+ // src/renderer/html/renderers/annotation.ts
56237
+ var MARKER_COLORS = {
56238
+ blue: { bg: "#3b82f6", border: "#2563eb" },
56239
+ red: { bg: "#ef4444", border: "#dc2626" },
56240
+ green: { bg: "#22c55e", border: "#16a34a" },
56241
+ yellow: { bg: "#eab308", border: "#ca8a04" },
56242
+ purple: { bg: "#a855f7", border: "#9333ea" },
56243
+ orange: { bg: "#f97316", border: "#ea580c" }
56244
+ };
56245
+ function getAnchorStyles(anchor) {
56246
+ if (!anchor) return "";
56247
+ const styles = ["position: absolute"];
56248
+ switch (anchor) {
56249
+ case "top-left":
56250
+ styles.push("top: -8px", "left: -8px");
56251
+ break;
56252
+ case "top-center":
56253
+ styles.push("top: -8px", "left: 50%", "transform: translateX(-50%)");
56254
+ break;
56255
+ case "top-right":
56256
+ styles.push("top: -8px", "right: -8px");
56257
+ break;
56258
+ case "center-left":
56259
+ styles.push("top: 50%", "left: -8px", "transform: translateY(-50%)");
56260
+ break;
56261
+ case "center":
56262
+ styles.push("top: 50%", "left: 50%", "transform: translate(-50%, -50%)");
56263
+ break;
56264
+ case "center-right":
56265
+ styles.push("top: 50%", "right: -8px", "transform: translateY(-50%)");
56266
+ break;
56267
+ case "bottom-left":
56268
+ styles.push("bottom: -8px", "left: -8px");
56269
+ break;
56270
+ case "bottom-center":
56271
+ styles.push("bottom: -8px", "left: 50%", "transform: translateX(-50%)");
56272
+ break;
56273
+ case "bottom-right":
56274
+ styles.push("bottom: -8px", "right: -8px");
56275
+ break;
56276
+ }
56277
+ return styles.join("; ");
56278
+ }
56279
+ function renderMarker(node, ctx) {
56280
+ const color = node.color || "blue";
56281
+ const colorConfig = MARKER_COLORS[color] || MARKER_COLORS.blue;
56282
+ const baseStyles = [
56283
+ "display: inline-flex",
56284
+ "align-items: center",
56285
+ "justify-content: center",
56286
+ "width: 20px",
56287
+ "height: 20px",
56288
+ "border-radius: 50%",
56289
+ `background: ${colorConfig.bg}`,
56290
+ `border: 2px solid ${colorConfig.border}`,
56291
+ "color: white",
56292
+ "font-size: 11px",
56293
+ "font-weight: 600",
56294
+ "line-height: 1",
56295
+ "z-index: 10"
56296
+ ];
56297
+ const anchorStyles = getAnchorStyles(node.anchor);
56298
+ const commonStyles = ctx.buildCommonStyles(node);
56299
+ const allStyles = [
56300
+ ...baseStyles,
56301
+ ...anchorStyles ? [anchorStyles] : [],
56302
+ ...commonStyles ? [commonStyles] : []
56303
+ ].join("; ");
56304
+ return `<span class="${ctx.prefix}-marker" style="${allStyles}" aria-label="Marker ${node.number}">${node.number}</span>`;
56305
+ }
56306
+ function renderAnnotations(node, ctx) {
56307
+ const title = node.title || "\uD654\uBA74 \uC124\uBA85";
56308
+ const commonStyles = ctx.buildCommonStyles(node);
56309
+ const styleAttr = commonStyles ? ` style="${commonStyles}"` : "";
56310
+ const items = (node.children || []).map((child) => renderAnnotationItem(child, ctx)).join("\n");
56311
+ return `<aside class="${ctx.prefix}-annotations" data-role="documentation" aria-label="${ctx.escapeHtml(title)}"${styleAttr}>
56312
+ <header class="${ctx.prefix}-annotations-header">
56313
+ <span class="${ctx.prefix}-annotations-icon" aria-hidden="true">&#128203;</span>
56314
+ <span>${ctx.escapeHtml(title)}</span>
56315
+ </header>
56316
+ <div class="${ctx.prefix}-annotations-content">
56317
+ ${items}
56318
+ </div>
56319
+ </aside>`;
56320
+ }
56321
+ function renderAnnotationItem(node, ctx) {
56322
+ const color = MARKER_COLORS.blue;
56323
+ const markerStyle = [
56324
+ "display: inline-flex",
56325
+ "align-items: center",
56326
+ "justify-content: center",
56327
+ "width: 18px",
56328
+ "height: 18px",
56329
+ "border-radius: 50%",
56330
+ `background: ${color.bg}`,
56331
+ "color: white",
56332
+ "font-size: 10px",
56333
+ "font-weight: 600",
56334
+ "flex-shrink: 0"
56335
+ ].join("; ");
56336
+ const children = node.children || [];
56337
+ const content = children.length > 0 ? ctx.renderChildren(children) : "";
56338
+ return `<div class="${ctx.prefix}-annotation-item">
56339
+ <div class="${ctx.prefix}-annotation-item-header">
56340
+ <span class="${ctx.prefix}-annotation-marker" style="${markerStyle}">${node.number}</span>
56341
+ <span class="${ctx.prefix}-annotation-item-title">${ctx.escapeHtml(node.title)}</span>
56342
+ </div>
56343
+ ${content ? `<div class="${ctx.prefix}-annotation-item-content">${content}</div>` : ""}
56344
+ </div>`;
56345
+ }
56346
+
55774
56347
  // src/renderer/html/index.ts
55775
56348
  var SPACING_TOKENS = {
55776
56349
  0: "0px",
@@ -55901,7 +56474,11 @@ var HtmlRenderer = class extends BaseRenderer {
55901
56474
  Tabs: (node) => this.renderTabs(node),
55902
56475
  Breadcrumb: (node) => this.renderBreadcrumb(node),
55903
56476
  // Other
55904
- Divider: (node) => this.renderDivider(node)
56477
+ Divider: (node) => this.renderDivider(node),
56478
+ // Annotation nodes
56479
+ Marker: (node) => this.renderMarker(node),
56480
+ Annotations: (node) => this.renderAnnotations(node),
56481
+ AnnotationItem: (node) => this.renderAnnotationItem(node)
55905
56482
  };
55906
56483
  }
55907
56484
  /**
@@ -56323,6 +56900,18 @@ ${title}${children}
56323
56900
  renderDivider(node) {
56324
56901
  return renderDivider(node, this.getRenderContext());
56325
56902
  }
56903
+ // ===========================================
56904
+ // Annotation Renderers
56905
+ // ===========================================
56906
+ renderMarker(node) {
56907
+ return renderMarker(node, this.getRenderContext());
56908
+ }
56909
+ renderAnnotations(node) {
56910
+ return renderAnnotations(node, this.getRenderContext());
56911
+ }
56912
+ renderAnnotationItem(node) {
56913
+ return renderAnnotationItem(node, this.getRenderContext());
56914
+ }
56326
56915
  };
56327
56916
  function createHtmlRenderer(options) {
56328
56917
  return new HtmlRenderer(options);
@@ -56960,6 +57549,33 @@ var COMPONENT_SPECS = [
56960
57549
  attributes: [...COMMON_ATTRIBUTES, "vertical"],
56961
57550
  hasChildren: false,
56962
57551
  description: "Horizontal separator"
57552
+ },
57553
+ // ============================================
57554
+ // Annotation Components
57555
+ // ============================================
57556
+ {
57557
+ name: "marker",
57558
+ nodeType: "Marker",
57559
+ category: "annotation",
57560
+ attributes: [...COMMON_ATTRIBUTES, "color", "anchor"],
57561
+ hasChildren: false,
57562
+ description: "Number marker for referencing in annotations"
57563
+ },
57564
+ {
57565
+ name: "annotations",
57566
+ nodeType: "Annotations",
57567
+ category: "annotation",
57568
+ attributes: [...COMMON_ATTRIBUTES, "title"],
57569
+ hasChildren: true,
57570
+ description: "Documentation panel for screen specifications"
57571
+ },
57572
+ {
57573
+ name: "item",
57574
+ nodeType: "AnnotationItem",
57575
+ category: "annotation",
57576
+ attributes: [],
57577
+ hasChildren: true,
57578
+ description: "Individual annotation entry with marker number and title"
56963
57579
  }
56964
57580
  ];
56965
57581
  var VALID_COMPONENT_NAMES = new Set(