@uiw/react-md-editor 4.0.2 → 4.0.4

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/mdeditor.js CHANGED
@@ -7,11 +7,11 @@
7
7
  exports["@uiw/react-md-editor"] = factory(require("react"));
8
8
  else
9
9
  root["@uiw/react-md-editor"] = factory(root["React"]);
10
- })(self, (__WEBPACK_EXTERNAL_MODULE__787__) => {
10
+ })(self, (__WEBPACK_EXTERNAL_MODULE__442__) => {
11
11
  return /******/ (() => { // webpackBootstrap
12
12
  /******/ var __webpack_modules__ = ({
13
13
 
14
- /***/ 28:
14
+ /***/ 886:
15
15
  /***/ (function(module) {
16
16
 
17
17
  /**!
@@ -91,7 +91,7 @@ return /******/ (() => { // webpackBootstrap
91
91
 
92
92
  /***/ }),
93
93
 
94
- /***/ 377:
94
+ /***/ 740:
95
95
  /***/ ((module) => {
96
96
 
97
97
  module.exports = {
@@ -105,7 +105,7 @@ module.exports = {
105
105
 
106
106
  /***/ }),
107
107
 
108
- /***/ 229:
108
+ /***/ 909:
109
109
  /***/ ((module) => {
110
110
 
111
111
  "use strict";
@@ -230,7 +230,7 @@ module.exports = function extend() {
230
230
 
231
231
  /***/ }),
232
232
 
233
- /***/ 812:
233
+ /***/ 848:
234
234
  /***/ ((module) => {
235
235
 
236
236
  // http://www.w3.org/TR/CSS21/grammar.html
@@ -498,7 +498,7 @@ function trim(str) {
498
498
 
499
499
  /***/ }),
500
500
 
501
- /***/ 324:
501
+ /***/ 934:
502
502
  /***/ ((module, exports) => {
503
503
 
504
504
  /**
@@ -541,7 +541,7 @@ module.exports = parsePart;
541
541
 
542
542
  /***/ }),
543
543
 
544
- /***/ 426:
544
+ /***/ 192:
545
545
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
546
546
 
547
547
  "use strict";
@@ -554,26 +554,26 @@ module.exports = parsePart;
554
554
  * This source code is licensed under the MIT license found in the
555
555
  * LICENSE file in the root directory of this source tree.
556
556
  */
557
- var f=__webpack_require__(787),k=Symbol.for("react.element"),l=Symbol.for("react.fragment"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};
557
+ var f=__webpack_require__(442),k=Symbol.for("react.element"),l=Symbol.for("react.fragment"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};
558
558
  function q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=""+g);void 0!==a.key&&(e=""+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;
559
559
 
560
560
 
561
561
  /***/ }),
562
562
 
563
- /***/ 246:
563
+ /***/ 540:
564
564
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
565
565
 
566
566
  "use strict";
567
567
 
568
568
 
569
569
  if (true) {
570
- module.exports = __webpack_require__(426);
570
+ module.exports = __webpack_require__(192);
571
571
  } else {}
572
572
 
573
573
 
574
574
  /***/ }),
575
575
 
576
- /***/ 209:
576
+ /***/ 857:
577
577
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
578
578
 
579
579
  "use strict";
@@ -582,7 +582,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
582
582
  return (mod && mod.__esModule) ? mod : { "default": mod };
583
583
  };
584
584
  Object.defineProperty(exports, "__esModule", ({ value: true }));
585
- var inline_style_parser_1 = __importDefault(__webpack_require__(812));
585
+ var inline_style_parser_1 = __importDefault(__webpack_require__(848));
586
586
  /**
587
587
  * Parses inline style to object.
588
588
  *
@@ -624,11 +624,11 @@ exports["default"] = StyleToObject;
624
624
 
625
625
  /***/ }),
626
626
 
627
- /***/ 787:
627
+ /***/ 442:
628
628
  /***/ ((module) => {
629
629
 
630
630
  "use strict";
631
- module.exports = __WEBPACK_EXTERNAL_MODULE__787__;
631
+ module.exports = __WEBPACK_EXTERNAL_MODULE__442__;
632
632
 
633
633
  /***/ })
634
634
 
@@ -998,7 +998,7 @@ function _objectWithoutProperties(source, excluded) {
998
998
  return target;
999
999
  }
1000
1000
  // EXTERNAL MODULE: external {"root":"React","commonjs2":"react","commonjs":"react","amd":"react"}
1001
- var external_root_React_commonjs2_react_commonjs_react_amd_react_ = __webpack_require__(787);
1001
+ var external_root_React_commonjs2_react_commonjs_react_amd_react_ = __webpack_require__(442);
1002
1002
  var external_root_React_commonjs2_react_commonjs_react_amd_react_default = /*#__PURE__*/__webpack_require__.n(external_root_React_commonjs2_react_commonjs_react_amd_react_);
1003
1003
  ;// CONCATENATED MODULE: ../node_modules/@babel/runtime/helpers/esm/extends.js
1004
1004
  function _extends() {
@@ -1574,7 +1574,7 @@ const html = create({
1574
1574
  autoFocus: types_boolean,
1575
1575
  autoPlay: types_boolean,
1576
1576
  blocking: spaceSeparated,
1577
- capture: types_boolean,
1577
+ capture: null,
1578
1578
  charSet: null,
1579
1579
  checked: types_boolean,
1580
1580
  cite: null,
@@ -2565,7 +2565,7 @@ function space_separated_tokens_stringify(values) {
2565
2565
  }
2566
2566
 
2567
2567
  // EXTERNAL MODULE: ../node_modules/style-to-object/cjs/index.js
2568
- var cjs = __webpack_require__(209);
2568
+ var cjs = __webpack_require__(857);
2569
2569
  ;// CONCATENATED MODULE: ../node_modules/style-to-object/esm/index.mjs
2570
2570
 
2571
2571
 
@@ -4195,7 +4195,7 @@ const urlAttributes = {
4195
4195
  }
4196
4196
 
4197
4197
  // EXTERNAL MODULE: ../node_modules/react/jsx-runtime.js
4198
- var jsx_runtime = __webpack_require__(246);
4198
+ var jsx_runtime = __webpack_require__(540);
4199
4199
  ;// CONCATENATED MODULE: ../node_modules/remark-parse/node_modules/mdast-util-to-string/lib/index.js
4200
4200
  /**
4201
4201
  * @typedef {import('mdast').Nodes} Nodes
@@ -4776,8 +4776,6 @@ function htmlExtension(all, extension) {
4776
4776
  * @typedef {import('micromark-util-types').Code} Code
4777
4777
  */
4778
4778
 
4779
- const unicodePunctuationInternal = regexCheck(/\p{P}/u)
4780
-
4781
4779
  /**
4782
4780
  * Check whether the character code represents an ASCII alpha (`a` through `z`,
4783
4781
  * case insensitive).
@@ -4795,7 +4793,7 @@ const unicodePunctuationInternal = regexCheck(/\p{P}/u)
4795
4793
  * @returns {boolean}
4796
4794
  * Whether it matches.
4797
4795
  */
4798
- const asciiAlpha = regexCheck(/[A-Za-z]/)
4796
+ const asciiAlpha = regexCheck(/[A-Za-z]/);
4799
4797
 
4800
4798
  /**
4801
4799
  * Check whether the character code represents an ASCII alphanumeric (`a`
@@ -4809,7 +4807,7 @@ const asciiAlpha = regexCheck(/[A-Za-z]/)
4809
4807
  * @returns {boolean}
4810
4808
  * Whether it matches.
4811
4809
  */
4812
- const asciiAlphanumeric = regexCheck(/[\dA-Za-z]/)
4810
+ const asciiAlphanumeric = regexCheck(/[\dA-Za-z]/);
4813
4811
 
4814
4812
  /**
4815
4813
  * Check whether the character code represents an ASCII atext.
@@ -4832,7 +4830,7 @@ const asciiAlphanumeric = regexCheck(/[\dA-Za-z]/)
4832
4830
  * @returns {boolean}
4833
4831
  * Whether it matches.
4834
4832
  */
4835
- const asciiAtext = regexCheck(/[#-'*+\--9=?A-Z^-~]/)
4833
+ const asciiAtext = regexCheck(/[#-'*+\--9=?A-Z^-~]/);
4836
4834
 
4837
4835
  /**
4838
4836
  * Check whether a character code is an ASCII control character.
@@ -4850,7 +4848,7 @@ function asciiControl(code) {
4850
4848
  // Special whitespace codes (which have negative values), C0 and Control
4851
4849
  // character DEL
4852
4850
  code !== null && (code < 32 || code === 127)
4853
- )
4851
+ );
4854
4852
  }
4855
4853
 
4856
4854
  /**
@@ -4864,7 +4862,7 @@ function asciiControl(code) {
4864
4862
  * @returns {boolean}
4865
4863
  * Whether it matches.
4866
4864
  */
4867
- const asciiDigit = regexCheck(/\d/)
4865
+ const asciiDigit = regexCheck(/\d/);
4868
4866
 
4869
4867
  /**
4870
4868
  * Check whether the character code represents an ASCII hex digit (`a` through
@@ -4884,7 +4882,7 @@ const asciiDigit = regexCheck(/\d/)
4884
4882
  * @returns {boolean}
4885
4883
  * Whether it matches.
4886
4884
  */
4887
- const asciiHexDigit = regexCheck(/[\dA-Fa-f]/)
4885
+ const asciiHexDigit = regexCheck(/[\dA-Fa-f]/);
4888
4886
 
4889
4887
  /**
4890
4888
  * Check whether the character code represents ASCII punctuation.
@@ -4899,7 +4897,7 @@ const asciiHexDigit = regexCheck(/[\dA-Fa-f]/)
4899
4897
  * @returns {boolean}
4900
4898
  * Whether it matches.
4901
4899
  */
4902
- const asciiPunctuation = regexCheck(/[!-/:-@[-`{-~]/)
4900
+ const asciiPunctuation = regexCheck(/[!-/:-@[-`{-~]/);
4903
4901
 
4904
4902
  /**
4905
4903
  * Check whether a character code is a markdown line ending.
@@ -4917,7 +4915,7 @@ const asciiPunctuation = regexCheck(/[!-/:-@[-`{-~]/)
4917
4915
  * Whether it matches.
4918
4916
  */
4919
4917
  function markdownLineEnding(code) {
4920
- return code !== null && code < -2
4918
+ return code !== null && code < -2;
4921
4919
  }
4922
4920
 
4923
4921
  /**
@@ -4930,7 +4928,7 @@ function markdownLineEnding(code) {
4930
4928
  * Whether it matches.
4931
4929
  */
4932
4930
  function markdownLineEndingOrSpace(code) {
4933
- return code !== null && (code < 0 || code === 32)
4931
+ return code !== null && (code < 0 || code === 32);
4934
4932
  }
4935
4933
 
4936
4934
  /**
@@ -4949,7 +4947,7 @@ function markdownLineEndingOrSpace(code) {
4949
4947
  * Whether it matches.
4950
4948
  */
4951
4949
  function markdownSpace(code) {
4952
- return code === -2 || code === -1 || code === 32
4950
+ return code === -2 || code === -1 || code === 32;
4953
4951
  }
4954
4952
 
4955
4953
  // Size note: removing ASCII from the regex and using `asciiPunctuation` here
@@ -4968,14 +4966,12 @@ function markdownSpace(code) {
4968
4966
  * [The Unicode Standard](https://www.unicode.org/versions/).
4969
4967
  * Unicode Consortium.
4970
4968
  *
4971
- * @param {Code} code
4969
+ * @param code
4972
4970
  * Code.
4973
- * @returns {boolean}
4971
+ * @returns
4974
4972
  * Whether it matches.
4975
4973
  */
4976
- function unicodePunctuation(code) {
4977
- return asciiPunctuation(code) || unicodePunctuationInternal(code)
4978
- }
4974
+ const unicodePunctuation = regexCheck(/\p{P}|\p{S}/u);
4979
4975
 
4980
4976
  /**
4981
4977
  * Check whether the character code represents Unicode whitespace.
@@ -4994,10 +4990,10 @@ function unicodePunctuation(code) {
4994
4990
  *
4995
4991
  * @param code
4996
4992
  * Code.
4997
- * @returns {boolean}
4993
+ * @returns
4998
4994
  * Whether it matches.
4999
4995
  */
5000
- const unicodeWhitespace = regexCheck(/\s/)
4996
+ const unicodeWhitespace = regexCheck(/\s/);
5001
4997
 
5002
4998
  /**
5003
4999
  * Create a code check from a regex.
@@ -5006,7 +5002,7 @@ const unicodeWhitespace = regexCheck(/\s/)
5006
5002
  * @returns {(code: Code) => boolean}
5007
5003
  */
5008
5004
  function regexCheck(regex) {
5009
- return check
5005
+ return check;
5010
5006
 
5011
5007
  /**
5012
5008
  * Check whether a code matches the bound regex.
@@ -5017,10 +5013,9 @@ function regexCheck(regex) {
5017
5013
  * Whether the character code matches the bound regex.
5018
5014
  */
5019
5015
  function check(code) {
5020
- return code !== null && code > -1 && regex.test(String.fromCharCode(code))
5016
+ return code !== null && code > -1 && regex.test(String.fromCharCode(code));
5021
5017
  }
5022
5018
  }
5023
-
5024
5019
  ;// CONCATENATED MODULE: ../node_modules/remark-parse/node_modules/micromark-factory-space/index.js
5025
5020
  /**
5026
5021
  * @typedef {import('micromark-util-types').Effects} Effects
@@ -14880,8 +14875,6 @@ const serializer = (strict, json, $, _) => {
14880
14875
  * @typedef {import('micromark-util-types').Code} Code
14881
14876
  */
14882
14877
 
14883
- const micromark_util_character_unicodePunctuationInternal = micromark_util_character_regexCheck(/\p{P}/u)
14884
-
14885
14878
  /**
14886
14879
  * Check whether the character code represents an ASCII alpha (`a` through `z`,
14887
14880
  * case insensitive).
@@ -14899,7 +14892,7 @@ const micromark_util_character_unicodePunctuationInternal = micromark_util_chara
14899
14892
  * @returns {boolean}
14900
14893
  * Whether it matches.
14901
14894
  */
14902
- const micromark_util_character_asciiAlpha = micromark_util_character_regexCheck(/[A-Za-z]/)
14895
+ const micromark_util_character_asciiAlpha = micromark_util_character_regexCheck(/[A-Za-z]/);
14903
14896
 
14904
14897
  /**
14905
14898
  * Check whether the character code represents an ASCII alphanumeric (`a`
@@ -14913,7 +14906,7 @@ const micromark_util_character_asciiAlpha = micromark_util_character_regexCheck(
14913
14906
  * @returns {boolean}
14914
14907
  * Whether it matches.
14915
14908
  */
14916
- const micromark_util_character_asciiAlphanumeric = micromark_util_character_regexCheck(/[\dA-Za-z]/)
14909
+ const micromark_util_character_asciiAlphanumeric = micromark_util_character_regexCheck(/[\dA-Za-z]/);
14917
14910
 
14918
14911
  /**
14919
14912
  * Check whether the character code represents an ASCII atext.
@@ -14936,7 +14929,7 @@ const micromark_util_character_asciiAlphanumeric = micromark_util_character_rege
14936
14929
  * @returns {boolean}
14937
14930
  * Whether it matches.
14938
14931
  */
14939
- const micromark_util_character_asciiAtext = micromark_util_character_regexCheck(/[#-'*+\--9=?A-Z^-~]/)
14932
+ const micromark_util_character_asciiAtext = micromark_util_character_regexCheck(/[#-'*+\--9=?A-Z^-~]/);
14940
14933
 
14941
14934
  /**
14942
14935
  * Check whether a character code is an ASCII control character.
@@ -14954,7 +14947,7 @@ function micromark_util_character_asciiControl(code) {
14954
14947
  // Special whitespace codes (which have negative values), C0 and Control
14955
14948
  // character DEL
14956
14949
  code !== null && (code < 32 || code === 127)
14957
- )
14950
+ );
14958
14951
  }
14959
14952
 
14960
14953
  /**
@@ -14968,7 +14961,7 @@ function micromark_util_character_asciiControl(code) {
14968
14961
  * @returns {boolean}
14969
14962
  * Whether it matches.
14970
14963
  */
14971
- const micromark_util_character_asciiDigit = micromark_util_character_regexCheck(/\d/)
14964
+ const micromark_util_character_asciiDigit = micromark_util_character_regexCheck(/\d/);
14972
14965
 
14973
14966
  /**
14974
14967
  * Check whether the character code represents an ASCII hex digit (`a` through
@@ -14988,7 +14981,7 @@ const micromark_util_character_asciiDigit = micromark_util_character_regexCheck(
14988
14981
  * @returns {boolean}
14989
14982
  * Whether it matches.
14990
14983
  */
14991
- const micromark_util_character_asciiHexDigit = micromark_util_character_regexCheck(/[\dA-Fa-f]/)
14984
+ const micromark_util_character_asciiHexDigit = micromark_util_character_regexCheck(/[\dA-Fa-f]/);
14992
14985
 
14993
14986
  /**
14994
14987
  * Check whether the character code represents ASCII punctuation.
@@ -15003,7 +14996,7 @@ const micromark_util_character_asciiHexDigit = micromark_util_character_regexChe
15003
14996
  * @returns {boolean}
15004
14997
  * Whether it matches.
15005
14998
  */
15006
- const micromark_util_character_asciiPunctuation = micromark_util_character_regexCheck(/[!-/:-@[-`{-~]/)
14999
+ const micromark_util_character_asciiPunctuation = micromark_util_character_regexCheck(/[!-/:-@[-`{-~]/);
15007
15000
 
15008
15001
  /**
15009
15002
  * Check whether a character code is a markdown line ending.
@@ -15021,7 +15014,7 @@ const micromark_util_character_asciiPunctuation = micromark_util_character_regex
15021
15014
  * Whether it matches.
15022
15015
  */
15023
15016
  function micromark_util_character_markdownLineEnding(code) {
15024
- return code !== null && code < -2
15017
+ return code !== null && code < -2;
15025
15018
  }
15026
15019
 
15027
15020
  /**
@@ -15034,7 +15027,7 @@ function micromark_util_character_markdownLineEnding(code) {
15034
15027
  * Whether it matches.
15035
15028
  */
15036
15029
  function micromark_util_character_markdownLineEndingOrSpace(code) {
15037
- return code !== null && (code < 0 || code === 32)
15030
+ return code !== null && (code < 0 || code === 32);
15038
15031
  }
15039
15032
 
15040
15033
  /**
@@ -15053,7 +15046,7 @@ function micromark_util_character_markdownLineEndingOrSpace(code) {
15053
15046
  * Whether it matches.
15054
15047
  */
15055
15048
  function micromark_util_character_markdownSpace(code) {
15056
- return code === -2 || code === -1 || code === 32
15049
+ return code === -2 || code === -1 || code === 32;
15057
15050
  }
15058
15051
 
15059
15052
  // Size note: removing ASCII from the regex and using `asciiPunctuation` here
@@ -15072,14 +15065,12 @@ function micromark_util_character_markdownSpace(code) {
15072
15065
  * [The Unicode Standard](https://www.unicode.org/versions/).
15073
15066
  * Unicode Consortium.
15074
15067
  *
15075
- * @param {Code} code
15068
+ * @param code
15076
15069
  * Code.
15077
- * @returns {boolean}
15070
+ * @returns
15078
15071
  * Whether it matches.
15079
15072
  */
15080
- function micromark_util_character_unicodePunctuation(code) {
15081
- return micromark_util_character_asciiPunctuation(code) || micromark_util_character_unicodePunctuationInternal(code)
15082
- }
15073
+ const micromark_util_character_unicodePunctuation = micromark_util_character_regexCheck(/\p{P}|\p{S}/u);
15083
15074
 
15084
15075
  /**
15085
15076
  * Check whether the character code represents Unicode whitespace.
@@ -15098,10 +15089,10 @@ function micromark_util_character_unicodePunctuation(code) {
15098
15089
  *
15099
15090
  * @param code
15100
15091
  * Code.
15101
- * @returns {boolean}
15092
+ * @returns
15102
15093
  * Whether it matches.
15103
15094
  */
15104
- const micromark_util_character_unicodeWhitespace = micromark_util_character_regexCheck(/\s/)
15095
+ const micromark_util_character_unicodeWhitespace = micromark_util_character_regexCheck(/\s/);
15105
15096
 
15106
15097
  /**
15107
15098
  * Create a code check from a regex.
@@ -15110,7 +15101,7 @@ const micromark_util_character_unicodeWhitespace = micromark_util_character_rege
15110
15101
  * @returns {(code: Code) => boolean}
15111
15102
  */
15112
15103
  function micromark_util_character_regexCheck(regex) {
15113
- return check
15104
+ return check;
15114
15105
 
15115
15106
  /**
15116
15107
  * Check whether a code matches the bound regex.
@@ -15121,10 +15112,9 @@ function micromark_util_character_regexCheck(regex) {
15121
15112
  * Whether the character code matches the bound regex.
15122
15113
  */
15123
15114
  function check(code) {
15124
- return code !== null && code > -1 && regex.test(String.fromCharCode(code))
15115
+ return code !== null && code > -1 && regex.test(String.fromCharCode(code));
15125
15116
  }
15126
15117
  }
15127
-
15128
15118
  ;// CONCATENATED MODULE: ../node_modules/mdast-util-to-hast/node_modules/micromark-util-sanitize-uri/index.js
15129
15119
 
15130
15120
 
@@ -17740,6 +17730,8 @@ function ignore() {
17740
17730
  * @typedef {import('mdast').Nodes} MdastNodes
17741
17731
  * @typedef {import('mdast').Parents} MdastParents
17742
17732
  *
17733
+ * @typedef {import('vfile').VFile} VFile
17734
+ *
17743
17735
  * @typedef {import('./footer.js').FootnoteBackContentTemplate} FootnoteBackContentTemplate
17744
17736
  * @typedef {import('./footer.js').FootnoteBackLabelTemplate} FootnoteBackLabelTemplate
17745
17737
  */
@@ -17785,6 +17777,8 @@ function ignore() {
17785
17777
  * at that place.
17786
17778
  * It can also break polyfills.
17787
17779
  * Using a prefix solves these problems.
17780
+ * @property {VFile | null | undefined} [file]
17781
+ * Corresponding virtual file representing the input document (optional).
17788
17782
  * @property {FootnoteBackContentTemplate | string | null | undefined} [footnoteBackContent]
17789
17783
  * Content of the backreference back to references (default: `defaultFootnoteBackContent`).
17790
17784
  *
@@ -18312,12 +18306,14 @@ function toHast(tree, options) {
18312
18306
  /**
18313
18307
  * @typedef {import('hast').Root} HastRoot
18314
18308
  * @typedef {import('mdast').Root} MdastRoot
18315
- * @typedef {import('mdast-util-to-hast').Options} Options
18309
+ * @typedef {import('mdast-util-to-hast').Options} ToHastOptions
18316
18310
  * @typedef {import('unified').Processor} Processor
18317
18311
  * @typedef {import('vfile').VFile} VFile
18318
18312
  */
18319
18313
 
18320
18314
  /**
18315
+ * @typedef {Omit<ToHastOptions, 'file'>} Options
18316
+ *
18321
18317
  * @callback TransformBridge
18322
18318
  * Bridge-mode.
18323
18319
  *
@@ -18446,7 +18442,9 @@ function remarkRehype(destination, options) {
18446
18442
  */
18447
18443
  return async function (tree, file) {
18448
18444
  // Cast because root in -> root out.
18449
- const hastTree = /** @type {HastRoot} */ (toHast(tree, options))
18445
+ const hastTree = /** @type {HastRoot} */ (
18446
+ toHast(tree, {file, ...options})
18447
+ )
18450
18448
  await destination.run(hastTree, file)
18451
18449
  }
18452
18450
  }
@@ -18454,9 +18452,11 @@ function remarkRehype(destination, options) {
18454
18452
  /**
18455
18453
  * @type {TransformMutate}
18456
18454
  */
18457
- return function (tree) {
18455
+ return function (tree, file) {
18458
18456
  // Cast because root in -> root out.
18459
- return /** @type {HastRoot} */ (toHast(tree, options || destination))
18457
+ return /** @type {HastRoot} */ (
18458
+ toHast(tree, {file, ...(options || destination)})
18459
+ )
18460
18460
  }
18461
18461
  }
18462
18462
 
@@ -18475,7 +18475,7 @@ function bail(error) {
18475
18475
  }
18476
18476
 
18477
18477
  // EXTERNAL MODULE: ../node_modules/extend/index.js
18478
- var extend = __webpack_require__(229);
18478
+ var extend = __webpack_require__(909);
18479
18479
  ;// CONCATENATED MODULE: ../node_modules/unified/node_modules/is-plain-obj/index.js
18480
18480
  function isPlainObject(value) {
18481
18481
  if (typeof value !== 'object' || value === null) {
@@ -18486,23 +18486,44 @@ function isPlainObject(value) {
18486
18486
  return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in value) && !(Symbol.iterator in value);
18487
18487
  }
18488
18488
 
18489
- ;// CONCATENATED MODULE: ../node_modules/trough/index.js
18489
+ ;// CONCATENATED MODULE: ../node_modules/trough/lib/index.js
18490
+ // To do: remove `void`s
18491
+ // To do: remove `null` from output of our APIs, allow it as user APIs.
18492
+
18490
18493
  /**
18491
- * @typedef {(error?: Error|null|undefined, ...output: Array<any>) => void} Callback
18494
+ * @typedef {(error?: Error | null | undefined, ...output: Array<any>) => void} Callback
18495
+ * Callback.
18496
+ *
18492
18497
  * @typedef {(...input: Array<any>) => any} Middleware
18498
+ * Ware.
18499
+ *
18500
+ * @typedef Pipeline
18501
+ * Pipeline.
18502
+ * @property {Run} run
18503
+ * Run the pipeline.
18504
+ * @property {Use} use
18505
+ * Add middleware.
18493
18506
  *
18494
18507
  * @typedef {(...input: Array<any>) => void} Run
18495
18508
  * Call all middleware.
18509
+ *
18510
+ * Calls `done` on completion with either an error or the output of the
18511
+ * last middleware.
18512
+ *
18513
+ * > 👉 **Note**: as the length of input defines whether async functions get a
18514
+ * > `next` function,
18515
+ * > it’s recommended to keep `input` at one value normally.
18516
+
18517
+ *
18496
18518
  * @typedef {(fn: Middleware) => Pipeline} Use
18497
- * Add `fn` (middleware) to the list.
18498
- * @typedef {{run: Run, use: Use}} Pipeline
18499
- * Middleware.
18519
+ * Add middleware.
18500
18520
  */
18501
18521
 
18502
18522
  /**
18503
18523
  * Create new middleware.
18504
18524
  *
18505
18525
  * @returns {Pipeline}
18526
+ * Pipeline.
18506
18527
  */
18507
18528
  function trough() {
18508
18529
  /** @type {Array<Middleware>} */
@@ -18527,7 +18548,7 @@ function trough() {
18527
18548
  /**
18528
18549
  * Run the next `fn`, or we’re done.
18529
18550
  *
18530
- * @param {Error|null|undefined} error
18551
+ * @param {Error | null | undefined} error
18531
18552
  * @param {Array<any>} output
18532
18553
  */
18533
18554
  function next(error, ...output) {
@@ -18551,7 +18572,7 @@ function trough() {
18551
18572
 
18552
18573
  // Next or done.
18553
18574
  if (fn) {
18554
- trough_wrap(fn, next)(...output)
18575
+ lib_wrap(fn, next)(...output)
18555
18576
  } else {
18556
18577
  callback(null, ...output)
18557
18578
  }
@@ -18572,14 +18593,38 @@ function trough() {
18572
18593
  }
18573
18594
 
18574
18595
  /**
18575
- * Wrap `middleware`.
18576
- * Can be sync or async; return a promise, receive a callback, or return new
18577
- * values and errors.
18596
+ * Wrap `middleware` into a uniform interface.
18597
+ *
18598
+ * You can pass all input to the resulting function.
18599
+ * `callback` is then called with the output of `middleware`.
18600
+ *
18601
+ * If `middleware` accepts more arguments than the later given in input,
18602
+ * an extra `done` function is passed to it after that input,
18603
+ * which must be called by `middleware`.
18604
+ *
18605
+ * The first value in `input` is the main input value.
18606
+ * All other input values are the rest input values.
18607
+ * The values given to `callback` are the input values,
18608
+ * merged with every non-nullish output value.
18609
+ *
18610
+ * * if `middleware` throws an error,
18611
+ * returns a promise that is rejected,
18612
+ * or calls the given `done` function with an error,
18613
+ * `callback` is called with that error
18614
+ * * if `middleware` returns a value or returns a promise that is resolved,
18615
+ * that value is the main output value
18616
+ * * if `middleware` calls `done`,
18617
+ * all non-nullish values except for the first one (the error) overwrite the
18618
+ * output values
18578
18619
  *
18579
18620
  * @param {Middleware} middleware
18621
+ * Function to wrap.
18580
18622
  * @param {Callback} callback
18623
+ * Callback called with the output of `middleware`.
18624
+ * @returns {Run}
18625
+ * Wrapped middleware.
18581
18626
  */
18582
- function trough_wrap(middleware, callback) {
18627
+ function lib_wrap(middleware, callback) {
18583
18628
  /** @type {boolean} */
18584
18629
  let called
18585
18630
 
@@ -18617,7 +18662,7 @@ function trough_wrap(middleware, callback) {
18617
18662
  }
18618
18663
 
18619
18664
  if (!fnExpectsCallback) {
18620
- if (result instanceof Promise) {
18665
+ if (result && result.then && typeof result.then === 'function') {
18621
18666
  result.then(then, done)
18622
18667
  } else if (result instanceof Error) {
18623
18668
  done(result)
@@ -18629,6 +18674,7 @@ function trough_wrap(middleware, callback) {
18629
18674
 
18630
18675
  /**
18631
18676
  * Call `callback`, only once.
18677
+ *
18632
18678
  * @type {Callback}
18633
18679
  */
18634
18680
  function done(error, ...output) {
@@ -21621,8 +21667,6 @@ function ccount(value, character) {
21621
21667
  * @typedef {import('micromark-util-types').Code} Code
21622
21668
  */
21623
21669
 
21624
- const node_modules_micromark_util_character_unicodePunctuationInternal = node_modules_micromark_util_character_regexCheck(/\p{P}/u)
21625
-
21626
21670
  /**
21627
21671
  * Check whether the character code represents an ASCII alpha (`a` through `z`,
21628
21672
  * case insensitive).
@@ -21640,7 +21684,7 @@ const node_modules_micromark_util_character_unicodePunctuationInternal = node_mo
21640
21684
  * @returns {boolean}
21641
21685
  * Whether it matches.
21642
21686
  */
21643
- const node_modules_micromark_util_character_asciiAlpha = node_modules_micromark_util_character_regexCheck(/[A-Za-z]/)
21687
+ const node_modules_micromark_util_character_asciiAlpha = node_modules_micromark_util_character_regexCheck(/[A-Za-z]/);
21644
21688
 
21645
21689
  /**
21646
21690
  * Check whether the character code represents an ASCII alphanumeric (`a`
@@ -21654,7 +21698,7 @@ const node_modules_micromark_util_character_asciiAlpha = node_modules_micromark_
21654
21698
  * @returns {boolean}
21655
21699
  * Whether it matches.
21656
21700
  */
21657
- const node_modules_micromark_util_character_asciiAlphanumeric = node_modules_micromark_util_character_regexCheck(/[\dA-Za-z]/)
21701
+ const node_modules_micromark_util_character_asciiAlphanumeric = node_modules_micromark_util_character_regexCheck(/[\dA-Za-z]/);
21658
21702
 
21659
21703
  /**
21660
21704
  * Check whether the character code represents an ASCII atext.
@@ -21677,7 +21721,7 @@ const node_modules_micromark_util_character_asciiAlphanumeric = node_modules_mic
21677
21721
  * @returns {boolean}
21678
21722
  * Whether it matches.
21679
21723
  */
21680
- const node_modules_micromark_util_character_asciiAtext = node_modules_micromark_util_character_regexCheck(/[#-'*+\--9=?A-Z^-~]/)
21724
+ const node_modules_micromark_util_character_asciiAtext = node_modules_micromark_util_character_regexCheck(/[#-'*+\--9=?A-Z^-~]/);
21681
21725
 
21682
21726
  /**
21683
21727
  * Check whether a character code is an ASCII control character.
@@ -21695,7 +21739,7 @@ function node_modules_micromark_util_character_asciiControl(code) {
21695
21739
  // Special whitespace codes (which have negative values), C0 and Control
21696
21740
  // character DEL
21697
21741
  code !== null && (code < 32 || code === 127)
21698
- )
21742
+ );
21699
21743
  }
21700
21744
 
21701
21745
  /**
@@ -21709,7 +21753,7 @@ function node_modules_micromark_util_character_asciiControl(code) {
21709
21753
  * @returns {boolean}
21710
21754
  * Whether it matches.
21711
21755
  */
21712
- const node_modules_micromark_util_character_asciiDigit = node_modules_micromark_util_character_regexCheck(/\d/)
21756
+ const node_modules_micromark_util_character_asciiDigit = node_modules_micromark_util_character_regexCheck(/\d/);
21713
21757
 
21714
21758
  /**
21715
21759
  * Check whether the character code represents an ASCII hex digit (`a` through
@@ -21729,7 +21773,7 @@ const node_modules_micromark_util_character_asciiDigit = node_modules_micromark_
21729
21773
  * @returns {boolean}
21730
21774
  * Whether it matches.
21731
21775
  */
21732
- const node_modules_micromark_util_character_asciiHexDigit = node_modules_micromark_util_character_regexCheck(/[\dA-Fa-f]/)
21776
+ const node_modules_micromark_util_character_asciiHexDigit = node_modules_micromark_util_character_regexCheck(/[\dA-Fa-f]/);
21733
21777
 
21734
21778
  /**
21735
21779
  * Check whether the character code represents ASCII punctuation.
@@ -21744,7 +21788,7 @@ const node_modules_micromark_util_character_asciiHexDigit = node_modules_microma
21744
21788
  * @returns {boolean}
21745
21789
  * Whether it matches.
21746
21790
  */
21747
- const node_modules_micromark_util_character_asciiPunctuation = node_modules_micromark_util_character_regexCheck(/[!-/:-@[-`{-~]/)
21791
+ const node_modules_micromark_util_character_asciiPunctuation = node_modules_micromark_util_character_regexCheck(/[!-/:-@[-`{-~]/);
21748
21792
 
21749
21793
  /**
21750
21794
  * Check whether a character code is a markdown line ending.
@@ -21762,7 +21806,7 @@ const node_modules_micromark_util_character_asciiPunctuation = node_modules_micr
21762
21806
  * Whether it matches.
21763
21807
  */
21764
21808
  function node_modules_micromark_util_character_markdownLineEnding(code) {
21765
- return code !== null && code < -2
21809
+ return code !== null && code < -2;
21766
21810
  }
21767
21811
 
21768
21812
  /**
@@ -21775,7 +21819,7 @@ function node_modules_micromark_util_character_markdownLineEnding(code) {
21775
21819
  * Whether it matches.
21776
21820
  */
21777
21821
  function node_modules_micromark_util_character_markdownLineEndingOrSpace(code) {
21778
- return code !== null && (code < 0 || code === 32)
21822
+ return code !== null && (code < 0 || code === 32);
21779
21823
  }
21780
21824
 
21781
21825
  /**
@@ -21794,7 +21838,7 @@ function node_modules_micromark_util_character_markdownLineEndingOrSpace(code) {
21794
21838
  * Whether it matches.
21795
21839
  */
21796
21840
  function node_modules_micromark_util_character_markdownSpace(code) {
21797
- return code === -2 || code === -1 || code === 32
21841
+ return code === -2 || code === -1 || code === 32;
21798
21842
  }
21799
21843
 
21800
21844
  // Size note: removing ASCII from the regex and using `asciiPunctuation` here
@@ -21813,14 +21857,12 @@ function node_modules_micromark_util_character_markdownSpace(code) {
21813
21857
  * [The Unicode Standard](https://www.unicode.org/versions/).
21814
21858
  * Unicode Consortium.
21815
21859
  *
21816
- * @param {Code} code
21860
+ * @param code
21817
21861
  * Code.
21818
- * @returns {boolean}
21862
+ * @returns
21819
21863
  * Whether it matches.
21820
21864
  */
21821
- function node_modules_micromark_util_character_unicodePunctuation(code) {
21822
- return node_modules_micromark_util_character_asciiPunctuation(code) || node_modules_micromark_util_character_unicodePunctuationInternal(code)
21823
- }
21865
+ const node_modules_micromark_util_character_unicodePunctuation = node_modules_micromark_util_character_regexCheck(/\p{P}|\p{S}/u);
21824
21866
 
21825
21867
  /**
21826
21868
  * Check whether the character code represents Unicode whitespace.
@@ -21839,10 +21881,10 @@ function node_modules_micromark_util_character_unicodePunctuation(code) {
21839
21881
  *
21840
21882
  * @param code
21841
21883
  * Code.
21842
- * @returns {boolean}
21884
+ * @returns
21843
21885
  * Whether it matches.
21844
21886
  */
21845
- const node_modules_micromark_util_character_unicodeWhitespace = node_modules_micromark_util_character_regexCheck(/\s/)
21887
+ const node_modules_micromark_util_character_unicodeWhitespace = node_modules_micromark_util_character_regexCheck(/\s/);
21846
21888
 
21847
21889
  /**
21848
21890
  * Create a code check from a regex.
@@ -21851,7 +21893,7 @@ const node_modules_micromark_util_character_unicodeWhitespace = node_modules_mic
21851
21893
  * @returns {(code: Code) => boolean}
21852
21894
  */
21853
21895
  function node_modules_micromark_util_character_regexCheck(regex) {
21854
- return check
21896
+ return check;
21855
21897
 
21856
21898
  /**
21857
21899
  * Check whether a code matches the bound regex.
@@ -21862,10 +21904,9 @@ function node_modules_micromark_util_character_regexCheck(regex) {
21862
21904
  * Whether the character code matches the bound regex.
21863
21905
  */
21864
21906
  function check(code) {
21865
- return code !== null && code > -1 && regex.test(String.fromCharCode(code))
21907
+ return code !== null && code > -1 && regex.test(String.fromCharCode(code));
21866
21908
  }
21867
21909
  }
21868
-
21869
21910
  ;// CONCATENATED MODULE: ../node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp/index.js
21870
21911
  function escapeStringRegexp(string) {
21871
21912
  if (typeof string !== 'string') {
@@ -24658,6 +24699,7 @@ function paragraph_paragraph(node, _, state, info) {
24658
24699
 
24659
24700
  ;// CONCATENATED MODULE: ../node_modules/mdast-util-phrasing/lib/index.js
24660
24701
  /**
24702
+ * @typedef {import('mdast').Html} Html
24661
24703
  * @typedef {import('mdast').PhrasingContent} PhrasingContent
24662
24704
  */
24663
24705
 
@@ -24675,21 +24717,30 @@ function paragraph_paragraph(node, _, state, info) {
24675
24717
  */
24676
24718
 
24677
24719
  const phrasing =
24678
- /** @type {(node?: unknown) => node is PhrasingContent} */
24720
+ /** @type {(node?: unknown) => node is Exclude<PhrasingContent, Html>} */
24679
24721
  (
24680
24722
  convert([
24681
24723
  'break',
24682
24724
  'delete',
24683
24725
  'emphasis',
24726
+ // To do: next major: removed since footnotes were added to GFM.
24684
24727
  'footnote',
24685
24728
  'footnoteReference',
24686
24729
  'image',
24687
24730
  'imageReference',
24688
24731
  'inlineCode',
24732
+ // Enabled by `mdast-util-math`:
24733
+ 'inlineMath',
24689
24734
  'link',
24690
24735
  'linkReference',
24736
+ // Enabled by `mdast-util-mdx`:
24737
+ 'mdxJsxTextElement',
24738
+ // Enabled by `mdast-util-mdx`:
24739
+ 'mdxTextExpression',
24691
24740
  'strong',
24692
- 'text'
24741
+ 'text',
24742
+ // Enabled by `mdast-util-directive`:
24743
+ 'textDirective'
24693
24744
  ])
24694
24745
  )
24695
24746
 
@@ -25635,8 +25686,6 @@ function micromark_util_combine_extensions_htmlExtension(all, extension) {
25635
25686
  * @typedef {import('micromark-util-types').Code} Code
25636
25687
  */
25637
25688
 
25638
- const micromark_extension_gfm_autolink_literal_node_modules_micromark_util_character_unicodePunctuationInternal = micromark_extension_gfm_autolink_literal_node_modules_micromark_util_character_regexCheck(/\p{P}/u)
25639
-
25640
25689
  /**
25641
25690
  * Check whether the character code represents an ASCII alpha (`a` through `z`,
25642
25691
  * case insensitive).
@@ -25654,7 +25703,7 @@ const micromark_extension_gfm_autolink_literal_node_modules_micromark_util_chara
25654
25703
  * @returns {boolean}
25655
25704
  * Whether it matches.
25656
25705
  */
25657
- const micromark_extension_gfm_autolink_literal_node_modules_micromark_util_character_asciiAlpha = micromark_extension_gfm_autolink_literal_node_modules_micromark_util_character_regexCheck(/[A-Za-z]/)
25706
+ const micromark_extension_gfm_autolink_literal_node_modules_micromark_util_character_asciiAlpha = micromark_extension_gfm_autolink_literal_node_modules_micromark_util_character_regexCheck(/[A-Za-z]/);
25658
25707
 
25659
25708
  /**
25660
25709
  * Check whether the character code represents an ASCII alphanumeric (`a`
@@ -25668,7 +25717,7 @@ const micromark_extension_gfm_autolink_literal_node_modules_micromark_util_chara
25668
25717
  * @returns {boolean}
25669
25718
  * Whether it matches.
25670
25719
  */
25671
- const micromark_extension_gfm_autolink_literal_node_modules_micromark_util_character_asciiAlphanumeric = micromark_extension_gfm_autolink_literal_node_modules_micromark_util_character_regexCheck(/[\dA-Za-z]/)
25720
+ const micromark_extension_gfm_autolink_literal_node_modules_micromark_util_character_asciiAlphanumeric = micromark_extension_gfm_autolink_literal_node_modules_micromark_util_character_regexCheck(/[\dA-Za-z]/);
25672
25721
 
25673
25722
  /**
25674
25723
  * Check whether the character code represents an ASCII atext.
@@ -25691,7 +25740,7 @@ const micromark_extension_gfm_autolink_literal_node_modules_micromark_util_chara
25691
25740
  * @returns {boolean}
25692
25741
  * Whether it matches.
25693
25742
  */
25694
- const micromark_extension_gfm_autolink_literal_node_modules_micromark_util_character_asciiAtext = micromark_extension_gfm_autolink_literal_node_modules_micromark_util_character_regexCheck(/[#-'*+\--9=?A-Z^-~]/)
25743
+ const micromark_extension_gfm_autolink_literal_node_modules_micromark_util_character_asciiAtext = micromark_extension_gfm_autolink_literal_node_modules_micromark_util_character_regexCheck(/[#-'*+\--9=?A-Z^-~]/);
25695
25744
 
25696
25745
  /**
25697
25746
  * Check whether a character code is an ASCII control character.
@@ -25709,7 +25758,7 @@ function micromark_extension_gfm_autolink_literal_node_modules_micromark_util_ch
25709
25758
  // Special whitespace codes (which have negative values), C0 and Control
25710
25759
  // character DEL
25711
25760
  code !== null && (code < 32 || code === 127)
25712
- )
25761
+ );
25713
25762
  }
25714
25763
 
25715
25764
  /**
@@ -25723,7 +25772,7 @@ function micromark_extension_gfm_autolink_literal_node_modules_micromark_util_ch
25723
25772
  * @returns {boolean}
25724
25773
  * Whether it matches.
25725
25774
  */
25726
- const micromark_extension_gfm_autolink_literal_node_modules_micromark_util_character_asciiDigit = micromark_extension_gfm_autolink_literal_node_modules_micromark_util_character_regexCheck(/\d/)
25775
+ const micromark_extension_gfm_autolink_literal_node_modules_micromark_util_character_asciiDigit = micromark_extension_gfm_autolink_literal_node_modules_micromark_util_character_regexCheck(/\d/);
25727
25776
 
25728
25777
  /**
25729
25778
  * Check whether the character code represents an ASCII hex digit (`a` through
@@ -25743,7 +25792,7 @@ const micromark_extension_gfm_autolink_literal_node_modules_micromark_util_chara
25743
25792
  * @returns {boolean}
25744
25793
  * Whether it matches.
25745
25794
  */
25746
- const micromark_extension_gfm_autolink_literal_node_modules_micromark_util_character_asciiHexDigit = micromark_extension_gfm_autolink_literal_node_modules_micromark_util_character_regexCheck(/[\dA-Fa-f]/)
25795
+ const micromark_extension_gfm_autolink_literal_node_modules_micromark_util_character_asciiHexDigit = micromark_extension_gfm_autolink_literal_node_modules_micromark_util_character_regexCheck(/[\dA-Fa-f]/);
25747
25796
 
25748
25797
  /**
25749
25798
  * Check whether the character code represents ASCII punctuation.
@@ -25758,7 +25807,7 @@ const micromark_extension_gfm_autolink_literal_node_modules_micromark_util_chara
25758
25807
  * @returns {boolean}
25759
25808
  * Whether it matches.
25760
25809
  */
25761
- const micromark_extension_gfm_autolink_literal_node_modules_micromark_util_character_asciiPunctuation = micromark_extension_gfm_autolink_literal_node_modules_micromark_util_character_regexCheck(/[!-/:-@[-`{-~]/)
25810
+ const micromark_extension_gfm_autolink_literal_node_modules_micromark_util_character_asciiPunctuation = micromark_extension_gfm_autolink_literal_node_modules_micromark_util_character_regexCheck(/[!-/:-@[-`{-~]/);
25762
25811
 
25763
25812
  /**
25764
25813
  * Check whether a character code is a markdown line ending.
@@ -25776,7 +25825,7 @@ const micromark_extension_gfm_autolink_literal_node_modules_micromark_util_chara
25776
25825
  * Whether it matches.
25777
25826
  */
25778
25827
  function micromark_extension_gfm_autolink_literal_node_modules_micromark_util_character_markdownLineEnding(code) {
25779
- return code !== null && code < -2
25828
+ return code !== null && code < -2;
25780
25829
  }
25781
25830
 
25782
25831
  /**
@@ -25789,7 +25838,7 @@ function micromark_extension_gfm_autolink_literal_node_modules_micromark_util_ch
25789
25838
  * Whether it matches.
25790
25839
  */
25791
25840
  function micromark_extension_gfm_autolink_literal_node_modules_micromark_util_character_markdownLineEndingOrSpace(code) {
25792
- return code !== null && (code < 0 || code === 32)
25841
+ return code !== null && (code < 0 || code === 32);
25793
25842
  }
25794
25843
 
25795
25844
  /**
@@ -25808,7 +25857,7 @@ function micromark_extension_gfm_autolink_literal_node_modules_micromark_util_ch
25808
25857
  * Whether it matches.
25809
25858
  */
25810
25859
  function micromark_extension_gfm_autolink_literal_node_modules_micromark_util_character_markdownSpace(code) {
25811
- return code === -2 || code === -1 || code === 32
25860
+ return code === -2 || code === -1 || code === 32;
25812
25861
  }
25813
25862
 
25814
25863
  // Size note: removing ASCII from the regex and using `asciiPunctuation` here
@@ -25827,14 +25876,12 @@ function micromark_extension_gfm_autolink_literal_node_modules_micromark_util_ch
25827
25876
  * [The Unicode Standard](https://www.unicode.org/versions/).
25828
25877
  * Unicode Consortium.
25829
25878
  *
25830
- * @param {Code} code
25879
+ * @param code
25831
25880
  * Code.
25832
- * @returns {boolean}
25881
+ * @returns
25833
25882
  * Whether it matches.
25834
25883
  */
25835
- function micromark_extension_gfm_autolink_literal_node_modules_micromark_util_character_unicodePunctuation(code) {
25836
- return micromark_extension_gfm_autolink_literal_node_modules_micromark_util_character_asciiPunctuation(code) || micromark_extension_gfm_autolink_literal_node_modules_micromark_util_character_unicodePunctuationInternal(code)
25837
- }
25884
+ const micromark_extension_gfm_autolink_literal_node_modules_micromark_util_character_unicodePunctuation = micromark_extension_gfm_autolink_literal_node_modules_micromark_util_character_regexCheck(/\p{P}|\p{S}/u);
25838
25885
 
25839
25886
  /**
25840
25887
  * Check whether the character code represents Unicode whitespace.
@@ -25853,10 +25900,10 @@ function micromark_extension_gfm_autolink_literal_node_modules_micromark_util_ch
25853
25900
  *
25854
25901
  * @param code
25855
25902
  * Code.
25856
- * @returns {boolean}
25903
+ * @returns
25857
25904
  * Whether it matches.
25858
25905
  */
25859
- const micromark_extension_gfm_autolink_literal_node_modules_micromark_util_character_unicodeWhitespace = micromark_extension_gfm_autolink_literal_node_modules_micromark_util_character_regexCheck(/\s/)
25906
+ const micromark_extension_gfm_autolink_literal_node_modules_micromark_util_character_unicodeWhitespace = micromark_extension_gfm_autolink_literal_node_modules_micromark_util_character_regexCheck(/\s/);
25860
25907
 
25861
25908
  /**
25862
25909
  * Create a code check from a regex.
@@ -25865,7 +25912,7 @@ const micromark_extension_gfm_autolink_literal_node_modules_micromark_util_chara
25865
25912
  * @returns {(code: Code) => boolean}
25866
25913
  */
25867
25914
  function micromark_extension_gfm_autolink_literal_node_modules_micromark_util_character_regexCheck(regex) {
25868
- return check
25915
+ return check;
25869
25916
 
25870
25917
  /**
25871
25918
  * Check whether a code matches the bound regex.
@@ -25876,10 +25923,9 @@ function micromark_extension_gfm_autolink_literal_node_modules_micromark_util_ch
25876
25923
  * Whether the character code matches the bound regex.
25877
25924
  */
25878
25925
  function check(code) {
25879
- return code !== null && code > -1 && regex.test(String.fromCharCode(code))
25926
+ return code !== null && code > -1 && regex.test(String.fromCharCode(code));
25880
25927
  }
25881
25928
  }
25882
-
25883
25929
  ;// CONCATENATED MODULE: ../node_modules/micromark-extension-gfm-autolink-literal/lib/syntax.js
25884
25930
  /**
25885
25931
  * @typedef {import('micromark-util-types').Code} Code
@@ -26837,8 +26883,6 @@ function previousUnbalanced(events) {
26837
26883
  * @typedef {import('micromark-util-types').Code} Code
26838
26884
  */
26839
26885
 
26840
- const micromark_extension_gfm_footnote_node_modules_micromark_util_character_unicodePunctuationInternal = micromark_extension_gfm_footnote_node_modules_micromark_util_character_regexCheck(/\p{P}/u)
26841
-
26842
26886
  /**
26843
26887
  * Check whether the character code represents an ASCII alpha (`a` through `z`,
26844
26888
  * case insensitive).
@@ -26856,7 +26900,7 @@ const micromark_extension_gfm_footnote_node_modules_micromark_util_character_uni
26856
26900
  * @returns {boolean}
26857
26901
  * Whether it matches.
26858
26902
  */
26859
- const micromark_extension_gfm_footnote_node_modules_micromark_util_character_asciiAlpha = micromark_extension_gfm_footnote_node_modules_micromark_util_character_regexCheck(/[A-Za-z]/)
26903
+ const micromark_extension_gfm_footnote_node_modules_micromark_util_character_asciiAlpha = micromark_extension_gfm_footnote_node_modules_micromark_util_character_regexCheck(/[A-Za-z]/);
26860
26904
 
26861
26905
  /**
26862
26906
  * Check whether the character code represents an ASCII alphanumeric (`a`
@@ -26870,7 +26914,7 @@ const micromark_extension_gfm_footnote_node_modules_micromark_util_character_asc
26870
26914
  * @returns {boolean}
26871
26915
  * Whether it matches.
26872
26916
  */
26873
- const micromark_extension_gfm_footnote_node_modules_micromark_util_character_asciiAlphanumeric = micromark_extension_gfm_footnote_node_modules_micromark_util_character_regexCheck(/[\dA-Za-z]/)
26917
+ const micromark_extension_gfm_footnote_node_modules_micromark_util_character_asciiAlphanumeric = micromark_extension_gfm_footnote_node_modules_micromark_util_character_regexCheck(/[\dA-Za-z]/);
26874
26918
 
26875
26919
  /**
26876
26920
  * Check whether the character code represents an ASCII atext.
@@ -26893,7 +26937,7 @@ const micromark_extension_gfm_footnote_node_modules_micromark_util_character_asc
26893
26937
  * @returns {boolean}
26894
26938
  * Whether it matches.
26895
26939
  */
26896
- const micromark_extension_gfm_footnote_node_modules_micromark_util_character_asciiAtext = micromark_extension_gfm_footnote_node_modules_micromark_util_character_regexCheck(/[#-'*+\--9=?A-Z^-~]/)
26940
+ const micromark_extension_gfm_footnote_node_modules_micromark_util_character_asciiAtext = micromark_extension_gfm_footnote_node_modules_micromark_util_character_regexCheck(/[#-'*+\--9=?A-Z^-~]/);
26897
26941
 
26898
26942
  /**
26899
26943
  * Check whether a character code is an ASCII control character.
@@ -26911,7 +26955,7 @@ function micromark_extension_gfm_footnote_node_modules_micromark_util_character_
26911
26955
  // Special whitespace codes (which have negative values), C0 and Control
26912
26956
  // character DEL
26913
26957
  code !== null && (code < 32 || code === 127)
26914
- )
26958
+ );
26915
26959
  }
26916
26960
 
26917
26961
  /**
@@ -26925,7 +26969,7 @@ function micromark_extension_gfm_footnote_node_modules_micromark_util_character_
26925
26969
  * @returns {boolean}
26926
26970
  * Whether it matches.
26927
26971
  */
26928
- const micromark_extension_gfm_footnote_node_modules_micromark_util_character_asciiDigit = micromark_extension_gfm_footnote_node_modules_micromark_util_character_regexCheck(/\d/)
26972
+ const micromark_extension_gfm_footnote_node_modules_micromark_util_character_asciiDigit = micromark_extension_gfm_footnote_node_modules_micromark_util_character_regexCheck(/\d/);
26929
26973
 
26930
26974
  /**
26931
26975
  * Check whether the character code represents an ASCII hex digit (`a` through
@@ -26945,7 +26989,7 @@ const micromark_extension_gfm_footnote_node_modules_micromark_util_character_asc
26945
26989
  * @returns {boolean}
26946
26990
  * Whether it matches.
26947
26991
  */
26948
- const micromark_extension_gfm_footnote_node_modules_micromark_util_character_asciiHexDigit = micromark_extension_gfm_footnote_node_modules_micromark_util_character_regexCheck(/[\dA-Fa-f]/)
26992
+ const micromark_extension_gfm_footnote_node_modules_micromark_util_character_asciiHexDigit = micromark_extension_gfm_footnote_node_modules_micromark_util_character_regexCheck(/[\dA-Fa-f]/);
26949
26993
 
26950
26994
  /**
26951
26995
  * Check whether the character code represents ASCII punctuation.
@@ -26960,7 +27004,7 @@ const micromark_extension_gfm_footnote_node_modules_micromark_util_character_asc
26960
27004
  * @returns {boolean}
26961
27005
  * Whether it matches.
26962
27006
  */
26963
- const micromark_extension_gfm_footnote_node_modules_micromark_util_character_asciiPunctuation = micromark_extension_gfm_footnote_node_modules_micromark_util_character_regexCheck(/[!-/:-@[-`{-~]/)
27007
+ const micromark_extension_gfm_footnote_node_modules_micromark_util_character_asciiPunctuation = micromark_extension_gfm_footnote_node_modules_micromark_util_character_regexCheck(/[!-/:-@[-`{-~]/);
26964
27008
 
26965
27009
  /**
26966
27010
  * Check whether a character code is a markdown line ending.
@@ -26978,7 +27022,7 @@ const micromark_extension_gfm_footnote_node_modules_micromark_util_character_asc
26978
27022
  * Whether it matches.
26979
27023
  */
26980
27024
  function micromark_extension_gfm_footnote_node_modules_micromark_util_character_markdownLineEnding(code) {
26981
- return code !== null && code < -2
27025
+ return code !== null && code < -2;
26982
27026
  }
26983
27027
 
26984
27028
  /**
@@ -26991,7 +27035,7 @@ function micromark_extension_gfm_footnote_node_modules_micromark_util_character_
26991
27035
  * Whether it matches.
26992
27036
  */
26993
27037
  function micromark_extension_gfm_footnote_node_modules_micromark_util_character_markdownLineEndingOrSpace(code) {
26994
- return code !== null && (code < 0 || code === 32)
27038
+ return code !== null && (code < 0 || code === 32);
26995
27039
  }
26996
27040
 
26997
27041
  /**
@@ -27010,7 +27054,7 @@ function micromark_extension_gfm_footnote_node_modules_micromark_util_character_
27010
27054
  * Whether it matches.
27011
27055
  */
27012
27056
  function micromark_extension_gfm_footnote_node_modules_micromark_util_character_markdownSpace(code) {
27013
- return code === -2 || code === -1 || code === 32
27057
+ return code === -2 || code === -1 || code === 32;
27014
27058
  }
27015
27059
 
27016
27060
  // Size note: removing ASCII from the regex and using `asciiPunctuation` here
@@ -27029,14 +27073,12 @@ function micromark_extension_gfm_footnote_node_modules_micromark_util_character_
27029
27073
  * [The Unicode Standard](https://www.unicode.org/versions/).
27030
27074
  * Unicode Consortium.
27031
27075
  *
27032
- * @param {Code} code
27076
+ * @param code
27033
27077
  * Code.
27034
- * @returns {boolean}
27078
+ * @returns
27035
27079
  * Whether it matches.
27036
27080
  */
27037
- function micromark_extension_gfm_footnote_node_modules_micromark_util_character_unicodePunctuation(code) {
27038
- return micromark_extension_gfm_footnote_node_modules_micromark_util_character_asciiPunctuation(code) || micromark_extension_gfm_footnote_node_modules_micromark_util_character_unicodePunctuationInternal(code)
27039
- }
27081
+ const micromark_extension_gfm_footnote_node_modules_micromark_util_character_unicodePunctuation = micromark_extension_gfm_footnote_node_modules_micromark_util_character_regexCheck(/\p{P}|\p{S}/u);
27040
27082
 
27041
27083
  /**
27042
27084
  * Check whether the character code represents Unicode whitespace.
@@ -27055,10 +27097,10 @@ function micromark_extension_gfm_footnote_node_modules_micromark_util_character_
27055
27097
  *
27056
27098
  * @param code
27057
27099
  * Code.
27058
- * @returns {boolean}
27100
+ * @returns
27059
27101
  * Whether it matches.
27060
27102
  */
27061
- const micromark_extension_gfm_footnote_node_modules_micromark_util_character_unicodeWhitespace = micromark_extension_gfm_footnote_node_modules_micromark_util_character_regexCheck(/\s/)
27103
+ const micromark_extension_gfm_footnote_node_modules_micromark_util_character_unicodeWhitespace = micromark_extension_gfm_footnote_node_modules_micromark_util_character_regexCheck(/\s/);
27062
27104
 
27063
27105
  /**
27064
27106
  * Create a code check from a regex.
@@ -27067,7 +27109,7 @@ const micromark_extension_gfm_footnote_node_modules_micromark_util_character_uni
27067
27109
  * @returns {(code: Code) => boolean}
27068
27110
  */
27069
27111
  function micromark_extension_gfm_footnote_node_modules_micromark_util_character_regexCheck(regex) {
27070
- return check
27112
+ return check;
27071
27113
 
27072
27114
  /**
27073
27115
  * Check whether a code matches the bound regex.
@@ -27078,10 +27120,9 @@ function micromark_extension_gfm_footnote_node_modules_micromark_util_character_
27078
27120
  * Whether the character code matches the bound regex.
27079
27121
  */
27080
27122
  function check(code) {
27081
- return code !== null && code > -1 && regex.test(String.fromCharCode(code))
27123
+ return code !== null && code > -1 && regex.test(String.fromCharCode(code));
27082
27124
  }
27083
27125
  }
27084
-
27085
27126
  ;// CONCATENATED MODULE: ../node_modules/micromark-extension-gfm-footnote/node_modules/micromark-factory-space/index.js
27086
27127
  /**
27087
27128
  * @typedef {import('micromark-util-types').Effects} Effects
@@ -27869,8 +27910,6 @@ function node_modules_micromark_util_chunked_push(list, items) {
27869
27910
  * @typedef {import('micromark-util-types').Code} Code
27870
27911
  */
27871
27912
 
27872
- const micromark_extension_gfm_strikethrough_node_modules_micromark_util_character_unicodePunctuationInternal = micromark_extension_gfm_strikethrough_node_modules_micromark_util_character_regexCheck(/\p{P}/u)
27873
-
27874
27913
  /**
27875
27914
  * Check whether the character code represents an ASCII alpha (`a` through `z`,
27876
27915
  * case insensitive).
@@ -27888,7 +27927,7 @@ const micromark_extension_gfm_strikethrough_node_modules_micromark_util_characte
27888
27927
  * @returns {boolean}
27889
27928
  * Whether it matches.
27890
27929
  */
27891
- const micromark_extension_gfm_strikethrough_node_modules_micromark_util_character_asciiAlpha = micromark_extension_gfm_strikethrough_node_modules_micromark_util_character_regexCheck(/[A-Za-z]/)
27930
+ const micromark_extension_gfm_strikethrough_node_modules_micromark_util_character_asciiAlpha = micromark_extension_gfm_strikethrough_node_modules_micromark_util_character_regexCheck(/[A-Za-z]/);
27892
27931
 
27893
27932
  /**
27894
27933
  * Check whether the character code represents an ASCII alphanumeric (`a`
@@ -27902,7 +27941,7 @@ const micromark_extension_gfm_strikethrough_node_modules_micromark_util_characte
27902
27941
  * @returns {boolean}
27903
27942
  * Whether it matches.
27904
27943
  */
27905
- const micromark_extension_gfm_strikethrough_node_modules_micromark_util_character_asciiAlphanumeric = micromark_extension_gfm_strikethrough_node_modules_micromark_util_character_regexCheck(/[\dA-Za-z]/)
27944
+ const micromark_extension_gfm_strikethrough_node_modules_micromark_util_character_asciiAlphanumeric = micromark_extension_gfm_strikethrough_node_modules_micromark_util_character_regexCheck(/[\dA-Za-z]/);
27906
27945
 
27907
27946
  /**
27908
27947
  * Check whether the character code represents an ASCII atext.
@@ -27925,7 +27964,7 @@ const micromark_extension_gfm_strikethrough_node_modules_micromark_util_characte
27925
27964
  * @returns {boolean}
27926
27965
  * Whether it matches.
27927
27966
  */
27928
- const micromark_extension_gfm_strikethrough_node_modules_micromark_util_character_asciiAtext = micromark_extension_gfm_strikethrough_node_modules_micromark_util_character_regexCheck(/[#-'*+\--9=?A-Z^-~]/)
27967
+ const micromark_extension_gfm_strikethrough_node_modules_micromark_util_character_asciiAtext = micromark_extension_gfm_strikethrough_node_modules_micromark_util_character_regexCheck(/[#-'*+\--9=?A-Z^-~]/);
27929
27968
 
27930
27969
  /**
27931
27970
  * Check whether a character code is an ASCII control character.
@@ -27943,7 +27982,7 @@ function micromark_extension_gfm_strikethrough_node_modules_micromark_util_chara
27943
27982
  // Special whitespace codes (which have negative values), C0 and Control
27944
27983
  // character DEL
27945
27984
  code !== null && (code < 32 || code === 127)
27946
- )
27985
+ );
27947
27986
  }
27948
27987
 
27949
27988
  /**
@@ -27957,7 +27996,7 @@ function micromark_extension_gfm_strikethrough_node_modules_micromark_util_chara
27957
27996
  * @returns {boolean}
27958
27997
  * Whether it matches.
27959
27998
  */
27960
- const micromark_extension_gfm_strikethrough_node_modules_micromark_util_character_asciiDigit = micromark_extension_gfm_strikethrough_node_modules_micromark_util_character_regexCheck(/\d/)
27999
+ const micromark_extension_gfm_strikethrough_node_modules_micromark_util_character_asciiDigit = micromark_extension_gfm_strikethrough_node_modules_micromark_util_character_regexCheck(/\d/);
27961
28000
 
27962
28001
  /**
27963
28002
  * Check whether the character code represents an ASCII hex digit (`a` through
@@ -27977,7 +28016,7 @@ const micromark_extension_gfm_strikethrough_node_modules_micromark_util_characte
27977
28016
  * @returns {boolean}
27978
28017
  * Whether it matches.
27979
28018
  */
27980
- const micromark_extension_gfm_strikethrough_node_modules_micromark_util_character_asciiHexDigit = micromark_extension_gfm_strikethrough_node_modules_micromark_util_character_regexCheck(/[\dA-Fa-f]/)
28019
+ const micromark_extension_gfm_strikethrough_node_modules_micromark_util_character_asciiHexDigit = micromark_extension_gfm_strikethrough_node_modules_micromark_util_character_regexCheck(/[\dA-Fa-f]/);
27981
28020
 
27982
28021
  /**
27983
28022
  * Check whether the character code represents ASCII punctuation.
@@ -27992,7 +28031,7 @@ const micromark_extension_gfm_strikethrough_node_modules_micromark_util_characte
27992
28031
  * @returns {boolean}
27993
28032
  * Whether it matches.
27994
28033
  */
27995
- const micromark_extension_gfm_strikethrough_node_modules_micromark_util_character_asciiPunctuation = micromark_extension_gfm_strikethrough_node_modules_micromark_util_character_regexCheck(/[!-/:-@[-`{-~]/)
28034
+ const micromark_extension_gfm_strikethrough_node_modules_micromark_util_character_asciiPunctuation = micromark_extension_gfm_strikethrough_node_modules_micromark_util_character_regexCheck(/[!-/:-@[-`{-~]/);
27996
28035
 
27997
28036
  /**
27998
28037
  * Check whether a character code is a markdown line ending.
@@ -28010,7 +28049,7 @@ const micromark_extension_gfm_strikethrough_node_modules_micromark_util_characte
28010
28049
  * Whether it matches.
28011
28050
  */
28012
28051
  function micromark_extension_gfm_strikethrough_node_modules_micromark_util_character_markdownLineEnding(code) {
28013
- return code !== null && code < -2
28052
+ return code !== null && code < -2;
28014
28053
  }
28015
28054
 
28016
28055
  /**
@@ -28023,7 +28062,7 @@ function micromark_extension_gfm_strikethrough_node_modules_micromark_util_chara
28023
28062
  * Whether it matches.
28024
28063
  */
28025
28064
  function micromark_extension_gfm_strikethrough_node_modules_micromark_util_character_markdownLineEndingOrSpace(code) {
28026
- return code !== null && (code < 0 || code === 32)
28065
+ return code !== null && (code < 0 || code === 32);
28027
28066
  }
28028
28067
 
28029
28068
  /**
@@ -28042,7 +28081,7 @@ function micromark_extension_gfm_strikethrough_node_modules_micromark_util_chara
28042
28081
  * Whether it matches.
28043
28082
  */
28044
28083
  function micromark_extension_gfm_strikethrough_node_modules_micromark_util_character_markdownSpace(code) {
28045
- return code === -2 || code === -1 || code === 32
28084
+ return code === -2 || code === -1 || code === 32;
28046
28085
  }
28047
28086
 
28048
28087
  // Size note: removing ASCII from the regex and using `asciiPunctuation` here
@@ -28061,14 +28100,12 @@ function micromark_extension_gfm_strikethrough_node_modules_micromark_util_chara
28061
28100
  * [The Unicode Standard](https://www.unicode.org/versions/).
28062
28101
  * Unicode Consortium.
28063
28102
  *
28064
- * @param {Code} code
28103
+ * @param code
28065
28104
  * Code.
28066
- * @returns {boolean}
28105
+ * @returns
28067
28106
  * Whether it matches.
28068
28107
  */
28069
- function micromark_extension_gfm_strikethrough_node_modules_micromark_util_character_unicodePunctuation(code) {
28070
- return micromark_extension_gfm_strikethrough_node_modules_micromark_util_character_asciiPunctuation(code) || micromark_extension_gfm_strikethrough_node_modules_micromark_util_character_unicodePunctuationInternal(code)
28071
- }
28108
+ const micromark_extension_gfm_strikethrough_node_modules_micromark_util_character_unicodePunctuation = micromark_extension_gfm_strikethrough_node_modules_micromark_util_character_regexCheck(/\p{P}|\p{S}/u);
28072
28109
 
28073
28110
  /**
28074
28111
  * Check whether the character code represents Unicode whitespace.
@@ -28087,10 +28124,10 @@ function micromark_extension_gfm_strikethrough_node_modules_micromark_util_chara
28087
28124
  *
28088
28125
  * @param code
28089
28126
  * Code.
28090
- * @returns {boolean}
28127
+ * @returns
28091
28128
  * Whether it matches.
28092
28129
  */
28093
- const micromark_extension_gfm_strikethrough_node_modules_micromark_util_character_unicodeWhitespace = micromark_extension_gfm_strikethrough_node_modules_micromark_util_character_regexCheck(/\s/)
28130
+ const micromark_extension_gfm_strikethrough_node_modules_micromark_util_character_unicodeWhitespace = micromark_extension_gfm_strikethrough_node_modules_micromark_util_character_regexCheck(/\s/);
28094
28131
 
28095
28132
  /**
28096
28133
  * Create a code check from a regex.
@@ -28099,7 +28136,7 @@ const micromark_extension_gfm_strikethrough_node_modules_micromark_util_characte
28099
28136
  * @returns {(code: Code) => boolean}
28100
28137
  */
28101
28138
  function micromark_extension_gfm_strikethrough_node_modules_micromark_util_character_regexCheck(regex) {
28102
- return check
28139
+ return check;
28103
28140
 
28104
28141
  /**
28105
28142
  * Check whether a code matches the bound regex.
@@ -28110,10 +28147,9 @@ function micromark_extension_gfm_strikethrough_node_modules_micromark_util_chara
28110
28147
  * Whether the character code matches the bound regex.
28111
28148
  */
28112
28149
  function check(code) {
28113
- return code !== null && code > -1 && regex.test(String.fromCharCode(code))
28150
+ return code !== null && code > -1 && regex.test(String.fromCharCode(code));
28114
28151
  }
28115
28152
  }
28116
-
28117
28153
  ;// CONCATENATED MODULE: ../node_modules/micromark-extension-gfm-strikethrough/node_modules/micromark-util-classify-character/index.js
28118
28154
  /**
28119
28155
  * @typedef {import('micromark-util-types').Code} Code
@@ -28371,8 +28407,6 @@ function gfmStrikethrough(options) {
28371
28407
  * @typedef {import('micromark-util-types').Code} Code
28372
28408
  */
28373
28409
 
28374
- const micromark_extension_gfm_table_node_modules_micromark_util_character_unicodePunctuationInternal = micromark_extension_gfm_table_node_modules_micromark_util_character_regexCheck(/\p{P}/u)
28375
-
28376
28410
  /**
28377
28411
  * Check whether the character code represents an ASCII alpha (`a` through `z`,
28378
28412
  * case insensitive).
@@ -28390,7 +28424,7 @@ const micromark_extension_gfm_table_node_modules_micromark_util_character_unicod
28390
28424
  * @returns {boolean}
28391
28425
  * Whether it matches.
28392
28426
  */
28393
- const micromark_extension_gfm_table_node_modules_micromark_util_character_asciiAlpha = micromark_extension_gfm_table_node_modules_micromark_util_character_regexCheck(/[A-Za-z]/)
28427
+ const micromark_extension_gfm_table_node_modules_micromark_util_character_asciiAlpha = micromark_extension_gfm_table_node_modules_micromark_util_character_regexCheck(/[A-Za-z]/);
28394
28428
 
28395
28429
  /**
28396
28430
  * Check whether the character code represents an ASCII alphanumeric (`a`
@@ -28404,7 +28438,7 @@ const micromark_extension_gfm_table_node_modules_micromark_util_character_asciiA
28404
28438
  * @returns {boolean}
28405
28439
  * Whether it matches.
28406
28440
  */
28407
- const micromark_extension_gfm_table_node_modules_micromark_util_character_asciiAlphanumeric = micromark_extension_gfm_table_node_modules_micromark_util_character_regexCheck(/[\dA-Za-z]/)
28441
+ const micromark_extension_gfm_table_node_modules_micromark_util_character_asciiAlphanumeric = micromark_extension_gfm_table_node_modules_micromark_util_character_regexCheck(/[\dA-Za-z]/);
28408
28442
 
28409
28443
  /**
28410
28444
  * Check whether the character code represents an ASCII atext.
@@ -28427,7 +28461,7 @@ const micromark_extension_gfm_table_node_modules_micromark_util_character_asciiA
28427
28461
  * @returns {boolean}
28428
28462
  * Whether it matches.
28429
28463
  */
28430
- const micromark_extension_gfm_table_node_modules_micromark_util_character_asciiAtext = micromark_extension_gfm_table_node_modules_micromark_util_character_regexCheck(/[#-'*+\--9=?A-Z^-~]/)
28464
+ const micromark_extension_gfm_table_node_modules_micromark_util_character_asciiAtext = micromark_extension_gfm_table_node_modules_micromark_util_character_regexCheck(/[#-'*+\--9=?A-Z^-~]/);
28431
28465
 
28432
28466
  /**
28433
28467
  * Check whether a character code is an ASCII control character.
@@ -28445,7 +28479,7 @@ function micromark_extension_gfm_table_node_modules_micromark_util_character_asc
28445
28479
  // Special whitespace codes (which have negative values), C0 and Control
28446
28480
  // character DEL
28447
28481
  code !== null && (code < 32 || code === 127)
28448
- )
28482
+ );
28449
28483
  }
28450
28484
 
28451
28485
  /**
@@ -28459,7 +28493,7 @@ function micromark_extension_gfm_table_node_modules_micromark_util_character_asc
28459
28493
  * @returns {boolean}
28460
28494
  * Whether it matches.
28461
28495
  */
28462
- const micromark_extension_gfm_table_node_modules_micromark_util_character_asciiDigit = micromark_extension_gfm_table_node_modules_micromark_util_character_regexCheck(/\d/)
28496
+ const micromark_extension_gfm_table_node_modules_micromark_util_character_asciiDigit = micromark_extension_gfm_table_node_modules_micromark_util_character_regexCheck(/\d/);
28463
28497
 
28464
28498
  /**
28465
28499
  * Check whether the character code represents an ASCII hex digit (`a` through
@@ -28479,7 +28513,7 @@ const micromark_extension_gfm_table_node_modules_micromark_util_character_asciiD
28479
28513
  * @returns {boolean}
28480
28514
  * Whether it matches.
28481
28515
  */
28482
- const micromark_extension_gfm_table_node_modules_micromark_util_character_asciiHexDigit = micromark_extension_gfm_table_node_modules_micromark_util_character_regexCheck(/[\dA-Fa-f]/)
28516
+ const micromark_extension_gfm_table_node_modules_micromark_util_character_asciiHexDigit = micromark_extension_gfm_table_node_modules_micromark_util_character_regexCheck(/[\dA-Fa-f]/);
28483
28517
 
28484
28518
  /**
28485
28519
  * Check whether the character code represents ASCII punctuation.
@@ -28494,7 +28528,7 @@ const micromark_extension_gfm_table_node_modules_micromark_util_character_asciiH
28494
28528
  * @returns {boolean}
28495
28529
  * Whether it matches.
28496
28530
  */
28497
- const micromark_extension_gfm_table_node_modules_micromark_util_character_asciiPunctuation = micromark_extension_gfm_table_node_modules_micromark_util_character_regexCheck(/[!-/:-@[-`{-~]/)
28531
+ const micromark_extension_gfm_table_node_modules_micromark_util_character_asciiPunctuation = micromark_extension_gfm_table_node_modules_micromark_util_character_regexCheck(/[!-/:-@[-`{-~]/);
28498
28532
 
28499
28533
  /**
28500
28534
  * Check whether a character code is a markdown line ending.
@@ -28512,7 +28546,7 @@ const micromark_extension_gfm_table_node_modules_micromark_util_character_asciiP
28512
28546
  * Whether it matches.
28513
28547
  */
28514
28548
  function micromark_extension_gfm_table_node_modules_micromark_util_character_markdownLineEnding(code) {
28515
- return code !== null && code < -2
28549
+ return code !== null && code < -2;
28516
28550
  }
28517
28551
 
28518
28552
  /**
@@ -28525,7 +28559,7 @@ function micromark_extension_gfm_table_node_modules_micromark_util_character_mar
28525
28559
  * Whether it matches.
28526
28560
  */
28527
28561
  function micromark_extension_gfm_table_node_modules_micromark_util_character_markdownLineEndingOrSpace(code) {
28528
- return code !== null && (code < 0 || code === 32)
28562
+ return code !== null && (code < 0 || code === 32);
28529
28563
  }
28530
28564
 
28531
28565
  /**
@@ -28544,7 +28578,7 @@ function micromark_extension_gfm_table_node_modules_micromark_util_character_mar
28544
28578
  * Whether it matches.
28545
28579
  */
28546
28580
  function micromark_extension_gfm_table_node_modules_micromark_util_character_markdownSpace(code) {
28547
- return code === -2 || code === -1 || code === 32
28581
+ return code === -2 || code === -1 || code === 32;
28548
28582
  }
28549
28583
 
28550
28584
  // Size note: removing ASCII from the regex and using `asciiPunctuation` here
@@ -28563,14 +28597,12 @@ function micromark_extension_gfm_table_node_modules_micromark_util_character_mar
28563
28597
  * [The Unicode Standard](https://www.unicode.org/versions/).
28564
28598
  * Unicode Consortium.
28565
28599
  *
28566
- * @param {Code} code
28600
+ * @param code
28567
28601
  * Code.
28568
- * @returns {boolean}
28602
+ * @returns
28569
28603
  * Whether it matches.
28570
28604
  */
28571
- function micromark_extension_gfm_table_node_modules_micromark_util_character_unicodePunctuation(code) {
28572
- return micromark_extension_gfm_table_node_modules_micromark_util_character_asciiPunctuation(code) || micromark_extension_gfm_table_node_modules_micromark_util_character_unicodePunctuationInternal(code)
28573
- }
28605
+ const micromark_extension_gfm_table_node_modules_micromark_util_character_unicodePunctuation = micromark_extension_gfm_table_node_modules_micromark_util_character_regexCheck(/\p{P}|\p{S}/u);
28574
28606
 
28575
28607
  /**
28576
28608
  * Check whether the character code represents Unicode whitespace.
@@ -28589,10 +28621,10 @@ function micromark_extension_gfm_table_node_modules_micromark_util_character_uni
28589
28621
  *
28590
28622
  * @param code
28591
28623
  * Code.
28592
- * @returns {boolean}
28624
+ * @returns
28593
28625
  * Whether it matches.
28594
28626
  */
28595
- const micromark_extension_gfm_table_node_modules_micromark_util_character_unicodeWhitespace = micromark_extension_gfm_table_node_modules_micromark_util_character_regexCheck(/\s/)
28627
+ const micromark_extension_gfm_table_node_modules_micromark_util_character_unicodeWhitespace = micromark_extension_gfm_table_node_modules_micromark_util_character_regexCheck(/\s/);
28596
28628
 
28597
28629
  /**
28598
28630
  * Create a code check from a regex.
@@ -28601,7 +28633,7 @@ const micromark_extension_gfm_table_node_modules_micromark_util_character_unicod
28601
28633
  * @returns {(code: Code) => boolean}
28602
28634
  */
28603
28635
  function micromark_extension_gfm_table_node_modules_micromark_util_character_regexCheck(regex) {
28604
- return check
28636
+ return check;
28605
28637
 
28606
28638
  /**
28607
28639
  * Check whether a code matches the bound regex.
@@ -28612,10 +28644,9 @@ function micromark_extension_gfm_table_node_modules_micromark_util_character_reg
28612
28644
  * Whether the character code matches the bound regex.
28613
28645
  */
28614
28646
  function check(code) {
28615
- return code !== null && code > -1 && regex.test(String.fromCharCode(code))
28647
+ return code !== null && code > -1 && regex.test(String.fromCharCode(code));
28616
28648
  }
28617
28649
  }
28618
-
28619
28650
  ;// CONCATENATED MODULE: ../node_modules/micromark-extension-gfm-table/node_modules/micromark-factory-space/index.js
28620
28651
  /**
28621
28652
  * @typedef {import('micromark-util-types').Effects} Effects
@@ -29833,8 +29864,6 @@ function getPoint(events, index) {
29833
29864
  * @typedef {import('micromark-util-types').Code} Code
29834
29865
  */
29835
29866
 
29836
- const micromark_extension_gfm_task_list_item_node_modules_micromark_util_character_unicodePunctuationInternal = micromark_extension_gfm_task_list_item_node_modules_micromark_util_character_regexCheck(/\p{P}/u)
29837
-
29838
29867
  /**
29839
29868
  * Check whether the character code represents an ASCII alpha (`a` through `z`,
29840
29869
  * case insensitive).
@@ -29852,7 +29881,7 @@ const micromark_extension_gfm_task_list_item_node_modules_micromark_util_charact
29852
29881
  * @returns {boolean}
29853
29882
  * Whether it matches.
29854
29883
  */
29855
- const micromark_extension_gfm_task_list_item_node_modules_micromark_util_character_asciiAlpha = micromark_extension_gfm_task_list_item_node_modules_micromark_util_character_regexCheck(/[A-Za-z]/)
29884
+ const micromark_extension_gfm_task_list_item_node_modules_micromark_util_character_asciiAlpha = micromark_extension_gfm_task_list_item_node_modules_micromark_util_character_regexCheck(/[A-Za-z]/);
29856
29885
 
29857
29886
  /**
29858
29887
  * Check whether the character code represents an ASCII alphanumeric (`a`
@@ -29866,7 +29895,7 @@ const micromark_extension_gfm_task_list_item_node_modules_micromark_util_charact
29866
29895
  * @returns {boolean}
29867
29896
  * Whether it matches.
29868
29897
  */
29869
- const micromark_extension_gfm_task_list_item_node_modules_micromark_util_character_asciiAlphanumeric = micromark_extension_gfm_task_list_item_node_modules_micromark_util_character_regexCheck(/[\dA-Za-z]/)
29898
+ const micromark_extension_gfm_task_list_item_node_modules_micromark_util_character_asciiAlphanumeric = micromark_extension_gfm_task_list_item_node_modules_micromark_util_character_regexCheck(/[\dA-Za-z]/);
29870
29899
 
29871
29900
  /**
29872
29901
  * Check whether the character code represents an ASCII atext.
@@ -29889,7 +29918,7 @@ const micromark_extension_gfm_task_list_item_node_modules_micromark_util_charact
29889
29918
  * @returns {boolean}
29890
29919
  * Whether it matches.
29891
29920
  */
29892
- const micromark_extension_gfm_task_list_item_node_modules_micromark_util_character_asciiAtext = micromark_extension_gfm_task_list_item_node_modules_micromark_util_character_regexCheck(/[#-'*+\--9=?A-Z^-~]/)
29921
+ const micromark_extension_gfm_task_list_item_node_modules_micromark_util_character_asciiAtext = micromark_extension_gfm_task_list_item_node_modules_micromark_util_character_regexCheck(/[#-'*+\--9=?A-Z^-~]/);
29893
29922
 
29894
29923
  /**
29895
29924
  * Check whether a character code is an ASCII control character.
@@ -29907,7 +29936,7 @@ function micromark_extension_gfm_task_list_item_node_modules_micromark_util_char
29907
29936
  // Special whitespace codes (which have negative values), C0 and Control
29908
29937
  // character DEL
29909
29938
  code !== null && (code < 32 || code === 127)
29910
- )
29939
+ );
29911
29940
  }
29912
29941
 
29913
29942
  /**
@@ -29921,7 +29950,7 @@ function micromark_extension_gfm_task_list_item_node_modules_micromark_util_char
29921
29950
  * @returns {boolean}
29922
29951
  * Whether it matches.
29923
29952
  */
29924
- const micromark_extension_gfm_task_list_item_node_modules_micromark_util_character_asciiDigit = micromark_extension_gfm_task_list_item_node_modules_micromark_util_character_regexCheck(/\d/)
29953
+ const micromark_extension_gfm_task_list_item_node_modules_micromark_util_character_asciiDigit = micromark_extension_gfm_task_list_item_node_modules_micromark_util_character_regexCheck(/\d/);
29925
29954
 
29926
29955
  /**
29927
29956
  * Check whether the character code represents an ASCII hex digit (`a` through
@@ -29941,7 +29970,7 @@ const micromark_extension_gfm_task_list_item_node_modules_micromark_util_charact
29941
29970
  * @returns {boolean}
29942
29971
  * Whether it matches.
29943
29972
  */
29944
- const micromark_extension_gfm_task_list_item_node_modules_micromark_util_character_asciiHexDigit = micromark_extension_gfm_task_list_item_node_modules_micromark_util_character_regexCheck(/[\dA-Fa-f]/)
29973
+ const micromark_extension_gfm_task_list_item_node_modules_micromark_util_character_asciiHexDigit = micromark_extension_gfm_task_list_item_node_modules_micromark_util_character_regexCheck(/[\dA-Fa-f]/);
29945
29974
 
29946
29975
  /**
29947
29976
  * Check whether the character code represents ASCII punctuation.
@@ -29956,7 +29985,7 @@ const micromark_extension_gfm_task_list_item_node_modules_micromark_util_charact
29956
29985
  * @returns {boolean}
29957
29986
  * Whether it matches.
29958
29987
  */
29959
- const micromark_extension_gfm_task_list_item_node_modules_micromark_util_character_asciiPunctuation = micromark_extension_gfm_task_list_item_node_modules_micromark_util_character_regexCheck(/[!-/:-@[-`{-~]/)
29988
+ const micromark_extension_gfm_task_list_item_node_modules_micromark_util_character_asciiPunctuation = micromark_extension_gfm_task_list_item_node_modules_micromark_util_character_regexCheck(/[!-/:-@[-`{-~]/);
29960
29989
 
29961
29990
  /**
29962
29991
  * Check whether a character code is a markdown line ending.
@@ -29974,7 +30003,7 @@ const micromark_extension_gfm_task_list_item_node_modules_micromark_util_charact
29974
30003
  * Whether it matches.
29975
30004
  */
29976
30005
  function micromark_extension_gfm_task_list_item_node_modules_micromark_util_character_markdownLineEnding(code) {
29977
- return code !== null && code < -2
30006
+ return code !== null && code < -2;
29978
30007
  }
29979
30008
 
29980
30009
  /**
@@ -29987,7 +30016,7 @@ function micromark_extension_gfm_task_list_item_node_modules_micromark_util_char
29987
30016
  * Whether it matches.
29988
30017
  */
29989
30018
  function micromark_extension_gfm_task_list_item_node_modules_micromark_util_character_markdownLineEndingOrSpace(code) {
29990
- return code !== null && (code < 0 || code === 32)
30019
+ return code !== null && (code < 0 || code === 32);
29991
30020
  }
29992
30021
 
29993
30022
  /**
@@ -30006,7 +30035,7 @@ function micromark_extension_gfm_task_list_item_node_modules_micromark_util_char
30006
30035
  * Whether it matches.
30007
30036
  */
30008
30037
  function micromark_extension_gfm_task_list_item_node_modules_micromark_util_character_markdownSpace(code) {
30009
- return code === -2 || code === -1 || code === 32
30038
+ return code === -2 || code === -1 || code === 32;
30010
30039
  }
30011
30040
 
30012
30041
  // Size note: removing ASCII from the regex and using `asciiPunctuation` here
@@ -30025,14 +30054,12 @@ function micromark_extension_gfm_task_list_item_node_modules_micromark_util_char
30025
30054
  * [The Unicode Standard](https://www.unicode.org/versions/).
30026
30055
  * Unicode Consortium.
30027
30056
  *
30028
- * @param {Code} code
30057
+ * @param code
30029
30058
  * Code.
30030
- * @returns {boolean}
30059
+ * @returns
30031
30060
  * Whether it matches.
30032
30061
  */
30033
- function micromark_extension_gfm_task_list_item_node_modules_micromark_util_character_unicodePunctuation(code) {
30034
- return micromark_extension_gfm_task_list_item_node_modules_micromark_util_character_asciiPunctuation(code) || micromark_extension_gfm_task_list_item_node_modules_micromark_util_character_unicodePunctuationInternal(code)
30035
- }
30062
+ const micromark_extension_gfm_task_list_item_node_modules_micromark_util_character_unicodePunctuation = micromark_extension_gfm_task_list_item_node_modules_micromark_util_character_regexCheck(/\p{P}|\p{S}/u);
30036
30063
 
30037
30064
  /**
30038
30065
  * Check whether the character code represents Unicode whitespace.
@@ -30051,10 +30078,10 @@ function micromark_extension_gfm_task_list_item_node_modules_micromark_util_char
30051
30078
  *
30052
30079
  * @param code
30053
30080
  * Code.
30054
- * @returns {boolean}
30081
+ * @returns
30055
30082
  * Whether it matches.
30056
30083
  */
30057
- const micromark_extension_gfm_task_list_item_node_modules_micromark_util_character_unicodeWhitespace = micromark_extension_gfm_task_list_item_node_modules_micromark_util_character_regexCheck(/\s/)
30084
+ const micromark_extension_gfm_task_list_item_node_modules_micromark_util_character_unicodeWhitespace = micromark_extension_gfm_task_list_item_node_modules_micromark_util_character_regexCheck(/\s/);
30058
30085
 
30059
30086
  /**
30060
30087
  * Create a code check from a regex.
@@ -30063,7 +30090,7 @@ const micromark_extension_gfm_task_list_item_node_modules_micromark_util_charact
30063
30090
  * @returns {(code: Code) => boolean}
30064
30091
  */
30065
30092
  function micromark_extension_gfm_task_list_item_node_modules_micromark_util_character_regexCheck(regex) {
30066
- return check
30093
+ return check;
30067
30094
 
30068
30095
  /**
30069
30096
  * Check whether a code matches the bound regex.
@@ -30074,10 +30101,9 @@ function micromark_extension_gfm_task_list_item_node_modules_micromark_util_char
30074
30101
  * Whether the character code matches the bound regex.
30075
30102
  */
30076
30103
  function check(code) {
30077
- return code !== null && code > -1 && regex.test(String.fromCharCode(code))
30104
+ return code !== null && code > -1 && regex.test(String.fromCharCode(code));
30078
30105
  }
30079
30106
  }
30080
-
30081
30107
  ;// CONCATENATED MODULE: ../node_modules/micromark-extension-gfm-task-list-item/node_modules/micromark-factory-space/index.js
30082
30108
  /**
30083
30109
  * @typedef {import('micromark-util-types').Effects} Effects
@@ -41506,7 +41532,7 @@ function rehypeRaw(options) {
41506
41532
  }
41507
41533
 
41508
41534
  // EXTERNAL MODULE: ../node_modules/@uiw/copy-to-clipboard/dist/copy-to-clipboard.umd.js
41509
- var copy_to_clipboard_umd = __webpack_require__(28);
41535
+ var copy_to_clipboard_umd = __webpack_require__(886);
41510
41536
  var copy_to_clipboard_umd_default = /*#__PURE__*/__webpack_require__.n(copy_to_clipboard_umd);
41511
41537
  ;// CONCATENATED MODULE: ../node_modules/@uiw/react-markdown-preview/esm/plugins/useCopied.js
41512
41538
 
@@ -41615,1288 +41641,243 @@ var preview_defaultUrlTransform = url => url;
41615
41641
  }))
41616
41642
  }));
41617
41643
  }));
41618
- ;// CONCATENATED MODULE: ../node_modules/rehype-prism-plus/node_modules/unist-util-is/lib/index.js
41644
+ ;// CONCATENATED MODULE: ../node_modules/hast-util-to-string/lib/index.js
41619
41645
  /**
41620
- * @typedef {import('unist').Node} Node
41621
- * @typedef {import('unist').Parent} Parent
41646
+ * @typedef {import('hast').Nodes} Nodes
41647
+ * @typedef {import('hast').Parents} Parents
41622
41648
  */
41623
41649
 
41624
41650
  /**
41625
- * @typedef {Record<string, unknown>} Props
41626
- * @typedef {null | undefined | string | Props | TestFunctionAnything | Array<string | Props | TestFunctionAnything>} Test
41627
- * Check for an arbitrary node, unaware of TypeScript inferral.
41651
+ * Get the plain-text value of a hast node.
41628
41652
  *
41629
- * @callback TestFunctionAnything
41630
- * Check if a node passes a test, unaware of TypeScript inferral.
41631
- * @param {unknown} this
41632
- * The given context.
41633
- * @param {Node} node
41634
- * A node.
41635
- * @param {number | null | undefined} [index]
41636
- * The node’s position in its parent.
41637
- * @param {Parent | null | undefined} [parent]
41638
- * The node’s parent.
41639
- * @returns {boolean | void}
41640
- * Whether this node passes the test.
41653
+ * @param {Nodes} node
41654
+ * Node to serialize.
41655
+ * @returns {string}
41656
+ * Serialized node.
41641
41657
  */
41658
+ function hast_util_to_string_lib_toString(node) {
41659
+ // “The concatenation of data of all the Text node descendants of the context
41660
+ // object, in tree order.”
41661
+ if ('children' in node) {
41662
+ return hast_util_to_string_lib_all(node)
41663
+ }
41642
41664
 
41643
- /**
41644
- * @template {Node} Kind
41645
- * Node type.
41646
- * @typedef {Kind['type'] | Partial<Kind> | TestFunctionPredicate<Kind> | Array<Kind['type'] | Partial<Kind> | TestFunctionPredicate<Kind>>} PredicateTest
41647
- * Check for a node that can be inferred by TypeScript.
41648
- */
41665
+ // “Context object’s data.”
41666
+ return 'value' in node ? node.value : ''
41667
+ }
41649
41668
 
41650
41669
  /**
41651
- * Check if a node passes a certain test.
41652
- *
41653
- * @template {Node} Kind
41654
- * Node type.
41655
- * @callback TestFunctionPredicate
41656
- * Complex test function for a node that can be inferred by TypeScript.
41657
- * @param {Node} node
41658
- * A node.
41659
- * @param {number | null | undefined} [index]
41660
- * The node’s position in its parent.
41661
- * @param {Parent | null | undefined} [parent]
41662
- * The node’s parent.
41663
- * @returns {node is Kind}
41664
- * Whether this node passes the test.
41670
+ * @param {Nodes} node
41671
+ * Node.
41672
+ * @returns {string}
41673
+ * Serialized node.
41665
41674
  */
41675
+ function hast_util_to_string_lib_one(node) {
41676
+ if (node.type === 'text') {
41677
+ return node.value
41678
+ }
41679
+
41680
+ return 'children' in node ? hast_util_to_string_lib_all(node) : ''
41681
+ }
41666
41682
 
41667
41683
  /**
41668
- * @callback AssertAnything
41669
- * Check that an arbitrary value is a node, unaware of TypeScript inferral.
41670
- * @param {unknown} [node]
41671
- * Anything (typically a node).
41672
- * @param {number | null | undefined} [index]
41673
- * The node’s position in its parent.
41674
- * @param {Parent | null | undefined} [parent]
41675
- * The node’s parent.
41676
- * @returns {boolean}
41677
- * Whether this is a node and passes a test.
41684
+ * @param {Parents} node
41685
+ * Node.
41686
+ * @returns {string}
41687
+ * Serialized node.
41678
41688
  */
41689
+ function hast_util_to_string_lib_all(node) {
41690
+ let index = -1
41691
+ /** @type {Array<string>} */
41692
+ const result = []
41693
+
41694
+ while (++index < node.children.length) {
41695
+ result[index] = hast_util_to_string_lib_one(node.children[index])
41696
+ }
41697
+
41698
+ return result.join('')
41699
+ }
41679
41700
 
41701
+ ;// CONCATENATED MODULE: ../node_modules/unist-util-filter/lib/index.js
41680
41702
  /**
41681
- * Check if a node is a node and passes a certain node test.
41703
+ * @typedef {import('unist').Node} Node
41704
+ * @typedef {import('unist').Parent} Parent
41682
41705
  *
41683
- * @template {Node} Kind
41684
- * Node type.
41685
- * @callback AssertPredicate
41686
- * Check that an arbitrary value is a specific node, aware of TypeScript.
41687
- * @param {unknown} [node]
41688
- * Anything (typically a node).
41689
- * @param {number | null | undefined} [index]
41690
- * The node’s position in its parent.
41691
- * @param {Parent | null | undefined} [parent]
41692
- * The node’s parent.
41693
- * @returns {node is Kind}
41694
- * Whether this is a node and passes a test.
41706
+ * @typedef {Exclude<import('unist-util-is').Test, undefined> | undefined} Test
41707
+ * Test from `unist-util-is`.
41708
+ *
41709
+ * Note: we have remove and add `undefined`, because otherwise when generating
41710
+ * automatic `.d.ts` files, TS tries to flatten paths from a local perspective,
41711
+ * which doesn’t work when publishing on npm.
41695
41712
  */
41696
41713
 
41697
41714
  /**
41698
- * Check if `node` is a `Node` and whether it passes the given test.
41699
- *
41700
- * @param node
41701
- * Thing to check, typically `Node`.
41702
- * @param test
41703
- * A check for a specific node.
41704
- * @param index
41705
- * The node’s position in its parent.
41706
- * @param parent
41707
- * The node’s parent.
41708
- * @returns
41709
- * Whether `node` is a node and passes a test.
41715
+ * @typedef Options
41716
+ * Configuration (optional).
41717
+ * @property {boolean | null | undefined} [cascade=true]
41718
+ * Whether to drop parent nodes if they had children, but all their children
41719
+ * were filtered out (default: `true`).
41710
41720
  */
41711
- const lib_is =
41712
- /**
41713
- * @type {(
41714
- * (() => false) &
41715
- * (<Kind extends Node = Node>(node: unknown, test: PredicateTest<Kind>, index: number, parent: Parent, context?: unknown) => node is Kind) &
41716
- * (<Kind extends Node = Node>(node: unknown, test: PredicateTest<Kind>, index?: null | undefined, parent?: null | undefined, context?: unknown) => node is Kind) &
41717
- * ((node: unknown, test: Test, index: number, parent: Parent, context?: unknown) => boolean) &
41718
- * ((node: unknown, test?: Test, index?: null | undefined, parent?: null | undefined, context?: unknown) => boolean)
41719
- * )}
41720
- */
41721
- (
41722
- /**
41723
- * @param {unknown} [node]
41724
- * @param {Test} [test]
41725
- * @param {number | null | undefined} [index]
41726
- * @param {Parent | null | undefined} [parent]
41727
- * @param {unknown} [context]
41728
- * @returns {boolean}
41729
- */
41730
- // eslint-disable-next-line max-params
41731
- function is(node, test, index, parent, context) {
41732
- const check = lib_convert(test)
41733
-
41734
- if (
41735
- index !== undefined &&
41736
- index !== null &&
41737
- (typeof index !== 'number' ||
41738
- index < 0 ||
41739
- index === Number.POSITIVE_INFINITY)
41740
- ) {
41741
- throw new Error('Expected positive finite index')
41742
- }
41743
41721
 
41744
- if (
41745
- parent !== undefined &&
41746
- parent !== null &&
41747
- (!is(parent) || !parent.children)
41748
- ) {
41749
- throw new Error('Expected parent node')
41750
- }
41751
41722
 
41752
- if (
41753
- (parent === undefined || parent === null) !==
41754
- (index === undefined || index === null)
41755
- ) {
41756
- throw new Error('Expected both parent and index')
41757
- }
41758
41723
 
41759
- // @ts-expect-error Looks like a node.
41760
- return node && node.type && typeof node.type === 'string'
41761
- ? Boolean(check.call(context, node, index, parent))
41762
- : false
41763
- }
41764
- )
41724
+ const unist_util_filter_lib_own = {}.hasOwnProperty
41765
41725
 
41766
41726
  /**
41767
- * Generate an assertion from a test.
41727
+ * Create a new `tree` of copies of all nodes that pass `test`.
41768
41728
  *
41769
- * Useful if you’re going to test many nodes, for example when creating a
41770
- * utility where something else passes a compatible test.
41729
+ * The tree is walked in *preorder* (NLR), visiting the node itself, then its
41730
+ * head, etc.
41771
41731
  *
41772
- * The created function is a bit faster because it expects valid input only:
41773
- * a `node`, `index`, and `parent`.
41732
+ * @template {Node} Tree
41733
+ * @template {Test} Check
41774
41734
  *
41775
- * @param test
41776
- * * when nullish, checks if `node` is a `Node`.
41777
- * * when `string`, works like passing `(node) => node.type === test`.
41778
- * * when `function` checks if function passed the node is true.
41779
- * * when `object`, checks that all keys in test are in node, and that they have (strictly) equal values.
41780
- * * when `array`, checks if any one of the subtests pass.
41781
- * @returns
41782
- * An assertion.
41735
+ * @overload
41736
+ * @param {Tree} tree
41737
+ * @param {Options | null | undefined} options
41738
+ * @param {Check} test
41739
+ * @returns {import('./complex-types.js').Matches<Tree, Check>}
41740
+ *
41741
+ * @overload
41742
+ * @param {Tree} tree
41743
+ * @param {Check} test
41744
+ * @returns {import('./complex-types.js').Matches<Tree, Check>}
41745
+ *
41746
+ * @overload
41747
+ * @param {Tree} tree
41748
+ * @param {null | undefined} [options]
41749
+ * @returns {Tree}
41750
+ *
41751
+ * @param {Node} tree
41752
+ * Tree to filter.
41753
+ * @param {Options | Test} [options]
41754
+ * Configuration (optional).
41755
+ * @param {Test} [test]
41756
+ * `unist-util-is` compatible test.
41757
+ * @returns {Node | undefined}
41758
+ * New filtered tree.
41759
+ *
41760
+ * `undefined` is returned if `tree` itself didn’t pass the test, or is
41761
+ * cascaded away.
41783
41762
  */
41784
- const lib_convert =
41785
- /**
41786
- * @type {(
41787
- * (<Kind extends Node>(test: PredicateTest<Kind>) => AssertPredicate<Kind>) &
41788
- * ((test?: Test) => AssertAnything)
41789
- * )}
41790
- */
41791
- (
41792
- /**
41793
- * @param {Test} [test]
41794
- * @returns {AssertAnything}
41795
- */
41796
- function (test) {
41797
- if (test === undefined || test === null) {
41798
- return unist_util_is_lib_ok
41799
- }
41800
-
41801
- if (typeof test === 'string') {
41802
- return lib_typeFactory(test)
41803
- }
41804
-
41805
- if (typeof test === 'object') {
41806
- return Array.isArray(test) ? lib_anyFactory(test) : lib_propsFactory(test)
41807
- }
41763
+ function filter(tree, options, test) {
41764
+ const is = convert(test || options)
41765
+ const cascadeRaw =
41766
+ options && typeof options === 'object' && 'cascade' in options
41767
+ ? /** @type {boolean | null | undefined} */ (options.cascade)
41768
+ : undefined
41769
+ const cascade =
41770
+ cascadeRaw === undefined || cascadeRaw === null ? true : cascadeRaw
41808
41771
 
41809
- if (typeof test === 'function') {
41810
- return lib_castFactory(test)
41811
- }
41772
+ return preorder(tree)
41812
41773
 
41813
- throw new Error('Expected function, string, or object as test')
41814
- }
41815
- )
41774
+ /**
41775
+ * @param {Node} node
41776
+ * Current node.
41777
+ * @param {number | undefined} [index]
41778
+ * Index of `node` in `parent`.
41779
+ * @param {Parent | undefined} [parentNode]
41780
+ * Parent node.
41781
+ * @returns {Node | undefined}
41782
+ * Shallow copy of `node`.
41783
+ */
41784
+ function preorder(node, index, parentNode) {
41785
+ /** @type {Array<Node>} */
41786
+ const children = []
41816
41787
 
41817
- /**
41818
- * @param {Array<string | Props | TestFunctionAnything>} tests
41819
- * @returns {AssertAnything}
41820
- */
41821
- function lib_anyFactory(tests) {
41822
- /** @type {Array<AssertAnything>} */
41823
- const checks = []
41824
- let index = -1
41788
+ if (!is(node, index, parentNode)) return undefined
41825
41789
 
41826
- while (++index < tests.length) {
41827
- checks[index] = lib_convert(tests[index])
41828
- }
41790
+ if (lib_parent(node)) {
41791
+ let childIndex = -1
41829
41792
 
41830
- return lib_castFactory(any)
41793
+ while (++childIndex < node.children.length) {
41794
+ const result = preorder(node.children[childIndex], childIndex, node)
41831
41795
 
41832
- /**
41833
- * @this {unknown}
41834
- * @param {Array<unknown>} parameters
41835
- * @returns {boolean}
41836
- */
41837
- function any(...parameters) {
41838
- let index = -1
41796
+ if (result) {
41797
+ children.push(result)
41798
+ }
41799
+ }
41839
41800
 
41840
- while (++index < checks.length) {
41841
- if (checks[index].call(this, ...parameters)) return true
41801
+ if (cascade && node.children.length > 0 && children.length === 0) {
41802
+ return undefined
41803
+ }
41842
41804
  }
41843
41805
 
41844
- return false
41845
- }
41846
- }
41847
-
41848
- /**
41849
- * Turn an object into a test for a node with a certain fields.
41850
- *
41851
- * @param {Props} check
41852
- * @returns {AssertAnything}
41853
- */
41854
- function lib_propsFactory(check) {
41855
- return lib_castFactory(all)
41856
-
41857
- /**
41858
- * @param {Node} node
41859
- * @returns {boolean}
41860
- */
41861
- function all(node) {
41806
+ // Create a shallow clone, using the new children.
41807
+ /** @type {typeof node} */
41808
+ // @ts-expect-error all the fields will be copied over.
41809
+ const next = {}
41862
41810
  /** @type {string} */
41863
41811
  let key
41864
41812
 
41865
- for (key in check) {
41866
- // @ts-expect-error: hush, it sure works as an index.
41867
- if (node[key] !== check[key]) return false
41813
+ for (key in node) {
41814
+ if (unist_util_filter_lib_own.call(node, key)) {
41815
+ // @ts-expect-error: Looks like a record.
41816
+ next[key] = key === 'children' ? children : node[key]
41817
+ }
41868
41818
  }
41869
41819
 
41870
- return true
41820
+ return next
41871
41821
  }
41872
41822
  }
41873
41823
 
41874
41824
  /**
41875
- * Turn a string into a test for a node with a certain type.
41876
- *
41877
- * @param {string} check
41878
- * @returns {AssertAnything}
41825
+ * @param {Node} node
41826
+ * @returns {node is Parent}
41879
41827
  */
41880
- function lib_typeFactory(check) {
41881
- return lib_castFactory(type)
41882
-
41883
- /**
41884
- * @param {Node} node
41885
- */
41886
- function type(node) {
41887
- return node && node.type === check
41888
- }
41828
+ function lib_parent(node) {
41829
+ return 'children' in node && node.children !== undefined
41889
41830
  }
41890
41831
 
41891
- /**
41892
- * Turn a custom test into a test for a node that passes that test.
41893
- *
41894
- * @param {TestFunctionAnything} check
41895
- * @returns {AssertAnything}
41896
- */
41897
- function lib_castFactory(check) {
41898
- return assertion
41832
+ // EXTERNAL MODULE: ../node_modules/parse-numeric-range/index.js
41833
+ var parse_numeric_range = __webpack_require__(934);
41834
+ ;// CONCATENATED MODULE: ../node_modules/refractor/lang/clike.js
41835
+ // @ts-nocheck
41836
+ clike.displayName = 'clike'
41837
+ clike.aliases = []
41899
41838
 
41900
- /**
41901
- * @this {unknown}
41902
- * @param {unknown} node
41903
- * @param {Array<unknown>} parameters
41904
- * @returns {boolean}
41905
- */
41906
- function assertion(node, ...parameters) {
41907
- return Boolean(
41908
- node &&
41909
- typeof node === 'object' &&
41910
- 'type' in node &&
41911
- // @ts-expect-error: fine.
41912
- Boolean(check.call(this, node, ...parameters))
41913
- )
41839
+ /** @type {import('../core.js').Syntax} */
41840
+ function clike(Prism) {
41841
+ Prism.languages.clike = {
41842
+ comment: [
41843
+ {
41844
+ pattern: /(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,
41845
+ lookbehind: true,
41846
+ greedy: true
41847
+ },
41848
+ {
41849
+ pattern: /(^|[^\\:])\/\/.*/,
41850
+ lookbehind: true,
41851
+ greedy: true
41852
+ }
41853
+ ],
41854
+ string: {
41855
+ pattern: /(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,
41856
+ greedy: true
41857
+ },
41858
+ 'class-name': {
41859
+ pattern:
41860
+ /(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,
41861
+ lookbehind: true,
41862
+ inside: {
41863
+ punctuation: /[.\\]/
41864
+ }
41865
+ },
41866
+ keyword:
41867
+ /\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,
41868
+ boolean: /\b(?:false|true)\b/,
41869
+ function: /\b\w+(?=\()/,
41870
+ number: /\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,
41871
+ operator: /[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,
41872
+ punctuation: /[{}[\];(),.:]/
41914
41873
  }
41915
41874
  }
41916
41875
 
41917
- function unist_util_is_lib_ok() {
41918
- return true
41919
- }
41920
-
41921
- ;// CONCATENATED MODULE: ../node_modules/rehype-prism-plus/node_modules/unist-util-visit-parents/lib/color.browser.js
41922
- /**
41923
- * @param {string} d
41924
- * @returns {string}
41925
- */
41926
- function color_browser_color(d) {
41927
- return d
41928
- }
41929
-
41930
- ;// CONCATENATED MODULE: ../node_modules/rehype-prism-plus/node_modules/unist-util-visit-parents/lib/index.js
41931
- /**
41932
- * @typedef {import('unist').Node} Node
41933
- * @typedef {import('unist').Parent} Parent
41934
- * @typedef {import('unist-util-is').Test} Test
41935
- */
41936
-
41937
- /**
41938
- * @typedef {boolean | 'skip'} Action
41939
- * Union of the action types.
41940
- *
41941
- * @typedef {number} Index
41942
- * Move to the sibling at `index` next (after node itself is completely
41943
- * traversed).
41944
- *
41945
- * Useful if mutating the tree, such as removing the node the visitor is
41946
- * currently on, or any of its previous siblings.
41947
- * Results less than 0 or greater than or equal to `children.length` stop
41948
- * traversing the parent.
41949
- *
41950
- * @typedef {[(Action | null | undefined | void)?, (Index | null | undefined)?]} ActionTuple
41951
- * List with one or two values, the first an action, the second an index.
41952
- *
41953
- * @typedef {Action | ActionTuple | Index | null | undefined | void} VisitorResult
41954
- * Any value that can be returned from a visitor.
41955
- */
41956
-
41957
- /**
41958
- * @template {Node} [Visited=Node]
41959
- * Visited node type.
41960
- * @template {Parent} [Ancestor=Parent]
41961
- * Ancestor type.
41962
- * @callback Visitor
41963
- * Handle a node (matching `test`, if given).
41964
- *
41965
- * Visitors are free to transform `node`.
41966
- * They can also transform the parent of node (the last of `ancestors`).
41967
- *
41968
- * Replacing `node` itself, if `SKIP` is not returned, still causes its
41969
- * descendants to be walked (which is a bug).
41970
- *
41971
- * When adding or removing previous siblings of `node` (or next siblings, in
41972
- * case of reverse), the `Visitor` should return a new `Index` to specify the
41973
- * sibling to traverse after `node` is traversed.
41974
- * Adding or removing next siblings of `node` (or previous siblings, in case
41975
- * of reverse) is handled as expected without needing to return a new `Index`.
41976
- *
41977
- * Removing the children property of an ancestor still results in them being
41978
- * traversed.
41979
- * @param {Visited} node
41980
- * Found node.
41981
- * @param {Array<Ancestor>} ancestors
41982
- * Ancestors of `node`.
41983
- * @returns {VisitorResult}
41984
- * What to do next.
41985
- *
41986
- * An `Index` is treated as a tuple of `[CONTINUE, Index]`.
41987
- * An `Action` is treated as a tuple of `[Action]`.
41988
- *
41989
- * Passing a tuple back only makes sense if the `Action` is `SKIP`.
41990
- * When the `Action` is `EXIT`, that action can be returned.
41991
- * When the `Action` is `CONTINUE`, `Index` can be returned.
41992
- */
41993
-
41994
- /**
41995
- * @template {Node} [Tree=Node]
41996
- * Tree type.
41997
- * @template {Test} [Check=string]
41998
- * Test type.
41999
- * @typedef {Visitor<import('./complex-types.js').Matches<import('./complex-types.js').InclusiveDescendant<Tree>, Check>, Extract<import('./complex-types.js').InclusiveDescendant<Tree>, Parent>>} BuildVisitor
42000
- * Build a typed `Visitor` function from a tree and a test.
42001
- *
42002
- * It will infer which values are passed as `node` and which as `parents`.
42003
- */
42004
-
42005
-
42006
-
42007
-
42008
- /**
42009
- * Continue traversing as normal.
42010
- */
42011
- const lib_CONTINUE = true
42012
-
42013
- /**
42014
- * Stop traversing immediately.
42015
- */
42016
- const lib_EXIT = false
41876
+ ;// CONCATENATED MODULE: ../node_modules/refractor/lang/c.js
41877
+ // @ts-nocheck
42017
41878
 
42018
- /**
42019
- * Do not traverse this node’s children.
42020
- */
42021
- const lib_SKIP = 'skip'
42022
-
42023
- /**
42024
- * Visit nodes, with ancestral information.
42025
- *
42026
- * This algorithm performs *depth-first* *tree traversal* in *preorder*
42027
- * (**NLR**) or if `reverse` is given, in *reverse preorder* (**NRL**).
42028
- *
42029
- * You can choose for which nodes `visitor` is called by passing a `test`.
42030
- * For complex tests, you should test yourself in `visitor`, as it will be
42031
- * faster and will have improved type information.
42032
- *
42033
- * Walking the tree is an intensive task.
42034
- * Make use of the return values of the visitor when possible.
42035
- * Instead of walking a tree multiple times, walk it once, use `unist-util-is`
42036
- * to check if a node matches, and then perform different operations.
42037
- *
42038
- * You can change the tree.
42039
- * See `Visitor` for more info.
42040
- *
42041
- * @param tree
42042
- * Tree to traverse.
42043
- * @param test
42044
- * `unist-util-is`-compatible test
42045
- * @param visitor
42046
- * Handle each node.
42047
- * @param reverse
42048
- * Traverse in reverse preorder (NRL) instead of the default preorder (NLR).
42049
- * @returns
42050
- * Nothing.
42051
- */
42052
- const lib_visitParents =
42053
- /**
42054
- * @type {(
42055
- * (<Tree extends Node, Check extends Test>(tree: Tree, test: Check, visitor: BuildVisitor<Tree, Check>, reverse?: boolean | null | undefined) => void) &
42056
- * (<Tree extends Node>(tree: Tree, visitor: BuildVisitor<Tree>, reverse?: boolean | null | undefined) => void)
42057
- * )}
42058
- */
42059
- (
42060
- /**
42061
- * @param {Node} tree
42062
- * @param {Test} test
42063
- * @param {Visitor<Node>} visitor
42064
- * @param {boolean | null | undefined} [reverse]
42065
- * @returns {void}
42066
- */
42067
- function (tree, test, visitor, reverse) {
42068
- if (typeof test === 'function' && typeof visitor !== 'function') {
42069
- reverse = visitor
42070
- // @ts-expect-error no visitor given, so `visitor` is test.
42071
- visitor = test
42072
- test = null
42073
- }
42074
-
42075
- const is = lib_convert(test)
42076
- const step = reverse ? -1 : 1
42077
-
42078
- factory(tree, undefined, [])()
42079
-
42080
- /**
42081
- * @param {Node} node
42082
- * @param {number | undefined} index
42083
- * @param {Array<Parent>} parents
42084
- */
42085
- function factory(node, index, parents) {
42086
- /** @type {Record<string, unknown>} */
42087
- // @ts-expect-error: hush
42088
- const value = node && typeof node === 'object' ? node : {}
42089
-
42090
- if (typeof value.type === 'string') {
42091
- const name =
42092
- // `hast`
42093
- typeof value.tagName === 'string'
42094
- ? value.tagName
42095
- : // `xast`
42096
- typeof value.name === 'string'
42097
- ? value.name
42098
- : undefined
42099
-
42100
- Object.defineProperty(visit, 'name', {
42101
- value:
42102
- 'node (' + color_browser_color(node.type + (name ? '<' + name + '>' : '')) + ')'
42103
- })
42104
- }
42105
-
42106
- return visit
42107
-
42108
- function visit() {
42109
- /** @type {ActionTuple} */
42110
- let result = []
42111
- /** @type {ActionTuple} */
42112
- let subresult
42113
- /** @type {number} */
42114
- let offset
42115
- /** @type {Array<Parent>} */
42116
- let grandparents
42117
-
42118
- if (!test || is(node, index, parents[parents.length - 1] || null)) {
42119
- result = lib_toResult(visitor(node, parents))
42120
-
42121
- if (result[0] === lib_EXIT) {
42122
- return result
42123
- }
42124
- }
42125
-
42126
- // @ts-expect-error looks like a parent.
42127
- if (node.children && result[0] !== lib_SKIP) {
42128
- // @ts-expect-error looks like a parent.
42129
- offset = (reverse ? node.children.length : -1) + step
42130
- // @ts-expect-error looks like a parent.
42131
- grandparents = parents.concat(node)
42132
-
42133
- // @ts-expect-error looks like a parent.
42134
- while (offset > -1 && offset < node.children.length) {
42135
- // @ts-expect-error looks like a parent.
42136
- subresult = factory(node.children[offset], offset, grandparents)()
42137
-
42138
- if (subresult[0] === lib_EXIT) {
42139
- return subresult
42140
- }
42141
-
42142
- offset =
42143
- typeof subresult[1] === 'number' ? subresult[1] : offset + step
42144
- }
42145
- }
42146
-
42147
- return result
42148
- }
42149
- }
42150
- }
42151
- )
42152
-
42153
- /**
42154
- * Turn a return value into a clean result.
42155
- *
42156
- * @param {VisitorResult} value
42157
- * Valid return values from visitors.
42158
- * @returns {ActionTuple}
42159
- * Clean result.
42160
- */
42161
- function lib_toResult(value) {
42162
- if (Array.isArray(value)) {
42163
- return value
42164
- }
42165
-
42166
- if (typeof value === 'number') {
42167
- return [lib_CONTINUE, value]
42168
- }
42169
-
42170
- return [value]
42171
- }
42172
-
42173
- ;// CONCATENATED MODULE: ../node_modules/rehype-prism-plus/node_modules/unist-util-visit/lib/index.js
42174
- /**
42175
- * @typedef {import('unist').Node} Node
42176
- * @typedef {import('unist').Parent} Parent
42177
- * @typedef {import('unist-util-is').Test} Test
42178
- * @typedef {import('unist-util-visit-parents').VisitorResult} VisitorResult
42179
- */
42180
-
42181
- /**
42182
- * Check if `Child` can be a child of `Ancestor`.
42183
- *
42184
- * Returns the ancestor when `Child` can be a child of `Ancestor`, or returns
42185
- * `never`.
42186
- *
42187
- * @template {Node} Ancestor
42188
- * Node type.
42189
- * @template {Node} Child
42190
- * Node type.
42191
- * @typedef {(
42192
- * Ancestor extends Parent
42193
- * ? Child extends Ancestor['children'][number]
42194
- * ? Ancestor
42195
- * : never
42196
- * : never
42197
- * )} ParentsOf
42198
- */
42199
-
42200
- /**
42201
- * @template {Node} [Visited=Node]
42202
- * Visited node type.
42203
- * @template {Parent} [Ancestor=Parent]
42204
- * Ancestor type.
42205
- * @callback Visitor
42206
- * Handle a node (matching `test`, if given).
42207
- *
42208
- * Visitors are free to transform `node`.
42209
- * They can also transform `parent`.
42210
- *
42211
- * Replacing `node` itself, if `SKIP` is not returned, still causes its
42212
- * descendants to be walked (which is a bug).
42213
- *
42214
- * When adding or removing previous siblings of `node` (or next siblings, in
42215
- * case of reverse), the `Visitor` should return a new `Index` to specify the
42216
- * sibling to traverse after `node` is traversed.
42217
- * Adding or removing next siblings of `node` (or previous siblings, in case
42218
- * of reverse) is handled as expected without needing to return a new `Index`.
42219
- *
42220
- * Removing the children property of `parent` still results in them being
42221
- * traversed.
42222
- * @param {Visited} node
42223
- * Found node.
42224
- * @param {Visited extends Node ? number | null : never} index
42225
- * Index of `node` in `parent`.
42226
- * @param {Ancestor extends Node ? Ancestor | null : never} parent
42227
- * Parent of `node`.
42228
- * @returns {VisitorResult}
42229
- * What to do next.
42230
- *
42231
- * An `Index` is treated as a tuple of `[CONTINUE, Index]`.
42232
- * An `Action` is treated as a tuple of `[Action]`.
42233
- *
42234
- * Passing a tuple back only makes sense if the `Action` is `SKIP`.
42235
- * When the `Action` is `EXIT`, that action can be returned.
42236
- * When the `Action` is `CONTINUE`, `Index` can be returned.
42237
- */
42238
-
42239
- /**
42240
- * Build a typed `Visitor` function from a node and all possible parents.
42241
- *
42242
- * It will infer which values are passed as `node` and which as `parent`.
42243
- *
42244
- * @template {Node} Visited
42245
- * Node type.
42246
- * @template {Parent} Ancestor
42247
- * Parent type.
42248
- * @typedef {Visitor<Visited, ParentsOf<Ancestor, Visited>>} BuildVisitorFromMatch
42249
- */
42250
-
42251
- /**
42252
- * Build a typed `Visitor` function from a list of descendants and a test.
42253
- *
42254
- * It will infer which values are passed as `node` and which as `parent`.
42255
- *
42256
- * @template {Node} Descendant
42257
- * Node type.
42258
- * @template {Test} Check
42259
- * Test type.
42260
- * @typedef {(
42261
- * BuildVisitorFromMatch<
42262
- * import('unist-util-visit-parents/complex-types.js').Matches<Descendant, Check>,
42263
- * Extract<Descendant, Parent>
42264
- * >
42265
- * )} BuildVisitorFromDescendants
42266
- */
42267
-
42268
- /**
42269
- * Build a typed `Visitor` function from a tree and a test.
42270
- *
42271
- * It will infer which values are passed as `node` and which as `parent`.
42272
- *
42273
- * @template {Node} [Tree=Node]
42274
- * Node type.
42275
- * @template {Test} [Check=string]
42276
- * Test type.
42277
- * @typedef {(
42278
- * BuildVisitorFromDescendants<
42279
- * import('unist-util-visit-parents/complex-types.js').InclusiveDescendant<Tree>,
42280
- * Check
42281
- * >
42282
- * )} BuildVisitor
42283
- */
42284
-
42285
-
42286
-
42287
- /**
42288
- * Visit nodes.
42289
- *
42290
- * This algorithm performs *depth-first* *tree traversal* in *preorder*
42291
- * (**NLR**) or if `reverse` is given, in *reverse preorder* (**NRL**).
42292
- *
42293
- * You can choose for which nodes `visitor` is called by passing a `test`.
42294
- * For complex tests, you should test yourself in `visitor`, as it will be
42295
- * faster and will have improved type information.
42296
- *
42297
- * Walking the tree is an intensive task.
42298
- * Make use of the return values of the visitor when possible.
42299
- * Instead of walking a tree multiple times, walk it once, use `unist-util-is`
42300
- * to check if a node matches, and then perform different operations.
42301
- *
42302
- * You can change the tree.
42303
- * See `Visitor` for more info.
42304
- *
42305
- * @param tree
42306
- * Tree to traverse.
42307
- * @param test
42308
- * `unist-util-is`-compatible test
42309
- * @param visitor
42310
- * Handle each node.
42311
- * @param reverse
42312
- * Traverse in reverse preorder (NRL) instead of the default preorder (NLR).
42313
- * @returns
42314
- * Nothing.
42315
- */
42316
- const lib_visit =
42317
- /**
42318
- * @type {(
42319
- * (<Tree extends Node, Check extends Test>(tree: Tree, test: Check, visitor: BuildVisitor<Tree, Check>, reverse?: boolean | null | undefined) => void) &
42320
- * (<Tree extends Node>(tree: Tree, visitor: BuildVisitor<Tree>, reverse?: boolean | null | undefined) => void)
42321
- * )}
42322
- */
42323
- (
42324
- /**
42325
- * @param {Node} tree
42326
- * @param {Test} test
42327
- * @param {Visitor} visitor
42328
- * @param {boolean | null | undefined} [reverse]
42329
- * @returns {void}
42330
- */
42331
- function (tree, test, visitor, reverse) {
42332
- if (typeof test === 'function' && typeof visitor !== 'function') {
42333
- reverse = visitor
42334
- visitor = test
42335
- test = null
42336
- }
42337
-
42338
- lib_visitParents(tree, test, overload, reverse)
42339
-
42340
- /**
42341
- * @param {Node} node
42342
- * @param {Array<Parent>} parents
42343
- */
42344
- function overload(node, parents) {
42345
- const parent = parents[parents.length - 1]
42346
- return visitor(
42347
- node,
42348
- parent ? parent.children.indexOf(node) : null,
42349
- parent
42350
- )
42351
- }
42352
- }
42353
- )
42354
-
42355
-
42356
-
42357
- ;// CONCATENATED MODULE: ../node_modules/rehype-prism-plus/node_modules/hast-util-to-string/index.js
42358
- /**
42359
- * @fileoverview
42360
- * Get the plain-text value of a hast node.
42361
- * @longdescription
42362
- * ## Use
42363
- *
42364
- * ```js
42365
- * import {h} from 'hastscript'
42366
- * import {toString} from 'hast-util-to-string'
42367
- *
42368
- * toString(h('p', 'Alpha'))
42369
- * //=> 'Alpha'
42370
- * toString(h('div', [h('b', 'Bold'), ' and ', h('i', 'italic'), '.']))
42371
- * //=> 'Bold and italic.'
42372
- * ```
42373
- *
42374
- * ## API
42375
- *
42376
- * ### `toString(node)`
42377
- *
42378
- * Transform a node to a string.
42379
- */
42380
-
42381
- /**
42382
- * @typedef {import('hast').Root} Root
42383
- * @typedef {import('hast').Element} Element
42384
- * @typedef {Root|Root['children'][number]} Node
42385
- */
42386
-
42387
- /**
42388
- * Get the plain-text value of a hast node.
42389
- *
42390
- * @param {Node} node
42391
- * @returns {string}
42392
- */
42393
- function hast_util_to_string_toString(node) {
42394
- // “The concatenation of data of all the Text node descendants of the context
42395
- // object, in tree order.”
42396
- if ('children' in node) {
42397
- return hast_util_to_string_all(node)
42398
- }
42399
-
42400
- // “Context object’s data.”
42401
- return 'value' in node ? node.value : ''
42402
- }
42403
-
42404
- /**
42405
- * @param {Node} node
42406
- * @returns {string}
42407
- */
42408
- function hast_util_to_string_one(node) {
42409
- if (node.type === 'text') {
42410
- return node.value
42411
- }
42412
-
42413
- return 'children' in node ? hast_util_to_string_all(node) : ''
42414
- }
42415
-
42416
- /**
42417
- * @param {Root|Element} node
42418
- * @returns {string}
42419
- */
42420
- function hast_util_to_string_all(node) {
42421
- let index = -1
42422
- /** @type {string[]} */
42423
- const result = []
42424
-
42425
- while (++index < node.children.length) {
42426
- result[index] = hast_util_to_string_one(node.children[index])
42427
- }
42428
-
42429
- return result.join('')
42430
- }
42431
-
42432
- ;// CONCATENATED MODULE: ../node_modules/unist-util-filter/node_modules/unist-util-is/lib/index.js
42433
- /**
42434
- * @typedef {import('unist').Node} Node
42435
- * @typedef {import('unist').Parent} Parent
42436
- */
42437
-
42438
- /**
42439
- * @typedef {Record<string, unknown>} Props
42440
- * @typedef {null | undefined | string | Props | TestFunctionAnything | Array<string | Props | TestFunctionAnything>} Test
42441
- * Check for an arbitrary node, unaware of TypeScript inferral.
42442
- *
42443
- * @callback TestFunctionAnything
42444
- * Check if a node passes a test, unaware of TypeScript inferral.
42445
- * @param {unknown} this
42446
- * The given context.
42447
- * @param {Node} node
42448
- * A node.
42449
- * @param {number | null | undefined} [index]
42450
- * The node’s position in its parent.
42451
- * @param {Parent | null | undefined} [parent]
42452
- * The node’s parent.
42453
- * @returns {boolean | void}
42454
- * Whether this node passes the test.
42455
- */
42456
-
42457
- /**
42458
- * @template {Node} Kind
42459
- * Node type.
42460
- * @typedef {Kind['type'] | Partial<Kind> | TestFunctionPredicate<Kind> | Array<Kind['type'] | Partial<Kind> | TestFunctionPredicate<Kind>>} PredicateTest
42461
- * Check for a node that can be inferred by TypeScript.
42462
- */
42463
-
42464
- /**
42465
- * Check if a node passes a certain test.
42466
- *
42467
- * @template {Node} Kind
42468
- * Node type.
42469
- * @callback TestFunctionPredicate
42470
- * Complex test function for a node that can be inferred by TypeScript.
42471
- * @param {Node} node
42472
- * A node.
42473
- * @param {number | null | undefined} [index]
42474
- * The node’s position in its parent.
42475
- * @param {Parent | null | undefined} [parent]
42476
- * The node’s parent.
42477
- * @returns {node is Kind}
42478
- * Whether this node passes the test.
42479
- */
42480
-
42481
- /**
42482
- * @callback AssertAnything
42483
- * Check that an arbitrary value is a node, unaware of TypeScript inferral.
42484
- * @param {unknown} [node]
42485
- * Anything (typically a node).
42486
- * @param {number | null | undefined} [index]
42487
- * The node’s position in its parent.
42488
- * @param {Parent | null | undefined} [parent]
42489
- * The node’s parent.
42490
- * @returns {boolean}
42491
- * Whether this is a node and passes a test.
42492
- */
42493
-
42494
- /**
42495
- * Check if a node is a node and passes a certain node test.
42496
- *
42497
- * @template {Node} Kind
42498
- * Node type.
42499
- * @callback AssertPredicate
42500
- * Check that an arbitrary value is a specific node, aware of TypeScript.
42501
- * @param {unknown} [node]
42502
- * Anything (typically a node).
42503
- * @param {number | null | undefined} [index]
42504
- * The node’s position in its parent.
42505
- * @param {Parent | null | undefined} [parent]
42506
- * The node’s parent.
42507
- * @returns {node is Kind}
42508
- * Whether this is a node and passes a test.
42509
- */
42510
-
42511
- /**
42512
- * Check if `node` is a `Node` and whether it passes the given test.
42513
- *
42514
- * @param node
42515
- * Thing to check, typically `Node`.
42516
- * @param test
42517
- * A check for a specific node.
42518
- * @param index
42519
- * The node’s position in its parent.
42520
- * @param parent
42521
- * The node’s parent.
42522
- * @returns
42523
- * Whether `node` is a node and passes a test.
42524
- */
42525
- const unist_util_is_lib_is =
42526
- /**
42527
- * @type {(
42528
- * (() => false) &
42529
- * (<Kind extends Node = Node>(node: unknown, test: PredicateTest<Kind>, index: number, parent: Parent, context?: unknown) => node is Kind) &
42530
- * (<Kind extends Node = Node>(node: unknown, test: PredicateTest<Kind>, index?: null | undefined, parent?: null | undefined, context?: unknown) => node is Kind) &
42531
- * ((node: unknown, test: Test, index: number, parent: Parent, context?: unknown) => boolean) &
42532
- * ((node: unknown, test?: Test, index?: null | undefined, parent?: null | undefined, context?: unknown) => boolean)
42533
- * )}
42534
- */
42535
- (
42536
- /**
42537
- * @param {unknown} [node]
42538
- * @param {Test} [test]
42539
- * @param {number | null | undefined} [index]
42540
- * @param {Parent | null | undefined} [parent]
42541
- * @param {unknown} [context]
42542
- * @returns {boolean}
42543
- */
42544
- // eslint-disable-next-line max-params
42545
- function is(node, test, index, parent, context) {
42546
- const check = unist_util_is_lib_convert(test)
42547
-
42548
- if (
42549
- index !== undefined &&
42550
- index !== null &&
42551
- (typeof index !== 'number' ||
42552
- index < 0 ||
42553
- index === Number.POSITIVE_INFINITY)
42554
- ) {
42555
- throw new Error('Expected positive finite index')
42556
- }
42557
-
42558
- if (
42559
- parent !== undefined &&
42560
- parent !== null &&
42561
- (!is(parent) || !parent.children)
42562
- ) {
42563
- throw new Error('Expected parent node')
42564
- }
42565
-
42566
- if (
42567
- (parent === undefined || parent === null) !==
42568
- (index === undefined || index === null)
42569
- ) {
42570
- throw new Error('Expected both parent and index')
42571
- }
42572
-
42573
- // @ts-expect-error Looks like a node.
42574
- return node && node.type && typeof node.type === 'string'
42575
- ? Boolean(check.call(context, node, index, parent))
42576
- : false
42577
- }
42578
- )
42579
-
42580
- /**
42581
- * Generate an assertion from a test.
42582
- *
42583
- * Useful if you’re going to test many nodes, for example when creating a
42584
- * utility where something else passes a compatible test.
42585
- *
42586
- * The created function is a bit faster because it expects valid input only:
42587
- * a `node`, `index`, and `parent`.
42588
- *
42589
- * @param test
42590
- * * when nullish, checks if `node` is a `Node`.
42591
- * * when `string`, works like passing `(node) => node.type === test`.
42592
- * * when `function` checks if function passed the node is true.
42593
- * * when `object`, checks that all keys in test are in node, and that they have (strictly) equal values.
42594
- * * when `array`, checks if any one of the subtests pass.
42595
- * @returns
42596
- * An assertion.
42597
- */
42598
- const unist_util_is_lib_convert =
42599
- /**
42600
- * @type {(
42601
- * (<Kind extends Node>(test: PredicateTest<Kind>) => AssertPredicate<Kind>) &
42602
- * ((test?: Test) => AssertAnything)
42603
- * )}
42604
- */
42605
- (
42606
- /**
42607
- * @param {Test} [test]
42608
- * @returns {AssertAnything}
42609
- */
42610
- function (test) {
42611
- if (test === undefined || test === null) {
42612
- return node_modules_unist_util_is_lib_ok
42613
- }
42614
-
42615
- if (typeof test === 'string') {
42616
- return unist_util_is_lib_typeFactory(test)
42617
- }
42618
-
42619
- if (typeof test === 'object') {
42620
- return Array.isArray(test) ? unist_util_is_lib_anyFactory(test) : unist_util_is_lib_propsFactory(test)
42621
- }
42622
-
42623
- if (typeof test === 'function') {
42624
- return unist_util_is_lib_castFactory(test)
42625
- }
42626
-
42627
- throw new Error('Expected function, string, or object as test')
42628
- }
42629
- )
42630
-
42631
- /**
42632
- * @param {Array<string | Props | TestFunctionAnything>} tests
42633
- * @returns {AssertAnything}
42634
- */
42635
- function unist_util_is_lib_anyFactory(tests) {
42636
- /** @type {Array<AssertAnything>} */
42637
- const checks = []
42638
- let index = -1
42639
-
42640
- while (++index < tests.length) {
42641
- checks[index] = unist_util_is_lib_convert(tests[index])
42642
- }
42643
-
42644
- return unist_util_is_lib_castFactory(any)
42645
-
42646
- /**
42647
- * @this {unknown}
42648
- * @param {Array<unknown>} parameters
42649
- * @returns {boolean}
42650
- */
42651
- function any(...parameters) {
42652
- let index = -1
42653
-
42654
- while (++index < checks.length) {
42655
- if (checks[index].call(this, ...parameters)) return true
42656
- }
42657
-
42658
- return false
42659
- }
42660
- }
42661
-
42662
- /**
42663
- * Turn an object into a test for a node with a certain fields.
42664
- *
42665
- * @param {Props} check
42666
- * @returns {AssertAnything}
42667
- */
42668
- function unist_util_is_lib_propsFactory(check) {
42669
- return unist_util_is_lib_castFactory(all)
42670
-
42671
- /**
42672
- * @param {Node} node
42673
- * @returns {boolean}
42674
- */
42675
- function all(node) {
42676
- /** @type {string} */
42677
- let key
42678
-
42679
- for (key in check) {
42680
- // @ts-expect-error: hush, it sure works as an index.
42681
- if (node[key] !== check[key]) return false
42682
- }
42683
-
42684
- return true
42685
- }
42686
- }
42687
-
42688
- /**
42689
- * Turn a string into a test for a node with a certain type.
42690
- *
42691
- * @param {string} check
42692
- * @returns {AssertAnything}
42693
- */
42694
- function unist_util_is_lib_typeFactory(check) {
42695
- return unist_util_is_lib_castFactory(type)
42696
-
42697
- /**
42698
- * @param {Node} node
42699
- */
42700
- function type(node) {
42701
- return node && node.type === check
42702
- }
42703
- }
42704
-
42705
- /**
42706
- * Turn a custom test into a test for a node that passes that test.
42707
- *
42708
- * @param {TestFunctionAnything} check
42709
- * @returns {AssertAnything}
42710
- */
42711
- function unist_util_is_lib_castFactory(check) {
42712
- return assertion
42713
-
42714
- /**
42715
- * @this {unknown}
42716
- * @param {unknown} node
42717
- * @param {Array<unknown>} parameters
42718
- * @returns {boolean}
42719
- */
42720
- function assertion(node, ...parameters) {
42721
- return Boolean(
42722
- node &&
42723
- typeof node === 'object' &&
42724
- 'type' in node &&
42725
- // @ts-expect-error: fine.
42726
- Boolean(check.call(this, node, ...parameters))
42727
- )
42728
- }
42729
- }
42730
-
42731
- function node_modules_unist_util_is_lib_ok() {
42732
- return true
42733
- }
42734
-
42735
- ;// CONCATENATED MODULE: ../node_modules/unist-util-filter/lib/index.js
42736
- /**
42737
- * @typedef {import('unist').Node} Node
42738
- * @typedef {import('unist').Parent} Parent
42739
- * @typedef {import('unist-util-is').Test} Test
42740
- *
42741
- * @typedef Options
42742
- * Configuration (optional).
42743
- * @property {boolean | null | undefined} [cascade=true]
42744
- * Whether to drop parent nodes if they had children, but all their children
42745
- * were filtered out.
42746
- */
42747
-
42748
-
42749
-
42750
- const unist_util_filter_lib_own = {}.hasOwnProperty
42751
-
42752
- /**
42753
- * Create a new `tree` of copies of all nodes that pass `test`.
42754
- *
42755
- * The tree is walked in *preorder* (NLR), visiting the node itself, then its
42756
- * head, etc.
42757
- *
42758
- * @param tree
42759
- * Tree to filter.
42760
- * @param options
42761
- * Configuration (optional).
42762
- * @param test
42763
- * `unist-util-is` compatible test.
42764
- * @returns
42765
- * New filtered tree.
42766
- *
42767
- * `null` is returned if `tree` itself didn’t pass the test, or is cascaded
42768
- * away.
42769
- */
42770
- const filter =
42771
- /**
42772
- * @type {(
42773
- * (<Tree extends Node, Check extends Test>(node: Tree, options: Options | null | undefined, test: Check | null | undefined) => import('./complex-types.js').Matches<Tree, Check>) &
42774
- * (<Tree extends Node, Check extends Test>(node: Tree, test: Check) => import('./complex-types.js').Matches<Tree, Check>) &
42775
- * (<Tree extends Node>(node: Tree, options?: Options | null | undefined) => Tree)
42776
- * )}
42777
- */
42778
- (
42779
- /**
42780
- * @param {Node} tree
42781
- * @param {Options | Test | null | undefined} [options]
42782
- * @param {Test | null | undefined} [test]
42783
- * @returns {Node | null}
42784
- */
42785
- function (tree, options, test) {
42786
- const is = unist_util_is_lib_convert(test || options)
42787
- /** @type {boolean | null | undefined} */
42788
- const cascadeRaw =
42789
- options && typeof options === 'object' && 'cascade' in options
42790
- ? /** @type {boolean | null | undefined} */ (options.cascade)
42791
- : undefined
42792
- const cascade =
42793
- cascadeRaw === undefined || cascadeRaw === null ? true : cascadeRaw
42794
-
42795
- return preorder(tree)
42796
-
42797
- /**
42798
- * @param {Node} node
42799
- * Current node.
42800
- * @param {number | undefined} [index]
42801
- * Index of `node` in `parent`.
42802
- * @param {Parent | undefined} [parent]
42803
- * Parent node.
42804
- * @returns {Node | null}
42805
- * Shallow copy of `node`.
42806
- */
42807
- function preorder(node, index, parent) {
42808
- /** @type {Array<Node>} */
42809
- const children = []
42810
-
42811
- if (!is(node, index, parent)) return null
42812
-
42813
- // @ts-expect-error: Looks like a parent.
42814
- if (node.children) {
42815
- let childIndex = -1
42816
-
42817
- // @ts-expect-error Looks like a parent.
42818
- while (++childIndex < node.children.length) {
42819
- // @ts-expect-error Looks like a parent.
42820
- const result = preorder(node.children[childIndex], childIndex, node)
42821
-
42822
- if (result) {
42823
- children.push(result)
42824
- }
42825
- }
42826
-
42827
- // @ts-expect-error Looks like a parent.
42828
- if (cascade && node.children.length > 0 && children.length === 0)
42829
- return null
42830
- }
42831
-
42832
- // Create a shallow clone, using the new children.
42833
- /** @type {typeof node} */
42834
- // @ts-expect-error all the fields will be copied over.
42835
- const next = {}
42836
- /** @type {string} */
42837
- let key
42838
-
42839
- for (key in node) {
42840
- if (unist_util_filter_lib_own.call(node, key)) {
42841
- // @ts-expect-error: Looks like a record.
42842
- next[key] = key === 'children' ? children : node[key]
42843
- }
42844
- }
42845
-
42846
- return next
42847
- }
42848
- }
42849
- )
42850
-
42851
- // EXTERNAL MODULE: ../node_modules/parse-numeric-range/index.js
42852
- var parse_numeric_range = __webpack_require__(324);
42853
- ;// CONCATENATED MODULE: ../node_modules/refractor/lang/clike.js
42854
- // @ts-nocheck
42855
- clike.displayName = 'clike'
42856
- clike.aliases = []
42857
-
42858
- /** @type {import('../core.js').Syntax} */
42859
- function clike(Prism) {
42860
- Prism.languages.clike = {
42861
- comment: [
42862
- {
42863
- pattern: /(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,
42864
- lookbehind: true,
42865
- greedy: true
42866
- },
42867
- {
42868
- pattern: /(^|[^\\:])\/\/.*/,
42869
- lookbehind: true,
42870
- greedy: true
42871
- }
42872
- ],
42873
- string: {
42874
- pattern: /(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,
42875
- greedy: true
42876
- },
42877
- 'class-name': {
42878
- pattern:
42879
- /(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,
42880
- lookbehind: true,
42881
- inside: {
42882
- punctuation: /[.\\]/
42883
- }
42884
- },
42885
- keyword:
42886
- /\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,
42887
- boolean: /\b(?:false|true)\b/,
42888
- function: /\b\w+(?=\()/,
42889
- number: /\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,
42890
- operator: /[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,
42891
- punctuation: /[{}[\];(),.:]/
42892
- }
42893
- }
42894
-
42895
- ;// CONCATENATED MODULE: ../node_modules/refractor/lang/c.js
42896
- // @ts-nocheck
42897
-
42898
- c.displayName = 'c'
42899
- c.aliases = []
41879
+ c.displayName = 'c'
41880
+ c.aliases = []
42900
41881
 
42901
41882
  /** @type {import('../core.js').Syntax} */
42902
41883
  function c(Prism) {
@@ -70175,7 +69156,7 @@ refractor.register(zig)
70175
69156
 
70176
69157
 
70177
69158
  ;// CONCATENATED MODULE: ../node_modules/rehype-prism-plus/dist/index.es.js
70178
- function a(){a=function(e,r){return new t(e,void 0,r)};var e=RegExp.prototype,r=new WeakMap;function t(e,n,i){var o=new RegExp(e,n);return r.set(o,i||r.get(e)),l(o,t.prototype)}function n(e,t){var n=r.get(t);return Object.keys(n).reduce(function(r,t){var i=n[t];if("number"==typeof i)r[t]=e[i];else{for(var o=0;void 0===e[i[o]]&&o+1<i.length;)o++;r[t]=e[i[o]]}return r},Object.create(null))}return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(r&&r.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),r&&l(e,r)}(t,RegExp),t.prototype.exec=function(r){var t=e.exec.call(this,r);if(t){t.groups=n(t,this);var i=t.indices;i&&(i.groups=n(i,this))}return t},t.prototype[Symbol.replace]=function(t,i){if("string"==typeof i){var o=r.get(this);return e[Symbol.replace].call(this,t,i.replace(/\$<([^>]+)>/g,function(e,r){var t=o[r];return"$"+(Array.isArray(t)?t.join("$"):t)}))}if("function"==typeof i){var a=this;return e[Symbol.replace].call(this,t,function(){var e=arguments;return"object"!=typeof e[e.length-1]&&(e=[].slice.call(e)).push(n(e,a)),i.apply(this,e)})}return e[Symbol.replace].call(this,t,i)},a.apply(this,arguments)}function l(e,r){return l=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,r){return e.__proto__=r,e},l(e,r)}function index_es_s(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function u(e,r){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(t)return(t=t.call(e)).next.bind(t);if(Array.isArray(e)||(t=function(e,r){if(e){if("string"==typeof e)return index_es_s(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?index_es_s(e,r):void 0}}(e))||r&&e&&"number"==typeof e.length){t&&(e=t);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}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 index_es_c=function(i){return function(o){return void 0===o&&(o={}),function(e,r){if(r&&!e.registered(r))throw new Error('The default language "'+r+'" is not registered with refractor.')}(i,o.defaultLanguage),function(r){lib_visit(r,"element",l)};function l(e,l,s){var c,p;if(s&&"pre"===s.tagName&&"code"===e.tagName){var f=(null==e||null==(c=e.data)?void 0:c.meta)||(null==e||null==(p=e.properties)?void 0:p.metastring)||"";e.properties.className?"boolean"==typeof e.properties.className?e.properties.className=[]:Array.isArray(e.properties.className)||(e.properties.className=[e.properties.className]):e.properties.className=[];var m,h,d=function(e){for(var r,t=u(e.properties.className);!(r=t()).done;){var n=r.value;if("language-"===n.slice(0,9))return n.slice(9).toLowerCase()}return null}(e);if(!d&&o.defaultLanguage&&e.properties.className.push("language-"+(d=o.defaultLanguage)),e.properties.className.push("code-highlight"),d)try{var g,v;v=null!=(g=d)&&g.includes("diff-")?d.split("-")[1]:d,m=i.highlight(hast_util_to_string_toString(e),v),s.properties.className=(s.properties.className||[]).concat("language-"+v)}catch(r){if(!o.ignoreMissing||!/Unknown language/.test(r.message))throw r;m=e}else m=e;m.children=(h=1,function e(r){return r.reduce(function(r,t){if("text"===t.type){var n=t.value,i=(n.match(/\n/g)||"").length;if(0===i)t.position={start:{line:h,column:1},end:{line:h,column:1}},r.push(t);else for(var o,a=n.split("\n"),l=u(a.entries());!(o=l()).done;){var s=o.value,c=s[0],p=s[1];r.push({type:"text",value:c===a.length-1?p:p+"\n",position:{start:{line:h+c,column:1},end:{line:h+c,column:1}}})}return h+=i,r}if(Object.prototype.hasOwnProperty.call(t,"children")){var f=h;return t.children=e(t.children),r.push(t),t.position={start:{line:f,column:1},end:{line:h,column:1}},r}return r.push(t),r},[])})(m.children),m.position=m.children.length>0?{start:{line:m.children[0].position.start.line,column:0},end:{line:m.children[m.children.length-1].position.end.line,column:0}}:{start:{line:0,column:0},end:{line:0,column:0}};for(var y,b=function(e){var r=/{([\d,-]+)}/,t=e.split(",").map(function(e){return e.trim()}).join();if(r.test(t)){var i=r.exec(t)[1],o=parse_numeric_range(i);return function(e){return o.includes(e+1)}}return function(){return!1}}(f),w=function(e){var r=/*#__PURE__*/a(/showLineNumbers=(\d+)/i,{lines:1});if(r.test(e)){var t=r.exec(e);return Number(t.groups.lines)}return 1}(f),N=function(e){for(var r=new Array(e),t=0;t<e;t++)r[t]={type:"element",tagName:"span",properties:{className:[]},children:[]};return r}(m.position.end.line),j=["showlinenumbers=false",'showlinenumbers="false"',"showlinenumbers={false}"],x=function(){var e,n,i=y.value,a=i[0],l=i[1];l.properties.className=["code-line"];var s=filter(m,function(e){return e.position.start.line<=a+1&&e.position.end.line>=a+1});l.children=s.children,!f.toLowerCase().includes("showLineNumbers".toLowerCase())&&!o.showLineNumbers||j.some(function(e){return f.toLowerCase().includes(e)})||(l.properties.line=[(a+w).toString()],l.properties.className.push("line-number")),b(a)&&l.properties.className.push("highlight-line"),("diff"===d||null!=(e=d)&&e.includes("diff-"))&&"-"===hast_util_to_string_toString(l).substring(0,1)?l.properties.className.push("deleted"):("diff"===d||null!=(n=d)&&n.includes("diff-"))&&"+"===hast_util_to_string_toString(l).substring(0,1)&&l.properties.className.push("inserted")},O=u(N.entries());!(y=O()).done;)x();N.length>0&&""===hast_util_to_string_toString(N[N.length-1]).trim()&&N.pop(),e.children=N}}}},p=index_es_c(refractor),f=index_es_c(refractor);
69159
+ function a(){a=function(e,r){return new t(e,void 0,r)};var e=RegExp.prototype,r=new WeakMap;function t(e,n,i){var o=new RegExp(e,n);return r.set(o,i||r.get(e)),l(o,t.prototype)}function n(e,t){var n=r.get(t);return Object.keys(n).reduce(function(r,t){var i=n[t];if("number"==typeof i)r[t]=e[i];else{for(var o=0;void 0===e[i[o]]&&o+1<i.length;)o++;r[t]=e[i[o]]}return r},Object.create(null))}return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(r&&r.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),r&&l(e,r)}(t,RegExp),t.prototype.exec=function(r){var t=e.exec.call(this,r);if(t){t.groups=n(t,this);var i=t.indices;i&&(i.groups=n(i,this))}return t},t.prototype[Symbol.replace]=function(t,i){if("string"==typeof i){var o=r.get(this);return e[Symbol.replace].call(this,t,i.replace(/\$<([^>]+)>/g,function(e,r){var t=o[r];return"$"+(Array.isArray(t)?t.join("$"):t)}))}if("function"==typeof i){var a=this;return e[Symbol.replace].call(this,t,function(){var e=arguments;return"object"!=typeof e[e.length-1]&&(e=[].slice.call(e)).push(n(e,a)),i.apply(this,e)})}return e[Symbol.replace].call(this,t,i)},a.apply(this,arguments)}function l(e,r){return l=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,r){return e.__proto__=r,e},l(e,r)}function index_es_s(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function u(e,r){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(t)return(t=t.call(e)).next.bind(t);if(Array.isArray(e)||(t=function(e,r){if(e){if("string"==typeof e)return index_es_s(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?index_es_s(e,r):void 0}}(e))||r&&e&&"number"==typeof e.length){t&&(e=t);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}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 index_es_c=function(i){return function(o){return void 0===o&&(o={}),function(e,r){if(r&&!e.registered(r))throw new Error('The default language "'+r+'" is not registered with refractor.')}(i,o.defaultLanguage),function(r){visit(r,"element",l)};function l(e,l,s){var c,p;if(s&&"pre"===s.tagName&&"code"===e.tagName){var f=(null==e||null==(c=e.data)?void 0:c.meta)||(null==e||null==(p=e.properties)?void 0:p.metastring)||"";e.properties.className?"boolean"==typeof e.properties.className?e.properties.className=[]:Array.isArray(e.properties.className)||(e.properties.className=[e.properties.className]):e.properties.className=[];var m,h,d=function(e){for(var r,t=u(e.properties.className);!(r=t()).done;){var n=r.value;if("language-"===n.slice(0,9))return n.slice(9).toLowerCase()}return null}(e);if(!d&&o.defaultLanguage&&e.properties.className.push("language-"+(d=o.defaultLanguage)),e.properties.className.push("code-highlight"),d)try{var g,v;v=null!=(g=d)&&g.includes("diff-")?d.split("-")[1]:d,m=i.highlight(hast_util_to_string_lib_toString(e),v),s.properties.className=(s.properties.className||[]).concat("language-"+v)}catch(r){if(!o.ignoreMissing||!/Unknown language/.test(r.message))throw r;m=e}else m=e;m.children=(h=1,function e(r){return r.reduce(function(r,t){if("text"===t.type){var n=t.value,i=(n.match(/\n/g)||"").length;if(0===i)t.position={start:{line:h,column:1},end:{line:h,column:1}},r.push(t);else for(var o,a=n.split("\n"),l=u(a.entries());!(o=l()).done;){var s=o.value,c=s[0],p=s[1];r.push({type:"text",value:c===a.length-1?p:p+"\n",position:{start:{line:h+c,column:1},end:{line:h+c,column:1}}})}return h+=i,r}if(Object.prototype.hasOwnProperty.call(t,"children")){var f=h;return t.children=e(t.children),r.push(t),t.position={start:{line:f,column:1},end:{line:h,column:1}},r}return r.push(t),r},[])})(m.children),m.position=m.children.length>0?{start:{line:m.children[0].position.start.line,column:0},end:{line:m.children[m.children.length-1].position.end.line,column:0}}:{start:{line:0,column:0},end:{line:0,column:0}};for(var y,b=function(e){var r=/{([\d,-]+)}/,t=e.split(",").map(function(e){return e.trim()}).join();if(r.test(t)){var i=r.exec(t)[1],o=parse_numeric_range(i);return function(e){return o.includes(e+1)}}return function(){return!1}}(f),w=function(e){var r=/*#__PURE__*/a(/showLineNumbers=(\d+)/i,{lines:1});if(r.test(e)){var t=r.exec(e);return Number(t.groups.lines)}return 1}(f),N=function(e){for(var r=new Array(e),t=0;t<e;t++)r[t]={type:"element",tagName:"span",properties:{className:[]},children:[]};return r}(m.position.end.line),j=["showlinenumbers=false",'showlinenumbers="false"',"showlinenumbers={false}"],x=function(){var e,n,i=y.value,a=i[0],l=i[1];l.properties.className=["code-line"];var s=filter(m,function(e){return e.position.start.line<=a+1&&e.position.end.line>=a+1});l.children=s.children,!f.toLowerCase().includes("showLineNumbers".toLowerCase())&&!o.showLineNumbers||j.some(function(e){return f.toLowerCase().includes(e)})||(l.properties.line=[(a+w).toString()],l.properties.className.push("line-number")),b(a)&&l.properties.className.push("highlight-line"),("diff"===d||null!=(e=d)&&e.includes("diff-"))&&"-"===hast_util_to_string_lib_toString(l).substring(0,1)?l.properties.className.push("deleted"):("diff"===d||null!=(n=d)&&n.includes("diff-"))&&"+"===hast_util_to_string_lib_toString(l).substring(0,1)&&l.properties.className.push("inserted")},O=u(N.entries());!(y=O()).done;)x();N.length>0&&""===hast_util_to_string_lib_toString(N[N.length-1]).trim()&&N.pop(),e.children=N}}}},p=index_es_c(refractor),f=index_es_c(refractor);
70179
69160
  //# sourceMappingURL=index.es.js.map
70180
69161
 
70181
69162
  ;// CONCATENATED MODULE: ../node_modules/css-selector-parser/dist/mjs/indexes.js
@@ -70864,6 +69845,9 @@ function createParser(options) {
70864
69845
  result += chr;
70865
69846
  next();
70866
69847
  }
69848
+ if (result === '-' && !isIdent(chr) && !is('\\')) {
69849
+ fail('Identifiers cannot consist of a single hyphen.');
69850
+ }
70867
69851
  if (strict && result.length >= 2) {
70868
69852
  // Checking this only for strict mode since browsers work fine with these identifiers.
70869
69853
  fail('Identifiers cannot start with two hyphens with strict mode on.');
@@ -71644,63 +70628,6 @@ function direction(value) {
71644
70628
  return rtl.test(source) ? 'rtl' : ltr.test(source) ? 'ltr' : 'neutral'
71645
70629
  }
71646
70630
 
71647
- ;// CONCATENATED MODULE: ../node_modules/hast-util-to-string/lib/index.js
71648
- /**
71649
- * @typedef {import('hast').Nodes} Nodes
71650
- * @typedef {import('hast').Parents} Parents
71651
- */
71652
-
71653
- /**
71654
- * Get the plain-text value of a hast node.
71655
- *
71656
- * @param {Nodes} node
71657
- * Node to serialize.
71658
- * @returns {string}
71659
- * Serialized node.
71660
- */
71661
- function hast_util_to_string_lib_toString(node) {
71662
- // “The concatenation of data of all the Text node descendants of the context
71663
- // object, in tree order.”
71664
- if ('children' in node) {
71665
- return hast_util_to_string_lib_all(node)
71666
- }
71667
-
71668
- // “Context object’s data.”
71669
- return 'value' in node ? node.value : ''
71670
- }
71671
-
71672
- /**
71673
- * @param {Nodes} node
71674
- * Node.
71675
- * @returns {string}
71676
- * Serialized node.
71677
- */
71678
- function hast_util_to_string_lib_one(node) {
71679
- if (node.type === 'text') {
71680
- return node.value
71681
- }
71682
-
71683
- return 'children' in node ? hast_util_to_string_lib_all(node) : ''
71684
- }
71685
-
71686
- /**
71687
- * @param {Parents} node
71688
- * Node.
71689
- * @returns {string}
71690
- * Serialized node.
71691
- */
71692
- function hast_util_to_string_lib_all(node) {
71693
- let index = -1
71694
- /** @type {Array<string>} */
71695
- const result = []
71696
-
71697
- while (++index < node.children.length) {
71698
- result[index] = hast_util_to_string_lib_one(node.children[index])
71699
- }
71700
-
71701
- return result.join('')
71702
- }
71703
-
71704
70631
  ;// CONCATENATED MODULE: ../node_modules/hast-util-select/lib/enter-state.js
71705
70632
  /**
71706
70633
  * @typedef {import('hast').ElementContent} ElementContent
@@ -72405,7 +71332,7 @@ function esm_parse_parse(formula) {
72405
71332
  }
72406
71333
  //# sourceMappingURL=parse.js.map
72407
71334
  // EXTERNAL MODULE: ../node_modules/boolbase/index.js
72408
- var boolbase = __webpack_require__(377);
71335
+ var boolbase = __webpack_require__(740);
72409
71336
  ;// CONCATENATED MODULE: ../node_modules/nth-check/lib/esm/compile.js
72410
71337
 
72411
71338
  /**
@@ -74394,11 +73321,11 @@ const convertElement =
74394
73321
 
74395
73322
  // Assume array.
74396
73323
  if (typeof test === 'object') {
74397
- return hast_util_is_element_lib_anyFactory(test)
73324
+ return lib_anyFactory(test)
74398
73325
  }
74399
73326
 
74400
73327
  if (typeof test === 'function') {
74401
- return hast_util_is_element_lib_castFactory(test)
73328
+ return lib_castFactory(test)
74402
73329
  }
74403
73330
 
74404
73331
  throw new Error('Expected function, string, or array as `test`')
@@ -74411,7 +73338,7 @@ const convertElement =
74411
73338
  * @param {Array<TestFunction | string>} tests
74412
73339
  * @returns {Check}
74413
73340
  */
74414
- function hast_util_is_element_lib_anyFactory(tests) {
73341
+ function lib_anyFactory(tests) {
74415
73342
  /** @type {Array<Check>} */
74416
73343
  const checks = []
74417
73344
  let index = -1
@@ -74420,7 +73347,7 @@ function hast_util_is_element_lib_anyFactory(tests) {
74420
73347
  checks[index] = convertElement(tests[index])
74421
73348
  }
74422
73349
 
74423
- return hast_util_is_element_lib_castFactory(any)
73350
+ return lib_castFactory(any)
74424
73351
 
74425
73352
  /**
74426
73353
  * @this {unknown}
@@ -74444,7 +73371,7 @@ function hast_util_is_element_lib_anyFactory(tests) {
74444
73371
  * @returns {Check}
74445
73372
  */
74446
73373
  function tagNameFactory(check) {
74447
- return hast_util_is_element_lib_castFactory(tagName)
73374
+ return lib_castFactory(tagName)
74448
73375
 
74449
73376
  /**
74450
73377
  * @param {Element} element
@@ -74461,7 +73388,7 @@ function tagNameFactory(check) {
74461
73388
  * @param {TestFunction} testFunction
74462
73389
  * @returns {Check}
74463
73390
  */
74464
- function hast_util_is_element_lib_castFactory(testFunction) {
73391
+ function lib_castFactory(testFunction) {
74465
73392
  return check
74466
73393
 
74467
73394
  /**
@@ -74951,13 +73878,13 @@ var defaultRehypePlugins = [rehypeSlug, rehypeAutolinkHeadings, rehype_ignore_li
74951
73878
 
74952
73879
  /* harmony default export */ const react_markdown_preview_esm = (/*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().forwardRef((props, ref) => {
74953
73880
  var _props$disableCopy;
74954
- var rehypePlugins = [reservedMeta, rehypeRaw, retrieveMeta, [f, {
74955
- ignoreMissing: true
74956
- }], ...defaultRehypePlugins, [lib, {
73881
+ var rehypePlugins = [reservedMeta, rehypeRaw, retrieveMeta, ...defaultRehypePlugins, [lib, {
74957
73882
  rewrite: rehypeRewriteHandle((_props$disableCopy = props.disableCopy) != null ? _props$disableCopy : false, props.rehypeRewrite)
74958
73883
  }], [rehype_attr_lib, {
74959
73884
  properties: 'attr'
74960
- }], ...(props.rehypePlugins || [])];
73885
+ }], ...(props.rehypePlugins || []), [f, {
73886
+ ignoreMissing: true
73887
+ }]];
74961
73888
  return /*#__PURE__*/(0,jsx_runtime.jsx)(preview, _extends({}, props, {
74962
73889
  rehypePlugins: rehypePlugins,
74963
73890
  ref: ref