chordsheetjs 13.2.2 → 14.1.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 +579 -91
- package/lib/bundle.min.js +162 -162
- package/lib/index.js +517 -65
- package/lib/index.js.map +1 -1
- package/lib/main.d.ts +33 -6
- package/lib/main.d.ts.map +1 -1
- package/lib/module.js +517 -66
- package/lib/module.js.map +1 -1
- package/package.json +8 -7
package/lib/bundle.js
CHANGED
|
@@ -14251,7 +14251,7 @@ var ChordSheetJS = (() => {
|
|
|
14251
14251
|
function createDOMPurify() {
|
|
14252
14252
|
let window2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : getGlobal();
|
|
14253
14253
|
const DOMPurify = (root) => createDOMPurify(root);
|
|
14254
|
-
DOMPurify.version = "3.3.
|
|
14254
|
+
DOMPurify.version = "3.3.2";
|
|
14255
14255
|
DOMPurify.removed = [];
|
|
14256
14256
|
if (!window2 || !window2.document || window2.document.nodeType !== NODE_TYPE.document || !window2.Element) {
|
|
14257
14257
|
DOMPurify.isSupported = false;
|
|
@@ -14452,7 +14452,7 @@ var ChordSheetJS = (() => {
|
|
|
14452
14452
|
}
|
|
14453
14453
|
if (USE_PROFILES) {
|
|
14454
14454
|
ALLOWED_TAGS = addToSet({}, text);
|
|
14455
|
-
ALLOWED_ATTR =
|
|
14455
|
+
ALLOWED_ATTR = create(null);
|
|
14456
14456
|
if (USE_PROFILES.html === true) {
|
|
14457
14457
|
addToSet(ALLOWED_TAGS, html$1);
|
|
14458
14458
|
addToSet(ALLOWED_ATTR, html);
|
|
@@ -14473,6 +14473,12 @@ var ChordSheetJS = (() => {
|
|
|
14473
14473
|
addToSet(ALLOWED_ATTR, xml);
|
|
14474
14474
|
}
|
|
14475
14475
|
}
|
|
14476
|
+
if (!objectHasOwnProperty(cfg, "ADD_TAGS")) {
|
|
14477
|
+
EXTRA_ELEMENT_HANDLING.tagCheck = null;
|
|
14478
|
+
}
|
|
14479
|
+
if (!objectHasOwnProperty(cfg, "ADD_ATTR")) {
|
|
14480
|
+
EXTRA_ELEMENT_HANDLING.attributeCheck = null;
|
|
14481
|
+
}
|
|
14476
14482
|
if (cfg.ADD_TAGS) {
|
|
14477
14483
|
if (typeof cfg.ADD_TAGS === "function") {
|
|
14478
14484
|
EXTRA_ELEMENT_HANDLING.tagCheck = cfg.ADD_TAGS;
|
|
@@ -14751,6 +14757,9 @@ var ChordSheetJS = (() => {
|
|
|
14751
14757
|
return false;
|
|
14752
14758
|
};
|
|
14753
14759
|
const _isValidAttribute = function _isValidAttribute2(lcTag, lcName, value) {
|
|
14760
|
+
if (FORBID_ATTR[lcName]) {
|
|
14761
|
+
return false;
|
|
14762
|
+
}
|
|
14754
14763
|
if (SANITIZE_DOM && (lcName === "id" || lcName === "name") && (value in document2 || value in formElement)) {
|
|
14755
14764
|
return false;
|
|
14756
14765
|
}
|
|
@@ -14817,7 +14826,7 @@ var ChordSheetJS = (() => {
|
|
|
14817
14826
|
_removeAttribute(name, currentNode);
|
|
14818
14827
|
value = SANITIZE_NAMED_PROPS_PREFIX + value;
|
|
14819
14828
|
}
|
|
14820
|
-
if (SAFE_FOR_XML && regExpTest(/((--!?|])>)|<\/(style|title|textarea)/i, value)) {
|
|
14829
|
+
if (SAFE_FOR_XML && regExpTest(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i, value)) {
|
|
14821
14830
|
_removeAttribute(name, currentNode);
|
|
14822
14831
|
continue;
|
|
14823
14832
|
}
|
|
@@ -17725,7 +17734,7 @@ var ChordSheetJS = (() => {
|
|
|
17725
17734
|
}
|
|
17726
17735
|
});
|
|
17727
17736
|
|
|
17728
|
-
// node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js
|
|
17737
|
+
// node_modules/canvg/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js
|
|
17729
17738
|
function asyncGeneratorStep(n2, t3, e2, r2, o3, a3, c4) {
|
|
17730
17739
|
try {
|
|
17731
17740
|
var i3 = n2[a3](c4), u3 = i3.value;
|
|
@@ -17750,7 +17759,7 @@ var ChordSheetJS = (() => {
|
|
|
17750
17759
|
};
|
|
17751
17760
|
}
|
|
17752
17761
|
var init_asyncToGenerator = __esm({
|
|
17753
|
-
"node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"() {
|
|
17762
|
+
"node_modules/canvg/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"() {
|
|
17754
17763
|
}
|
|
17755
17764
|
});
|
|
17756
17765
|
|
|
@@ -18926,36 +18935,50 @@ var ChordSheetJS = (() => {
|
|
|
18926
18935
|
}
|
|
18927
18936
|
});
|
|
18928
18937
|
|
|
18929
|
-
// node_modules/@babel/runtime/helpers/esm/
|
|
18938
|
+
// node_modules/canvg/node_modules/@babel/runtime/helpers/esm/typeof.js
|
|
18939
|
+
function _typeof2(o3) {
|
|
18940
|
+
"@babel/helpers - typeof";
|
|
18941
|
+
return _typeof2 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o4) {
|
|
18942
|
+
return typeof o4;
|
|
18943
|
+
} : function(o4) {
|
|
18944
|
+
return o4 && "function" == typeof Symbol && o4.constructor === Symbol && o4 !== Symbol.prototype ? "symbol" : typeof o4;
|
|
18945
|
+
}, _typeof2(o3);
|
|
18946
|
+
}
|
|
18947
|
+
var init_typeof2 = __esm({
|
|
18948
|
+
"node_modules/canvg/node_modules/@babel/runtime/helpers/esm/typeof.js"() {
|
|
18949
|
+
}
|
|
18950
|
+
});
|
|
18951
|
+
|
|
18952
|
+
// node_modules/canvg/node_modules/@babel/runtime/helpers/esm/toPrimitive.js
|
|
18930
18953
|
function toPrimitive(t3, r2) {
|
|
18931
|
-
if ("object" !=
|
|
18954
|
+
if ("object" != _typeof2(t3) || !t3) return t3;
|
|
18932
18955
|
var e2 = t3[Symbol.toPrimitive];
|
|
18933
18956
|
if (void 0 !== e2) {
|
|
18934
18957
|
var i3 = e2.call(t3, r2 || "default");
|
|
18935
|
-
if ("object" !=
|
|
18958
|
+
if ("object" != _typeof2(i3)) return i3;
|
|
18936
18959
|
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
18937
18960
|
}
|
|
18938
18961
|
return ("string" === r2 ? String : Number)(t3);
|
|
18939
18962
|
}
|
|
18940
18963
|
var init_toPrimitive = __esm({
|
|
18941
|
-
"node_modules/@babel/runtime/helpers/esm/toPrimitive.js"() {
|
|
18942
|
-
|
|
18964
|
+
"node_modules/canvg/node_modules/@babel/runtime/helpers/esm/toPrimitive.js"() {
|
|
18965
|
+
init_typeof2();
|
|
18943
18966
|
}
|
|
18944
18967
|
});
|
|
18945
18968
|
|
|
18946
|
-
// node_modules/@babel/runtime/helpers/esm/toPropertyKey.js
|
|
18969
|
+
// node_modules/canvg/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js
|
|
18947
18970
|
function toPropertyKey(t3) {
|
|
18948
18971
|
var i3 = toPrimitive(t3, "string");
|
|
18949
|
-
return "symbol" ==
|
|
18972
|
+
return "symbol" == _typeof2(i3) ? i3 : i3 + "";
|
|
18950
18973
|
}
|
|
18951
18974
|
var init_toPropertyKey = __esm({
|
|
18952
|
-
"node_modules/@babel/runtime/helpers/esm/toPropertyKey.js"() {
|
|
18953
|
-
|
|
18975
|
+
"node_modules/canvg/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js"() {
|
|
18976
|
+
init_typeof2();
|
|
18954
18977
|
init_toPrimitive();
|
|
18955
18978
|
}
|
|
18956
18979
|
});
|
|
18957
18980
|
|
|
18958
|
-
// node_modules/@babel/runtime/helpers/esm/defineProperty.js
|
|
18981
|
+
// node_modules/canvg/node_modules/@babel/runtime/helpers/esm/defineProperty.js
|
|
18959
18982
|
function _defineProperty(e2, r2, t3) {
|
|
18960
18983
|
return (r2 = toPropertyKey(r2)) in e2 ? Object.defineProperty(e2, r2, {
|
|
18961
18984
|
value: t3,
|
|
@@ -18965,7 +18988,7 @@ var ChordSheetJS = (() => {
|
|
|
18965
18988
|
}) : e2[r2] = t3, e2;
|
|
18966
18989
|
}
|
|
18967
18990
|
var init_defineProperty = __esm({
|
|
18968
|
-
"node_modules/@babel/runtime/helpers/esm/defineProperty.js"() {
|
|
18991
|
+
"node_modules/canvg/node_modules/@babel/runtime/helpers/esm/defineProperty.js"() {
|
|
18969
18992
|
init_toPropertyKey();
|
|
18970
18993
|
}
|
|
18971
18994
|
});
|
|
@@ -20118,18 +20141,18 @@ var ChordSheetJS = (() => {
|
|
|
20118
20141
|
});
|
|
20119
20142
|
|
|
20120
20143
|
// node_modules/stackblur-canvas/dist/stackblur-es.js
|
|
20121
|
-
function
|
|
20144
|
+
function _typeof3(obj) {
|
|
20122
20145
|
"@babel/helpers - typeof";
|
|
20123
20146
|
if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
|
|
20124
|
-
|
|
20147
|
+
_typeof3 = function(obj2) {
|
|
20125
20148
|
return typeof obj2;
|
|
20126
20149
|
};
|
|
20127
20150
|
} else {
|
|
20128
|
-
|
|
20151
|
+
_typeof3 = function(obj2) {
|
|
20129
20152
|
return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2;
|
|
20130
20153
|
};
|
|
20131
20154
|
}
|
|
20132
|
-
return
|
|
20155
|
+
return _typeof3(obj);
|
|
20133
20156
|
}
|
|
20134
20157
|
function _classCallCheck(instance, Constructor) {
|
|
20135
20158
|
if (!(instance instanceof Constructor)) {
|
|
@@ -20140,7 +20163,7 @@ var ChordSheetJS = (() => {
|
|
|
20140
20163
|
if (typeof canvas === "string") {
|
|
20141
20164
|
canvas = document.getElementById(canvas);
|
|
20142
20165
|
}
|
|
20143
|
-
if (!canvas ||
|
|
20166
|
+
if (!canvas || _typeof3(canvas) !== "object" || !("getContext" in canvas)) {
|
|
20144
20167
|
throw new TypeError("Expecting canvas with `getContext` method in processCanvasRGB(A) calls!");
|
|
20145
20168
|
}
|
|
20146
20169
|
var context = canvas.getContext("2d");
|
|
@@ -27284,7 +27307,9 @@ var ChordSheetJS = (() => {
|
|
|
27284
27307
|
if (t4 < 0 || t4 >= l3.length) throw new Error("Frame index out of range.");
|
|
27285
27308
|
return l3[t4];
|
|
27286
27309
|
}, this.decodeAndBlitFrameBGRA = function(e3, n3) {
|
|
27287
|
-
var i4 = this.frameInfo(e3), a4 = i4.width * i4.height
|
|
27310
|
+
var i4 = this.frameInfo(e3), a4 = i4.width * i4.height;
|
|
27311
|
+
if (a4 > 536870912) throw new Error("Image dimensions exceed 512MB, which is too large.");
|
|
27312
|
+
var o4 = new Uint8Array(a4);
|
|
27288
27313
|
ae(t3, i4.data_offset, o4, a4);
|
|
27289
27314
|
var s4 = i4.palette_offset, u4 = i4.transparent_index;
|
|
27290
27315
|
null === u4 && (u4 = 256);
|
|
@@ -27300,7 +27325,9 @@ var ChordSheetJS = (() => {
|
|
|
27300
27325
|
--h4;
|
|
27301
27326
|
}
|
|
27302
27327
|
}, this.decodeAndBlitFrameRGBA = function(e3, n3) {
|
|
27303
|
-
var i4 = this.frameInfo(e3), a4 = i4.width * i4.height
|
|
27328
|
+
var i4 = this.frameInfo(e3), a4 = i4.width * i4.height;
|
|
27329
|
+
if (a4 > 536870912) throw new Error("Image dimensions exceed 512MB, which is too large.");
|
|
27330
|
+
var o4 = new Uint8Array(a4);
|
|
27304
27331
|
ae(t3, i4.data_offset, o4, a4);
|
|
27305
27332
|
var s4 = i4.palette_offset, u4 = i4.transparent_index;
|
|
27306
27333
|
null === u4 && (u4 = 256);
|
|
@@ -29405,7 +29432,7 @@ var ChordSheetJS = (() => {
|
|
|
29405
29432
|
}
|
|
29406
29433
|
for (r2 in e2) e2.hasOwnProperty(r2) && n2.indexOf(r2) < 0 && i3--;
|
|
29407
29434
|
return 0 === i3;
|
|
29408
|
-
}, E.API = { events: [] }, E.version = "4.
|
|
29435
|
+
}, E.API = { events: [] }, E.version = "4.2.0";
|
|
29409
29436
|
R = E.API;
|
|
29410
29437
|
D = 1;
|
|
29411
29438
|
T2 = function(t3) {
|
|
@@ -30005,7 +30032,8 @@ var ChordSheetJS = (() => {
|
|
|
30005
30032
|
} }), Object.defineProperty(this, "AS", { enumerable: false, configurable: false, get: function() {
|
|
30006
30033
|
return e2;
|
|
30007
30034
|
}, set: function(t3) {
|
|
30008
|
-
|
|
30035
|
+
var r3 = null == t3 ? "" : t3.toString();
|
|
30036
|
+
"/" === r3.substr(0, 1) && (r3 = r3.substr(1)), e2 = "/" + U(r3);
|
|
30009
30037
|
} }), Object.defineProperty(this, "appearanceState", { enumerable: true, configurable: true, get: function() {
|
|
30010
30038
|
return e2.substr(1, e2.length - 1);
|
|
30011
30039
|
}, set: function(t3) {
|
|
@@ -30056,11 +30084,13 @@ var ChordSheetJS = (() => {
|
|
|
30056
30084
|
} }), Object.defineProperty(this, "AS", { enumerable: false, configurable: false, get: function() {
|
|
30057
30085
|
return n2;
|
|
30058
30086
|
}, set: function(t3) {
|
|
30059
|
-
|
|
30087
|
+
var e3 = null == t3 ? "" : t3.toString();
|
|
30088
|
+
"/" === e3.substr(0, 1) && (e3 = e3.substr(1)), n2 = "/" + U(e3);
|
|
30060
30089
|
} }), Object.defineProperty(this, "appearanceState", { enumerable: true, configurable: true, get: function() {
|
|
30061
30090
|
return n2.substr(1, n2.length - 1);
|
|
30062
30091
|
}, set: function(t3) {
|
|
30063
|
-
|
|
30092
|
+
var e3 = null == t3 ? "" : t3.toString();
|
|
30093
|
+
"/" === e3.substr(0, 1) && (e3 = e3.substr(1)), n2 = "/" + U(e3);
|
|
30064
30094
|
} }), this.caption = "l", this.appearanceState = "Off", this._AppearanceType = At.RadioButton.Circle, this.appearanceStreamContent = this._AppearanceType.createAppearanceStream(this.optionName);
|
|
30065
30095
|
};
|
|
30066
30096
|
V(wt, ft), yt.prototype.setAppearance = function(t3) {
|
|
@@ -31789,7 +31819,16 @@ var ChordSheetJS = (() => {
|
|
|
31789
31819
|
return e3.worker ? r3 : r3.from(t3).doCallback();
|
|
31790
31820
|
};
|
|
31791
31821
|
})(E.API), E.API.addJS = function(t3) {
|
|
31792
|
-
var e2, r2, n2 =
|
|
31822
|
+
var e2, r2, n2 = (function(t4) {
|
|
31823
|
+
for (var e3 = "", r3 = 0; r3 < t4.length; r3++) {
|
|
31824
|
+
var n3 = t4[r3];
|
|
31825
|
+
if ("(" === n3 || ")" === n3) {
|
|
31826
|
+
for (var i3 = 0, a3 = r3 - 1; a3 >= 0 && "\\" === t4[a3]; a3--) i3++;
|
|
31827
|
+
e3 += i3 % 2 == 0 ? "\\" + n3 : n3;
|
|
31828
|
+
} else e3 += n3;
|
|
31829
|
+
}
|
|
31830
|
+
return e3;
|
|
31831
|
+
})(t3);
|
|
31793
31832
|
return this.internal.events.subscribe("postPutResources", function() {
|
|
31794
31833
|
e2 = this.internal.newObject(), this.internal.out("<<"), this.internal.out("/Names [(EmbeddedJS) " + (e2 + 1) + " 0 R]"), this.internal.out(">>"), this.internal.out("endobj"), r2 = this.internal.newObject(), this.internal.out("<<"), this.internal.out("/S /JavaScript"), this.internal.out("/JS (" + n2 + ")"), this.internal.out(">>"), this.internal.out("endobj");
|
|
31795
31834
|
}), this.internal.events.subscribe("putCatalog", function() {
|
|
@@ -32994,6 +33033,7 @@ var ChordSheetJS = (() => {
|
|
|
32994
33033
|
$parcel$export(module.exports, "SOLFEGE", () => $dce48cb70c4120bb$export$539a6499f4711c57);
|
|
32995
33034
|
$parcel$export(module.exports, "SYMBOL", () => $dce48cb70c4120bb$export$27c95a7104c1f7aa);
|
|
32996
33035
|
$parcel$export(module.exports, "TAB", () => $dce48cb70c4120bb$export$f1c9dd0f5207dd5e);
|
|
33036
|
+
$parcel$export(module.exports, "TEXTBLOCK", () => $dce48cb70c4120bb$export$5a2cf64ea612936a);
|
|
32997
33037
|
$parcel$export(module.exports, "VERSE", () => $dce48cb70c4120bb$export$4b194284baed1659);
|
|
32998
33038
|
$parcel$export(module.exports, "PART", () => $dce48cb70c4120bb$export$609cc0ea1637d6a0);
|
|
32999
33039
|
$parcel$export(module.exports, "NUMERAL", () => $dce48cb70c4120bb$export$1321df9b16c30c6a);
|
|
@@ -33289,6 +33329,7 @@ var ChordSheetJS = (() => {
|
|
|
33289
33329
|
var $dce48cb70c4120bb$export$609cc0ea1637d6a0 = "part";
|
|
33290
33330
|
var $dce48cb70c4120bb$export$6a5a2eab72b6e3d = "ly";
|
|
33291
33331
|
var $dce48cb70c4120bb$export$92249c36c213e508 = "abc";
|
|
33332
|
+
var $dce48cb70c4120bb$export$5a2cf64ea612936a = "textblock";
|
|
33292
33333
|
var $dce48cb70c4120bb$export$27c95a7104c1f7aa = "symbol";
|
|
33293
33334
|
var $dce48cb70c4120bb$export$4d318981b5a83836 = "numeric";
|
|
33294
33335
|
var $dce48cb70c4120bb$export$1321df9b16c30c6a = "numeral";
|
|
@@ -38039,6 +38080,8 @@ ${error.stack}`);
|
|
|
38039
38080
|
var $d21c5c7a462f3c34$export$b7e6dcd848b88f43 = "start_of_grid";
|
|
38040
38081
|
var $d21c5c7a462f3c34$export$634ff7795b596e62 = "start_of_ly";
|
|
38041
38082
|
var $d21c5c7a462f3c34$export$8dd1111100e0e88d = "start_of_tab";
|
|
38083
|
+
var $d21c5c7a462f3c34$export$4252eb8e075f7d7a = "start_of_textblock";
|
|
38084
|
+
var $d21c5c7a462f3c34$export$f1e557abc415d751 = "end_of_textblock";
|
|
38042
38085
|
var $d21c5c7a462f3c34$export$deca399f8cd9b7dc = "start_of_verse";
|
|
38043
38086
|
var $d21c5c7a462f3c34$export$2b9510a208875fc9 = "start_of_part";
|
|
38044
38087
|
var $d21c5c7a462f3c34$export$5895c693c74b9cf4 = "subtitle";
|
|
@@ -38063,6 +38106,7 @@ ${error.stack}`);
|
|
|
38063
38106
|
[(0, $d21c5c7a462f3c34$export$b7e6dcd848b88f43)]: (0, $dce48cb70c4120bb$export$e2b0b9a5e613f348),
|
|
38064
38107
|
[(0, $d21c5c7a462f3c34$export$634ff7795b596e62)]: (0, $dce48cb70c4120bb$export$6a5a2eab72b6e3d),
|
|
38065
38108
|
[(0, $d21c5c7a462f3c34$export$8dd1111100e0e88d)]: (0, $dce48cb70c4120bb$export$f1c9dd0f5207dd5e),
|
|
38109
|
+
[(0, $d21c5c7a462f3c34$export$4252eb8e075f7d7a)]: (0, $dce48cb70c4120bb$export$5a2cf64ea612936a),
|
|
38066
38110
|
[(0, $d21c5c7a462f3c34$export$deca399f8cd9b7dc)]: (0, $dce48cb70c4120bb$export$4b194284baed1659)
|
|
38067
38111
|
};
|
|
38068
38112
|
var $35ced0783ee29c4f$var$END_TAG_TO_SECTION_TYPE = {
|
|
@@ -38072,6 +38116,7 @@ ${error.stack}`);
|
|
|
38072
38116
|
[(0, $d21c5c7a462f3c34$export$4b28ac1ae75aff60)]: (0, $dce48cb70c4120bb$export$e2b0b9a5e613f348),
|
|
38073
38117
|
[(0, $d21c5c7a462f3c34$export$e3f6cdbd95b1f8f)]: (0, $dce48cb70c4120bb$export$6a5a2eab72b6e3d),
|
|
38074
38118
|
[(0, $d21c5c7a462f3c34$export$66a0ef3ffeab32b7)]: (0, $dce48cb70c4120bb$export$f1c9dd0f5207dd5e),
|
|
38119
|
+
[(0, $d21c5c7a462f3c34$export$f1e557abc415d751)]: (0, $dce48cb70c4120bb$export$5a2cf64ea612936a),
|
|
38075
38120
|
[(0, $d21c5c7a462f3c34$export$640d294ab83f9040)]: (0, $dce48cb70c4120bb$export$4b194284baed1659)
|
|
38076
38121
|
};
|
|
38077
38122
|
var $35ced0783ee29c4f$var$SECTION_START_REGEX = /^start_of_(.+)$/;
|
|
@@ -38198,6 +38243,7 @@ ${error.stack}`);
|
|
|
38198
38243
|
(0, $d21c5c7a462f3c34$export$b7e6dcd848b88f43),
|
|
38199
38244
|
(0, $d21c5c7a462f3c34$export$634ff7795b596e62),
|
|
38200
38245
|
(0, $d21c5c7a462f3c34$export$8dd1111100e0e88d),
|
|
38246
|
+
(0, $d21c5c7a462f3c34$export$4252eb8e075f7d7a),
|
|
38201
38247
|
(0, $d21c5c7a462f3c34$export$deca399f8cd9b7dc),
|
|
38202
38248
|
(0, $d21c5c7a462f3c34$export$2b9510a208875fc9)
|
|
38203
38249
|
];
|
|
@@ -39112,7 +39158,8 @@ ${error.stack}`);
|
|
|
39112
39158
|
* @returns {string} The ChordPro string
|
|
39113
39159
|
*/
|
|
39114
39160
|
format(song) {
|
|
39115
|
-
const { lines
|
|
39161
|
+
const { lines } = song;
|
|
39162
|
+
const metadata = song.getMetadata(this.configuration);
|
|
39116
39163
|
const { metadataLines, contentLines } = this.separateMetadataFromContent(lines);
|
|
39117
39164
|
const formattedMetadataLines = this.formatMetadataSection(metadataLines);
|
|
39118
39165
|
const formattedContentLines = this.formatContentSection(contentLines, metadata);
|
|
@@ -39338,6 +39385,7 @@ ${formattedContentLines}`;
|
|
|
39338
39385
|
this.transposeKey = null;
|
|
39339
39386
|
this.lineNumber = null;
|
|
39340
39387
|
this.selector = null;
|
|
39388
|
+
this.selectorIsNegated = false;
|
|
39341
39389
|
this.textFont = new (0, $3b7d86e1e1307736$export$2e2bcd8739ae039)();
|
|
39342
39390
|
this.chordFont = new (0, $3b7d86e1e1307736$export$2e2bcd8739ae039)();
|
|
39343
39391
|
this.type = type;
|
|
@@ -39566,7 +39614,7 @@ ${formattedContentLines}`;
|
|
|
39566
39614
|
}
|
|
39567
39615
|
var $5c7afec93ec943b9$var$Metadata = class _$5c7afec93ec943b9$var$Metadata extends (0, $9047ab737bb447ce$export$2e2bcd8739ae039) {
|
|
39568
39616
|
constructor(metadata = {}) {
|
|
39569
|
-
super(), this.metadata = {};
|
|
39617
|
+
super(), this.metadata = {}, this.providers = /* @__PURE__ */ new Map();
|
|
39570
39618
|
if (metadata instanceof _$5c7afec93ec943b9$var$Metadata) this.assign(metadata.metadata);
|
|
39571
39619
|
else this.assign(metadata);
|
|
39572
39620
|
}
|
|
@@ -39599,6 +39647,9 @@ ${formattedContentLines}`;
|
|
|
39599
39647
|
value
|
|
39600
39648
|
];
|
|
39601
39649
|
}
|
|
39650
|
+
setProvider(key, provider) {
|
|
39651
|
+
this.providers.set(key, provider);
|
|
39652
|
+
}
|
|
39602
39653
|
set(key, value) {
|
|
39603
39654
|
if (value) this.metadata[key] = value;
|
|
39604
39655
|
else delete this.metadata[key];
|
|
@@ -39634,13 +39685,26 @@ ${formattedContentLines}`;
|
|
|
39634
39685
|
get(prop) {
|
|
39635
39686
|
if (prop === (0, $d21c5c7a462f3c34$export$430b1920f5feeae)) return this.calculateKeyFromCapo();
|
|
39636
39687
|
if (prop in this.metadata) return this.metadata[prop];
|
|
39688
|
+
const provider = this.providers.get(prop);
|
|
39689
|
+
if (provider) return provider();
|
|
39637
39690
|
return this.getArrayItem(prop);
|
|
39638
39691
|
}
|
|
39639
39692
|
/**
|
|
39640
|
-
* Returns all metadata values, including generated values like `_key`.
|
|
39693
|
+
* Returns all metadata values, including provider values and generated values like `_key`.
|
|
39641
39694
|
* @returns {Object.<string, string|string[]>} the metadata values
|
|
39642
39695
|
*/
|
|
39643
39696
|
all() {
|
|
39697
|
+
const all = {};
|
|
39698
|
+
this.providers.forEach((provider, providerKey) => {
|
|
39699
|
+
const value = provider();
|
|
39700
|
+
if (value !== null) all[providerKey] = value;
|
|
39701
|
+
});
|
|
39702
|
+
Object.assign(all, this.metadata);
|
|
39703
|
+
const key = this.calculateKeyFromCapo();
|
|
39704
|
+
if (key) all[0, $d21c5c7a462f3c34$export$430b1920f5feeae] = key;
|
|
39705
|
+
return all;
|
|
39706
|
+
}
|
|
39707
|
+
ownMetadata() {
|
|
39644
39708
|
const all = {
|
|
39645
39709
|
...this.metadata
|
|
39646
39710
|
};
|
|
@@ -39649,7 +39713,7 @@ ${formattedContentLines}`;
|
|
|
39649
39713
|
return all;
|
|
39650
39714
|
}
|
|
39651
39715
|
[Symbol.iterator]() {
|
|
39652
|
-
return Object.entries(this.
|
|
39716
|
+
return Object.entries(this.ownMetadata())[Symbol.iterator]();
|
|
39653
39717
|
}
|
|
39654
39718
|
/**
|
|
39655
39719
|
* Returns a single metadata value. If the actual value is an array, it returns the first value. Else, it returns
|
|
@@ -39688,7 +39752,9 @@ ${formattedContentLines}`;
|
|
|
39688
39752
|
* @returns {Metadata} the cloned Metadata object
|
|
39689
39753
|
*/
|
|
39690
39754
|
clone() {
|
|
39691
|
-
|
|
39755
|
+
const cloned = new _$5c7afec93ec943b9$var$Metadata(this.metadata);
|
|
39756
|
+
this.providers.forEach((provider, key) => cloned.setProvider(key, provider));
|
|
39757
|
+
return cloned;
|
|
39692
39758
|
}
|
|
39693
39759
|
calculateKeyFromCapo() {
|
|
39694
39760
|
const capoString = this.getSingle((0, $d21c5c7a462f3c34$export$866f445d49bad88e));
|
|
@@ -39772,6 +39838,9 @@ ${formattedContentLines}`;
|
|
|
39772
39838
|
const selectors = this.lines.map((line) => line.selector).filter((selector) => selector !== null);
|
|
39773
39839
|
return $8906e348466806fd$var$getCommonValue(selectors, null);
|
|
39774
39840
|
}
|
|
39841
|
+
get selectorIsNegated() {
|
|
39842
|
+
return this.lines.some((line) => line.selectorIsNegated);
|
|
39843
|
+
}
|
|
39775
39844
|
/**
|
|
39776
39845
|
* Indicates whether the paragraph contains lines with renderable items.
|
|
39777
39846
|
* @see {@link Line.hasRenderableItems}
|
|
@@ -39921,6 +39990,7 @@ ${formattedContentLines}`;
|
|
|
39921
39990
|
this.metadata = new (0, $5c7afec93ec943b9$export$2e2bcd8739ae039)();
|
|
39922
39991
|
this.sectionType = (0, $dce48cb70c4120bb$export$c53d0f541b41b88e);
|
|
39923
39992
|
this.selector = null;
|
|
39993
|
+
this.selectorIsNegated = false;
|
|
39924
39994
|
this.transposeKey = null;
|
|
39925
39995
|
this.warnings = [];
|
|
39926
39996
|
this.song = song;
|
|
@@ -39938,16 +40008,17 @@ ${formattedContentLines}`;
|
|
|
39938
40008
|
this.currentLine = new (0, $76b2b227aa06e8bf$export$2e2bcd8739ae039)();
|
|
39939
40009
|
this.lines.push(this.currentLine);
|
|
39940
40010
|
}
|
|
39941
|
-
this.setCurrentProperties(this.sectionType, this.selector);
|
|
40011
|
+
this.setCurrentProperties(this.sectionType, this.selector, this.selectorIsNegated);
|
|
39942
40012
|
this.currentLine.transposeKey = this.transposeKey ?? this.currentKey;
|
|
39943
40013
|
this.currentLine.key = this.currentKey || this.song.getMetadata().getSingle((0, $d21c5c7a462f3c34$export$7167c830cefcb6b5));
|
|
39944
40014
|
this.currentLine.lineNumber = this.lines.length - 1;
|
|
39945
40015
|
return this.currentLine;
|
|
39946
40016
|
}
|
|
39947
|
-
setCurrentProperties(sectionType, selector = null) {
|
|
40017
|
+
setCurrentProperties(sectionType, selector = null, isNegated = false) {
|
|
39948
40018
|
if (!this.currentLine) throw new Error("Expected this.currentLine to be present");
|
|
39949
40019
|
this.currentLine.type = sectionType;
|
|
39950
40020
|
this.currentLine.selector = selector;
|
|
40021
|
+
this.currentLine.selectorIsNegated = isNegated;
|
|
39951
40022
|
this.currentLine.textFont = this.fontStack.textFont.clone();
|
|
39952
40023
|
this.currentLine.chordFont = this.fontStack.chordFont.clone();
|
|
39953
40024
|
}
|
|
@@ -39997,14 +40068,16 @@ ${formattedContentLines}`;
|
|
|
39997
40068
|
startSection(sectionType, tag) {
|
|
39998
40069
|
this.checkCurrentSectionType((0, $dce48cb70c4120bb$export$c53d0f541b41b88e), tag);
|
|
39999
40070
|
this.selector = tag.selector;
|
|
40071
|
+
this.selectorIsNegated = tag.isNegated;
|
|
40000
40072
|
if (sectionType === (0, $dce48cb70c4120bb$export$609cc0ea1637d6a0) && tag.value) this.sectionType = tag.value.split(" ")[0].toLowerCase();
|
|
40001
40073
|
else this.sectionType = sectionType;
|
|
40002
|
-
this.setCurrentProperties(sectionType, tag.selector);
|
|
40074
|
+
this.setCurrentProperties(sectionType, tag.selector, tag.isNegated);
|
|
40003
40075
|
}
|
|
40004
40076
|
endSection(sectionType, tag) {
|
|
40005
40077
|
this.checkCurrentSectionType(sectionType, tag);
|
|
40006
40078
|
this.sectionType = (0, $dce48cb70c4120bb$export$c53d0f541b41b88e);
|
|
40007
40079
|
this.selector = null;
|
|
40080
|
+
this.selectorIsNegated = false;
|
|
40008
40081
|
}
|
|
40009
40082
|
checkCurrentSectionType(sectionType, tag) {
|
|
40010
40083
|
if (this.sectionType !== sectionType && !(sectionType === "part" && tag.name === "end_of_part")) this.addWarning(`Unexpected tag {${tag.originalName}}, current section is: ${this.sectionType}`, tag);
|
|
@@ -40435,6 +40508,31 @@ ${formattedContentLines}`;
|
|
|
40435
40508
|
const metadataValueTruthy = metadataValue && metadataValue !== "";
|
|
40436
40509
|
return isNegated ? !metadataValueTruthy : !!metadataValueTruthy;
|
|
40437
40510
|
}
|
|
40511
|
+
function $4903bcb4483a26e6$var$formatDate(date) {
|
|
40512
|
+
const year = date.getFullYear();
|
|
40513
|
+
const month = String(date.getMonth() + 1).padStart(2, "0");
|
|
40514
|
+
const day = String(date.getDate()).padStart(2, "0");
|
|
40515
|
+
return `${year}-${month}-${day}`;
|
|
40516
|
+
}
|
|
40517
|
+
function $4903bcb4483a26e6$export$12c349605689fe7a() {
|
|
40518
|
+
const providers = /* @__PURE__ */ new Map();
|
|
40519
|
+
providers.set("chordpro", () => "ChordPro");
|
|
40520
|
+
providers.set("chordpro.version", () => "14.0.0");
|
|
40521
|
+
providers.set("today", () => $4903bcb4483a26e6$var$formatDate(/* @__PURE__ */ new Date()));
|
|
40522
|
+
return providers;
|
|
40523
|
+
}
|
|
40524
|
+
function $4903bcb4483a26e6$export$9b09a67f52000acf(configuration) {
|
|
40525
|
+
const providers = $4903bcb4483a26e6$export$12c349605689fe7a();
|
|
40526
|
+
const { instrument, user } = configuration;
|
|
40527
|
+
providers.set("instrument", () => instrument?.type ?? null);
|
|
40528
|
+
providers.set("instrument.type", () => instrument?.type ?? null);
|
|
40529
|
+
providers.set("instrument.description", () => instrument?.description ?? null);
|
|
40530
|
+
providers.set("tuning", () => instrument?.tuning ?? null);
|
|
40531
|
+
providers.set("user", () => user?.name ?? null);
|
|
40532
|
+
providers.set("user.name", () => user?.name ?? null);
|
|
40533
|
+
providers.set("user.fullname", () => user?.fullname ?? null);
|
|
40534
|
+
return providers;
|
|
40535
|
+
}
|
|
40438
40536
|
var $c53141c05fae8382$var$Song = class _$c53141c05fae8382$var$Song extends (0, $9047ab737bb447ce$export$2e2bcd8739ae039) {
|
|
40439
40537
|
/**
|
|
40440
40538
|
* Creates a new {Song} instance
|
|
@@ -40480,6 +40578,20 @@ ${formattedContentLines}`;
|
|
|
40480
40578
|
const expandedLines = this.lines.flatMap((line) => (0, $cbaaf2a368d4190f$export$2e2bcd8739ae039).expand(line, this));
|
|
40481
40579
|
return this.selectRenderableItems(this.linesToParagraphs(expandedLines));
|
|
40482
40580
|
}
|
|
40581
|
+
filterParagraphs(paragraphs, configuration) {
|
|
40582
|
+
const context = {
|
|
40583
|
+
configuration,
|
|
40584
|
+
metadata: this.metadata
|
|
40585
|
+
};
|
|
40586
|
+
return paragraphs.filter((paragraph) => {
|
|
40587
|
+
const { selector, selectorIsNegated } = paragraph;
|
|
40588
|
+
if (!selector) return true;
|
|
40589
|
+
return (0, $2ce1086ce25c9ac0$export$efb38dd75b8e2957)({
|
|
40590
|
+
selector,
|
|
40591
|
+
isNegated: selectorIsNegated
|
|
40592
|
+
}, context);
|
|
40593
|
+
});
|
|
40594
|
+
}
|
|
40483
40595
|
linesToParagraphs(lines) {
|
|
40484
40596
|
let currentParagraph = new (0, $8906e348466806fd$export$2e2bcd8739ae039)();
|
|
40485
40597
|
const paragraphs = [
|
|
@@ -40853,6 +40965,16 @@ Or set the song key before changing key:
|
|
|
40853
40965
|
}
|
|
40854
40966
|
getMetadata(configuration) {
|
|
40855
40967
|
const metadata = new (0, $5c7afec93ec943b9$export$2e2bcd8739ae039)();
|
|
40968
|
+
const providers = configuration ? (0, $4903bcb4483a26e6$export$9b09a67f52000acf)(configuration) : (0, $4903bcb4483a26e6$export$12c349605689fe7a)();
|
|
40969
|
+
providers.forEach((provider, key) => metadata.setProvider(key, provider));
|
|
40970
|
+
const chords = () => this.getChords();
|
|
40971
|
+
metadata.setProvider("chords", () => {
|
|
40972
|
+
const c4 = chords();
|
|
40973
|
+
return c4.length ? c4.join(", ") : null;
|
|
40974
|
+
});
|
|
40975
|
+
metadata.setProvider("numchords", () => chords().length.toString());
|
|
40976
|
+
metadata.setProvider("key_actual", () => metadata.getSingle("_key") ?? metadata.getSingle("key"));
|
|
40977
|
+
metadata.setProvider("key_from", () => metadata.getSingle("key"));
|
|
40856
40978
|
this.foreachItem((item) => {
|
|
40857
40979
|
if (!(item instanceof (0, $7251dad5f4a4c35f$export$2e2bcd8739ae039))) return;
|
|
40858
40980
|
const tag = item;
|
|
@@ -41803,31 +41925,35 @@ Or set the song key before changing key:
|
|
|
41803
41925
|
const peg$c151 = peg$literalExpectation("end_of_tab", false);
|
|
41804
41926
|
const peg$c152 = "eot";
|
|
41805
41927
|
const peg$c153 = peg$literalExpectation("eot", false);
|
|
41806
|
-
const peg$c154 =
|
|
41807
|
-
const peg$c155 = peg$
|
|
41808
|
-
const peg$c156 =
|
|
41809
|
-
const peg$c157 =
|
|
41810
|
-
const peg$c158 = peg$
|
|
41928
|
+
const peg$c154 = "start_of_textblock";
|
|
41929
|
+
const peg$c155 = peg$literalExpectation("start_of_textblock", false);
|
|
41930
|
+
const peg$c156 = "end_of_textblock";
|
|
41931
|
+
const peg$c157 = peg$literalExpectation("end_of_textblock", false);
|
|
41932
|
+
const peg$c158 = peg$anyExpectation();
|
|
41933
|
+
const peg$c159 = peg$otherExpectation("whitespace");
|
|
41934
|
+
const peg$c160 = peg$otherExpectation("optional whitespace");
|
|
41935
|
+
const peg$c161 = /^[ \t\n\r]/;
|
|
41936
|
+
const peg$c162 = peg$classExpectation([
|
|
41811
41937
|
" ",
|
|
41812
41938
|
" ",
|
|
41813
41939
|
"\n",
|
|
41814
41940
|
"\r"
|
|
41815
41941
|
], false, false);
|
|
41816
|
-
const peg$
|
|
41817
|
-
const peg$
|
|
41818
|
-
const peg$
|
|
41942
|
+
const peg$c163 = peg$otherExpectation("space");
|
|
41943
|
+
const peg$c164 = /^[ \t]/;
|
|
41944
|
+
const peg$c165 = peg$classExpectation([
|
|
41819
41945
|
" ",
|
|
41820
41946
|
" "
|
|
41821
41947
|
], false, false);
|
|
41822
|
-
const peg$
|
|
41823
|
-
const peg$
|
|
41948
|
+
const peg$c166 = /^[\n\r]/;
|
|
41949
|
+
const peg$c167 = peg$classExpectation([
|
|
41824
41950
|
"\n",
|
|
41825
41951
|
"\r"
|
|
41826
41952
|
], false, false);
|
|
41827
|
-
const peg$
|
|
41828
|
-
const peg$
|
|
41829
|
-
const peg$
|
|
41830
|
-
const peg$
|
|
41953
|
+
const peg$c168 = "\n";
|
|
41954
|
+
const peg$c169 = peg$literalExpectation("\n", false);
|
|
41955
|
+
const peg$c170 = "\r";
|
|
41956
|
+
const peg$c171 = peg$literalExpectation("\r", false);
|
|
41831
41957
|
let peg$currPos = 0;
|
|
41832
41958
|
let peg$savedPos = 0;
|
|
41833
41959
|
const peg$posDetailsCache = [
|
|
@@ -44015,7 +44141,10 @@ Or set the song key before changing key:
|
|
|
44015
44141
|
s0 = peg$parseGridSection();
|
|
44016
44142
|
if (s0 === peg$FAILED) {
|
|
44017
44143
|
s0 = peg$parseLySection();
|
|
44018
|
-
if (s0 === peg$FAILED)
|
|
44144
|
+
if (s0 === peg$FAILED) {
|
|
44145
|
+
s0 = peg$parseTabSection();
|
|
44146
|
+
if (s0 === peg$FAILED) s0 = peg$parseTextblockSection();
|
|
44147
|
+
}
|
|
44019
44148
|
}
|
|
44020
44149
|
}
|
|
44021
44150
|
return s0;
|
|
@@ -44944,6 +45073,228 @@ Or set the song key before changing key:
|
|
|
44944
45073
|
}
|
|
44945
45074
|
return s0;
|
|
44946
45075
|
}
|
|
45076
|
+
function peg$parseTextblockSection() {
|
|
45077
|
+
let s0, s1, s22, s3, s4, s5, s6, s7;
|
|
45078
|
+
s0 = peg$currPos;
|
|
45079
|
+
s1 = peg$parseTextblockStartTag();
|
|
45080
|
+
if (s1 !== peg$FAILED) {
|
|
45081
|
+
s22 = peg$parseNewLine();
|
|
45082
|
+
if (s22 !== peg$FAILED) {
|
|
45083
|
+
s3 = peg$currPos;
|
|
45084
|
+
s4 = [];
|
|
45085
|
+
s5 = peg$currPos;
|
|
45086
|
+
s6 = peg$currPos;
|
|
45087
|
+
peg$silentFails++;
|
|
45088
|
+
s7 = peg$parseTextblockEndTag();
|
|
45089
|
+
peg$silentFails--;
|
|
45090
|
+
if (s7 === peg$FAILED) s6 = void 0;
|
|
45091
|
+
else {
|
|
45092
|
+
peg$currPos = s6;
|
|
45093
|
+
s6 = peg$FAILED;
|
|
45094
|
+
}
|
|
45095
|
+
if (s6 !== peg$FAILED) {
|
|
45096
|
+
s7 = peg$parseSectionCharacter();
|
|
45097
|
+
if (s7 !== peg$FAILED) {
|
|
45098
|
+
s6 = [
|
|
45099
|
+
s6,
|
|
45100
|
+
s7
|
|
45101
|
+
];
|
|
45102
|
+
s5 = s6;
|
|
45103
|
+
} else {
|
|
45104
|
+
peg$currPos = s5;
|
|
45105
|
+
s5 = peg$FAILED;
|
|
45106
|
+
}
|
|
45107
|
+
} else {
|
|
45108
|
+
peg$currPos = s5;
|
|
45109
|
+
s5 = peg$FAILED;
|
|
45110
|
+
}
|
|
45111
|
+
while (s5 !== peg$FAILED) {
|
|
45112
|
+
s4.push(s5);
|
|
45113
|
+
s5 = peg$currPos;
|
|
45114
|
+
s6 = peg$currPos;
|
|
45115
|
+
peg$silentFails++;
|
|
45116
|
+
s7 = peg$parseTextblockEndTag();
|
|
45117
|
+
peg$silentFails--;
|
|
45118
|
+
if (s7 === peg$FAILED) s6 = void 0;
|
|
45119
|
+
else {
|
|
45120
|
+
peg$currPos = s6;
|
|
45121
|
+
s6 = peg$FAILED;
|
|
45122
|
+
}
|
|
45123
|
+
if (s6 !== peg$FAILED) {
|
|
45124
|
+
s7 = peg$parseSectionCharacter();
|
|
45125
|
+
if (s7 !== peg$FAILED) {
|
|
45126
|
+
s6 = [
|
|
45127
|
+
s6,
|
|
45128
|
+
s7
|
|
45129
|
+
];
|
|
45130
|
+
s5 = s6;
|
|
45131
|
+
} else {
|
|
45132
|
+
peg$currPos = s5;
|
|
45133
|
+
s5 = peg$FAILED;
|
|
45134
|
+
}
|
|
45135
|
+
} else {
|
|
45136
|
+
peg$currPos = s5;
|
|
45137
|
+
s5 = peg$FAILED;
|
|
45138
|
+
}
|
|
45139
|
+
}
|
|
45140
|
+
if (s4 !== peg$FAILED) s3 = input.substring(s3, peg$currPos);
|
|
45141
|
+
else s3 = s4;
|
|
45142
|
+
if (s3 !== peg$FAILED) {
|
|
45143
|
+
s4 = peg$parseTextblockEndTag();
|
|
45144
|
+
if (s4 !== peg$FAILED) {
|
|
45145
|
+
peg$savedPos = s0;
|
|
45146
|
+
s1 = peg$c128(s1, s3, s4);
|
|
45147
|
+
s0 = s1;
|
|
45148
|
+
} else {
|
|
45149
|
+
peg$currPos = s0;
|
|
45150
|
+
s0 = peg$FAILED;
|
|
45151
|
+
}
|
|
45152
|
+
} else {
|
|
45153
|
+
peg$currPos = s0;
|
|
45154
|
+
s0 = peg$FAILED;
|
|
45155
|
+
}
|
|
45156
|
+
} else {
|
|
45157
|
+
peg$currPos = s0;
|
|
45158
|
+
s0 = peg$FAILED;
|
|
45159
|
+
}
|
|
45160
|
+
} else {
|
|
45161
|
+
peg$currPos = s0;
|
|
45162
|
+
s0 = peg$FAILED;
|
|
45163
|
+
}
|
|
45164
|
+
return s0;
|
|
45165
|
+
}
|
|
45166
|
+
function peg$parseTextblockStartTag() {
|
|
45167
|
+
let s0, s1, s22, s3, s4, s5, s6, s7, s8;
|
|
45168
|
+
s0 = peg$currPos;
|
|
45169
|
+
if (input.charCodeAt(peg$currPos) === 123) {
|
|
45170
|
+
s1 = peg$c43;
|
|
45171
|
+
peg$currPos++;
|
|
45172
|
+
} else {
|
|
45173
|
+
s1 = peg$FAILED;
|
|
45174
|
+
if (peg$silentFails === 0) peg$fail(peg$c44);
|
|
45175
|
+
}
|
|
45176
|
+
if (s1 !== peg$FAILED) {
|
|
45177
|
+
s22 = peg$parse_();
|
|
45178
|
+
if (s22 !== peg$FAILED) {
|
|
45179
|
+
if (input.substr(peg$currPos, 18) === peg$c154) {
|
|
45180
|
+
s3 = peg$c154;
|
|
45181
|
+
peg$currPos += 18;
|
|
45182
|
+
} else {
|
|
45183
|
+
s3 = peg$FAILED;
|
|
45184
|
+
if (peg$silentFails === 0) peg$fail(peg$c155);
|
|
45185
|
+
}
|
|
45186
|
+
if (s3 !== peg$FAILED) {
|
|
45187
|
+
s4 = peg$parseTagSelector();
|
|
45188
|
+
if (s4 === peg$FAILED) s4 = null;
|
|
45189
|
+
if (s4 !== peg$FAILED) {
|
|
45190
|
+
s5 = peg$parse_();
|
|
45191
|
+
if (s5 !== peg$FAILED) {
|
|
45192
|
+
s6 = peg$parseTagColonWithValue();
|
|
45193
|
+
if (s6 === peg$FAILED) s6 = null;
|
|
45194
|
+
if (s6 !== peg$FAILED) {
|
|
45195
|
+
s7 = peg$parse_();
|
|
45196
|
+
if (s7 !== peg$FAILED) {
|
|
45197
|
+
if (input.charCodeAt(peg$currPos) === 125) {
|
|
45198
|
+
s8 = peg$c29;
|
|
45199
|
+
peg$currPos++;
|
|
45200
|
+
} else {
|
|
45201
|
+
s8 = peg$FAILED;
|
|
45202
|
+
if (peg$silentFails === 0) peg$fail(peg$c30);
|
|
45203
|
+
}
|
|
45204
|
+
if (s8 !== peg$FAILED) {
|
|
45205
|
+
peg$savedPos = s0;
|
|
45206
|
+
s1 = peg$c65(s3, s4, s6);
|
|
45207
|
+
s0 = s1;
|
|
45208
|
+
} else {
|
|
45209
|
+
peg$currPos = s0;
|
|
45210
|
+
s0 = peg$FAILED;
|
|
45211
|
+
}
|
|
45212
|
+
} else {
|
|
45213
|
+
peg$currPos = s0;
|
|
45214
|
+
s0 = peg$FAILED;
|
|
45215
|
+
}
|
|
45216
|
+
} else {
|
|
45217
|
+
peg$currPos = s0;
|
|
45218
|
+
s0 = peg$FAILED;
|
|
45219
|
+
}
|
|
45220
|
+
} else {
|
|
45221
|
+
peg$currPos = s0;
|
|
45222
|
+
s0 = peg$FAILED;
|
|
45223
|
+
}
|
|
45224
|
+
} else {
|
|
45225
|
+
peg$currPos = s0;
|
|
45226
|
+
s0 = peg$FAILED;
|
|
45227
|
+
}
|
|
45228
|
+
} else {
|
|
45229
|
+
peg$currPos = s0;
|
|
45230
|
+
s0 = peg$FAILED;
|
|
45231
|
+
}
|
|
45232
|
+
} else {
|
|
45233
|
+
peg$currPos = s0;
|
|
45234
|
+
s0 = peg$FAILED;
|
|
45235
|
+
}
|
|
45236
|
+
} else {
|
|
45237
|
+
peg$currPos = s0;
|
|
45238
|
+
s0 = peg$FAILED;
|
|
45239
|
+
}
|
|
45240
|
+
return s0;
|
|
45241
|
+
}
|
|
45242
|
+
function peg$parseTextblockEndTag() {
|
|
45243
|
+
let s0, s1, s22, s3, s4, s5;
|
|
45244
|
+
s0 = peg$currPos;
|
|
45245
|
+
if (input.charCodeAt(peg$currPos) === 123) {
|
|
45246
|
+
s1 = peg$c43;
|
|
45247
|
+
peg$currPos++;
|
|
45248
|
+
} else {
|
|
45249
|
+
s1 = peg$FAILED;
|
|
45250
|
+
if (peg$silentFails === 0) peg$fail(peg$c44);
|
|
45251
|
+
}
|
|
45252
|
+
if (s1 !== peg$FAILED) {
|
|
45253
|
+
s22 = peg$parse_();
|
|
45254
|
+
if (s22 !== peg$FAILED) {
|
|
45255
|
+
if (input.substr(peg$currPos, 16) === peg$c156) {
|
|
45256
|
+
s3 = peg$c156;
|
|
45257
|
+
peg$currPos += 16;
|
|
45258
|
+
} else {
|
|
45259
|
+
s3 = peg$FAILED;
|
|
45260
|
+
if (peg$silentFails === 0) peg$fail(peg$c157);
|
|
45261
|
+
}
|
|
45262
|
+
if (s3 !== peg$FAILED) {
|
|
45263
|
+
s4 = peg$parse_();
|
|
45264
|
+
if (s4 !== peg$FAILED) {
|
|
45265
|
+
if (input.charCodeAt(peg$currPos) === 125) {
|
|
45266
|
+
s5 = peg$c29;
|
|
45267
|
+
peg$currPos++;
|
|
45268
|
+
} else {
|
|
45269
|
+
s5 = peg$FAILED;
|
|
45270
|
+
if (peg$silentFails === 0) peg$fail(peg$c30);
|
|
45271
|
+
}
|
|
45272
|
+
if (s5 !== peg$FAILED) {
|
|
45273
|
+
peg$savedPos = s0;
|
|
45274
|
+
s1 = peg$c133(s3);
|
|
45275
|
+
s0 = s1;
|
|
45276
|
+
} else {
|
|
45277
|
+
peg$currPos = s0;
|
|
45278
|
+
s0 = peg$FAILED;
|
|
45279
|
+
}
|
|
45280
|
+
} else {
|
|
45281
|
+
peg$currPos = s0;
|
|
45282
|
+
s0 = peg$FAILED;
|
|
45283
|
+
}
|
|
45284
|
+
} else {
|
|
45285
|
+
peg$currPos = s0;
|
|
45286
|
+
s0 = peg$FAILED;
|
|
45287
|
+
}
|
|
45288
|
+
} else {
|
|
45289
|
+
peg$currPos = s0;
|
|
45290
|
+
s0 = peg$FAILED;
|
|
45291
|
+
}
|
|
45292
|
+
} else {
|
|
45293
|
+
peg$currPos = s0;
|
|
45294
|
+
s0 = peg$FAILED;
|
|
45295
|
+
}
|
|
45296
|
+
return s0;
|
|
45297
|
+
}
|
|
44947
45298
|
function peg$parseSectionCharacter() {
|
|
44948
45299
|
let s0;
|
|
44949
45300
|
if (input.length > peg$currPos) {
|
|
@@ -44951,7 +45302,7 @@ Or set the song key before changing key:
|
|
|
44951
45302
|
peg$currPos++;
|
|
44952
45303
|
} else {
|
|
44953
45304
|
s0 = peg$FAILED;
|
|
44954
|
-
if (peg$silentFails === 0) peg$fail(peg$
|
|
45305
|
+
if (peg$silentFails === 0) peg$fail(peg$c158);
|
|
44955
45306
|
}
|
|
44956
45307
|
return s0;
|
|
44957
45308
|
}
|
|
@@ -44968,7 +45319,7 @@ Or set the song key before changing key:
|
|
|
44968
45319
|
peg$silentFails--;
|
|
44969
45320
|
if (s0 === peg$FAILED) {
|
|
44970
45321
|
s1 = peg$FAILED;
|
|
44971
|
-
if (peg$silentFails === 0) peg$fail(peg$
|
|
45322
|
+
if (peg$silentFails === 0) peg$fail(peg$c159);
|
|
44972
45323
|
}
|
|
44973
45324
|
return s0;
|
|
44974
45325
|
}
|
|
@@ -44984,18 +45335,18 @@ Or set the song key before changing key:
|
|
|
44984
45335
|
peg$silentFails--;
|
|
44985
45336
|
if (s0 === peg$FAILED) {
|
|
44986
45337
|
s1 = peg$FAILED;
|
|
44987
|
-
if (peg$silentFails === 0) peg$fail(peg$
|
|
45338
|
+
if (peg$silentFails === 0) peg$fail(peg$c160);
|
|
44988
45339
|
}
|
|
44989
45340
|
return s0;
|
|
44990
45341
|
}
|
|
44991
45342
|
function peg$parseWhitespaceCharacter() {
|
|
44992
45343
|
let s0;
|
|
44993
|
-
if (peg$
|
|
45344
|
+
if (peg$c161.test(input.charAt(peg$currPos))) {
|
|
44994
45345
|
s0 = input.charAt(peg$currPos);
|
|
44995
45346
|
peg$currPos++;
|
|
44996
45347
|
} else {
|
|
44997
45348
|
s0 = peg$FAILED;
|
|
44998
|
-
if (peg$silentFails === 0) peg$fail(peg$
|
|
45349
|
+
if (peg$silentFails === 0) peg$fail(peg$c162);
|
|
44999
45350
|
}
|
|
45000
45351
|
return s0;
|
|
45001
45352
|
}
|
|
@@ -45004,21 +45355,21 @@ Or set the song key before changing key:
|
|
|
45004
45355
|
peg$silentFails++;
|
|
45005
45356
|
s0 = peg$currPos;
|
|
45006
45357
|
s1 = [];
|
|
45007
|
-
if (peg$
|
|
45358
|
+
if (peg$c164.test(input.charAt(peg$currPos))) {
|
|
45008
45359
|
s22 = input.charAt(peg$currPos);
|
|
45009
45360
|
peg$currPos++;
|
|
45010
45361
|
} else {
|
|
45011
45362
|
s22 = peg$FAILED;
|
|
45012
|
-
if (peg$silentFails === 0) peg$fail(peg$
|
|
45363
|
+
if (peg$silentFails === 0) peg$fail(peg$c165);
|
|
45013
45364
|
}
|
|
45014
45365
|
if (s22 !== peg$FAILED) while (s22 !== peg$FAILED) {
|
|
45015
45366
|
s1.push(s22);
|
|
45016
|
-
if (peg$
|
|
45367
|
+
if (peg$c164.test(input.charAt(peg$currPos))) {
|
|
45017
45368
|
s22 = input.charAt(peg$currPos);
|
|
45018
45369
|
peg$currPos++;
|
|
45019
45370
|
} else {
|
|
45020
45371
|
s22 = peg$FAILED;
|
|
45021
|
-
if (peg$silentFails === 0) peg$fail(peg$
|
|
45372
|
+
if (peg$silentFails === 0) peg$fail(peg$c165);
|
|
45022
45373
|
}
|
|
45023
45374
|
}
|
|
45024
45375
|
else s1 = peg$FAILED;
|
|
@@ -45027,18 +45378,18 @@ Or set the song key before changing key:
|
|
|
45027
45378
|
peg$silentFails--;
|
|
45028
45379
|
if (s0 === peg$FAILED) {
|
|
45029
45380
|
s1 = peg$FAILED;
|
|
45030
|
-
if (peg$silentFails === 0) peg$fail(peg$
|
|
45381
|
+
if (peg$silentFails === 0) peg$fail(peg$c163);
|
|
45031
45382
|
}
|
|
45032
45383
|
return s0;
|
|
45033
45384
|
}
|
|
45034
45385
|
function peg$parseNewLine() {
|
|
45035
45386
|
let s0;
|
|
45036
|
-
if (peg$
|
|
45387
|
+
if (peg$c166.test(input.charAt(peg$currPos))) {
|
|
45037
45388
|
s0 = input.charAt(peg$currPos);
|
|
45038
45389
|
peg$currPos++;
|
|
45039
45390
|
} else {
|
|
45040
45391
|
s0 = peg$FAILED;
|
|
45041
|
-
if (peg$silentFails === 0) peg$fail(peg$
|
|
45392
|
+
if (peg$silentFails === 0) peg$fail(peg$c167);
|
|
45042
45393
|
}
|
|
45043
45394
|
if (s0 === peg$FAILED) s0 = peg$parseCarriageReturnLineFeed();
|
|
45044
45395
|
return s0;
|
|
@@ -45068,22 +45419,22 @@ Or set the song key before changing key:
|
|
|
45068
45419
|
function peg$parseLineFeed() {
|
|
45069
45420
|
let s0;
|
|
45070
45421
|
if (input.charCodeAt(peg$currPos) === 10) {
|
|
45071
|
-
s0 = peg$
|
|
45422
|
+
s0 = peg$c168;
|
|
45072
45423
|
peg$currPos++;
|
|
45073
45424
|
} else {
|
|
45074
45425
|
s0 = peg$FAILED;
|
|
45075
|
-
if (peg$silentFails === 0) peg$fail(peg$
|
|
45426
|
+
if (peg$silentFails === 0) peg$fail(peg$c169);
|
|
45076
45427
|
}
|
|
45077
45428
|
return s0;
|
|
45078
45429
|
}
|
|
45079
45430
|
function peg$parseCarriageReturn() {
|
|
45080
45431
|
let s0;
|
|
45081
45432
|
if (input.charCodeAt(peg$currPos) === 13) {
|
|
45082
|
-
s0 = peg$
|
|
45433
|
+
s0 = peg$c170;
|
|
45083
45434
|
peg$currPos++;
|
|
45084
45435
|
} else {
|
|
45085
45436
|
s0 = peg$FAILED;
|
|
45086
|
-
if (peg$silentFails === 0) peg$fail(peg$
|
|
45437
|
+
if (peg$silentFails === 0) peg$fail(peg$c171);
|
|
45087
45438
|
}
|
|
45088
45439
|
return s0;
|
|
45089
45440
|
}
|
|
@@ -45478,7 +45829,8 @@ Or set the song key before changing key:
|
|
|
45478
45829
|
return header + paragraphs;
|
|
45479
45830
|
}
|
|
45480
45831
|
formatHeader() {
|
|
45481
|
-
const
|
|
45832
|
+
const songMetadata = this.song.getMetadata(this.configuration);
|
|
45833
|
+
const orderedMetadata = (0, $f9c5006b26957916$export$5c964b66c4a8abfb)(songMetadata.ownMetadata(), this.configuration.metadata);
|
|
45482
45834
|
const metadata = orderedMetadata.map(([key, value]) => {
|
|
45483
45835
|
if (Array.isArray(value)) return `${key}: ${value.join(",")}`;
|
|
45484
45836
|
if (typeof value === "undefined" || value === null || value === "") return `${key}:`;
|
|
@@ -45489,8 +45841,10 @@ Or set the song key before changing key:
|
|
|
45489
45841
|
` : "";
|
|
45490
45842
|
}
|
|
45491
45843
|
formatParagraphs() {
|
|
45492
|
-
const
|
|
45493
|
-
const
|
|
45844
|
+
const metadata = this.song.getMetadata(this.configuration);
|
|
45845
|
+
const paragraphs = this.song.filterParagraphs(this.song.bodyParagraphs, this.configuration);
|
|
45846
|
+
const count = paragraphs.length;
|
|
45847
|
+
const formattedParagraphs = paragraphs.map((paragraph) => this.formatParagraph(paragraph, metadata));
|
|
45494
45848
|
const combined = formattedParagraphs.join("\n\n");
|
|
45495
45849
|
if (formattedParagraphs[count - 1].length === 0) return combined.substring(0, combined.length - 1);
|
|
45496
45850
|
return combined;
|
|
@@ -57847,7 +58201,7 @@ Or set the song key before changing key:
|
|
|
57847
58201
|
}
|
|
57848
58202
|
};
|
|
57849
58203
|
var $df9247d334a0483e$export$2e2bcd8739ae039 = $df9247d334a0483e$var$ChordsOverWordsParser;
|
|
57850
|
-
var $1408adfd7317f0b6$export$2e2bcd8739ae039 = ({ configuration, configuration: { key, cssClasses: c4 }, song, renderBlankLines = false, song: { title, subtitle
|
|
58204
|
+
var $1408adfd7317f0b6$export$2e2bcd8739ae039 = ({ configuration, configuration: { key, cssClasses: c4 }, song, metadata, renderBlankLines = false, song: { title, subtitle }, bodyParagraphs }) => (0, $f9c5006b26957916$export$6ea1b0eb82ead3f)(`
|
|
57851
58205
|
${(0, $f9c5006b26957916$export$a55877ca9db47377)(title, () => `<h1 class="${c4.title}">${title}</h1>`)}
|
|
57852
58206
|
${(0, $f9c5006b26957916$export$a55877ca9db47377)(subtitle, () => `<h2 class="${c4.subtitle}">${subtitle}</h2>`)}
|
|
57853
58207
|
|
|
@@ -57925,10 +58279,12 @@ Or set the song key before changing key:
|
|
|
57925
58279
|
*/
|
|
57926
58280
|
format(song) {
|
|
57927
58281
|
const { bodyParagraphs, expandedBodyParagraphs } = song;
|
|
58282
|
+
const paragraphs = this.configuration.expandChorusDirective ? expandedBodyParagraphs : bodyParagraphs;
|
|
57928
58283
|
return this.template({
|
|
57929
58284
|
song,
|
|
58285
|
+
metadata: song.getMetadata(this.configuration),
|
|
57930
58286
|
configuration: this.configuration,
|
|
57931
|
-
bodyParagraphs: this.configuration
|
|
58287
|
+
bodyParagraphs: song.filterParagraphs(paragraphs, this.configuration)
|
|
57932
58288
|
});
|
|
57933
58289
|
}
|
|
57934
58290
|
/**
|
|
@@ -57992,7 +58348,7 @@ Or set the song key before changing key:
|
|
|
57992
58348
|
}
|
|
57993
58349
|
};
|
|
57994
58350
|
var $d9bea8c73e9a5034$export$2e2bcd8739ae039 = $d9bea8c73e9a5034$var$HtmlDivFormatter;
|
|
57995
|
-
var $396f7048979e89c9$export$2e2bcd8739ae039 = ({ configuration, configuration: { key, cssClasses: c4 }, song, renderBlankLines = false, song: { title, subtitle, bodyLines
|
|
58351
|
+
var $396f7048979e89c9$export$2e2bcd8739ae039 = ({ configuration, configuration: { key, cssClasses: c4 }, song, metadata, renderBlankLines = false, song: { title, subtitle, bodyLines }, bodyParagraphs }) => (0, $f9c5006b26957916$export$6ea1b0eb82ead3f)(`
|
|
57996
58352
|
${(0, $f9c5006b26957916$export$a55877ca9db47377)(title, () => `<h1 class="${c4.title}">${title}</h1>`)}
|
|
57997
58353
|
${(0, $f9c5006b26957916$export$a55877ca9db47377)(subtitle, () => `<h2 class="${c4.subtitle}">${subtitle}</h2>`)}
|
|
57998
58354
|
|
|
@@ -58813,7 +59169,7 @@ Or set the song key before changing key:
|
|
|
58813
59169
|
*/
|
|
58814
59170
|
format(song, metadata) {
|
|
58815
59171
|
this.song = song;
|
|
58816
|
-
this.metadata = metadata || song.
|
|
59172
|
+
this.metadata = metadata || song.getMetadata(this.configuration);
|
|
58817
59173
|
return [
|
|
58818
59174
|
this.formatHeader(),
|
|
58819
59175
|
this.formatParagraphs()
|
|
@@ -58831,7 +59187,8 @@ Or set the song key before changing key:
|
|
|
58831
59187
|
formatParagraphs() {
|
|
58832
59188
|
const { bodyParagraphs, expandedBodyParagraphs } = this.song;
|
|
58833
59189
|
const { expandChorusDirective } = this.configuration;
|
|
58834
|
-
|
|
59190
|
+
const paragraphs = expandChorusDirective ? expandedBodyParagraphs : bodyParagraphs;
|
|
59191
|
+
return this.song.filterParagraphs(paragraphs, this.configuration).map((paragraph) => this.formatParagraph(paragraph, this.metadata)).join("\n\n");
|
|
58835
59192
|
}
|
|
58836
59193
|
formatParagraph(paragraph, metadata) {
|
|
58837
59194
|
if (paragraph.isLiteral()) return [
|
|
@@ -58930,10 +59287,10 @@ Or set the song key before changing key:
|
|
|
58930
59287
|
*/
|
|
58931
59288
|
shouldRenderContent(contentItem) {
|
|
58932
59289
|
if (!contentItem.condition) return true;
|
|
58933
|
-
const metadata =
|
|
58934
|
-
|
|
58935
|
-
|
|
58936
|
-
};
|
|
59290
|
+
const { metadata: songMetadata, extraMetadata } = this.context;
|
|
59291
|
+
const metadata = new Proxy({}, {
|
|
59292
|
+
get: (_3, prop) => extraMetadata?.[prop] ?? songMetadata.get(prop)
|
|
59293
|
+
});
|
|
58937
59294
|
return new (0, $bdd8c6196670168a$export$2e2bcd8739ae039)(contentItem.condition, metadata).evaluate();
|
|
58938
59295
|
}
|
|
58939
59296
|
/**
|
|
@@ -59022,7 +59379,9 @@ Or set the song key before changing key:
|
|
|
59022
59379
|
|
|
59023
59380
|
${template}
|
|
59024
59381
|
|
|
59025
|
-
: ${e2.message}
|
|
59382
|
+
: ${e2.message}`, {
|
|
59383
|
+
cause: e2
|
|
59384
|
+
});
|
|
59026
59385
|
}
|
|
59027
59386
|
}
|
|
59028
59387
|
/**
|
|
@@ -60089,8 +60448,7 @@ ${template}
|
|
|
60089
60448
|
* Removes hyphens from lyrics for lyrics-only mode
|
|
60090
60449
|
*/
|
|
60091
60450
|
removeHyphens(lyrics) {
|
|
60092
|
-
let cleanedLyrics = lyrics;
|
|
60093
|
-
cleanedLyrics = lyrics.replace(/\b(\w+)\s*-\s*(\w+)\b/g, "$1$2");
|
|
60451
|
+
let cleanedLyrics = lyrics.replace(/\b(\w+)\s*-\s*(\w+)\b/g, "$1$2");
|
|
60094
60452
|
cleanedLyrics = cleanedLyrics.replace(/(?:\b(\w+)\s*-\s*$)|(?:-\s*$)|(?:\s+-\s+$)/g, "$1");
|
|
60095
60453
|
if (/^\s*-\s*$/.test(cleanedLyrics)) return "";
|
|
60096
60454
|
return cleanedLyrics;
|
|
@@ -68762,15 +69120,24 @@ AjwCRQJ5AAAAAAABAAAAANpTmfAAAAAA0e+yRgAAAADR77JG
|
|
|
68762
69120
|
};
|
|
68763
69121
|
var $f6d6d454eefadbec$export$2e2bcd8739ae039 = $f6d6d454eefadbec$var$PdfFormatter;
|
|
68764
69122
|
var $a5a21ced491ea51f$var$VERSE_LINE_REGEX = /^\[(Verse.*)]/i;
|
|
68765
|
-
var $a5a21ced491ea51f$var$CHORUS_LINE_REGEX = /^\[(Chorus)]/i;
|
|
69123
|
+
var $a5a21ced491ea51f$var$CHORUS_LINE_REGEX = /^\[(Chorus.*)]/i;
|
|
69124
|
+
var $a5a21ced491ea51f$var$BRIDGE_LINE_REGEX = /^\[(Bridge.*)]/i;
|
|
69125
|
+
var $a5a21ced491ea51f$var$PART_LINE_REGEX = /^\[(Intro|Outro|Instrumental|Interlude|Solo|Pre-Chorus)( \d+)?]/i;
|
|
69126
|
+
var $a5a21ced491ea51f$var$UG_METADATA_REGEX = /^(\w+):\s*(.+)$/;
|
|
68766
69127
|
var $a5a21ced491ea51f$var$OTHER_METADATA_LINE_REGEX = /^\[([^\]]+)]/;
|
|
69128
|
+
var $a5a21ced491ea51f$var$REPEAT_NOTATION_REGEX = /\s+(x\d+)\s*$/i;
|
|
69129
|
+
var $a5a21ced491ea51f$var$CHORD_LINE_REGEX = /^\s*((([A-G|Do|Re|Mi|Fa|Sol|La|Si])(#|b)?([^/\s]*)(\/([A-G|Do|Re|Mi|Fa|Sol|La|Si])(#|b)?)?)(\s|$)+)+(\s|$)+/;
|
|
68767
69130
|
var $a5a21ced491ea51f$var$startSectionTags = {
|
|
68768
69131
|
[(0, $dce48cb70c4120bb$export$4b194284baed1659)]: (0, $d21c5c7a462f3c34$export$deca399f8cd9b7dc),
|
|
68769
|
-
[(0, $dce48cb70c4120bb$export$8db6c706fc9142b2)]: (0, $d21c5c7a462f3c34$export$4f5168acae064e01)
|
|
69132
|
+
[(0, $dce48cb70c4120bb$export$8db6c706fc9142b2)]: (0, $d21c5c7a462f3c34$export$4f5168acae064e01),
|
|
69133
|
+
[(0, $dce48cb70c4120bb$export$78d8c50e853acd10)]: (0, $d21c5c7a462f3c34$export$3550cc87694d54e0),
|
|
69134
|
+
[(0, $dce48cb70c4120bb$export$609cc0ea1637d6a0)]: (0, $d21c5c7a462f3c34$export$2b9510a208875fc9)
|
|
68770
69135
|
};
|
|
68771
69136
|
var $a5a21ced491ea51f$var$endSectionTags = {
|
|
68772
69137
|
[(0, $dce48cb70c4120bb$export$4b194284baed1659)]: (0, $d21c5c7a462f3c34$export$640d294ab83f9040),
|
|
68773
|
-
[(0, $dce48cb70c4120bb$export$8db6c706fc9142b2)]: (0, $d21c5c7a462f3c34$export$473c1a4819e5180b)
|
|
69138
|
+
[(0, $dce48cb70c4120bb$export$8db6c706fc9142b2)]: (0, $d21c5c7a462f3c34$export$473c1a4819e5180b),
|
|
69139
|
+
[(0, $dce48cb70c4120bb$export$78d8c50e853acd10)]: (0, $d21c5c7a462f3c34$export$1c874e9780385ecd),
|
|
69140
|
+
[(0, $dce48cb70c4120bb$export$609cc0ea1637d6a0)]: (0, $d21c5c7a462f3c34$export$189f12065cceb96a)
|
|
68774
69141
|
};
|
|
68775
69142
|
var $a5a21ced491ea51f$var$UltimateGuitarParser = class extends (0, $e136d63bbe28a4e0$export$2e2bcd8739ae039) {
|
|
68776
69143
|
/**
|
|
@@ -68781,11 +69148,111 @@ AjwCRQJ5AAAAAAABAAAAANpTmfAAAAAA0e+yRgAAAADR77JG
|
|
|
68781
69148
|
constructor({ preserveWhitespace = true } = {}) {
|
|
68782
69149
|
super({
|
|
68783
69150
|
preserveWhitespace
|
|
68784
|
-
}, false), this.currentSectionType = null;
|
|
69151
|
+
}, false), this.currentSectionType = null, this.pendingRepeatNotation = null;
|
|
68785
69152
|
}
|
|
68786
69153
|
parseLine(line) {
|
|
68787
69154
|
if (this.isSectionEnd()) this.endSection();
|
|
68788
|
-
|
|
69155
|
+
const { cleanLine, repeatNotation } = this.extractRepeatNotation(line);
|
|
69156
|
+
this.pendingRepeatNotation = repeatNotation;
|
|
69157
|
+
if (!(this.parseVerseDirective(cleanLine) || this.parseChorusDirective(cleanLine) || this.parseBridgeDirective(cleanLine) || this.parsePartDirective(cleanLine) || this.parseUGMetadata(cleanLine) || this.parseMetadata(cleanLine))) this.parseRegularLine(cleanLine);
|
|
69158
|
+
}
|
|
69159
|
+
parseRegularLine(line) {
|
|
69160
|
+
this.songLine = this.songBuilder.addLine();
|
|
69161
|
+
if (line.trim().length === 0) this.chordLyricsPair = null;
|
|
69162
|
+
else this.parseNonEmptyLine(line);
|
|
69163
|
+
}
|
|
69164
|
+
parseNonEmptyLine(line) {
|
|
69165
|
+
if (!this.songLine) throw new Error("Expected this.songLine to be present");
|
|
69166
|
+
this.chordLyricsPair = this.songLine.addChordLyricsPair();
|
|
69167
|
+
const isChordLine = $a5a21ced491ea51f$var$CHORD_LINE_REGEX.test(line);
|
|
69168
|
+
if (isChordLine && this.hasNextLine()) this.parseChordLineWithNextLine(line);
|
|
69169
|
+
else if (isChordLine) this.parseChordsOnly(line);
|
|
69170
|
+
else this.chordLyricsPair.lyrics = `${line}`;
|
|
69171
|
+
}
|
|
69172
|
+
parseChordLineWithNextLine(chordsLine) {
|
|
69173
|
+
const nextLine = this.readLine();
|
|
69174
|
+
if (this.isNonLyricsLine(nextLine)) {
|
|
69175
|
+
this.parseChordsOnly(chordsLine);
|
|
69176
|
+
this.unreadLine();
|
|
69177
|
+
} else this.parseLyricsWithChords(chordsLine, nextLine);
|
|
69178
|
+
}
|
|
69179
|
+
unreadLine() {
|
|
69180
|
+
this.currentLine -= 1;
|
|
69181
|
+
}
|
|
69182
|
+
isNonLyricsLine(line) {
|
|
69183
|
+
return $a5a21ced491ea51f$var$VERSE_LINE_REGEX.test(line) || $a5a21ced491ea51f$var$CHORUS_LINE_REGEX.test(line) || $a5a21ced491ea51f$var$BRIDGE_LINE_REGEX.test(line) || $a5a21ced491ea51f$var$PART_LINE_REGEX.test(line) || $a5a21ced491ea51f$var$OTHER_METADATA_LINE_REGEX.test(line) || $a5a21ced491ea51f$var$CHORD_LINE_REGEX.test(line) || line.trim().length === 0;
|
|
69184
|
+
}
|
|
69185
|
+
parseChordsOnly(chordsLine) {
|
|
69186
|
+
this.parseLyricsWithChords(chordsLine, "");
|
|
69187
|
+
this.applyRepeatNotation();
|
|
69188
|
+
}
|
|
69189
|
+
parseLyricsWithChords(chordsLine, lyricsLine) {
|
|
69190
|
+
this.processCharacters(chordsLine, lyricsLine);
|
|
69191
|
+
if (!this.chordLyricsPair) throw new Error("Expected this.chordLyricsPair to be present");
|
|
69192
|
+
this.chordLyricsPair.lyrics += lyricsLine.substring(chordsLine.length);
|
|
69193
|
+
this.chordLyricsPair.chords = this.chordLyricsPair.chords.trim();
|
|
69194
|
+
if (this.chordLyricsPair.lyrics) this.chordLyricsPair.lyrics = this.chordLyricsPair.lyrics.trim();
|
|
69195
|
+
this.applyRepeatNotation();
|
|
69196
|
+
}
|
|
69197
|
+
processCharacters(chordsLine, lyricsLine) {
|
|
69198
|
+
for (let c4 = 0, charCount = chordsLine.length; c4 < charCount; c4 += 1) {
|
|
69199
|
+
const chr = chordsLine[c4];
|
|
69200
|
+
const nextChar = chordsLine[c4 + 1];
|
|
69201
|
+
const isWhiteSpace = /\s/.test(chr);
|
|
69202
|
+
this.addCharacter(chr, nextChar);
|
|
69203
|
+
if (!this.chordLyricsPair) throw new Error("Expected this.chordLyricsPair to be present");
|
|
69204
|
+
this.chordLyricsPair.lyrics += lyricsLine[c4] || "";
|
|
69205
|
+
this.processingText = !isWhiteSpace;
|
|
69206
|
+
}
|
|
69207
|
+
}
|
|
69208
|
+
addCharacter(chr, nextChar) {
|
|
69209
|
+
const isWhiteSpace = /\s/.test(chr);
|
|
69210
|
+
if (!isWhiteSpace) this.ensureChordLyricsPairInitialized();
|
|
69211
|
+
if (!isWhiteSpace || this.shouldAddCharacterToChords(nextChar)) {
|
|
69212
|
+
if (!this.chordLyricsPair) throw new Error("Expected this.chordLyricsPair to be present");
|
|
69213
|
+
this.chordLyricsPair.chords += chr;
|
|
69214
|
+
}
|
|
69215
|
+
}
|
|
69216
|
+
shouldAddCharacterToChords(nextChar) {
|
|
69217
|
+
return !!(nextChar && /\s/.test(nextChar) && this.preserveWhitespace);
|
|
69218
|
+
}
|
|
69219
|
+
ensureChordLyricsPairInitialized() {
|
|
69220
|
+
if (!this.processingText) {
|
|
69221
|
+
if (!this.songLine) throw new Error("Expected this.songLine to be present");
|
|
69222
|
+
this.chordLyricsPair = this.songLine.addChordLyricsPair();
|
|
69223
|
+
this.processingText = true;
|
|
69224
|
+
}
|
|
69225
|
+
}
|
|
69226
|
+
extractRepeatNotation(line) {
|
|
69227
|
+
const match = line.match($a5a21ced491ea51f$var$REPEAT_NOTATION_REGEX);
|
|
69228
|
+
if (match) return {
|
|
69229
|
+
cleanLine: line.replace($a5a21ced491ea51f$var$REPEAT_NOTATION_REGEX, ""),
|
|
69230
|
+
repeatNotation: match[1]
|
|
69231
|
+
};
|
|
69232
|
+
return {
|
|
69233
|
+
cleanLine: line,
|
|
69234
|
+
repeatNotation: null
|
|
69235
|
+
};
|
|
69236
|
+
}
|
|
69237
|
+
applyRepeatNotation() {
|
|
69238
|
+
if (!this.pendingRepeatNotation || !this.songLine) return;
|
|
69239
|
+
const lastItem = this.songLine.items[this.songLine.items.length - 1];
|
|
69240
|
+
if (lastItem && "lyrics" in lastItem) lastItem.lyrics = (lastItem.lyrics || "") + this.pendingRepeatNotation;
|
|
69241
|
+
this.pendingRepeatNotation = null;
|
|
69242
|
+
}
|
|
69243
|
+
parseUGMetadata(line) {
|
|
69244
|
+
const match = line.match($a5a21ced491ea51f$var$UG_METADATA_REGEX);
|
|
69245
|
+
if (!match) return false;
|
|
69246
|
+
const tagName = match[1].toLowerCase();
|
|
69247
|
+
if (!(0, $7251dad5f4a4c35f$export$57ecf0dc09effb3).includes(tagName)) return false;
|
|
69248
|
+
const value = tagName === (0, $d21c5c7a462f3c34$export$866f445d49bad88e) ? this.extractCapoValue(match[2]) : match[2].trim();
|
|
69249
|
+
this.startNewLine();
|
|
69250
|
+
this.songBuilder.addTag(new (0, $7251dad5f4a4c35f$export$2e2bcd8739ae039)(tagName, value));
|
|
69251
|
+
return true;
|
|
69252
|
+
}
|
|
69253
|
+
extractCapoValue(rawValue) {
|
|
69254
|
+
const [, capoNumber] = rawValue.match(/^(\d+)/) || [];
|
|
69255
|
+
return capoNumber || rawValue.trim();
|
|
68789
69256
|
}
|
|
68790
69257
|
parseVerseDirective(line) {
|
|
68791
69258
|
const match = line.match($a5a21ced491ea51f$var$VERSE_LINE_REGEX);
|
|
@@ -68803,6 +69270,22 @@ AjwCRQJ5AAAAAAABAAAAANpTmfAAAAAA0e+yRgAAAADR77JG
|
|
|
68803
69270
|
this.startSection((0, $dce48cb70c4120bb$export$8db6c706fc9142b2), label);
|
|
68804
69271
|
return true;
|
|
68805
69272
|
}
|
|
69273
|
+
parseBridgeDirective(line) {
|
|
69274
|
+
const match = line.match($a5a21ced491ea51f$var$BRIDGE_LINE_REGEX);
|
|
69275
|
+
if (!match) return false;
|
|
69276
|
+
this.startNewLine();
|
|
69277
|
+
const label = match[1];
|
|
69278
|
+
this.startSection((0, $dce48cb70c4120bb$export$78d8c50e853acd10), label);
|
|
69279
|
+
return true;
|
|
69280
|
+
}
|
|
69281
|
+
parsePartDirective(line) {
|
|
69282
|
+
const match = line.match($a5a21ced491ea51f$var$PART_LINE_REGEX);
|
|
69283
|
+
if (!match) return false;
|
|
69284
|
+
this.startNewLine();
|
|
69285
|
+
const label = match[1] + (match[2] || "");
|
|
69286
|
+
this.startSection((0, $dce48cb70c4120bb$export$609cc0ea1637d6a0), label);
|
|
69287
|
+
return true;
|
|
69288
|
+
}
|
|
68806
69289
|
parseMetadata(line) {
|
|
68807
69290
|
const match = line.match($a5a21ced491ea51f$var$OTHER_METADATA_LINE_REGEX);
|
|
68808
69291
|
if (!match) return false;
|
|
@@ -68830,7 +69313,11 @@ AjwCRQJ5AAAAAAABAAAAANpTmfAAAAAA0e+yRgAAAADR77JG
|
|
|
68830
69313
|
}
|
|
68831
69314
|
endSection({ addNewLine = true } = {}) {
|
|
68832
69315
|
if (this.currentSectionType !== null && this.currentSectionType in $a5a21ced491ea51f$var$endSectionTags) {
|
|
68833
|
-
this.
|
|
69316
|
+
if (this.songLine && this.songLine.isEmpty()) this.songLine.addTag(new (0, $7251dad5f4a4c35f$export$2e2bcd8739ae039)($a5a21ced491ea51f$var$endSectionTags[this.currentSectionType]));
|
|
69317
|
+
else {
|
|
69318
|
+
const endTagLine = this.songBuilder.addLine();
|
|
69319
|
+
endTagLine.addTag(new (0, $7251dad5f4a4c35f$export$2e2bcd8739ae039)($a5a21ced491ea51f$var$endSectionTags[this.currentSectionType]));
|
|
69320
|
+
}
|
|
68834
69321
|
if (addNewLine) this.startNewLine();
|
|
68835
69322
|
}
|
|
68836
69323
|
this.songBuilder.setCurrentProperties((0, $dce48cb70c4120bb$export$c53d0f541b41b88e));
|
|
@@ -68841,7 +69328,7 @@ AjwCRQJ5AAAAAAABAAAAANpTmfAAAAAA0e+yRgAAAADR77JG
|
|
|
68841
69328
|
}
|
|
68842
69329
|
};
|
|
68843
69330
|
var $a5a21ced491ea51f$export$2e2bcd8739ae039 = $a5a21ced491ea51f$var$UltimateGuitarParser;
|
|
68844
|
-
var $ae92e002ce14f11a$export$2e2bcd8739ae039 = "
|
|
69331
|
+
var $ae92e002ce14f11a$export$2e2bcd8739ae039 = "14.1.0";
|
|
68845
69332
|
var $a3816b486f741c00$exports = {};
|
|
68846
69333
|
var $892913528e7f60f9$export$2e2bcd8739ae039 = {
|
|
68847
69334
|
CHORUS: $dce48cb70c4120bb$export$8db6c706fc9142b2,
|
|
@@ -68870,6 +69357,7 @@ AjwCRQJ5AAAAAAABAAAAANpTmfAAAAAA0e+yRgAAAADR77JG
|
|
|
68870
69357
|
SoftLineBreak: $4b6dd3e4b817bd81$export$2e2bcd8739ae039,
|
|
68871
69358
|
Song: $c53141c05fae8382$export$2e2bcd8739ae039,
|
|
68872
69359
|
TAB: $dce48cb70c4120bb$export$f1c9dd0f5207dd5e,
|
|
69360
|
+
TEXTBLOCK: $dce48cb70c4120bb$export$5a2cf64ea612936a,
|
|
68873
69361
|
Tag: $7251dad5f4a4c35f$export$2e2bcd8739ae039,
|
|
68874
69362
|
Ternary: $15f1d40e3d1ed3a0$export$2e2bcd8739ae039,
|
|
68875
69363
|
TextFormatter: $992b73e4d56a0aef$export$2e2bcd8739ae039,
|
|
@@ -68931,7 +69419,7 @@ html2canvas/dist/html2canvas.js:
|
|
|
68931
69419
|
***************************************************************************** *)
|
|
68932
69420
|
|
|
68933
69421
|
dompurify/dist/purify.es.mjs:
|
|
68934
|
-
(*! @license DOMPurify 3.3.
|
|
69422
|
+
(*! @license DOMPurify 3.3.2 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.3.2/LICENSE *)
|
|
68935
69423
|
|
|
68936
69424
|
svg-pathdata/lib/SVGPathData.module.js:
|
|
68937
69425
|
(*! *****************************************************************************
|
|
@@ -68953,7 +69441,7 @@ jspdf/dist/jspdf.es.min.js:
|
|
|
68953
69441
|
(** @license
|
|
68954
69442
|
*
|
|
68955
69443
|
* jsPDF - PDF Document creation from JavaScript
|
|
68956
|
-
* Version 4.
|
|
69444
|
+
* Version 4.2.0 Built on 2026-02-19T09:43:09.013Z
|
|
68957
69445
|
* CommitID 00000000
|
|
68958
69446
|
*
|
|
68959
69447
|
* Copyright (c) 2010-2025 James Hall <james@parall.ax>, https://github.com/MrRio/jsPDF
|