@readme/markdown 6.45.0 → 6.47.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/dist/main.js CHANGED
@@ -9180,7 +9180,7 @@ Anchor.defaultProps = {
9180
9180
  title: ''
9181
9181
  };
9182
9182
 
9183
- var AnchorContext = function AnchorContext(props) {
9183
+ var AnchorWithContext = function AnchorWithContext(props) {
9184
9184
  return /*#__PURE__*/React.createElement(BaseUrlContext.Consumer, null, function (baseUrl) {
9185
9185
  return /*#__PURE__*/React.createElement(Anchor, _extends({
9186
9186
  baseUrl: baseUrl
@@ -9188,12 +9188,14 @@ var AnchorContext = function AnchorContext(props) {
9188
9188
  });
9189
9189
  };
9190
9190
 
9191
- module.exports = function (sanitizeSchema) {
9191
+ AnchorWithContext.sanitize = function (sanitizeSchema) {
9192
9192
  // This is for our custom link formats
9193
9193
  sanitizeSchema.protocols.href.push('doc', 'target', 'ref', 'blog', 'changelog', 'page');
9194
- return AnchorContext;
9194
+ return sanitizeSchema;
9195
9195
  };
9196
9196
 
9197
+ module.exports = AnchorWithContext;
9198
+
9197
9199
  /***/ }),
9198
9200
 
9199
9201
  /***/ 2015:
@@ -9257,11 +9259,13 @@ Callout.defaultProps = {
9257
9259
  node: null
9258
9260
  };
9259
9261
 
9260
- module.exports = function (sanitizeSchema) {
9262
+ Callout.sanitize = function (sanitizeSchema) {
9261
9263
  sanitizeSchema.attributes['rdme-callout'] = ['icon', 'theme', 'title', 'value'];
9262
- return Callout;
9264
+ return sanitizeSchema;
9263
9265
  };
9264
9266
 
9267
+ module.exports = Callout;
9268
+
9265
9269
  /***/ }),
9266
9270
 
9267
9271
  /***/ 8297:
@@ -9357,12 +9361,10 @@ function Code(props) {
9357
9361
  }), codeContent));
9358
9362
  }
9359
9363
 
9360
- function CreateCode(sanitizeSchema, _ref2) {
9364
+ function CreateCode(_ref2) {
9361
9365
  var copyButtons = _ref2.copyButtons,
9362
9366
  theme = _ref2.theme;
9363
- // This is for code blocks class name
9364
- sanitizeSchema.attributes.code = ['className', 'lang', 'meta', 'value']; // eslint-disable-next-line react/display-name
9365
-
9367
+ // eslint-disable-next-line react/display-name
9366
9368
  return function (props) {
9367
9369
  return /*#__PURE__*/React.createElement(Code, _extends({}, props, {
9368
9370
  copyButtons: copyButtons,
@@ -9386,10 +9388,14 @@ Code.defaultProps = {
9386
9388
  meta: ''
9387
9389
  };
9388
9390
 
9389
- module.exports = function (sanitizeSchema, opts) {
9390
- return CreateCode(sanitizeSchema, opts);
9391
+ CreateCode.sanitize = function (sanitizeSchema) {
9392
+ // This is for code blocks class name
9393
+ sanitizeSchema.attributes.code = ['className', 'lang', 'meta', 'value'];
9394
+ return sanitizeSchema;
9391
9395
  };
9392
9396
 
9397
+ module.exports = CreateCode;
9398
+
9393
9399
  /***/ }),
9394
9400
 
9395
9401
  /***/ 6553:
@@ -9468,9 +9474,7 @@ function CreateCodeTabs(_ref3) {
9468
9474
  };
9469
9475
  }
9470
9476
 
9471
- module.exports = function (_, opts) {
9472
- return CreateCodeTabs(opts);
9473
- };
9477
+ module.exports = CreateCodeTabs;
9474
9478
 
9475
9479
  /***/ }),
9476
9480
 
@@ -9625,10 +9629,7 @@ Embed.defaultProps = {
9625
9629
  height: '300px',
9626
9630
  width: '100%'
9627
9631
  };
9628
-
9629
- module.exports = function () {
9630
- return Embed;
9631
- };
9632
+ module.exports = Embed;
9632
9633
 
9633
9634
  /***/ }),
9634
9635
 
@@ -9813,12 +9814,14 @@ var CreateHtmlBlock = function CreateHtmlBlock(_ref) {
9813
9814
  );
9814
9815
  };
9815
9816
 
9816
- module.exports = function (sanitize, opts) {
9817
- sanitize.tagNames.push('html-block');
9818
- sanitize.attributes['html-block'] = ['html', 'runScripts'];
9819
- return CreateHtmlBlock(opts);
9817
+ CreateHtmlBlock.sanitize = function (schema) {
9818
+ schema.tagNames.push('html-block');
9819
+ schema.attributes['html-block'] = ['html', 'runScripts'];
9820
+ return schema;
9820
9821
  };
9821
9822
 
9823
+ module.exports = CreateHtmlBlock;
9824
+
9822
9825
  /***/ }),
9823
9826
 
9824
9827
  /***/ 1984:
@@ -10119,11 +10122,53 @@ Image.defaultProps = {
10119
10122
  width: 'auto'
10120
10123
  };
10121
10124
 
10122
- module.exports = function (sanitizeSchema) {
10125
+ Image.sanitize = function (sanitizeSchema) {
10123
10126
  sanitizeSchema.attributes.img = ['className', 'title', 'alt', 'width', 'height', 'align', 'src', 'longDesc'];
10124
- return Image;
10127
+ return sanitizeSchema;
10125
10128
  };
10126
10129
 
10130
+ module.exports = Image;
10131
+
10132
+ /***/ }),
10133
+
10134
+ /***/ 3197:
10135
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
10136
+
10137
+ var _extends = __webpack_require__(7154);
10138
+
10139
+ var React = __webpack_require__(4466);
10140
+
10141
+ var PropTypes = __webpack_require__(5697);
10142
+
10143
+ var Style = function Style(_ref) {
10144
+ var children = _ref.children,
10145
+ safeMode = _ref.safeMode;
10146
+ return safeMode ? /*#__PURE__*/React.createElement("pre", null, /*#__PURE__*/React.createElement("code", null, "<style>\n".concat(children, "\n</style>"))) : /*#__PURE__*/React.createElement("style", null, children);
10147
+ };
10148
+
10149
+ Style.propTypes = {
10150
+ children: PropTypes.node,
10151
+ safeMode: PropTypes.bool
10152
+ };
10153
+
10154
+ var CreateStyle = function CreateStyle(_ref2) {
10155
+ var safeMode = _ref2.safeMode;
10156
+ return (// eslint-disable-next-line react/display-name
10157
+ function (props) {
10158
+ return /*#__PURE__*/React.createElement(Style, _extends({}, props, {
10159
+ safeMode: safeMode
10160
+ }));
10161
+ }
10162
+ );
10163
+ };
10164
+
10165
+ CreateStyle.sanitize = function (sanitize) {
10166
+ sanitize.tagNames.push('style');
10167
+ return sanitize;
10168
+ };
10169
+
10170
+ module.exports = CreateStyle;
10171
+
10127
10172
  /***/ }),
10128
10173
 
10129
10174
  /***/ 484:
@@ -10145,10 +10190,7 @@ function Table(props) {
10145
10190
  Table.propTypes = {
10146
10191
  children: PropTypes.arrayOf(PropTypes.node).isRequired
10147
10192
  };
10148
-
10149
- module.exports = function () {
10150
- return Table;
10151
- };
10193
+ module.exports = Table;
10152
10194
 
10153
10195
  /***/ }),
10154
10196
 
@@ -10195,8 +10237,9 @@ __webpack_require__.r(__webpack_exports__);
10195
10237
  /* harmony export */ "HTMLBlock": () => (/* reexport default from dynamic */ _HTMLBlock__WEBPACK_IMPORTED_MODULE_6___default.a),
10196
10238
  /* harmony export */ "Heading": () => (/* reexport default from dynamic */ _Heading__WEBPACK_IMPORTED_MODULE_7___default.a),
10197
10239
  /* harmony export */ "Image": () => (/* reexport default from dynamic */ _Image__WEBPACK_IMPORTED_MODULE_8___default.a),
10198
- /* harmony export */ "Table": () => (/* reexport default from dynamic */ _Table__WEBPACK_IMPORTED_MODULE_9___default.a),
10199
- /* harmony export */ "TableOfContents": () => (/* reexport default from dynamic */ _TableOfContents__WEBPACK_IMPORTED_MODULE_10___default.a)
10240
+ /* harmony export */ "Style": () => (/* reexport default from dynamic */ _Style__WEBPACK_IMPORTED_MODULE_9___default.a),
10241
+ /* harmony export */ "Table": () => (/* reexport default from dynamic */ _Table__WEBPACK_IMPORTED_MODULE_10___default.a),
10242
+ /* harmony export */ "TableOfContents": () => (/* reexport default from dynamic */ _TableOfContents__WEBPACK_IMPORTED_MODULE_11___default.a)
10200
10243
  /* harmony export */ });
10201
10244
  /* harmony import */ var _Anchor__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8447);
10202
10245
  /* harmony import */ var _Anchor__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_Anchor__WEBPACK_IMPORTED_MODULE_0__);
@@ -10216,10 +10259,13 @@ __webpack_require__.r(__webpack_exports__);
10216
10259
  /* harmony import */ var _Heading__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_Heading__WEBPACK_IMPORTED_MODULE_7__);
10217
10260
  /* harmony import */ var _Image__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(9167);
10218
10261
  /* harmony import */ var _Image__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_Image__WEBPACK_IMPORTED_MODULE_8__);
10219
- /* harmony import */ var _Table__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(484);
10220
- /* harmony import */ var _Table__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_Table__WEBPACK_IMPORTED_MODULE_9__);
10221
- /* harmony import */ var _TableOfContents__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(4479);
10222
- /* harmony import */ var _TableOfContents__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_TableOfContents__WEBPACK_IMPORTED_MODULE_10__);
10262
+ /* harmony import */ var _Style__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(3197);
10263
+ /* harmony import */ var _Style__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_Style__WEBPACK_IMPORTED_MODULE_9__);
10264
+ /* harmony import */ var _Table__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(484);
10265
+ /* harmony import */ var _Table__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_Table__WEBPACK_IMPORTED_MODULE_10__);
10266
+ /* harmony import */ var _TableOfContents__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(4479);
10267
+ /* harmony import */ var _TableOfContents__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_TableOfContents__WEBPACK_IMPORTED_MODULE_11__);
10268
+
10223
10269
 
10224
10270
 
10225
10271
 
@@ -10259,12 +10305,10 @@ var _slicedToArray = __webpack_require__(3038);
10259
10305
 
10260
10306
  /* eslint-disable no-param-reassign
10261
10307
  */
10262
- var sanitize = __webpack_require__(8229);
10263
-
10264
10308
  var kebabCase = __webpack_require__(5683);
10265
10309
 
10266
- var registerCustomComponents = function registerCustomComponents(components) {
10267
- var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'x';
10310
+ var registerCustomComponents = function registerCustomComponents(components, sanitize) {
10311
+ var prefix = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'x';
10268
10312
  return Object.entries(components).reduce(function (all, _ref) {
10269
10313
  var _ref2 = _slicedToArray(_ref, 2),
10270
10314
  tag = _ref2[0],
@@ -27371,7 +27415,7 @@ var _typeof = __webpack_require__(8);
27371
27415
  });
27372
27416
  }, r.nmd = function (e) {
27373
27417
  return e.paths = [], e.children || (e.children = []), e;
27374
- };
27418
+ }, r.nc = void 0;
27375
27419
  var n = {};
27376
27420
  (function () {
27377
27421
  "use strict";
@@ -28093,7 +28137,7 @@ var _require = __webpack_require__(7589),
28093
28137
 
28094
28138
  var compileImage = function compileImage(image) {
28095
28139
  var img = _objectSpread(_objectSpread({
28096
- image: [image.url, image.title]
28140
+ image: [image.url, image.title, image.alt]
28097
28141
  }, image.data.hProperties.width && {
28098
28142
  sizing: imgSizeByWidth[image.data.hProperties.width]
28099
28143
  }), image.border && {
@@ -28282,7 +28326,7 @@ module.exports = function PinCompiler() {
28282
28326
  var visitors = Compiler.prototype.visitors;
28283
28327
 
28284
28328
  function compiler(node) {
28285
- return ["<div class=\"rdmd-pinned\">", this.block(node), "</div>"].join('\n\n');
28329
+ return ['<div class="rdmd-pinned">', this.block(node), '</div>'].join('\n\n');
28286
28330
  }
28287
28331
 
28288
28332
  visitors['rdme-pin'] = compiler;
@@ -28433,11 +28477,9 @@ var _toConsumableArray = __webpack_require__(319);
28433
28477
 
28434
28478
  var _slicedToArray = __webpack_require__(3038);
28435
28479
 
28436
- // @note: We'd like to allow any emoji to match, but included in the emoji
28437
- // character set is [#*0-9].
28438
- // https://www.unicode.org/Public/13.0.0/ucd/emoji/emoji-data.txt
28439
- var rgx = // eslint-disable-next-line unicorn/no-unsafe-regex
28440
- /^> ?(\xA9|\xAE|[\u2000-\u3300]|(?:[\uD83C-\uD83E][\uDC00-\uDFFF]))(?: *((?:[\0-\t\x0B\f\x0E-\u2027\u202A-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+))?\n((?:>(?: (?:[\0-\t\x0B\f\x0E-\u2027\u202A-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?\n)*)/;
28480
+ var emojiRegex = __webpack_require__(809);
28481
+
28482
+ var rgx = new RegExp("^> ?(".concat(emojiRegex().source, ")(?: +(.+)?)?\n((?:>(?: .*)?\n)*)"));
28441
28483
  var themes = {
28442
28484
  "\uD83D\uDCD8": 'info',
28443
28485
  "\u26A0\uFE0F": 'warn',
@@ -28465,13 +28507,13 @@ var icons = Object.entries(themes).reduce(function (acc, _ref) {
28465
28507
  function tokenizer(eat, value) {
28466
28508
  if (!rgx.test(value)) return true; // eslint-disable-next-line prefer-const
28467
28509
 
28468
- var _rgx$exec = rgx.exec(value),
28469
- _rgx$exec2 = _slicedToArray(_rgx$exec, 4),
28470
- match = _rgx$exec2[0],
28471
- icon = _rgx$exec2[1],
28472
- _rgx$exec2$ = _rgx$exec2[2],
28473
- title = _rgx$exec2$ === void 0 ? '' : _rgx$exec2$,
28474
- text = _rgx$exec2[3];
28510
+ var _value$match = value.match(rgx),
28511
+ _value$match2 = _slicedToArray(_value$match, 4),
28512
+ match = _value$match2[0],
28513
+ icon = _value$match2[1],
28514
+ _value$match2$ = _value$match2[2],
28515
+ title = _value$match2$ === void 0 ? '' : _value$match2$,
28516
+ text = _value$match2[3];
28475
28517
 
28476
28518
  icon = icon.trim();
28477
28519
  text = text.replace(/^>(?:(\n)|(\s)?)/gm, '$1').trim();
@@ -28965,15 +29007,16 @@ function tokenize(eat, value) {
28965
29007
  var imgs = json.images.map(function (img) {
28966
29008
  if (!('image' in img)) return null;
28967
29009
 
28968
- var _img$image = _slicedToArray(img.image, 2),
29010
+ var _img$image = _slicedToArray(img.image, 3),
28969
29011
  url = _img$image[0],
28970
- title = _img$image[1];
29012
+ title = _img$image[1],
29013
+ alt = _img$image[2];
28971
29014
 
28972
29015
  var block = {
28973
29016
  type: 'image',
28974
29017
  url: url,
28975
29018
  title: title,
28976
- alt: 'caption' in img ? img.caption : '',
29019
+ alt: alt || ('caption' in img ? img.caption : ''),
28977
29020
  data: {
28978
29021
  hProperties: _objectSpread({
28979
29022
  className: img.border ? 'border' : ''
@@ -29431,22 +29474,35 @@ module.exports.tableFlattening = transformer;
29431
29474
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
29432
29475
 
29433
29476
  var _require = __webpack_require__(2781),
29434
- sanitize = _require.defaultSchema; // Sanitization Schema Defaults
29477
+ defaultSchema = _require.defaultSchema;
29478
+
29479
+ var createSchema = function createSchema() {
29480
+ var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
29481
+ safeMode = _ref.safeMode;
29435
29482
 
29483
+ var schema = JSON.parse(JSON.stringify(defaultSchema)); // Sanitization Schema Defaults
29436
29484
 
29437
- sanitize.clobberPrefix = '';
29438
- sanitize.tagNames.push('span', 'style');
29439
- sanitize.attributes['*'].push('class', 'className', 'align', 'style');
29440
- sanitize.tagNames.push('rdme-pin');
29441
- sanitize.tagNames.push('rdme-embed');
29442
- sanitize.attributes['rdme-embed'] = ['url', 'provider', 'html', 'title', 'href', 'iframe', 'width', 'height', 'image', 'favicon'];
29443
- sanitize.attributes.a = ['href', 'title', 'class', 'className', 'download'];
29444
- sanitize.tagNames.push('figure');
29445
- sanitize.tagNames.push('figcaption');
29446
- sanitize.tagNames.push('input'); // allow GitHub-style todo lists
29485
+ schema.clobberPrefix = '';
29486
+ schema.tagNames.push('span');
29487
+ schema.attributes['*'].push('class', 'className', 'align');
29447
29488
 
29448
- sanitize.ancestors.input = ['li'];
29449
- module.exports = sanitize;
29489
+ if (!safeMode) {
29490
+ schema.attributes['*'].push('style');
29491
+ }
29492
+
29493
+ schema.tagNames.push('rdme-pin');
29494
+ schema.tagNames.push('rdme-embed');
29495
+ schema.attributes['rdme-embed'] = ['url', 'provider', 'html', 'title', 'href', 'iframe', 'width', 'height', 'image', 'favicon'];
29496
+ schema.attributes.a = ['href', 'title', 'class', 'className', 'download'];
29497
+ schema.tagNames.push('figure');
29498
+ schema.tagNames.push('figcaption');
29499
+ schema.tagNames.push('input'); // allow GitHub-style todo lists
29500
+
29501
+ schema.ancestors.input = ['li'];
29502
+ return schema;
29503
+ };
29504
+
29505
+ module.exports = createSchema;
29450
29506
 
29451
29507
  /***/ }),
29452
29508
 
@@ -30712,8 +30768,9 @@ function detab(value, size) {
30712
30768
  /***/ 809:
30713
30769
  /***/ ((module) => {
30714
30770
 
30715
- module.exports = function() {
30716
- return /[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2648-\u2653\u2660\u2663\u2665\u2666\u2668\u267B\u267F\u2692-\u2694\u2696\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD79\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED0\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3]|\uD83E[\uDD10-\uDD18\uDD80-\uDD84\uDDC0]|\uD83C\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uD83C\uDDFE\uD83C[\uDDEA\uDDF9]|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDFC\uD83C[\uDDEB\uDDF8]|\uD83C\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uD83C\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF8\uDDFE\uDDFF]|\uD83C\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uD83C\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uD83C\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uD83C\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uD83C\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uD83C\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uD83C\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uD83C\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uD83C\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uD83C\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uD83C\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uD83C\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uD83C\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uD83C\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF]|\uD83C\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uD83C\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|[#\*0-9]\u20E3/g;
30771
+ module.exports = () => {
30772
+ // https://mths.be/emoji
30773
+ return /(?:[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26F9(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC3\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDD-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF6](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7C\uDE80-\uDE86\uDE90-\uDEAC\uDEB0-\uDEBA\uDEC0-\uDEC2\uDED0-\uDED9\uDEE0-\uDEE7]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83E\uDDD1))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?))/g;
30717
30774
  };
30718
30775
 
30719
30776
 
@@ -31018,7 +31075,7 @@ function create(EConstructor) {
31018
31075
  /***/ 9671:
31019
31076
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
31020
31077
 
31021
- var emoji = __webpack_require__(809)
31078
+ var emoji = __webpack_require__(2730)
31022
31079
 
31023
31080
  module.exports = BananaSlug
31024
31081
 
@@ -31076,6 +31133,16 @@ function slugger (string, maintainCase) {
31076
31133
  BananaSlug.slug = slugger
31077
31134
 
31078
31135
 
31136
+ /***/ }),
31137
+
31138
+ /***/ 2730:
31139
+ /***/ ((module) => {
31140
+
31141
+ module.exports = function() {
31142
+ return /[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2648-\u2653\u2660\u2663\u2665\u2666\u2668\u267B\u267F\u2692-\u2694\u2696\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD79\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED0\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3]|\uD83E[\uDD10-\uDD18\uDD80-\uDD84\uDDC0]|\uD83C\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uD83C\uDDFE\uD83C[\uDDEA\uDDF9]|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDFC\uD83C[\uDDEB\uDDF8]|\uD83C\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uD83C\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF8\uDDFE\uDDFF]|\uD83C\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uD83C\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uD83C\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uD83C\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uD83C\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uD83C\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uD83C\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uD83C\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uD83C\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uD83C\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uD83C\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uD83C\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uD83C\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uD83C\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF]|\uD83C\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uD83C\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|[#\*0-9]\u20E3/g;
31143
+ };
31144
+
31145
+
31079
31146
  /***/ }),
31080
31147
 
31081
31148
  /***/ 6331:
@@ -52050,7 +52117,7 @@ var unified = __webpack_require__(8835);
52050
52117
  */
52051
52118
 
52052
52119
 
52053
- var sanitize = __webpack_require__(8229);
52120
+ var createSchema = __webpack_require__(8229);
52054
52121
 
52055
52122
  var generateTOC = __webpack_require__(3263);
52056
52123
 
@@ -52102,14 +52169,13 @@ var GlossaryItem = Components.GlossaryItem,
52102
52169
  Image = Components.Image,
52103
52170
  Embed = Components.Embed,
52104
52171
  HTMLBlock = Components.HTMLBlock,
52172
+ Style = Components.Style,
52105
52173
  TableOfContents = Components.TableOfContents;
52106
52174
 
52107
52175
  /* Custom Unified Parsers
52108
52176
  */
52109
52177
 
52110
- var customParsers = Object.values(__webpack_require__(1332)).map(function (parser) {
52111
- return parser.sanitize(sanitize);
52112
- });
52178
+ var CustomParsers = Object.values(__webpack_require__(1332));
52113
52179
  /* Custom Unified Compilers
52114
52180
  */
52115
52181
 
@@ -52133,14 +52199,23 @@ var _require2 = __webpack_require__(2531),
52133
52199
 
52134
52200
  var registerCustomComponents = __webpack_require__(1264);
52135
52201
  /**
52136
- * Normalize Magic Block Raw Text
52202
+ * Setup Options
52203
+ * !Normalize Magic Block Raw Text!
52137
52204
  */
52138
52205
 
52139
52206
 
52140
52207
  function setup(blocks) {
52141
52208
  var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
52142
52209
  // merge default and user options
52143
- opts = parseOptions(opts); // normalize magic block linebreaks
52210
+ opts = parseOptions(opts);
52211
+
52212
+ if (!opts.sanitize) {
52213
+ opts.sanitize = createSchema(opts);
52214
+ Object.values(Components).forEach(function (Component) {
52215
+ return Component.sanitize && Component.sanitize(opts.sanitize);
52216
+ });
52217
+ } // normalize magic block linebreaks
52218
+
52144
52219
 
52145
52220
  if (opts.normalize && blocks) {
52146
52221
  blocks = blocks.replace(/\[block:/g, '\n\n[block:').replace(/\[\/block\]/g, '[/block]\n');
@@ -52166,25 +52241,16 @@ var utils = {
52166
52241
  function processor() {
52167
52242
  var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
52168
52243
 
52169
- /*
52170
- * This is kinda complicated: "markdown" within ReadMe is
52171
- * often more than just markdown. It can also include HTML,
52172
- * as well as custom syntax constructs such as <<variables>>,
52173
- * and other special features.
52174
- *
52175
- * We use the Unified text processor to parse and transform
52176
- * Markdown to various output formats, such as a React component
52177
- * tree. (See https://github.com/unifiedjs/unified for more.)
52178
- *
52179
- * The order for processing ReadMe-flavored markdown is as follows:
52180
- * - parse markdown
52181
- * - parse custom syntaxes add-ons using custom compilers
52182
- * - convert from a remark mdast (markdown ast) to a rehype hast (hypertext ast)
52183
- * - extract any raw HTML elements
52184
- * - sanitize and remove any disallowed attributes
52185
- * - output the hast to a React vdom with our custom components
52186
- */
52187
- return unified().use(remarkParse, opts.markdownOptions).use(remarkFrontmatter, ['yaml', 'toml']).data('settings', opts.settings).data('compatibilityMode', opts.compatibilityMode).use(!opts.correctnewlines ? remarkBreaks : function () {}).use(customParsers).use(remarkSlug).use(remarkDisableTokenizers, opts.disableTokenizers).use(remarkRehype, {
52244
+ var _setup = setup('', opts);
52245
+
52246
+ var _setup2 = _slicedToArray(_setup, 2);
52247
+
52248
+ opts = _setup2[1];
52249
+ var _opts = opts,
52250
+ sanitize = _opts.sanitize;
52251
+ return unified().use(remarkParse, opts.markdownOptions).use(remarkFrontmatter, ['yaml', 'toml']).data('settings', opts.settings).data('compatibilityMode', opts.compatibilityMode).use(!opts.correctnewlines ? remarkBreaks : function () {}).use(CustomParsers.map(function (parser) {
52252
+ return parser.sanitize(sanitize);
52253
+ })).use(remarkSlug).use(remarkDisableTokenizers, opts.disableTokenizers).use(remarkRehype, {
52188
52254
  allowDangerousHtml: true
52189
52255
  }).use(rehypeRaw).use(rehypeSanitize, sanitize);
52190
52256
  }
@@ -52193,12 +52259,12 @@ function plain(text) {
52193
52259
  var components = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
52194
52260
  if (!text) return null;
52195
52261
 
52196
- var _setup = setup(text, opts);
52262
+ var _setup3 = setup(text, opts);
52197
52263
 
52198
- var _setup2 = _slicedToArray(_setup, 2);
52264
+ var _setup4 = _slicedToArray(_setup3, 2);
52199
52265
 
52200
- text = _setup2[0];
52201
- opts = _setup2[1];
52266
+ text = _setup4[0];
52267
+ opts = _setup4[1];
52202
52268
  return processor(opts).use(rehypeReact, {
52203
52269
  createElement: React.createElement,
52204
52270
  Fragment: React.Fragment,
@@ -52222,46 +52288,57 @@ var count = {};
52222
52288
  function reactProcessor() {
52223
52289
  var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
52224
52290
  var components = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
52225
- return processor(opts).use(sectionAnchorId).use(rehypeReact, {
52291
+
52292
+ var _setup5 = setup('', opts);
52293
+
52294
+ var _setup6 = _slicedToArray(_setup5, 2);
52295
+
52296
+ opts = _setup6[1];
52297
+ var _opts2 = opts,
52298
+ sanitize = _opts2.sanitize;
52299
+ return processor(_objectSpread({
52300
+ sanitize: sanitize
52301
+ }, opts)).use(sectionAnchorId).use(rehypeReact, {
52226
52302
  createElement: React.createElement,
52227
52303
  Fragment: React.Fragment,
52228
52304
  components: _objectSpread({
52229
- 'code-tabs': CodeTabs(sanitize, opts),
52230
- 'html-block': HTMLBlock(sanitize, opts),
52231
- 'rdme-callout': Callout(sanitize),
52305
+ 'code-tabs': CodeTabs(opts),
52306
+ 'html-block': HTMLBlock(opts),
52307
+ 'rdme-callout': Callout,
52232
52308
  'readme-variable': Variable,
52233
52309
  'readme-glossary-item': GlossaryItem,
52234
- 'rdme-embed': Embed(sanitize),
52310
+ 'rdme-embed': Embed,
52235
52311
  'rdme-pin': PinWrap,
52236
- table: Table(sanitize),
52237
- a: Anchor(sanitize),
52312
+ table: Table,
52313
+ a: Anchor,
52238
52314
  h1: Heading(1, count, opts),
52239
52315
  h2: Heading(2, count, opts),
52240
52316
  h3: Heading(3, count, opts),
52241
52317
  h4: Heading(4, count, opts),
52242
52318
  h5: Heading(5, count, opts),
52243
52319
  h6: Heading(6, count, opts),
52244
- code: Code(sanitize, opts),
52245
- img: Image(sanitize)
52246
- }, registerCustomComponents(components, opts.customComponentPrefix))
52320
+ code: Code(opts),
52321
+ img: Image,
52322
+ style: Style(opts)
52323
+ }, registerCustomComponents(components, sanitize, opts.customComponentPrefix))
52247
52324
  });
52248
52325
  }
52249
52326
  function react(content) {
52250
52327
  var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
52251
52328
  var components = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
52252
52329
  if (!content) return null;else if (typeof content === 'string') {
52253
- var _setup3 = setup(content, opts);
52330
+ var _setup7 = setup(content, opts);
52254
52331
 
52255
- var _setup4 = _slicedToArray(_setup3, 2);
52332
+ var _setup8 = _slicedToArray(_setup7, 2);
52256
52333
 
52257
- content = _setup4[0];
52258
- opts = _setup4[1];
52334
+ content = _setup8[0];
52335
+ opts = _setup8[1];
52259
52336
  } else {
52260
- var _setup5 = setup('', opts);
52337
+ var _setup9 = setup('', opts);
52261
52338
 
52262
- var _setup6 = _slicedToArray(_setup5, 2);
52339
+ var _setup10 = _slicedToArray(_setup9, 2);
52263
52340
 
52264
- opts = _setup6[1];
52341
+ opts = _setup10[1];
52265
52342
  }
52266
52343
  var proc = reactProcessor(opts, components);
52267
52344
  if (typeof content === 'string') content = proc.parse(content);
@@ -52271,11 +52348,11 @@ function reactTOC(tree) {
52271
52348
  var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
52272
52349
  if (!tree) return null;
52273
52350
 
52274
- var _setup7 = setup('', opts);
52351
+ var _setup11 = setup('', opts);
52275
52352
 
52276
- var _setup8 = _slicedToArray(_setup7, 2);
52353
+ var _setup12 = _slicedToArray(_setup11, 2);
52277
52354
 
52278
- opts = _setup8[1];
52355
+ opts = _setup12[1];
52279
52356
  var proc = processor(opts).use(rehypeReact, {
52280
52357
  createElement: React.createElement,
52281
52358
  components: {
@@ -52308,12 +52385,12 @@ function html(text) {
52308
52385
  var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
52309
52386
  if (!text) return null;
52310
52387
 
52311
- var _setup9 = setup(text, opts);
52388
+ var _setup13 = setup(text, opts);
52312
52389
 
52313
- var _setup10 = _slicedToArray(_setup9, 2);
52390
+ var _setup14 = _slicedToArray(_setup13, 2);
52314
52391
 
52315
- text = _setup10[0];
52316
- opts = _setup10[1];
52392
+ text = _setup14[0];
52393
+ opts = _setup14[1];
52317
52394
  return processor(opts).use(rehypeStringify).processSync(text).contents;
52318
52395
  }
52319
52396
  /**
@@ -52324,12 +52401,12 @@ function hast(text) {
52324
52401
  var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
52325
52402
  if (!text) return null;
52326
52403
 
52327
- var _setup11 = setup(text, opts);
52404
+ var _setup15 = setup(text, opts);
52328
52405
 
52329
- var _setup12 = _slicedToArray(_setup11, 2);
52406
+ var _setup16 = _slicedToArray(_setup15, 2);
52330
52407
 
52331
- text = _setup12[0];
52332
- opts = _setup12[1];
52408
+ text = _setup16[0];
52409
+ opts = _setup16[1];
52333
52410
  var rdmd = processor(opts).use(tableFlattening);
52334
52411
  var node = rdmd.parse(text);
52335
52412
  return rdmd.runSync(node);
@@ -52342,12 +52419,12 @@ function mdast(text) {
52342
52419
  var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
52343
52420
  if (!text) return null;
52344
52421
 
52345
- var _setup13 = setup(text, opts);
52422
+ var _setup17 = setup(text, opts);
52346
52423
 
52347
- var _setup14 = _slicedToArray(_setup13, 2);
52424
+ var _setup18 = _slicedToArray(_setup17, 2);
52348
52425
 
52349
- text = _setup14[0];
52350
- opts = _setup14[1];
52426
+ text = _setup18[0];
52427
+ opts = _setup18[1];
52351
52428
  return processor(opts).parse(text);
52352
52429
  }
52353
52430
  /**
@@ -52358,11 +52435,11 @@ function astToPlainText(node) {
52358
52435
  var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
52359
52436
  if (!node) return '';
52360
52437
 
52361
- var _setup15 = setup('', opts);
52438
+ var _setup19 = setup('', opts);
52362
52439
 
52363
- var _setup16 = _slicedToArray(_setup15, 2);
52440
+ var _setup20 = _slicedToArray(_setup19, 2);
52364
52441
 
52365
- opts = _setup16[1];
52442
+ opts = _setup20[1];
52366
52443
  return processor(opts).use(toPlainText).stringify(node);
52367
52444
  }
52368
52445
  /**
@@ -52373,11 +52450,11 @@ function md(tree) {
52373
52450
  var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
52374
52451
  if (!tree) return null;
52375
52452
 
52376
- var _setup17 = setup('', opts);
52453
+ var _setup21 = setup('', opts);
52377
52454
 
52378
- var _setup18 = _slicedToArray(_setup17, 2);
52455
+ var _setup22 = _slicedToArray(_setup21, 2);
52379
52456
 
52380
- opts = _setup18[1];
52457
+ opts = _setup22[1];
52381
52458
  return processor(opts).use(remarkStringify, opts.markdownOptions).use(customCompilers).stringify(tree);
52382
52459
  }
52383
52460