chordsheetjs 10.11.0 → 11.0.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
@@ -6,7 +6,7 @@ var ChordSheetJS = (() => {
6
6
  };
7
7
 
8
8
  // lib/index.js
9
- var require_lib = __commonJS({
9
+ var require_index = __commonJS({
10
10
  "lib/index.js"(exports, module) {
11
11
  function $parcel$defineInteropFlag(a) {
12
12
  Object.defineProperty(a, "__esModule", { value: true, configurable: true });
@@ -14687,6 +14687,7 @@ to a key`);
14687
14687
  };
14688
14688
  this.instrument = configuration.instrument ? new (0, $66494710ef677b2b$export$2e2bcd8739ae039)(configuration.instrument) : void 0;
14689
14689
  this.user = configuration.user ? new (0, $a911f47e3c49e507$export$2e2bcd8739ae039)(configuration.user) : void 0;
14690
+ this.decapo = !!configuration.decapo;
14690
14691
  }
14691
14692
  };
14692
14693
  var $1900e9488433afb1$export$2e2bcd8739ae039 = $1900e9488433afb1$var$Configuration;
@@ -14874,7 +14875,7 @@ to a key`);
14874
14875
  return sanitizedName;
14875
14876
  };
14876
14877
  var $7251dad5f4a4c35f$var$Tag = class _$7251dad5f4a4c35f$var$Tag extends (0, $c5ce4fc4f57fe810$export$2e2bcd8739ae039) {
14877
- constructor(name, value = null, traceInfo = null, attributes = {}) {
14878
+ constructor(name, value = null, traceInfo = null, attributes = {}, selector = null, isNegated = false) {
14878
14879
  super(traceInfo), this._isMetaTag = false, this._originalName = "", this._name = "", this._value = "", this.selector = null, this.isNegated = false, /**
14879
14880
  * The tag attributes. For example, section related tags can have a label:
14880
14881
  * `{start_of_verse: label="Verse 1"}`
@@ -14883,6 +14884,8 @@ to a key`);
14883
14884
  this.attributes = {};
14884
14885
  this.parseNameValue(name, value);
14885
14886
  this.attributes = attributes;
14887
+ this.selector = selector;
14888
+ this.isNegated = isNegated;
14886
14889
  }
14887
14890
  parseNameValue(name, value) {
14888
14891
  if (name === "meta") this.parseMetaTag(value);
@@ -19967,6 +19970,54 @@ to a key`);
19967
19970
  }
19968
19971
  };
19969
19972
  var $69c885ea9d252cfd$export$2e2bcd8739ae039 = $69c885ea9d252cfd$var$SongBuilder;
19973
+ function $2ce1086ce25c9ac0$export$fd31a53e6281557e(transposeKey, songKey) {
19974
+ if (/^\d+$/.test(transposeKey)) return parseInt(transposeKey, 10);
19975
+ return (0, $c2d6ab25ad00308f$export$2e2bcd8739ae039).distance(songKey, transposeKey);
19976
+ }
19977
+ function $2ce1086ce25c9ac0$var$chordTransposeDistance(capo, transposeKey, songKey, renderKey) {
19978
+ let transpose = -1 * (capo || 0);
19979
+ if (songKey) {
19980
+ if (transposeKey) transpose += $2ce1086ce25c9ac0$export$fd31a53e6281557e(transposeKey, songKey);
19981
+ if (renderKey) transpose += (0, $c2d6ab25ad00308f$export$2e2bcd8739ae039).distance(songKey, renderKey);
19982
+ }
19983
+ return transpose;
19984
+ }
19985
+ function $2ce1086ce25c9ac0$var$changeChordType(chord, type, referenceKey) {
19986
+ switch (type) {
19987
+ case "symbol":
19988
+ return chord.toChordSymbol(referenceKey);
19989
+ case "solfege":
19990
+ return chord.toChordSolfege(referenceKey);
19991
+ case "numeral":
19992
+ return chord.toNumeral(referenceKey);
19993
+ case "number":
19994
+ return chord.toNumeric(referenceKey);
19995
+ default:
19996
+ return chord;
19997
+ }
19998
+ }
19999
+ function $2ce1086ce25c9ac0$export$596ec52955da9472(chordString, line, song, { renderKey = null, useUnicodeModifier = false, normalizeChords = true, decapo = false } = {}) {
20000
+ const chord = (0, $177a605b8569b31c$export$2e2bcd8739ae039).parse(chordString);
20001
+ const songKey = song.key;
20002
+ const capoString = song.metadata.getSingle((0, $7251dad5f4a4c35f$export$866f445d49bad88e));
20003
+ const capo = decapo && capoString ? parseInt(capoString, 10) : null;
20004
+ const chordStyle = song.metadata.getSingle((0, $7251dad5f4a4c35f$export$d8cbdf44b1f66df1));
20005
+ if (!chord) return chordString;
20006
+ const effectiveTransposeDistance = $2ce1086ce25c9ac0$var$chordTransposeDistance(capo, line.transposeKey, songKey, renderKey);
20007
+ const effectiveKey = renderKey || (0, $c2d6ab25ad00308f$export$2e2bcd8739ae039).wrap(line.key || song.key)?.transpose(effectiveTransposeDistance) || null;
20008
+ const transposedChord = chord.transpose(effectiveTransposeDistance);
20009
+ const normalizedChord = normalizeChords ? transposedChord.normalize(effectiveKey) : transposedChord;
20010
+ return $2ce1086ce25c9ac0$var$changeChordType(normalizedChord, chordStyle, effectiveKey).toString({
20011
+ useUnicodeModifier
20012
+ });
20013
+ }
20014
+ function $2ce1086ce25c9ac0$export$efb38dd75b8e2957({ selector, isNegated }, { configuration, metadata }) {
20015
+ if (selector === configuration.instrument?.type) return !isNegated;
20016
+ if (selector === configuration.user?.name) return !isNegated;
20017
+ const metadataValue = metadata.getSingle(selector);
20018
+ const metadataValueTruthy = metadataValue && metadataValue !== "";
20019
+ return isNegated ? !metadataValueTruthy : !!metadataValueTruthy;
20020
+ }
19970
20021
  var $c53141c05fae8382$var$Song = class _$c53141c05fae8382$var$Song extends (0, $9047ab737bb447ce$export$2e2bcd8739ae039) {
19971
20022
  /**
19972
20023
  * Creates a new {Song} instance
@@ -20289,11 +20340,15 @@ Or set the song key before changing key:
20289
20340
  * @see https://chordpro.org/chordpro/directives-define/
20290
20341
  * @see https://chordpro.org/chordpro/directives-chord/
20291
20342
  */
20292
- getChordDefinitions() {
20343
+ getChordDefinitions(context) {
20293
20344
  const chordDefinitions = {};
20294
20345
  this.foreachItem((item) => {
20295
20346
  if (!(item instanceof (0, $7251dad5f4a4c35f$export$2e2bcd8739ae039))) return;
20296
- const { chordDefinition } = item;
20347
+ const { chordDefinition, selector, isNegated } = item;
20348
+ if (selector && context && !(0, $2ce1086ce25c9ac0$export$efb38dd75b8e2957)({
20349
+ selector,
20350
+ isNegated
20351
+ }, context)) return;
20297
20352
  if (chordDefinition) chordDefinitions[chordDefinition.name] = chordDefinition.clone();
20298
20353
  });
20299
20354
  return chordDefinitions;
@@ -20672,47 +20727,6 @@ Or set the song key before changing key:
20672
20727
  }
20673
20728
  };
20674
20729
  var $e136d63bbe28a4e0$export$2e2bcd8739ae039 = $e136d63bbe28a4e0$var$ChordSheetParser;
20675
- function $2ce1086ce25c9ac0$export$fd31a53e6281557e(transposeKey, songKey) {
20676
- if (/^\d+$/.test(transposeKey)) return parseInt(transposeKey, 10);
20677
- return (0, $c2d6ab25ad00308f$export$2e2bcd8739ae039).distance(songKey, transposeKey);
20678
- }
20679
- function $2ce1086ce25c9ac0$var$chordTransposeDistance(capo, transposeKey, songKey, renderKey) {
20680
- let transpose = -1 * (capo || 0);
20681
- if (songKey) {
20682
- if (transposeKey) transpose += $2ce1086ce25c9ac0$export$fd31a53e6281557e(transposeKey, songKey);
20683
- if (renderKey) transpose += (0, $c2d6ab25ad00308f$export$2e2bcd8739ae039).distance(songKey, renderKey);
20684
- }
20685
- return transpose;
20686
- }
20687
- function $2ce1086ce25c9ac0$var$changeChordType(chord, type, referenceKey) {
20688
- switch (type) {
20689
- case "symbol":
20690
- return chord.toChordSymbol(referenceKey);
20691
- case "solfege":
20692
- return chord.toChordSolfege(referenceKey);
20693
- case "numeral":
20694
- return chord.toNumeral(referenceKey);
20695
- case "number":
20696
- return chord.toNumeric(referenceKey);
20697
- default:
20698
- return chord;
20699
- }
20700
- }
20701
- function $2ce1086ce25c9ac0$export$596ec52955da9472(chordString, line, song, { renderKey = null, useUnicodeModifier = false, normalizeChords = true } = {}) {
20702
- const chord = (0, $177a605b8569b31c$export$2e2bcd8739ae039).parse(chordString);
20703
- const songKey = song.key;
20704
- const capoString = song.metadata.getSingle((0, $7251dad5f4a4c35f$export$866f445d49bad88e));
20705
- const capo = capoString ? parseInt(capoString, 10) : null;
20706
- const chordStyle = song.metadata.getSingle((0, $7251dad5f4a4c35f$export$d8cbdf44b1f66df1));
20707
- if (!chord) return chordString;
20708
- const effectiveTransposeDistance = $2ce1086ce25c9ac0$var$chordTransposeDistance(capo, line.transposeKey, songKey, renderKey);
20709
- const effectiveKey = renderKey || (0, $c2d6ab25ad00308f$export$2e2bcd8739ae039).wrap(line.key || song.key)?.transpose(effectiveTransposeDistance) || null;
20710
- const transposedChord = chord.transpose(effectiveTransposeDistance);
20711
- const normalizedChord = normalizeChords ? transposedChord.normalize(effectiveKey) : transposedChord;
20712
- return $2ce1086ce25c9ac0$var$changeChordType(normalizedChord, chordStyle, effectiveKey).toString({
20713
- useUnicodeModifier
20714
- });
20715
- }
20716
20730
  var $15ddd1c5134545c8$var$WhenClause = class {
20717
20731
  constructor(condition, callback) {
20718
20732
  this.condition = !!condition;
@@ -20891,7 +20905,8 @@ Or set the song key before changing key:
20891
20905
  renderChord(item, line) {
20892
20906
  return (0, $2ce1086ce25c9ac0$export$596ec52955da9472)(item.chords, line, this.song, {
20893
20907
  renderKey: this.configuration.key,
20894
- normalizeChords: this.configuration.normalizeChords
20908
+ normalizeChords: this.configuration.normalizeChords,
20909
+ decapo: this.configuration.decapo
20895
20910
  });
20896
20911
  }
20897
20912
  formatLineBottom(line, metadata) {
@@ -33047,10 +33062,13 @@ Or set the song key before changing key:
33047
33062
  ${(0, $f9c5006b26957916$export$79b2f7037acddd43)(bodyParagraphs, (paragraph) => `
33048
33063
  <div class="${(0, $f9c5006b26957916$export$dcd1550c9709312c)(paragraph)}">
33049
33064
  ${(0, $f9c5006b26957916$export$a55877ca9db47377)(paragraph.isLiteral(), () => `
33050
- <div class="row">
33051
- ${(0, $f9c5006b26957916$export$a55877ca9db47377)((0, $28a2fcb6fb95a147$export$ee27c052bca048fb)(paragraph.label), () => `
33065
+ ${(0, $f9c5006b26957916$export$a55877ca9db47377)((0, $28a2fcb6fb95a147$export$ee27c052bca048fb)(paragraph.label), () => `
33066
+ <div class="row">
33052
33067
  <h3 class="label">${paragraph.label}</h3>
33053
- `)}
33068
+ </div>
33069
+ `)}
33070
+
33071
+ <div class="row">
33054
33072
  <div class="literal">${(0, $f9c5006b26957916$export$e2953cc935d48476)((0, $f9c5006b26957916$export$4c0287abd2ec956e)(paragraph, configuration))}</div>
33055
33073
  </div>
33056
33074
  `).else(() => `
@@ -33067,7 +33085,8 @@ Or set the song key before changing key:
33067
33085
  ${(0, $2ce1086ce25c9ac0$export$596ec52955da9472)(item.chords, line, song, {
33068
33086
  renderKey: key,
33069
33087
  useUnicodeModifier: configuration.useUnicodeModifiers,
33070
- normalizeChords: configuration.normalizeChords
33088
+ normalizeChords: configuration.normalizeChords,
33089
+ decapo: configuration.decapo
33071
33090
  })}
33072
33091
  </div>
33073
33092
  `)}
@@ -33133,11 +33152,18 @@ Or set the song key before changing key:
33133
33152
  ${(0, $f9c5006b26957916$export$79b2f7037acddd43)(bodyParagraphs, (paragraph) => `
33134
33153
  <div class="${(0, $f9c5006b26957916$export$dcd1550c9709312c)(paragraph)}">
33135
33154
  ${(0, $f9c5006b26957916$export$a55877ca9db47377)(paragraph.isLiteral(), () => `
33155
+ ${(0, $f9c5006b26957916$export$a55877ca9db47377)((0, $28a2fcb6fb95a147$export$ee27c052bca048fb)(paragraph.label), () => `
33156
+ <table class="row">
33157
+ <tr>
33158
+ <td>
33159
+ <h3 class="label">${paragraph.label}</h3>
33160
+ </td>
33161
+ </tr>
33162
+ </table>
33163
+ `)}
33164
+
33136
33165
  <table class="literal">
33137
33166
  <tr>
33138
- ${(0, $f9c5006b26957916$export$a55877ca9db47377)((0, $28a2fcb6fb95a147$export$ee27c052bca048fb)(paragraph.label), () => `
33139
- <td class="label">${paragraph.label}</td>
33140
- `)}
33141
33167
  <td class="contents">${(0, $f9c5006b26957916$export$e2953cc935d48476)((0, $f9c5006b26957916$export$4c0287abd2ec956e)(paragraph, configuration))}</td>
33142
33168
  </tr>
33143
33169
  </table>
@@ -33155,7 +33181,8 @@ Or set the song key before changing key:
33155
33181
  <td class="chord"${(0, $f9c5006b26957916$export$ca030c9435779e4b)(line.chordFont)}>${(0, $2ce1086ce25c9ac0$export$596ec52955da9472)(item.chords, line, song, {
33156
33182
  renderKey: key,
33157
33183
  useUnicodeModifier: configuration.useUnicodeModifiers,
33158
- normalizeChords: configuration.normalizeChords
33184
+ normalizeChords: configuration.normalizeChords,
33185
+ decapo: configuration.decapo
33159
33186
  })}</td>
33160
33187
  `)}
33161
33188
  `)}
@@ -33292,7 +33319,8 @@ Or set the song key before changing key:
33292
33319
  const chords = (0, $2ce1086ce25c9ac0$export$596ec52955da9472)(chordLyricsPair.chords, line, this.song, {
33293
33320
  renderKey: this.configuration.key,
33294
33321
  useUnicodeModifier: this.configuration.useUnicodeModifiers,
33295
- normalizeChords: this.configuration.normalizeChords
33322
+ normalizeChords: this.configuration.normalizeChords,
33323
+ decapo: this.configuration.decapo
33296
33324
  });
33297
33325
  return chords;
33298
33326
  }
@@ -33442,5 +33470,5 @@ Or set the song key before changing key:
33442
33470
  };
33443
33471
  }
33444
33472
  });
33445
- return require_lib();
33473
+ return require_index();
33446
33474
  })();