@readme/markdown 14.2.6 → 14.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/Embed/index.tsx +24 -4
- package/components/Image/index.tsx +45 -23
- package/components/Image/style.scss +33 -0
- package/components/Tabs/index.tsx +5 -3
- package/components/TailwindStyle/index.tsx +19 -6
- package/dist/components/Embed/index.d.ts +2 -2
- package/dist/components/Image/index.d.ts +1 -0
- package/dist/components/Tabs/index.d.ts +1 -1
- package/dist/main.css +1 -1
- package/dist/main.css.map +1 -1
- package/dist/main.js +722 -196
- package/dist/main.node.js +752 -196
- package/dist/main.node.js.map +1 -1
- package/dist/processor/transform/mdxish/evaluate-exports.d.ts +27 -0
- package/dist/processor/transform/mdxish/evaluate-expressions.d.ts +4 -3
- package/dist/processor/transform/mdxish/tables/tag-walker.d.ts +4 -0
- package/dist/processor/transform/mdxish/tables/utils.d.ts +1 -0
- package/dist/processor/transform/mdxish/terminate-html-flow-blocks.d.ts +8 -7
- package/dist/processor/utils.d.ts +10 -2
- package/package.json +7 -2
- package/types.d.ts +1 -0
package/dist/main.node.js
CHANGED
|
@@ -15060,6 +15060,248 @@ process.chdir = function (dir) {
|
|
|
15060
15060
|
process.umask = function() { return 0; };
|
|
15061
15061
|
|
|
15062
15062
|
|
|
15063
|
+
/***/ }),
|
|
15064
|
+
|
|
15065
|
+
/***/ 6711:
|
|
15066
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
15067
|
+
|
|
15068
|
+
"use strict";
|
|
15069
|
+
/**
|
|
15070
|
+
* @license React
|
|
15071
|
+
* react-dom-server-legacy.node.production.min.js
|
|
15072
|
+
*
|
|
15073
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
15074
|
+
*
|
|
15075
|
+
* This source code is licensed under the MIT license found in the
|
|
15076
|
+
* LICENSE file in the root directory of this source tree.
|
|
15077
|
+
*/
|
|
15078
|
+
var ea=__webpack_require__(4953),fa=__webpack_require__(2203),n=Object.prototype.hasOwnProperty,ha=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,ia={},ja={};
|
|
15079
|
+
function ka(a){if(n.call(ja,a))return!0;if(n.call(ia,a))return!1;if(ha.test(a))return ja[a]=!0;ia[a]=!0;return!1}function q(a,b,c,d,f,e,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=f;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=e;this.removeEmptyString=g}var r={};
|
|
15080
|
+
"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(a){r[a]=new q(a,0,!1,a,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(a){var b=a[0];r[b]=new q(b,1,!1,a[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(a){r[a]=new q(a,2,!1,a.toLowerCase(),null,!1,!1)});
|
|
15081
|
+
["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(a){r[a]=new q(a,2,!1,a,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(a){r[a]=new q(a,3,!1,a.toLowerCase(),null,!1,!1)});
|
|
15082
|
+
["checked","multiple","muted","selected"].forEach(function(a){r[a]=new q(a,3,!0,a,null,!1,!1)});["capture","download"].forEach(function(a){r[a]=new q(a,4,!1,a,null,!1,!1)});["cols","rows","size","span"].forEach(function(a){r[a]=new q(a,6,!1,a,null,!1,!1)});["rowSpan","start"].forEach(function(a){r[a]=new q(a,5,!1,a.toLowerCase(),null,!1,!1)});var la=/[\-:]([a-z])/g;function ma(a){return a[1].toUpperCase()}
|
|
15083
|
+
"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(a){var b=a.replace(la,
|
|
15084
|
+
ma);r[b]=new q(b,1,!1,a,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(a){var b=a.replace(la,ma);r[b]=new q(b,1,!1,a,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(a){var b=a.replace(la,ma);r[b]=new q(b,1,!1,a,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(a){r[a]=new q(a,1,!1,a.toLowerCase(),null,!1,!1)});
|
|
15085
|
+
r.xlinkHref=new q("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(a){r[a]=new q(a,1,!1,a.toLowerCase(),null,!0,!0)});
|
|
15086
|
+
var t={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,
|
|
15087
|
+
fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},na=["Webkit","ms","Moz","O"];Object.keys(t).forEach(function(a){na.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);t[b]=t[a]})});var oa=/["'&<>]/;
|
|
15088
|
+
function u(a){if("boolean"===typeof a||"number"===typeof a)return""+a;a=""+a;var b=oa.exec(a);if(b){var c="",d,f=0;for(d=b.index;d<a.length;d++){switch(a.charCodeAt(d)){case 34:b=""";break;case 38:b="&";break;case 39:b="'";break;case 60:b="<";break;case 62:b=">";break;default:continue}f!==d&&(c+=a.substring(f,d));f=d+1;c+=b}a=f!==d?c+a.substring(f,d):c}return a}var pa=/([A-Z])/g,qa=/^ms-/,ra=Array.isArray;function v(a,b){return{insertionMode:a,selectedValue:b}}
|
|
15089
|
+
function sa(a,b,c){switch(b){case "select":return v(1,null!=c.value?c.value:c.defaultValue);case "svg":return v(2,null);case "math":return v(3,null);case "foreignObject":return v(1,null);case "table":return v(4,null);case "thead":case "tbody":case "tfoot":return v(5,null);case "colgroup":return v(7,null);case "tr":return v(6,null)}return 4<=a.insertionMode||0===a.insertionMode?v(1,null):a}var ta=new Map;
|
|
15090
|
+
function ua(a,b,c){if("object"!==typeof c)throw Error("The `style` prop expects a mapping from style properties to values, not a string. For example, style={{marginRight: spacing + 'em'}} when using JSX.");b=!0;for(var d in c)if(n.call(c,d)){var f=c[d];if(null!=f&&"boolean"!==typeof f&&""!==f){if(0===d.indexOf("--")){var e=u(d);f=u((""+f).trim())}else{e=d;var g=ta.get(e);void 0!==g?e=g:(g=u(e.replace(pa,"-$1").toLowerCase().replace(qa,"-ms-")),ta.set(e,g),e=g);f="number"===typeof f?0===f||n.call(t,
|
|
15091
|
+
d)?""+f:f+"px":u((""+f).trim())}b?(b=!1,a.push(' style="',e,":",f)):a.push(";",e,":",f)}}b||a.push('"')}
|
|
15092
|
+
function w(a,b,c,d){switch(c){case "style":ua(a,b,d);return;case "defaultValue":case "defaultChecked":case "innerHTML":case "suppressContentEditableWarning":case "suppressHydrationWarning":return}if(!(2<c.length)||"o"!==c[0]&&"O"!==c[0]||"n"!==c[1]&&"N"!==c[1])if(b=r.hasOwnProperty(c)?r[c]:null,null!==b){switch(typeof d){case "function":case "symbol":return;case "boolean":if(!b.acceptsBooleans)return}c=b.attributeName;switch(b.type){case 3:d&&a.push(" ",c,'=""');break;case 4:!0===d?a.push(" ",c,'=""'):
|
|
15093
|
+
!1!==d&&a.push(" ",c,'="',u(d),'"');break;case 5:isNaN(d)||a.push(" ",c,'="',u(d),'"');break;case 6:!isNaN(d)&&1<=d&&a.push(" ",c,'="',u(d),'"');break;default:b.sanitizeURL&&(d=""+d),a.push(" ",c,'="',u(d),'"')}}else if(ka(c)){switch(typeof d){case "function":case "symbol":return;case "boolean":if(b=c.toLowerCase().slice(0,5),"data-"!==b&&"aria-"!==b)return}a.push(" ",c,'="',u(d),'"')}}
|
|
15094
|
+
function x(a,b,c){if(null!=b){if(null!=c)throw Error("Can only set one of `children` or `props.dangerouslySetInnerHTML`.");if("object"!==typeof b||!("__html"in b))throw Error("`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://reactjs.org/link/dangerously-set-inner-html for more information.");b=b.__html;null!==b&&void 0!==b&&a.push(""+b)}}function va(a){var b="";ea.Children.forEach(a,function(a){null!=a&&(b+=a)});return b}
|
|
15095
|
+
function wa(a,b,c,d){a.push(z(c));var f=c=null,e;for(e in b)if(n.call(b,e)){var g=b[e];if(null!=g)switch(e){case "children":c=g;break;case "dangerouslySetInnerHTML":f=g;break;default:w(a,d,e,g)}}a.push(">");x(a,f,c);return"string"===typeof c?(a.push(u(c)),null):c}var xa=/^[a-zA-Z][a-zA-Z:_\.\-\d]*$/,ya=new Map;function z(a){var b=ya.get(a);if(void 0===b){if(!xa.test(a))throw Error("Invalid tag: "+a);b="<"+a;ya.set(a,b)}return b}
|
|
15096
|
+
function za(a,b,c,d,f){switch(b){case "select":a.push(z("select"));var e=null,g=null;for(l in c)if(n.call(c,l)){var h=c[l];if(null!=h)switch(l){case "children":e=h;break;case "dangerouslySetInnerHTML":g=h;break;case "defaultValue":case "value":break;default:w(a,d,l,h)}}a.push(">");x(a,g,e);return e;case "option":g=f.selectedValue;a.push(z("option"));var k=h=null,m=null;var l=null;for(e in c)if(n.call(c,e)){var p=c[e];if(null!=p)switch(e){case "children":h=p;break;case "selected":m=p;break;case "dangerouslySetInnerHTML":l=
|
|
15097
|
+
p;break;case "value":k=p;default:w(a,d,e,p)}}if(null!=g)if(c=null!==k?""+k:va(h),ra(g))for(d=0;d<g.length;d++){if(""+g[d]===c){a.push(' selected=""');break}}else""+g===c&&a.push(' selected=""');else m&&a.push(' selected=""');a.push(">");x(a,l,h);return h;case "textarea":a.push(z("textarea"));l=g=e=null;for(h in c)if(n.call(c,h)&&(k=c[h],null!=k))switch(h){case "children":l=k;break;case "value":e=k;break;case "defaultValue":g=k;break;case "dangerouslySetInnerHTML":throw Error("`dangerouslySetInnerHTML` does not make sense on <textarea>.");
|
|
15098
|
+
default:w(a,d,h,k)}null===e&&null!==g&&(e=g);a.push(">");if(null!=l){if(null!=e)throw Error("If you supply `defaultValue` on a <textarea>, do not pass children.");if(ra(l)&&1<l.length)throw Error("<textarea> can only have at most one child.");e=""+l}"string"===typeof e&&"\n"===e[0]&&a.push("\n");null!==e&&a.push(u(""+e));return null;case "input":a.push(z("input"));k=l=h=e=null;for(g in c)if(n.call(c,g)&&(m=c[g],null!=m))switch(g){case "children":case "dangerouslySetInnerHTML":throw Error("input is a self-closing tag and must neither have `children` nor use `dangerouslySetInnerHTML`.");
|
|
15099
|
+
case "defaultChecked":k=m;break;case "defaultValue":h=m;break;case "checked":l=m;break;case "value":e=m;break;default:w(a,d,g,m)}null!==l?w(a,d,"checked",l):null!==k&&w(a,d,"checked",k);null!==e?w(a,d,"value",e):null!==h&&w(a,d,"value",h);a.push("/>");return null;case "menuitem":a.push(z("menuitem"));for(var B in c)if(n.call(c,B)&&(e=c[B],null!=e))switch(B){case "children":case "dangerouslySetInnerHTML":throw Error("menuitems cannot have `children` nor `dangerouslySetInnerHTML`.");default:w(a,d,B,
|
|
15100
|
+
e)}a.push(">");return null;case "title":a.push(z("title"));e=null;for(p in c)if(n.call(c,p)&&(g=c[p],null!=g))switch(p){case "children":e=g;break;case "dangerouslySetInnerHTML":throw Error("`dangerouslySetInnerHTML` does not make sense on <title>.");default:w(a,d,p,g)}a.push(">");return e;case "listing":case "pre":a.push(z(b));g=e=null;for(k in c)if(n.call(c,k)&&(h=c[k],null!=h))switch(k){case "children":e=h;break;case "dangerouslySetInnerHTML":g=h;break;default:w(a,d,k,h)}a.push(">");if(null!=g){if(null!=
|
|
15101
|
+
e)throw Error("Can only set one of `children` or `props.dangerouslySetInnerHTML`.");if("object"!==typeof g||!("__html"in g))throw Error("`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://reactjs.org/link/dangerously-set-inner-html for more information.");c=g.__html;null!==c&&void 0!==c&&("string"===typeof c&&0<c.length&&"\n"===c[0]?a.push("\n",c):a.push(""+c))}"string"===typeof e&&"\n"===e[0]&&a.push("\n");return e;case "area":case "base":case "br":case "col":case "embed":case "hr":case "img":case "keygen":case "link":case "meta":case "param":case "source":case "track":case "wbr":a.push(z(b));
|
|
15102
|
+
for(var C in c)if(n.call(c,C)&&(e=c[C],null!=e))switch(C){case "children":case "dangerouslySetInnerHTML":throw Error(b+" is a self-closing tag and must neither have `children` nor use `dangerouslySetInnerHTML`.");default:w(a,d,C,e)}a.push("/>");return null;case "annotation-xml":case "color-profile":case "font-face":case "font-face-src":case "font-face-uri":case "font-face-format":case "font-face-name":case "missing-glyph":return wa(a,c,b,d);case "html":return 0===f.insertionMode&&a.push("<!DOCTYPE html>"),
|
|
15103
|
+
wa(a,c,b,d);default:if(-1===b.indexOf("-")&&"string"!==typeof c.is)return wa(a,c,b,d);a.push(z(b));g=e=null;for(m in c)if(n.call(c,m)&&(h=c[m],null!=h))switch(m){case "children":e=h;break;case "dangerouslySetInnerHTML":g=h;break;case "style":ua(a,d,h);break;case "suppressContentEditableWarning":case "suppressHydrationWarning":break;default:ka(m)&&"function"!==typeof h&&"symbol"!==typeof h&&a.push(" ",m,'="',u(h),'"')}a.push(">");x(a,g,e);return e}}
|
|
15104
|
+
function Aa(a,b,c){a.push('\x3c!--$?--\x3e<template id="');if(null===c)throw Error("An ID must have been assigned before we can complete the boundary.");a.push(c);return a.push('"></template>')}
|
|
15105
|
+
function Ba(a,b,c,d){switch(c.insertionMode){case 0:case 1:return a.push('<div hidden id="'),a.push(b.segmentPrefix),b=d.toString(16),a.push(b),a.push('">');case 2:return a.push('<svg aria-hidden="true" style="display:none" id="'),a.push(b.segmentPrefix),b=d.toString(16),a.push(b),a.push('">');case 3:return a.push('<math aria-hidden="true" style="display:none" id="'),a.push(b.segmentPrefix),b=d.toString(16),a.push(b),a.push('">');case 4:return a.push('<table hidden id="'),a.push(b.segmentPrefix),
|
|
15106
|
+
b=d.toString(16),a.push(b),a.push('">');case 5:return a.push('<table hidden><tbody id="'),a.push(b.segmentPrefix),b=d.toString(16),a.push(b),a.push('">');case 6:return a.push('<table hidden><tr id="'),a.push(b.segmentPrefix),b=d.toString(16),a.push(b),a.push('">');case 7:return a.push('<table hidden><colgroup id="'),a.push(b.segmentPrefix),b=d.toString(16),a.push(b),a.push('">');default:throw Error("Unknown insertion mode. This is a bug in React.");}}
|
|
15107
|
+
function Ca(a,b){switch(b.insertionMode){case 0:case 1:return a.push("</div>");case 2:return a.push("</svg>");case 3:return a.push("</math>");case 4:return a.push("</table>");case 5:return a.push("</tbody></table>");case 6:return a.push("</tr></table>");case 7:return a.push("</colgroup></table>");default:throw Error("Unknown insertion mode. This is a bug in React.");}}var Da=/[<\u2028\u2029]/g;
|
|
15108
|
+
function Ea(a){return JSON.stringify(a).replace(Da,function(a){switch(a){case "<":return"\\u003c";case "\u2028":return"\\u2028";case "\u2029":return"\\u2029";default:throw Error("escapeJSStringsForInstructionScripts encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React");}})}
|
|
15109
|
+
function Fa(a,b){b=void 0===b?"":b;return{bootstrapChunks:[],startInlineScript:"<script>",placeholderPrefix:b+"P:",segmentPrefix:b+"S:",boundaryPrefix:b+"B:",idPrefix:b,nextSuspenseID:0,sentCompleteSegmentFunction:!1,sentCompleteBoundaryFunction:!1,sentClientRenderFunction:!1,generateStaticMarkup:a}}function Ga(){return{insertionMode:1,selectedValue:null}}function Ha(a,b,c,d){if(c.generateStaticMarkup)return a.push(u(b)),!1;""===b?a=d:(d&&a.push("\x3c!-- --\x3e"),a.push(u(b)),a=!0);return a}
|
|
15110
|
+
var A=Object.assign,Ia=Symbol.for("react.element"),Ja=Symbol.for("react.portal"),Ka=Symbol.for("react.fragment"),La=Symbol.for("react.strict_mode"),Ma=Symbol.for("react.profiler"),Na=Symbol.for("react.provider"),Oa=Symbol.for("react.context"),Pa=Symbol.for("react.forward_ref"),Qa=Symbol.for("react.suspense"),Ra=Symbol.for("react.suspense_list"),Sa=Symbol.for("react.memo"),Ta=Symbol.for("react.lazy"),Ua=Symbol.for("react.scope"),Va=Symbol.for("react.debug_trace_mode"),Wa=Symbol.for("react.legacy_hidden"),
|
|
15111
|
+
Xa=Symbol.for("react.default_value"),Ya=Symbol.iterator;
|
|
15112
|
+
function Za(a){if(null==a)return null;if("function"===typeof a)return a.displayName||a.name||null;if("string"===typeof a)return a;switch(a){case Ka:return"Fragment";case Ja:return"Portal";case Ma:return"Profiler";case La:return"StrictMode";case Qa:return"Suspense";case Ra:return"SuspenseList"}if("object"===typeof a)switch(a.$$typeof){case Oa:return(a.displayName||"Context")+".Consumer";case Na:return(a._context.displayName||"Context")+".Provider";case Pa:var b=a.render;a=a.displayName;a||(a=b.displayName||
|
|
15113
|
+
b.name||"",a=""!==a?"ForwardRef("+a+")":"ForwardRef");return a;case Sa:return b=a.displayName||null,null!==b?b:Za(a.type)||"Memo";case Ta:b=a._payload;a=a._init;try{return Za(a(b))}catch(c){}}return null}var $a={};function ab(a,b){a=a.contextTypes;if(!a)return $a;var c={},d;for(d in a)c[d]=b[d];return c}var D=null;
|
|
15114
|
+
function E(a,b){if(a!==b){a.context._currentValue2=a.parentValue;a=a.parent;var c=b.parent;if(null===a){if(null!==c)throw Error("The stacks must reach the root at the same time. This is a bug in React.");}else{if(null===c)throw Error("The stacks must reach the root at the same time. This is a bug in React.");E(a,c)}b.context._currentValue2=b.value}}function bb(a){a.context._currentValue2=a.parentValue;a=a.parent;null!==a&&bb(a)}
|
|
15115
|
+
function cb(a){var b=a.parent;null!==b&&cb(b);a.context._currentValue2=a.value}function db(a,b){a.context._currentValue2=a.parentValue;a=a.parent;if(null===a)throw Error("The depth must equal at least at zero before reaching the root. This is a bug in React.");a.depth===b.depth?E(a,b):db(a,b)}
|
|
15116
|
+
function eb(a,b){var c=b.parent;if(null===c)throw Error("The depth must equal at least at zero before reaching the root. This is a bug in React.");a.depth===c.depth?E(a,c):eb(a,c);b.context._currentValue2=b.value}function F(a){var b=D;b!==a&&(null===b?cb(a):null===a?bb(b):b.depth===a.depth?E(b,a):b.depth>a.depth?db(b,a):eb(b,a),D=a)}
|
|
15117
|
+
var fb={isMounted:function(){return!1},enqueueSetState:function(a,b){a=a._reactInternals;null!==a.queue&&a.queue.push(b)},enqueueReplaceState:function(a,b){a=a._reactInternals;a.replace=!0;a.queue=[b]},enqueueForceUpdate:function(){}};
|
|
15118
|
+
function gb(a,b,c,d){var f=void 0!==a.state?a.state:null;a.updater=fb;a.props=c;a.state=f;var e={queue:[],replace:!1};a._reactInternals=e;var g=b.contextType;a.context="object"===typeof g&&null!==g?g._currentValue2:d;g=b.getDerivedStateFromProps;"function"===typeof g&&(g=g(c,f),f=null===g||void 0===g?f:A({},f,g),a.state=f);if("function"!==typeof b.getDerivedStateFromProps&&"function"!==typeof a.getSnapshotBeforeUpdate&&("function"===typeof a.UNSAFE_componentWillMount||"function"===typeof a.componentWillMount))if(b=
|
|
15119
|
+
a.state,"function"===typeof a.componentWillMount&&a.componentWillMount(),"function"===typeof a.UNSAFE_componentWillMount&&a.UNSAFE_componentWillMount(),b!==a.state&&fb.enqueueReplaceState(a,a.state,null),null!==e.queue&&0<e.queue.length)if(b=e.queue,g=e.replace,e.queue=null,e.replace=!1,g&&1===b.length)a.state=b[0];else{e=g?b[0]:a.state;f=!0;for(g=g?1:0;g<b.length;g++){var h=b[g];h="function"===typeof h?h.call(a,e,c,d):h;null!=h&&(f?(f=!1,e=A({},e,h)):A(e,h))}a.state=e}else e.queue=null}
|
|
15120
|
+
var hb={id:1,overflow:""};function ib(a,b,c){var d=a.id;a=a.overflow;var f=32-G(d)-1;d&=~(1<<f);c+=1;var e=32-G(b)+f;if(30<e){var g=f-f%5;e=(d&(1<<g)-1).toString(32);d>>=g;f-=g;return{id:1<<32-G(b)+f|c<<f|d,overflow:e+a}}return{id:1<<e|c<<f|d,overflow:a}}var G=Math.clz32?Math.clz32:jb,kb=Math.log,lb=Math.LN2;function jb(a){a>>>=0;return 0===a?32:31-(kb(a)/lb|0)|0}function mb(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}
|
|
15121
|
+
var nb="function"===typeof Object.is?Object.is:mb,H=null,ob=null,I=null,J=null,K=!1,L=!1,M=0,N=null,O=0;
|
|
15122
|
+
function P(){if(null===H)throw Error("Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.");return H}
|
|
15123
|
+
function rb(){if(0<O)throw Error("Rendered more hooks than during the previous render");return{memoizedState:null,queue:null,next:null}}function sb(){null===J?null===I?(K=!1,I=J=rb()):(K=!0,J=I):null===J.next?(K=!1,J=J.next=rb()):(K=!0,J=J.next);return J}function tb(){ob=H=null;L=!1;I=null;O=0;J=N=null}function ub(a,b){return"function"===typeof b?b(a):b}
|
|
15124
|
+
function vb(a,b,c){H=P();J=sb();if(K){var d=J.queue;b=d.dispatch;if(null!==N&&(c=N.get(d),void 0!==c)){N.delete(d);d=J.memoizedState;do d=a(d,c.action),c=c.next;while(null!==c);J.memoizedState=d;return[d,b]}return[J.memoizedState,b]}a=a===ub?"function"===typeof b?b():b:void 0!==c?c(b):b;J.memoizedState=a;a=J.queue={last:null,dispatch:null};a=a.dispatch=wb.bind(null,H,a);return[J.memoizedState,a]}
|
|
15125
|
+
function xb(a,b){H=P();J=sb();b=void 0===b?null:b;if(null!==J){var c=J.memoizedState;if(null!==c&&null!==b){var d=c[1];a:if(null===d)d=!1;else{for(var f=0;f<d.length&&f<b.length;f++)if(!nb(b[f],d[f])){d=!1;break a}d=!0}if(d)return c[0]}}a=a();J.memoizedState=[a,b];return a}
|
|
15126
|
+
function wb(a,b,c){if(25<=O)throw Error("Too many re-renders. React limits the number of renders to prevent an infinite loop.");if(a===H)if(L=!0,a={action:c,next:null},null===N&&(N=new Map),c=N.get(b),void 0===c)N.set(b,a);else{for(b=c;null!==b.next;)b=b.next;b.next=a}}function yb(){throw Error("startTransition cannot be called during server rendering.");}function Q(){}
|
|
15127
|
+
var zb={readContext:function(a){return a._currentValue2},useContext:function(a){P();return a._currentValue2},useMemo:xb,useReducer:vb,useRef:function(a){H=P();J=sb();var b=J.memoizedState;return null===b?(a={current:a},J.memoizedState=a):b},useState:function(a){return vb(ub,a)},useInsertionEffect:Q,useLayoutEffect:function(){},useCallback:function(a,b){return xb(function(){return a},b)},useImperativeHandle:Q,useEffect:Q,useDebugValue:Q,useDeferredValue:function(a){P();return a},useTransition:function(){P();
|
|
15128
|
+
return[!1,yb]},useId:function(){var a=ob.treeContext;var b=a.overflow;a=a.id;a=(a&~(1<<32-G(a)-1)).toString(32)+b;var c=R;if(null===c)throw Error("Invalid hook call. Hooks can only be called inside of the body of a function component.");b=M++;a=":"+c.idPrefix+"R"+a;0<b&&(a+="H"+b.toString(32));return a+":"},useMutableSource:function(a,b){P();return b(a._source)},useSyncExternalStore:function(a,b,c){if(void 0===c)throw Error("Missing getServerSnapshot, which is required for server-rendered content. Will revert to client rendering.");
|
|
15129
|
+
return c()}},R=null,Ab=ea.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher;function Bb(a){console.error(a);return null}function S(){}
|
|
15130
|
+
function Cb(a,b,c,d,f,e,g,h,k){var m=[],l=new Set;b={destination:null,responseState:b,progressiveChunkSize:void 0===d?12800:d,status:0,fatalError:null,nextSegmentId:0,allPendingTasks:0,pendingRootTasks:0,completedRootSegment:null,abortableTasks:l,pingedTasks:m,clientRenderedBoundaries:[],completedBoundaries:[],partialBoundaries:[],onError:void 0===f?Bb:f,onAllReady:void 0===e?S:e,onShellReady:void 0===g?S:g,onShellError:void 0===h?S:h,onFatalError:void 0===k?S:k};c=T(b,0,null,c,!1,!1);c.parentFlushed=
|
|
15131
|
+
!0;a=Db(b,a,null,c,l,$a,null,hb);m.push(a);return b}function Db(a,b,c,d,f,e,g,h){a.allPendingTasks++;null===c?a.pendingRootTasks++:c.pendingTasks++;var k={node:b,ping:function(){var b=a.pingedTasks;b.push(k);1===b.length&&Eb(a)},blockedBoundary:c,blockedSegment:d,abortSet:f,legacyContext:e,context:g,treeContext:h};f.add(k);return k}function T(a,b,c,d,f,e){return{status:0,id:-1,index:b,parentFlushed:!1,chunks:[],children:[],formatContext:d,boundary:c,lastPushedText:f,textEmbedded:e}}
|
|
15132
|
+
function U(a,b){a=a.onError(b);if(null!=a&&"string"!==typeof a)throw Error('onError returned something with a type other than "string". onError should return a string and may return null or undefined but must not return anything else. It received something of type "'+typeof a+'" instead');return a}function V(a,b){var c=a.onShellError;c(b);c=a.onFatalError;c(b);null!==a.destination?(a.status=2,a.destination.destroy(b)):(a.status=1,a.fatalError=b)}
|
|
15133
|
+
function Fb(a,b,c,d,f){H={};ob=b;M=0;for(a=c(d,f);L;)L=!1,M=0,O+=1,J=null,a=c(d,f);tb();return a}function Gb(a,b,c,d){var f=c.render(),e=d.childContextTypes;if(null!==e&&void 0!==e){var g=b.legacyContext;if("function"!==typeof c.getChildContext)d=g;else{c=c.getChildContext();for(var h in c)if(!(h in e))throw Error((Za(d)||"Unknown")+'.getChildContext(): key "'+h+'" is not defined in childContextTypes.');d=A({},g,c)}b.legacyContext=d;W(a,b,f);b.legacyContext=g}else W(a,b,f)}
|
|
15134
|
+
function Hb(a,b){if(a&&a.defaultProps){b=A({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c]);return b}return b}
|
|
15135
|
+
function Ib(a,b,c,d,f){if("function"===typeof c)if(c.prototype&&c.prototype.isReactComponent){f=ab(c,b.legacyContext);var e=c.contextType;e=new c(d,"object"===typeof e&&null!==e?e._currentValue2:f);gb(e,c,d,f);Gb(a,b,e,c)}else{e=ab(c,b.legacyContext);f=Fb(a,b,c,d,e);var g=0!==M;if("object"===typeof f&&null!==f&&"function"===typeof f.render&&void 0===f.$$typeof)gb(f,c,d,e),Gb(a,b,f,c);else if(g){d=b.treeContext;b.treeContext=ib(d,1,0);try{W(a,b,f)}finally{b.treeContext=d}}else W(a,b,f)}else if("string"===
|
|
15136
|
+
typeof c){f=b.blockedSegment;e=za(f.chunks,c,d,a.responseState,f.formatContext);f.lastPushedText=!1;g=f.formatContext;f.formatContext=sa(g,c,d);Jb(a,b,e);f.formatContext=g;switch(c){case "area":case "base":case "br":case "col":case "embed":case "hr":case "img":case "input":case "keygen":case "link":case "meta":case "param":case "source":case "track":case "wbr":break;default:f.chunks.push("</",c,">")}f.lastPushedText=!1}else{switch(c){case Wa:case Va:case La:case Ma:case Ka:W(a,b,d.children);return;
|
|
15137
|
+
case Ra:W(a,b,d.children);return;case Ua:throw Error("ReactDOMServer does not yet support scope components.");case Qa:a:{c=b.blockedBoundary;f=b.blockedSegment;e=d.fallback;d=d.children;g=new Set;var h={id:null,rootSegmentID:-1,parentFlushed:!1,pendingTasks:0,forceClientRender:!1,completedSegments:[],byteSize:0,fallbackAbortableTasks:g,errorDigest:null},k=T(a,f.chunks.length,h,f.formatContext,!1,!1);f.children.push(k);f.lastPushedText=!1;var m=T(a,0,null,f.formatContext,!1,!1);m.parentFlushed=!0;
|
|
15138
|
+
b.blockedBoundary=h;b.blockedSegment=m;try{if(Jb(a,b,d),a.responseState.generateStaticMarkup||m.lastPushedText&&m.textEmbedded&&m.chunks.push("\x3c!-- --\x3e"),m.status=1,X(h,m),0===h.pendingTasks)break a}catch(l){m.status=4,h.forceClientRender=!0,h.errorDigest=U(a,l)}finally{b.blockedBoundary=c,b.blockedSegment=f}b=Db(a,e,c,k,g,b.legacyContext,b.context,b.treeContext);a.pingedTasks.push(b)}return}if("object"===typeof c&&null!==c)switch(c.$$typeof){case Pa:d=Fb(a,b,c.render,d,f);if(0!==M){c=b.treeContext;
|
|
15139
|
+
b.treeContext=ib(c,1,0);try{W(a,b,d)}finally{b.treeContext=c}}else W(a,b,d);return;case Sa:c=c.type;d=Hb(c,d);Ib(a,b,c,d,f);return;case Na:f=d.children;c=c._context;d=d.value;e=c._currentValue2;c._currentValue2=d;g=D;D=d={parent:g,depth:null===g?0:g.depth+1,context:c,parentValue:e,value:d};b.context=d;W(a,b,f);a=D;if(null===a)throw Error("Tried to pop a Context at the root of the app. This is a bug in React.");d=a.parentValue;a.context._currentValue2=d===Xa?a.context._defaultValue:d;a=D=a.parent;
|
|
15140
|
+
b.context=a;return;case Oa:d=d.children;d=d(c._currentValue2);W(a,b,d);return;case Ta:f=c._init;c=f(c._payload);d=Hb(c,d);Ib(a,b,c,d,void 0);return}throw Error("Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: "+((null==c?c:typeof c)+"."));}}
|
|
15141
|
+
function W(a,b,c){b.node=c;if("object"===typeof c&&null!==c){switch(c.$$typeof){case Ia:Ib(a,b,c.type,c.props,c.ref);return;case Ja:throw Error("Portals are not currently supported by the server renderer. Render them conditionally so that they only appear on the client render.");case Ta:var d=c._init;c=d(c._payload);W(a,b,c);return}if(ra(c)){Kb(a,b,c);return}null===c||"object"!==typeof c?d=null:(d=Ya&&c[Ya]||c["@@iterator"],d="function"===typeof d?d:null);if(d&&(d=d.call(c))){c=d.next();if(!c.done){var f=
|
|
15142
|
+
[];do f.push(c.value),c=d.next();while(!c.done);Kb(a,b,f)}return}a=Object.prototype.toString.call(c);throw Error("Objects are not valid as a React child (found: "+("[object Object]"===a?"object with keys {"+Object.keys(c).join(", ")+"}":a)+"). If you meant to render a collection of children, use an array instead.");}"string"===typeof c?(d=b.blockedSegment,d.lastPushedText=Ha(b.blockedSegment.chunks,c,a.responseState,d.lastPushedText)):"number"===typeof c&&(d=b.blockedSegment,d.lastPushedText=Ha(b.blockedSegment.chunks,
|
|
15143
|
+
""+c,a.responseState,d.lastPushedText))}function Kb(a,b,c){for(var d=c.length,f=0;f<d;f++){var e=b.treeContext;b.treeContext=ib(e,d,f);try{Jb(a,b,c[f])}finally{b.treeContext=e}}}
|
|
15144
|
+
function Jb(a,b,c){var d=b.blockedSegment.formatContext,f=b.legacyContext,e=b.context;try{return W(a,b,c)}catch(k){if(tb(),"object"===typeof k&&null!==k&&"function"===typeof k.then){c=k;var g=b.blockedSegment,h=T(a,g.chunks.length,null,g.formatContext,g.lastPushedText,!0);g.children.push(h);g.lastPushedText=!1;a=Db(a,b.node,b.blockedBoundary,h,b.abortSet,b.legacyContext,b.context,b.treeContext).ping;c.then(a,a);b.blockedSegment.formatContext=d;b.legacyContext=f;b.context=e;F(e)}else throw b.blockedSegment.formatContext=
|
|
15145
|
+
d,b.legacyContext=f,b.context=e,F(e),k;}}function Lb(a){var b=a.blockedBoundary;a=a.blockedSegment;a.status=3;Mb(this,b,a)}
|
|
15146
|
+
function Nb(a,b,c){var d=a.blockedBoundary;a.blockedSegment.status=3;null===d?(b.allPendingTasks--,2!==b.status&&(b.status=2,null!==b.destination&&b.destination.push(null))):(d.pendingTasks--,d.forceClientRender||(d.forceClientRender=!0,d.errorDigest=b.onError(void 0===c?Error("The render was aborted by the server without a reason."):c),d.parentFlushed&&b.clientRenderedBoundaries.push(d)),d.fallbackAbortableTasks.forEach(function(a){return Nb(a,b,c)}),d.fallbackAbortableTasks.clear(),b.allPendingTasks--,
|
|
15147
|
+
0===b.allPendingTasks&&(a=b.onAllReady,a()))}function X(a,b){if(0===b.chunks.length&&1===b.children.length&&null===b.children[0].boundary){var c=b.children[0];c.id=b.id;c.parentFlushed=!0;1===c.status&&X(a,c)}else a.completedSegments.push(b)}
|
|
15148
|
+
function Mb(a,b,c){if(null===b){if(c.parentFlushed){if(null!==a.completedRootSegment)throw Error("There can only be one root segment. This is a bug in React.");a.completedRootSegment=c}a.pendingRootTasks--;0===a.pendingRootTasks&&(a.onShellError=S,b=a.onShellReady,b())}else b.pendingTasks--,b.forceClientRender||(0===b.pendingTasks?(c.parentFlushed&&1===c.status&&X(b,c),b.parentFlushed&&a.completedBoundaries.push(b),b.fallbackAbortableTasks.forEach(Lb,a),b.fallbackAbortableTasks.clear()):c.parentFlushed&&
|
|
15149
|
+
1===c.status&&(X(b,c),1===b.completedSegments.length&&b.parentFlushed&&a.partialBoundaries.push(b)));a.allPendingTasks--;0===a.allPendingTasks&&(a=a.onAllReady,a())}
|
|
15150
|
+
function Eb(a){if(2!==a.status){var b=D,c=Ab.current;Ab.current=zb;var d=R;R=a.responseState;try{var f=a.pingedTasks,e;for(e=0;e<f.length;e++){var g=f[e];var h=a,k=g.blockedSegment;if(0===k.status){F(g.context);try{W(h,g,g.node),h.responseState.generateStaticMarkup||k.lastPushedText&&k.textEmbedded&&k.chunks.push("\x3c!-- --\x3e"),g.abortSet.delete(g),k.status=1,Mb(h,g.blockedBoundary,k)}catch(y){if(tb(),"object"===typeof y&&null!==y&&"function"===typeof y.then){var m=g.ping;y.then(m,m)}else{g.abortSet.delete(g);
|
|
15151
|
+
k.status=4;var l=g.blockedBoundary,p=y,B=U(h,p);null===l?V(h,p):(l.pendingTasks--,l.forceClientRender||(l.forceClientRender=!0,l.errorDigest=B,l.parentFlushed&&h.clientRenderedBoundaries.push(l)));h.allPendingTasks--;if(0===h.allPendingTasks){var C=h.onAllReady;C()}}}finally{}}}f.splice(0,e);null!==a.destination&&Ob(a,a.destination)}catch(y){U(a,y),V(a,y)}finally{R=d,Ab.current=c,c===zb&&F(b)}}}
|
|
15152
|
+
function Y(a,b,c){c.parentFlushed=!0;switch(c.status){case 0:var d=c.id=a.nextSegmentId++;c.lastPushedText=!1;c.textEmbedded=!1;a=a.responseState;b.push('<template id="');b.push(a.placeholderPrefix);a=d.toString(16);b.push(a);return b.push('"></template>');case 1:c.status=2;var f=!0;d=c.chunks;var e=0;c=c.children;for(var g=0;g<c.length;g++){for(f=c[g];e<f.index;e++)b.push(d[e]);f=Z(a,b,f)}for(;e<d.length-1;e++)b.push(d[e]);e<d.length&&(f=b.push(d[e]));return f;default:throw Error("Aborted, errored or already flushed boundaries should not be flushed again. This is a bug in React.");
|
|
15153
|
+
}}
|
|
15154
|
+
function Z(a,b,c){var d=c.boundary;if(null===d)return Y(a,b,c);d.parentFlushed=!0;if(d.forceClientRender)return a.responseState.generateStaticMarkup||(d=d.errorDigest,b.push("\x3c!--$!--\x3e"),b.push("<template"),d&&(b.push(' data-dgst="'),d=u(d),b.push(d),b.push('"')),b.push("></template>")),Y(a,b,c),a=a.responseState.generateStaticMarkup?!0:b.push("\x3c!--/$--\x3e"),a;if(0<d.pendingTasks){d.rootSegmentID=a.nextSegmentId++;0<d.completedSegments.length&&a.partialBoundaries.push(d);var f=a.responseState;var e=
|
|
15155
|
+
f.nextSuspenseID++;f=f.boundaryPrefix+e.toString(16);d=d.id=f;Aa(b,a.responseState,d);Y(a,b,c);return b.push("\x3c!--/$--\x3e")}if(d.byteSize>a.progressiveChunkSize)return d.rootSegmentID=a.nextSegmentId++,a.completedBoundaries.push(d),Aa(b,a.responseState,d.id),Y(a,b,c),b.push("\x3c!--/$--\x3e");a.responseState.generateStaticMarkup||b.push("\x3c!--$--\x3e");c=d.completedSegments;if(1!==c.length)throw Error("A previously unvisited boundary must have exactly one root segment. This is a bug in React.");
|
|
15156
|
+
Z(a,b,c[0]);a=a.responseState.generateStaticMarkup?!0:b.push("\x3c!--/$--\x3e");return a}function Pb(a,b,c){Ba(b,a.responseState,c.formatContext,c.id);Z(a,b,c);return Ca(b,c.formatContext)}
|
|
15157
|
+
function Qb(a,b,c){for(var d=c.completedSegments,f=0;f<d.length;f++)Rb(a,b,c,d[f]);d.length=0;a=a.responseState;d=c.id;c=c.rootSegmentID;b.push(a.startInlineScript);a.sentCompleteBoundaryFunction?b.push('$RC("'):(a.sentCompleteBoundaryFunction=!0,b.push('function $RC(a,b){a=document.getElementById(a);b=document.getElementById(b);b.parentNode.removeChild(b);if(a){a=a.previousSibling;var f=a.parentNode,c=a.nextSibling,e=0;do{if(c&&8===c.nodeType){var d=c.data;if("/$"===d)if(0===e)break;else e--;else"$"!==d&&"$?"!==d&&"$!"!==d||e++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;b.firstChild;)f.insertBefore(b.firstChild,c);a.data="$";a._reactRetry&&a._reactRetry()}};$RC("'));if(null===
|
|
15158
|
+
d)throw Error("An ID must have been assigned before we can complete the boundary.");c=c.toString(16);b.push(d);b.push('","');b.push(a.segmentPrefix);b.push(c);return b.push('")\x3c/script>')}
|
|
15159
|
+
function Rb(a,b,c,d){if(2===d.status)return!0;var f=d.id;if(-1===f){if(-1===(d.id=c.rootSegmentID))throw Error("A root segment ID must have been assigned by now. This is a bug in React.");return Pb(a,b,d)}Pb(a,b,d);a=a.responseState;b.push(a.startInlineScript);a.sentCompleteSegmentFunction?b.push('$RS("'):(a.sentCompleteSegmentFunction=!0,b.push('function $RS(a,b){a=document.getElementById(a);b=document.getElementById(b);for(a.parentNode.removeChild(a);a.firstChild;)b.parentNode.insertBefore(a.firstChild,b);b.parentNode.removeChild(b)};$RS("'));
|
|
15160
|
+
b.push(a.segmentPrefix);f=f.toString(16);b.push(f);b.push('","');b.push(a.placeholderPrefix);b.push(f);return b.push('")\x3c/script>')}
|
|
15161
|
+
function Ob(a,b){try{var c=a.completedRootSegment;if(null!==c&&0===a.pendingRootTasks){Z(a,b,c);a.completedRootSegment=null;var d=a.responseState.bootstrapChunks;for(c=0;c<d.length-1;c++)b.push(d[c]);c<d.length&&b.push(d[c])}var f=a.clientRenderedBoundaries,e;for(e=0;e<f.length;e++){var g=f[e];d=b;var h=a.responseState,k=g.id,m=g.errorDigest,l=g.errorMessage,p=g.errorComponentStack;d.push(h.startInlineScript);h.sentClientRenderFunction?d.push('$RX("'):(h.sentClientRenderFunction=!0,d.push('function $RX(b,c,d,e){var a=document.getElementById(b);a&&(b=a.previousSibling,b.data="$!",a=a.dataset,c&&(a.dgst=c),d&&(a.msg=d),e&&(a.stck=e),b._reactRetry&&b._reactRetry())};$RX("'));
|
|
15162
|
+
if(null===k)throw Error("An ID must have been assigned before we can complete the boundary.");d.push(k);d.push('"');if(m||l||p){d.push(",");var B=Ea(m||"");d.push(B)}if(l||p){d.push(",");var C=Ea(l||"");d.push(C)}if(p){d.push(",");var y=Ea(p);d.push(y)}if(!d.push(")\x3c/script>")){a.destination=null;e++;f.splice(0,e);return}}f.splice(0,e);var aa=a.completedBoundaries;for(e=0;e<aa.length;e++)if(!Qb(a,b,aa[e])){a.destination=null;e++;aa.splice(0,e);return}aa.splice(0,e);var ba=a.partialBoundaries;for(e=
|
|
15163
|
+
0;e<ba.length;e++){var pb=ba[e];a:{f=a;g=b;var ca=pb.completedSegments;for(h=0;h<ca.length;h++)if(!Rb(f,g,pb,ca[h])){h++;ca.splice(0,h);var qb=!1;break a}ca.splice(0,h);qb=!0}if(!qb){a.destination=null;e++;ba.splice(0,e);return}}ba.splice(0,e);var da=a.completedBoundaries;for(e=0;e<da.length;e++)if(!Qb(a,b,da[e])){a.destination=null;e++;da.splice(0,e);return}da.splice(0,e)}finally{0===a.allPendingTasks&&0===a.pingedTasks.length&&0===a.clientRenderedBoundaries.length&&0===a.completedBoundaries.length&&
|
|
15164
|
+
b.push(null)}}function Sb(a,b){if(1===a.status)a.status=2,b.destroy(a.fatalError);else if(2!==a.status&&null===a.destination){a.destination=b;try{Ob(a,b)}catch(c){U(a,c),V(a,c)}}}function Tb(a,b){try{var c=a.abortableTasks;c.forEach(function(c){return Nb(c,a,b)});c.clear();null!==a.destination&&Ob(a,a.destination)}catch(d){U(a,d),V(a,d)}}function Ub(){}
|
|
15165
|
+
function Vb(a,b,c,d){var f=!1,e=null,g="",h=!1;a=Cb(a,Fa(c,b?b.identifierPrefix:void 0),Ga(),Infinity,Ub,void 0,function(){h=!0},void 0,void 0);Eb(a);Tb(a,d);Sb(a,{push:function(a){null!==a&&(g+=a);return!0},destroy:function(a){f=!0;e=a}});if(f)throw e;if(!h)throw Error("A component suspended while responding to synchronous input. This will cause the UI to be replaced with a loading indicator. To fix, updates that suspend should be wrapped with startTransition.");return g}
|
|
15166
|
+
function Wb(a,b){a.prototype=Object.create(b.prototype);a.prototype.constructor=a;a.__proto__=b}var Xb=function(a){function b(){var b=a.call(this,{})||this;b.request=null;b.startedFlowing=!1;return b}Wb(b,a);var c=b.prototype;c._destroy=function(a,b){Tb(this.request);b(a)};c._read=function(){this.startedFlowing&&Sb(this.request,this)};return b}(fa.Readable);function Yb(){}
|
|
15167
|
+
function Zb(a,b){var c=new Xb,d=Cb(a,Fa(!1,b?b.identifierPrefix:void 0),Ga(),Infinity,Yb,function(){c.startedFlowing=!0;Sb(d,c)},void 0,void 0);c.request=d;Eb(d);return c}exports.renderToNodeStream=function(a,b){return Zb(a,b)};exports.renderToStaticMarkup=function(a,b){return Vb(a,b,!0,'The server used "renderToStaticMarkup" which does not support Suspense. If you intended to have the server wait for the suspended component please switch to "renderToPipeableStream" which supports Suspense on the server')};
|
|
15168
|
+
exports.renderToStaticNodeStream=function(a,b){return Zb(a,b)};exports.renderToString=function(a,b){return Vb(a,b,!1,'The server used "renderToString" which does not support Suspense. If you intended for this Suspense boundary to render the fallback content on the server consider throwing an Error somewhere within the Suspense boundary. If you intended to have the server wait for the suspended component please switch to "renderToPipeableStream" which supports Suspense on the server')};
|
|
15169
|
+
exports.version="18.2.0";
|
|
15170
|
+
|
|
15171
|
+
|
|
15172
|
+
/***/ }),
|
|
15173
|
+
|
|
15174
|
+
/***/ 6513:
|
|
15175
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
15176
|
+
|
|
15177
|
+
"use strict";
|
|
15178
|
+
/**
|
|
15179
|
+
* @license React
|
|
15180
|
+
* react-dom-server.node.production.min.js
|
|
15181
|
+
*
|
|
15182
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
15183
|
+
*
|
|
15184
|
+
* This source code is licensed under the MIT license found in the
|
|
15185
|
+
* LICENSE file in the root directory of this source tree.
|
|
15186
|
+
*/
|
|
15187
|
+
var aa=__webpack_require__(9023),ba=__webpack_require__(4953),k=null,l=0,q=!0;
|
|
15188
|
+
function r(a,b){if("string"===typeof b){if(0!==b.length)if(2048<3*b.length)0<l&&(t(a,k.subarray(0,l)),k=new Uint8Array(2048),l=0),t(a,u.encode(b));else{var c=k;0<l&&(c=k.subarray(l));c=u.encodeInto(b,c);var d=c.read;l+=c.written;d<b.length&&(t(a,k),k=new Uint8Array(2048),l=u.encodeInto(b.slice(d),k).written);2048===l&&(t(a,k),k=new Uint8Array(2048),l=0)}}else 0!==b.byteLength&&(2048<b.byteLength?(0<l&&(t(a,k.subarray(0,l)),k=new Uint8Array(2048),l=0),t(a,b)):(c=k.length-l,c<b.byteLength&&(0===c?t(a,
|
|
15189
|
+
k):(k.set(b.subarray(0,c),l),l+=c,t(a,k),b=b.subarray(c)),k=new Uint8Array(2048),l=0),k.set(b,l),l+=b.byteLength,2048===l&&(t(a,k),k=new Uint8Array(2048),l=0)))}function t(a,b){a=a.write(b);q=q&&a}function w(a,b){r(a,b);return q}function ca(a){k&&0<l&&a.write(k.subarray(0,l));k=null;l=0;q=!0}var u=new aa.TextEncoder;function x(a){return u.encode(a)}
|
|
15190
|
+
var y=Object.prototype.hasOwnProperty,da=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,ea={},fa={};
|
|
15191
|
+
function ha(a){if(y.call(fa,a))return!0;if(y.call(ea,a))return!1;if(da.test(a))return fa[a]=!0;ea[a]=!0;return!1}function z(a,b,c,d,f,e,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=f;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=e;this.removeEmptyString=g}var A={};
|
|
15192
|
+
"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(a){A[a]=new z(a,0,!1,a,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(a){var b=a[0];A[b]=new z(b,1,!1,a[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(a){A[a]=new z(a,2,!1,a.toLowerCase(),null,!1,!1)});
|
|
15193
|
+
["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(a){A[a]=new z(a,2,!1,a,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(a){A[a]=new z(a,3,!1,a.toLowerCase(),null,!1,!1)});
|
|
15194
|
+
["checked","multiple","muted","selected"].forEach(function(a){A[a]=new z(a,3,!0,a,null,!1,!1)});["capture","download"].forEach(function(a){A[a]=new z(a,4,!1,a,null,!1,!1)});["cols","rows","size","span"].forEach(function(a){A[a]=new z(a,6,!1,a,null,!1,!1)});["rowSpan","start"].forEach(function(a){A[a]=new z(a,5,!1,a.toLowerCase(),null,!1,!1)});var ia=/[\-:]([a-z])/g;function ja(a){return a[1].toUpperCase()}
|
|
15195
|
+
"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(a){var b=a.replace(ia,
|
|
15196
|
+
ja);A[b]=new z(b,1,!1,a,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(a){var b=a.replace(ia,ja);A[b]=new z(b,1,!1,a,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(a){var b=a.replace(ia,ja);A[b]=new z(b,1,!1,a,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(a){A[a]=new z(a,1,!1,a.toLowerCase(),null,!1,!1)});
|
|
15197
|
+
A.xlinkHref=new z("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(a){A[a]=new z(a,1,!1,a.toLowerCase(),null,!0,!0)});
|
|
15198
|
+
var B={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,
|
|
15199
|
+
fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},ka=["Webkit","ms","Moz","O"];Object.keys(B).forEach(function(a){ka.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);B[b]=B[a]})});var la=/["'&<>]/;
|
|
15200
|
+
function F(a){if("boolean"===typeof a||"number"===typeof a)return""+a;a=""+a;var b=la.exec(a);if(b){var c="",d,f=0;for(d=b.index;d<a.length;d++){switch(a.charCodeAt(d)){case 34:b=""";break;case 38:b="&";break;case 39:b="'";break;case 60:b="<";break;case 62:b=">";break;default:continue}f!==d&&(c+=a.substring(f,d));f=d+1;c+=b}a=f!==d?c+a.substring(f,d):c}return a}
|
|
15201
|
+
var ma=/([A-Z])/g,pa=/^ms-/,qa=Array.isArray,ra=x("<script>"),sa=x("\x3c/script>"),ta=x('<script src="'),ua=x('<script type="module" src="'),va=x('" async="">\x3c/script>'),wa=/(<\/|<)(s)(cript)/gi;function xa(a,b,c,d){return""+b+("s"===c?"\\u0073":"\\u0053")+d}function G(a,b){return{insertionMode:a,selectedValue:b}}
|
|
15202
|
+
function ya(a,b,c){switch(b){case "select":return G(1,null!=c.value?c.value:c.defaultValue);case "svg":return G(2,null);case "math":return G(3,null);case "foreignObject":return G(1,null);case "table":return G(4,null);case "thead":case "tbody":case "tfoot":return G(5,null);case "colgroup":return G(7,null);case "tr":return G(6,null)}return 4<=a.insertionMode||0===a.insertionMode?G(1,null):a}var za=x("\x3c!-- --\x3e");function Aa(a,b,c,d){if(""===b)return d;d&&a.push(za);a.push(F(b));return!0}
|
|
15203
|
+
var Ba=new Map,Ca=x(' style="'),Da=x(":"),Ea=x(";");
|
|
15204
|
+
function Fa(a,b,c){if("object"!==typeof c)throw Error("The `style` prop expects a mapping from style properties to values, not a string. For example, style={{marginRight: spacing + 'em'}} when using JSX.");b=!0;for(var d in c)if(y.call(c,d)){var f=c[d];if(null!=f&&"boolean"!==typeof f&&""!==f){if(0===d.indexOf("--")){var e=F(d);f=F((""+f).trim())}else{e=d;var g=Ba.get(e);void 0!==g?e=g:(g=x(F(e.replace(ma,"-$1").toLowerCase().replace(pa,"-ms-"))),Ba.set(e,g),e=g);f="number"===typeof f?0===f||y.call(B,
|
|
15205
|
+
d)?""+f:f+"px":F((""+f).trim())}b?(b=!1,a.push(Ca,e,Da,f)):a.push(Ea,e,Da,f)}}b||a.push(H)}var I=x(" "),J=x('="'),H=x('"'),Ga=x('=""');
|
|
15206
|
+
function K(a,b,c,d){switch(c){case "style":Fa(a,b,d);return;case "defaultValue":case "defaultChecked":case "innerHTML":case "suppressContentEditableWarning":case "suppressHydrationWarning":return}if(!(2<c.length)||"o"!==c[0]&&"O"!==c[0]||"n"!==c[1]&&"N"!==c[1])if(b=A.hasOwnProperty(c)?A[c]:null,null!==b){switch(typeof d){case "function":case "symbol":return;case "boolean":if(!b.acceptsBooleans)return}c=b.attributeName;switch(b.type){case 3:d&&a.push(I,c,Ga);break;case 4:!0===d?a.push(I,c,Ga):!1!==
|
|
15207
|
+
d&&a.push(I,c,J,F(d),H);break;case 5:isNaN(d)||a.push(I,c,J,F(d),H);break;case 6:!isNaN(d)&&1<=d&&a.push(I,c,J,F(d),H);break;default:b.sanitizeURL&&(d=""+d),a.push(I,c,J,F(d),H)}}else if(ha(c)){switch(typeof d){case "function":case "symbol":return;case "boolean":if(b=c.toLowerCase().slice(0,5),"data-"!==b&&"aria-"!==b)return}a.push(I,c,J,F(d),H)}}var L=x(">"),Ha=x("/>");
|
|
15208
|
+
function M(a,b,c){if(null!=b){if(null!=c)throw Error("Can only set one of `children` or `props.dangerouslySetInnerHTML`.");if("object"!==typeof b||!("__html"in b))throw Error("`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://reactjs.org/link/dangerously-set-inner-html for more information.");b=b.__html;null!==b&&void 0!==b&&a.push(""+b)}}function Ia(a){var b="";ba.Children.forEach(a,function(a){null!=a&&(b+=a)});return b}var Ja=x(' selected=""');
|
|
15209
|
+
function Ka(a,b,c,d){a.push(N(c));var f=c=null,e;for(e in b)if(y.call(b,e)){var g=b[e];if(null!=g)switch(e){case "children":c=g;break;case "dangerouslySetInnerHTML":f=g;break;default:K(a,d,e,g)}}a.push(L);M(a,f,c);return"string"===typeof c?(a.push(F(c)),null):c}var La=x("\n"),Ma=/^[a-zA-Z][a-zA-Z:_\.\-\d]*$/,Na=new Map;function N(a){var b=Na.get(a);if(void 0===b){if(!Ma.test(a))throw Error("Invalid tag: "+a);b=x("<"+a);Na.set(a,b)}return b}var Oa=x("<!DOCTYPE html>");
|
|
15210
|
+
function Pa(a,b,c,d,f){switch(b){case "select":a.push(N("select"));var e=null,g=null;for(p in c)if(y.call(c,p)){var h=c[p];if(null!=h)switch(p){case "children":e=h;break;case "dangerouslySetInnerHTML":g=h;break;case "defaultValue":case "value":break;default:K(a,d,p,h)}}a.push(L);M(a,g,e);return e;case "option":g=f.selectedValue;a.push(N("option"));var m=h=null,n=null;var p=null;for(e in c)if(y.call(c,e)){var v=c[e];if(null!=v)switch(e){case "children":h=v;break;case "selected":n=v;break;case "dangerouslySetInnerHTML":p=
|
|
15211
|
+
v;break;case "value":m=v;default:K(a,d,e,v)}}if(null!=g)if(c=null!==m?""+m:Ia(h),qa(g))for(d=0;d<g.length;d++){if(""+g[d]===c){a.push(Ja);break}}else""+g===c&&a.push(Ja);else n&&a.push(Ja);a.push(L);M(a,p,h);return h;case "textarea":a.push(N("textarea"));p=g=e=null;for(h in c)if(y.call(c,h)&&(m=c[h],null!=m))switch(h){case "children":p=m;break;case "value":e=m;break;case "defaultValue":g=m;break;case "dangerouslySetInnerHTML":throw Error("`dangerouslySetInnerHTML` does not make sense on <textarea>.");
|
|
15212
|
+
default:K(a,d,h,m)}null===e&&null!==g&&(e=g);a.push(L);if(null!=p){if(null!=e)throw Error("If you supply `defaultValue` on a <textarea>, do not pass children.");if(qa(p)&&1<p.length)throw Error("<textarea> can only have at most one child.");e=""+p}"string"===typeof e&&"\n"===e[0]&&a.push(La);null!==e&&a.push(F(""+e));return null;case "input":a.push(N("input"));m=p=h=e=null;for(g in c)if(y.call(c,g)&&(n=c[g],null!=n))switch(g){case "children":case "dangerouslySetInnerHTML":throw Error("input is a self-closing tag and must neither have `children` nor use `dangerouslySetInnerHTML`.");
|
|
15213
|
+
case "defaultChecked":m=n;break;case "defaultValue":h=n;break;case "checked":p=n;break;case "value":e=n;break;default:K(a,d,g,n)}null!==p?K(a,d,"checked",p):null!==m&&K(a,d,"checked",m);null!==e?K(a,d,"value",e):null!==h&&K(a,d,"value",h);a.push(Ha);return null;case "menuitem":a.push(N("menuitem"));for(var C in c)if(y.call(c,C)&&(e=c[C],null!=e))switch(C){case "children":case "dangerouslySetInnerHTML":throw Error("menuitems cannot have `children` nor `dangerouslySetInnerHTML`.");default:K(a,d,C,e)}a.push(L);
|
|
15214
|
+
return null;case "title":a.push(N("title"));e=null;for(v in c)if(y.call(c,v)&&(g=c[v],null!=g))switch(v){case "children":e=g;break;case "dangerouslySetInnerHTML":throw Error("`dangerouslySetInnerHTML` does not make sense on <title>.");default:K(a,d,v,g)}a.push(L);return e;case "listing":case "pre":a.push(N(b));g=e=null;for(m in c)if(y.call(c,m)&&(h=c[m],null!=h))switch(m){case "children":e=h;break;case "dangerouslySetInnerHTML":g=h;break;default:K(a,d,m,h)}a.push(L);if(null!=g){if(null!=e)throw Error("Can only set one of `children` or `props.dangerouslySetInnerHTML`.");
|
|
15215
|
+
if("object"!==typeof g||!("__html"in g))throw Error("`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://reactjs.org/link/dangerously-set-inner-html for more information.");c=g.__html;null!==c&&void 0!==c&&("string"===typeof c&&0<c.length&&"\n"===c[0]?a.push(La,c):a.push(""+c))}"string"===typeof e&&"\n"===e[0]&&a.push(La);return e;case "area":case "base":case "br":case "col":case "embed":case "hr":case "img":case "keygen":case "link":case "meta":case "param":case "source":case "track":case "wbr":a.push(N(b));
|
|
15216
|
+
for(var D in c)if(y.call(c,D)&&(e=c[D],null!=e))switch(D){case "children":case "dangerouslySetInnerHTML":throw Error(b+" is a self-closing tag and must neither have `children` nor use `dangerouslySetInnerHTML`.");default:K(a,d,D,e)}a.push(Ha);return null;case "annotation-xml":case "color-profile":case "font-face":case "font-face-src":case "font-face-uri":case "font-face-format":case "font-face-name":case "missing-glyph":return Ka(a,c,b,d);case "html":return 0===f.insertionMode&&a.push(Oa),Ka(a,c,
|
|
15217
|
+
b,d);default:if(-1===b.indexOf("-")&&"string"!==typeof c.is)return Ka(a,c,b,d);a.push(N(b));g=e=null;for(n in c)if(y.call(c,n)&&(h=c[n],null!=h))switch(n){case "children":e=h;break;case "dangerouslySetInnerHTML":g=h;break;case "style":Fa(a,d,h);break;case "suppressContentEditableWarning":case "suppressHydrationWarning":break;default:ha(n)&&"function"!==typeof h&&"symbol"!==typeof h&&a.push(I,n,J,F(h),H)}a.push(L);M(a,g,e);return e}}
|
|
15218
|
+
var Qa=x("</"),Ra=x(">"),Sa=x('<template id="'),Ta=x('"></template>'),Ua=x("\x3c!--$--\x3e"),Va=x('\x3c!--$?--\x3e<template id="'),Wa=x('"></template>'),Xa=x("\x3c!--$!--\x3e"),Ya=x("\x3c!--/$--\x3e"),Za=x("<template"),$a=x('"'),ab=x(' data-dgst="');x(' data-msg="');x(' data-stck="');var bb=x("></template>");function cb(a,b,c){r(a,Va);if(null===c)throw Error("An ID must have been assigned before we can complete the boundary.");r(a,c);return w(a,Wa)}
|
|
15219
|
+
var db=x('<div hidden id="'),eb=x('">'),fb=x("</div>"),gb=x('<svg aria-hidden="true" style="display:none" id="'),hb=x('">'),ib=x("</svg>"),jb=x('<math aria-hidden="true" style="display:none" id="'),kb=x('">'),lb=x("</math>"),mb=x('<table hidden id="'),nb=x('">'),ob=x("</table>"),pb=x('<table hidden><tbody id="'),qb=x('">'),rb=x("</tbody></table>"),sb=x('<table hidden><tr id="'),tb=x('">'),ub=x("</tr></table>"),vb=x('<table hidden><colgroup id="'),wb=x('">'),xb=x("</colgroup></table>");
|
|
15220
|
+
function yb(a,b,c,d){switch(c.insertionMode){case 0:case 1:return r(a,db),r(a,b.segmentPrefix),r(a,d.toString(16)),w(a,eb);case 2:return r(a,gb),r(a,b.segmentPrefix),r(a,d.toString(16)),w(a,hb);case 3:return r(a,jb),r(a,b.segmentPrefix),r(a,d.toString(16)),w(a,kb);case 4:return r(a,mb),r(a,b.segmentPrefix),r(a,d.toString(16)),w(a,nb);case 5:return r(a,pb),r(a,b.segmentPrefix),r(a,d.toString(16)),w(a,qb);case 6:return r(a,sb),r(a,b.segmentPrefix),r(a,d.toString(16)),w(a,tb);case 7:return r(a,vb),r(a,
|
|
15221
|
+
b.segmentPrefix),r(a,d.toString(16)),w(a,wb);default:throw Error("Unknown insertion mode. This is a bug in React.");}}function zb(a,b){switch(b.insertionMode){case 0:case 1:return w(a,fb);case 2:return w(a,ib);case 3:return w(a,lb);case 4:return w(a,ob);case 5:return w(a,rb);case 6:return w(a,ub);case 7:return w(a,xb);default:throw Error("Unknown insertion mode. This is a bug in React.");}}
|
|
15222
|
+
var Ab=x('function $RS(a,b){a=document.getElementById(a);b=document.getElementById(b);for(a.parentNode.removeChild(a);a.firstChild;)b.parentNode.insertBefore(a.firstChild,b);b.parentNode.removeChild(b)};$RS("'),Bb=x('$RS("'),Cb=x('","'),Db=x('")\x3c/script>'),Fb=x('function $RC(a,b){a=document.getElementById(a);b=document.getElementById(b);b.parentNode.removeChild(b);if(a){a=a.previousSibling;var f=a.parentNode,c=a.nextSibling,e=0;do{if(c&&8===c.nodeType){var d=c.data;if("/$"===d)if(0===e)break;else e--;else"$"!==d&&"$?"!==d&&"$!"!==d||e++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;b.firstChild;)f.insertBefore(b.firstChild,c);a.data="$";a._reactRetry&&a._reactRetry()}};$RC("'),
|
|
15223
|
+
Gb=x('$RC("'),Hb=x('","'),Ib=x('")\x3c/script>'),Jb=x('function $RX(b,c,d,e){var a=document.getElementById(b);a&&(b=a.previousSibling,b.data="$!",a=a.dataset,c&&(a.dgst=c),d&&(a.msg=d),e&&(a.stck=e),b._reactRetry&&b._reactRetry())};$RX("'),Kb=x('$RX("'),Lb=x('"'),Mb=x(")\x3c/script>"),Nb=x(","),Ob=/[<\u2028\u2029]/g;
|
|
15224
|
+
function Pb(a){return JSON.stringify(a).replace(Ob,function(a){switch(a){case "<":return"\\u003c";case "\u2028":return"\\u2028";case "\u2029":return"\\u2029";default:throw Error("escapeJSStringsForInstructionScripts encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React");}})}
|
|
15225
|
+
var O=Object.assign,Qb=Symbol.for("react.element"),Rb=Symbol.for("react.portal"),Sb=Symbol.for("react.fragment"),Tb=Symbol.for("react.strict_mode"),Ub=Symbol.for("react.profiler"),Vb=Symbol.for("react.provider"),Wb=Symbol.for("react.context"),Xb=Symbol.for("react.forward_ref"),Yb=Symbol.for("react.suspense"),Zb=Symbol.for("react.suspense_list"),$b=Symbol.for("react.memo"),ac=Symbol.for("react.lazy"),bc=Symbol.for("react.scope"),cc=Symbol.for("react.debug_trace_mode"),dc=Symbol.for("react.legacy_hidden"),
|
|
15226
|
+
ec=Symbol.for("react.default_value"),fc=Symbol.iterator;
|
|
15227
|
+
function gc(a){if(null==a)return null;if("function"===typeof a)return a.displayName||a.name||null;if("string"===typeof a)return a;switch(a){case Sb:return"Fragment";case Rb:return"Portal";case Ub:return"Profiler";case Tb:return"StrictMode";case Yb:return"Suspense";case Zb:return"SuspenseList"}if("object"===typeof a)switch(a.$$typeof){case Wb:return(a.displayName||"Context")+".Consumer";case Vb:return(a._context.displayName||"Context")+".Provider";case Xb:var b=a.render;a=a.displayName;a||(a=b.displayName||
|
|
15228
|
+
b.name||"",a=""!==a?"ForwardRef("+a+")":"ForwardRef");return a;case $b:return b=a.displayName||null,null!==b?b:gc(a.type)||"Memo";case ac:b=a._payload;a=a._init;try{return gc(a(b))}catch(c){}}return null}var hc={};function ic(a,b){a=a.contextTypes;if(!a)return hc;var c={},d;for(d in a)c[d]=b[d];return c}var P=null;
|
|
15229
|
+
function Q(a,b){if(a!==b){a.context._currentValue=a.parentValue;a=a.parent;var c=b.parent;if(null===a){if(null!==c)throw Error("The stacks must reach the root at the same time. This is a bug in React.");}else{if(null===c)throw Error("The stacks must reach the root at the same time. This is a bug in React.");Q(a,c)}b.context._currentValue=b.value}}function jc(a){a.context._currentValue=a.parentValue;a=a.parent;null!==a&&jc(a)}
|
|
15230
|
+
function kc(a){var b=a.parent;null!==b&&kc(b);a.context._currentValue=a.value}function lc(a,b){a.context._currentValue=a.parentValue;a=a.parent;if(null===a)throw Error("The depth must equal at least at zero before reaching the root. This is a bug in React.");a.depth===b.depth?Q(a,b):lc(a,b)}
|
|
15231
|
+
function mc(a,b){var c=b.parent;if(null===c)throw Error("The depth must equal at least at zero before reaching the root. This is a bug in React.");a.depth===c.depth?Q(a,c):mc(a,c);b.context._currentValue=b.value}function nc(a){var b=P;b!==a&&(null===b?kc(a):null===a?jc(b):b.depth===a.depth?Q(b,a):b.depth>a.depth?lc(b,a):mc(b,a),P=a)}
|
|
15232
|
+
var oc={isMounted:function(){return!1},enqueueSetState:function(a,b){a=a._reactInternals;null!==a.queue&&a.queue.push(b)},enqueueReplaceState:function(a,b){a=a._reactInternals;a.replace=!0;a.queue=[b]},enqueueForceUpdate:function(){}};
|
|
15233
|
+
function pc(a,b,c,d){var f=void 0!==a.state?a.state:null;a.updater=oc;a.props=c;a.state=f;var e={queue:[],replace:!1};a._reactInternals=e;var g=b.contextType;a.context="object"===typeof g&&null!==g?g._currentValue:d;g=b.getDerivedStateFromProps;"function"===typeof g&&(g=g(c,f),f=null===g||void 0===g?f:O({},f,g),a.state=f);if("function"!==typeof b.getDerivedStateFromProps&&"function"!==typeof a.getSnapshotBeforeUpdate&&("function"===typeof a.UNSAFE_componentWillMount||"function"===typeof a.componentWillMount))if(b=
|
|
15234
|
+
a.state,"function"===typeof a.componentWillMount&&a.componentWillMount(),"function"===typeof a.UNSAFE_componentWillMount&&a.UNSAFE_componentWillMount(),b!==a.state&&oc.enqueueReplaceState(a,a.state,null),null!==e.queue&&0<e.queue.length)if(b=e.queue,g=e.replace,e.queue=null,e.replace=!1,g&&1===b.length)a.state=b[0];else{e=g?b[0]:a.state;f=!0;for(g=g?1:0;g<b.length;g++){var h=b[g];h="function"===typeof h?h.call(a,e,c,d):h;null!=h&&(f?(f=!1,e=O({},e,h)):O(e,h))}a.state=e}else e.queue=null}
|
|
15235
|
+
var qc={id:1,overflow:""};function rc(a,b,c){var d=a.id;a=a.overflow;var f=32-sc(d)-1;d&=~(1<<f);c+=1;var e=32-sc(b)+f;if(30<e){var g=f-f%5;e=(d&(1<<g)-1).toString(32);d>>=g;f-=g;return{id:1<<32-sc(b)+f|c<<f|d,overflow:e+a}}return{id:1<<e|c<<f|d,overflow:a}}var sc=Math.clz32?Math.clz32:tc,uc=Math.log,vc=Math.LN2;function tc(a){a>>>=0;return 0===a?32:31-(uc(a)/vc|0)|0}function wc(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}
|
|
15236
|
+
var xc="function"===typeof Object.is?Object.is:wc,R=null,yc=null,zc=null,S=null,T=!1,Ac=!1,U=0,V=null,Bc=0;
|
|
15237
|
+
function W(){if(null===R)throw Error("Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.");return R}
|
|
15238
|
+
function Cc(){if(0<Bc)throw Error("Rendered more hooks than during the previous render");return{memoizedState:null,queue:null,next:null}}function Dc(){null===S?null===zc?(T=!1,zc=S=Cc()):(T=!0,S=zc):null===S.next?(T=!1,S=S.next=Cc()):(T=!0,S=S.next);return S}function Ec(){yc=R=null;Ac=!1;zc=null;Bc=0;S=V=null}function Fc(a,b){return"function"===typeof b?b(a):b}
|
|
15239
|
+
function Gc(a,b,c){R=W();S=Dc();if(T){var d=S.queue;b=d.dispatch;if(null!==V&&(c=V.get(d),void 0!==c)){V.delete(d);d=S.memoizedState;do d=a(d,c.action),c=c.next;while(null!==c);S.memoizedState=d;return[d,b]}return[S.memoizedState,b]}a=a===Fc?"function"===typeof b?b():b:void 0!==c?c(b):b;S.memoizedState=a;a=S.queue={last:null,dispatch:null};a=a.dispatch=Hc.bind(null,R,a);return[S.memoizedState,a]}
|
|
15240
|
+
function Ic(a,b){R=W();S=Dc();b=void 0===b?null:b;if(null!==S){var c=S.memoizedState;if(null!==c&&null!==b){var d=c[1];a:if(null===d)d=!1;else{for(var f=0;f<d.length&&f<b.length;f++)if(!xc(b[f],d[f])){d=!1;break a}d=!0}if(d)return c[0]}}a=a();S.memoizedState=[a,b];return a}
|
|
15241
|
+
function Hc(a,b,c){if(25<=Bc)throw Error("Too many re-renders. React limits the number of renders to prevent an infinite loop.");if(a===R)if(Ac=!0,a={action:c,next:null},null===V&&(V=new Map),c=V.get(b),void 0===c)V.set(b,a);else{for(b=c;null!==b.next;)b=b.next;b.next=a}}function Jc(){throw Error("startTransition cannot be called during server rendering.");}function Kc(){}
|
|
15242
|
+
var Mc={readContext:function(a){return a._currentValue},useContext:function(a){W();return a._currentValue},useMemo:Ic,useReducer:Gc,useRef:function(a){R=W();S=Dc();var b=S.memoizedState;return null===b?(a={current:a},S.memoizedState=a):b},useState:function(a){return Gc(Fc,a)},useInsertionEffect:Kc,useLayoutEffect:function(){},useCallback:function(a,b){return Ic(function(){return a},b)},useImperativeHandle:Kc,useEffect:Kc,useDebugValue:Kc,useDeferredValue:function(a){W();return a},useTransition:function(){W();
|
|
15243
|
+
return[!1,Jc]},useId:function(){var a=yc.treeContext;var b=a.overflow;a=a.id;a=(a&~(1<<32-sc(a)-1)).toString(32)+b;var c=Lc;if(null===c)throw Error("Invalid hook call. Hooks can only be called inside of the body of a function component.");b=U++;a=":"+c.idPrefix+"R"+a;0<b&&(a+="H"+b.toString(32));return a+":"},useMutableSource:function(a,b){W();return b(a._source)},useSyncExternalStore:function(a,b,c){if(void 0===c)throw Error("Missing getServerSnapshot, which is required for server-rendered content. Will revert to client rendering.");
|
|
15244
|
+
return c()}},Lc=null,Nc=ba.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher;function Oc(a){console.error(a);return null}function X(){}function Pc(a,b){var c=a.pingedTasks;c.push(b);1===c.length&&setImmediate(function(){return Qc(a)})}
|
|
15245
|
+
function Rc(a,b,c,d,f,e,g,h){a.allPendingTasks++;null===c?a.pendingRootTasks++:c.pendingTasks++;var m={node:b,ping:function(){return Pc(a,m)},blockedBoundary:c,blockedSegment:d,abortSet:f,legacyContext:e,context:g,treeContext:h};f.add(m);return m}function Sc(a,b,c,d,f,e){return{status:0,id:-1,index:b,parentFlushed:!1,chunks:[],children:[],formatContext:d,boundary:c,lastPushedText:f,textEmbedded:e}}
|
|
15246
|
+
function Y(a,b){a=a.onError(b);if(null!=a&&"string"!==typeof a)throw Error('onError returned something with a type other than "string". onError should return a string and may return null or undefined but must not return anything else. It received something of type "'+typeof a+'" instead');return a}function Tc(a,b){var c=a.onShellError;c(b);c=a.onFatalError;c(b);null!==a.destination?(a.status=2,a.destination.destroy(b)):(a.status=1,a.fatalError=b)}
|
|
15247
|
+
function Uc(a,b,c,d,f){R={};yc=b;U=0;for(a=c(d,f);Ac;)Ac=!1,U=0,Bc+=1,S=null,a=c(d,f);Ec();return a}function Vc(a,b,c,d){var f=c.render(),e=d.childContextTypes;if(null!==e&&void 0!==e){var g=b.legacyContext;if("function"!==typeof c.getChildContext)d=g;else{c=c.getChildContext();for(var h in c)if(!(h in e))throw Error((gc(d)||"Unknown")+'.getChildContext(): key "'+h+'" is not defined in childContextTypes.');d=O({},g,c)}b.legacyContext=d;Z(a,b,f);b.legacyContext=g}else Z(a,b,f)}
|
|
15248
|
+
function Wc(a,b){if(a&&a.defaultProps){b=O({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c]);return b}return b}
|
|
15249
|
+
function Xc(a,b,c,d,f){if("function"===typeof c)if(c.prototype&&c.prototype.isReactComponent){f=ic(c,b.legacyContext);var e=c.contextType;e=new c(d,"object"===typeof e&&null!==e?e._currentValue:f);pc(e,c,d,f);Vc(a,b,e,c)}else{e=ic(c,b.legacyContext);f=Uc(a,b,c,d,e);var g=0!==U;if("object"===typeof f&&null!==f&&"function"===typeof f.render&&void 0===f.$$typeof)pc(f,c,d,e),Vc(a,b,f,c);else if(g){d=b.treeContext;b.treeContext=rc(d,1,0);try{Z(a,b,f)}finally{b.treeContext=d}}else Z(a,b,f)}else if("string"===
|
|
15250
|
+
typeof c){f=b.blockedSegment;e=Pa(f.chunks,c,d,a.responseState,f.formatContext);f.lastPushedText=!1;g=f.formatContext;f.formatContext=ya(g,c,d);Yc(a,b,e);f.formatContext=g;switch(c){case "area":case "base":case "br":case "col":case "embed":case "hr":case "img":case "input":case "keygen":case "link":case "meta":case "param":case "source":case "track":case "wbr":break;default:f.chunks.push(Qa,c,Ra)}f.lastPushedText=!1}else{switch(c){case dc:case cc:case Tb:case Ub:case Sb:Z(a,b,d.children);return;case Zb:Z(a,
|
|
15251
|
+
b,d.children);return;case bc:throw Error("ReactDOMServer does not yet support scope components.");case Yb:a:{c=b.blockedBoundary;f=b.blockedSegment;e=d.fallback;d=d.children;g=new Set;var h={id:null,rootSegmentID:-1,parentFlushed:!1,pendingTasks:0,forceClientRender:!1,completedSegments:[],byteSize:0,fallbackAbortableTasks:g,errorDigest:null},m=Sc(a,f.chunks.length,h,f.formatContext,!1,!1);f.children.push(m);f.lastPushedText=!1;var n=Sc(a,0,null,f.formatContext,!1,!1);n.parentFlushed=!0;b.blockedBoundary=
|
|
15252
|
+
h;b.blockedSegment=n;try{if(Yc(a,b,d),n.lastPushedText&&n.textEmbedded&&n.chunks.push(za),n.status=1,Zc(h,n),0===h.pendingTasks)break a}catch(p){n.status=4,h.forceClientRender=!0,h.errorDigest=Y(a,p)}finally{b.blockedBoundary=c,b.blockedSegment=f}b=Rc(a,e,c,m,g,b.legacyContext,b.context,b.treeContext);a.pingedTasks.push(b)}return}if("object"===typeof c&&null!==c)switch(c.$$typeof){case Xb:d=Uc(a,b,c.render,d,f);if(0!==U){c=b.treeContext;b.treeContext=rc(c,1,0);try{Z(a,b,d)}finally{b.treeContext=c}}else Z(a,
|
|
15253
|
+
b,d);return;case $b:c=c.type;d=Wc(c,d);Xc(a,b,c,d,f);return;case Vb:f=d.children;c=c._context;d=d.value;e=c._currentValue;c._currentValue=d;g=P;P=d={parent:g,depth:null===g?0:g.depth+1,context:c,parentValue:e,value:d};b.context=d;Z(a,b,f);a=P;if(null===a)throw Error("Tried to pop a Context at the root of the app. This is a bug in React.");d=a.parentValue;a.context._currentValue=d===ec?a.context._defaultValue:d;a=P=a.parent;b.context=a;return;case Wb:d=d.children;d=d(c._currentValue);Z(a,b,d);return;
|
|
15254
|
+
case ac:f=c._init;c=f(c._payload);d=Wc(c,d);Xc(a,b,c,d,void 0);return}throw Error("Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: "+((null==c?c:typeof c)+"."));}}
|
|
15255
|
+
function Z(a,b,c){b.node=c;if("object"===typeof c&&null!==c){switch(c.$$typeof){case Qb:Xc(a,b,c.type,c.props,c.ref);return;case Rb:throw Error("Portals are not currently supported by the server renderer. Render them conditionally so that they only appear on the client render.");case ac:var d=c._init;c=d(c._payload);Z(a,b,c);return}if(qa(c)){$c(a,b,c);return}null===c||"object"!==typeof c?d=null:(d=fc&&c[fc]||c["@@iterator"],d="function"===typeof d?d:null);if(d&&(d=d.call(c))){c=d.next();if(!c.done){var f=
|
|
15256
|
+
[];do f.push(c.value),c=d.next();while(!c.done);$c(a,b,f)}return}a=Object.prototype.toString.call(c);throw Error("Objects are not valid as a React child (found: "+("[object Object]"===a?"object with keys {"+Object.keys(c).join(", ")+"}":a)+"). If you meant to render a collection of children, use an array instead.");}"string"===typeof c?(d=b.blockedSegment,d.lastPushedText=Aa(b.blockedSegment.chunks,c,a.responseState,d.lastPushedText)):"number"===typeof c&&(d=b.blockedSegment,d.lastPushedText=Aa(b.blockedSegment.chunks,
|
|
15257
|
+
""+c,a.responseState,d.lastPushedText))}function $c(a,b,c){for(var d=c.length,f=0;f<d;f++){var e=b.treeContext;b.treeContext=rc(e,d,f);try{Yc(a,b,c[f])}finally{b.treeContext=e}}}
|
|
15258
|
+
function Yc(a,b,c){var d=b.blockedSegment.formatContext,f=b.legacyContext,e=b.context;try{return Z(a,b,c)}catch(m){if(Ec(),"object"===typeof m&&null!==m&&"function"===typeof m.then){c=m;var g=b.blockedSegment,h=Sc(a,g.chunks.length,null,g.formatContext,g.lastPushedText,!0);g.children.push(h);g.lastPushedText=!1;a=Rc(a,b.node,b.blockedBoundary,h,b.abortSet,b.legacyContext,b.context,b.treeContext).ping;c.then(a,a);b.blockedSegment.formatContext=d;b.legacyContext=f;b.context=e;nc(e)}else throw b.blockedSegment.formatContext=
|
|
15259
|
+
d,b.legacyContext=f,b.context=e,nc(e),m;}}function ad(a){var b=a.blockedBoundary;a=a.blockedSegment;a.status=3;bd(this,b,a)}
|
|
15260
|
+
function cd(a,b,c){var d=a.blockedBoundary;a.blockedSegment.status=3;null===d?(b.allPendingTasks--,2!==b.status&&(b.status=2,null!==b.destination&&b.destination.end())):(d.pendingTasks--,d.forceClientRender||(d.forceClientRender=!0,d.errorDigest=b.onError(void 0===c?Error("The render was aborted by the server without a reason."):c),d.parentFlushed&&b.clientRenderedBoundaries.push(d)),d.fallbackAbortableTasks.forEach(function(a){return cd(a,b,c)}),d.fallbackAbortableTasks.clear(),b.allPendingTasks--,
|
|
15261
|
+
0===b.allPendingTasks&&(a=b.onAllReady,a()))}function Zc(a,b){if(0===b.chunks.length&&1===b.children.length&&null===b.children[0].boundary){var c=b.children[0];c.id=b.id;c.parentFlushed=!0;1===c.status&&Zc(a,c)}else a.completedSegments.push(b)}
|
|
15262
|
+
function bd(a,b,c){if(null===b){if(c.parentFlushed){if(null!==a.completedRootSegment)throw Error("There can only be one root segment. This is a bug in React.");a.completedRootSegment=c}a.pendingRootTasks--;0===a.pendingRootTasks&&(a.onShellError=X,b=a.onShellReady,b())}else b.pendingTasks--,b.forceClientRender||(0===b.pendingTasks?(c.parentFlushed&&1===c.status&&Zc(b,c),b.parentFlushed&&a.completedBoundaries.push(b),b.fallbackAbortableTasks.forEach(ad,a),b.fallbackAbortableTasks.clear()):c.parentFlushed&&
|
|
15263
|
+
1===c.status&&(Zc(b,c),1===b.completedSegments.length&&b.parentFlushed&&a.partialBoundaries.push(b)));a.allPendingTasks--;0===a.allPendingTasks&&(a=a.onAllReady,a())}
|
|
15264
|
+
function Qc(a){if(2!==a.status){var b=P,c=Nc.current;Nc.current=Mc;var d=Lc;Lc=a.responseState;try{var f=a.pingedTasks,e;for(e=0;e<f.length;e++){var g=f[e];var h=a,m=g.blockedSegment;if(0===m.status){nc(g.context);try{Z(h,g,g.node),m.lastPushedText&&m.textEmbedded&&m.chunks.push(za),g.abortSet.delete(g),m.status=1,bd(h,g.blockedBoundary,m)}catch(E){if(Ec(),"object"===typeof E&&null!==E&&"function"===typeof E.then){var n=g.ping;E.then(n,n)}else{g.abortSet.delete(g);m.status=4;var p=g.blockedBoundary,
|
|
15265
|
+
v=E,C=Y(h,v);null===p?Tc(h,v):(p.pendingTasks--,p.forceClientRender||(p.forceClientRender=!0,p.errorDigest=C,p.parentFlushed&&h.clientRenderedBoundaries.push(p)));h.allPendingTasks--;if(0===h.allPendingTasks){var D=h.onAllReady;D()}}}finally{}}}f.splice(0,e);null!==a.destination&&dd(a,a.destination)}catch(E){Y(a,E),Tc(a,E)}finally{Lc=d,Nc.current=c,c===Mc&&nc(b)}}}
|
|
15266
|
+
function ed(a,b,c){c.parentFlushed=!0;switch(c.status){case 0:var d=c.id=a.nextSegmentId++;c.lastPushedText=!1;c.textEmbedded=!1;a=a.responseState;r(b,Sa);r(b,a.placeholderPrefix);a=d.toString(16);r(b,a);return w(b,Ta);case 1:c.status=2;var f=!0;d=c.chunks;var e=0;c=c.children;for(var g=0;g<c.length;g++){for(f=c[g];e<f.index;e++)r(b,d[e]);f=fd(a,b,f)}for(;e<d.length-1;e++)r(b,d[e]);e<d.length&&(f=w(b,d[e]));return f;default:throw Error("Aborted, errored or already flushed boundaries should not be flushed again. This is a bug in React.");
|
|
15267
|
+
}}
|
|
15268
|
+
function fd(a,b,c){var d=c.boundary;if(null===d)return ed(a,b,c);d.parentFlushed=!0;if(d.forceClientRender)d=d.errorDigest,w(b,Xa),r(b,Za),d&&(r(b,ab),r(b,F(d)),r(b,$a)),w(b,bb),ed(a,b,c);else if(0<d.pendingTasks){d.rootSegmentID=a.nextSegmentId++;0<d.completedSegments.length&&a.partialBoundaries.push(d);var f=a.responseState;var e=f.nextSuspenseID++;f=x(f.boundaryPrefix+e.toString(16));d=d.id=f;cb(b,a.responseState,d);ed(a,b,c)}else if(d.byteSize>a.progressiveChunkSize)d.rootSegmentID=a.nextSegmentId++,a.completedBoundaries.push(d),
|
|
15269
|
+
cb(b,a.responseState,d.id),ed(a,b,c);else{w(b,Ua);c=d.completedSegments;if(1!==c.length)throw Error("A previously unvisited boundary must have exactly one root segment. This is a bug in React.");fd(a,b,c[0])}return w(b,Ya)}function gd(a,b,c){yb(b,a.responseState,c.formatContext,c.id);fd(a,b,c);return zb(b,c.formatContext)}
|
|
15270
|
+
function hd(a,b,c){for(var d=c.completedSegments,f=0;f<d.length;f++)id(a,b,c,d[f]);d.length=0;a=a.responseState;d=c.id;c=c.rootSegmentID;r(b,a.startInlineScript);a.sentCompleteBoundaryFunction?r(b,Gb):(a.sentCompleteBoundaryFunction=!0,r(b,Fb));if(null===d)throw Error("An ID must have been assigned before we can complete the boundary.");c=c.toString(16);r(b,d);r(b,Hb);r(b,a.segmentPrefix);r(b,c);return w(b,Ib)}
|
|
15271
|
+
function id(a,b,c,d){if(2===d.status)return!0;var f=d.id;if(-1===f){if(-1===(d.id=c.rootSegmentID))throw Error("A root segment ID must have been assigned by now. This is a bug in React.");return gd(a,b,d)}gd(a,b,d);a=a.responseState;r(b,a.startInlineScript);a.sentCompleteSegmentFunction?r(b,Bb):(a.sentCompleteSegmentFunction=!0,r(b,Ab));r(b,a.segmentPrefix);f=f.toString(16);r(b,f);r(b,Cb);r(b,a.placeholderPrefix);r(b,f);return w(b,Db)}
|
|
15272
|
+
function dd(a,b){k=new Uint8Array(2048);l=0;q=!0;try{var c=a.completedRootSegment;if(null!==c&&0===a.pendingRootTasks){fd(a,b,c);a.completedRootSegment=null;var d=a.responseState.bootstrapChunks;for(c=0;c<d.length-1;c++)r(b,d[c]);c<d.length&&w(b,d[c])}var f=a.clientRenderedBoundaries,e;for(e=0;e<f.length;e++){var g=f[e];d=b;var h=a.responseState,m=g.id,n=g.errorDigest,p=g.errorMessage,v=g.errorComponentStack;r(d,h.startInlineScript);h.sentClientRenderFunction?r(d,Kb):(h.sentClientRenderFunction=!0,
|
|
15273
|
+
r(d,Jb));if(null===m)throw Error("An ID must have been assigned before we can complete the boundary.");r(d,m);r(d,Lb);if(n||p||v)r(d,Nb),r(d,Pb(n||""));if(p||v)r(d,Nb),r(d,Pb(p||""));v&&(r(d,Nb),r(d,Pb(v)));if(!w(d,Mb)){a.destination=null;e++;f.splice(0,e);return}}f.splice(0,e);var C=a.completedBoundaries;for(e=0;e<C.length;e++)if(!hd(a,b,C[e])){a.destination=null;e++;C.splice(0,e);return}C.splice(0,e);ca(b);k=new Uint8Array(2048);l=0;q=!0;var D=a.partialBoundaries;for(e=0;e<D.length;e++){var E=D[e];
|
|
15274
|
+
a:{f=a;g=b;var na=E.completedSegments;for(h=0;h<na.length;h++)if(!id(f,g,E,na[h])){h++;na.splice(0,h);var Eb=!1;break a}na.splice(0,h);Eb=!0}if(!Eb){a.destination=null;e++;D.splice(0,e);return}}D.splice(0,e);var oa=a.completedBoundaries;for(e=0;e<oa.length;e++)if(!hd(a,b,oa[e])){a.destination=null;e++;oa.splice(0,e);return}oa.splice(0,e)}finally{ca(b),"function"===typeof b.flush&&b.flush(),0===a.allPendingTasks&&0===a.pingedTasks.length&&0===a.clientRenderedBoundaries.length&&0===a.completedBoundaries.length&&
|
|
15275
|
+
b.end()}}function jd(a){setImmediate(function(){return Qc(a)})}function kd(a,b){if(1===a.status)a.status=2,b.destroy(a.fatalError);else if(2!==a.status&&null===a.destination){a.destination=b;try{dd(a,b)}catch(c){Y(a,c),Tc(a,c)}}}function ld(a,b){try{var c=a.abortableTasks;c.forEach(function(c){return cd(c,a,b)});c.clear();null!==a.destination&&dd(a,a.destination)}catch(d){Y(a,d),Tc(a,d)}}function md(a,b){return function(){return kd(b,a)}}function nd(a,b){return function(){return ld(a,b)}}
|
|
15276
|
+
function od(a,b){var c=b?b.identifierPrefix:void 0,d=b?b.nonce:void 0,f=b?b.bootstrapScriptContent:void 0,e=b?b.bootstrapScripts:void 0;var g=b?b.bootstrapModules:void 0;c=void 0===c?"":c;d=void 0===d?ra:x('<script nonce="'+F(d)+'">');var h=[];void 0!==f&&h.push(d,(""+f).replace(wa,xa),sa);if(void 0!==e)for(f=0;f<e.length;f++)h.push(ta,F(e[f]),va);if(void 0!==g)for(e=0;e<g.length;e++)h.push(ua,F(g[e]),va);g={bootstrapChunks:h,startInlineScript:d,placeholderPrefix:x(c+"P:"),segmentPrefix:x(c+"S:"),
|
|
15277
|
+
boundaryPrefix:c+"B:",idPrefix:c,nextSuspenseID:0,sentCompleteSegmentFunction:!1,sentCompleteBoundaryFunction:!1,sentClientRenderFunction:!1};e=b?b.namespaceURI:void 0;e=G("http://www.w3.org/2000/svg"===e?2:"http://www.w3.org/1998/Math/MathML"===e?3:0,null);f=b?b.progressiveChunkSize:void 0;d=b?b.onError:void 0;h=b?b.onAllReady:void 0;var m=b?b.onShellReady:void 0,n=b?b.onShellError:void 0;b=[];c=new Set;g={destination:null,responseState:g,progressiveChunkSize:void 0===f?12800:f,status:0,fatalError:null,
|
|
15278
|
+
nextSegmentId:0,allPendingTasks:0,pendingRootTasks:0,completedRootSegment:null,abortableTasks:c,pingedTasks:b,clientRenderedBoundaries:[],completedBoundaries:[],partialBoundaries:[],onError:void 0===d?Oc:d,onAllReady:void 0===h?X:h,onShellReady:void 0===m?X:m,onShellError:void 0===n?X:n,onFatalError:X};e=Sc(g,0,null,e,!1,!1);e.parentFlushed=!0;a=Rc(g,a,null,e,c,hc,null,qc);b.push(a);return g}
|
|
15279
|
+
exports.renderToPipeableStream=function(a,b){var c=od(a,b),d=!1;jd(c);return{pipe:function(a){if(d)throw Error("React currently only supports piping to one writable stream.");d=!0;kd(c,a);a.on("drain",md(a,c));a.on("error",nd(c,Error("The destination stream errored while writing data.")));a.on("close",nd(c,Error("The destination stream closed early.")));return a},abort:function(a){ld(c,a)}}};exports.version="18.2.0";
|
|
15280
|
+
|
|
15281
|
+
|
|
15282
|
+
/***/ }),
|
|
15283
|
+
|
|
15284
|
+
/***/ 4362:
|
|
15285
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
15286
|
+
|
|
15287
|
+
"use strict";
|
|
15288
|
+
var __webpack_unused_export__;
|
|
15289
|
+
|
|
15290
|
+
|
|
15291
|
+
var l, s;
|
|
15292
|
+
if (true) {
|
|
15293
|
+
l = __webpack_require__(6711);
|
|
15294
|
+
s = __webpack_require__(6513);
|
|
15295
|
+
} else {}
|
|
15296
|
+
|
|
15297
|
+
__webpack_unused_export__ = l.version;
|
|
15298
|
+
__webpack_unused_export__ = l.renderToString;
|
|
15299
|
+
exports.qV = l.renderToStaticMarkup;
|
|
15300
|
+
__webpack_unused_export__ = l.renderToNodeStream;
|
|
15301
|
+
__webpack_unused_export__ = l.renderToStaticNodeStream;
|
|
15302
|
+
__webpack_unused_export__ = s.renderToPipeableStream;
|
|
15303
|
+
|
|
15304
|
+
|
|
15063
15305
|
/***/ }),
|
|
15064
15306
|
|
|
15065
15307
|
/***/ 3753:
|
|
@@ -18739,6 +18981,14 @@ module.exports = require("path");
|
|
|
18739
18981
|
|
|
18740
18982
|
/***/ }),
|
|
18741
18983
|
|
|
18984
|
+
/***/ 2203:
|
|
18985
|
+
/***/ ((module) => {
|
|
18986
|
+
|
|
18987
|
+
"use strict";
|
|
18988
|
+
module.exports = require("stream");
|
|
18989
|
+
|
|
18990
|
+
/***/ }),
|
|
18991
|
+
|
|
18742
18992
|
/***/ 7016:
|
|
18743
18993
|
/***/ ((module) => {
|
|
18744
18994
|
|
|
@@ -18747,6 +18997,14 @@ module.exports = require("url");
|
|
|
18747
18997
|
|
|
18748
18998
|
/***/ }),
|
|
18749
18999
|
|
|
19000
|
+
/***/ 9023:
|
|
19001
|
+
/***/ ((module) => {
|
|
19002
|
+
|
|
19003
|
+
"use strict";
|
|
19004
|
+
module.exports = require("util");
|
|
19005
|
+
|
|
19006
|
+
/***/ }),
|
|
19007
|
+
|
|
18750
19008
|
/***/ 5042:
|
|
18751
19009
|
/***/ ((module) => {
|
|
18752
19010
|
|
|
@@ -19474,9 +19732,13 @@ const Columns = ({ children, layout = 'auto' }) => {
|
|
|
19474
19732
|
/* eslint-disable react/jsx-props-no-spreading */
|
|
19475
19733
|
|
|
19476
19734
|
const Favicon = ({ src, alt = 'favicon', ...attr }) => (external_react_default().createElement("img", { ...attr, alt: alt, height: "14", src: src, width: "14" }));
|
|
19477
|
-
const
|
|
19735
|
+
const IFRAME_DERIVABLE_TYPES = new Set(['youtube', 'jsfiddle', 'pdf']);
|
|
19736
|
+
// HTML width/height attrs accept bare numbers (interpreted as px), but CSS does not, convert.
|
|
19737
|
+
const toCssSize = (v, fallback) => (v ? (/^\d+$/.test(v) ? `${v}px` : v) : fallback);
|
|
19738
|
+
const Embed = ({ lazy = true, url, html, providerName, providerUrl, title, iframe, image, favicon, typeOfEmbed, ...attrs }) => {
|
|
19739
|
+
const explicitOptOut = iframe === false || iframe === 'false';
|
|
19478
19740
|
if (typeof iframe !== 'boolean')
|
|
19479
|
-
iframe = iframe === 'true';
|
|
19741
|
+
iframe = iframe === 'true' || typeOfEmbed === 'iframe';
|
|
19480
19742
|
if (html) {
|
|
19481
19743
|
try {
|
|
19482
19744
|
if (html !== decodeURIComponent(html)) {
|
|
@@ -19491,8 +19753,18 @@ const Embed = ({ lazy = true, url, html, providerName, providerUrl, title, ifram
|
|
|
19491
19753
|
html = undefined;
|
|
19492
19754
|
}
|
|
19493
19755
|
}
|
|
19494
|
-
|
|
19495
|
-
|
|
19756
|
+
const { height, width, ...spreadAttrs } = attrs;
|
|
19757
|
+
const iframeStyle = {
|
|
19758
|
+
border: 'none',
|
|
19759
|
+
display: 'flex',
|
|
19760
|
+
margin: 'auto',
|
|
19761
|
+
width: toCssSize(width, '100%'),
|
|
19762
|
+
height: toCssSize(height, '480px'),
|
|
19763
|
+
};
|
|
19764
|
+
// Fall back to a direct iframe for URL-derivable embed types when html is missing.
|
|
19765
|
+
const renderTypeAsIframe = !html && !explicitOptOut && url && typeOfEmbed && IFRAME_DERIVABLE_TYPES.has(typeOfEmbed);
|
|
19766
|
+
if (iframe || renderTypeAsIframe) {
|
|
19767
|
+
return external_react_default().createElement("iframe", { ...spreadAttrs, src: url, style: iframeStyle, title: title });
|
|
19496
19768
|
}
|
|
19497
19769
|
if (!providerUrl && url)
|
|
19498
19770
|
providerUrl = new URL(url).hostname
|
|
@@ -24562,9 +24834,10 @@ const LightboxPortal = ({ children }) => {
|
|
|
24562
24834
|
return (0,external_react_dom_namespaceObject.createPortal)(children, document.body);
|
|
24563
24835
|
};
|
|
24564
24836
|
const Image = (Props) => {
|
|
24565
|
-
const { align = '', alt = '', border: borderProp = false, caption, className = '', height = 'auto', src, title = '', width = 'auto', lazy = true, children, } = Props;
|
|
24566
|
-
// Normalize border: MDXish passes {false} as the string "false", not a boolean
|
|
24837
|
+
const { align = '', alt = '', border: borderProp = false, caption, className = '', framed: framedProp = false, height = 'auto', src, title = '', width = 'auto', lazy = true, children, } = Props;
|
|
24838
|
+
// Normalize border/framed: MDXish passes {false} as the string "false", not a boolean
|
|
24567
24839
|
const border = borderProp === true || borderProp === 'true';
|
|
24840
|
+
const framed = framedProp === true || framedProp === 'true';
|
|
24568
24841
|
const [lightbox, setLightbox] = external_react_.useState(false);
|
|
24569
24842
|
if (className === 'emoji') {
|
|
24570
24843
|
return external_react_.createElement("img", { alt: alt, height: height, loading: lazy ? 'lazy' : 'eager', src: src, title: title, width: width });
|
|
@@ -24593,7 +24866,10 @@ const Image = (Props) => {
|
|
|
24593
24866
|
return;
|
|
24594
24867
|
setLightbox(!lightbox);
|
|
24595
24868
|
};
|
|
24596
|
-
|
|
24869
|
+
// Framed images center the <img> itself; outer wrapper handles left/right alignment via text-align.
|
|
24870
|
+
const imgElement = (external_react_.createElement("img", { alt: alt, className: `img ${caption || children || framed ? 'img-align-center' : align ? `img-align-${align}` : ''} ${border ? 'border' : ''}`, height: height, loading: lazy ? 'lazy' : 'eager', src: src, title: title, width: width }));
|
|
24871
|
+
const closedLightbox = (ariaLabel, content) => (external_react_.createElement("span", { "aria-label": ariaLabel, className: "img lightbox closed", onClick: toggle, onKeyDown: handleKeyDown, role: 'button', tabIndex: 0 },
|
|
24872
|
+
external_react_.createElement("span", { className: "lightbox-inner" }, content)));
|
|
24597
24873
|
const lightboxOverlay = lightbox ? (external_react_.createElement(LightboxPortal, null,
|
|
24598
24874
|
external_react_.createElement("div", { className: "markdown-body" },
|
|
24599
24875
|
external_react_.createElement("span", { "aria-label": alt || 'Collapse image', className: "img lightbox open", onClick: toggle, onKeyDown: handleKeyDown, role: 'button', tabIndex: 0 },
|
|
@@ -24602,17 +24878,27 @@ const Image = (Props) => {
|
|
|
24602
24878
|
(children || caption) && external_react_.createElement("figcaption", null, children || caption))),
|
|
24603
24879
|
external_react_.createElement("button", { "aria-label": "Minimize image", className: "lightbox-close", onClick: toggle, type: "button" },
|
|
24604
24880
|
external_react_.createElement("i", { "aria-hidden": "true", className: "fa-solid fa-xmark" }))))) : null;
|
|
24881
|
+
if (framed) {
|
|
24882
|
+
const frameClass = `img-frame img-frame-${align || 'center'}`;
|
|
24883
|
+
if (children || caption) {
|
|
24884
|
+
return (external_react_.createElement("figure", { className: frameClass },
|
|
24885
|
+
closedLightbox(alt || 'Expand image', imgElement),
|
|
24886
|
+
lightboxOverlay,
|
|
24887
|
+
external_react_.createElement("figcaption", null, children || caption)));
|
|
24888
|
+
}
|
|
24889
|
+
return (external_react_.createElement("div", { className: frameClass },
|
|
24890
|
+
closedLightbox(alt || 'Expand image', imgElement),
|
|
24891
|
+
lightboxOverlay));
|
|
24892
|
+
}
|
|
24605
24893
|
if (children || caption) {
|
|
24606
24894
|
return (external_react_.createElement("figure", null,
|
|
24607
|
-
|
|
24608
|
-
|
|
24609
|
-
|
|
24610
|
-
external_react_.createElement("figcaption", null, children || caption))),
|
|
24895
|
+
closedLightbox(alt || 'Expand image', external_react_.createElement(external_react_.Fragment, null,
|
|
24896
|
+
imgElement,
|
|
24897
|
+
external_react_.createElement("figcaption", null, children || caption))),
|
|
24611
24898
|
lightboxOverlay));
|
|
24612
24899
|
}
|
|
24613
24900
|
return (external_react_.createElement(external_react_.Fragment, null,
|
|
24614
|
-
|
|
24615
|
-
external_react_.createElement("span", { className: "lightbox-inner" }, imgElement)),
|
|
24901
|
+
closedLightbox('Expand image', imgElement),
|
|
24616
24902
|
lightboxOverlay));
|
|
24617
24903
|
};
|
|
24618
24904
|
/* harmony default export */ const components_Image = (Image);
|
|
@@ -24850,12 +25136,14 @@ const Tab = ({ children }) => {
|
|
|
24850
25136
|
};
|
|
24851
25137
|
const Tabs = ({ children }) => {
|
|
24852
25138
|
const [activeTab, setActiveTab] = (0,external_react_.useState)(0);
|
|
25139
|
+
// React passes `children` as a single element when there's only one child, so normalize.
|
|
25140
|
+
const tabs = external_react_default().Children.toArray(children);
|
|
24853
25141
|
return (external_react_default().createElement("div", { className: "TabGroup" },
|
|
24854
25142
|
external_react_default().createElement("header", null,
|
|
24855
|
-
external_react_default().createElement("nav", { className: "TabGroup-nav" },
|
|
25143
|
+
external_react_default().createElement("nav", { className: "TabGroup-nav" }, tabs.map((tab, index) => (external_react_default().createElement("button", { key: tab.props.title, className: `TabGroup-tab${activeTab === index ? '_active' : ''}`, onClick: () => setActiveTab(index) },
|
|
24856
25144
|
tab.props.icon && (external_react_default().createElement("i", { className: `TabGroup-icon fa-duotone fa-solid ${tab.props.icon}`, style: { color: `${tab.props.iconColor}` } })),
|
|
24857
25145
|
tab.props.title))))),
|
|
24858
|
-
external_react_default().createElement("section", null,
|
|
25146
|
+
external_react_default().createElement("section", null, tabs[activeTab])));
|
|
24859
25147
|
};
|
|
24860
25148
|
/* harmony default export */ const components_Tabs = (Tabs);
|
|
24861
25149
|
|
|
@@ -25105,17 +25393,32 @@ const TailwindStyle = ({ children, darkModeDataAttribute }) => {
|
|
|
25105
25393
|
records.forEach(record => {
|
|
25106
25394
|
if (record.type === 'childList') {
|
|
25107
25395
|
record.addedNodes.forEach(node => {
|
|
25108
|
-
if (!(node instanceof HTMLElement)
|
|
25396
|
+
if (!(node instanceof HTMLElement))
|
|
25109
25397
|
return;
|
|
25110
|
-
|
|
25111
|
-
|
|
25398
|
+
const sizeBefore = classesSet.current.size;
|
|
25399
|
+
if (node.classList.contains(tailwindPrefix)) {
|
|
25400
|
+
// traverse visits all descendants recursively, no need to querySelectorAll
|
|
25401
|
+
traverse(node, addClasses);
|
|
25402
|
+
}
|
|
25403
|
+
else {
|
|
25404
|
+
// Node isn't a TailwindRoot itself — check descendants.
|
|
25405
|
+
// React may insert a parent wrapper during navigation whose
|
|
25406
|
+
// children contain TailwindRoot elements.
|
|
25407
|
+
node.querySelectorAll(`.${tailwindPrefix}`).forEach(child => {
|
|
25408
|
+
traverse(child, addClasses);
|
|
25409
|
+
});
|
|
25410
|
+
}
|
|
25411
|
+
if (classesSet.current.size > sizeBefore)
|
|
25412
|
+
shouldUpdate = true;
|
|
25112
25413
|
});
|
|
25113
25414
|
}
|
|
25114
25415
|
else if (record.type === 'attributes') {
|
|
25115
25416
|
if (record.attributeName !== 'class' || !(record.target instanceof HTMLElement))
|
|
25116
25417
|
return;
|
|
25418
|
+
const sizeBefore = classesSet.current.size;
|
|
25117
25419
|
addClasses(record.target);
|
|
25118
|
-
|
|
25420
|
+
if (classesSet.current.size > sizeBefore)
|
|
25421
|
+
shouldUpdate = true;
|
|
25119
25422
|
}
|
|
25120
25423
|
});
|
|
25121
25424
|
if (shouldUpdate) {
|
|
@@ -74260,11 +74563,20 @@ const mdast = (text, opts = {}) => {
|
|
|
74260
74563
|
|
|
74261
74564
|
|
|
74262
74565
|
|
|
74566
|
+
|
|
74567
|
+
|
|
74568
|
+
/**
|
|
74569
|
+
* Single instance of acorn parser extended with `acorn-jsx`
|
|
74570
|
+
* to parse expressions containing JSX.
|
|
74571
|
+
*/
|
|
74572
|
+
const jsxAcornParser = Parser.extend(acorn_jsx_default()());
|
|
74263
74573
|
/**
|
|
74264
74574
|
* Evaluate a JavaScript expression source and return its value.
|
|
74265
74575
|
*
|
|
74266
74576
|
* Wrapping in parens lets object literals (`{color: 'red'}`) parse as
|
|
74267
|
-
* expressions.
|
|
74577
|
+
* expressions. Pass `scope` to expose named bindings (e.g. values introduced
|
|
74578
|
+
* by an `export const`) to the expression; without it, only self-contained
|
|
74579
|
+
* literals resolve.
|
|
74268
74580
|
*
|
|
74269
74581
|
* > ☢️ **Danger**: this `eval`s JavaScript. Only call when safeMode is off —
|
|
74270
74582
|
* > safeMode's contract is that expression syntax is never evaluated, and the
|
|
@@ -74273,9 +74585,11 @@ const mdast = (text, opts = {}) => {
|
|
|
74273
74585
|
*
|
|
74274
74586
|
* Throws on parse/runtime error; callers decide the fallback.
|
|
74275
74587
|
*/
|
|
74276
|
-
function evaluate(source) {
|
|
74588
|
+
function evaluate(source, scope = {}) {
|
|
74589
|
+
const names = Object.keys(scope);
|
|
74590
|
+
const values = names.map(name => scope[name]);
|
|
74277
74591
|
// eslint-disable-next-line no-new-func
|
|
74278
|
-
return new Function(`return (${source})`)();
|
|
74592
|
+
return new Function(...names, `return (${source})`)(...values);
|
|
74279
74593
|
}
|
|
74280
74594
|
/**
|
|
74281
74595
|
* Formats the hProperties of a node as a string, so they can be compiled back into JSX/MDX.
|
|
@@ -95508,13 +95822,14 @@ const applyInserts = (html, inserts) => {
|
|
|
95508
95822
|
const sorted = [...inserts].sort((a, b) => a.offset - b.offset);
|
|
95509
95823
|
let out = '';
|
|
95510
95824
|
let cursor = 0;
|
|
95511
|
-
sorted.forEach(({ offset, text }) => {
|
|
95825
|
+
sorted.forEach(({ offset, text, consumes = 0 }) => {
|
|
95512
95826
|
const clamped = Math.min(Math.max(offset, cursor), html.length);
|
|
95513
95827
|
if (clamped > cursor) {
|
|
95514
95828
|
out += html.slice(cursor, clamped);
|
|
95515
95829
|
cursor = clamped;
|
|
95516
95830
|
}
|
|
95517
95831
|
out += text;
|
|
95832
|
+
cursor = Math.min(cursor + consumes, html.length);
|
|
95518
95833
|
});
|
|
95519
95834
|
return { value: out + html.slice(cursor), inserts: sorted };
|
|
95520
95835
|
};
|
|
@@ -95626,9 +95941,10 @@ const buildOffsetMapper = (inserts) => {
|
|
|
95626
95941
|
// Pre-compute each insert's start in repaired-space.
|
|
95627
95942
|
let acc = 0;
|
|
95628
95943
|
const segments = inserts.map(ins => {
|
|
95944
|
+
const consumes = ins.consumes ?? 0;
|
|
95629
95945
|
const repairedStart = ins.offset + acc;
|
|
95630
|
-
acc += ins.text.length;
|
|
95631
|
-
return { origOffset: ins.offset, len: ins.text.length, repairedStart };
|
|
95946
|
+
acc += ins.text.length - consumes;
|
|
95947
|
+
return { origOffset: ins.offset, consumes, len: ins.text.length, repairedStart };
|
|
95632
95948
|
});
|
|
95633
95949
|
return (repaired) => {
|
|
95634
95950
|
// Offsets inside an insert's synthetic span have no original counterpart;
|
|
@@ -95636,7 +95952,7 @@ const buildOffsetMapper = (inserts) => {
|
|
|
95636
95952
|
const hit = segments.find(seg => seg.repairedStart < repaired && repaired < seg.repairedStart + seg.len);
|
|
95637
95953
|
if (hit)
|
|
95638
95954
|
return hit.origOffset;
|
|
95639
|
-
const shift = segments.reduce((acc2, seg) => (seg.repairedStart < repaired ? acc2 + seg.len : acc2), 0);
|
|
95955
|
+
const shift = segments.reduce((acc2, seg) => (seg.repairedStart < repaired ? acc2 + seg.len - seg.consumes : acc2), 0);
|
|
95640
95956
|
return repaired - shift;
|
|
95641
95957
|
};
|
|
95642
95958
|
};
|
|
@@ -95815,6 +96131,43 @@ const HTML_VOID_ELEMENTS = new Set([
|
|
|
95815
96131
|
|
|
95816
96132
|
|
|
95817
96133
|
const isStandardHtmlTag = (name) => STANDARD_HTML_TAGS.has(name.toLowerCase());
|
|
96134
|
+
// Intentionally simpler than htmlparser2: `[^>]*` does not honor `>` inside
|
|
96135
|
+
// quoted attribute values. That's acceptable here because the main walker
|
|
96136
|
+
// (htmlparser2) handles attribute parsing; this scan only needs to locate
|
|
96137
|
+
// orphan closers, which can't appear inside an attribute value anyway.
|
|
96138
|
+
const HTML_TAG_TOKEN_RE = /<(\/)?([a-zA-Z][a-zA-Z0-9-]*)\b[^>]*>/g;
|
|
96139
|
+
/**
|
|
96140
|
+
* htmlparser2 silently drops closing tags that have no matching opener
|
|
96141
|
+
* (e.g. the trailing `</li>` in `<ul><li>x</ul></li>`), leaving them in the
|
|
96142
|
+
* source makes mdxjs choke on the dangling closer. Scan the masked
|
|
96143
|
+
* source for `</name>` tokens that don't pair with any prior unmatched
|
|
96144
|
+
* `<name>` and return their spans so the caller can drop them.
|
|
96145
|
+
*/
|
|
96146
|
+
const findOrphanClosers = (html) => {
|
|
96147
|
+
const masked = maskNonTagRegions(html);
|
|
96148
|
+
const stack = [];
|
|
96149
|
+
const orphans = [];
|
|
96150
|
+
HTML_TAG_TOKEN_RE.lastIndex = 0;
|
|
96151
|
+
let match;
|
|
96152
|
+
while ((match = HTML_TAG_TOKEN_RE.exec(masked)) !== null) {
|
|
96153
|
+
const name = match[2].toLowerCase();
|
|
96154
|
+
// Non-HTML names and void elements are handled by the main walker.
|
|
96155
|
+
// eslint-disable-next-line no-continue
|
|
96156
|
+
if (!isStandardHtmlTag(name) || HTML_VOID_ELEMENTS.has(name))
|
|
96157
|
+
continue;
|
|
96158
|
+
if (match[1] === '/') {
|
|
96159
|
+
const idx = stack.lastIndexOf(name);
|
|
96160
|
+
if (idx === -1)
|
|
96161
|
+
orphans.push({ offset: match.index, length: match[0].length });
|
|
96162
|
+
else
|
|
96163
|
+
stack.length = idx;
|
|
96164
|
+
}
|
|
96165
|
+
else if (!match[0].endsWith('/>')) {
|
|
96166
|
+
stack.push(name);
|
|
96167
|
+
}
|
|
96168
|
+
}
|
|
96169
|
+
return orphans;
|
|
96170
|
+
};
|
|
95818
96171
|
/**
|
|
95819
96172
|
* MDX requires a JSX inline tag and its closer to live on the same line — not
|
|
95820
96173
|
* just the same paragraph. (`<td>\nArray <object>\n</object></td>` still
|
|
@@ -95871,6 +96224,7 @@ const repairUnclosedTags = (html) => {
|
|
|
95871
96224
|
inserts.push({ offset: findOffsetToPlaceCloser(html, openTag.end, start), text: `</${name}>` });
|
|
95872
96225
|
},
|
|
95873
96226
|
});
|
|
96227
|
+
findOrphanClosers(html).forEach(({ offset, length }) => inserts.push({ offset, text: '', consumes: length }));
|
|
95874
96228
|
return applyInserts(html, inserts);
|
|
95875
96229
|
};
|
|
95876
96230
|
|
|
@@ -118300,6 +118654,12 @@ function parseTextChildren(node, processMarkdown, components) {
|
|
|
118300
118654
|
node.children = node.children.flatMap(child => {
|
|
118301
118655
|
if (child.type !== 'text' || !child.value.trim())
|
|
118302
118656
|
return [child];
|
|
118657
|
+
// Store multiline template-literal children (e.g. {`...\n...`}) as a bare string prop
|
|
118658
|
+
// via node.properties.children so hast-to-hyperscript doesn't wrap them in an array.
|
|
118659
|
+
if (child.value.includes('\n')) {
|
|
118660
|
+
node.properties = { ...node.properties, children: child.value };
|
|
118661
|
+
return [];
|
|
118662
|
+
}
|
|
118303
118663
|
const hast = processMarkdown(child.value.trim());
|
|
118304
118664
|
const children = (hast.children ?? []).filter(isElementContentNode);
|
|
118305
118665
|
// For inline components, preserve plain text instead of wrapping in <p>
|
|
@@ -118361,6 +118721,10 @@ function normalizeProperties(node) {
|
|
|
118361
118721
|
*/
|
|
118362
118722
|
const rehypeMdxishComponents = ({ components, processMarkdown }) => {
|
|
118363
118723
|
return (tree, vfile) => {
|
|
118724
|
+
// Merge any local bindings introduced by `export const/function` declarations
|
|
118725
|
+
// (collected by the evaluate-exports transformer) into the lookup map.
|
|
118726
|
+
const localScope = vfile.data.mdxishScope ?? {};
|
|
118727
|
+
const allComponents = { ...components, ...localScope };
|
|
118364
118728
|
const nodesToRemove = [];
|
|
118365
118729
|
visit(tree, 'element', (node, index, parent) => {
|
|
118366
118730
|
if (index === undefined || !parent)
|
|
@@ -118384,14 +118748,14 @@ const rehypeMdxishComponents = ({ components, processMarkdown }) => {
|
|
|
118384
118748
|
if (isActualHtmlTag(node.tagName, original))
|
|
118385
118749
|
return;
|
|
118386
118750
|
}
|
|
118387
|
-
const componentName = getComponentName(node.tagName,
|
|
118751
|
+
const componentName = getComponentName(node.tagName, allComponents);
|
|
118388
118752
|
if (!componentName) {
|
|
118389
118753
|
nodesToRemove.push({ index, parent });
|
|
118390
118754
|
return;
|
|
118391
118755
|
}
|
|
118392
118756
|
node.tagName = componentName;
|
|
118393
118757
|
normalizeProperties(node);
|
|
118394
|
-
parseTextChildren(node, processMarkdown,
|
|
118758
|
+
parseTextChildren(node, processMarkdown, allComponents);
|
|
118395
118759
|
});
|
|
118396
118760
|
// Remove unknown components in reverse order to preserve indices
|
|
118397
118761
|
for (let i = nodesToRemove.length - 1; i >= 0; i -= 1) {
|
|
@@ -120447,6 +120811,123 @@ function createTokenize(mode) {
|
|
|
120447
120811
|
const isSameCaseAsTag = (code) => isLowercaseTag
|
|
120448
120812
|
? code >= codes.lowercaseA && code <= codes.lowercaseZ
|
|
120449
120813
|
: code >= codes.uppercaseA && code <= codes.uppercaseZ;
|
|
120814
|
+
// Shared brace-expression state machine. The two call sites differ only in where
|
|
120815
|
+
// to continue after a line ending and where to return when braceDepth reaches zero.
|
|
120816
|
+
function createBraceExprStates(continuationStart, afterBraceClose) {
|
|
120817
|
+
function braceExpr(code) {
|
|
120818
|
+
if (code === null)
|
|
120819
|
+
return nok(code);
|
|
120820
|
+
if (markdownLineEnding(code)) {
|
|
120821
|
+
if (!isFlow)
|
|
120822
|
+
return nok(code);
|
|
120823
|
+
effects.exit('mdxComponentData');
|
|
120824
|
+
return continuationStart(code);
|
|
120825
|
+
}
|
|
120826
|
+
if (code === codes.quotationMark || code === codes.apostrophe) {
|
|
120827
|
+
quoteChar = code;
|
|
120828
|
+
effects.consume(code);
|
|
120829
|
+
return braceString;
|
|
120830
|
+
}
|
|
120831
|
+
if (code === codes.graveAccent) {
|
|
120832
|
+
inTemplateLit = true;
|
|
120833
|
+
effects.consume(code);
|
|
120834
|
+
return braceTemplateLiteral;
|
|
120835
|
+
}
|
|
120836
|
+
if (code === codes.leftCurlyBrace) {
|
|
120837
|
+
braceDepth += 1;
|
|
120838
|
+
effects.consume(code);
|
|
120839
|
+
return braceExpr;
|
|
120840
|
+
}
|
|
120841
|
+
if (code === codes.rightCurlyBrace) {
|
|
120842
|
+
braceDepth -= 1;
|
|
120843
|
+
effects.consume(code);
|
|
120844
|
+
if (templateStack.length > 0 && braceDepth === templateStack[templateStack.length - 1]) {
|
|
120845
|
+
templateStack.pop();
|
|
120846
|
+
inTemplateLit = true;
|
|
120847
|
+
return braceTemplateLiteral;
|
|
120848
|
+
}
|
|
120849
|
+
if (braceDepth === 0) {
|
|
120850
|
+
return afterBraceClose;
|
|
120851
|
+
}
|
|
120852
|
+
return braceExpr;
|
|
120853
|
+
}
|
|
120854
|
+
effects.consume(code);
|
|
120855
|
+
return braceExpr;
|
|
120856
|
+
}
|
|
120857
|
+
function braceString(code) {
|
|
120858
|
+
if (code === null)
|
|
120859
|
+
return nok(code);
|
|
120860
|
+
if (markdownLineEnding(code)) {
|
|
120861
|
+
if (!isFlow)
|
|
120862
|
+
return nok(code);
|
|
120863
|
+
effects.exit('mdxComponentData');
|
|
120864
|
+
return continuationStart(code);
|
|
120865
|
+
}
|
|
120866
|
+
if (code === codes.backslash) {
|
|
120867
|
+
effects.consume(code);
|
|
120868
|
+
return braceStringEscape;
|
|
120869
|
+
}
|
|
120870
|
+
if (code === quoteChar) {
|
|
120871
|
+
effects.consume(code);
|
|
120872
|
+
quoteChar = null;
|
|
120873
|
+
return braceExpr;
|
|
120874
|
+
}
|
|
120875
|
+
effects.consume(code);
|
|
120876
|
+
return braceString;
|
|
120877
|
+
}
|
|
120878
|
+
function braceStringEscape(code) {
|
|
120879
|
+
if (code === null || markdownLineEnding(code)) {
|
|
120880
|
+
return braceString(code);
|
|
120881
|
+
}
|
|
120882
|
+
effects.consume(code);
|
|
120883
|
+
return braceString;
|
|
120884
|
+
}
|
|
120885
|
+
function braceTemplateLiteral(code) {
|
|
120886
|
+
if (code === null)
|
|
120887
|
+
return nok(code);
|
|
120888
|
+
if (markdownLineEnding(code)) {
|
|
120889
|
+
if (!isFlow)
|
|
120890
|
+
return nok(code);
|
|
120891
|
+
effects.exit('mdxComponentData');
|
|
120892
|
+
return continuationStart(code);
|
|
120893
|
+
}
|
|
120894
|
+
if (code === codes.graveAccent) {
|
|
120895
|
+
inTemplateLit = false;
|
|
120896
|
+
effects.consume(code);
|
|
120897
|
+
return braceExpr;
|
|
120898
|
+
}
|
|
120899
|
+
if (code === codes.backslash) {
|
|
120900
|
+
effects.consume(code);
|
|
120901
|
+
return braceTemplateLiteralEscape;
|
|
120902
|
+
}
|
|
120903
|
+
if (code === codes.dollarSign) {
|
|
120904
|
+
effects.consume(code);
|
|
120905
|
+
return braceTemplateLiteralDollar;
|
|
120906
|
+
}
|
|
120907
|
+
effects.consume(code);
|
|
120908
|
+
return braceTemplateLiteral;
|
|
120909
|
+
}
|
|
120910
|
+
function braceTemplateLiteralEscape(code) {
|
|
120911
|
+
if (code === null || markdownLineEnding(code)) {
|
|
120912
|
+
return braceTemplateLiteral(code);
|
|
120913
|
+
}
|
|
120914
|
+
effects.consume(code);
|
|
120915
|
+
return braceTemplateLiteral;
|
|
120916
|
+
}
|
|
120917
|
+
function braceTemplateLiteralDollar(code) {
|
|
120918
|
+
if (code === codes.leftCurlyBrace) {
|
|
120919
|
+
templateStack.push(braceDepth);
|
|
120920
|
+
braceDepth += 1;
|
|
120921
|
+
inTemplateLit = false;
|
|
120922
|
+
effects.consume(code);
|
|
120923
|
+
return braceExpr;
|
|
120924
|
+
}
|
|
120925
|
+
return braceTemplateLiteral(code);
|
|
120926
|
+
}
|
|
120927
|
+
return { braceExpr, braceString, braceTemplateLiteral };
|
|
120928
|
+
}
|
|
120929
|
+
const { braceExpr: inBraceExpr, braceString: inBraceString, braceTemplateLiteral: inBraceTemplateLiteral, } = createBraceExprStates(openTagContinuationStart, afterOpenTagName);
|
|
120930
|
+
const { braceExpr: inBodyBraceExpr, braceString: inBodyBraceString, braceTemplateLiteral: inBodyBraceTemplateLiteral, } = createBraceExprStates(bodyContinuationStart, body);
|
|
120450
120931
|
return start;
|
|
120451
120932
|
// ── Start ──────────────────────────────────────────────────────────────
|
|
120452
120933
|
function start(code) {
|
|
@@ -120569,126 +121050,6 @@ function createTokenize(mode) {
|
|
|
120569
121050
|
effects.consume(code);
|
|
120570
121051
|
return inQuotedAttr;
|
|
120571
121052
|
}
|
|
120572
|
-
function inBraceExpr(code) {
|
|
120573
|
-
if (code === null)
|
|
120574
|
-
return nok(code);
|
|
120575
|
-
if (markdownLineEnding(code)) {
|
|
120576
|
-
if (!isFlow)
|
|
120577
|
-
return nok(code);
|
|
120578
|
-
effects.exit('mdxComponentData');
|
|
120579
|
-
return openTagContinuationStart(code);
|
|
120580
|
-
}
|
|
120581
|
-
// Handle strings inside braces
|
|
120582
|
-
if (code === codes.quotationMark || code === codes.apostrophe) {
|
|
120583
|
-
quoteChar = code;
|
|
120584
|
-
effects.consume(code);
|
|
120585
|
-
return inBraceString;
|
|
120586
|
-
}
|
|
120587
|
-
// Handle template literals inside braces
|
|
120588
|
-
if (code === codes.graveAccent) {
|
|
120589
|
-
inTemplateLit = true;
|
|
120590
|
-
effects.consume(code);
|
|
120591
|
-
return inBraceTemplateLiteral;
|
|
120592
|
-
}
|
|
120593
|
-
if (code === codes.leftCurlyBrace) {
|
|
120594
|
-
braceDepth += 1;
|
|
120595
|
-
effects.consume(code);
|
|
120596
|
-
return inBraceExpr;
|
|
120597
|
-
}
|
|
120598
|
-
if (code === codes.rightCurlyBrace) {
|
|
120599
|
-
braceDepth -= 1;
|
|
120600
|
-
effects.consume(code);
|
|
120601
|
-
// Check if this } closes a ${...} interpolation
|
|
120602
|
-
if (templateStack.length > 0 && braceDepth === templateStack[templateStack.length - 1]) {
|
|
120603
|
-
templateStack.pop();
|
|
120604
|
-
inTemplateLit = true; // back inside the template literal
|
|
120605
|
-
return inBraceTemplateLiteral;
|
|
120606
|
-
}
|
|
120607
|
-
if (braceDepth === 0) {
|
|
120608
|
-
return afterOpenTagName;
|
|
120609
|
-
}
|
|
120610
|
-
return inBraceExpr;
|
|
120611
|
-
}
|
|
120612
|
-
effects.consume(code);
|
|
120613
|
-
return inBraceExpr;
|
|
120614
|
-
}
|
|
120615
|
-
function inBraceString(code) {
|
|
120616
|
-
if (code === null)
|
|
120617
|
-
return nok(code);
|
|
120618
|
-
if (markdownLineEnding(code)) {
|
|
120619
|
-
if (!isFlow)
|
|
120620
|
-
return nok(code);
|
|
120621
|
-
effects.exit('mdxComponentData');
|
|
120622
|
-
return openTagContinuationStart(code);
|
|
120623
|
-
}
|
|
120624
|
-
if (code === codes.backslash) {
|
|
120625
|
-
effects.consume(code);
|
|
120626
|
-
return inBraceStringEscape;
|
|
120627
|
-
}
|
|
120628
|
-
if (code === quoteChar) {
|
|
120629
|
-
effects.consume(code);
|
|
120630
|
-
quoteChar = null;
|
|
120631
|
-
return inBraceExpr;
|
|
120632
|
-
}
|
|
120633
|
-
effects.consume(code);
|
|
120634
|
-
return inBraceString;
|
|
120635
|
-
}
|
|
120636
|
-
function inBraceStringEscape(code) {
|
|
120637
|
-
if (code === null || markdownLineEnding(code)) {
|
|
120638
|
-
return inBraceString(code);
|
|
120639
|
-
}
|
|
120640
|
-
effects.consume(code);
|
|
120641
|
-
return inBraceString;
|
|
120642
|
-
}
|
|
120643
|
-
// ── Template literal handling inside brace expressions ─────────────────
|
|
120644
|
-
function inBraceTemplateLiteral(code) {
|
|
120645
|
-
if (code === null)
|
|
120646
|
-
return nok(code);
|
|
120647
|
-
if (markdownLineEnding(code)) {
|
|
120648
|
-
if (!isFlow)
|
|
120649
|
-
return nok(code);
|
|
120650
|
-
effects.exit('mdxComponentData');
|
|
120651
|
-
return openTagContinuationStart(code);
|
|
120652
|
-
}
|
|
120653
|
-
// Closing backtick ends the template literal
|
|
120654
|
-
if (code === codes.graveAccent) {
|
|
120655
|
-
inTemplateLit = false;
|
|
120656
|
-
effects.consume(code);
|
|
120657
|
-
return inBraceExpr;
|
|
120658
|
-
}
|
|
120659
|
-
// Backslash escape (e.g., \` or \$)
|
|
120660
|
-
if (code === codes.backslash) {
|
|
120661
|
-
effects.consume(code);
|
|
120662
|
-
return inBraceTemplateLiteralEscape;
|
|
120663
|
-
}
|
|
120664
|
-
// ${ starts an interpolation
|
|
120665
|
-
if (code === codes.dollarSign) {
|
|
120666
|
-
effects.consume(code);
|
|
120667
|
-
return inBraceTemplateLiteralDollar;
|
|
120668
|
-
}
|
|
120669
|
-
effects.consume(code);
|
|
120670
|
-
return inBraceTemplateLiteral;
|
|
120671
|
-
}
|
|
120672
|
-
function inBraceTemplateLiteralEscape(code) {
|
|
120673
|
-
if (code === null || markdownLineEnding(code)) {
|
|
120674
|
-
return inBraceTemplateLiteral(code);
|
|
120675
|
-
}
|
|
120676
|
-
effects.consume(code);
|
|
120677
|
-
return inBraceTemplateLiteral;
|
|
120678
|
-
}
|
|
120679
|
-
function inBraceTemplateLiteralDollar(code) {
|
|
120680
|
-
if (code === codes.leftCurlyBrace) {
|
|
120681
|
-
// Enter ${...} interpolation. Save current braceDepth so we know
|
|
120682
|
-
// when the matching } returns us to this template literal.
|
|
120683
|
-
templateStack.push(braceDepth);
|
|
120684
|
-
braceDepth += 1;
|
|
120685
|
-
inTemplateLit = false; // now inside interpolation expression
|
|
120686
|
-
effects.consume(code);
|
|
120687
|
-
return inBraceExpr;
|
|
120688
|
-
}
|
|
120689
|
-
// Just a $ not followed by { — back to template literal
|
|
120690
|
-
return inBraceTemplateLiteral(code);
|
|
120691
|
-
}
|
|
120692
121053
|
function selfCloseGt(code) {
|
|
120693
121054
|
if (code === codes.greaterThan) {
|
|
120694
121055
|
effects.consume(code);
|
|
@@ -120758,6 +121119,15 @@ function createTokenize(mode) {
|
|
|
120758
121119
|
codeSpanOpenSize = 0;
|
|
120759
121120
|
return countOpenTicks(code);
|
|
120760
121121
|
}
|
|
121122
|
+
// JSX expression child — track braces/template literals so the closing
|
|
121123
|
+
// backtick of `{`...`}` is not misread as a code span opener
|
|
121124
|
+
if (code === codes.leftCurlyBrace) {
|
|
121125
|
+
braceDepth = 1;
|
|
121126
|
+
inTemplateLit = false;
|
|
121127
|
+
effects.consume(code);
|
|
121128
|
+
atLineStart = false;
|
|
121129
|
+
return inBodyBraceExpr;
|
|
121130
|
+
}
|
|
120761
121131
|
effects.consume(code);
|
|
120762
121132
|
atLineStart = false;
|
|
120763
121133
|
return body;
|
|
@@ -120998,6 +121368,14 @@ function createTokenize(mode) {
|
|
|
120998
121368
|
return bodyContinuationStart(code);
|
|
120999
121369
|
}
|
|
121000
121370
|
effects.enter('mdxComponentData');
|
|
121371
|
+
// Resume inside a body brace expression if a line ending interrupted one
|
|
121372
|
+
if (braceDepth > 0) {
|
|
121373
|
+
if (inTemplateLit)
|
|
121374
|
+
return inBodyBraceTemplateLiteral(code);
|
|
121375
|
+
if (quoteChar !== null)
|
|
121376
|
+
return inBodyBraceString(code);
|
|
121377
|
+
return inBodyBraceExpr(code);
|
|
121378
|
+
}
|
|
121001
121379
|
// Detect tilde fences at line start
|
|
121002
121380
|
if (atLineStart && code === codes.tilde) {
|
|
121003
121381
|
return bodyAfterLineStart(code);
|
|
@@ -121100,7 +121478,8 @@ const buildInlineMdProcessor = (safeMode) => {
|
|
|
121100
121478
|
// Since evaluating expressions can be dangerous, do so only when safeMode is off
|
|
121101
121479
|
if (!safeMode) {
|
|
121102
121480
|
const mdxExprExt = mdxExpression({ allowEmpty: true });
|
|
121103
|
-
|
|
121481
|
+
// We include both flow and text extensions to support both single-line and multi-line expressions
|
|
121482
|
+
micromarkExts.push({ flow: mdxExprExt.flow, text: mdxExprExt.text });
|
|
121104
121483
|
fromMarkdownExts.push(mdxExpressionFromMarkdown());
|
|
121105
121484
|
}
|
|
121106
121485
|
return unified()
|
|
@@ -121613,57 +121992,180 @@ function restoreSnakeCase(placeholderName, mapping) {
|
|
|
121613
121992
|
return matchingKey ? mapping[matchingKey] : placeholderName;
|
|
121614
121993
|
}
|
|
121615
121994
|
|
|
121995
|
+
;// ./processor/transform/mdxish/evaluate-exports.ts
|
|
121996
|
+
|
|
121997
|
+
|
|
121998
|
+
|
|
121999
|
+
|
|
122000
|
+
|
|
122001
|
+
/**
|
|
122002
|
+
* Recursively extract all identifier names introduced by a binding pattern.
|
|
122003
|
+
* Handles destructuring (`{ a, b }`, `[x, y]`), rest elements (`...rest`),
|
|
122004
|
+
* and default values (`{ a = 1 }`).
|
|
122005
|
+
*/
|
|
122006
|
+
const namesFromPattern = (pattern) => {
|
|
122007
|
+
if (pattern.type === 'Identifier')
|
|
122008
|
+
return [pattern.name];
|
|
122009
|
+
if (pattern.type === 'ObjectPattern') {
|
|
122010
|
+
return pattern.properties.flatMap(prop => prop.type === 'RestElement' ? namesFromPattern(prop.argument) : namesFromPattern(prop.value));
|
|
122011
|
+
}
|
|
122012
|
+
if (pattern.type === 'ArrayPattern') {
|
|
122013
|
+
return pattern.elements.flatMap(el => (el ? namesFromPattern(el) : []));
|
|
122014
|
+
}
|
|
122015
|
+
if (pattern.type === 'RestElement')
|
|
122016
|
+
return namesFromPattern(pattern.argument);
|
|
122017
|
+
if (pattern.type === 'AssignmentPattern')
|
|
122018
|
+
return namesFromPattern(pattern.left);
|
|
122019
|
+
return [];
|
|
122020
|
+
};
|
|
122021
|
+
/**
|
|
122022
|
+
* Collect names introduced by an `export const/function/class` declaration.
|
|
122023
|
+
*/
|
|
122024
|
+
const collectExportNames = (declaration) => {
|
|
122025
|
+
if (declaration.type === 'VariableDeclaration') {
|
|
122026
|
+
return declaration.declarations.flatMap(dec => namesFromPattern(dec.id));
|
|
122027
|
+
}
|
|
122028
|
+
if ('id' in declaration && declaration.id?.type === 'Identifier') {
|
|
122029
|
+
return [declaration.id.name];
|
|
122030
|
+
}
|
|
122031
|
+
return [];
|
|
122032
|
+
};
|
|
122033
|
+
/**
|
|
122034
|
+
* Evaluate `export const/function` declarations introduced by mdxjsEsm nodes.
|
|
122035
|
+
*
|
|
122036
|
+
* Walks each mdxjsEsm node's estree to gather all export declarations while
|
|
122037
|
+
* stripping the `export` statements. All declarations are then evaluated in a
|
|
122038
|
+
* single sandboxed Function so that they can reference one another regardless
|
|
122039
|
+
* of source order. Every resulting binding lands in a flat scope record —
|
|
122040
|
+
* components, helpers, and plain values share the same map.
|
|
122041
|
+
*
|
|
122042
|
+
* Any evaluation error is consumed and logged. We don't throw because it's
|
|
122043
|
+
* against the spirit of this engine to be less permissive than MDX needs.
|
|
122044
|
+
*/
|
|
122045
|
+
const evaluateExports = () => (tree, file) => {
|
|
122046
|
+
const programBody = [];
|
|
122047
|
+
const exportNames = [];
|
|
122048
|
+
const nodesToRemove = [];
|
|
122049
|
+
visit(tree, isMDXEsm, (node, index, parent) => {
|
|
122050
|
+
if (parent && typeof index === 'number') {
|
|
122051
|
+
nodesToRemove.push({ index, parent: parent });
|
|
122052
|
+
}
|
|
122053
|
+
const estreeBody = node.data?.estree?.body;
|
|
122054
|
+
if (!estreeBody)
|
|
122055
|
+
return;
|
|
122056
|
+
// One mdxjsEsm node can contain multiple export declarations.
|
|
122057
|
+
// `export default function Foo()` and `export default class Foo {}` are
|
|
122058
|
+
// handled the same as a named export — the inner declaration carries the
|
|
122059
|
+
// binding name
|
|
122060
|
+
estreeBody.forEach(statement => {
|
|
122061
|
+
let declaration = null;
|
|
122062
|
+
if (statement.type === 'ExportNamedDeclaration' && statement.declaration) {
|
|
122063
|
+
declaration = statement.declaration;
|
|
122064
|
+
}
|
|
122065
|
+
else if (statement.type === 'ExportDefaultDeclaration' &&
|
|
122066
|
+
(statement.declaration.type === 'FunctionDeclaration' || statement.declaration.type === 'ClassDeclaration') &&
|
|
122067
|
+
statement.declaration.id) {
|
|
122068
|
+
declaration = statement.declaration;
|
|
122069
|
+
}
|
|
122070
|
+
if (!declaration)
|
|
122071
|
+
return;
|
|
122072
|
+
programBody.push(declaration);
|
|
122073
|
+
exportNames.push(...collectExportNames(declaration));
|
|
122074
|
+
});
|
|
122075
|
+
});
|
|
122076
|
+
// Remove the mdxjsEsm nodes from the tree
|
|
122077
|
+
nodesToRemove
|
|
122078
|
+
.sort((a, b) => b.index - a.index)
|
|
122079
|
+
.forEach(({ index, parent }) => parent.children.splice(index, 1));
|
|
122080
|
+
if (!exportNames.length)
|
|
122081
|
+
return tree;
|
|
122082
|
+
const scope = {};
|
|
122083
|
+
// Evaluate the declarations together at once in a single sandboxed Function
|
|
122084
|
+
try {
|
|
122085
|
+
const program = { type: 'Program', sourceType: 'module', body: programBody };
|
|
122086
|
+
buildJsx(program, { runtime: 'classic', pragma: 'React.createElement', pragmaFrag: 'React.Fragment' });
|
|
122087
|
+
const { value: source } = toJs(program);
|
|
122088
|
+
// Evaluate and build on the expression source
|
|
122089
|
+
// Use react to compile JSX codes
|
|
122090
|
+
const evaluatedExports = evaluate(`(() => { ${source}\nreturn { ${exportNames.join(', ')} }; })()`, { React: (external_react_default()) });
|
|
122091
|
+
Object.assign(scope, evaluatedExports);
|
|
122092
|
+
}
|
|
122093
|
+
catch (error) {
|
|
122094
|
+
// eslint-disable-next-line no-console
|
|
122095
|
+
console.warn('[WARNING] Failed to evaluate exported declarations:', error);
|
|
122096
|
+
// eslint-disable-next-line no-console
|
|
122097
|
+
console.warn('[WARNING] Falling back to not evaluating exported declarations.');
|
|
122098
|
+
}
|
|
122099
|
+
file.data.mdxishScope = scope;
|
|
122100
|
+
return tree;
|
|
122101
|
+
};
|
|
122102
|
+
/* harmony default export */ const evaluate_exports = (evaluateExports);
|
|
122103
|
+
|
|
122104
|
+
// EXTERNAL MODULE: ./node_modules/react-dom/server.node.js
|
|
122105
|
+
var server_node = __webpack_require__(4362);
|
|
121616
122106
|
;// ./processor/transform/mdxish/evaluate-expressions.ts
|
|
121617
122107
|
|
|
121618
122108
|
|
|
122109
|
+
|
|
122110
|
+
|
|
122111
|
+
|
|
122112
|
+
|
|
122113
|
+
const HAS_JSX = /<[A-Za-z]|<>/;
|
|
122114
|
+
/** The raw Function() can't parse JSX, so parse & convert it to a React element first so later we can get its HTML representation */
|
|
122115
|
+
const evalJsxExpression = (expression, scope) => {
|
|
122116
|
+
const program = jsxAcornParser.parse(expression, { ecmaVersion: 'latest', sourceType: 'module' });
|
|
122117
|
+
buildJsx(program, { runtime: 'classic', pragma: 'React.createElement', pragmaFrag: 'React.Fragment' });
|
|
122118
|
+
const { value: source } = toJs(program);
|
|
122119
|
+
return evaluate(`(() => { return ${source.trim().replace(/;$/, '')}; })()`, scope);
|
|
122120
|
+
};
|
|
122121
|
+
/** Evaluate an expression body, transforming JSX to `React.createElement` only when needed. */
|
|
122122
|
+
const evalExpression = (expression, scope) => {
|
|
122123
|
+
if (HAS_JSX.test(expression))
|
|
122124
|
+
return evalJsxExpression(expression, scope);
|
|
122125
|
+
return evaluate(expression, scope);
|
|
122126
|
+
};
|
|
122127
|
+
/** Given the type of the expression result, create the corresponding mdast node. */
|
|
122128
|
+
const createEvaluatedNode = (result, position) => {
|
|
122129
|
+
if (result === null || result === undefined) {
|
|
122130
|
+
return { type: 'text', value: '', position };
|
|
122131
|
+
}
|
|
122132
|
+
else if (external_react_default().isValidElement(result)) {
|
|
122133
|
+
// Convert react elements to its HTML representation
|
|
122134
|
+
// This must come before the object check as this is a subset of it
|
|
122135
|
+
return { type: 'html', value: (0,server_node/* renderToStaticMarkup */.qV)(result), position };
|
|
122136
|
+
}
|
|
122137
|
+
else if (typeof result === 'object') {
|
|
122138
|
+
return { type: 'text', value: JSON.stringify(result), position };
|
|
122139
|
+
}
|
|
122140
|
+
return { type: 'text', value: String(result), position };
|
|
122141
|
+
};
|
|
121619
122142
|
/**
|
|
121620
122143
|
* AST transformer to evaluate MDX expressions.
|
|
121621
122144
|
* Replaces mdxFlowExpression and mdxTextExpression nodes with their evaluated values.
|
|
121622
|
-
*
|
|
121623
|
-
*
|
|
121624
|
-
*
|
|
122145
|
+
* Self-contained expressions resolve directly (e.g. `{1+1}`); expressions that
|
|
122146
|
+
* reference identifiers can resolve if those identifiers were introduced by an
|
|
122147
|
+
* earlier `export const/function` (collected onto `file.data.mdxishScope`).
|
|
122148
|
+
* Anything else falls through to the error branch and is kept as literal `{...}` text.
|
|
121625
122149
|
*/
|
|
121626
|
-
const evaluateExpressions = () => tree => {
|
|
122150
|
+
const evaluateExpressions = () => (tree, file) => {
|
|
122151
|
+
const scope = { ...(file.data.mdxishScope), React: (external_react_default()) };
|
|
121627
122152
|
visit(tree, ['mdxFlowExpression', 'mdxTextExpression'], (node, index, parent) => {
|
|
121628
122153
|
if (!parent || index === null || index === undefined)
|
|
121629
122154
|
return;
|
|
121630
|
-
const
|
|
121631
|
-
|
|
121632
|
-
return;
|
|
121633
|
-
const expression = expressionNode.value.trim();
|
|
121634
|
-
// Skip if expression is empty (shouldn't happen, but defensive)
|
|
122155
|
+
const { value, position } = node;
|
|
122156
|
+
const expression = value?.trim();
|
|
121635
122157
|
if (!expression)
|
|
121636
122158
|
return;
|
|
121637
122159
|
try {
|
|
121638
|
-
const result =
|
|
121639
|
-
|
|
121640
|
-
let textValue;
|
|
121641
|
-
if (result === null || result === undefined) {
|
|
121642
|
-
textValue = '';
|
|
121643
|
-
}
|
|
121644
|
-
else if (typeof result === 'object') {
|
|
121645
|
-
textValue = JSON.stringify(result);
|
|
121646
|
-
}
|
|
121647
|
-
else {
|
|
121648
|
-
textValue = String(result).replace(/\s+/g, ' ').trim();
|
|
121649
|
-
}
|
|
121650
|
-
// Replace expression node with text node since the expression is conceptually a text
|
|
121651
|
-
parent.children.splice(index, 1, {
|
|
121652
|
-
type: 'text',
|
|
121653
|
-
value: textValue,
|
|
121654
|
-
position: expressionNode.position,
|
|
121655
|
-
});
|
|
122160
|
+
const result = evalExpression(expression, scope);
|
|
122161
|
+
parent.children.splice(index, 1, createEvaluatedNode(result, position));
|
|
121656
122162
|
}
|
|
121657
122163
|
catch (_error) {
|
|
121658
|
-
//
|
|
121659
|
-
//
|
|
121660
|
-
//
|
|
122164
|
+
// Evaluation failed — fall back to literal `{...}` text. The expression
|
|
122165
|
+
// parser treats contents as code, so backslash escapes aren't applied;
|
|
122166
|
+
// restore them here so e.g. `{\!}` round-trips to `{!}`.
|
|
121661
122167
|
const processed = expression.replace(/\\([!-/:-@[-`{-~])/g, '$1');
|
|
121662
|
-
parent.children.splice(index, 1, {
|
|
121663
|
-
type: 'text',
|
|
121664
|
-
value: `{${processed}}`,
|
|
121665
|
-
position: expressionNode.position,
|
|
121666
|
-
});
|
|
122168
|
+
parent.children.splice(index, 1, { type: 'text', value: `{${processed}}`, position });
|
|
121667
122169
|
}
|
|
121668
122170
|
});
|
|
121669
122171
|
return tree;
|
|
@@ -123345,7 +123847,7 @@ const transformAnchor = (jsx) => {
|
|
|
123345
123847
|
*/
|
|
123346
123848
|
const transformImage = (jsx) => {
|
|
123347
123849
|
const attrs = getAttrs(jsx);
|
|
123348
|
-
const { align, alt = '', border, caption, className, height, lazy, src = '', title = '', width } = attrs;
|
|
123850
|
+
const { align, alt = '', border, caption, className, framed, height, lazy, src = '', title = '', width } = attrs;
|
|
123349
123851
|
const validAlign = toImageAlign(align);
|
|
123350
123852
|
const sizing = width !== undefined ? String(width) : undefined;
|
|
123351
123853
|
const hProperties = {
|
|
@@ -123356,6 +123858,7 @@ const transformImage = (jsx) => {
|
|
|
123356
123858
|
...(border !== undefined && { border: toBool(border) }),
|
|
123357
123859
|
...(caption && { caption }),
|
|
123358
123860
|
...(className && { className }),
|
|
123861
|
+
...(framed !== undefined && { framed: toBool(framed) }),
|
|
123359
123862
|
...(height !== undefined && { height: String(height) }),
|
|
123360
123863
|
...(lazy !== undefined && { lazy: toBool(lazy) }),
|
|
123361
123864
|
...(sizing && { sizing }),
|
|
@@ -123369,6 +123872,7 @@ const transformImage = (jsx) => {
|
|
|
123369
123872
|
caption,
|
|
123370
123873
|
children: caption ? lib_mdast(caption).children : [],
|
|
123371
123874
|
className,
|
|
123875
|
+
framed: toBool(framed),
|
|
123372
123876
|
height: height !== undefined ? String(height) : undefined,
|
|
123373
123877
|
lazy: toBool(lazy),
|
|
123374
123878
|
sizing,
|
|
@@ -123737,6 +124241,14 @@ const mdxishJsxToMdast = () => tree => {
|
|
|
123737
124241
|
else if (node.border !== undefined) {
|
|
123738
124242
|
node.border = toBool(node.border);
|
|
123739
124243
|
}
|
|
124244
|
+
if (hProps.framed !== undefined) {
|
|
124245
|
+
const val = toBool(hProps.framed);
|
|
124246
|
+
node.framed = val;
|
|
124247
|
+
hProps.framed = val;
|
|
124248
|
+
}
|
|
124249
|
+
else if (node.framed !== undefined) {
|
|
124250
|
+
node.framed = toBool(node.framed);
|
|
124251
|
+
}
|
|
123740
124252
|
// Validate align
|
|
123741
124253
|
const validAlign = toImageAlign(hProps.align) || toImageAlign(node.align);
|
|
123742
124254
|
node.align = validAlign;
|
|
@@ -124191,11 +124703,30 @@ function normalizeTableSeparator(content) {
|
|
|
124191
124703
|
|
|
124192
124704
|
;// ./processor/transform/mdxish/terminate-html-flow-blocks.ts
|
|
124193
124705
|
|
|
124706
|
+
|
|
124194
124707
|
const STANDALONE_HTML_LINE_REGEX = /^(<[a-z][^<>]*>|<\/[a-z][^<>]*>)+\s*$/;
|
|
124195
124708
|
const HTML_LINE_WITH_CONTENT_REGEX = /^<[a-z][^<>]*>.*<\/[a-z][^<>]*>(?:[^<]*)$/;
|
|
124709
|
+
const terminate_html_flow_blocks_TABLE_STRUCTURE_TAGS = ['table', 'thead', 'tbody', 'tfoot', 'tr', 'td', 'th', 'caption', 'colgroup'];
|
|
124710
|
+
// Tags whose contents must be preserved as is, inserting a blank line after the
|
|
124711
|
+
// opener corrupts the payload.
|
|
124712
|
+
// htmlRawNames here refer to <pre>, <textarea>, <script>, <style>
|
|
124713
|
+
const RAW_CONTENT_TAGS = [...htmlRawNames, ...terminate_html_flow_blocks_TABLE_STRUCTURE_TAGS];
|
|
124714
|
+
// The `(?=[\s/>])` lookahead avoids false matches on lookalike names like `<script-foo>`.
|
|
124715
|
+
const RAW_CONTENT_TAG_MATCHERS = RAW_CONTENT_TAGS.map(tag => ({
|
|
124716
|
+
open: new RegExp(`<${tag}(?=[\\s/>])[^>]*?(?<!/)>`, 'gi'),
|
|
124717
|
+
close: new RegExp(`</${tag}(?=[\\s>])[^>]*>`, 'gi'),
|
|
124718
|
+
}));
|
|
124196
124719
|
function isLineHtml(line) {
|
|
124197
124720
|
return STANDALONE_HTML_LINE_REGEX.test(line) || HTML_LINE_WITH_CONTENT_REGEX.test(line);
|
|
124198
124721
|
}
|
|
124722
|
+
// True if any RAW_CONTENT_TAGS opener on this line is not closed on the same line.
|
|
124723
|
+
function hasUnclosedRawContentOpener(line) {
|
|
124724
|
+
return RAW_CONTENT_TAG_MATCHERS.some(({ open, close }) => {
|
|
124725
|
+
const opens = (line.match(open) ?? []).length;
|
|
124726
|
+
const closes = (line.match(close) ?? []).length;
|
|
124727
|
+
return opens > closes;
|
|
124728
|
+
});
|
|
124729
|
+
}
|
|
124199
124730
|
/**
|
|
124200
124731
|
* Preprocessor to terminate HTML flow blocks.
|
|
124201
124732
|
*
|
|
@@ -124206,15 +124737,16 @@ function isLineHtml(line) {
|
|
|
124206
124737
|
*
|
|
124207
124738
|
* @link https://spec.commonmark.org/0.29/#html-blocks
|
|
124208
124739
|
*
|
|
124209
|
-
* This preprocessor inserts a blank line after standalone HTML lines when the
|
|
124210
|
-
*
|
|
124211
|
-
*
|
|
124740
|
+
* This preprocessor inserts a blank line after standalone HTML lines when the next
|
|
124741
|
+
* line is non-blank and not an HTML construct, ensuring micromark's HTML flow
|
|
124742
|
+
* tokenizer terminates and subsequent content is parsed independently.
|
|
124212
124743
|
*
|
|
124213
124744
|
* Conditions:
|
|
124214
|
-
* 1. Only
|
|
124215
|
-
*
|
|
124216
|
-
*
|
|
124217
|
-
* 2. Lines inside protected blocks (e.g
|
|
124745
|
+
* 1. Only non-indented lines with lowercase tag names are considered. Uppercase tags
|
|
124746
|
+
* (e.g. `<Table>`, `<MyComponent>`) are JSX custom components and don't trigger
|
|
124747
|
+
* CommonMark HTML blocks.
|
|
124748
|
+
* 2. Lines inside protected blocks (e.g. fenced code) are left untouched.
|
|
124749
|
+
* 3. Lines with an unclosed RAW_CONTENT_TAGS opener are exempted.
|
|
124218
124750
|
*/
|
|
124219
124751
|
function terminateHtmlFlowBlocks(content) {
|
|
124220
124752
|
const { protectedContent, protectedCode } = protectCodeBlocks(content);
|
|
@@ -124229,7 +124761,7 @@ function terminateHtmlFlowBlocks(content) {
|
|
|
124229
124761
|
}
|
|
124230
124762
|
const isCurrentLineHtml = isLineHtml(lines[i]);
|
|
124231
124763
|
const isNextLineHtml = isLineHtml(lines[i + 1]);
|
|
124232
|
-
if (isCurrentLineHtml && !isNextLineHtml) {
|
|
124764
|
+
if (isCurrentLineHtml && !isNextLineHtml && !hasUnclosedRawContentOpener(lines[i])) {
|
|
124233
124765
|
result.push('');
|
|
124234
124766
|
}
|
|
124235
124767
|
}
|
|
@@ -124888,6 +125420,10 @@ function loadComponents() {
|
|
|
124888
125420
|
|
|
124889
125421
|
|
|
124890
125422
|
|
|
125423
|
+
|
|
125424
|
+
|
|
125425
|
+
|
|
125426
|
+
|
|
124891
125427
|
|
|
124892
125428
|
|
|
124893
125429
|
|
|
@@ -124959,6 +125495,9 @@ function mdxishAstProcessor(mdContent, opts = {}) {
|
|
|
124959
125495
|
// Insert mdx expression (text-only, no flow) after gemoji at index 3
|
|
124960
125496
|
micromarkExts.splice(3, 0, mdxExprTextOnly);
|
|
124961
125497
|
fromMarkdownExts.splice(3, 0, mdxExpressionFromMarkdown());
|
|
125498
|
+
// Tokenizer for MDX variable declarations
|
|
125499
|
+
micromarkExts.push(mdxjsEsm({ acorn: jsxAcornParser, addResult: true }));
|
|
125500
|
+
fromMarkdownExts.push(mdxjsEsmFromMarkdown());
|
|
124962
125501
|
}
|
|
124963
125502
|
if (!safeMode) {
|
|
124964
125503
|
// JSX comment tokenizer must come before magicBlock so it claims `{/* ... */}` first
|
|
@@ -125039,8 +125578,9 @@ function mdxish(mdContent, opts = {}) {
|
|
|
125039
125578
|
const contentWithoutComments = restoreCodeBlocks(withoutComments, protectedCode);
|
|
125040
125579
|
const { processor, parserReadyContent } = mdxishAstProcessor(contentWithoutComments, opts);
|
|
125041
125580
|
processor
|
|
125581
|
+
.use(safeMode ? undefined : evaluate_exports) // Evaluate `export const/function` and stash scope on file.data.mdxishScope
|
|
125582
|
+
.use(remarkBreaks) // Must precede evaluateExpressions to avoid splitting the \n in an evaluated template literal into a <br> node
|
|
125042
125583
|
.use(safeMode ? undefined : evaluate_expressions) // Evaluate self-contained MDX expressions (e.g. `{1+1}`)
|
|
125043
|
-
.use(remarkBreaks)
|
|
125044
125584
|
.use(variables_code, { variables }) // Resolve <<...>> and {user.*} inside code and inline code nodes
|
|
125045
125585
|
.use(remarkRehype, { allowDangerousHtml: true, handlers: mdxComponentHandlers })
|
|
125046
125586
|
.use(preserveBooleanProperties) // RehypeRaw converts boolean properties to empty strings
|
|
@@ -125055,10 +125595,17 @@ function mdxish(mdContent, opts = {}) {
|
|
|
125055
125595
|
processMarkdown: (markdown) => mdxish(markdown, opts),
|
|
125056
125596
|
});
|
|
125057
125597
|
const vfile = new VFile({ value: parserReadyContent });
|
|
125058
|
-
const
|
|
125598
|
+
const mdast = processor.parse(parserReadyContent);
|
|
125599
|
+
const hast = processor.runSync(mdast, vfile);
|
|
125059
125600
|
if (!hast) {
|
|
125060
125601
|
throw new Error('Markdown pipeline did not produce a HAST tree.');
|
|
125061
125602
|
}
|
|
125603
|
+
// Stash the in-document exported components on the tree
|
|
125604
|
+
// so that the renderer consumer knows & renders them.
|
|
125605
|
+
// Required for exported components to get rendered.
|
|
125606
|
+
if (vfile.data.mdxishScope) {
|
|
125607
|
+
hast.data = { ...hast.data, mdxishScope: vfile.data.mdxishScope };
|
|
125608
|
+
}
|
|
125062
125609
|
return hast;
|
|
125063
125610
|
}
|
|
125064
125611
|
/* harmony default export */ const lib_mdxish = (mdxish);
|
|
@@ -125285,7 +125832,10 @@ function exportComponentsForRehype(components) {
|
|
|
125285
125832
|
function createElementPreservingHastProps(type, props, ...children) {
|
|
125286
125833
|
if (props?.node?.properties) {
|
|
125287
125834
|
const { node, ...rest } = props;
|
|
125288
|
-
|
|
125835
|
+
const mergedProps = { ...rest, ...node.properties };
|
|
125836
|
+
// Strip undefined so positional args don't shadow node.properties.children
|
|
125837
|
+
const definedChildren = children.filter(c => c !== undefined);
|
|
125838
|
+
return external_react_default().createElement(type, mergedProps, ...definedChildren);
|
|
125289
125839
|
}
|
|
125290
125840
|
return external_react_default().createElement(type, props, ...children);
|
|
125291
125841
|
}
|
|
@@ -125351,6 +125901,12 @@ const renderMdxish = (tree, opts = {}) => {
|
|
|
125351
125901
|
};
|
|
125352
125902
|
const headings = extractToc(tree, components);
|
|
125353
125903
|
const componentsForRehype = exportComponentsForRehype(components);
|
|
125904
|
+
// Merge any in-document bindings collected at compile time. Local scope wins
|
|
125905
|
+
// over caller-provided components
|
|
125906
|
+
const localScope = tree.data?.mdxishScope ?? {};
|
|
125907
|
+
Object.entries(localScope).forEach(([name, value]) => {
|
|
125908
|
+
componentsForRehype[name] = value;
|
|
125909
|
+
});
|
|
125354
125910
|
const processor = createRehypeReactProcessor(componentsForRehype);
|
|
125355
125911
|
const content = processor.stringify(tree);
|
|
125356
125912
|
const tocHast = headings.length > 0 ? tocToHast(headings, variables) : null;
|