yapp 2.0.23 → 2.0.27
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/example.js +386 -421
- package/lib/colours.js +1 -1
- package/lib/constants.js +1 -1
- package/lib/element/bounded/scrollable.js +9 -9
- package/lib/element/bounded.js +3 -3
- package/lib/example/constants.js +1 -1
- package/lib/example/div/columns.js +1 -1
- package/lib/example/div/sizeable/left.js +1 -1
- package/lib/example/div/sizeable/middle.js +1 -1
- package/lib/example/div/sizeable/right.js +1 -1
- package/lib/example/div/sizeable/top.js +1 -1
- package/lib/example/div/splitter/horizontal.js +1 -1
- package/lib/example/div/splitter/vertical.js +1 -1
- package/lib/example/input.js +1 -1
- package/lib/example/subHeading.js +1 -1
- package/lib/example/textarea/bnf.js +1 -1
- package/lib/example/textarea/lexicalEntries.js +1 -1
- package/lib/example/textarea/parseTree.js +1 -1
- package/lib/example/textarea/tokens.js +6 -6
- package/lib/example/textarea.js +1 -1
- package/lib/example/view/javascript.js +1 -1
- package/lib/example/view/json.js +1 -1
- package/lib/example/view/xml.js +1 -1
- package/lib/example/view.js +4 -5
- package/lib/example/yapp.js +1 -1
- package/lib/example.js +1 -1
- package/lib/gutter.js +3 -3
- package/lib/index.js +13 -13
- package/lib/lexer/javascript.js +3 -3
- package/lib/lexer/json.js +3 -3
- package/lib/lexer/plainText.js +3 -3
- package/lib/lexer/xml.js +3 -3
- package/lib/lineNumbers.js +3 -3
- package/lib/parser/javascript.js +1 -1
- package/lib/parser/json.js +1 -1
- package/lib/parser/plainText.js +1 -1
- package/lib/parser/xml.js +1 -1
- package/lib/plugin/javascript.js +3 -3
- package/lib/plugin/json.js +3 -3
- package/lib/plugin/plainText.js +3 -3
- package/lib/plugin/xml.js +3 -3
- package/lib/plugin.js +7 -7
- package/lib/prettyPrinter.js +3 -3
- package/lib/processor/javascript.js +1 -1
- package/lib/processor/json.js +1 -1
- package/lib/processor/plainText.js +1 -1
- package/lib/processor/xml.js +1 -1
- package/lib/processor.js +3 -3
- package/lib/renderYappStyles.js +1 -1
- package/lib/richTextarea.js +1 -1
- package/lib/scheme/colour.js +1 -1
- package/lib/scheme/syntax/default.js +1 -1
- package/lib/scheme/syntax/javaScript.js +1 -1
- package/lib/scheme/syntax/json.js +1 -1
- package/lib/scheme/syntax/xml.js +1 -1
- package/lib/scrollbarThickness.js +1 -1
- package/lib/style/firaCode.js +1 -1
- package/lib/style/syntax/default.js +1 -1
- package/lib/style/syntax/javaScript.js +1 -1
- package/lib/style/syntax/json.js +1 -1
- package/lib/style/syntax/xml.js +1 -1
- package/lib/style/syntax.js +1 -1
- package/lib/syntax.js +6 -6
- package/lib/token/nonSignificant/comment/multiLine/endOf.js +1 -1
- package/lib/token/nonSignificant/comment/multiLine/middleOf.js +1 -1
- package/lib/token/nonSignificant/comment/multiLine/startOf.js +1 -1
- package/lib/token/nonSignificant/comment/singleLine.js +1 -1
- package/lib/token/significant/argument.js +1 -1
- package/lib/token/significant/attribute.js +1 -1
- package/lib/token/significant/comment.js +1 -1
- package/lib/token/significant/error.js +1 -1
- package/lib/token/significant/jsx.js +1 -1
- package/lib/token/significant/name.js +1 -1
- package/lib/token/significant/string.js +1 -1
- package/lib/token/significant/variable.js +1 -1
- package/lib/tokenTypes.js +1 -1
- package/lib/utilities/content.js +1 -1
- package/lib/utilities/css.js +1 -1
- package/lib/utilities/plugin.js +8 -8
- package/lib/utilities/properties.js +3 -3
- package/lib/utilities/rules.js +4 -4
- package/lib/utilities/tokens.js +1 -1
- package/lib/yapp.js +9 -9
- package/package.json +4 -4
- package/src/element/bounded/scrollable.js +1 -1
- package/src/example/view.js +1 -1
- package/src/syntax.js +2 -2
- package/src/yapp.js +2 -2
package/lib/utilities/content.js
CHANGED
|
@@ -28,4 +28,4 @@ function lineCountFromContent(content) {
|
|
|
28
28
|
return lineCount;
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY29udGVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgYXJyYXlVdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5cbmltcG9ydCB7IEVNUFRZX1NUUklORyB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcblxuY29uc3QgeyBmaXJzdCB9ID0gYXJyYXlVdGlsaXRpZXM7XG5cbmV4cG9ydCBmdW5jdGlvbiBjb250ZW50RnJvbUNoaWxkRWxlbWVudHMoY2hpbGRFbGVtZW50cykge1xuICBsZXQgY29udGVudCA9IEVNUFRZX1NUUklORztcblxuICBjb25zdCBjaGlsZEVsZW1lbnRzTGVuZ3RoID0gY2hpbGRFbGVtZW50cy5sZW5ndGg7XG5cbiAgaWYgKGNoaWxkRWxlbWVudHNMZW5ndGggPiAwKSB7XG4gICAgY29uc3QgZmlyc3RDaGlsZEVsZW1lbnQgPSBmaXJzdChjaGlsZEVsZW1lbnRzKSxcbiAgICAgICAgICBmaXJzdENoaWxkRWxlbWVudFRleHQgPSBmaXJzdENoaWxkRWxlbWVudC5nZXRUZXh0KCk7XG5cbiAgICBjb250ZW50ID0gZmlyc3RDaGlsZEVsZW1lbnRUZXh0OyAgLy8vXG4gIH1cblxuICByZXR1cm4gY29udGVudDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxpbmVDb3VudEZyb21Db250ZW50KGNvbnRlbnQpIHtcbiAgbGV0IGxpbmVDb3VudDtcblxuICBjb25zdCBtYXRjaGVzID0gY29udGVudC5tYXRjaCgvXFxyXFxufFxccnxcXG4vZyk7XG5cbiAgaWYgKG1hdGNoZXMgPT09IG51bGwpIHtcbiAgICBsaW5lQ291bnQgPSAxO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IG1hdGNoZXNMZW5ndGggPSBtYXRjaGVzLmxlbmd0aDtcblxuICAgIGxpbmVDb3VudCA9IG1hdGNoZXNMZW5ndGggKyAxO1xuICB9XG5cbiAgcmV0dXJuIGxpbmVDb3VudDtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQ0FBQSxVQUFZOzs7O1FBUUksd0JBQXdCLEdBQXhCLHdCQUF3QjtRQWV4QixvQkFBb0IsR0FBcEIsb0JBQW9CO0FBckJMLEdBQVcsQ0FBWCxVQUFXO0FBRWIsR0FBYyxDQUFkLFVBQWM7QUFFM0MsR0FBSyxDQUFHLEtBQUssR0FKa0IsVUFBVyxnQkFJbEMsS0FBSztTQUVHLHdCQUF3QixDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZELEdBQUcsQ0FBQyxPQUFPLEdBTGdCLFVBQWM7SUFPekMsR0FBSyxDQUFDLG1CQUFtQixHQUFHLGFBQWEsQ0FBQyxNQUFNO0lBRWhELEVBQUUsRUFBRSxtQkFBbUIsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUM1QixHQUFLLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDLGFBQWEsR0FDdkMscUJBQXFCLEdBQUcsaUJBQWlCLENBQUMsT0FBTztRQUV2RCxPQUFPLEdBQUcscUJBQXFCLENBQUcsQ0FBRyxBQUFILEVBQUcsQUFBSCxDQUFHO0lBQ3ZDLENBQUM7V0FFTSxPQUFPO0FBQ2hCLENBQUM7U0FFZSxvQkFBb0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM3QyxHQUFHLENBQUMsU0FBUztJQUViLEdBQUssQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLEtBQUs7SUFFN0IsRUFBRSxFQUFFLE9BQU8sS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUNyQixTQUFTLEdBQUcsQ0FBQztJQUNmLENBQUMsTUFBTSxDQUFDO1FBQ04sR0FBSyxDQUFDLGFBQWEsR0FBRyxPQUFPLENBQUMsTUFBTTtRQUVwQyxTQUFTLEdBQUcsYUFBYSxHQUFHLENBQUM7SUFDL0IsQ0FBQztXQUVNLFNBQVM7QUFDbEIsQ0FBQyJ9
|
package/lib/utilities/css.js
CHANGED
|
@@ -16,4 +16,4 @@ function stripPixels(valueInPixels) {
|
|
|
16
16
|
return value;
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY3NzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuY29uc3QgeyBzZWNvbmQgfSA9IGFycmF5VXRpbGl0aWVzO1xuXG5leHBvcnQgZnVuY3Rpb24gc3RyaXBQaXhlbHModmFsdWVJblBpeGVscykge1xuICBsZXQgdmFsdWU7XG5cbiAgaWYgKCF2YWx1ZUluUGl4ZWxzKSB7XG4gICAgdmFsdWUgPSAwO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IG1hdGNoZXMgPSB2YWx1ZUluUGl4ZWxzLm1hdGNoKC9eKFxcZCsoPzpcXC5cXGQrKT8pcHgkLyksXG4gICAgICAgICAgc2Vjb25kTWF0Y2ggPSBzZWNvbmQobWF0Y2hlcyk7XG5cbiAgICB2YWx1ZSA9IE51bWJlcihzZWNvbmRNYXRjaCk7IC8vL1xuICB9XG5cbiAgcmV0dXJuIHZhbHVlO1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJDQUFBLFVBQVk7Ozs7UUFNSSxXQUFXLEdBQVgsV0FBVztBQUpJLEdBQVcsQ0FBWCxVQUFXO0FBRTFDLEdBQUssQ0FBRyxNQUFNLEdBRmlCLFVBQVcsZ0JBRWxDLE1BQU07U0FFRSxXQUFXLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDMUMsR0FBRyxDQUFDLEtBQUs7SUFFVCxFQUFFLEdBQUcsYUFBYSxFQUFFLENBQUM7UUFDbkIsS0FBSyxHQUFHLENBQUM7SUFDWCxDQUFDLE1BQU0sQ0FBQztRQUNOLEdBQUssQ0FBQyxPQUFPLEdBQUcsYUFBYSxDQUFDLEtBQUsseUJBQzdCLFdBQVcsR0FBRyxNQUFNLENBQUMsT0FBTztRQUVsQyxLQUFLLEdBQUcsTUFBTSxDQUFDLFdBQVcsRUFBRyxDQUFHLEFBQUgsRUFBRyxBQUFILENBQUc7SUFDbEMsQ0FBQztXQUVNLEtBQUs7QUFDZCxDQUFDIn0=
|
package/lib/utilities/plugin.js
CHANGED
|
@@ -13,25 +13,25 @@ function _interopRequireDefault(obj) {
|
|
|
13
13
|
default: obj
|
|
14
14
|
};
|
|
15
15
|
}
|
|
16
|
-
function pluginFromLanguageAndPlugin(language,
|
|
17
|
-
if (!
|
|
16
|
+
function pluginFromLanguageAndPlugin(language, Plugin1) {
|
|
17
|
+
if (!Plugin1) {
|
|
18
18
|
switch(language){
|
|
19
19
|
case _constants.XML_LANGUAGE:
|
|
20
|
-
|
|
20
|
+
Plugin1 = _xml.default;
|
|
21
21
|
break;
|
|
22
22
|
case _constants.JSON_LANGUAGE:
|
|
23
|
-
|
|
23
|
+
Plugin1 = _json.default;
|
|
24
24
|
break;
|
|
25
25
|
case _constants.PLAIN_TEXT_LANGUAGE:
|
|
26
|
-
|
|
26
|
+
Plugin1 = _plainText.default;
|
|
27
27
|
break;
|
|
28
28
|
default:
|
|
29
|
-
|
|
29
|
+
Plugin1 = _javascript.default;
|
|
30
30
|
break;
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
|
-
var plugin =
|
|
33
|
+
var plugin = Plugin1.fromNothing();
|
|
34
34
|
return plugin;
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcGx1Z2luLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgWE1MUGx1Z2luIGZyb20gXCIuLi9wbHVnaW4veG1sXCI7XG5pbXBvcnQgSlNPTlBsdWdpbiBmcm9tIFwiLi4vcGx1Z2luL2pzb25cIjtcbmltcG9ydCBQbGFpblRleHRQbHVnaW4gZnJvbSBcIi4uL3BsdWdpbi9wbGFpblRleHRcIjtcbmltcG9ydCBKYXZhU2NyaXB0UGx1Z2luIGZyb20gXCIuLi9wbHVnaW4vamF2YXNjcmlwdFwiO1xuXG5pbXBvcnQgeyBYTUxfTEFOR1VBR0UsIEpTT05fTEFOR1VBR0UsIFBMQUlOX1RFWFRfTEFOR1VBR0UgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBwbHVnaW5Gcm9tTGFuZ3VhZ2VBbmRQbHVnaW4obGFuZ3VhZ2UsIFBsdWdpbikge1xuICBpZiAoIVBsdWdpbikge1xuICAgIHN3aXRjaCAobGFuZ3VhZ2UpIHtcbiAgICAgIGNhc2UgWE1MX0xBTkdVQUdFOiBQbHVnaW4gPSBYTUxQbHVnaW47IGJyZWFrO1xuICAgICAgY2FzZSBKU09OX0xBTkdVQUdFOiBQbHVnaW4gPSBKU09OUGx1Z2luOyBicmVhaztcbiAgICAgIGNhc2UgUExBSU5fVEVYVF9MQU5HVUFHRTogUGx1Z2luID0gUGxhaW5UZXh0UGx1Z2luOyBicmVhaztcblxuICAgICAgZGVmYXVsdCA6XG4gICAgICAgIFBsdWdpbiA9IEphdmFTY3JpcHRQbHVnaW47XG5cbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgY29uc3QgcGx1Z2luID0gUGx1Z2luLmZyb21Ob3RoaW5nKCk7XG5cbiAgcmV0dXJuIHBsdWdpbjtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQ0FBQSxVQUFZOzs7O1FBU0ksMkJBQTJCLEdBQTNCLDJCQUEyQjtBQVByQixHQUFlLENBQWYsSUFBZTtBQUNkLEdBQWdCLENBQWhCLEtBQWdCO0FBQ1gsR0FBcUIsQ0FBckIsVUFBcUI7QUFDcEIsR0FBc0IsQ0FBdEIsV0FBc0I7QUFFYyxHQUFjLENBQWQsVUFBYzs7Ozs7O1NBRS9ELDJCQUEyQixDQUFDLFFBQVEsRUFBRSxPQUFNLEVBQUUsQ0FBQztJQUM3RCxFQUFFLEdBQUcsT0FBTSxFQUFFLENBQUM7ZUFDSixRQUFRO2lCQUo2QyxVQUFjO2dCQUt0RCxPQUFNLEdBVlQsSUFBZTs7aUJBSzRCLFVBQWM7Z0JBTXJELE9BQU0sR0FWVCxLQUFnQjs7aUJBSTBCLFVBQWM7Z0JBTy9DLE9BQU0sR0FWVixVQUFxQjs7O2dCQWF6QyxPQUFNLEdBWmUsV0FBc0I7OztJQWdCakQsQ0FBQztJQUVELEdBQUssQ0FBQyxNQUFNLEdBQUcsT0FBTSxDQUFDLFdBQVc7V0FFMUIsTUFBTTtBQUNmLENBQUMifQ==
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
5
|
exports.propertiesFromContentLanguagePluginAndOptions = propertiesFromContentLanguagePluginAndOptions;
|
|
6
|
-
function propertiesFromContentLanguagePluginAndOptions(content, language,
|
|
6
|
+
function propertiesFromContentLanguagePluginAndOptions(content, language, Plugin1, options) {
|
|
7
7
|
var text = content, childElements = [
|
|
8
8
|
{
|
|
9
9
|
getText: function() {
|
|
@@ -13,9 +13,9 @@ function propertiesFromContentLanguagePluginAndOptions(content, language, Plugin
|
|
|
13
13
|
], properties = Object.assign({
|
|
14
14
|
childElements: childElements,
|
|
15
15
|
language: language,
|
|
16
|
-
Plugin:
|
|
16
|
+
Plugin: Plugin1
|
|
17
17
|
}, options);
|
|
18
18
|
return properties;
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcHJvcGVydGllcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHByb3BlcnRpZXNGcm9tQ29udGVudExhbmd1YWdlUGx1Z2luQW5kT3B0aW9ucyhjb250ZW50LCBsYW5ndWFnZSwgUGx1Z2luLCBvcHRpb25zKSB7XG4gIGNvbnN0IHRleHQgPSBjb250ZW50LCAvLy9cbiAgICAgICAgY2hpbGRFbGVtZW50cyA9IFt7XG4gICAgICAgICAgZ2V0VGV4dDogKCkgPT4gdGV4dCxcbiAgICAgICAgfV0sXG4gICAgICAgIHByb3BlcnRpZXMgPSBPYmplY3QuYXNzaWduKHtcbiAgICAgICAgICBjaGlsZEVsZW1lbnRzLFxuICAgICAgICAgIGxhbmd1YWdlLFxuICAgICAgICAgIFBsdWdpblxuICAgICAgICB9LCBvcHRpb25zKTtcblxuICByZXR1cm4gcHJvcGVydGllcztcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQ0FBQSxVQUFZOzs7O1FBRUksNkNBQTZDLEdBQTdDLDZDQUE2QztTQUE3Qyw2Q0FBNkMsQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUNqRyxHQUFLLENBQUMsSUFBSSxHQUFHLE9BQU8sRUFDZCxhQUFhOztZQUNYLE9BQU87dUJBQVEsSUFBSTs7O09BRXJCLFVBQVUsR0FBRyxNQUFNLENBQUMsTUFBTTtRQUN4QixhQUFhLEVBQWIsYUFBYTtRQUNiLFFBQVEsRUFBUixRQUFRO1FBQ1IsTUFBTSxFQUFOLE9BQU07T0FDTCxPQUFPO1dBRVQsVUFBVTtBQUNuQixDQUFDIn0=
|
package/lib/utilities/rules.js
CHANGED
|
@@ -11,13 +11,13 @@ function startRuleFromRules(rules) {
|
|
|
11
11
|
return startRule;
|
|
12
12
|
}
|
|
13
13
|
function ruleMapFromRules(rules) {
|
|
14
|
-
var ruleMap = rules.reduce(function(
|
|
14
|
+
var ruleMap = rules.reduce(function(ruleMap1, rule) {
|
|
15
15
|
var ruleName = rule.getName();
|
|
16
|
-
|
|
17
|
-
return
|
|
16
|
+
ruleMap1[ruleName] = rule;
|
|
17
|
+
return ruleMap1;
|
|
18
18
|
}, {
|
|
19
19
|
});
|
|
20
20
|
return ruleMap;
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcnVsZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5jb25zdCB7IGZpcnN0IH0gPSBhcnJheVV0aWxpdGllcztcblxuZXhwb3J0IGZ1bmN0aW9uIHN0YXJ0UnVsZUZyb21SdWxlcyhydWxlcykge1xuICBjb25zdCBmaXJzdFJ1bGUgPSBmaXJzdChydWxlcyksXG4gICAgICAgIHN0YXJ0UnVsZSA9IGZpcnN0UnVsZTsgIC8vL1xuXG4gIHJldHVybiBzdGFydFJ1bGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBydWxlTWFwRnJvbVJ1bGVzKHJ1bGVzKSB7XG4gIGNvbnN0IHJ1bGVNYXAgPSBydWxlcy5yZWR1Y2UoKHJ1bGVNYXAsIHJ1bGUpID0+IHtcbiAgICBjb25zdCBydWxlTmFtZSA9IHJ1bGUuZ2V0TmFtZSgpO1xuXG4gICAgcnVsZU1hcFtydWxlTmFtZV0gPSBydWxlO1xuXG4gICAgcmV0dXJuIHJ1bGVNYXA7XG4gIH0sIHt9KTtcblxuICByZXR1cm4gcnVsZU1hcDtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQ0FBQSxVQUFZOzs7O1FBTUksa0JBQWtCLEdBQWxCLGtCQUFrQjtRQU9sQixnQkFBZ0IsR0FBaEIsZ0JBQWdCO0FBWEQsR0FBVyxDQUFYLFVBQVc7QUFFMUMsR0FBSyxDQUFHLEtBQUssR0FGa0IsVUFBVyxnQkFFbEMsS0FBSztTQUVHLGtCQUFrQixDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3pDLEdBQUssQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLEtBQUssR0FDdkIsU0FBUyxHQUFHLFNBQVMsQ0FBRyxDQUFHLEFBQUgsRUFBRyxBQUFILENBQUc7V0FFMUIsU0FBUztBQUNsQixDQUFDO1NBRWUsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDdkMsR0FBSyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsTUFBTSxVQUFFLFFBQU8sRUFBRSxJQUFJLEVBQUssQ0FBQztRQUMvQyxHQUFLLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPO1FBRTdCLFFBQU8sQ0FBQyxRQUFRLElBQUksSUFBSTtlQUVqQixRQUFPO0lBQ2hCLENBQUM7O1dBRU0sT0FBTztBQUNoQixDQUFDIn0=
|
package/lib/utilities/tokens.js
CHANGED
|
@@ -14,4 +14,4 @@ function lineCountFromTokens(tokens) {
|
|
|
14
14
|
return lineCount;
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvdG9rZW5zLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgZnVuY3Rpb24gbGluZUNvdW50RnJvbVRva2Vucyh0b2tlbnMpIHtcbiAgbGV0IGxpbmVDb3VudCA9IDE7ICAvLy9cblxuICB0b2tlbnMuZm9yRWFjaCgodG9rZW4pID0+IHtcbiAgICBjb25zdCB0b2tlbkVuZE9mTGluZVRva2VuID0gdG9rZW4uaXNFbmRPZkxpbmVUb2tlbigpO1xuXG4gICAgaWYgKHRva2VuRW5kT2ZMaW5lVG9rZW4pIHtcbiAgICAgIGxpbmVDb3VudCsrO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIGxpbmVDb3VudDtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQ0FBQSxVQUFZOzs7O1FBRUksbUJBQW1CLEdBQW5CLG1CQUFtQjtTQUFuQixtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUMzQyxHQUFHLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBRyxDQUFHLEFBQUgsRUFBRyxBQUFILENBQUc7SUFFdkIsTUFBTSxDQUFDLE9BQU8sVUFBRSxLQUFLLEVBQUssQ0FBQztRQUN6QixHQUFLLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDLGdCQUFnQjtRQUVsRCxFQUFFLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQztZQUN4QixTQUFTO1FBQ1gsQ0FBQztJQUNILENBQUM7V0FFTSxTQUFTO0FBQ2xCLENBQUMifQ==
|
package/lib/yapp.js
CHANGED
|
@@ -173,8 +173,8 @@ function _templateObject() {
|
|
|
173
173
|
};
|
|
174
174
|
return data;
|
|
175
175
|
}
|
|
176
|
-
var Yapp = /*#__PURE__*/ function(
|
|
177
|
-
_inherits(Yapp,
|
|
176
|
+
var Yapp = /*#__PURE__*/ function(Element1) {
|
|
177
|
+
_inherits(Yapp, Element1);
|
|
178
178
|
function Yapp(selector, plugin) {
|
|
179
179
|
_classCallCheck(this, Yapp);
|
|
180
180
|
var _this;
|
|
@@ -267,7 +267,7 @@ var Yapp = /*#__PURE__*/ function(Element) {
|
|
|
267
267
|
value: function changeHandler(event, element) {
|
|
268
268
|
var richTextarea = element, contentChanged = richTextarea.hasContentChanged();
|
|
269
269
|
if (contentChanged) {
|
|
270
|
-
var
|
|
270
|
+
var _properties1 = this.properties, onContentChange = _properties1.onContentChange, contentChangeHandler = onContentChange; ///
|
|
271
271
|
this.update();
|
|
272
272
|
element = this; ///
|
|
273
273
|
contentChangeHandler && contentChangeHandler(event, element); ///
|
|
@@ -317,7 +317,7 @@ var Yapp = /*#__PURE__*/ function(Element) {
|
|
|
317
317
|
{
|
|
318
318
|
key: "didMount",
|
|
319
319
|
value: function didMount() {
|
|
320
|
-
var
|
|
320
|
+
var _properties2 = this.properties, _deferRender = _properties2.deferRender, deferRender = _deferRender === void 0 ? false : _deferRender;
|
|
321
321
|
if (deferRender) {
|
|
322
322
|
return;
|
|
323
323
|
}
|
|
@@ -363,7 +363,7 @@ var Yapp = /*#__PURE__*/ function(Element) {
|
|
|
363
363
|
key: "initialise",
|
|
364
364
|
value: function initialise() {
|
|
365
365
|
this.assignContext();
|
|
366
|
-
var
|
|
366
|
+
var _properties2 = this.properties, childElements = _properties2.childElements, _firaCode = _properties2.firaCode, firaCode = _firaCode === void 0 ? false : _firaCode, _editable = _properties2.editable, editable = _editable === void 0 ? false : _editable, language = this.plugin.getLanguage(), content = (0, _content).contentFromChildElements(childElements), readOnly = !editable, scrollTop = 0, scrollLeft = 0; ///
|
|
367
367
|
this.setLanguage(language);
|
|
368
368
|
this.scrollPrettyPrinter(scrollTop, scrollLeft);
|
|
369
369
|
this.setRichTextareaContent(content);
|
|
@@ -379,15 +379,15 @@ var Yapp = /*#__PURE__*/ function(Element) {
|
|
|
379
379
|
], [
|
|
380
380
|
{
|
|
381
381
|
key: "fromContent",
|
|
382
|
-
value: function fromContent(content, language,
|
|
383
|
-
var Class = Yapp, properties = (0, _properties).propertiesFromContentLanguagePluginAndOptions(content, language,
|
|
382
|
+
value: function fromContent(content, language, Plugin1, options) {
|
|
383
|
+
var Class = Yapp, properties = (0, _properties).propertiesFromContentLanguagePluginAndOptions(content, language, Plugin1, options), plugin = (0, _plugin).pluginFromLanguageAndPlugin(language, Plugin1), yapp = _easy.Element.fromClass(Class, properties, plugin);
|
|
384
384
|
return yapp;
|
|
385
385
|
}
|
|
386
386
|
},
|
|
387
387
|
{
|
|
388
388
|
key: "fromClass",
|
|
389
389
|
value: function fromClass(Class, properties) {
|
|
390
|
-
var language = properties.language,
|
|
390
|
+
var language = properties.language, Plugin1 = properties.Plugin, plugin = (0, _plugin).pluginFromLanguageAndPlugin(language, Plugin1), yapp = _easy.Element.fromClass(Class, properties, plugin);
|
|
391
391
|
return yapp;
|
|
392
392
|
}
|
|
393
393
|
}
|
|
@@ -408,4 +408,4 @@ _defineProperty(Yapp, "ignoredProperties", [
|
|
|
408
408
|
var _default = (0, _easyWithStyle).default(Yapp)(_templateObject(), _colour.colour, _colour.caretColour, _colour.borderColour, _colour.backgroundColour);
|
|
409
409
|
exports.default = _default;
|
|
410
410
|
|
|
411
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy95YXBwLmpzIl0sIm5hbWVzIjpbIndpdGhTdHlsZSIsIlJlYWN0IiwiRWxlbWVudCIsIlJpY2hUZXh0YXJlYSIsIlByZXR0eVByaW50ZXIiLCJzY3JvbGxCYXJUaGlja25lc3MiLCJzdHJpcFBpeGVscyIsInBsdWdpbkZyb21MYW5ndWFnZUFuZFBsdWdpbiIsIlRPUCIsIkxFRlQiLCJSSUdIVCIsIkxJTkVfSEVJR0hUIiwiQk9UVE9NIiwicHJvcGVydGllc0Zyb21Db250ZW50TGFuZ3VhZ2VQbHVnaW5BbmRPcHRpb25zIiwibGluZUNvdW50RnJvbUNvbnRlbnQiLCJjb250ZW50RnJvbUNoaWxkRWxlbWVudHMiLCJjb2xvdXIiLCJjYXJldENvbG91ciIsImJvcmRlckNvbG91ciIsImJhY2tncm91bmRDb2xvdXIiLCJZYXBwIiwiY29uc3RydWN0b3IiLCJzZWxlY3RvciIsInBsdWdpbiIsImdldFBsdWdpbiIsImdldENvbnRlbnQiLCJyaWNoVGV4dGFyZWFDb250ZW50IiwiZ2V0UmljaFRleHRhcmVhQ29udGVudCIsImNvbnRlbnQiLCJnZXRMaW5lSGVpZ2h0IiwibGluZUhlaWdodEluUGl4ZWxzIiwiY3NzIiwibGluZUhlaWdodCIsImdldEJvcmRlcldpZHRoIiwic2lkZSIsImJvcmRlcldpZHRoSW5QaXhlbHMiLCJib3JkZXJXaWR0aCIsImdldEJvcmRlclRvcFdpZHRoIiwiYm9yZGVyVG9wV2lkdGgiLCJnZXRCb3JkZXJMZWZ0V2lkdGgiLCJib3JkZXJMZWZ0V2lkdGgiLCJnZXRCb3JkZXJSaWdodFdpZHRoIiwiYm9yZGVyUmlnaHRXaWR0aCIsImdldEJvcmRlckJvdHRvbVdpZHRoIiwiYm9yZGVyQm90dG9tV2lkdGgiLCJzZXRMZXhlciIsImxleGVyIiwic2V0UGFyc2VyIiwicGFyc2VyIiwiZW5hYmxlRmlyYUNvZGUiLCJhZGRDbGFzcyIsImRpc2FibGVGaXJhQ29kZSIsInJlbW92ZUNsYXNzIiwiY2hhbmdlSGFuZGxlciIsImV2ZW50IiwiZWxlbWVudCIsInJpY2hUZXh0YXJlYSIsImNvbnRlbnRDaGFuZ2VkIiwiaGFzQ29udGVudENoYW5nZWQiLCJvbkNvbnRlbnRDaGFuZ2UiLCJwcm9wZXJ0aWVzIiwiY29udGVudENoYW5nZUhhbmRsZXIiLCJ1cGRhdGUiLCJzY3JvbGxIYW5kbGVyIiwic2Nyb2xsVG9wIiwiZ2V0U2Nyb2xsVG9wIiwic2Nyb2xsTGVmdCIsImdldFNjcm9sbExlZnQiLCJzY3JvbGxQcmV0dHlQcmludGVyIiwidG9rZW5zIiwiZ2V0VG9rZW5zIiwicmljaFRleHRhcmVhQm91bmRzIiwidXBkYXRlUHJldHR5UHJpbnRlciIsInNldFJpY2hUZXh0YXJlYUJvdW5kcyIsInJlc2l6ZSIsIndpZHRoIiwiZ2V0V2lkdGgiLCJoZWlnaHQiLCJnZXRIZWlnaHQiLCJzZXRQcmV0dHlQcmludGVyV2lkdGgiLCJzZXRQcmV0dHlQcmludGVySGVpZ2h0IiwicmVzaXplUHJldHR5UHJpbnRlciIsInJlbmRlciIsImxpbmVDb3VudCIsInNldEhlaWdodCIsImRpZE1vdW50IiwiZGVmZXJSZW5kZXIiLCJ3aWxsVW5tb3VudCIsImNoaWxkRWxlbWVudHMiLCJiaW5kIiwib25DaGFuZ2UiLCJvblNjcm9sbCIsImFjdGl2ZSIsInBhcmVudENvbnRleHQiLCJ1cGRhdGVZYXBwIiwic2V0WWFwcFdpZHRoIiwic2V0V2lkdGgiLCJzZXRZYXBwSGVpZ2h0Iiwic2V0WWFwcExleGVyIiwic2V0WWFwcFBhcnNlciIsInJlc2l6ZVlhcHAiLCJpbml0aWFsaXNlIiwiYXNzaWduQ29udGV4dCIsImZpcmFDb2RlIiwiZWRpdGFibGUiLCJsYW5ndWFnZSIsImdldExhbmd1YWdlIiwicmVhZE9ubHkiLCJzZXRMYW5ndWFnZSIsInNldFJpY2hUZXh0YXJlYUNvbnRlbnQiLCJzZXRSaWNoVGV4dGFyZWFSZWFkT25seSIsIm9uUmVzaXplIiwidGFnTmFtZSIsImRlZmF1bHRQcm9wZXJ0aWVzIiwiY2xhc3NOYW1lIiwiaWdub3JlZFByb3BlcnRpZXMiLCJmcm9tQ29udGVudCIsIlBsdWdpbiIsIm9wdGlvbnMiLCJDbGFzcyIsInlhcHAiLCJmcm9tQ2xhc3MiXSwibWFwcGluZ3MiOiJDQUFBLFVBQVk7Ozs7O0FBRVUsR0FBaUIsQ0FBakIsY0FBaUI7QUFFUixHQUFNLENBQU4sS0FBTTtBQUVaLEdBQWdCLENBQWhCLGFBQWdCO0FBQ2YsR0FBaUIsQ0FBakIsY0FBaUI7QUFDWixHQUFzQixDQUF0QixtQkFBc0I7QUFFekIsR0FBaUIsQ0FBakIsSUFBaUI7QUFDRCxHQUFvQixDQUFwQixPQUFvQjtBQUNWLEdBQWEsQ0FBYixVQUFhO0FBQ0wsR0FBd0IsQ0FBeEIsV0FBd0I7QUFDdkIsR0FBcUIsQ0FBckIsUUFBcUI7QUFDaEIsR0FBaUIsQ0FBakIsT0FBaUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O1NBeVB0RCxnRkFPdEI7U0FBUyxrQkFDSDtTQUFjLG1CQUNiO1NBQWUsdUJBQ1g7U0FBbUIsbWRBa0J2Qzs7Ozs7OztJQW5STSxJQUFJLGlCQUFWLFFBQVE7Y0FBRixJQUFJO2FBQUosSUFBSSxDQUNJLFFBQVEsRUFBRSxNQUFNOzhCQUR4QixJQUFJOztpRUFBSixJQUFJLGFBRUEsUUFBUTtjQUVULE1BQU0sR0FBRyxNQUFNOzs7aUJBSmxCLElBQUk7O1lBT1IsR0FBUyxHQUFULFNBQVM7bUJBQVQsUUFBUSxDQUFSLFNBQVMsR0FBRyxDQUFDO2dCQUNYLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTTtZQUNwQixDQUFDOzs7WUFFRCxHQUFVLEdBQVYsVUFBVTttQkFBVixRQUFRLENBQVIsVUFBVSxHQUFHLENBQUM7Z0JBQ1osR0FBSyxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxzQkFBc0IsSUFDakQsT0FBTyxHQUFHLG1CQUFtQixDQUFHLENBQUcs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QUFpQixVQXNRZCxJQUFJLHFCQXpQdUMsT0FBaUIsU0FBakIsT0FBaUIsY0FBakIsT0FBaUIsZUFBakIsT0FBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHdpdGhTdHlsZSBmcm9tIFwiZWFzeS13aXRoLXN0eWxlXCI7ICAvLy9cblxuaW1wb3J0IHsgUmVhY3QsIEVsZW1lbnQgfSBmcm9tIFwiZWFzeVwiO1xuXG5pbXBvcnQgUmljaFRleHRhcmVhIGZyb20gXCIuL3JpY2hUZXh0YXJlYVwiO1xuaW1wb3J0IFByZXR0eVByaW50ZXIgZnJvbSBcIi4vcHJldHR5UHJpbnRlclwiO1xuaW1wb3J0IHNjcm9sbEJhclRoaWNrbmVzcyBmcm9tIFwiLi9zY3JvbGxiYXJUaGlja25lc3NcIjtcblxuaW1wb3J0IHsgc3RyaXBQaXhlbHMgfSBmcm9tIFwiLi91dGlsaXRpZXMvY3NzXCI7XG5pbXBvcnQgeyBwbHVnaW5Gcm9tTGFuZ3VhZ2VBbmRQbHVnaW4gfSBmcm9tIFwiLi91dGlsaXRpZXMvcGx1Z2luXCI7XG5pbXBvcnQgeyBUT1AsIExFRlQsIFJJR0hULCBMSU5FX0hFSUdIVCwgQk9UVE9NIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBwcm9wZXJ0aWVzRnJvbUNvbnRlbnRMYW5ndWFnZVBsdWdpbkFuZE9wdGlvbnMgfSBmcm9tIFwiLi91dGlsaXRpZXMvcHJvcGVydGllc1wiO1xuaW1wb3J0IHsgbGluZUNvdW50RnJvbUNvbnRlbnQsIGNvbnRlbnRGcm9tQ2hpbGRFbGVtZW50cyB9IGZyb20gXCIuL3V0aWxpdGllcy9jb250ZW50XCI7XG5pbXBvcnQgeyBjb2xvdXIsIGNhcmV0Q29sb3VyLCBib3JkZXJDb2xvdXIsIGJhY2tncm91bmRDb2xvdXIgfSBmcm9tIFwiLi9zY2hlbWUvY29sb3VyXCI7XG5cbmNsYXNzIFlhcHAgZXh0ZW5kcyBFbGVtZW50IHtcbiAgY29uc3RydWN0b3Ioc2VsZWN0b3IsIHBsdWdpbikge1xuICAgIHN1cGVyKHNlbGVjdG9yKTtcblxuICAgIHRoaXMucGx1Z2luID0gcGx1Z2luO1xuICB9XG5cbiAgZ2V0UGx1Z2luKCkge1xuICAgIHJldHVybiB0aGlzLnBsdWdpbjtcbiAgfVxuXG4gIGdldENvbnRlbnQoKSB7XG4gICAgY29uc3QgcmljaFRleHRhcmVhQ29udGVudCA9IHRoaXMuZ2V0UmljaFRleHRhcmVhQ29udGVudCgpLFxuICAgICAgICAgIGNvbnRlbnQgPSByaWNoVGV4dGFyZWFDb250ZW50OyAgLy8vXG5cbiAgICByZXR1cm4gY29udGVudDtcbiAgfVxuXG4gIGdldExpbmVIZWlnaHQoKSB7XG4gICAgY29uc3QgbGluZUhlaWdodEluUGl4ZWxzID0gdGhpcy5jc3MoTElORV9IRUlHSFQpLFxuICAgICAgICAgIGxpbmVIZWlnaHQgPSBzdHJpcFBpeGVscyhsaW5lSGVpZ2h0SW5QaXhlbHMpO1xuXG4gICAgcmV0dXJuIGxpbmVIZWlnaHQ7XG4gIH1cblxuICBnZXRCb3JkZXJXaWR0aChzaWRlKSB7XG4gICAgY29uc3QgYm9yZGVyV2lkdGhJblBpeGVscyA9IHRoaXMuY3NzKGBib3JkZXItJHtzaWRlfS13aWR0aGApLFxuICAgICAgICAgIGJvcmRlcldpZHRoID0gc3RyaXBQaXhlbHMoYm9yZGVyV2lkdGhJblBpeGVscyk7XG5cbiAgICByZXR1cm4gYm9yZGVyV2lkdGg7XG4gIH1cblxuICBnZXRCb3JkZXJUb3BXaWR0aCgpIHtcbiAgICBjb25zdCBzaWRlID0gVE9QLFxuICAgICAgICAgIGJvcmRlclRvcFdpZHRoID0gdGhpcy5nZXRCb3JkZXJXaWR0aChzaWRlKTtcblxuICAgIHJldHVybiBib3JkZXJUb3BXaWR0aDtcbiAgfVxuXG4gIGdldEJvcmRlckxlZnRXaWR0aCgpIHtcbiAgICBjb25zdCBzaWRlID0gTEVGVCxcbiAgICAgICAgICBib3JkZXJMZWZ0V2lkdGggPSB0aGlzLmdldEJvcmRlcldpZHRoKHNpZGUpO1xuXG4gICAgcmV0dXJuIGJvcmRlckxlZnRXaWR0aDtcbiAgfVxuXG4gIGdldEJvcmRlclJpZ2h0V2lkdGgoKSB7XG4gICAgY29uc3Qgc2lkZSA9IFJJR0hULFxuICAgICAgICAgIGJvcmRlclJpZ2h0V2lkdGggPSB0aGlzLmdldEJvcmRlcldpZHRoKHNpZGUpO1xuXG4gICAgcmV0dXJuIGJvcmRlclJpZ2h0V2lkdGg7XG4gIH1cblxuICBnZXRCb3JkZXJCb3R0b21XaWR0aCgpIHtcbiAgICBjb25zdCBzaWRlID0gQk9UVE9NLFxuICAgICAgICAgIGJvcmRlckJvdHRvbVdpZHRoID0gdGhpcy5nZXRCb3JkZXJXaWR0aChzaWRlKTtcblxuICAgIHJldHVybiBib3JkZXJCb3R0b21XaWR0aDtcbiAgfVxuXG4gIHNldExleGVyKGxleGVyKSB7IHRoaXMucGx1Z2luLnNldExleGVyKGxleGVyKTsgfVxuXG4gIHNldFBhcnNlcihwYXJzZXIpIHsgdGhpcy5wbHVnaW4uc2V0UGFyc2VyKHBhcnNlcik7IH1cblxuICBlbmFibGVGaXJhQ29kZSgpIHtcbiAgICB0aGlzLmFkZENsYXNzKFwiZmlyYS1jb2RlXCIpO1xuICB9XG5cbiAgZGlzYWJsZUZpcmFDb2RlKCkge1xuICAgIHRoaXMucmVtb3ZlQ2xhc3MoXCJmaXJhLWNvZGVcIik7XG4gIH1cblxuICBjaGFuZ2VIYW5kbGVyKGV2ZW50LCBlbGVtZW50KSB7XG4gICAgY29uc3QgcmljaFRleHRhcmVhID0gZWxlbWVudCwgLy8vXG4gICAgICAgICAgY29udGVudENoYW5nZWQgPSByaWNoVGV4dGFyZWEuaGFzQ29udGVudENoYW5nZWQoKTtcblxuICAgIGlmIChjb250ZW50Q2hhbmdlZCkge1xuICAgICAgY29uc3QgeyBvbkNvbnRlbnRDaGFuZ2UgfSA9IHRoaXMucHJvcGVydGllcyxcbiAgICAgICAgICAgIGNvbnRlbnRDaGFuZ2VIYW5kbGVyID0gb25Db250ZW50Q2hhbmdlOyAvLy9cblxuICAgICAgdGhpcy51cGRhdGUoKTtcblxuICAgICAgZWxlbWVudCA9IHRoaXM7IC8vL1xuXG4gICAgICBjb250ZW50Q2hhbmdlSGFuZGxlciAmJiBjb250ZW50Q2hhbmdlSGFuZGxlcihldmVudCwgZWxlbWVudCk7IC8vL1xuICAgIH1cbiAgfVxuXG4gIHNjcm9sbEhhbmRsZXIoZXZlbnQsIGVsZW1lbnQpIHtcbiAgICBjb25zdCByaWNoVGV4dGFyZWEgPSBlbGVtZW50LCAvLy9cbiAgICAgICAgICBzY3JvbGxUb3AgPSByaWNoVGV4dGFyZWEuZ2V0U2Nyb2xsVG9wKCksXG4gICAgICAgICAgc2Nyb2xsTGVmdCA9IHJpY2hUZXh0YXJlYS5nZXRTY3JvbGxMZWZ0KCk7XG5cbiAgICB0aGlzLnNjcm9sbFByZXR0eVByaW50ZXIoc2Nyb2xsVG9wLCBzY3JvbGxMZWZ0KTtcbiAgfVxuXG4gIHVwZGF0ZSgpIHtcbiAgICBjb25zdCBjb250ZW50ID0gdGhpcy5nZXRDb250ZW50KCk7XG5cbiAgICB0aGlzLnBsdWdpbi51cGRhdGUoY29udGVudCk7XG5cbiAgICBjb25zdCB0b2tlbnMgPSB0aGlzLnBsdWdpbi5nZXRUb2tlbnMoKSxcbiAgICAgICAgICByaWNoVGV4dGFyZWFCb3VuZHMgPSB0aGlzLnVwZGF0ZVByZXR0eVByaW50ZXIodG9rZW5zKTtcblxuICAgIGlmIChyaWNoVGV4dGFyZWFCb3VuZHMgIT09IG51bGwpIHtcbiAgICAgIHRoaXMuc2V0UmljaFRleHRhcmVhQm91bmRzKHJpY2hUZXh0YXJlYUJvdW5kcyk7XG4gICAgfVxuICB9XG5cbiAgcmVzaXplKCkge1xuICAgIGxldCB3aWR0aCA9IHRoaXMuZ2V0V2lkdGgoKSxcbiAgICAgICAgaGVpZ2h0ID0gdGhpcy5nZXRIZWlnaHQoKTtcblxuICAgIGNvbnN0IGJvcmRlclRvcFdpZHRoID0gdGhpcy5nZXRCb3JkZXJUb3BXaWR0aCgpLFxuICAgICAgICAgIGJvcmRlckxlZnRXaWR0aCA9IHRoaXMuZ2V0Qm9yZGVyTGVmdFdpZHRoKCksXG4gICAgICAgICAgYm9yZGVyUmlnaHRXaWR0aCA9IHRoaXMuZ2V0Qm9yZGVyUmlnaHRXaWR0aCgpLFxuICAgICAgICAgIGJvcmRlckJvdHRvbVdpZHRoID0gdGhpcy5nZXRCb3JkZXJCb3R0b21XaWR0aCgpO1xuXG4gICAgaGVpZ2h0IC09ICggYm9yZGVyVG9wV2lkdGggKyBib3JkZXJCb3R0b21XaWR0aCApO1xuICAgIHdpZHRoIC09ICggYm9yZGVyTGVmdFdpZHRoICsgYm9yZGVyUmlnaHRXaWR0aCApO1xuXG4gICAgdGhpcy5zZXRQcmV0dHlQcmludGVyV2lkdGgod2lkdGgpO1xuICAgIHRoaXMuc2V0UHJldHR5UHJpbnRlckhlaWdodChoZWlnaHQpO1xuXG4gICAgY29uc3QgcmljaFRleHRhcmVhQm91bmRzID0gdGhpcy5yZXNpemVQcmV0dHlQcmludGVyKCk7XG5cbiAgICB0aGlzLnNldFJpY2hUZXh0YXJlYUJvdW5kcyhyaWNoVGV4dGFyZWFCb3VuZHMpO1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLmdldENvbnRlbnQoKSxcbiAgICAgICAgICBsaW5lQ291bnQgPSBsaW5lQ291bnRGcm9tQ29udGVudChjb250ZW50KSxcbiAgICAgICAgICBsaW5lSGVpZ2h0ID0gdGhpcy5nZXRMaW5lSGVpZ2h0KCksXG4gICAgICAgICAgYm9yZGVyVG9wV2lkdGggPSB0aGlzLmdldEJvcmRlclRvcFdpZHRoKCksXG4gICAgICAgICAgYm9yZGVyQm90dG9tV2lkdGggPSB0aGlzLmdldEJvcmRlckJvdHRvbVdpZHRoKCksXG4gICAgICAgICAgaGVpZ2h0ID0gbGluZUNvdW50ICogbGluZUhlaWdodCArIHNjcm9sbEJhclRoaWNrbmVzcyArIGJvcmRlclRvcFdpZHRoICsgYm9yZGVyQm90dG9tV2lkdGg7XG5cbiAgICB0aGlzLnNldEhlaWdodChoZWlnaHQpO1xuXG4gICAgdGhpcy5yZXNpemUoKTtcblxuICAgIHRoaXMudXBkYXRlKCk7XG4gIH1cblxuICBkaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGRlZmVyUmVuZGVyID0gZmFsc2UgfSA9IHRoaXMucHJvcGVydGllcztcblxuICAgIGlmIChkZWZlclJlbmRlcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucmVuZGVyKCk7XG4gIH1cblxuICB3aWxsVW5tb3VudCgpIHtcbiAgICAvLy9cbiAgfVxuXG4gIGNoaWxkRWxlbWVudHMoKSB7XG4gICAgY29uc3QgY2hhbmdlSGFuZGxlciA9IHRoaXMuY2hhbmdlSGFuZGxlci5iaW5kKHRoaXMpLFxuICAgICAgICAgIHNjcm9sbEhhbmRsZXIgPSB0aGlzLnNjcm9sbEhhbmRsZXIuYmluZCh0aGlzKTtcblxuICAgIHJldHVybiAoW1xuXG4gICAgICA8UHJldHR5UHJpbnRlciAvPixcbiAgICAgIDxSaWNoVGV4dGFyZWEgb25DaGFuZ2U9e2NoYW5nZUhhbmRsZXJ9IG9uU2Nyb2xsPXtzY3JvbGxIYW5kbGVyfSBhY3RpdmUgLz5cblxuICAgIF0pO1xuICB9XG5cbiAgcGFyZW50Q29udGV4dCgpIHtcbiAgICBjb25zdCBnZXRQbHVnaW4gPSB0aGlzLmdldFBsdWdpbi5iaW5kKHRoaXMpLFxuICAgICAgICAgIHVwZGF0ZVlhcHAgPSB0aGlzLnVwZGF0ZS5iaW5kKHRoaXMpLCAgLy8vXG4gICAgICAgICAgc2V0WWFwcFdpZHRoID0gdGhpcy5zZXRXaWR0aC5iaW5kKHRoaXMpLCAgLy8vXG4gICAgICAgICAgc2V0WWFwcEhlaWdodCA9IHRoaXMuc2V0SGVpZ2h0LmJpbmQodGhpcyksICAvLy9cbiAgICAgICAgICBzZXRZYXBwTGV4ZXIgPSB0aGlzLnNldExleGVyLmJpbmQodGhpcyksICAvLy9cbiAgICAgICAgICBzZXRZYXBwUGFyc2VyID0gdGhpcy5zZXRQYXJzZXIuYmluZCh0aGlzKSwgIC8vL1xuICAgICAgICAgIHJlc2l6ZVlhcHAgPSB0aGlzLnJlc2l6ZS5iaW5kKHRoaXMpOyAgLy8vXG5cbiAgICByZXR1cm4gKHtcbiAgICAgIGdldFBsdWdpbixcbiAgICAgIHVwZGF0ZVlhcHAsXG4gICAgICBzZXRZYXBwV2lkdGgsXG4gICAgICBzZXRZYXBwSGVpZ2h0LFxuICAgICAgc2V0WWFwcExleGVyLFxuICAgICAgc2V0WWFwcFBhcnNlcixcbiAgICAgIHJlc2l6ZVlhcHBcbiAgICB9KTtcbiAgfVxuXG4gIGluaXRpYWxpc2UoKSB7XG4gICAgdGhpcy5hc3NpZ25Db250ZXh0KCk7XG5cbiAgICBjb25zdCB7IGNoaWxkRWxlbWVudHMsIGZpcmFDb2RlID0gZmFsc2UsIGVkaXRhYmxlID0gZmFsc2UgfSA9IHRoaXMucHJvcGVydGllcyxcbiAgICAgICAgICBsYW5ndWFnZSA9IHRoaXMucGx1Z2luLmdldExhbmd1YWdlKCksXG4gICAgICAgICAgY29udGVudCA9IGNvbnRlbnRGcm9tQ2hpbGRFbGVtZW50cyhjaGlsZEVsZW1lbnRzKSxcbiAgICAgICAgICByZWFkT25seSA9ICFlZGl0YWJsZSxcbiAgICAgICAgICBzY3JvbGxUb3AgPSAwLCAgLy8vXG4gICAgICAgICAgc2Nyb2xsTGVmdCA9IDA7IC8vL1xuXG4gICAgdGhpcy5zZXRMYW5ndWFnZShsYW5ndWFnZSk7XG5cbiAgICB0aGlzLnNjcm9sbFByZXR0eVByaW50ZXIoc2Nyb2xsVG9wLCBzY3JvbGxMZWZ0KTtcblxuICAgIHRoaXMuc2V0UmljaFRleHRhcmVhQ29udGVudChjb250ZW50KTtcblxuICAgIHRoaXMuc2V0UmljaFRleHRhcmVhUmVhZE9ubHkocmVhZE9ubHkpO1xuXG4gICAgaWYgKGZpcmFDb2RlKSB7XG4gICAgICB0aGlzLmVuYWJsZUZpcmFDb2RlKCk7XG4gICAgfVxuXG4gICAgdGhpcy5vblJlc2l6ZSgoZXZlbnQsIGVsZW1lbnQpID0+IHRoaXMucmVzaXplKCkpO1xuICB9XG5cbiAgc3RhdGljIHRhZ05hbWUgPSBcImRpdlwiO1xuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcGVydGllcyA9IHtcbiAgICBjbGFzc05hbWU6IFwieWFwcFwiXG4gIH07XG5cbiAgc3RhdGljIGlnbm9yZWRQcm9wZXJ0aWVzID0gW1xuICAgIFwiUGx1Z2luXCIsXG4gICAgXCJsYW5ndWFnZVwiLFxuICAgIFwiZmlyYUNvZGVcIixcbiAgICBcImVkaXRhYmxlXCIsXG4gICAgXCJkZWZlclJlbmRlclwiXG4gIF07XG5cbiAgc3RhdGljIGZyb21Db250ZW50KGNvbnRlbnQsIGxhbmd1YWdlLCBQbHVnaW4sIG9wdGlvbnMpIHtcbiAgICBjb25zdCBDbGFzcyA9IFlhcHAsXG4gICAgICAgICAgcHJvcGVydGllcyA9IHByb3BlcnRpZXNGcm9tQ29udGVudExhbmd1YWdlUGx1Z2luQW5kT3B0aW9ucyhjb250ZW50LCBsYW5ndWFnZSwgUGx1Z2luLCBvcHRpb25zKSxcbiAgICAgICAgICBwbHVnaW4gPSBwbHVnaW5Gcm9tTGFuZ3VhZ2VBbmRQbHVnaW4obGFuZ3VhZ2UsIFBsdWdpbiksXG4gICAgICAgICAgeWFwcCA9IEVsZW1lbnQuZnJvbUNsYXNzKENsYXNzLCBwcm9wZXJ0aWVzLCBwbHVnaW4pO1xuXG4gICAgcmV0dXJuIHlhcHA7XG4gIH1cblxuICBzdGF0aWMgZnJvbUNsYXNzKENsYXNzLCBwcm9wZXJ0aWVzKSB7XG4gICAgY29uc3QgeyBsYW5ndWFnZSwgUGx1Z2luIH0gPSBwcm9wZXJ0aWVzLFxuICAgICAgICAgIHBsdWdpbiA9IHBsdWdpbkZyb21MYW5ndWFnZUFuZFBsdWdpbihsYW5ndWFnZSwgUGx1Z2luKSxcbiAgICAgICAgICB5YXBwID0gRWxlbWVudC5mcm9tQ2xhc3MoQ2xhc3MsIHByb3BlcnRpZXMsIHBsdWdpbik7XG5cbiAgICByZXR1cm4geWFwcDtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCB3aXRoU3R5bGUoWWFwcClgXG5cbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBib3JkZXI6IDFweCBzb2xpZDtcbiAgXG4gIGNvbG9yOiAke2NvbG91cn07XG4gIGNhcmV0LWNvbG9yOiAke2NhcmV0Q29sb3VyfTtcbiAgYm9yZGVyLWNvbG9yOiAke2JvcmRlckNvbG91cn07XG4gIGJhY2tncm91bmQtY29sb3I6ICR7YmFja2dyb3VuZENvbG91cn07XG5cbiAgZm9udC1zaXplOiAxM3B4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgZm9udC1mYW1pbHk6IFwiTWVubG9cIiwgXCJMdWNpZGEgU2FucyBUeXBld3JpdGVyXCIsIG1vbm9zcGFjZTtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBub3JtYWw7XG5cbiAgLmZpcmEtY29kZSB7XG5cbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgZm9udC1mYW1pbHk6IFwiRmlyYSBDb2RlXCI7XG4gICAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgLyogRm9yY2UgbGlnYXR1cmVzIGZvciBXZWJraXQsIEJsaW5rLCBHZWNrbyAqL1xuICAgIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJjYWx0XCIgMTsgIC8qIEVuYWJsZSBsaWdhdHVyZXMgZm9yIElFIDEwKywgRWRnZSAqL1xuICAgIFxuICB9XG5cbmA7XG4iXX0=
|
|
411
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy95YXBwLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgd2l0aFN0eWxlIGZyb20gXCJlYXN5LXdpdGgtc3R5bGVcIjsgIC8vL1xuXG5pbXBvcnQgeyBSZWFjdCwgRWxlbWVudCB9IGZyb20gXCJlYXN5XCI7XG5cbmltcG9ydCBSaWNoVGV4dGFyZWEgZnJvbSBcIi4vcmljaFRleHRhcmVhXCI7XG5pbXBvcnQgUHJldHR5UHJpbnRlciBmcm9tIFwiLi9wcmV0dHlQcmludGVyXCI7XG5pbXBvcnQgc2Nyb2xsQmFyVGhpY2tuZXNzIGZyb20gXCIuL3Njcm9sbGJhclRoaWNrbmVzc1wiO1xuXG5pbXBvcnQgeyBzdHJpcFBpeGVscyB9IGZyb20gXCIuL3V0aWxpdGllcy9jc3NcIjtcbmltcG9ydCB7IHBsdWdpbkZyb21MYW5ndWFnZUFuZFBsdWdpbiB9IGZyb20gXCIuL3V0aWxpdGllcy9wbHVnaW5cIjtcbmltcG9ydCB7IFRPUCwgTEVGVCwgUklHSFQsIExJTkVfSEVJR0hULCBCT1RUT00gfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IHByb3BlcnRpZXNGcm9tQ29udGVudExhbmd1YWdlUGx1Z2luQW5kT3B0aW9ucyB9IGZyb20gXCIuL3V0aWxpdGllcy9wcm9wZXJ0aWVzXCI7XG5pbXBvcnQgeyBsaW5lQ291bnRGcm9tQ29udGVudCwgY29udGVudEZyb21DaGlsZEVsZW1lbnRzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL2NvbnRlbnRcIjtcbmltcG9ydCB7IGNvbG91ciwgY2FyZXRDb2xvdXIsIGJvcmRlckNvbG91ciwgYmFja2dyb3VuZENvbG91ciB9IGZyb20gXCIuL3NjaGVtZS9jb2xvdXJcIjtcblxuY2xhc3MgWWFwcCBleHRlbmRzIEVsZW1lbnQge1xuICBjb25zdHJ1Y3RvcihzZWxlY3RvciwgcGx1Z2luKSB7XG4gICAgc3VwZXIoc2VsZWN0b3IpO1xuXG4gICAgdGhpcy5wbHVnaW4gPSBwbHVnaW47XG4gIH1cblxuICBnZXRQbHVnaW4oKSB7XG4gICAgcmV0dXJuIHRoaXMucGx1Z2luO1xuICB9XG5cbiAgZ2V0Q29udGVudCgpIHtcbiAgICBjb25zdCByaWNoVGV4dGFyZWFDb250ZW50ID0gdGhpcy5nZXRSaWNoVGV4dGFyZWFDb250ZW50KCksXG4gICAgICAgICAgY29udGVudCA9IHJpY2hUZXh0YXJlYUNvbnRlbnQ7ICAvLy9cblxuICAgIHJldHVybiBjb250ZW50O1xuICB9XG5cbiAgZ2V0TGluZUhlaWdodCgpIHtcbiAgICBjb25zdCBsaW5lSGVpZ2h0SW5QaXhlbHMgPSB0aGlzLmNzcyhMSU5FX0hFSUdIVCksXG4gICAgICAgICAgbGluZUhlaWdodCA9IHN0cmlwUGl4ZWxzKGxpbmVIZWlnaHRJblBpeGVscyk7XG5cbiAgICByZXR1cm4gbGluZUhlaWdodDtcbiAgfVxuXG4gIGdldEJvcmRlcldpZHRoKHNpZGUpIHtcbiAgICBjb25zdCBib3JkZXJXaWR0aEluUGl4ZWxzID0gdGhpcy5jc3MoYGJvcmRlci0ke3NpZGV9LXdpZHRoYCksXG4gICAgICAgICAgYm9yZGVyV2lkdGggPSBzdHJpcFBpeGVscyhib3JkZXJXaWR0aEluUGl4ZWxzKTtcblxuICAgIHJldHVybiBib3JkZXJXaWR0aDtcbiAgfVxuXG4gIGdldEJvcmRlclRvcFdpZHRoKCkge1xuICAgIGNvbnN0IHNpZGUgPSBUT1AsXG4gICAgICAgICAgYm9yZGVyVG9wV2lkdGggPSB0aGlzLmdldEJvcmRlcldpZHRoKHNpZGUpO1xuXG4gICAgcmV0dXJuIGJvcmRlclRvcFdpZHRoO1xuICB9XG5cbiAgZ2V0Qm9yZGVyTGVmdFdpZHRoKCkge1xuICAgIGNvbnN0IHNpZGUgPSBMRUZULFxuICAgICAgICAgIGJvcmRlckxlZnRXaWR0aCA9IHRoaXMuZ2V0Qm9yZGVyV2lkdGgoc2lkZSk7XG5cbiAgICByZXR1cm4gYm9yZGVyTGVmdFdpZHRoO1xuICB9XG5cbiAgZ2V0Qm9yZGVyUmlnaHRXaWR0aCgpIHtcbiAgICBjb25zdCBzaWRlID0gUklHSFQsXG4gICAgICAgICAgYm9yZGVyUmlnaHRXaWR0aCA9IHRoaXMuZ2V0Qm9yZGVyV2lkdGgoc2lkZSk7XG5cbiAgICByZXR1cm4gYm9yZGVyUmlnaHRXaWR0aDtcbiAgfVxuXG4gIGdldEJvcmRlckJvdHRvbVdpZHRoKCkge1xuICAgIGNvbnN0IHNpZGUgPSBCT1RUT00sXG4gICAgICAgICAgYm9yZGVyQm90dG9tV2lkdGggPSB0aGlzLmdldEJvcmRlcldpZHRoKHNpZGUpO1xuXG4gICAgcmV0dXJuIGJvcmRlckJvdHRvbVdpZHRoO1xuICB9XG5cbiAgc2V0TGV4ZXIobGV4ZXIpIHsgdGhpcy5wbHVnaW4uc2V0TGV4ZXIobGV4ZXIpOyB9XG5cbiAgc2V0UGFyc2VyKHBhcnNlcikgeyB0aGlzLnBsdWdpbi5zZXRQYXJzZXIocGFyc2VyKTsgfVxuXG4gIGVuYWJsZUZpcmFDb2RlKCkge1xuICAgIHRoaXMuYWRkQ2xhc3MoXCJmaXJhLWNvZGVcIik7XG4gIH1cblxuICBkaXNhYmxlRmlyYUNvZGUoKSB7XG4gICAgdGhpcy5yZW1vdmVDbGFzcyhcImZpcmEtY29kZVwiKTtcbiAgfVxuXG4gIGNoYW5nZUhhbmRsZXIoZXZlbnQsIGVsZW1lbnQpIHtcbiAgICBjb25zdCByaWNoVGV4dGFyZWEgPSBlbGVtZW50LCAvLy9cbiAgICAgICAgICBjb250ZW50Q2hhbmdlZCA9IHJpY2hUZXh0YXJlYS5oYXNDb250ZW50Q2hhbmdlZCgpO1xuXG4gICAgaWYgKGNvbnRlbnRDaGFuZ2VkKSB7XG4gICAgICBjb25zdCB7IG9uQ29udGVudENoYW5nZSB9ID0gdGhpcy5wcm9wZXJ0aWVzLFxuICAgICAgICAgICAgY29udGVudENoYW5nZUhhbmRsZXIgPSBvbkNvbnRlbnRDaGFuZ2U7IC8vL1xuXG4gICAgICB0aGlzLnVwZGF0ZSgpO1xuXG4gICAgICBlbGVtZW50ID0gdGhpczsgLy8vXG5cbiAgICAgIGNvbnRlbnRDaGFuZ2VIYW5kbGVyICYmIGNvbnRlbnRDaGFuZ2VIYW5kbGVyKGV2ZW50LCBlbGVtZW50KTsgLy8vXG4gICAgfVxuICB9XG5cbiAgc2Nyb2xsSGFuZGxlcihldmVudCwgZWxlbWVudCkge1xuICAgIGNvbnN0IHJpY2hUZXh0YXJlYSA9IGVsZW1lbnQsIC8vL1xuICAgICAgICAgIHNjcm9sbFRvcCA9IHJpY2hUZXh0YXJlYS5nZXRTY3JvbGxUb3AoKSxcbiAgICAgICAgICBzY3JvbGxMZWZ0ID0gcmljaFRleHRhcmVhLmdldFNjcm9sbExlZnQoKTtcblxuICAgIHRoaXMuc2Nyb2xsUHJldHR5UHJpbnRlcihzY3JvbGxUb3AsIHNjcm9sbExlZnQpO1xuICB9XG5cbiAgdXBkYXRlKCkge1xuICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLmdldENvbnRlbnQoKTtcblxuICAgIHRoaXMucGx1Z2luLnVwZGF0ZShjb250ZW50KTtcblxuICAgIGNvbnN0IHRva2VucyA9IHRoaXMucGx1Z2luLmdldFRva2VucygpLFxuICAgICAgICAgIHJpY2hUZXh0YXJlYUJvdW5kcyA9IHRoaXMudXBkYXRlUHJldHR5UHJpbnRlcih0b2tlbnMpO1xuXG4gICAgaWYgKHJpY2hUZXh0YXJlYUJvdW5kcyAhPT0gbnVsbCkge1xuICAgICAgdGhpcy5zZXRSaWNoVGV4dGFyZWFCb3VuZHMocmljaFRleHRhcmVhQm91bmRzKTtcbiAgICB9XG4gIH1cblxuICByZXNpemUoKSB7XG4gICAgbGV0IHdpZHRoID0gdGhpcy5nZXRXaWR0aCgpLFxuICAgICAgICBoZWlnaHQgPSB0aGlzLmdldEhlaWdodCgpO1xuXG4gICAgY29uc3QgYm9yZGVyVG9wV2lkdGggPSB0aGlzLmdldEJvcmRlclRvcFdpZHRoKCksXG4gICAgICAgICAgYm9yZGVyTGVmdFdpZHRoID0gdGhpcy5nZXRCb3JkZXJMZWZ0V2lkdGgoKSxcbiAgICAgICAgICBib3JkZXJSaWdodFdpZHRoID0gdGhpcy5nZXRCb3JkZXJSaWdodFdpZHRoKCksXG4gICAgICAgICAgYm9yZGVyQm90dG9tV2lkdGggPSB0aGlzLmdldEJvcmRlckJvdHRvbVdpZHRoKCk7XG5cbiAgICBoZWlnaHQgLT0gKCBib3JkZXJUb3BXaWR0aCArIGJvcmRlckJvdHRvbVdpZHRoICk7XG4gICAgd2lkdGggLT0gKCBib3JkZXJMZWZ0V2lkdGggKyBib3JkZXJSaWdodFdpZHRoICk7XG5cbiAgICB0aGlzLnNldFByZXR0eVByaW50ZXJXaWR0aCh3aWR0aCk7XG4gICAgdGhpcy5zZXRQcmV0dHlQcmludGVySGVpZ2h0KGhlaWdodCk7XG5cbiAgICBjb25zdCByaWNoVGV4dGFyZWFCb3VuZHMgPSB0aGlzLnJlc2l6ZVByZXR0eVByaW50ZXIoKTtcblxuICAgIHRoaXMuc2V0UmljaFRleHRhcmVhQm91bmRzKHJpY2hUZXh0YXJlYUJvdW5kcyk7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgY29udGVudCA9IHRoaXMuZ2V0Q29udGVudCgpLFxuICAgICAgICAgIGxpbmVDb3VudCA9IGxpbmVDb3VudEZyb21Db250ZW50KGNvbnRlbnQpLFxuICAgICAgICAgIGxpbmVIZWlnaHQgPSB0aGlzLmdldExpbmVIZWlnaHQoKSxcbiAgICAgICAgICBib3JkZXJUb3BXaWR0aCA9IHRoaXMuZ2V0Qm9yZGVyVG9wV2lkdGgoKSxcbiAgICAgICAgICBib3JkZXJCb3R0b21XaWR0aCA9IHRoaXMuZ2V0Qm9yZGVyQm90dG9tV2lkdGgoKSxcbiAgICAgICAgICBoZWlnaHQgPSBsaW5lQ291bnQgKiBsaW5lSGVpZ2h0ICsgc2Nyb2xsQmFyVGhpY2tuZXNzICsgYm9yZGVyVG9wV2lkdGggKyBib3JkZXJCb3R0b21XaWR0aDtcblxuICAgIHRoaXMuc2V0SGVpZ2h0KGhlaWdodCk7XG5cbiAgICB0aGlzLnJlc2l6ZSgpO1xuXG4gICAgdGhpcy51cGRhdGUoKTtcbiAgfVxuXG4gIGRpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgZGVmZXJSZW5kZXIgPSBmYWxzZSB9ID0gdGhpcy5wcm9wZXJ0aWVzO1xuXG4gICAgaWYgKGRlZmVyUmVuZGVyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5yZW5kZXIoKTtcbiAgfVxuXG4gIHdpbGxVbm1vdW50KCkge1xuICAgIC8vL1xuICB9XG5cbiAgY2hpbGRFbGVtZW50cygpIHtcbiAgICBjb25zdCBjaGFuZ2VIYW5kbGVyID0gdGhpcy5jaGFuZ2VIYW5kbGVyLmJpbmQodGhpcyksXG4gICAgICAgICAgc2Nyb2xsSGFuZGxlciA9IHRoaXMuc2Nyb2xsSGFuZGxlci5iaW5kKHRoaXMpO1xuXG4gICAgcmV0dXJuIChbXG5cbiAgICAgIDxQcmV0dHlQcmludGVyIC8+LFxuICAgICAgPFJpY2hUZXh0YXJlYSBvbkNoYW5nZT17Y2hhbmdlSGFuZGxlcn0gb25TY3JvbGw9e3Njcm9sbEhhbmRsZXJ9IGFjdGl2ZSAvPlxuXG4gICAgXSk7XG4gIH1cblxuICBwYXJlbnRDb250ZXh0KCkge1xuICAgIGNvbnN0IGdldFBsdWdpbiA9IHRoaXMuZ2V0UGx1Z2luLmJpbmQodGhpcyksXG4gICAgICAgICAgdXBkYXRlWWFwcCA9IHRoaXMudXBkYXRlLmJpbmQodGhpcyksICAvLy9cbiAgICAgICAgICBzZXRZYXBwV2lkdGggPSB0aGlzLnNldFdpZHRoLmJpbmQodGhpcyksICAvLy9cbiAgICAgICAgICBzZXRZYXBwSGVpZ2h0ID0gdGhpcy5zZXRIZWlnaHQuYmluZCh0aGlzKSwgIC8vL1xuICAgICAgICAgIHNldFlhcHBMZXhlciA9IHRoaXMuc2V0TGV4ZXIuYmluZCh0aGlzKSwgIC8vL1xuICAgICAgICAgIHNldFlhcHBQYXJzZXIgPSB0aGlzLnNldFBhcnNlci5iaW5kKHRoaXMpLCAgLy8vXG4gICAgICAgICAgcmVzaXplWWFwcCA9IHRoaXMucmVzaXplLmJpbmQodGhpcyk7ICAvLy9cblxuICAgIHJldHVybiAoe1xuICAgICAgZ2V0UGx1Z2luLFxuICAgICAgdXBkYXRlWWFwcCxcbiAgICAgIHNldFlhcHBXaWR0aCxcbiAgICAgIHNldFlhcHBIZWlnaHQsXG4gICAgICBzZXRZYXBwTGV4ZXIsXG4gICAgICBzZXRZYXBwUGFyc2VyLFxuICAgICAgcmVzaXplWWFwcFxuICAgIH0pO1xuICB9XG5cbiAgaW5pdGlhbGlzZSgpIHtcbiAgICB0aGlzLmFzc2lnbkNvbnRleHQoKTtcblxuICAgIGNvbnN0IHsgY2hpbGRFbGVtZW50cywgZmlyYUNvZGUgPSBmYWxzZSwgZWRpdGFibGUgPSBmYWxzZSB9ID0gdGhpcy5wcm9wZXJ0aWVzLFxuICAgICAgICAgIGxhbmd1YWdlID0gdGhpcy5wbHVnaW4uZ2V0TGFuZ3VhZ2UoKSxcbiAgICAgICAgICBjb250ZW50ID0gY29udGVudEZyb21DaGlsZEVsZW1lbnRzKGNoaWxkRWxlbWVudHMpLFxuICAgICAgICAgIHJlYWRPbmx5ID0gIWVkaXRhYmxlLFxuICAgICAgICAgIHNjcm9sbFRvcCA9IDAsICAvLy9cbiAgICAgICAgICBzY3JvbGxMZWZ0ID0gMDsgLy8vXG5cbiAgICB0aGlzLnNldExhbmd1YWdlKGxhbmd1YWdlKTtcblxuICAgIHRoaXMuc2Nyb2xsUHJldHR5UHJpbnRlcihzY3JvbGxUb3AsIHNjcm9sbExlZnQpO1xuXG4gICAgdGhpcy5zZXRSaWNoVGV4dGFyZWFDb250ZW50KGNvbnRlbnQpO1xuXG4gICAgdGhpcy5zZXRSaWNoVGV4dGFyZWFSZWFkT25seShyZWFkT25seSk7XG5cbiAgICBpZiAoZmlyYUNvZGUpIHtcbiAgICAgIHRoaXMuZW5hYmxlRmlyYUNvZGUoKTtcbiAgICB9XG5cbiAgICB0aGlzLm9uUmVzaXplKChldmVudCwgZWxlbWVudCkgPT4gdGhpcy5yZXNpemUoKSk7XG4gIH1cblxuICBzdGF0aWMgdGFnTmFtZSA9IFwiZGl2XCI7XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wZXJ0aWVzID0ge1xuICAgIGNsYXNzTmFtZTogXCJ5YXBwXCJcbiAgfTtcblxuICBzdGF0aWMgaWdub3JlZFByb3BlcnRpZXMgPSBbXG4gICAgXCJQbHVnaW5cIixcbiAgICBcImxhbmd1YWdlXCIsXG4gICAgXCJmaXJhQ29kZVwiLFxuICAgIFwiZWRpdGFibGVcIixcbiAgICBcImRlZmVyUmVuZGVyXCJcbiAgXTtcblxuICBzdGF0aWMgZnJvbUNvbnRlbnQoY29udGVudCwgbGFuZ3VhZ2UsIFBsdWdpbiwgb3B0aW9ucykge1xuICAgIGNvbnN0IENsYXNzID0gWWFwcCxcbiAgICAgICAgICBwcm9wZXJ0aWVzID0gcHJvcGVydGllc0Zyb21Db250ZW50TGFuZ3VhZ2VQbHVnaW5BbmRPcHRpb25zKGNvbnRlbnQsIGxhbmd1YWdlLCBQbHVnaW4sIG9wdGlvbnMpLFxuICAgICAgICAgIHBsdWdpbiA9IHBsdWdpbkZyb21MYW5ndWFnZUFuZFBsdWdpbihsYW5ndWFnZSwgUGx1Z2luKSxcbiAgICAgICAgICB5YXBwID0gRWxlbWVudC5mcm9tQ2xhc3MoQ2xhc3MsIHByb3BlcnRpZXMsIHBsdWdpbik7XG5cbiAgICByZXR1cm4geWFwcDtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tQ2xhc3MoQ2xhc3MsIHByb3BlcnRpZXMpIHtcbiAgICBjb25zdCB7IGxhbmd1YWdlLCBQbHVnaW4gfSA9IHByb3BlcnRpZXMsXG4gICAgICAgICAgcGx1Z2luID0gcGx1Z2luRnJvbUxhbmd1YWdlQW5kUGx1Z2luKGxhbmd1YWdlLCBQbHVnaW4pLFxuICAgICAgICAgIHlhcHAgPSBFbGVtZW50LmZyb21DbGFzcyhDbGFzcywgcHJvcGVydGllcywgcGx1Z2luKTtcblxuICAgIHJldHVybiB5YXBwO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhTdHlsZShZYXBwKWBcblxuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICBcbiAgY29sb3I6ICR7Y29sb3VyfTtcbiAgY2FyZXQtY29sb3I6ICR7Y2FyZXRDb2xvdXJ9O1xuICBib3JkZXItY29sb3I6ICR7Ym9yZGVyQ29sb3VyfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtiYWNrZ3JvdW5kQ29sb3VyfTtcblxuICBmb250LXNpemU6IDEzcHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBmb250LWZhbWlseTogXCJNZW5sb1wiLCBcIkx1Y2lkYSBTYW5zIFR5cGV3cml0ZXJcIiwgbW9ub3NwYWNlO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IG5vcm1hbDtcblxuICAuZmlyYS1jb2RlIHtcblxuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICBmb250LWZhbWlseTogXCJGaXJhIENvZGVcIjtcbiAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyAvKiBGb3JjZSBsaWdhdHVyZXMgZm9yIFdlYmtpdCwgQmxpbmssIEdlY2tvICovXG4gICAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImNhbHRcIiAxOyAgLyogRW5hYmxlIGxpZ2F0dXJlcyBmb3IgSUUgMTArLCBFZGdlICovXG4gICAgXG4gIH1cblxuYDtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQ0FBQSxVQUFZOzs7OztBQUVVLEdBQWlCLENBQWpCLGNBQWlCO0FBRVIsR0FBTSxDQUFOLEtBQU07QUFFWixHQUFnQixDQUFoQixhQUFnQjtBQUNmLEdBQWlCLENBQWpCLGNBQWlCO0FBQ1osR0FBc0IsQ0FBdEIsbUJBQXNCO0FBRXpCLEdBQWlCLENBQWpCLElBQWlCO0FBQ0QsR0FBb0IsQ0FBcEIsT0FBb0I7QUFDVixHQUFhLENBQWIsVUFBYTtBQUNMLEdBQXdCLENBQXhCLFdBQXdCO0FBQ3ZCLEdBQXFCLENBQXJCLFFBQXFCO0FBQ2hCLEdBQWlCLENBQWpCLE9BQWlCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztTQXlQdEQsZ0ZBT3RCO1NBQVMsa0JBQ0g7U0FBYyxtQkFDYjtTQUFlLHVCQUNYO1NBQW1CLG1kQWtCdkM7Ozs7Ozs7SUFuUk0sSUFBSTtjQUFK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
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "yapp",
|
|
3
3
|
"author": "James Smith",
|
|
4
|
-
"version": "2.0.
|
|
4
|
+
"version": "2.0.27",
|
|
5
5
|
"license": "MIT, Anti-996",
|
|
6
6
|
"homepage": "https://github.com/djalbat/yapp",
|
|
7
7
|
"description": "Yet Another Pretty Printer.",
|
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"easy": "^12.1.13",
|
|
14
|
-
"easy-richtextarea": "^3.0.
|
|
15
|
-
"easy-with-style": "^3.0.
|
|
14
|
+
"easy-richtextarea": "^3.0.49",
|
|
15
|
+
"easy-with-style": "^3.0.59",
|
|
16
16
|
"necessary": "^7.1.10",
|
|
17
17
|
"occam-dom": "^3.0.20",
|
|
18
18
|
"occam-grammar-utilities": "^5.0.51",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
},
|
|
22
22
|
"devDependencies": {
|
|
23
23
|
"@swc/core": "^1.2.52",
|
|
24
|
-
"easy-layout": "^5.0.
|
|
24
|
+
"easy-layout": "^5.0.54",
|
|
25
25
|
"esbuild": "^0.11.7",
|
|
26
26
|
"express": "^4.17.1",
|
|
27
27
|
"juxtapose": "^4.0.20",
|
|
@@ -4,7 +4,7 @@ import { Element } from "easy";
|
|
|
4
4
|
|
|
5
5
|
import scrollbarThickness from "../../scrollbarThickness";
|
|
6
6
|
|
|
7
|
-
export default class
|
|
7
|
+
export default class ScrollableBoundedElement extends Element {
|
|
8
8
|
scroll(scrollTop, scrollLeft) {
|
|
9
9
|
this.setScrollTop(scrollTop);
|
|
10
10
|
this.setScrollLeft(scrollLeft);
|
package/src/example/view.js
CHANGED
|
@@ -124,7 +124,7 @@ class View extends Element {
|
|
|
124
124
|
<LeftSizeableDiv>
|
|
125
125
|
<RowsDiv>
|
|
126
126
|
<TopSizeableDiv>
|
|
127
|
-
<Yapp Plugin={this.Plugin} onContentChange={contentChangeHandler} editable firaCode
|
|
127
|
+
<Yapp Plugin={this.Plugin} onContentChange={contentChangeHandler} editable firaCode >
|
|
128
128
|
{this.initialContent}
|
|
129
129
|
</Yapp>
|
|
130
130
|
</TopSizeableDiv>
|
package/src/syntax.js
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
import withStyle from "easy-with-style"; ///
|
|
4
4
|
|
|
5
|
-
import
|
|
5
|
+
import ScrollableBoundedElement from "./element/bounded/scrollable";
|
|
6
6
|
|
|
7
|
-
class Syntax extends
|
|
7
|
+
class Syntax extends ScrollableBoundedElement {
|
|
8
8
|
setLanguage(language) {
|
|
9
9
|
const state = {
|
|
10
10
|
language
|
package/src/yapp.js
CHANGED
|
@@ -285,8 +285,8 @@ export default withStyle(Yapp)`
|
|
|
285
285
|
font-size: 13px;
|
|
286
286
|
line-height: 20px;
|
|
287
287
|
font-family: "Fira Code";
|
|
288
|
-
text-rendering: optimizeLegibility;
|
|
289
|
-
font-feature-settings: "calt" 1;
|
|
288
|
+
text-rendering: optimizeLegibility;
|
|
289
|
+
font-feature-settings: "calt" 1;
|
|
290
290
|
|
|
291
291
|
}
|
|
292
292
|
|