tiny-markdown-editor 0.1.4 → 0.1.5

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/grammar.js CHANGED
@@ -1,102 +1,49 @@
1
1
  "use strict";
2
2
 
3
- require("core-js/modules/es.symbol");
4
-
5
- require("core-js/modules/es.symbol.description");
6
-
7
- require("core-js/modules/es.symbol.iterator");
8
-
9
- require("core-js/modules/es.symbol.replace");
10
-
11
- require("core-js/modules/es.array.from");
12
-
13
- require("core-js/modules/es.array.index-of");
14
-
15
- require("core-js/modules/es.array.iterator");
16
-
17
- require("core-js/modules/es.array.join");
18
-
19
- require("core-js/modules/es.array.reduce");
20
-
21
- require("core-js/modules/es.array.slice");
22
-
23
- require("core-js/modules/es.function.name");
24
-
25
- require("core-js/modules/es.map");
26
-
27
- require("core-js/modules/es.object.get-prototype-of");
28
-
29
- require("core-js/modules/es.object.keys");
30
-
31
- require("core-js/modules/es.object.to-string");
32
-
33
- require("core-js/modules/es.reflect.construct");
34
-
35
- require("core-js/modules/es.regexp.constructor");
36
-
37
- require("core-js/modules/es.regexp.exec");
38
-
39
- require("core-js/modules/es.regexp.flags");
40
-
41
- require("core-js/modules/es.regexp.to-string");
42
-
43
- require("core-js/modules/es.string.iterator");
44
-
45
- require("core-js/modules/es.string.match");
46
-
47
- require("core-js/modules/es.string.replace");
48
-
49
- require("core-js/modules/es.weak-map");
50
-
51
- require("core-js/modules/web.dom-collections.iterator");
52
-
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+ require("core-js/modules/es.object.set-prototype-of.js");
5
+ require("core-js/modules/es.object.define-property.js");
6
+ require("core-js/modules/es.array.iterator.js");
7
+ require("core-js/modules/es.object.to-string.js");
8
+ require("core-js/modules/es.string.iterator.js");
9
+ require("core-js/modules/es.weak-map.js");
10
+ require("core-js/modules/web.dom-collections.iterator.js");
11
+ require("core-js/modules/es.array.reduce.js");
12
+ require("core-js/modules/es.symbol.replace.js");
13
+ require("core-js/modules/es.symbol.js");
14
+ require("core-js/modules/es.symbol.description.js");
15
+ require("core-js/modules/es.array.slice.js");
16
+ require("core-js/modules/es.symbol.iterator.js");
17
+ require("core-js/modules/es.array.from.js");
53
18
  Object.defineProperty(exports, "__esModule", {
54
19
  value: true
55
20
  });
21
+ exports.htmlBlockGrammar = exports.commands = void 0;
56
22
  exports.htmlescape = htmlescape;
57
- exports.commands = exports.htmlBlockGrammar = exports.punctuationTrailing = exports.punctuationLeading = exports.inlineGrammar = exports.lineGrammar = void 0;
58
-
59
- function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
60
-
61
- function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
62
-
23
+ exports.punctuationTrailing = exports.punctuationLeading = exports.lineGrammar = exports.inlineGrammar = void 0;
24
+ require("core-js/modules/es.regexp.constructor.js");
25
+ require("core-js/modules/es.regexp.exec.js");
26
+ require("core-js/modules/es.regexp.to-string.js");
27
+ require("core-js/modules/es.object.keys.js");
28
+ require("core-js/modules/es.string.match.js");
29
+ require("core-js/modules/es.string.replace.js");
30
+ require("core-js/modules/es.regexp.flags.js");
31
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
63
32
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
64
-
65
33
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
66
-
67
34
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
68
-
69
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }
70
-
35
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
71
36
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
72
-
73
37
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
74
-
75
- function _wrapRegExp(re, groups) { _wrapRegExp = function _wrapRegExp(re, groups) { return new BabelRegExp(re, undefined, groups); }; var _RegExp = _wrapNativeSuper(RegExp); var _super = RegExp.prototype; var _groups = new WeakMap(); function BabelRegExp(re, flags, groups) { var _this = _RegExp.call(this, re, flags); _groups.set(_this, groups || _groups.get(re)); return _this; } _inherits(BabelRegExp, _RegExp); BabelRegExp.prototype.exec = function (str) { var result = _super.exec.call(this, str); if (result) result.groups = buildGroups(result, this); return result; }; BabelRegExp.prototype[Symbol.replace] = function (str, substitution) { if (typeof substitution === "string") { var groups = _groups.get(this); return _super[Symbol.replace].call(this, str, substitution.replace(/\$<([^>]+)>/g, function (_, name) { return "$" + groups[name]; })); } else if (typeof substitution === "function") { var _this = this; return _super[Symbol.replace].call(this, str, function () { var args = []; args.push.apply(args, arguments); if (_typeof(args[args.length - 1]) !== "object") { args.push(buildGroups(args, _this)); } return substitution.apply(this, args); }); } else { return _super[Symbol.replace].call(this, str, substitution); } }; function buildGroups(result, re) { var g = _groups.get(re); return Object.keys(g).reduce(function (groups, name) { groups[name] = result[g[name]]; return groups; }, Object.create(null)); } return _wrapRegExp.apply(this, arguments); }
76
-
77
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
78
-
79
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
80
-
81
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
82
-
83
- function _wrapNativeSuper(Class) { var _cache = typeof Map === "function" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== "function") { throw new TypeError("Super expression must either be null or a function"); } if (typeof _cache !== "undefined") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }
84
-
85
- function _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }
86
-
87
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
88
-
89
- function _isNativeFunction(fn) { return Function.toString.call(fn).indexOf("[native code]") !== -1; }
90
-
91
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
92
-
93
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
94
-
38
+ function _wrapRegExp() { _wrapRegExp = function _wrapRegExp(re, groups) { return new BabelRegExp(re, void 0, groups); }; var _super = RegExp.prototype, _groups = new WeakMap(); function BabelRegExp(re, flags, groups) { var _this = new RegExp(re, flags); return _groups.set(_this, groups || _groups.get(re)), _setPrototypeOf(_this, BabelRegExp.prototype); } function buildGroups(result, re) { var g = _groups.get(re); return Object.keys(g).reduce(function (groups, name) { var i = g[name]; if ("number" == typeof i) groups[name] = result[i];else { for (var k = 0; void 0 === result[i[k]] && k + 1 < i.length;) { k++; } groups[name] = result[i[k]]; } return groups; }, Object.create(null)); } return _inherits(BabelRegExp, RegExp), BabelRegExp.prototype.exec = function (str) { var result = _super.exec.call(this, str); if (result) { result.groups = buildGroups(result, this); var indices = result.indices; indices && (indices.groups = buildGroups(indices, this)); } return result; }, BabelRegExp.prototype[Symbol.replace] = function (str, substitution) { if ("string" == typeof substitution) { var groups = _groups.get(this); return _super[Symbol.replace].call(this, str, substitution.replace(/\$<([^>]+)>/g, function (_, name) { var group = groups[name]; return "$" + (Array.isArray(group) ? group.join("$") : group); })); } if ("function" == typeof substitution) { var _this = this; return _super[Symbol.replace].call(this, str, function () { var args = arguments; return "object" != _typeof(args[args.length - 1]) && (args = [].slice.call(args)).push(buildGroups(args, _this)), substitution.apply(this, args); }); } return _super[Symbol.replace].call(this, str, substitution); }, _wrapRegExp.apply(this, arguments); }
39
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
40
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
95
41
  // const replacements = {
96
42
  // ASCIIPunctuation: '!"#$%&\'()*+,\\-./:;<=>?@\\[\\]^_`{|}~',
97
43
  // TriggerChars: '`_\*\[\]\(\)',
98
44
  // Scheme: `[A-Za-z][A-Za-z0-9\+\.\-]{1,31}`,
99
45
  // Email: `[a-zA-Z0-9.!#$%&'*+/=?^_\`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*`, // From CommonMark spec
46
+
100
47
  // }
101
48
  var replacements = {
102
49
  ASCIIPunctuation: /[!"#$%&'()*+,\-./:;<=>?@[\]^_`{|}~\\]/,
@@ -114,16 +61,18 @@ var replacements = {
114
61
  HTMLAttribute: /\s+[A-Za-z_:][A-Za-z0-9_.:-]*(?:HTMLAttValue)?/,
115
62
  HTMLAttValue: /\s*=\s*(?:(?:'[^']*')|(?:"[^"]*")|(?:[^\s"'=<>`]+))/,
116
63
  KnownTag: /address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h1|h2|h3|h4|h5|h6|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul/
117
- }; // From CommonMark.js.
64
+ };
118
65
 
66
+ // From CommonMark.js.
119
67
  var punctuationLeading = new RegExp(/^(?:[!"#$%&'()*+,\-./:;<=>?@[\]\\^_`{|}~\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u0AF0\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E42\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC9\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDF3C-\uDF3E]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B])/);
120
68
  exports.punctuationLeading = punctuationLeading;
121
- var punctuationTrailing = new RegExp(/(?:[!"#$%&'()*+,\-./:;<=>?@[\]\\^_`{|}~\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u0AF0\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E42\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC9\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDF3C-\uDF3E]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B])$/); // export const inlineTriggerChars = new RegExp(`[${replacements.TriggerChars}]`);
69
+ var punctuationTrailing = new RegExp(/(?:[!"#$%&'()*+,\-./:;<=>?@[\]\\^_`{|}~\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u0AF0\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E42\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC9\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDF3C-\uDF3E]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B])$/);
70
+
71
+ // export const inlineTriggerChars = new RegExp(`[${replacements.TriggerChars}]`);
122
72
 
123
73
  /**
124
74
  * This is CommonMark's block grammar, but we're ignoring nested blocks here.
125
75
  */
126
-
127
76
  exports.punctuationTrailing = punctuationTrailing;
128
77
  var lineGrammar = {
129
78
  TMH1: {
@@ -155,25 +104,25 @@ var lineGrammar = {
155
104
  replacement: '<span class="TMMark TMMark_TMBlockquote">$1</span>$$2'
156
105
  },
157
106
  TMCodeFenceBacktickOpen: {
158
- regexp: /*#__PURE__*/_wrapRegExp(/^( {0,3}(````*)[\t-\r \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*)([\0-_a-\uFFFF]*?)([\t-\r \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*)$/, {
107
+ regexp: /*#__PURE__*/_wrapRegExp(/^( {0,3}(````*)\s*)([^`]*?)(\s*)$/, {
159
108
  seq: 2
160
109
  }),
161
110
  replacement: '<span class="TMMark TMMark_TMCodeFenceBacktick">$1</span><span class="TMInfoString">$3</span>$4'
162
111
  },
163
112
  TMCodeFenceTildeOpen: {
164
- regexp: /*#__PURE__*/_wrapRegExp(/^( {0,3}(~~~~*)[\t-\r \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*)(.*?)([\t-\r \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*)$/, {
113
+ regexp: /*#__PURE__*/_wrapRegExp(/^( {0,3}(~~~~*)\s*)(.*?)(\s*)$/, {
165
114
  seq: 2
166
115
  }),
167
116
  replacement: '<span class="TMMark TMMark_TMCodeFenceTilde">$1</span><span class="TMInfoString">$3</span>$4'
168
117
  },
169
118
  TMCodeFenceBacktickClose: {
170
- regexp: /*#__PURE__*/_wrapRegExp(/^( {0,3}(````*))([\t-\r \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*)$/, {
119
+ regexp: /*#__PURE__*/_wrapRegExp(/^( {0,3}(````*))(\s*)$/, {
171
120
  seq: 2
172
121
  }),
173
122
  replacement: '<span class="TMMark TMMark_TMCodeFenceBacktick">$1</span>$3'
174
123
  },
175
124
  TMCodeFenceTildeClose: {
176
- regexp: /*#__PURE__*/_wrapRegExp(/^( {0,3}(~~~~*))([\t-\r \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*)$/, {
125
+ regexp: /*#__PURE__*/_wrapRegExp(/^( {0,3}(~~~~*))(\s*)$/, {
177
126
  seq: 2
178
127
  }),
179
128
  replacement: '<span class="TMMark TMMark_TMCodeFenceTilde">$1</span>$3'
@@ -212,13 +161,12 @@ var lineGrammar = {
212
161
  regexp: /^( {0,3}\[\s*)([^\s\]](?:[^\]]|\\\])*?)(\s*\]:\s*)((?:[^\s<>]+)|(?:<(?:[^<>\\]|\\.)*>))?(\s*)((?:\((?:[^()\\]|\\.)*\))|(?:"(?:[^"\\]|\\.)*")|(?:'(?:[^'\\]|\\.)*'))?(\s*)$/,
213
162
  replacement: '<span class="TMMark TMMark_TMLinkReferenceDefinition">$1</span><span class="TMLinkLabel TMLinkLabel_Definition">$2</span><span class="TMMark TMMark_TMLinkReferenceDefinition">$3</span><span class="TMLinkDestination">$4</span>$5<span class="TMLinkTitle">$6</span>$7',
214
163
  labelPlaceholder: 2 // this defines which placeholder in the above regex is the link "label"
215
-
216
164
  }
217
165
  };
166
+
218
167
  /**
219
168
  * HTML blocks have multiple different classes of opener and closer. This array defines all the cases
220
169
  */
221
-
222
170
  exports.lineGrammar = lineGrammar;
223
171
  var htmlBlockGrammar = [{
224
172
  start: /^ {0,3}<(?:script|pre|style)(?:\s|>|$)/i,
@@ -249,12 +197,12 @@ var htmlBlockGrammar = [{
249
197
  end: false,
250
198
  paraInterrupt: false
251
199
  }];
200
+
252
201
  /**
253
202
  * Structure of the object:
254
203
  * Top level entries are rules, each consisting of a regular expressions (in string format) as well as a replacement.
255
204
  * In the regular expressions, replacements from the object 'replacements' will be processed before compiling into the property regexp.
256
205
  */
257
-
258
206
  exports.htmlBlockGrammar = htmlBlockGrammar;
259
207
  var inlineGrammar = {
260
208
  escape: {
@@ -290,55 +238,52 @@ var inlineGrammar = {
290
238
  regexp: /^(.|(?:NotTriggerChar+))/,
291
239
  replacement: '$1'
292
240
  }
293
- }; // Process replacements in regexps
241
+ };
294
242
 
243
+ // Process replacements in regexps
295
244
  exports.inlineGrammar = inlineGrammar;
296
- var replacementRegexp = new RegExp(Object.keys(replacements).join('|')); // Inline
245
+ var replacementRegexp = new RegExp(Object.keys(replacements).join('|'));
297
246
 
247
+ // Inline
298
248
  var inlineRules = _toConsumableArray(Object.keys(inlineGrammar));
299
-
300
249
  var _iterator = _createForOfIteratorHelper(inlineRules),
301
- _step;
302
-
250
+ _step;
303
251
  try {
304
252
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
305
253
  var _rule = _step.value;
306
- var _re = inlineGrammar[_rule].regexp.source; // Replace while there is something to replace. This means it also works over multiple levels (replacements containing replacements)
307
-
254
+ var _re = inlineGrammar[_rule].regexp.source;
255
+ // Replace while there is something to replace. This means it also works over multiple levels (replacements containing replacements)
308
256
  while (_re.match(replacementRegexp)) {
309
257
  _re = _re.replace(replacementRegexp, function (string) {
310
258
  return replacements[string].source;
311
259
  });
312
260
  }
313
-
314
261
  inlineGrammar[_rule].regexp = new RegExp(_re, inlineGrammar[_rule].regexp.flags);
315
- } // HTML Block (only opening rule is processed currently)
262
+ }
316
263
 
264
+ // HTML Block (only opening rule is processed currently)
317
265
  } catch (err) {
318
266
  _iterator.e(err);
319
267
  } finally {
320
268
  _iterator.f();
321
269
  }
322
-
323
270
  for (var _i = 0, _htmlBlockGrammar = htmlBlockGrammar; _i < _htmlBlockGrammar.length; _i++) {
324
271
  var rule = _htmlBlockGrammar[_i];
325
- var re = rule.start.source; // Replace while there is something to replace. This means it also works over multiple levels (replacements containing replacements)
326
-
272
+ var re = rule.start.source;
273
+ // Replace while there is something to replace. This means it also works over multiple levels (replacements containing replacements)
327
274
  while (re.match(replacementRegexp)) {
328
275
  re = re.replace(replacementRegexp, function (string) {
329
276
  return replacements[string].source;
330
277
  });
331
278
  }
332
-
333
279
  rule.start = new RegExp(re, rule.start.flags);
334
280
  }
281
+
335
282
  /**
336
283
  * Escapes HTML special characters (<, >, and &) in the string.
337
284
  * @param {string} string The raw string to be escaped
338
285
  * @returns {string} The string, ready to be used in HTML
339
286
  */
340
-
341
-
342
287
  function htmlescape(string) {
343
288
  return (string ? string : '').replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');
344
289
  }
@@ -354,8 +299,6 @@ function htmlescape(string) {
354
299
  * be inserted before and after the selection. The unset object contains a prePattern and a postPattern. Both should be regular expressions and
355
300
  * they will be applied to the portion of the line before and after the selection (using String.replace, with an empty replacement string).
356
301
  */
357
-
358
-
359
302
  var commands = {
360
303
  // Replacements for unset for inline commands are '' by default
361
304
  bold: {
@@ -393,8 +336,8 @@ var commands = {
393
336
  prePattern: /`+$/,
394
337
  postPattern: /^`+/
395
338
  } // FIXME this doesn't ensure balanced backticks right now
396
-
397
339
  },
340
+
398
341
  strikethrough: {
399
342
  type: 'inline',
400
343
  className: 'TMStrikethrough',
@@ -431,6 +374,54 @@ var commands = {
431
374
  replacement: '$2'
432
375
  }
433
376
  },
377
+ h3: {
378
+ type: 'line',
379
+ className: 'TMH3',
380
+ set: {
381
+ pattern: /^( {0,3}(?:(?:#+|[0-9]{1,9}[).]|[>\-*+])\s+)?)(.*)$/,
382
+ replacement: '### $2'
383
+ },
384
+ unset: {
385
+ pattern: /^( {0,3}###\s+)(.*?)((?:\s+#+\s*)?)$/,
386
+ replacement: '$2'
387
+ }
388
+ },
389
+ h4: {
390
+ type: 'line',
391
+ className: 'TMH4',
392
+ set: {
393
+ pattern: /^( {0,3}(?:(?:#+|[0-9]{1,9}[).]|[>\-*+])\s+)?)(.*)$/,
394
+ replacement: '#### $2'
395
+ },
396
+ unset: {
397
+ pattern: /^( {0,3}####\s+)(.*?)((?:\s+#+\s*)?)$/,
398
+ replacement: '$2'
399
+ }
400
+ },
401
+ h5: {
402
+ type: 'line',
403
+ className: 'TMH5',
404
+ set: {
405
+ pattern: /^( {0,3}(?:(?:#+|[0-9]{1,9}[).]|[>\-*+])\s+)?)(.*)$/,
406
+ replacement: '##### $2'
407
+ },
408
+ unset: {
409
+ pattern: /^( {0,3}#####\s+)(.*?)((?:\s+#+\s*)?)$/,
410
+ replacement: '$2'
411
+ }
412
+ },
413
+ h6: {
414
+ type: 'line',
415
+ className: 'TMH6',
416
+ set: {
417
+ pattern: /^( {0,3}(?:(?:#+|[0-9]{1,9}[).]|[>\-*+])\s+)?)(.*)$/,
418
+ replacement: '###### $2'
419
+ },
420
+ unset: {
421
+ pattern: /^( {0,3}######\s+)(.*?)((?:\s+#+\s*)?)$/,
422
+ replacement: '$2'
423
+ }
424
+ },
434
425
  ul: {
435
426
  type: 'line',
436
427
  className: 'TMUL',
package/lib/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ require("core-js/modules/es.object.define-property.js");
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
@@ -15,9 +16,6 @@ Object.defineProperty(exports, "Editor", {
15
16
  return _TinyMDE.default;
16
17
  }
17
18
  });
18
-
19
19
  var _TinyMDECommandBar = _interopRequireDefault(require("./TinyMDECommandBar"));
20
-
21
20
  var _TinyMDE = _interopRequireDefault(require("./TinyMDE"));
22
-
23
21
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
package/lib/svg/svg.js CHANGED
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ require("core-js/modules/es.object.define-property.js");
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
package/lib/tiny.js CHANGED
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ require("core-js/modules/es.object.define-property.js");
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
@@ -9,7 +10,5 @@ Object.defineProperty(exports, "Editor", {
9
10
  return _TinyMDE.default;
10
11
  }
11
12
  });
12
-
13
13
  var _TinyMDE = _interopRequireDefault(require("./TinyMDE"));
14
-
15
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tiny-markdown-editor",
3
- "version": "0.1.4",
3
+ "version": "0.1.5",
4
4
  "description": "TinyMDE: A tiny, ultra low dependency, embeddable HTML/JavaScript Markdown editor.",
5
5
  "main": "lib/index.js",
6
6
  "files": [
@@ -35,27 +35,27 @@
35
35
  "devDependencies": {
36
36
  "@babel/core": "^7.11.6",
37
37
  "@babel/preset-env": "^7.11.5",
38
- "@rollup/plugin-babel": "^5.2.1",
39
- "@rollup/plugin-commonjs": "^15.1.0",
40
- "@rollup/plugin-node-resolve": "^9.0.0",
41
- "@rollup/stream": "^1.1.0",
42
- "autoprefixer": "^9.8.6",
43
- "cssnano": "^4.1.10",
44
- "del": "^5.1.0",
45
- "eslint": "^7.10.0",
38
+ "@rollup/plugin-babel": "^6.0.2",
39
+ "@rollup/plugin-commonjs": "^23.0.2",
40
+ "@rollup/plugin-node-resolve": "^15.0.1",
41
+ "@rollup/stream": "^2.0.0",
42
+ "autoprefixer": "^10.4.13",
43
+ "cssnano": "^5.1.14",
44
+ "del": "^7.0.0",
45
+ "eslint": "^8.26.0",
46
46
  "express": "^4.17.1",
47
47
  "gulp": "^4.0.2",
48
48
  "gulp-babel": "^8.0.0",
49
- "gulp-postcss": "^8.0.0",
49
+ "gulp-postcss": "^9.0.1",
50
50
  "gulp-rename": "^2.0.0",
51
51
  "gulp-size": "^3.0.0",
52
- "gulp-terser": "^1.4.0",
53
- "jest": "^26.4.2",
54
- "jest-cli": "^26.4.2",
55
- "jest-puppeteer": "^4.4.0",
56
- "postcss-import": "^12.0.1",
57
- "puppeteer": "^5.3.1",
58
- "rollup": "^2.28.2",
52
+ "gulp-terser": "^2.1.0",
53
+ "jest": "^29.2.2",
54
+ "jest-cli": "^29.2.2",
55
+ "jest-puppeteer": "^6.1.1",
56
+ "postcss-import": "^15.0.0",
57
+ "puppeteer": "^19.2.2",
58
+ "rollup": "^2.79.1",
59
59
  "rollup-plugin-eslint": "^7.0.0",
60
60
  "terser": "^5.3.3",
61
61
  "vinyl-buffer": "^1.0.1",