chordsheetjs 14.2.1 → 14.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.
package/lib/bundle.js CHANGED
@@ -33033,6 +33033,10 @@ var ChordSheetJS = (() => {
33033
33033
  $parcel$export(module.exports, "UltimateGuitarParser", () => $a5a21ced491ea51f$export$2e2bcd8739ae039);
33034
33034
  $parcel$export(module.exports, "templateHelpers", () => $f9c5006b26957916$export$2e2bcd8739ae039);
33035
33035
  $parcel$export(module.exports, "version", () => $ae92e002ce14f11a$export$2e2bcd8739ae039);
33036
+ $parcel$export(module.exports, "IMAGE", () => $d21c5c7a462f3c34$export$74f94c628b84d921);
33037
+ $parcel$export(module.exports, "defaultPangoRenderer", () => $1883202621c13add$export$6be9e661c5b42166);
33038
+ $parcel$export(module.exports, "pangoToHtml", () => $1883202621c13add$export$599bd3ab2aa4735e);
33039
+ $parcel$export(module.exports, "stripPangoMarkup", () => $1883202621c13add$export$3dd9b04564de283e);
33036
33040
  $parcel$export(module.exports, "BaseMeasurer", () => $0048d0bdc92a2f71$export$2027fef7414ae7df);
33037
33041
  $parcel$export(module.exports, "JsPdfMeasurer", () => $084c3084a14f9d9d$export$341872369d2a416a);
33038
33042
  $parcel$export(module.exports, "DomMeasurer", () => $35ce8f94943604d8$export$74d213ae39da8aef);
@@ -33043,6 +33047,7 @@ var ChordSheetJS = (() => {
33043
33047
  $parcel$export(module.exports, "INDETERMINATE", () => $dce48cb70c4120bb$export$c5a6fe907430212e);
33044
33048
  $parcel$export(module.exports, "LILYPOND", () => $dce48cb70c4120bb$export$6a5a2eab72b6e3d);
33045
33049
  $parcel$export(module.exports, "NONE", () => $dce48cb70c4120bb$export$c53d0f541b41b88e);
33050
+ $parcel$export(module.exports, "SVG", () => $dce48cb70c4120bb$export$13f4b12aafeba5d6);
33046
33051
  $parcel$export(module.exports, "NUMERIC", () => $dce48cb70c4120bb$export$4d318981b5a83836);
33047
33052
  $parcel$export(module.exports, "SOLFEGE", () => $dce48cb70c4120bb$export$539a6499f4711c57);
33048
33053
  $parcel$export(module.exports, "SYMBOL", () => $dce48cb70c4120bb$export$27c95a7104c1f7aa);
@@ -33343,6 +33348,7 @@ var ChordSheetJS = (() => {
33343
33348
  var $dce48cb70c4120bb$export$609cc0ea1637d6a0 = "part";
33344
33349
  var $dce48cb70c4120bb$export$6a5a2eab72b6e3d = "ly";
33345
33350
  var $dce48cb70c4120bb$export$92249c36c213e508 = "abc";
33351
+ var $dce48cb70c4120bb$export$13f4b12aafeba5d6 = "svg";
33346
33352
  var $dce48cb70c4120bb$export$5a2cf64ea612936a = "textblock";
33347
33353
  var $dce48cb70c4120bb$export$27c95a7104c1f7aa = "symbol";
33348
33354
  var $dce48cb70c4120bb$export$4d318981b5a83836 = "numeric";
@@ -33863,13 +33869,15 @@ var ChordSheetJS = (() => {
33863
33869
  * @param {string | null} lyrics The lyrics
33864
33870
  * @param {string | null} annotation The annotation
33865
33871
  * @param {Chord | null} chordObj Optional pre-parsed Chord object
33872
+ * @param {boolean} isRhythmSymbol Whether this pair represents a rhythm symbol
33866
33873
  */
33867
- constructor(chords = "", lyrics = null, annotation = null, chordObj = null) {
33874
+ constructor(chords = "", lyrics = null, annotation = null, chordObj = null, isRhythmSymbol = false) {
33868
33875
  this._chordObj = null;
33869
33876
  this.chords = chords || "";
33870
33877
  this.lyrics = lyrics || "";
33871
33878
  this.annotation = annotation || "";
33872
33879
  this._chordObj = chordObj;
33880
+ this.isRhythmSymbol = isRhythmSymbol;
33873
33881
  }
33874
33882
  /** Returns the Chord object if available, otherwise parses from string */
33875
33883
  get chord() {
@@ -33893,13 +33901,14 @@ var ChordSheetJS = (() => {
33893
33901
  * @returns {ChordLyricsPair}
33894
33902
  */
33895
33903
  clone() {
33896
- return new _$551a223fc13b5c10$var$ChordLyricsPair(this.chords, this.lyrics, this.annotation, this._chordObj?.clone() || null);
33904
+ const chordObj = this._chordObj?.clone() || null;
33905
+ return new _$551a223fc13b5c10$var$ChordLyricsPair(this.chords, this.lyrics, this.annotation, chordObj, this.isRhythmSymbol);
33897
33906
  }
33898
33907
  toString() {
33899
33908
  return `ChordLyricsPair(chords=${this.chords}, lyrics=${this.lyrics})`;
33900
33909
  }
33901
- set({ chords, lyrics, annotation, chordObj }) {
33902
- return new _$551a223fc13b5c10$var$ChordLyricsPair(chords ?? this.chords, lyrics ?? this.lyrics, annotation ?? this.annotation, chordObj ?? null);
33910
+ set({ chords, lyrics, annotation, chordObj, isRhythmSymbol }) {
33911
+ return new _$551a223fc13b5c10$var$ChordLyricsPair(chords ?? this.chords, lyrics ?? this.lyrics, annotation ?? this.annotation, chordObj ?? null, isRhythmSymbol ?? this.isRhythmSymbol);
33903
33912
  }
33904
33913
  setLyrics(lyrics) {
33905
33914
  return this.set({
@@ -38076,6 +38085,7 @@ ${error.stack}`);
38076
38085
  var $d21c5c7a462f3c34$export$98424633dc8c377f = "composer";
38077
38086
  var $d21c5c7a462f3c34$export$4ab8c75045d12480 = "copyright";
38078
38087
  var $d21c5c7a462f3c34$export$bacc88974c736870 = "duration";
38088
+ var $d21c5c7a462f3c34$export$74f94c628b84d921 = "image";
38079
38089
  var $d21c5c7a462f3c34$export$37c7b13f53af2469 = "end_of_abc";
38080
38090
  var $d21c5c7a462f3c34$export$1c874e9780385ecd = "end_of_bridge";
38081
38091
  var $d21c5c7a462f3c34$export$473c1a4819e5180b = "end_of_chorus";
@@ -38094,6 +38104,8 @@ ${error.stack}`);
38094
38104
  var $d21c5c7a462f3c34$export$b7e6dcd848b88f43 = "start_of_grid";
38095
38105
  var $d21c5c7a462f3c34$export$634ff7795b596e62 = "start_of_ly";
38096
38106
  var $d21c5c7a462f3c34$export$8dd1111100e0e88d = "start_of_tab";
38107
+ var $d21c5c7a462f3c34$export$f00bcf8e7b9de088 = "start_of_svg";
38108
+ var $d21c5c7a462f3c34$export$877835b3edffe4c3 = "end_of_svg";
38097
38109
  var $d21c5c7a462f3c34$export$4252eb8e075f7d7a = "start_of_textblock";
38098
38110
  var $d21c5c7a462f3c34$export$f1e557abc415d751 = "end_of_textblock";
38099
38111
  var $d21c5c7a462f3c34$export$deca399f8cd9b7dc = "start_of_verse";
@@ -38119,6 +38131,7 @@ ${error.stack}`);
38119
38131
  [(0, $d21c5c7a462f3c34$export$4f5168acae064e01)]: (0, $d21c5c7a462f3c34$export$8db6c706fc9142b2),
38120
38132
  [(0, $d21c5c7a462f3c34$export$b7e6dcd848b88f43)]: (0, $dce48cb70c4120bb$export$e2b0b9a5e613f348),
38121
38133
  [(0, $d21c5c7a462f3c34$export$634ff7795b596e62)]: (0, $dce48cb70c4120bb$export$6a5a2eab72b6e3d),
38134
+ [(0, $d21c5c7a462f3c34$export$f00bcf8e7b9de088)]: (0, $dce48cb70c4120bb$export$13f4b12aafeba5d6),
38122
38135
  [(0, $d21c5c7a462f3c34$export$8dd1111100e0e88d)]: (0, $dce48cb70c4120bb$export$f1c9dd0f5207dd5e),
38123
38136
  [(0, $d21c5c7a462f3c34$export$4252eb8e075f7d7a)]: (0, $dce48cb70c4120bb$export$5a2cf64ea612936a),
38124
38137
  [(0, $d21c5c7a462f3c34$export$deca399f8cd9b7dc)]: (0, $dce48cb70c4120bb$export$4b194284baed1659)
@@ -38129,6 +38142,7 @@ ${error.stack}`);
38129
38142
  [(0, $d21c5c7a462f3c34$export$473c1a4819e5180b)]: (0, $d21c5c7a462f3c34$export$8db6c706fc9142b2),
38130
38143
  [(0, $d21c5c7a462f3c34$export$4b28ac1ae75aff60)]: (0, $dce48cb70c4120bb$export$e2b0b9a5e613f348),
38131
38144
  [(0, $d21c5c7a462f3c34$export$e3f6cdbd95b1f8f)]: (0, $dce48cb70c4120bb$export$6a5a2eab72b6e3d),
38145
+ [(0, $d21c5c7a462f3c34$export$877835b3edffe4c3)]: (0, $dce48cb70c4120bb$export$13f4b12aafeba5d6),
38132
38146
  [(0, $d21c5c7a462f3c34$export$66a0ef3ffeab32b7)]: (0, $dce48cb70c4120bb$export$f1c9dd0f5207dd5e),
38133
38147
  [(0, $d21c5c7a462f3c34$export$f1e557abc415d751)]: (0, $dce48cb70c4120bb$export$5a2cf64ea612936a),
38134
38148
  [(0, $d21c5c7a462f3c34$export$640d294ab83f9040)]: (0, $dce48cb70c4120bb$export$4b194284baed1659)
@@ -38218,7 +38232,8 @@ ${error.stack}`);
38218
38232
  var $7251dad5f4a4c35f$var$START_OF_PART_SHORTER = "p";
38219
38233
  var $7251dad5f4a4c35f$var$END_OF_PART_SHORTER = "ep";
38220
38234
  var $7251dad5f4a4c35f$var$RENDERABLE_TAGS = [
38221
- (0, $d21c5c7a462f3c34$export$a29989082612d0d9)
38235
+ (0, $d21c5c7a462f3c34$export$a29989082612d0d9),
38236
+ (0, $d21c5c7a462f3c34$export$74f94c628b84d921)
38222
38237
  ];
38223
38238
  var $7251dad5f4a4c35f$export$57ecf0dc09effb3 = [
38224
38239
  (0, $d21c5c7a462f3c34$export$f1e53f710478ceb4),
@@ -38256,6 +38271,7 @@ ${error.stack}`);
38256
38271
  (0, $d21c5c7a462f3c34$export$4f5168acae064e01),
38257
38272
  (0, $d21c5c7a462f3c34$export$b7e6dcd848b88f43),
38258
38273
  (0, $d21c5c7a462f3c34$export$634ff7795b596e62),
38274
+ (0, $d21c5c7a462f3c34$export$f00bcf8e7b9de088),
38259
38275
  (0, $d21c5c7a462f3c34$export$8dd1111100e0e88d),
38260
38276
  (0, $d21c5c7a462f3c34$export$4252eb8e075f7d7a),
38261
38277
  (0, $d21c5c7a462f3c34$export$deca399f8cd9b7dc),
@@ -38362,6 +38378,12 @@ ${error.stack}`);
38362
38378
  isComment() {
38363
38379
  return this.name === (0, $d21c5c7a462f3c34$export$a29989082612d0d9) || this.name === $7251dad5f4a4c35f$var$COMMENT_SHORT;
38364
38380
  }
38381
+ /**
38382
+ * Checks whether the tag is an image tag ({image}).
38383
+ */
38384
+ isImage() {
38385
+ return this.name === (0, $d21c5c7a462f3c34$export$74f94c628b84d921);
38386
+ }
38365
38387
  set name(name) {
38366
38388
  this._name = $7251dad5f4a4c35f$var$translateTagNameAlias(name);
38367
38389
  this._originalName = name;
@@ -38465,6 +38487,7 @@ ${error.stack}`);
38465
38487
  var $287d3e472e1fbd90$export$7d00225c1398f6c0 = {
38466
38488
  abc: $287d3e472e1fbd90$export$f152539e8297cacc,
38467
38489
  ly: $287d3e472e1fbd90$export$f152539e8297cacc,
38490
+ svg: $287d3e472e1fbd90$export$f152539e8297cacc,
38468
38491
  tab: $287d3e472e1fbd90$export$f152539e8297cacc,
38469
38492
  grid: $287d3e472e1fbd90$export$f152539e8297cacc
38470
38493
  };
@@ -38488,6 +38511,7 @@ ${error.stack}`);
38488
38511
  column: "column",
38489
38512
  comment: "comment",
38490
38513
  emptyLine: "empty-line",
38514
+ image: "image",
38491
38515
  label: "label",
38492
38516
  labelWrapper: "label-wrapper",
38493
38517
  line: "line",
@@ -38495,6 +38519,7 @@ ${error.stack}`);
38495
38519
  literalContents: "contents",
38496
38520
  lyrics: "lyrics",
38497
38521
  paragraph: "paragraph",
38522
+ rhythmSymbol: "rhythm-symbol",
38498
38523
  row: "row",
38499
38524
  subtitle: "subtitle",
38500
38525
  title: "title"
@@ -41139,13 +41164,15 @@ Or set the song key before changing key:
41139
41164
  return serializedTag;
41140
41165
  }
41141
41166
  serializeChordLyricsPair(chordLyricsPair) {
41142
- return {
41167
+ const serialized = {
41143
41168
  type: $8b93ef43471b6ed2$var$CHORD_LYRICS_PAIR,
41144
41169
  chords: chordLyricsPair.chords,
41145
41170
  chord: null,
41146
41171
  lyrics: chordLyricsPair.lyrics,
41147
41172
  annotation: chordLyricsPair.annotation
41148
41173
  };
41174
+ if (chordLyricsPair.isRhythmSymbol) serialized.isRhythmSymbol = true;
41175
+ return serialized;
41149
41176
  }
41150
41177
  serializeTernary(ternary) {
41151
41178
  return {
@@ -41216,8 +41243,8 @@ Or set the song key before changing key:
41216
41243
  });
41217
41244
  }
41218
41245
  parseChordLyricsPair(astComponent) {
41219
- const { chord, chords, lyrics, annotation } = astComponent;
41220
- return new (0, $551a223fc13b5c10$export$2e2bcd8739ae039)(chord ? new (0, $177a605b8569b31c$export$2e2bcd8739ae039)(chord).toString() : chords, lyrics, annotation);
41246
+ const { chord, chords, lyrics, annotation, isRhythmSymbol } = astComponent;
41247
+ return new (0, $551a223fc13b5c10$export$2e2bcd8739ae039)(chord ? new (0, $177a605b8569b31c$export$2e2bcd8739ae039)(chord).toString() : chords, lyrics, annotation, null, isRhythmSymbol || false);
41221
41248
  }
41222
41249
  parseTag(astComponent) {
41223
41250
  const { name, value, location: { offset = null, line = null, column = null } = {}, chordDefinition, attributes, selector, isNegated } = astComponent;
@@ -41931,43 +41958,47 @@ Or set the song key before changing key:
41931
41958
  const peg$c143 = peg$literalExpectation("start_of_ly", false);
41932
41959
  const peg$c144 = "end_of_ly";
41933
41960
  const peg$c145 = peg$literalExpectation("end_of_ly", false);
41934
- const peg$c146 = "start_of_tab";
41935
- const peg$c147 = peg$literalExpectation("start_of_tab", false);
41936
- const peg$c148 = "sot";
41937
- const peg$c149 = peg$literalExpectation("sot", false);
41938
- const peg$c150 = "end_of_tab";
41939
- const peg$c151 = peg$literalExpectation("end_of_tab", false);
41940
- const peg$c152 = "eot";
41941
- const peg$c153 = peg$literalExpectation("eot", false);
41942
- const peg$c154 = "start_of_textblock";
41943
- const peg$c155 = peg$literalExpectation("start_of_textblock", false);
41944
- const peg$c156 = "end_of_textblock";
41945
- const peg$c157 = peg$literalExpectation("end_of_textblock", false);
41946
- const peg$c158 = peg$anyExpectation();
41947
- const peg$c159 = peg$otherExpectation("whitespace");
41948
- const peg$c160 = peg$otherExpectation("optional whitespace");
41949
- const peg$c161 = /^[ \t\n\r]/;
41950
- const peg$c162 = peg$classExpectation([
41961
+ const peg$c146 = "start_of_svg";
41962
+ const peg$c147 = peg$literalExpectation("start_of_svg", false);
41963
+ const peg$c148 = "end_of_svg";
41964
+ const peg$c149 = peg$literalExpectation("end_of_svg", false);
41965
+ const peg$c150 = "start_of_tab";
41966
+ const peg$c151 = peg$literalExpectation("start_of_tab", false);
41967
+ const peg$c152 = "sot";
41968
+ const peg$c153 = peg$literalExpectation("sot", false);
41969
+ const peg$c154 = "end_of_tab";
41970
+ const peg$c155 = peg$literalExpectation("end_of_tab", false);
41971
+ const peg$c156 = "eot";
41972
+ const peg$c157 = peg$literalExpectation("eot", false);
41973
+ const peg$c158 = "start_of_textblock";
41974
+ const peg$c159 = peg$literalExpectation("start_of_textblock", false);
41975
+ const peg$c160 = "end_of_textblock";
41976
+ const peg$c161 = peg$literalExpectation("end_of_textblock", false);
41977
+ const peg$c162 = peg$anyExpectation();
41978
+ const peg$c163 = peg$otherExpectation("whitespace");
41979
+ const peg$c164 = peg$otherExpectation("optional whitespace");
41980
+ const peg$c165 = /^[ \t\n\r]/;
41981
+ const peg$c166 = peg$classExpectation([
41951
41982
  " ",
41952
41983
  " ",
41953
41984
  "\n",
41954
41985
  "\r"
41955
41986
  ], false, false);
41956
- const peg$c163 = peg$otherExpectation("space");
41957
- const peg$c164 = /^[ \t]/;
41958
- const peg$c165 = peg$classExpectation([
41987
+ const peg$c167 = peg$otherExpectation("space");
41988
+ const peg$c168 = /^[ \t]/;
41989
+ const peg$c169 = peg$classExpectation([
41959
41990
  " ",
41960
41991
  " "
41961
41992
  ], false, false);
41962
- const peg$c166 = /^[\n\r]/;
41963
- const peg$c167 = peg$classExpectation([
41993
+ const peg$c170 = /^[\n\r]/;
41994
+ const peg$c171 = peg$classExpectation([
41964
41995
  "\n",
41965
41996
  "\r"
41966
41997
  ], false, false);
41967
- const peg$c168 = "\n";
41968
- const peg$c169 = peg$literalExpectation("\n", false);
41969
- const peg$c170 = "\r";
41970
- const peg$c171 = peg$literalExpectation("\r", false);
41998
+ const peg$c172 = "\n";
41999
+ const peg$c173 = peg$literalExpectation("\n", false);
42000
+ const peg$c174 = "\r";
42001
+ const peg$c175 = peg$literalExpectation("\r", false);
41971
42002
  let peg$currPos = 0;
41972
42003
  let peg$savedPos = 0;
41973
42004
  const peg$posDetailsCache = [
@@ -44156,8 +44187,11 @@ Or set the song key before changing key:
44156
44187
  if (s0 === peg$FAILED) {
44157
44188
  s0 = peg$parseLySection();
44158
44189
  if (s0 === peg$FAILED) {
44159
- s0 = peg$parseTabSection();
44160
- if (s0 === peg$FAILED) s0 = peg$parseTextblockSection();
44190
+ s0 = peg$parseSvgSection();
44191
+ if (s0 === peg$FAILED) {
44192
+ s0 = peg$parseTabSection();
44193
+ if (s0 === peg$FAILED) s0 = peg$parseTextblockSection();
44194
+ }
44161
44195
  }
44162
44196
  }
44163
44197
  }
@@ -44847,6 +44881,228 @@ Or set the song key before changing key:
44847
44881
  }
44848
44882
  return s0;
44849
44883
  }
44884
+ function peg$parseSvgSection() {
44885
+ let s0, s1, s22, s3, s4, s5, s6, s7;
44886
+ s0 = peg$currPos;
44887
+ s1 = peg$parseSvgStartTag();
44888
+ if (s1 !== peg$FAILED) {
44889
+ s22 = peg$parseNewLine();
44890
+ if (s22 !== peg$FAILED) {
44891
+ s3 = peg$currPos;
44892
+ s4 = [];
44893
+ s5 = peg$currPos;
44894
+ s6 = peg$currPos;
44895
+ peg$silentFails++;
44896
+ s7 = peg$parseSvgEndTag();
44897
+ peg$silentFails--;
44898
+ if (s7 === peg$FAILED) s6 = void 0;
44899
+ else {
44900
+ peg$currPos = s6;
44901
+ s6 = peg$FAILED;
44902
+ }
44903
+ if (s6 !== peg$FAILED) {
44904
+ s7 = peg$parseSectionCharacter();
44905
+ if (s7 !== peg$FAILED) {
44906
+ s6 = [
44907
+ s6,
44908
+ s7
44909
+ ];
44910
+ s5 = s6;
44911
+ } else {
44912
+ peg$currPos = s5;
44913
+ s5 = peg$FAILED;
44914
+ }
44915
+ } else {
44916
+ peg$currPos = s5;
44917
+ s5 = peg$FAILED;
44918
+ }
44919
+ while (s5 !== peg$FAILED) {
44920
+ s4.push(s5);
44921
+ s5 = peg$currPos;
44922
+ s6 = peg$currPos;
44923
+ peg$silentFails++;
44924
+ s7 = peg$parseSvgEndTag();
44925
+ peg$silentFails--;
44926
+ if (s7 === peg$FAILED) s6 = void 0;
44927
+ else {
44928
+ peg$currPos = s6;
44929
+ s6 = peg$FAILED;
44930
+ }
44931
+ if (s6 !== peg$FAILED) {
44932
+ s7 = peg$parseSectionCharacter();
44933
+ if (s7 !== peg$FAILED) {
44934
+ s6 = [
44935
+ s6,
44936
+ s7
44937
+ ];
44938
+ s5 = s6;
44939
+ } else {
44940
+ peg$currPos = s5;
44941
+ s5 = peg$FAILED;
44942
+ }
44943
+ } else {
44944
+ peg$currPos = s5;
44945
+ s5 = peg$FAILED;
44946
+ }
44947
+ }
44948
+ if (s4 !== peg$FAILED) s3 = input.substring(s3, peg$currPos);
44949
+ else s3 = s4;
44950
+ if (s3 !== peg$FAILED) {
44951
+ s4 = peg$parseSvgEndTag();
44952
+ if (s4 !== peg$FAILED) {
44953
+ peg$savedPos = s0;
44954
+ s1 = peg$c128(s1, s3, s4);
44955
+ s0 = s1;
44956
+ } else {
44957
+ peg$currPos = s0;
44958
+ s0 = peg$FAILED;
44959
+ }
44960
+ } else {
44961
+ peg$currPos = s0;
44962
+ s0 = peg$FAILED;
44963
+ }
44964
+ } else {
44965
+ peg$currPos = s0;
44966
+ s0 = peg$FAILED;
44967
+ }
44968
+ } else {
44969
+ peg$currPos = s0;
44970
+ s0 = peg$FAILED;
44971
+ }
44972
+ return s0;
44973
+ }
44974
+ function peg$parseSvgStartTag() {
44975
+ let s0, s1, s22, s3, s4, s5, s6, s7, s8;
44976
+ s0 = peg$currPos;
44977
+ if (input.charCodeAt(peg$currPos) === 123) {
44978
+ s1 = peg$c43;
44979
+ peg$currPos++;
44980
+ } else {
44981
+ s1 = peg$FAILED;
44982
+ if (peg$silentFails === 0) peg$fail(peg$c44);
44983
+ }
44984
+ if (s1 !== peg$FAILED) {
44985
+ s22 = peg$parse_();
44986
+ if (s22 !== peg$FAILED) {
44987
+ if (input.substr(peg$currPos, 12) === peg$c146) {
44988
+ s3 = peg$c146;
44989
+ peg$currPos += 12;
44990
+ } else {
44991
+ s3 = peg$FAILED;
44992
+ if (peg$silentFails === 0) peg$fail(peg$c147);
44993
+ }
44994
+ if (s3 !== peg$FAILED) {
44995
+ s4 = peg$parseTagSelector();
44996
+ if (s4 === peg$FAILED) s4 = null;
44997
+ if (s4 !== peg$FAILED) {
44998
+ s5 = peg$parse_();
44999
+ if (s5 !== peg$FAILED) {
45000
+ s6 = peg$parseTagColonWithValue();
45001
+ if (s6 === peg$FAILED) s6 = null;
45002
+ if (s6 !== peg$FAILED) {
45003
+ s7 = peg$parse_();
45004
+ if (s7 !== peg$FAILED) {
45005
+ if (input.charCodeAt(peg$currPos) === 125) {
45006
+ s8 = peg$c29;
45007
+ peg$currPos++;
45008
+ } else {
45009
+ s8 = peg$FAILED;
45010
+ if (peg$silentFails === 0) peg$fail(peg$c30);
45011
+ }
45012
+ if (s8 !== peg$FAILED) {
45013
+ peg$savedPos = s0;
45014
+ s1 = peg$c65(s3, s4, s6);
45015
+ s0 = s1;
45016
+ } else {
45017
+ peg$currPos = s0;
45018
+ s0 = peg$FAILED;
45019
+ }
45020
+ } else {
45021
+ peg$currPos = s0;
45022
+ s0 = peg$FAILED;
45023
+ }
45024
+ } else {
45025
+ peg$currPos = s0;
45026
+ s0 = peg$FAILED;
45027
+ }
45028
+ } else {
45029
+ peg$currPos = s0;
45030
+ s0 = peg$FAILED;
45031
+ }
45032
+ } else {
45033
+ peg$currPos = s0;
45034
+ s0 = peg$FAILED;
45035
+ }
45036
+ } else {
45037
+ peg$currPos = s0;
45038
+ s0 = peg$FAILED;
45039
+ }
45040
+ } else {
45041
+ peg$currPos = s0;
45042
+ s0 = peg$FAILED;
45043
+ }
45044
+ } else {
45045
+ peg$currPos = s0;
45046
+ s0 = peg$FAILED;
45047
+ }
45048
+ return s0;
45049
+ }
45050
+ function peg$parseSvgEndTag() {
45051
+ let s0, s1, s22, s3, s4, s5;
45052
+ s0 = peg$currPos;
45053
+ if (input.charCodeAt(peg$currPos) === 123) {
45054
+ s1 = peg$c43;
45055
+ peg$currPos++;
45056
+ } else {
45057
+ s1 = peg$FAILED;
45058
+ if (peg$silentFails === 0) peg$fail(peg$c44);
45059
+ }
45060
+ if (s1 !== peg$FAILED) {
45061
+ s22 = peg$parse_();
45062
+ if (s22 !== peg$FAILED) {
45063
+ if (input.substr(peg$currPos, 10) === peg$c148) {
45064
+ s3 = peg$c148;
45065
+ peg$currPos += 10;
45066
+ } else {
45067
+ s3 = peg$FAILED;
45068
+ if (peg$silentFails === 0) peg$fail(peg$c149);
45069
+ }
45070
+ if (s3 !== peg$FAILED) {
45071
+ s4 = peg$parse_();
45072
+ if (s4 !== peg$FAILED) {
45073
+ if (input.charCodeAt(peg$currPos) === 125) {
45074
+ s5 = peg$c29;
45075
+ peg$currPos++;
45076
+ } else {
45077
+ s5 = peg$FAILED;
45078
+ if (peg$silentFails === 0) peg$fail(peg$c30);
45079
+ }
45080
+ if (s5 !== peg$FAILED) {
45081
+ peg$savedPos = s0;
45082
+ s1 = peg$c133(s3);
45083
+ s0 = s1;
45084
+ } else {
45085
+ peg$currPos = s0;
45086
+ s0 = peg$FAILED;
45087
+ }
45088
+ } else {
45089
+ peg$currPos = s0;
45090
+ s0 = peg$FAILED;
45091
+ }
45092
+ } else {
45093
+ peg$currPos = s0;
45094
+ s0 = peg$FAILED;
45095
+ }
45096
+ } else {
45097
+ peg$currPos = s0;
45098
+ s0 = peg$FAILED;
45099
+ }
45100
+ } else {
45101
+ peg$currPos = s0;
45102
+ s0 = peg$FAILED;
45103
+ }
45104
+ return s0;
45105
+ }
44850
45106
  function peg$parseTabSection() {
44851
45107
  let s0, s1, s22, s3, s4, s5, s6, s7;
44852
45108
  s0 = peg$currPos;
@@ -44950,20 +45206,20 @@ Or set the song key before changing key:
44950
45206
  if (s1 !== peg$FAILED) {
44951
45207
  s22 = peg$parse_();
44952
45208
  if (s22 !== peg$FAILED) {
44953
- if (input.substr(peg$currPos, 12) === peg$c146) {
44954
- s3 = peg$c146;
45209
+ if (input.substr(peg$currPos, 12) === peg$c150) {
45210
+ s3 = peg$c150;
44955
45211
  peg$currPos += 12;
44956
45212
  } else {
44957
45213
  s3 = peg$FAILED;
44958
- if (peg$silentFails === 0) peg$fail(peg$c147);
45214
+ if (peg$silentFails === 0) peg$fail(peg$c151);
44959
45215
  }
44960
45216
  if (s3 === peg$FAILED) {
44961
- if (input.substr(peg$currPos, 3) === peg$c148) {
44962
- s3 = peg$c148;
45217
+ if (input.substr(peg$currPos, 3) === peg$c152) {
45218
+ s3 = peg$c152;
44963
45219
  peg$currPos += 3;
44964
45220
  } else {
44965
45221
  s3 = peg$FAILED;
44966
- if (peg$silentFails === 0) peg$fail(peg$c149);
45222
+ if (peg$silentFails === 0) peg$fail(peg$c153);
44967
45223
  }
44968
45224
  }
44969
45225
  if (s3 !== peg$FAILED) {
@@ -45035,20 +45291,20 @@ Or set the song key before changing key:
45035
45291
  if (s1 !== peg$FAILED) {
45036
45292
  s22 = peg$parse_();
45037
45293
  if (s22 !== peg$FAILED) {
45038
- if (input.substr(peg$currPos, 10) === peg$c150) {
45039
- s3 = peg$c150;
45294
+ if (input.substr(peg$currPos, 10) === peg$c154) {
45295
+ s3 = peg$c154;
45040
45296
  peg$currPos += 10;
45041
45297
  } else {
45042
45298
  s3 = peg$FAILED;
45043
- if (peg$silentFails === 0) peg$fail(peg$c151);
45299
+ if (peg$silentFails === 0) peg$fail(peg$c155);
45044
45300
  }
45045
45301
  if (s3 === peg$FAILED) {
45046
- if (input.substr(peg$currPos, 3) === peg$c152) {
45047
- s3 = peg$c152;
45302
+ if (input.substr(peg$currPos, 3) === peg$c156) {
45303
+ s3 = peg$c156;
45048
45304
  peg$currPos += 3;
45049
45305
  } else {
45050
45306
  s3 = peg$FAILED;
45051
- if (peg$silentFails === 0) peg$fail(peg$c153);
45307
+ if (peg$silentFails === 0) peg$fail(peg$c157);
45052
45308
  }
45053
45309
  }
45054
45310
  if (s3 !== peg$FAILED) {
@@ -45190,12 +45446,12 @@ Or set the song key before changing key:
45190
45446
  if (s1 !== peg$FAILED) {
45191
45447
  s22 = peg$parse_();
45192
45448
  if (s22 !== peg$FAILED) {
45193
- if (input.substr(peg$currPos, 18) === peg$c154) {
45194
- s3 = peg$c154;
45449
+ if (input.substr(peg$currPos, 18) === peg$c158) {
45450
+ s3 = peg$c158;
45195
45451
  peg$currPos += 18;
45196
45452
  } else {
45197
45453
  s3 = peg$FAILED;
45198
- if (peg$silentFails === 0) peg$fail(peg$c155);
45454
+ if (peg$silentFails === 0) peg$fail(peg$c159);
45199
45455
  }
45200
45456
  if (s3 !== peg$FAILED) {
45201
45457
  s4 = peg$parseTagSelector();
@@ -45266,12 +45522,12 @@ Or set the song key before changing key:
45266
45522
  if (s1 !== peg$FAILED) {
45267
45523
  s22 = peg$parse_();
45268
45524
  if (s22 !== peg$FAILED) {
45269
- if (input.substr(peg$currPos, 16) === peg$c156) {
45270
- s3 = peg$c156;
45525
+ if (input.substr(peg$currPos, 16) === peg$c160) {
45526
+ s3 = peg$c160;
45271
45527
  peg$currPos += 16;
45272
45528
  } else {
45273
45529
  s3 = peg$FAILED;
45274
- if (peg$silentFails === 0) peg$fail(peg$c157);
45530
+ if (peg$silentFails === 0) peg$fail(peg$c161);
45275
45531
  }
45276
45532
  if (s3 !== peg$FAILED) {
45277
45533
  s4 = peg$parse_();
@@ -45316,7 +45572,7 @@ Or set the song key before changing key:
45316
45572
  peg$currPos++;
45317
45573
  } else {
45318
45574
  s0 = peg$FAILED;
45319
- if (peg$silentFails === 0) peg$fail(peg$c158);
45575
+ if (peg$silentFails === 0) peg$fail(peg$c162);
45320
45576
  }
45321
45577
  return s0;
45322
45578
  }
@@ -45333,7 +45589,7 @@ Or set the song key before changing key:
45333
45589
  peg$silentFails--;
45334
45590
  if (s0 === peg$FAILED) {
45335
45591
  s1 = peg$FAILED;
45336
- if (peg$silentFails === 0) peg$fail(peg$c159);
45592
+ if (peg$silentFails === 0) peg$fail(peg$c163);
45337
45593
  }
45338
45594
  return s0;
45339
45595
  }
@@ -45349,18 +45605,18 @@ Or set the song key before changing key:
45349
45605
  peg$silentFails--;
45350
45606
  if (s0 === peg$FAILED) {
45351
45607
  s1 = peg$FAILED;
45352
- if (peg$silentFails === 0) peg$fail(peg$c160);
45608
+ if (peg$silentFails === 0) peg$fail(peg$c164);
45353
45609
  }
45354
45610
  return s0;
45355
45611
  }
45356
45612
  function peg$parseWhitespaceCharacter() {
45357
45613
  let s0;
45358
- if (peg$c161.test(input.charAt(peg$currPos))) {
45614
+ if (peg$c165.test(input.charAt(peg$currPos))) {
45359
45615
  s0 = input.charAt(peg$currPos);
45360
45616
  peg$currPos++;
45361
45617
  } else {
45362
45618
  s0 = peg$FAILED;
45363
- if (peg$silentFails === 0) peg$fail(peg$c162);
45619
+ if (peg$silentFails === 0) peg$fail(peg$c166);
45364
45620
  }
45365
45621
  return s0;
45366
45622
  }
@@ -45369,21 +45625,21 @@ Or set the song key before changing key:
45369
45625
  peg$silentFails++;
45370
45626
  s0 = peg$currPos;
45371
45627
  s1 = [];
45372
- if (peg$c164.test(input.charAt(peg$currPos))) {
45628
+ if (peg$c168.test(input.charAt(peg$currPos))) {
45373
45629
  s22 = input.charAt(peg$currPos);
45374
45630
  peg$currPos++;
45375
45631
  } else {
45376
45632
  s22 = peg$FAILED;
45377
- if (peg$silentFails === 0) peg$fail(peg$c165);
45633
+ if (peg$silentFails === 0) peg$fail(peg$c169);
45378
45634
  }
45379
45635
  if (s22 !== peg$FAILED) while (s22 !== peg$FAILED) {
45380
45636
  s1.push(s22);
45381
- if (peg$c164.test(input.charAt(peg$currPos))) {
45637
+ if (peg$c168.test(input.charAt(peg$currPos))) {
45382
45638
  s22 = input.charAt(peg$currPos);
45383
45639
  peg$currPos++;
45384
45640
  } else {
45385
45641
  s22 = peg$FAILED;
45386
- if (peg$silentFails === 0) peg$fail(peg$c165);
45642
+ if (peg$silentFails === 0) peg$fail(peg$c169);
45387
45643
  }
45388
45644
  }
45389
45645
  else s1 = peg$FAILED;
@@ -45392,18 +45648,18 @@ Or set the song key before changing key:
45392
45648
  peg$silentFails--;
45393
45649
  if (s0 === peg$FAILED) {
45394
45650
  s1 = peg$FAILED;
45395
- if (peg$silentFails === 0) peg$fail(peg$c163);
45651
+ if (peg$silentFails === 0) peg$fail(peg$c167);
45396
45652
  }
45397
45653
  return s0;
45398
45654
  }
45399
45655
  function peg$parseNewLine() {
45400
45656
  let s0;
45401
- if (peg$c166.test(input.charAt(peg$currPos))) {
45657
+ if (peg$c170.test(input.charAt(peg$currPos))) {
45402
45658
  s0 = input.charAt(peg$currPos);
45403
45659
  peg$currPos++;
45404
45660
  } else {
45405
45661
  s0 = peg$FAILED;
45406
- if (peg$silentFails === 0) peg$fail(peg$c167);
45662
+ if (peg$silentFails === 0) peg$fail(peg$c171);
45407
45663
  }
45408
45664
  if (s0 === peg$FAILED) s0 = peg$parseCarriageReturnLineFeed();
45409
45665
  return s0;
@@ -45433,22 +45689,22 @@ Or set the song key before changing key:
45433
45689
  function peg$parseLineFeed() {
45434
45690
  let s0;
45435
45691
  if (input.charCodeAt(peg$currPos) === 10) {
45436
- s0 = peg$c168;
45692
+ s0 = peg$c172;
45437
45693
  peg$currPos++;
45438
45694
  } else {
45439
45695
  s0 = peg$FAILED;
45440
- if (peg$silentFails === 0) peg$fail(peg$c169);
45696
+ if (peg$silentFails === 0) peg$fail(peg$c173);
45441
45697
  }
45442
45698
  return s0;
45443
45699
  }
45444
45700
  function peg$parseCarriageReturn() {
45445
45701
  let s0;
45446
45702
  if (input.charCodeAt(peg$currPos) === 13) {
45447
- s0 = peg$c170;
45703
+ s0 = peg$c174;
45448
45704
  peg$currPos++;
45449
45705
  } else {
45450
45706
  s0 = peg$FAILED;
45451
- if (peg$silentFails === 0) peg$fail(peg$c171);
45707
+ if (peg$silentFails === 0) peg$fail(peg$c175);
45452
45708
  }
45453
45709
  return s0;
45454
45710
  }
@@ -45616,6 +45872,107 @@ Or set the song key before changing key:
45616
45872
  }
45617
45873
  };
45618
45874
  var $e136d63bbe28a4e0$export$2e2bcd8739ae039 = $e136d63bbe28a4e0$var$ChordSheetParser;
45875
+ var $1883202621c13add$var$KNOWN_TAGS = "b|i|u|s|tt|big|small|sub|sup|span|strut|sym";
45876
+ var $1883202621c13add$var$PANGO_TAG_PATTERN = new RegExp(`<(?:\\/(?:${$1883202621c13add$var$KNOWN_TAGS})>|(?:${$1883202621c13add$var$KNOWN_TAGS})(?:\\s[^>]*)?\\/?>)`, "g");
45877
+ var $1883202621c13add$var$SYM_MAP = {
45878
+ sharp: "\u266F",
45879
+ flat: "\u266D",
45880
+ natural: "\u266E"
45881
+ };
45882
+ var $1883202621c13add$var$SPAN_ATTR_TO_CSS = {
45883
+ color: "color",
45884
+ foreground: "color",
45885
+ background: "background-color",
45886
+ font_family: "font-family",
45887
+ face: "font-family",
45888
+ size: "font-size",
45889
+ weight: "font-weight",
45890
+ style: "font-style"
45891
+ };
45892
+ var $1883202621c13add$var$PASSTHROUGH_TAGS = /* @__PURE__ */ new Set([
45893
+ "b",
45894
+ "i",
45895
+ "u",
45896
+ "s",
45897
+ "tt",
45898
+ "sub",
45899
+ "sup"
45900
+ ]);
45901
+ var $1883202621c13add$var$CONVERTED_TAGS = {
45902
+ big: "font-size: larger",
45903
+ small: "font-size: smaller"
45904
+ };
45905
+ var $1883202621c13add$var$PANGO_HTML_PATTERN = new RegExp(`<(${$1883202621c13add$var$KNOWN_TAGS})(\\s[^>]*)?\\/>|<(${$1883202621c13add$var$KNOWN_TAGS})(\\s[^>]*)?>|<\\/(${$1883202621c13add$var$KNOWN_TAGS})>`, "g");
45906
+ function $1883202621c13add$var$parseAttributes(attrString) {
45907
+ const attrs = {};
45908
+ const attrRegex = /(\w+)\s*=\s*"([^"]*)"/g;
45909
+ let result = attrRegex.exec(attrString);
45910
+ while (result !== null) {
45911
+ const [, key, value] = result;
45912
+ attrs[key] = value;
45913
+ result = attrRegex.exec(attrString);
45914
+ }
45915
+ return attrs;
45916
+ }
45917
+ function $1883202621c13add$var$spanAttrsToCss(attrs) {
45918
+ const properties = Object.entries($1883202621c13add$var$SPAN_ATTR_TO_CSS).filter(([pangoAttr]) => attrs[pangoAttr]).map(([pangoAttr, cssProperty]) => `${cssProperty}: ${attrs[pangoAttr]}`);
45919
+ if (attrs.underline && attrs.underline !== "none") properties.push("text-decoration: underline");
45920
+ if (attrs.strikethrough === "true") properties.push("text-decoration: line-through");
45921
+ return properties;
45922
+ }
45923
+ function $1883202621c13add$var$convertSpanOpen(attrString) {
45924
+ const attrs = $1883202621c13add$var$parseAttributes(attrString);
45925
+ if (attrs.href) return `<a href="${attrs.href}">`;
45926
+ const cssProperties = $1883202621c13add$var$spanAttrsToCss(attrs);
45927
+ if (cssProperties.length > 0) return `<span style="${cssProperties.join("; ")}">`;
45928
+ return "<span>";
45929
+ }
45930
+ function $1883202621c13add$var$handleSelfClosing(tag, attrString) {
45931
+ if (tag === "sym") {
45932
+ const attrs = $1883202621c13add$var$parseAttributes(attrString || "");
45933
+ return $1883202621c13add$var$SYM_MAP[attrs.name] || "";
45934
+ }
45935
+ return "";
45936
+ }
45937
+ function $1883202621c13add$var$handleOpenTag(tag, attrString, stack) {
45938
+ if ($1883202621c13add$var$PASSTHROUGH_TAGS.has(tag)) {
45939
+ stack.push(`</${tag}>`);
45940
+ return `<${tag}>`;
45941
+ }
45942
+ if ($1883202621c13add$var$CONVERTED_TAGS[tag]) {
45943
+ stack.push("</span>");
45944
+ return `<span style="${$1883202621c13add$var$CONVERTED_TAGS[tag]}">`;
45945
+ }
45946
+ if (tag === "span") {
45947
+ const html2 = $1883202621c13add$var$convertSpanOpen(attrString || "");
45948
+ stack.push(html2.startsWith("<a ") ? "</a>" : "</span>");
45949
+ return html2;
45950
+ }
45951
+ return null;
45952
+ }
45953
+ function $1883202621c13add$var$handleCloseTag(tag, stack) {
45954
+ if ($1883202621c13add$var$PASSTHROUGH_TAGS.has(tag)) {
45955
+ stack.pop();
45956
+ return `</${tag}>`;
45957
+ }
45958
+ if (tag === "big" || tag === "small" || tag === "span") return stack.pop() || `</${tag}>`;
45959
+ return null;
45960
+ }
45961
+ function $1883202621c13add$export$3dd9b04564de283e(text2) {
45962
+ return text2.replace($1883202621c13add$var$PANGO_TAG_PATTERN, "");
45963
+ }
45964
+ function $1883202621c13add$export$599bd3ab2aa4735e(text2) {
45965
+ const openTagStack = [];
45966
+ return text2.replace($1883202621c13add$var$PANGO_HTML_PATTERN, (match, scTag, scAttrs, openTag, openAttrs, closeTag) => {
45967
+ if (scTag) return $1883202621c13add$var$handleSelfClosing(scTag, scAttrs);
45968
+ if (openTag) return $1883202621c13add$var$handleOpenTag(openTag, openAttrs, openTagStack) ?? match;
45969
+ if (closeTag) return $1883202621c13add$var$handleCloseTag(closeTag, openTagStack) ?? match;
45970
+ return match;
45971
+ });
45972
+ }
45973
+ var $1883202621c13add$export$6be9e661c5b42166 = {
45974
+ convert: $1883202621c13add$export$599bd3ab2aa4735e
45975
+ };
45619
45976
  var $03e9fcfc02036874$var$MetadataProcessor = class {
45620
45977
  constructor(metadata, config) {
45621
45978
  this.metadata = metadata;
@@ -45738,6 +46095,9 @@ Or set the song key before changing key:
45738
46095
  function $f9c5006b26957916$export$17c9e635b932873b(item) {
45739
46096
  return item instanceof (0, $551a223fc13b5c10$export$2e2bcd8739ae039);
45740
46097
  }
46098
+ function $f9c5006b26957916$export$986cf1257ba88b40(item) {
46099
+ return item instanceof (0, $551a223fc13b5c10$export$2e2bcd8739ae039) && item.isRhythmSymbol;
46100
+ }
45741
46101
  function $f9c5006b26957916$export$3db5961874282581(line) {
45742
46102
  return line.items.some((item) => item.isRenderable());
45743
46103
  }
@@ -45750,6 +46110,15 @@ Or set the song key before changing key:
45750
46110
  function $f9c5006b26957916$export$3ab01370f5e64ac8(item) {
45751
46111
  return item.name === "comment";
45752
46112
  }
46113
+ function $f9c5006b26957916$export$fb85bc5d6d9ef19b(item) {
46114
+ return item.name === "image";
46115
+ }
46116
+ function $f9c5006b26957916$export$ffe18135619e1edf(item) {
46117
+ const src = item.attributes.src || item.value;
46118
+ const width = item.attributes.width ? ` width="${item.attributes.width}"` : "";
46119
+ const height = item.attributes.height ? ` height="${item.attributes.height}"` : "";
46120
+ return `<img src="${src}"${width}${height}>`;
46121
+ }
45753
46122
  function $f9c5006b26957916$export$1acacc9d015c61d9(item) {
45754
46123
  return item instanceof (0, $7251dad5f4a4c35f$export$2e2bcd8739ae039) && item.name === "column_break";
45755
46124
  }
@@ -45808,6 +46177,7 @@ Or set the song key before changing key:
45808
46177
  lineHasContents: $f9c5006b26957916$export$3db5961874282581,
45809
46178
  isTag: $f9c5006b26957916$export$3bf645f08efe3292,
45810
46179
  isComment: $f9c5006b26957916$export$3ab01370f5e64ac8,
46180
+ isImage: $f9c5006b26957916$export$fb85bc5d6d9ef19b,
45811
46181
  isColumnBreak: $f9c5006b26957916$export$1acacc9d015c61d9,
45812
46182
  stripHTML: $f9c5006b26957916$export$6ea1b0eb82ead3f,
45813
46183
  each: $f9c5006b26957916$export$79b2f7037acddd43,
@@ -45819,6 +46189,8 @@ Or set the song key before changing key:
45819
46189
  fontStyleTag: $f9c5006b26957916$export$ca030c9435779e4b,
45820
46190
  renderChord: $2ce1086ce25c9ac0$export$596ec52955da9472,
45821
46191
  hasChordContents: $28a2fcb6fb95a147$export$d332d76d125f0cbe,
46192
+ pangoToHtml: $1883202621c13add$export$599bd3ab2aa4735e,
46193
+ stripPangoMarkup: $1883202621c13add$export$3dd9b04564de283e,
45822
46194
  processMetadata: $f9c5006b26957916$export$5c964b66c4a8abfb
45823
46195
  };
45824
46196
  var $2d92af868d7c705a$var$ChordsOverWordsFormatter = class extends (0, $ed0d9ddbbe7224cd$export$2e2bcd8739ae039) {
@@ -45885,7 +46257,7 @@ Or set the song key before changing key:
45885
46257
  const content = chordLyricsPair.annotation || this.renderChord(chordLyricsPair, line);
45886
46258
  const { lyrics } = chordLyricsPair;
45887
46259
  const contentLength = (content || "").length;
45888
- const lyricsLength = (lyrics || "").length;
46260
+ const lyricsLength = (0, $1883202621c13add$export$3dd9b04564de283e)(lyrics || "").length;
45889
46261
  if (contentLength >= lyricsLength) return contentLength + 1;
45890
46262
  return Math.max(contentLength, lyricsLength);
45891
46263
  }
@@ -45924,7 +46296,7 @@ Or set the song key before changing key:
45924
46296
  return item.evaluate(metadata, this.configuration.metadata.separator);
45925
46297
  }
45926
46298
  formatChordLyricsPair(item, line) {
45927
- return (0, $28a2fcb6fb95a147$export$bc3bea8325045070)(item.lyrics || "", this.chordLyricsPairLength(item, line));
46299
+ return (0, $28a2fcb6fb95a147$export$bc3bea8325045070)((0, $1883202621c13add$export$3dd9b04564de283e)(item.lyrics || ""), this.chordLyricsPairLength(item, line));
45928
46300
  }
45929
46301
  constructor(...args) {
45930
46302
  super(...args), this.song = new (0, $c53141c05fae8382$export$2e2bcd8739ae039)();
@@ -46065,6 +46437,12 @@ Or set the song key before changing key:
46065
46437
  lyrics: null
46066
46438
  };
46067
46439
  case "symbol":
46440
+ return {
46441
+ type: "chordLyricsPair",
46442
+ chords: item.value,
46443
+ lyrics: null,
46444
+ isRhythmSymbol: true
46445
+ };
46068
46446
  case "noChord":
46069
46447
  return {
46070
46448
  type: "chordLyricsPair",
@@ -58347,7 +58725,9 @@ Or set the song key before changing key:
58347
58725
  }
58348
58726
  };
58349
58727
  var $df9247d334a0483e$export$2e2bcd8739ae039 = $df9247d334a0483e$var$ChordsOverWordsParser;
58350
- var $1408adfd7317f0b6$export$2e2bcd8739ae039 = ({ configuration, configuration: { key, cssClasses: c4 }, song, metadata, renderBlankLines = false, song: { title, subtitle }, bodyParagraphs }) => (0, $f9c5006b26957916$export$6ea1b0eb82ead3f)(`
58728
+ var $1408adfd7317f0b6$export$2e2bcd8739ae039 = ({ configuration, configuration: { key, cssClasses: c4 }, song, metadata, renderBlankLines = false, song: { title, subtitle }, bodyParagraphs }) => {
58729
+ const pango = configuration.pangoRenderer || (0, $1883202621c13add$export$6be9e661c5b42166);
58730
+ return (0, $f9c5006b26957916$export$6ea1b0eb82ead3f)(`
58351
58731
  ${(0, $f9c5006b26957916$export$a55877ca9db47377)(title, () => `<h1 class="${c4.title}">${title}</h1>`)}
58352
58732
  ${(0, $f9c5006b26957916$export$a55877ca9db47377)(subtitle, () => `<h2 class="${c4.subtitle}">${subtitle}</h2>`)}
58353
58733
 
@@ -58373,21 +58753,30 @@ Or set the song key before changing key:
58373
58753
  <div class="${c4.column}">
58374
58754
  ${(0, $f9c5006b26957916$export$a55877ca9db47377)(item.annotation).then(() => `
58375
58755
  <div class="${c4.annotation}"${(0, $f9c5006b26957916$export$ca030c9435779e4b)(line.chordFont)}>${item.annotation}</div>
58376
- `).else(() => `
58377
- <div class="${c4.chord}"${(0, $f9c5006b26957916$export$ca030c9435779e4b)(line.chordFont)}>
58756
+ `).else(() => {
58757
+ const cls = (0, $f9c5006b26957916$export$986cf1257ba88b40)(item) ? c4.rhythmSymbol : c4.chord;
58758
+ return `
58759
+ <div class="${cls}"${(0, $f9c5006b26957916$export$ca030c9435779e4b)(line.chordFont)}>
58378
58760
  ${(0, $2ce1086ce25c9ac0$export$596ec52955da9472)(item.chords, line, song, {
58379
- renderKey: key,
58380
- useUnicodeModifier: configuration.useUnicodeModifiers,
58381
- normalizeChords: configuration.normalizeChords,
58382
- decapo: configuration.decapo
58383
- })}
58761
+ renderKey: key,
58762
+ useUnicodeModifier: configuration.useUnicodeModifiers,
58763
+ normalizeChords: configuration.normalizeChords,
58764
+ decapo: configuration.decapo
58765
+ })}
58384
58766
  </div>
58385
- `)}
58386
- <div class="${c4.lyrics}"${(0, $f9c5006b26957916$export$ca030c9435779e4b)(line.textFont)}>${item.lyrics}</div>
58767
+ `;
58768
+ })}
58769
+ <div class="${c4.lyrics}"${(0, $f9c5006b26957916$export$ca030c9435779e4b)(line.textFont)}>
58770
+ ${pango.convert(item.lyrics || "")}
58771
+ </div>
58387
58772
  </div>
58388
58773
  `).elseWhen((0, $f9c5006b26957916$export$3bf645f08efe3292)(item), () => `
58389
58774
  ${(0, $f9c5006b26957916$export$a55877ca9db47377)((0, $f9c5006b26957916$export$3ab01370f5e64ac8)(item), () => `
58390
- <div class="${c4.comment}">${item.value}</div>
58775
+ <div class="${c4.comment}">${pango.convert(item.value || "")}</div>
58776
+ `)}
58777
+
58778
+ ${(0, $f9c5006b26957916$export$a55877ca9db47377)((0, $f9c5006b26957916$export$fb85bc5d6d9ef19b)(item), () => `
58779
+ <div class="${c4.image}">${(0, $f9c5006b26957916$export$ffe18135619e1edf)(item)}</div>
58391
58780
  `)}
58392
58781
 
58393
58782
  ${(0, $f9c5006b26957916$export$a55877ca9db47377)(item.hasRenderableLabel(), () => `
@@ -58410,6 +58799,7 @@ Or set the song key before changing key:
58410
58799
  `)}
58411
58800
  </div>
58412
58801
  `);
58802
+ };
58413
58803
  var $fb7c3e115538fcf2$var$HtmlFormatter = class extends (0, $ed0d9ddbbe7224cd$export$2e2bcd8739ae039) {
58414
58804
  /**
58415
58805
  * Get the default configuration for HTML formatter
@@ -58494,7 +58884,9 @@ Or set the song key before changing key:
58494
58884
  }
58495
58885
  };
58496
58886
  var $d9bea8c73e9a5034$export$2e2bcd8739ae039 = $d9bea8c73e9a5034$var$HtmlDivFormatter;
58497
- var $396f7048979e89c9$export$2e2bcd8739ae039 = ({ configuration, configuration: { key, cssClasses: c4 }, song, metadata, renderBlankLines = false, song: { title, subtitle, bodyLines }, bodyParagraphs }) => (0, $f9c5006b26957916$export$6ea1b0eb82ead3f)(`
58887
+ var $396f7048979e89c9$export$2e2bcd8739ae039 = ({ configuration, configuration: { key, cssClasses: c4 }, song, metadata, renderBlankLines = false, song: { title, subtitle, bodyLines }, bodyParagraphs }) => {
58888
+ const pango = configuration.pangoRenderer || (0, $1883202621c13add$export$6be9e661c5b42166);
58889
+ return (0, $f9c5006b26957916$export$6ea1b0eb82ead3f)(`
58498
58890
  ${(0, $f9c5006b26957916$export$a55877ca9db47377)(title, () => `<h1 class="${c4.title}">${title}</h1>`)}
58499
58891
  ${(0, $f9c5006b26957916$export$a55877ca9db47377)(subtitle, () => `<h2 class="${c4.subtitle}">${subtitle}</h2>`)}
58500
58892
 
@@ -58528,14 +58920,17 @@ Or set the song key before changing key:
58528
58920
  ${(0, $f9c5006b26957916$export$a55877ca9db47377)((0, $f9c5006b26957916$export$17c9e635b932873b)(item), () => `
58529
58921
  ${(0, $f9c5006b26957916$export$a55877ca9db47377)(item.annotation).then(() => `
58530
58922
  <td class="${c4.annotation}"${(0, $f9c5006b26957916$export$ca030c9435779e4b)(line.chordFont)}>${item.annotation}</td>
58531
- `).else(() => `
58532
- <td class="${c4.chord}"${(0, $f9c5006b26957916$export$ca030c9435779e4b)(line.chordFont)}>${(0, $2ce1086ce25c9ac0$export$596ec52955da9472)(item.chords, line, song, {
58533
- renderKey: key,
58534
- useUnicodeModifier: configuration.useUnicodeModifiers,
58535
- normalizeChords: configuration.normalizeChords,
58536
- decapo: configuration.decapo
58537
- })}</td>
58538
- `)}
58923
+ `).else(() => {
58924
+ const cls = (0, $f9c5006b26957916$export$986cf1257ba88b40)(item) ? c4.rhythmSymbol : c4.chord;
58925
+ return `
58926
+ <td class="${cls}"${(0, $f9c5006b26957916$export$ca030c9435779e4b)(line.chordFont)}>${(0, $2ce1086ce25c9ac0$export$596ec52955da9472)(item.chords, line, song, {
58927
+ renderKey: key,
58928
+ useUnicodeModifier: configuration.useUnicodeModifiers,
58929
+ normalizeChords: configuration.normalizeChords,
58930
+ decapo: configuration.decapo
58931
+ })}</td>
58932
+ `;
58933
+ })}
58539
58934
  `)}
58540
58935
  `)}
58541
58936
  </tr>
@@ -58544,10 +58939,18 @@ Or set the song key before changing key:
58544
58939
  <tr>
58545
58940
  ${(0, $f9c5006b26957916$export$79b2f7037acddd43)(line.items, (item) => `
58546
58941
  ${(0, $f9c5006b26957916$export$a55877ca9db47377)((0, $f9c5006b26957916$export$17c9e635b932873b)(item), () => `
58547
- <td class="${c4.lyrics}"${(0, $f9c5006b26957916$export$ca030c9435779e4b)(line.textFont)}>${item.lyrics}</td>
58942
+ <td class="${c4.lyrics}"${(0, $f9c5006b26957916$export$ca030c9435779e4b)(line.textFont)}>
58943
+ ${pango.convert(item.lyrics || "")}
58944
+ </td>
58548
58945
  `).elseWhen((0, $f9c5006b26957916$export$3bf645f08efe3292)(item), () => `
58549
58946
  ${(0, $f9c5006b26957916$export$a55877ca9db47377)((0, $f9c5006b26957916$export$3ab01370f5e64ac8)(item), () => `
58550
- <td class="${c4.comment}"${(0, $f9c5006b26957916$export$ca030c9435779e4b)(line.textFont)}>${item.value}</td>
58947
+ <td class="${c4.comment}"${(0, $f9c5006b26957916$export$ca030c9435779e4b)(line.textFont)}>
58948
+ ${pango.convert(item.value || "")}
58949
+ </td>
58950
+ `)}
58951
+
58952
+ ${(0, $f9c5006b26957916$export$a55877ca9db47377)((0, $f9c5006b26957916$export$fb85bc5d6d9ef19b)(item), () => `
58953
+ <td class="${c4.image}">${(0, $f9c5006b26957916$export$ffe18135619e1edf)(item)}</td>
58551
58954
  `)}
58552
58955
 
58553
58956
  ${(0, $f9c5006b26957916$export$a55877ca9db47377)(item.hasRenderableLabel(), () => `
@@ -58574,6 +58977,7 @@ Or set the song key before changing key:
58574
58977
  </div>
58575
58978
  `)}
58576
58979
  `);
58980
+ };
58577
58981
  function $57075975ee3e6c20$var$defaultCss(cssClasses) {
58578
58982
  const { annotation, chord, comment, labelWrapper, line, literal, literalContents, lyrics, paragraph, row, subtitle, title } = cssClasses;
58579
58983
  return {
@@ -59368,7 +59772,7 @@ Or set the song key before changing key:
59368
59772
  const content = chordLyricsPair.annotation || this.renderChords(chordLyricsPair, line);
59369
59773
  const { lyrics } = chordLyricsPair;
59370
59774
  const contentLength = (content || "").length;
59371
- const lyricsLength = (lyrics || "").length;
59775
+ const lyricsLength = (0, $1883202621c13add$export$3dd9b04564de283e)(lyrics || "").length;
59372
59776
  if (contentLength >= lyricsLength) return contentLength + 1;
59373
59777
  return Math.max(contentLength, lyricsLength);
59374
59778
  }
@@ -59398,7 +59802,7 @@ Or set the song key before changing key:
59398
59802
  }
59399
59803
  formatItemBottom(item, metadata, line) {
59400
59804
  if (item instanceof (0, $7251dad5f4a4c35f$export$2e2bcd8739ae039) && item.isRenderable()) return item.label;
59401
- if (item instanceof (0, $551a223fc13b5c10$export$2e2bcd8739ae039)) return (0, $28a2fcb6fb95a147$export$bc3bea8325045070)(item.lyrics || "", this.chordLyricsPairLength(item, line));
59805
+ if (item instanceof (0, $551a223fc13b5c10$export$2e2bcd8739ae039)) return (0, $28a2fcb6fb95a147$export$bc3bea8325045070)((0, $1883202621c13add$export$3dd9b04564de283e)(item.lyrics || ""), this.chordLyricsPairLength(item, line));
59402
59806
  if ("evaluate" in item) return (0, $f9c5006b26957916$export$fef61f332f2c0afc)(item, metadata, this.configuration);
59403
59807
  return "";
59404
59808
  }
@@ -69474,7 +69878,7 @@ AjwCRQJ5AAAAAAABAAAAANpTmfAAAAAA0e+yRgAAAADR77JG
69474
69878
  }
69475
69879
  };
69476
69880
  var $a5a21ced491ea51f$export$2e2bcd8739ae039 = $a5a21ced491ea51f$var$UltimateGuitarParser;
69477
- var $ae92e002ce14f11a$export$2e2bcd8739ae039 = "14.2.1";
69881
+ var $ae92e002ce14f11a$export$2e2bcd8739ae039 = "14.3.0";
69478
69882
  var $a3816b486f741c00$exports = {};
69479
69883
  var $892913528e7f60f9$export$2e2bcd8739ae039 = {
69480
69884
  CHORUS: $dce48cb70c4120bb$export$8db6c706fc9142b2,
@@ -69521,6 +69925,7 @@ AjwCRQJ5AAAAAAABAAAAANpTmfAAAAAA0e+yRgAAAADR77JG
69521
69925
  lineHasContents: $f9c5006b26957916$export$3db5961874282581,
69522
69926
  isTag: $f9c5006b26957916$export$3bf645f08efe3292,
69523
69927
  isComment: $f9c5006b26957916$export$3ab01370f5e64ac8,
69928
+ isImage: $f9c5006b26957916$export$fb85bc5d6d9ef19b,
69524
69929
  stripHTML: $f9c5006b26957916$export$6ea1b0eb82ead3f,
69525
69930
  each: $f9c5006b26957916$export$79b2f7037acddd43,
69526
69931
  when: $f9c5006b26957916$export$a55877ca9db47377,
@@ -69530,7 +69935,9 @@ AjwCRQJ5AAAAAAABAAAAANpTmfAAAAAA0e+yRgAAAADR77JG
69530
69935
  evaluate: $f9c5006b26957916$export$fef61f332f2c0afc,
69531
69936
  fontStyleTag: $f9c5006b26957916$export$ca030c9435779e4b,
69532
69937
  renderChord: $2ce1086ce25c9ac0$export$596ec52955da9472,
69533
- hasChordContents: $28a2fcb6fb95a147$export$d332d76d125f0cbe
69938
+ hasChordContents: $28a2fcb6fb95a147$export$d332d76d125f0cbe,
69939
+ pangoToHtml: $1883202621c13add$export$599bd3ab2aa4735e,
69940
+ stripPangoMarkup: $1883202621c13add$export$3dd9b04564de283e
69534
69941
  }
69535
69942
  };
69536
69943
  $parcel$exportWildcard(module.exports, $a3816b486f741c00$exports);