foxmd 0.2.0-beta.7 → 0.2.0-beta.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),require("server-only");var e=require("foxts/lazy-value"),t=require("marked"),r=require("react"),n=require("htmlparser2"),i=require("domhandler"),a=require("style-to-object"),s=require("fast-escape-regexp"),l=require("html-entities"),o=require("foxts/fast-string-array-join"),c=a&&a.__esModule?a:{default:a};let d={accept:"accept",acceptcharset:"acceptCharset","accept-charset":"acceptCharset",accesskey:"accessKey",action:"action",allowfullscreen:"allowFullScreen",alt:"alt",as:"as",async:"async",autocapitalize:"autoCapitalize",autocomplete:"autoComplete",autocorrect:"autoCorrect",autofocus:"autoFocus",autoplay:"autoPlay",autosave:"autoSave",capture:"capture",cellpadding:"cellPadding",cellspacing:"cellSpacing",challenge:"challenge",charset:"charSet",checked:"checked",children:"children",cite:"cite",class:"className",classid:"classID",classname:"className",cols:"cols",colspan:"colSpan",content:"content",contenteditable:"contentEditable",contextmenu:"contextMenu",controls:"controls",controlslist:"controlsList",coords:"coords",crossorigin:"crossOrigin",dangerouslysetinnerhtml:"dangerouslySetInnerHTML",data:"data",datetime:"dateTime",default:"default",defaultchecked:"defaultChecked",defaultvalue:"defaultValue",defer:"defer",dir:"dir",disabled:"disabled",disablepictureinpicture:"disablePictureInPicture",disableremoteplayback:"disableRemotePlayback",download:"download",draggable:"draggable",enctype:"encType",enterkeyhint:"enterKeyHint",fetchpriority:"fetchPriority",for:"htmlFor",form:"form",formmethod:"formMethod",formaction:"formAction",formenctype:"formEncType",formnovalidate:"formNoValidate",formtarget:"formTarget",frameborder:"frameBorder",headers:"headers",height:"height",hidden:"hidden",high:"high",href:"href",hreflang:"hrefLang",htmlfor:"htmlFor",httpequiv:"httpEquiv","http-equiv":"httpEquiv",icon:"icon",id:"id",imagesizes:"imageSizes",imagesrcset:"imageSrcSet",inert:"inert",innerhtml:"innerHTML",inputmode:"inputMode",integrity:"integrity",is:"is",itemid:"itemID",itemprop:"itemProp",itemref:"itemRef",itemscope:"itemScope",itemtype:"itemType",keyparams:"keyParams",keytype:"keyType",kind:"kind",label:"label",lang:"lang",list:"list",loop:"loop",low:"low",manifest:"manifest",marginwidth:"marginWidth",marginheight:"marginHeight",max:"max",maxlength:"maxLength",media:"media",mediagroup:"mediaGroup",method:"method",min:"min",minlength:"minLength",multiple:"multiple",muted:"muted",name:"name",nomodule:"noModule",nonce:"nonce",novalidate:"noValidate",open:"open",optimum:"optimum",pattern:"pattern",placeholder:"placeholder",playsinline:"playsInline",poster:"poster",preload:"preload",profile:"profile",radiogroup:"radioGroup",readonly:"readOnly",referrerpolicy:"referrerPolicy",rel:"rel",required:"required",reversed:"reversed",role:"role",rows:"rows",rowspan:"rowSpan",sandbox:"sandbox",scope:"scope",scoped:"scoped",scrolling:"scrolling",seamless:"seamless",selected:"selected",shape:"shape",size:"size",sizes:"sizes",span:"span",spellcheck:"spellCheck",src:"src",srcdoc:"srcDoc",srclang:"srcLang",srcset:"srcSet",start:"start",step:"step",style:"style",summary:"summary",tabindex:"tabIndex",target:"target",title:"title",type:"type",usemap:"useMap",value:"value",width:"width",wmode:"wmode",wrap:"wrap",about:"about",accentheight:"accentHeight","accent-height":"accentHeight",accumulate:"accumulate",additive:"additive",alignmentbaseline:"alignmentBaseline","alignment-baseline":"alignmentBaseline",allowreorder:"allowReorder",alphabetic:"alphabetic",amplitude:"amplitude",arabicform:"arabicForm","arabic-form":"arabicForm",ascent:"ascent",attributename:"attributeName",attributetype:"attributeType",autoreverse:"autoReverse",azimuth:"azimuth",basefrequency:"baseFrequency",baselineshift:"baselineShift","baseline-shift":"baselineShift",baseprofile:"baseProfile",bbox:"bbox",begin:"begin",bias:"bias",by:"by",calcmode:"calcMode",capheight:"capHeight","cap-height":"capHeight",clip:"clip",clippath:"clipPath","clip-path":"clipPath",clippathunits:"clipPathUnits",cliprule:"clipRule","clip-rule":"clipRule",color:"color",colorinterpolation:"colorInterpolation","color-interpolation":"colorInterpolation",colorinterpolationfilters:"colorInterpolationFilters","color-interpolation-filters":"colorInterpolationFilters",colorprofile:"colorProfile","color-profile":"colorProfile",colorrendering:"colorRendering","color-rendering":"colorRendering",contentscripttype:"contentScriptType",contentstyletype:"contentStyleType",cursor:"cursor",cx:"cx",cy:"cy",d:"d",datatype:"datatype",decelerate:"decelerate",descent:"descent",diffuseconstant:"diffuseConstant",direction:"direction",display:"display",divisor:"divisor",dominantbaseline:"dominantBaseline","dominant-baseline":"dominantBaseline",dur:"dur",dx:"dx",dy:"dy",edgemode:"edgeMode",elevation:"elevation",enablebackground:"enableBackground","enable-background":"enableBackground",end:"end",exponent:"exponent",externalresourcesrequired:"externalResourcesRequired",fill:"fill",fillopacity:"fillOpacity","fill-opacity":"fillOpacity",fillrule:"fillRule","fill-rule":"fillRule",filter:"filter",filterres:"filterRes",filterunits:"filterUnits",floodopacity:"floodOpacity","flood-opacity":"floodOpacity",floodcolor:"floodColor","flood-color":"floodColor",focusable:"focusable",fontfamily:"fontFamily","font-family":"fontFamily",fontsize:"fontSize","font-size":"fontSize",fontsizeadjust:"fontSizeAdjust","font-size-adjust":"fontSizeAdjust",fontstretch:"fontStretch","font-stretch":"fontStretch",fontstyle:"fontStyle","font-style":"fontStyle",fontvariant:"fontVariant","font-variant":"fontVariant",fontweight:"fontWeight","font-weight":"fontWeight",format:"format",from:"from",fx:"fx",fy:"fy",g1:"g1",g2:"g2",glyphname:"glyphName","glyph-name":"glyphName",glyphorientationhorizontal:"glyphOrientationHorizontal","glyph-orientation-horizontal":"glyphOrientationHorizontal",glyphorientationvertical:"glyphOrientationVertical","glyph-orientation-vertical":"glyphOrientationVertical",glyphref:"glyphRef",gradienttransform:"gradientTransform",gradientunits:"gradientUnits",hanging:"hanging",horizadvx:"horizAdvX","horiz-adv-x":"horizAdvX",horizoriginx:"horizOriginX","horiz-origin-x":"horizOriginX",ideographic:"ideographic",imagerendering:"imageRendering","image-rendering":"imageRendering",in2:"in2",in:"in",inlist:"inlist",intercept:"intercept",k1:"k1",k2:"k2",k3:"k3",k4:"k4",k:"k",kernelmatrix:"kernelMatrix",kernelunitlength:"kernelUnitLength",kerning:"kerning",keypoints:"keyPoints",keysplines:"keySplines",keytimes:"keyTimes",lengthadjust:"lengthAdjust",letterspacing:"letterSpacing","letter-spacing":"letterSpacing",lightingcolor:"lightingColor","lighting-color":"lightingColor",limitingconeangle:"limitingConeAngle",local:"local",markerend:"markerEnd","marker-end":"markerEnd",markerheight:"markerHeight",markermid:"markerMid","marker-mid":"markerMid",markerstart:"markerStart","marker-start":"markerStart",markerunits:"markerUnits",markerwidth:"markerWidth",mask:"mask",maskcontentunits:"maskContentUnits",maskunits:"maskUnits",mathematical:"mathematical",mode:"mode",numoctaves:"numOctaves",offset:"offset",opacity:"opacity",operator:"operator",order:"order",orient:"orient",orientation:"orientation",origin:"origin",overflow:"overflow",overlineposition:"overlinePosition","overline-position":"overlinePosition",overlinethickness:"overlineThickness","overline-thickness":"overlineThickness",paintorder:"paintOrder","paint-order":"paintOrder",panose1:"panose1","panose-1":"panose1",pathlength:"pathLength",patterncontentunits:"patternContentUnits",patterntransform:"patternTransform",patternunits:"patternUnits",pointerevents:"pointerEvents","pointer-events":"pointerEvents",points:"points",pointsatx:"pointsAtX",pointsaty:"pointsAtY",pointsatz:"pointsAtZ",popover:"popover",popovertarget:"popoverTarget",popovertargetaction:"popoverTargetAction",prefix:"prefix",preservealpha:"preserveAlpha",preserveaspectratio:"preserveAspectRatio",primitiveunits:"primitiveUnits",property:"property",r:"r",radius:"radius",refx:"refX",refy:"refY",renderingintent:"renderingIntent","rendering-intent":"renderingIntent",repeatcount:"repeatCount",repeatdur:"repeatDur",requiredextensions:"requiredExtensions",requiredfeatures:"requiredFeatures",resource:"resource",restart:"restart",result:"result",results:"results",rotate:"rotate",rx:"rx",ry:"ry",scale:"scale",security:"security",seed:"seed",shaperendering:"shapeRendering","shape-rendering":"shapeRendering",slope:"slope",spacing:"spacing",specularconstant:"specularConstant",specularexponent:"specularExponent",speed:"speed",spreadmethod:"spreadMethod",startoffset:"startOffset",stddeviation:"stdDeviation",stemh:"stemh",stemv:"stemv",stitchtiles:"stitchTiles",stopcolor:"stopColor","stop-color":"stopColor",stopopacity:"stopOpacity","stop-opacity":"stopOpacity",strikethroughposition:"strikethroughPosition","strikethrough-position":"strikethroughPosition",strikethroughthickness:"strikethroughThickness","strikethrough-thickness":"strikethroughThickness",string:"string",stroke:"stroke",strokedasharray:"strokeDasharray","stroke-dasharray":"strokeDasharray",strokedashoffset:"strokeDashoffset","stroke-dashoffset":"strokeDashoffset",strokelinecap:"strokeLinecap","stroke-linecap":"strokeLinecap",strokelinejoin:"strokeLinejoin","stroke-linejoin":"strokeLinejoin",strokemiterlimit:"strokeMiterlimit","stroke-miterlimit":"strokeMiterlimit",strokewidth:"strokeWidth","stroke-width":"strokeWidth",strokeopacity:"strokeOpacity","stroke-opacity":"strokeOpacity",suppresscontenteditablewarning:"suppressContentEditableWarning",suppresshydrationwarning:"suppressHydrationWarning",surfacescale:"surfaceScale",systemlanguage:"systemLanguage",tablevalues:"tableValues",targetx:"targetX",targety:"targetY",textanchor:"textAnchor","text-anchor":"textAnchor",textdecoration:"textDecoration","text-decoration":"textDecoration",textlength:"textLength",textrendering:"textRendering","text-rendering":"textRendering",to:"to",transform:"transform",transformorigin:"transformOrigin","transform-origin":"transformOrigin",typeof:"typeof",u1:"u1",u2:"u2",underlineposition:"underlinePosition","underline-position":"underlinePosition",underlinethickness:"underlineThickness","underline-thickness":"underlineThickness",unicode:"unicode",unicodebidi:"unicodeBidi","unicode-bidi":"unicodeBidi",unicoderange:"unicodeRange","unicode-range":"unicodeRange",unitsperem:"unitsPerEm","units-per-em":"unitsPerEm",unselectable:"unselectable",valphabetic:"vAlphabetic","v-alphabetic":"vAlphabetic",values:"values",vectoreffect:"vectorEffect","vector-effect":"vectorEffect",version:"version",vertadvy:"vertAdvY","vert-adv-y":"vertAdvY",vertoriginx:"vertOriginX","vert-origin-x":"vertOriginX",vertoriginy:"vertOriginY","vert-origin-y":"vertOriginY",vhanging:"vHanging","v-hanging":"vHanging",videographic:"vIdeographic","v-ideographic":"vIdeographic",viewbox:"viewBox",viewtarget:"viewTarget",visibility:"visibility",vmathematical:"vMathematical","v-mathematical":"vMathematical",vocab:"vocab",widths:"widths",wordspacing:"wordSpacing","word-spacing":"wordSpacing",writingmode:"writingMode","writing-mode":"writingMode",x1:"x1",x2:"x2",x:"x",xchannelselector:"xChannelSelector",xheight:"xHeight","x-height":"xHeight",xlinkactuate:"xlinkActuate","xlink:actuate":"xlinkActuate",xlinkarcrole:"xlinkArcrole","xlink:arcrole":"xlinkArcrole",xlinkhref:"xlinkHref","xlink:href":"xlinkHref",xlinkrole:"xlinkRole","xlink:role":"xlinkRole",xlinkshow:"xlinkShow","xlink:show":"xlinkShow",xlinktitle:"xlinkTitle","xlink:title":"xlinkTitle",xlinktype:"xlinkType","xlink:type":"xlinkType",xmlbase:"xmlBase","xml:base":"xmlBase",xmllang:"xmlLang","xml:lang":"xmlLang",xmlns:"xmlns","xml:space":"xmlSpace",xmlnsxlink:"xmlnsXlink","xmlns:xlink":"xmlnsXlink",xmlspace:"xmlSpace",y1:"y1",y2:"y2",y:"y",ychannelselector:"yChannelSelector",z:"z",zoomandpan:"zoomAndPan"},p=new Set(["allowFullScreen","async","autoPlay","controls","default","defer","disabled","disablePictureInPicture","disableRemotePlayback","formNoValidate","hidden","loop","noModule","noValidate","open","playsInline","readOnly","required","reversed","scoped","seamless","itemScope","autoFocus"]),u=new Set(["capture","download"]);function m(e,t){return e in t?t[e]:e}let h=/[\u0000-\u001F]/g,g=/[\s!"#$%&'()*+,./:;<=>?@[\\\]^_`{|}~-]+/g,f={};for(let e of[{base:"A",letters:"AⒶA\xc0\xc1\xc2ẦẤẪẨ\xc3ĀĂẰẮẴẲȦǠ\xc4ǞẢ\xc5ǺǍȀȂẠẬẶḀĄȺⱯ"},{base:"AA",letters:"Ꜳ"},{base:"AE",letters:"\xc6ǼǢ"},{base:"AO",letters:"Ꜵ"},{base:"AU",letters:"Ꜷ"},{base:"AV",letters:"ꜸꜺ"},{base:"AY",letters:"Ꜽ"},{base:"B",letters:"BⒷBḂḄḆɃƂƁ"},{base:"C",letters:"CⒸCĆĈĊČ\xc7ḈƇȻꜾ"},{base:"D",letters:"DⒹDḊĎḌḐḒḎĐƋƊƉꝹ"},{base:"DZ",letters:"DZDŽ"},{base:"Dz",letters:"DzDž"},{base:"E",letters:"EⒺE\xc8\xc9\xcaỀẾỄỂẼĒḔḖĔĖ\xcbẺĚȄȆẸỆȨḜĘḘḚƐƎ"},{base:"F",letters:"FⒻFḞƑꝻ"},{base:"G",letters:"GⒼGǴĜḠĞĠǦĢǤƓꞠꝽꝾ"},{base:"H",letters:"HⒽHĤḢḦȞḤḨḪĦⱧⱵꞍ"},{base:"I",letters:"IⒾI\xcc\xcd\xceĨĪĬİ\xcfḮỈǏȈȊỊĮḬƗ"},{base:"J",letters:"JⒿJĴɈ"},{base:"K",letters:"KⓀKḰǨḲĶḴƘⱩꝀꝂꝄꞢ"},{base:"L",letters:"LⓁLĿĹĽḶḸĻḼḺŁȽⱢⱠꝈꝆꞀ"},{base:"LJ",letters:"LJ"},{base:"Lj",letters:"Lj"},{base:"M",letters:"MⓂMḾṀṂⱮƜ"},{base:"N",letters:"NⓃNǸŃ\xd1ṄŇṆŅṊṈȠƝꞐꞤ"},{base:"NJ",letters:"NJ"},{base:"Nj",letters:"Nj"},{base:"O",letters:"OⓄO\xd2\xd3\xd4ỒỐỖỔ\xd5ṌȬṎŌṐṒŎȮȰ\xd6ȪỎŐǑȌȎƠỜỚỠỞỢỌỘǪǬ\xd8ǾƆƟꝊꝌ"},{base:"OI",letters:"Ƣ"},{base:"OO",letters:"Ꝏ"},{base:"OU",letters:"Ȣ"},{base:"OE",letters:"\x8cŒ"},{base:"oe",letters:"\x9cœ"},{base:"P",letters:"PⓅPṔṖƤⱣꝐꝒꝔ"},{base:"Q",letters:"QⓆQꝖꝘɊ"},{base:"R",letters:"RⓇRŔṘŘȐȒṚṜŖṞɌⱤꝚꞦꞂ"},{base:"S",letters:"SⓈSẞŚṤŜṠŠṦṢṨȘŞⱾꞨꞄ"},{base:"T",letters:"TⓉTṪŤṬȚŢṰṮŦƬƮȾꞆ"},{base:"TZ",letters:"Ꜩ"},{base:"U",letters:"UⓊU\xd9\xda\xdbŨṸŪṺŬ\xdcǛǗǕǙỦŮŰǓȔȖƯỪỨỮỬỰỤṲŲṶṴɄ"},{base:"V",letters:"VⓋVṼṾƲꝞɅ"},{base:"VY",letters:"Ꝡ"},{base:"W",letters:"WⓌWẀẂŴẆẄẈⱲ"},{base:"X",letters:"XⓍXẊẌ"},{base:"Y",letters:"YⓎYỲ\xddŶỸȲẎŸỶỴƳɎỾ"},{base:"Z",letters:"ZⓏZŹẐŻŽẒẔƵȤⱿⱫꝢ"},{base:"a",letters:"aⓐaẚ\xe0\xe1\xe2ầấẫẩ\xe3āăằắẵẳȧǡ\xe4ǟả\xe5ǻǎȁȃạậặḁąⱥɐ"},{base:"aa",letters:"ꜳ"},{base:"ae",letters:"\xe6ǽǣ"},{base:"ao",letters:"ꜵ"},{base:"au",letters:"ꜷ"},{base:"av",letters:"ꜹꜻ"},{base:"ay",letters:"ꜽ"},{base:"b",letters:"bⓑbḃḅḇƀƃɓ"},{base:"c",letters:"cⓒcćĉċč\xe7ḉƈȼꜿↄ"},{base:"d",letters:"dⓓdḋďḍḑḓḏđƌɖɗꝺ"},{base:"dz",letters:"dzdž"},{base:"e",letters:"eⓔe\xe8\xe9\xeaềếễểẽēḕḗĕė\xebẻěȅȇẹệȩḝęḙḛɇɛǝ"},{base:"f",letters:"fⓕfḟƒꝼ"},{base:"g",letters:"gⓖgǵĝḡğġǧģǥɠꞡᵹꝿ"},{base:"h",letters:"hⓗhĥḣḧȟḥḩḫẖħⱨⱶɥ"},{base:"hv",letters:"ƕ"},{base:"i",letters:"iⓘi\xec\xed\xeeĩīĭ\xefḯỉǐȉȋịįḭɨı"},{base:"j",letters:"jⓙjĵǰɉ"},{base:"k",letters:"kⓚkḱǩḳķḵƙⱪꝁꝃꝅꞣ"},{base:"l",letters:"lⓛlŀĺľḷḹļḽḻſłƚɫⱡꝉꞁꝇ"},{base:"lj",letters:"lj"},{base:"m",letters:"mⓜmḿṁṃɱɯ"},{base:"n",letters:"nⓝnǹń\xf1ṅňṇņṋṉƞɲʼnꞑꞥ"},{base:"nj",letters:"nj"},{base:"o",letters:"oⓞo\xf2\xf3\xf4ồốỗổ\xf5ṍȭṏōṑṓŏȯȱ\xf6ȫỏőǒȍȏơờớỡởợọộǫǭ\xf8ǿɔꝋꝍɵ"},{base:"oi",letters:"ƣ"},{base:"ou",letters:"ȣ"},{base:"oo",letters:"ꝏ"},{base:"p",letters:"pⓟpṕṗƥᵽꝑꝓꝕ"},{base:"q",letters:"qⓠqɋꝗꝙ"},{base:"r",letters:"rⓡrŕṙřȑȓṛṝŗṟɍɽꝛꞧꞃ"},{base:"s",letters:"sⓢs\xdfśṥŝṡšṧṣṩșşȿꞩꞅẛ"},{base:"t",letters:"tⓣtṫẗťṭțţṱṯŧƭʈⱦꞇ"},{base:"tz",letters:"ꜩ"},{base:"u",letters:"uⓤu\xf9\xfa\xfbũṹūṻŭ\xfcǜǘǖǚủůűǔȕȗưừứữửựụṳųṷṵʉ"},{base:"v",letters:"vⓥvṽṿʋꝟʌ"},{base:"vy",letters:"ꝡ"},{base:"w",letters:"wⓦwẁẃŵẇẅẘẉⱳ"},{base:"x",letters:"xⓧxẋẍ"},{base:"y",letters:"yⓨyỳ\xfdŷỹȳẏ\xffỷẙỵƴɏỿ"},{base:"z",letters:"zⓩzźẑżžẓẕƶȥɀⱬꝣ"}])for(let t of e.letters.split(""))f[t]=e.base;let b=new Set(["area","base","br","col","embed","hr","img","input","link","meta","source","track","wbr"]),k=new Map([["bash","shell"],["zsh","shell"],["sh","shell"],["js","javascript"],["ts","typescript"],["py","python"],["yml","yaml"]]);function y({suppressHydrationWarning:e=!1,specialImageSizeInTitleOrAlt:t=!0,customRenderMethods:a={},customReactComponentsForHtmlTags:s={},UNSAFE_allowHtml:l=!1}={}){return{...function(e,t,a,s){let l=[];function o(){return l.join("-")}function h(t,n=null,i={}){let s={key:"foxmd-"+o()+"-"+t,suppressHydrationWarning:e},l=m(t,a);return r.createElement(l,{...i,...s},n)}return{get elIdList(){return l},get elementId(){return o()},incrementElId(){l[l.length-1]+=1},heading:(e,t,r)=>h(`h${t}`,e,{id:r}),paragraph:e=>h("p",e),link:(e,t,r)=>((e.startsWith("javascript:")||e.startsWith("data:")||e.startsWith("vbscript:"))&&(e=""),h("a",t,{href:e,title:r,target:void 0})),image(e,r,n){let i,a;if(t){if(r.includes("|")){let[e,t]=r.split("|");t&&t.includes("x")&&([i,a]=t.split("x").map(e=>e.trim()),r=e)}(void 0===i||void 0===a)&&n?.includes("size:")&&(n=n.replace(/size:(\d+)x(\d+)/,(e,t,r)=>(i=t,a=r,"")))}return h("img",null,{src:e,alt:r,title:n,width:i,height:a})},codespan:(e,t=null)=>h("code",e,{className:t?`language-${t}`:void 0}),code(e,t=""){return h("pre",this.codespan(e,t),{"data-language":(k.has(t)?k.get(t):t).toUpperCase()})},blockquote:e=>h("blockquote",e),list:(e,t,r)=>h(t?"ol":"ul",e,t&&1!==r?{start:r}:{}),listItem:e=>h("li",e),checkbox:e=>h("input",null,{type:"checkbox",disabled:!0,checked:e}),table:e=>h("table",e),tableHeader:e=>h("thead",e),tableBody:e=>h("tbody",e),tableRow:e=>h("tr",e),tableCell:(e,t)=>h(t.header?"th":"td",e,{align:t.align}),strong:e=>h("strong",e),em:e=>h("em",e),del:e=>h("del",e),text:e=>e,html(e){if(s){var t;let s;return t=o(),s=new i.DomHandler,new n.Parser(s,{decodeEntities:!0}).parseComplete(e),s.dom.map((e,n)=>(function e(t,n,a,s){if(i.isDirective(t))return null;if(i.isText(t))return t.data;if(i.isComment(t)||i.isCDATA(t))return null;let l=null;"children"in t&&t.children.length>0&&(l=t.children.reduce((t,r,i)=>{let l=e(r,i,a+"-"+n,s);return null!=l&&t.push(l),t},[]));var o,h=l;let g="name"in t&&t.name.includes("-"),f={key:"foxmd-html-"+a+"-"+n+("name"in t?"-"+t.name:"")};if("attribs"in t&&t.attribs){for(let e in t.attribs)if(Object.hasOwn(t.attribs,e)){if(g){f[e]=t.attribs[e];continue}if("ref"===e||e.startsWith("on"))continue;let r=t.attribs[e];if(e.startsWith("data-")||e.startsWith("aria-")){f[e]=""===r||r;continue}let n=e.toLowerCase();if(n in d&&(e=d[n]),"style"===e){f.style=c.default(r);continue}if(("checked"===e||"value"===e)&&"reset"!==t.attribs.type&&"submit"!==t.attribs.type){e=d[`default${n}`]||e;continue}if(p.has(e)){f[e]=!0;continue}if(u.has(e)){f[e]=""===r||r;continue}f[e]=r}}if("data"in t&&null!=t.data&&console.warn("[foxmd] Unknown node.data found vs node:",{node:t,data:t.data}),i.isDocument(t))return r.createElement(r.Fragment,f,h);return(o=t.name,b.has(o))?h?.length?(console.warn("[foxmd] Void HTML tag should not have children, foxmd push children after the self-closing tags.",{node:t,tag:t.name,children:h}),r.createElement(r.Fragment,null,r.createElement(m(t.name,s),f),h)):r.createElement(m(t.name,s),f):r.createElement(m(t.name,s),f,h)})(e,n,t,a))}return e},hr:()=>h("hr"),br:()=>h("br")}}(e,t,s,l),...a}}function x(e,{UNSAFE_pickSingleImageChildOutOfParentParagraph:t=!1}={}){let r=new Map;function n(t=[]){e.elIdList.push(0);let r=!1,i="",a=t.map(t=>{switch(t.type){case"text":if(r)return i+=t.text,null;return e.incrementElId(),e.text(l.decode(t.text));case"strong":return e.incrementElId(),e.strong(n(t.tokens).jsx);case"em":return e.incrementElId(),e.em(n(t.tokens).jsx);case"del":return e.incrementElId(),e.del(n(t.tokens).jsx);case"codespan":return e.incrementElId(),e.codespan(l.decode(t.text));case"link":return e.incrementElId(),e.link(t.href,n(t.tokens).jsx,t.title??void 0);case"image":return e.incrementElId(),e.image(t.href,t.text,t.title);case"html":{if("inRawBlock"in t&&(r=t.inRawBlock),r)return i+=t.text,null;e.incrementElId();let n=e.html(i);return i="",n}case"br":return e.incrementElId(),e.br();case"escape":return e.incrementElId(),e.text(t.text);default:return console.warn(`[foxmd] Token with "${t.type}" type was not found`),null}});return e.elIdList.pop(),{jsx:a,toc:[]}}return{parse:function i(a){let c=[];e.elIdList.push(0);let d=!1,p="",u=a.map(a=>{switch(a.type){case"space":return null;case"heading":{let t=a.depth,i=function e(t=[]){return o.fastStringArrayJoin(t.map(t=>{switch(t.type){case"text":case"codespan":return l.decode(t.text);case"strong":case"em":case"del":case"link":return e(t.tokens);case"image":case"html":case"br":case"escape":return"";default:return console.warn(`[foxmd] Token with "${t.type}" type was not found`),""}}),"-")}(a.tokens),d=function(e){if("string"!=typeof e)throw TypeError("str must be a string!");let t=s.escapeRegexp("-");return e.replaceAll(/[^\u0000-\u007E]/g,e=>f[e]||e).replaceAll(h,"").replaceAll(g,"-").replaceAll(RegExp(`${t}{2,}`,"g"),"-").replaceAll(RegExp(`^${t}+|${t}+$`,"g"),"").toLowerCase()}(i),p=1;return r.has(d)?(p=r.get(d)+1,r.set(d,p),d=d+"-"+p):r.set(d,p),c.push({text:i,id:d,level:t}),e.incrementElId(),e.heading(n(a.tokens).jsx,t,d)}case"paragraph":if(t&&a.tokens?.length===1&&"image"===a.tokens[0].type)return n(a.tokens).jsx;return e.incrementElId(),e.paragraph(n(a.tokens).jsx);case"text":if(d)return p+=a.text,null;return a.tokens?n(a.tokens).jsx:a.text;case"blockquote":{let t=i(a.tokens).jsx;return e.incrementElId(),e.blockquote(t)}case"list":{e.elIdList.push(0);let t=a.items.map(t=>{let r=[];return t.task&&(e.incrementElId(),r.push(e.checkbox(t.checked??!1))),r.push(i(t.tokens).jsx),e.incrementElId(),e.listItem(r)});return e.elIdList.pop(),e.incrementElId(),e.list(t,a.ordered,a.ordered?a.start:void 0)}case"code":return e.incrementElId(),e.code(a.text,a.lang);case"html":{if("inRawBlock"in a&&(d=a.inRawBlock),d)return p+=a.text,null;e.incrementElId();let t=e.html(p);return p="",t}case"table":{e.elIdList.push(0);let t=a.header.map((t,r)=>(e.incrementElId(),e.tableCell(n(t.tokens).jsx,{header:!0,align:a.align[r]})));e.elIdList.pop(),e.incrementElId();let r=e.tableRow(t);e.incrementElId();let i=e.tableHeader(r);e.elIdList.push(0);let s=a.rows.map(t=>{e.elIdList.push(0);let r=t.map((t,r)=>(e.incrementElId(),e.tableCell(n(t.tokens).jsx,{header:!1,align:a.align[r]})));return e.elIdList.pop(),e.incrementElId(),e.tableRow(r)});e.elIdList.pop(),e.incrementElId();let l=e.tableBody(s);return e.incrementElId(),e.table([i,l])}case"hr":return e.incrementElId(),e.hr();default:return console.warn(`[foxmd] Token with "${a.type}" type was not found`),null}});return e.elIdList.pop(),{jsx:u,toc:c}},parseInline:n}}let v=e.lazyValue(()=>new t.Marked);exports.createFoxmdParser=x,exports.createFoxmdRenderer=y,exports.foxmd=function(e,{foxmdRendererOptions:t,foxmdParserOptions:r,markedInstance:n=v(),lexerOptions:i=function(e){return{gfm:!0,breaks:!0,tokenizer:e.defaults.tokenizer}}(n),isInline:a=!1}={}){let s=n.lexer(e,i),l=x(y(t),r);return a?l.parseInline(s):l.parse(s)};
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),require("server-only");var e=require("foxts/lazy-value"),t=require("marked"),r=require("react"),n=require("htmlparser2"),i=require("domhandler"),a=require("style-to-object"),s=require("fast-escape-regexp"),l=require("html-entities"),o=require("foxts/fast-string-array-join"),c=a&&a.__esModule?a:{default:a};let d={accept:"accept",acceptcharset:"acceptCharset","accept-charset":"acceptCharset",accesskey:"accessKey",action:"action",allowfullscreen:"allowFullScreen",alt:"alt",as:"as",async:"async",autocapitalize:"autoCapitalize",autocomplete:"autoComplete",autocorrect:"autoCorrect",autofocus:"autoFocus",autoplay:"autoPlay",autosave:"autoSave",capture:"capture",cellpadding:"cellPadding",cellspacing:"cellSpacing",challenge:"challenge",charset:"charSet",checked:"checked",children:"children",cite:"cite",class:"className",classid:"classID",classname:"className",cols:"cols",colspan:"colSpan",content:"content",contenteditable:"contentEditable",contextmenu:"contextMenu",controls:"controls",controlslist:"controlsList",coords:"coords",crossorigin:"crossOrigin",dangerouslysetinnerhtml:"dangerouslySetInnerHTML",data:"data",datetime:"dateTime",default:"default",defaultchecked:"defaultChecked",defaultvalue:"defaultValue",defer:"defer",dir:"dir",disabled:"disabled",disablepictureinpicture:"disablePictureInPicture",disableremoteplayback:"disableRemotePlayback",download:"download",draggable:"draggable",enctype:"encType",enterkeyhint:"enterKeyHint",fetchpriority:"fetchPriority",for:"htmlFor",form:"form",formmethod:"formMethod",formaction:"formAction",formenctype:"formEncType",formnovalidate:"formNoValidate",formtarget:"formTarget",frameborder:"frameBorder",headers:"headers",height:"height",hidden:"hidden",high:"high",href:"href",hreflang:"hrefLang",htmlfor:"htmlFor",httpequiv:"httpEquiv","http-equiv":"httpEquiv",icon:"icon",id:"id",imagesizes:"imageSizes",imagesrcset:"imageSrcSet",inert:"inert",innerhtml:"innerHTML",inputmode:"inputMode",integrity:"integrity",is:"is",itemid:"itemID",itemprop:"itemProp",itemref:"itemRef",itemscope:"itemScope",itemtype:"itemType",keyparams:"keyParams",keytype:"keyType",kind:"kind",label:"label",lang:"lang",list:"list",loop:"loop",low:"low",manifest:"manifest",marginwidth:"marginWidth",marginheight:"marginHeight",max:"max",maxlength:"maxLength",media:"media",mediagroup:"mediaGroup",method:"method",min:"min",minlength:"minLength",multiple:"multiple",muted:"muted",name:"name",nomodule:"noModule",nonce:"nonce",novalidate:"noValidate",open:"open",optimum:"optimum",pattern:"pattern",placeholder:"placeholder",playsinline:"playsInline",poster:"poster",preload:"preload",profile:"profile",radiogroup:"radioGroup",readonly:"readOnly",referrerpolicy:"referrerPolicy",rel:"rel",required:"required",reversed:"reversed",role:"role",rows:"rows",rowspan:"rowSpan",sandbox:"sandbox",scope:"scope",scoped:"scoped",scrolling:"scrolling",seamless:"seamless",selected:"selected",shape:"shape",size:"size",sizes:"sizes",span:"span",spellcheck:"spellCheck",src:"src",srcdoc:"srcDoc",srclang:"srcLang",srcset:"srcSet",start:"start",step:"step",style:"style",summary:"summary",tabindex:"tabIndex",target:"target",title:"title",type:"type",usemap:"useMap",value:"value",width:"width",wmode:"wmode",wrap:"wrap",about:"about",accentheight:"accentHeight","accent-height":"accentHeight",accumulate:"accumulate",additive:"additive",alignmentbaseline:"alignmentBaseline","alignment-baseline":"alignmentBaseline",allowreorder:"allowReorder",alphabetic:"alphabetic",amplitude:"amplitude",arabicform:"arabicForm","arabic-form":"arabicForm",ascent:"ascent",attributename:"attributeName",attributetype:"attributeType",autoreverse:"autoReverse",azimuth:"azimuth",basefrequency:"baseFrequency",baselineshift:"baselineShift","baseline-shift":"baselineShift",baseprofile:"baseProfile",bbox:"bbox",begin:"begin",bias:"bias",by:"by",calcmode:"calcMode",capheight:"capHeight","cap-height":"capHeight",clip:"clip",clippath:"clipPath","clip-path":"clipPath",clippathunits:"clipPathUnits",cliprule:"clipRule","clip-rule":"clipRule",color:"color",colorinterpolation:"colorInterpolation","color-interpolation":"colorInterpolation",colorinterpolationfilters:"colorInterpolationFilters","color-interpolation-filters":"colorInterpolationFilters",colorprofile:"colorProfile","color-profile":"colorProfile",colorrendering:"colorRendering","color-rendering":"colorRendering",contentscripttype:"contentScriptType",contentstyletype:"contentStyleType",cursor:"cursor",cx:"cx",cy:"cy",d:"d",datatype:"datatype",decelerate:"decelerate",descent:"descent",diffuseconstant:"diffuseConstant",direction:"direction",display:"display",divisor:"divisor",dominantbaseline:"dominantBaseline","dominant-baseline":"dominantBaseline",dur:"dur",dx:"dx",dy:"dy",edgemode:"edgeMode",elevation:"elevation",enablebackground:"enableBackground","enable-background":"enableBackground",end:"end",exponent:"exponent",externalresourcesrequired:"externalResourcesRequired",fill:"fill",fillopacity:"fillOpacity","fill-opacity":"fillOpacity",fillrule:"fillRule","fill-rule":"fillRule",filter:"filter",filterres:"filterRes",filterunits:"filterUnits",floodopacity:"floodOpacity","flood-opacity":"floodOpacity",floodcolor:"floodColor","flood-color":"floodColor",focusable:"focusable",fontfamily:"fontFamily","font-family":"fontFamily",fontsize:"fontSize","font-size":"fontSize",fontsizeadjust:"fontSizeAdjust","font-size-adjust":"fontSizeAdjust",fontstretch:"fontStretch","font-stretch":"fontStretch",fontstyle:"fontStyle","font-style":"fontStyle",fontvariant:"fontVariant","font-variant":"fontVariant",fontweight:"fontWeight","font-weight":"fontWeight",format:"format",from:"from",fx:"fx",fy:"fy",g1:"g1",g2:"g2",glyphname:"glyphName","glyph-name":"glyphName",glyphorientationhorizontal:"glyphOrientationHorizontal","glyph-orientation-horizontal":"glyphOrientationHorizontal",glyphorientationvertical:"glyphOrientationVertical","glyph-orientation-vertical":"glyphOrientationVertical",glyphref:"glyphRef",gradienttransform:"gradientTransform",gradientunits:"gradientUnits",hanging:"hanging",horizadvx:"horizAdvX","horiz-adv-x":"horizAdvX",horizoriginx:"horizOriginX","horiz-origin-x":"horizOriginX",ideographic:"ideographic",imagerendering:"imageRendering","image-rendering":"imageRendering",in2:"in2",in:"in",inlist:"inlist",intercept:"intercept",k1:"k1",k2:"k2",k3:"k3",k4:"k4",k:"k",kernelmatrix:"kernelMatrix",kernelunitlength:"kernelUnitLength",kerning:"kerning",keypoints:"keyPoints",keysplines:"keySplines",keytimes:"keyTimes",lengthadjust:"lengthAdjust",letterspacing:"letterSpacing","letter-spacing":"letterSpacing",lightingcolor:"lightingColor","lighting-color":"lightingColor",limitingconeangle:"limitingConeAngle",local:"local",markerend:"markerEnd","marker-end":"markerEnd",markerheight:"markerHeight",markermid:"markerMid","marker-mid":"markerMid",markerstart:"markerStart","marker-start":"markerStart",markerunits:"markerUnits",markerwidth:"markerWidth",mask:"mask",maskcontentunits:"maskContentUnits",maskunits:"maskUnits",mathematical:"mathematical",mode:"mode",numoctaves:"numOctaves",offset:"offset",opacity:"opacity",operator:"operator",order:"order",orient:"orient",orientation:"orientation",origin:"origin",overflow:"overflow",overlineposition:"overlinePosition","overline-position":"overlinePosition",overlinethickness:"overlineThickness","overline-thickness":"overlineThickness",paintorder:"paintOrder","paint-order":"paintOrder",panose1:"panose1","panose-1":"panose1",pathlength:"pathLength",patterncontentunits:"patternContentUnits",patterntransform:"patternTransform",patternunits:"patternUnits",pointerevents:"pointerEvents","pointer-events":"pointerEvents",points:"points",pointsatx:"pointsAtX",pointsaty:"pointsAtY",pointsatz:"pointsAtZ",popover:"popover",popovertarget:"popoverTarget",popovertargetaction:"popoverTargetAction",prefix:"prefix",preservealpha:"preserveAlpha",preserveaspectratio:"preserveAspectRatio",primitiveunits:"primitiveUnits",property:"property",r:"r",radius:"radius",refx:"refX",refy:"refY",renderingintent:"renderingIntent","rendering-intent":"renderingIntent",repeatcount:"repeatCount",repeatdur:"repeatDur",requiredextensions:"requiredExtensions",requiredfeatures:"requiredFeatures",resource:"resource",restart:"restart",result:"result",results:"results",rotate:"rotate",rx:"rx",ry:"ry",scale:"scale",security:"security",seed:"seed",shaperendering:"shapeRendering","shape-rendering":"shapeRendering",slope:"slope",spacing:"spacing",specularconstant:"specularConstant",specularexponent:"specularExponent",speed:"speed",spreadmethod:"spreadMethod",startoffset:"startOffset",stddeviation:"stdDeviation",stemh:"stemh",stemv:"stemv",stitchtiles:"stitchTiles",stopcolor:"stopColor","stop-color":"stopColor",stopopacity:"stopOpacity","stop-opacity":"stopOpacity",strikethroughposition:"strikethroughPosition","strikethrough-position":"strikethroughPosition",strikethroughthickness:"strikethroughThickness","strikethrough-thickness":"strikethroughThickness",string:"string",stroke:"stroke",strokedasharray:"strokeDasharray","stroke-dasharray":"strokeDasharray",strokedashoffset:"strokeDashoffset","stroke-dashoffset":"strokeDashoffset",strokelinecap:"strokeLinecap","stroke-linecap":"strokeLinecap",strokelinejoin:"strokeLinejoin","stroke-linejoin":"strokeLinejoin",strokemiterlimit:"strokeMiterlimit","stroke-miterlimit":"strokeMiterlimit",strokewidth:"strokeWidth","stroke-width":"strokeWidth",strokeopacity:"strokeOpacity","stroke-opacity":"strokeOpacity",suppresscontenteditablewarning:"suppressContentEditableWarning",suppresshydrationwarning:"suppressHydrationWarning",surfacescale:"surfaceScale",systemlanguage:"systemLanguage",tablevalues:"tableValues",targetx:"targetX",targety:"targetY",textanchor:"textAnchor","text-anchor":"textAnchor",textdecoration:"textDecoration","text-decoration":"textDecoration",textlength:"textLength",textrendering:"textRendering","text-rendering":"textRendering",to:"to",transform:"transform",transformorigin:"transformOrigin","transform-origin":"transformOrigin",typeof:"typeof",u1:"u1",u2:"u2",underlineposition:"underlinePosition","underline-position":"underlinePosition",underlinethickness:"underlineThickness","underline-thickness":"underlineThickness",unicode:"unicode",unicodebidi:"unicodeBidi","unicode-bidi":"unicodeBidi",unicoderange:"unicodeRange","unicode-range":"unicodeRange",unitsperem:"unitsPerEm","units-per-em":"unitsPerEm",unselectable:"unselectable",valphabetic:"vAlphabetic","v-alphabetic":"vAlphabetic",values:"values",vectoreffect:"vectorEffect","vector-effect":"vectorEffect",version:"version",vertadvy:"vertAdvY","vert-adv-y":"vertAdvY",vertoriginx:"vertOriginX","vert-origin-x":"vertOriginX",vertoriginy:"vertOriginY","vert-origin-y":"vertOriginY",vhanging:"vHanging","v-hanging":"vHanging",videographic:"vIdeographic","v-ideographic":"vIdeographic",viewbox:"viewBox",viewtarget:"viewTarget",visibility:"visibility",vmathematical:"vMathematical","v-mathematical":"vMathematical",vocab:"vocab",widths:"widths",wordspacing:"wordSpacing","word-spacing":"wordSpacing",writingmode:"writingMode","writing-mode":"writingMode",x1:"x1",x2:"x2",x:"x",xchannelselector:"xChannelSelector",xheight:"xHeight","x-height":"xHeight",xlinkactuate:"xlinkActuate","xlink:actuate":"xlinkActuate",xlinkarcrole:"xlinkArcrole","xlink:arcrole":"xlinkArcrole",xlinkhref:"xlinkHref","xlink:href":"xlinkHref",xlinkrole:"xlinkRole","xlink:role":"xlinkRole",xlinkshow:"xlinkShow","xlink:show":"xlinkShow",xlinktitle:"xlinkTitle","xlink:title":"xlinkTitle",xlinktype:"xlinkType","xlink:type":"xlinkType",xmlbase:"xmlBase","xml:base":"xmlBase",xmllang:"xmlLang","xml:lang":"xmlLang",xmlns:"xmlns","xml:space":"xmlSpace",xmlnsxlink:"xmlnsXlink","xmlns:xlink":"xmlnsXlink",xmlspace:"xmlSpace",y1:"y1",y2:"y2",y:"y",ychannelselector:"yChannelSelector",z:"z",zoomandpan:"zoomAndPan"},p=new Set(["allowFullScreen","async","autoPlay","controls","default","defer","disabled","disablePictureInPicture","disableRemotePlayback","formNoValidate","hidden","loop","noModule","noValidate","open","playsInline","readOnly","required","reversed","scoped","seamless","itemScope","autoFocus"]),u=new Set(["capture","download"]);function m(e,t){return e in t?t[e]:e}let h=/[\u0000-\u001F]/g,g=/[\s!"#$%&'()*+,./:;<=>?@[\\\]^_`{|}~-]+/g,f={};for(let e of[{base:"A",letters:"AⒶA\xc0\xc1\xc2ẦẤẪẨ\xc3ĀĂẰẮẴẲȦǠ\xc4ǞẢ\xc5ǺǍȀȂẠẬẶḀĄȺⱯ"},{base:"AA",letters:"Ꜳ"},{base:"AE",letters:"\xc6ǼǢ"},{base:"AO",letters:"Ꜵ"},{base:"AU",letters:"Ꜷ"},{base:"AV",letters:"ꜸꜺ"},{base:"AY",letters:"Ꜽ"},{base:"B",letters:"BⒷBḂḄḆɃƂƁ"},{base:"C",letters:"CⒸCĆĈĊČ\xc7ḈƇȻꜾ"},{base:"D",letters:"DⒹDḊĎḌḐḒḎĐƋƊƉꝹ"},{base:"DZ",letters:"DZDŽ"},{base:"Dz",letters:"DzDž"},{base:"E",letters:"EⒺE\xc8\xc9\xcaỀẾỄỂẼĒḔḖĔĖ\xcbẺĚȄȆẸỆȨḜĘḘḚƐƎ"},{base:"F",letters:"FⒻFḞƑꝻ"},{base:"G",letters:"GⒼGǴĜḠĞĠǦĢǤƓꞠꝽꝾ"},{base:"H",letters:"HⒽHĤḢḦȞḤḨḪĦⱧⱵꞍ"},{base:"I",letters:"IⒾI\xcc\xcd\xceĨĪĬİ\xcfḮỈǏȈȊỊĮḬƗ"},{base:"J",letters:"JⒿJĴɈ"},{base:"K",letters:"KⓀKḰǨḲĶḴƘⱩꝀꝂꝄꞢ"},{base:"L",letters:"LⓁLĿĹĽḶḸĻḼḺŁȽⱢⱠꝈꝆꞀ"},{base:"LJ",letters:"LJ"},{base:"Lj",letters:"Lj"},{base:"M",letters:"MⓂMḾṀṂⱮƜ"},{base:"N",letters:"NⓃNǸŃ\xd1ṄŇṆŅṊṈȠƝꞐꞤ"},{base:"NJ",letters:"NJ"},{base:"Nj",letters:"Nj"},{base:"O",letters:"OⓄO\xd2\xd3\xd4ỒỐỖỔ\xd5ṌȬṎŌṐṒŎȮȰ\xd6ȪỎŐǑȌȎƠỜỚỠỞỢỌỘǪǬ\xd8ǾƆƟꝊꝌ"},{base:"OI",letters:"Ƣ"},{base:"OO",letters:"Ꝏ"},{base:"OU",letters:"Ȣ"},{base:"OE",letters:"\x8cŒ"},{base:"oe",letters:"\x9cœ"},{base:"P",letters:"PⓅPṔṖƤⱣꝐꝒꝔ"},{base:"Q",letters:"QⓆQꝖꝘɊ"},{base:"R",letters:"RⓇRŔṘŘȐȒṚṜŖṞɌⱤꝚꞦꞂ"},{base:"S",letters:"SⓈSẞŚṤŜṠŠṦṢṨȘŞⱾꞨꞄ"},{base:"T",letters:"TⓉTṪŤṬȚŢṰṮŦƬƮȾꞆ"},{base:"TZ",letters:"Ꜩ"},{base:"U",letters:"UⓊU\xd9\xda\xdbŨṸŪṺŬ\xdcǛǗǕǙỦŮŰǓȔȖƯỪỨỮỬỰỤṲŲṶṴɄ"},{base:"V",letters:"VⓋVṼṾƲꝞɅ"},{base:"VY",letters:"Ꝡ"},{base:"W",letters:"WⓌWẀẂŴẆẄẈⱲ"},{base:"X",letters:"XⓍXẊẌ"},{base:"Y",letters:"YⓎYỲ\xddŶỸȲẎŸỶỴƳɎỾ"},{base:"Z",letters:"ZⓏZŹẐŻŽẒẔƵȤⱿⱫꝢ"},{base:"a",letters:"aⓐaẚ\xe0\xe1\xe2ầấẫẩ\xe3āăằắẵẳȧǡ\xe4ǟả\xe5ǻǎȁȃạậặḁąⱥɐ"},{base:"aa",letters:"ꜳ"},{base:"ae",letters:"\xe6ǽǣ"},{base:"ao",letters:"ꜵ"},{base:"au",letters:"ꜷ"},{base:"av",letters:"ꜹꜻ"},{base:"ay",letters:"ꜽ"},{base:"b",letters:"bⓑbḃḅḇƀƃɓ"},{base:"c",letters:"cⓒcćĉċč\xe7ḉƈȼꜿↄ"},{base:"d",letters:"dⓓdḋďḍḑḓḏđƌɖɗꝺ"},{base:"dz",letters:"dzdž"},{base:"e",letters:"eⓔe\xe8\xe9\xeaềếễểẽēḕḗĕė\xebẻěȅȇẹệȩḝęḙḛɇɛǝ"},{base:"f",letters:"fⓕfḟƒꝼ"},{base:"g",letters:"gⓖgǵĝḡğġǧģǥɠꞡᵹꝿ"},{base:"h",letters:"hⓗhĥḣḧȟḥḩḫẖħⱨⱶɥ"},{base:"hv",letters:"ƕ"},{base:"i",letters:"iⓘi\xec\xed\xeeĩīĭ\xefḯỉǐȉȋịįḭɨı"},{base:"j",letters:"jⓙjĵǰɉ"},{base:"k",letters:"kⓚkḱǩḳķḵƙⱪꝁꝃꝅꞣ"},{base:"l",letters:"lⓛlŀĺľḷḹļḽḻſłƚɫⱡꝉꞁꝇ"},{base:"lj",letters:"lj"},{base:"m",letters:"mⓜmḿṁṃɱɯ"},{base:"n",letters:"nⓝnǹń\xf1ṅňṇņṋṉƞɲʼnꞑꞥ"},{base:"nj",letters:"nj"},{base:"o",letters:"oⓞo\xf2\xf3\xf4ồốỗổ\xf5ṍȭṏōṑṓŏȯȱ\xf6ȫỏőǒȍȏơờớỡởợọộǫǭ\xf8ǿɔꝋꝍɵ"},{base:"oi",letters:"ƣ"},{base:"ou",letters:"ȣ"},{base:"oo",letters:"ꝏ"},{base:"p",letters:"pⓟpṕṗƥᵽꝑꝓꝕ"},{base:"q",letters:"qⓠqɋꝗꝙ"},{base:"r",letters:"rⓡrŕṙřȑȓṛṝŗṟɍɽꝛꞧꞃ"},{base:"s",letters:"sⓢs\xdfśṥŝṡšṧṣṩșşȿꞩꞅẛ"},{base:"t",letters:"tⓣtṫẗťṭțţṱṯŧƭʈⱦꞇ"},{base:"tz",letters:"ꜩ"},{base:"u",letters:"uⓤu\xf9\xfa\xfbũṹūṻŭ\xfcǜǘǖǚủůűǔȕȗưừứữửựụṳųṷṵʉ"},{base:"v",letters:"vⓥvṽṿʋꝟʌ"},{base:"vy",letters:"ꝡ"},{base:"w",letters:"wⓦwẁẃŵẇẅẘẉⱳ"},{base:"x",letters:"xⓧxẋẍ"},{base:"y",letters:"yⓨyỳ\xfdŷỹȳẏ\xffỷẙỵƴɏỿ"},{base:"z",letters:"zⓩzźẑżžẓẕƶȥɀⱬꝣ"}])for(let t of e.letters.split(""))f[t]=e.base;let b=new Set(["area","base","br","col","embed","hr","img","input","link","meta","source","track","wbr"]),k=new Map([["bash","shell"],["zsh","shell"],["sh","shell"],["js","javascript"],["ts","typescript"],["py","python"],["yml","yaml"]]);function y({suppressHydrationWarning:e=!1,specialImageSizeInTitleOrAlt:t=!0,customRenderMethods:a={},customReactComponentsForHtmlTags:s={},UNSAFE_allowHtml:l=!1}={}){return{...function(e,t,a,s){let l=[];function o(){return l.join("-")}function h(t,n=null,i={}){let s={key:"foxmd-"+o()+"-"+t,suppressHydrationWarning:e},l=m(t,a);return r.createElement(l,{...i,...s},n)}return{get elIdList(){return l},get elementId(){return this.elIdList.join("-")},incrementElId(){l[l.length-1]+=1},heading:(e,t,r)=>h(`h${t}`,e,{id:r}),paragraph:e=>h("p",e),link:(e,t,r)=>((e.startsWith("javascript:")||e.startsWith("data:")||e.startsWith("vbscript:"))&&(e=""),h("a",t,{href:e,title:r,target:void 0})),image(e,r,n){let i,a;if(t){if(r.includes("|")){let[e,t]=r.split("|");t&&t.includes("x")&&([i,a]=t.split("x").map(e=>e.trim()),r=e)}(void 0===i||void 0===a)&&n?.includes("size:")&&(n=n.replace(/size:(\d+)x(\d+)/,(e,t,r)=>(i=t,a=r,"")))}return h("img",null,{src:e,alt:r,title:n,width:i,height:a})},codespan:(e,t=null)=>h("code",e,{className:t?`language-${t}`:void 0}),code(e,t=""){return h("pre",this.codespan(e,t),{"data-language":(k.has(t)?k.get(t):t).toUpperCase()})},blockquote:e=>h("blockquote",e),list:(e,t,r)=>h(t?"ol":"ul",e,t&&1!==r?{start:r}:{}),listItem:e=>h("li",e),checkbox:e=>h("input",null,{type:"checkbox",disabled:!0,checked:e}),table:e=>h("table",e),tableHeader:e=>h("thead",e),tableBody:e=>h("tbody",e),tableRow:e=>h("tr",e),tableCell:(e,t)=>h(t.header?"th":"td",e,{align:t.align}),strong:e=>h("strong",e),em:e=>h("em",e),del:e=>h("del",e),text:e=>e,html(e){if(s){var t;let s;return t=o(),s=new i.DomHandler,new n.Parser(s,{decodeEntities:!0}).parseComplete(e),s.dom.map((e,n)=>(function e(t,n,a,s){if(i.isDirective(t))return null;if(i.isText(t))return t.data;if(i.isComment(t)||i.isCDATA(t))return null;let l=null;"children"in t&&t.children.length>0&&(l=t.children.reduce((t,r,i)=>{let l=e(r,i,a+"-"+n,s);return null!=l&&t.push(l),t},[]));var o,h=l;let g="name"in t&&t.name.includes("-"),f={key:"foxmd-html-"+a+"-"+n+("name"in t?"-"+t.name:"")};if("attribs"in t&&t.attribs){for(let e in t.attribs)if(Object.hasOwn(t.attribs,e)){if(g){f[e]=t.attribs[e];continue}if("ref"===e||e.startsWith("on"))continue;let r=t.attribs[e];if(e.startsWith("data-")||e.startsWith("aria-")){f[e]=""===r||r;continue}let n=e.toLowerCase();if(n in d&&(e=d[n]),"style"===e){f.style=c.default(r);continue}if(("checked"===e||"value"===e)&&"reset"!==t.attribs.type&&"submit"!==t.attribs.type){e=d[`default${n}`]||e;continue}if(p.has(e)){f[e]=!0;continue}if(u.has(e)){f[e]=""===r||r;continue}f[e]=r}}if("data"in t&&null!=t.data&&console.warn("[foxmd] Unknown node.data found vs node:",{node:t,data:t.data}),i.isDocument(t))return r.createElement(r.Fragment,f,h);return(o=t.name,b.has(o))?h?.length?(console.warn("[foxmd] Void HTML tag should not have children, foxmd push children after the self-closing tags.",{node:t,tag:t.name,children:h}),r.createElement(r.Fragment,null,r.createElement(m(t.name,s),f),h)):r.createElement(m(t.name,s),f):r.createElement(m(t.name,s),f,h)})(e,n,t,a))}return e},hr:()=>h("hr"),br:()=>h("br")}}(e,t,s,l),...a}}function x(e,{UNSAFE_pickSingleImageChildOutOfParentParagraph:t=!1}={}){let r=new Map;function n(t=[]){e.elIdList.push(0);let r=!1,i="",a=t.map(t=>{switch(t.type){case"text":if(r)return i+=t.text,null;return e.incrementElId(),e.text(l.decode(t.text));case"strong":return e.incrementElId(),e.strong(n(t.tokens).jsx);case"em":return e.incrementElId(),e.em(n(t.tokens).jsx);case"del":return e.incrementElId(),e.del(n(t.tokens).jsx);case"codespan":return e.incrementElId(),e.codespan(l.decode(t.text));case"link":return e.incrementElId(),e.link(t.href,n(t.tokens).jsx,t.title??void 0);case"image":return e.incrementElId(),e.image(t.href,t.text,t.title);case"html":{if("inRawBlock"in t&&(r=t.inRawBlock),r)return i+=t.text,null;e.incrementElId();let n=e.html(i);return i="",n}case"br":return e.incrementElId(),e.br();case"escape":return e.incrementElId(),e.text(t.text);default:return console.warn(`[foxmd] Token with "${t.type}" type was not found`),null}});return e.elIdList.pop(),{jsx:a,toc:[]}}return{parse:function i(a){let c=[];e.elIdList.push(0);let d=!1,p="",u=a.map(a=>{switch(a.type){case"space":return null;case"heading":{let t=a.depth,i=function e(t=[]){return o.fastStringArrayJoin(t.map(t=>{switch(t.type){case"text":case"codespan":return l.decode(t.text);case"strong":case"em":case"del":case"link":return e(t.tokens);case"image":case"html":case"br":case"escape":return"";default:return console.warn(`[foxmd] Token with "${t.type}" type was not found`),""}}),"-")}(a.tokens),d=function(e){if("string"!=typeof e)throw TypeError("str must be a string!");let t=s.escapeRegexp("-");return e.replaceAll(/[^\u0000-\u007E]/g,e=>f[e]||e).replaceAll(h,"").replaceAll(g,"-").replaceAll(RegExp(`${t}{2,}`,"g"),"-").replaceAll(RegExp(`^${t}+|${t}+$`,"g"),"").toLowerCase()}(i),p=1;return r.has(d)?(p=r.get(d)+1,r.set(d,p),d=d+"-"+p):r.set(d,p),c.push({text:i,id:d,level:t}),e.incrementElId(),e.heading(n(a.tokens).jsx,t,d)}case"paragraph":if(t&&a.tokens?.length===1&&"image"===a.tokens[0].type)return n(a.tokens).jsx;return e.incrementElId(),e.paragraph(n(a.tokens).jsx);case"text":if(d)return p+=a.text,null;return a.tokens?n(a.tokens).jsx:a.text;case"blockquote":{let t=i(a.tokens).jsx;return e.incrementElId(),e.blockquote(t)}case"list":{e.elIdList.push(0);let t=a.items.map(t=>{let r=[];return t.task&&(e.incrementElId(),r.push(e.checkbox(t.checked??!1))),r.push(i(t.tokens).jsx),e.incrementElId(),e.listItem(r)});return e.elIdList.pop(),e.incrementElId(),e.list(t,a.ordered,a.ordered?a.start:void 0)}case"code":return e.incrementElId(),e.code(a.text,a.lang);case"html":{if("inRawBlock"in a&&(d=a.inRawBlock),d)return p+=a.text,null;e.incrementElId();let t=e.html(p);return p="",t}case"table":{e.elIdList.push(0);let t=a.header.map((t,r)=>(e.incrementElId(),e.tableCell(n(t.tokens).jsx,{header:!0,align:a.align[r]})));e.elIdList.pop(),e.incrementElId();let r=e.tableRow(t);e.incrementElId();let i=e.tableHeader(r);e.elIdList.push(0);let s=a.rows.map(t=>{e.elIdList.push(0);let r=t.map((t,r)=>(e.incrementElId(),e.tableCell(n(t.tokens).jsx,{header:!1,align:a.align[r]})));return e.elIdList.pop(),e.incrementElId(),e.tableRow(r)});e.elIdList.pop(),e.incrementElId();let l=e.tableBody(s);return e.incrementElId(),e.table([i,l])}case"hr":return e.incrementElId(),e.hr();default:return console.warn(`[foxmd] Token with "${a.type}" type was not found`),null}});return e.elIdList.pop(),{jsx:u,toc:c}},parseInline:n}}let v=e.lazyValue(()=>new t.Marked);exports.createFoxmdParser=x,exports.createFoxmdRenderer=y,exports.foxmd=function(e,{foxmdRendererOptions:t,foxmdParserOptions:r,markedInstance:n=v(),lexerOptions:i=function(e){return{gfm:!0,breaks:!0,tokenizer:e.defaults.tokenizer}}(n),isInline:a=!1}={}){let s=n.lexer(e,i),l=x(y(t),r);return a?l.parseInline(s):l.parse(s)};
package/dist/index.d.ts CHANGED
@@ -10,67 +10,71 @@ interface TableFlags {
10
10
  header?: boolean;
11
11
  align?: 'center' | 'left' | 'right' | undefined;
12
12
  }
13
- type CustomRendererMethods = Partial<Omit<FoxmdRenderer, 'elIdList' | 'elementId' | 'incrementElId'>>;
14
13
  interface FoxmdRendererOptions {
15
14
  suppressHydrationWarning?: boolean;
16
- customRenderMethods?: CustomRendererMethods;
15
+ customRenderMethods?: Partial<FoxmdCustomRendererMethods>;
17
16
  customReactComponentsForHtmlTags?: HtmlTagReplaceReact;
18
17
  specialImageSizeInTitleOrAlt?: boolean;
19
18
  UNSAFE_allowHtml?: boolean;
20
19
  }
21
- declare function createInternalFoxmdRenderer(suppressHydrationWarning: boolean, specialImageSizeInTitleOrAlt: boolean, customReactComponentsForHtmlTags: HtmlTagReplaceReact, UNSAFE_allowHtml: boolean): {
22
- readonly elIdList: number[];
20
+ interface FoxmdCustomRendererMethods {
21
+ heading(this: FoxmdActualRenderer, children: ReactNode, level: HeadingLevels, id?: string): ReactNode;
22
+ paragraph(this: FoxmdActualRenderer, children: ReactNode): ReactNode;
23
+ link(this: FoxmdActualRenderer, href: string, text: ReactNode, title?: string): ReactNode;
24
+ image(this: FoxmdActualRenderer, src: string, alt: string, title?: string): ReactNode;
25
+ codespan(this: FoxmdActualRenderer, code: string, lang?: string | null): ReactNode;
26
+ code(this: FoxmdActualRenderer, code: string, lang?: string): ReactNode;
27
+ blockquote(this: FoxmdActualRenderer, children: ReactNode): ReactNode;
28
+ list(this: FoxmdActualRenderer, children: ReactNode, ordered: boolean, start?: number): ReactNode;
29
+ listItem(this: FoxmdActualRenderer, children: ReactNode[]): ReactNode;
30
+ checkbox(this: FoxmdActualRenderer, checked?: boolean): ReactNode;
31
+ table(this: FoxmdActualRenderer, children: ReactNode[]): ReactNode;
32
+ tableHeader(this: FoxmdActualRenderer, children: ReactNode): ReactNode;
33
+ tableBody(this: FoxmdActualRenderer, children: ReactNode[]): ReactNode;
34
+ tableRow(this: FoxmdActualRenderer, children: ReactNode[]): ReactNode;
35
+ tableCell(this: FoxmdActualRenderer, children: ReactNode[], flags: TableFlags): ReactNode;
36
+ strong(this: FoxmdActualRenderer, children: ReactNode): ReactNode;
37
+ em(this: FoxmdActualRenderer, children: ReactNode): ReactNode;
38
+ del(this: FoxmdActualRenderer, children: ReactNode): ReactNode;
39
+ text(this: FoxmdActualRenderer, text: ReactNode): ReactNode;
40
+ html(this: FoxmdActualRenderer, html: string): ReactNode | ReactNode[];
41
+ hr(this: FoxmdActualRenderer): ReactNode;
42
+ br(this: FoxmdActualRenderer): ReactNode;
43
+ }
44
+ interface FoxmdActualRenderer extends FoxmdCustomRendererMethods {
23
45
  readonly elementId: string;
46
+ }
47
+ interface FoxmdPrivateRenderer extends FoxmdActualRenderer {
24
48
  incrementElId(): void;
25
- heading(children: ReactNode, level: HeadingLevels, id?: string): ReactNode;
26
- paragraph(children: ReactNode): ReactNode;
27
- link(href: string, text: ReactNode, title?: string): ReactNode;
28
- image(src: string, alt: string, title?: string): ReactNode;
29
- codespan(code: string, lang?: string | null): ReactNode;
30
- code(code: string, lang?: string | undefined): ReactNode;
31
- blockquote(children: ReactNode): ReactNode;
32
- list(children: ReactNode, ordered: boolean, start: number | undefined): ReactNode;
33
- listItem(children: ReactNode[]): ReactNode;
34
- checkbox(checked: boolean | undefined): ReactNode;
35
- table(children: ReactNode[]): ReactNode;
36
- tableHeader(children: ReactNode): ReactNode;
37
- tableBody(children: ReactNode[]): ReactNode;
38
- tableRow(children: ReactNode[]): ReactNode;
39
- tableCell(children: ReactNode[], flags: TableFlags): ReactNode;
40
- strong(children: ReactNode): ReactNode;
41
- em(children: ReactNode): ReactNode;
42
- del(children: ReactNode): ReactNode;
43
- text(text: ReactNode): ReactNode;
44
- html(html: string): React.ReactNode | React.ReactNode[];
45
- hr(): ReactNode;
46
- br(): ReactNode;
47
- };
49
+ readonly elIdList: number[];
50
+ }
51
+ declare function createInternalFoxmdRenderer(suppressHydrationWarning: boolean, specialImageSizeInTitleOrAlt: boolean, customReactComponentsForHtmlTags: HtmlTagReplaceReact, UNSAFE_allowHtml: boolean): FoxmdPrivateRenderer;
48
52
  declare function createFoxmdRenderer({ suppressHydrationWarning, specialImageSizeInTitleOrAlt, customRenderMethods, customReactComponentsForHtmlTags, UNSAFE_allowHtml }?: FoxmdRendererOptions): {
49
- blockquote: (children: ReactNode) => ReactNode;
50
- br: () => ReactNode;
51
- code: (code: string, lang?: string | undefined) => ReactNode;
52
- del: (children: ReactNode) => ReactNode;
53
- em: (children: ReactNode) => ReactNode;
54
- hr: () => ReactNode;
55
- html: (html: string) => React.ReactNode | React.ReactNode[];
56
- link: (href: string, text: ReactNode, title?: string) => ReactNode;
57
- strong: (children: ReactNode) => ReactNode;
58
- table: (children: ReactNode[]) => ReactNode;
59
- image: (src: string, alt: string, title?: string) => ReactNode;
60
- text: (text: ReactNode) => ReactNode;
61
- heading: (children: ReactNode, level: HeadingLevels, id?: string) => ReactNode;
62
- paragraph: (children: ReactNode) => ReactNode;
63
- codespan: (code: string, lang?: string | null) => ReactNode;
64
- list: (children: ReactNode, ordered: boolean, start: number | undefined) => ReactNode;
65
- listItem: (children: ReactNode[]) => ReactNode;
66
- checkbox: (checked: boolean | undefined) => ReactNode;
67
- tableHeader: (children: ReactNode) => ReactNode;
68
- tableBody: (children: ReactNode[]) => ReactNode;
69
- tableRow: (children: ReactNode[]) => ReactNode;
70
- tableCell: (children: ReactNode[], flags: TableFlags) => ReactNode;
53
+ heading: (this: FoxmdActualRenderer, children: ReactNode, level: HeadingLevels, id?: string) => ReactNode;
54
+ paragraph: (this: FoxmdActualRenderer, children: ReactNode) => ReactNode;
55
+ link: (this: FoxmdActualRenderer, href: string, text: ReactNode, title?: string) => ReactNode;
56
+ image: (this: FoxmdActualRenderer, src: string, alt: string, title?: string) => ReactNode;
57
+ codespan: (this: FoxmdActualRenderer, code: string, lang?: string | null) => ReactNode;
58
+ code: (this: FoxmdActualRenderer, code: string, lang?: string) => ReactNode;
59
+ blockquote: (this: FoxmdActualRenderer, children: ReactNode) => ReactNode;
60
+ list: (this: FoxmdActualRenderer, children: ReactNode, ordered: boolean, start?: number) => ReactNode;
61
+ listItem: (this: FoxmdActualRenderer, children: ReactNode[]) => ReactNode;
62
+ checkbox: (this: FoxmdActualRenderer, checked?: boolean) => ReactNode;
63
+ table: (this: FoxmdActualRenderer, children: ReactNode[]) => ReactNode;
64
+ tableHeader: (this: FoxmdActualRenderer, children: ReactNode) => ReactNode;
65
+ tableBody: (this: FoxmdActualRenderer, children: ReactNode[]) => ReactNode;
66
+ tableRow: (this: FoxmdActualRenderer, children: ReactNode[]) => ReactNode;
67
+ tableCell: (this: FoxmdActualRenderer, children: ReactNode[], flags: TableFlags) => ReactNode;
68
+ strong: (this: FoxmdActualRenderer, children: ReactNode) => ReactNode;
69
+ em: (this: FoxmdActualRenderer, children: ReactNode) => ReactNode;
70
+ del: (this: FoxmdActualRenderer, children: ReactNode) => ReactNode;
71
+ text: (this: FoxmdActualRenderer, text: ReactNode) => ReactNode;
72
+ html: (this: FoxmdActualRenderer, html: string) => ReactNode | ReactNode[];
73
+ hr: (this: FoxmdActualRenderer) => ReactNode;
74
+ br: (this: FoxmdActualRenderer) => ReactNode;
75
+ incrementElId(): void;
71
76
  elIdList: number[];
72
77
  elementId: string;
73
- incrementElId(): void;
74
78
  };
75
79
  type FoxmdRenderer = ReturnType<typeof createInternalFoxmdRenderer>;
76
80
 
@@ -100,4 +104,4 @@ interface FoxmdOptions {
100
104
  declare function foxmd(markdownString: string, { foxmdRendererOptions, foxmdParserOptions, markedInstance, lexerOptions, isInline }?: FoxmdOptions): FoxmdParserParseResult;
101
105
 
102
106
  export { createFoxmdParser, createFoxmdRenderer, foxmd };
103
- export type { FoxmdOptions, FoxmdParserOptions, FoxmdRendererOptions };
107
+ export type { FoxmdActualRenderer, FoxmdCustomRendererMethods, FoxmdOptions, FoxmdParserOptions, FoxmdRendererOptions };
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import"server-only";import{lazyValue as e}from"foxts/lazy-value";import{Marked as t}from"marked";import{createElement as r,Fragment as n}from"react";import{Parser as i}from"htmlparser2";import{isDocument as a,DomHandler as s,isDirective as l,isText as o,isComment as c,isCDATA as d}from"domhandler";import p from"style-to-object";import{escapeRegexp as u}from"fast-escape-regexp";import{decode as m}from"html-entities";import{fastStringArrayJoin as h}from"foxts/fast-string-array-join";let g={accept:"accept",acceptcharset:"acceptCharset","accept-charset":"acceptCharset",accesskey:"accessKey",action:"action",allowfullscreen:"allowFullScreen",alt:"alt",as:"as",async:"async",autocapitalize:"autoCapitalize",autocomplete:"autoComplete",autocorrect:"autoCorrect",autofocus:"autoFocus",autoplay:"autoPlay",autosave:"autoSave",capture:"capture",cellpadding:"cellPadding",cellspacing:"cellSpacing",challenge:"challenge",charset:"charSet",checked:"checked",children:"children",cite:"cite",class:"className",classid:"classID",classname:"className",cols:"cols",colspan:"colSpan",content:"content",contenteditable:"contentEditable",contextmenu:"contextMenu",controls:"controls",controlslist:"controlsList",coords:"coords",crossorigin:"crossOrigin",dangerouslysetinnerhtml:"dangerouslySetInnerHTML",data:"data",datetime:"dateTime",default:"default",defaultchecked:"defaultChecked",defaultvalue:"defaultValue",defer:"defer",dir:"dir",disabled:"disabled",disablepictureinpicture:"disablePictureInPicture",disableremoteplayback:"disableRemotePlayback",download:"download",draggable:"draggable",enctype:"encType",enterkeyhint:"enterKeyHint",fetchpriority:"fetchPriority",for:"htmlFor",form:"form",formmethod:"formMethod",formaction:"formAction",formenctype:"formEncType",formnovalidate:"formNoValidate",formtarget:"formTarget",frameborder:"frameBorder",headers:"headers",height:"height",hidden:"hidden",high:"high",href:"href",hreflang:"hrefLang",htmlfor:"htmlFor",httpequiv:"httpEquiv","http-equiv":"httpEquiv",icon:"icon",id:"id",imagesizes:"imageSizes",imagesrcset:"imageSrcSet",inert:"inert",innerhtml:"innerHTML",inputmode:"inputMode",integrity:"integrity",is:"is",itemid:"itemID",itemprop:"itemProp",itemref:"itemRef",itemscope:"itemScope",itemtype:"itemType",keyparams:"keyParams",keytype:"keyType",kind:"kind",label:"label",lang:"lang",list:"list",loop:"loop",low:"low",manifest:"manifest",marginwidth:"marginWidth",marginheight:"marginHeight",max:"max",maxlength:"maxLength",media:"media",mediagroup:"mediaGroup",method:"method",min:"min",minlength:"minLength",multiple:"multiple",muted:"muted",name:"name",nomodule:"noModule",nonce:"nonce",novalidate:"noValidate",open:"open",optimum:"optimum",pattern:"pattern",placeholder:"placeholder",playsinline:"playsInline",poster:"poster",preload:"preload",profile:"profile",radiogroup:"radioGroup",readonly:"readOnly",referrerpolicy:"referrerPolicy",rel:"rel",required:"required",reversed:"reversed",role:"role",rows:"rows",rowspan:"rowSpan",sandbox:"sandbox",scope:"scope",scoped:"scoped",scrolling:"scrolling",seamless:"seamless",selected:"selected",shape:"shape",size:"size",sizes:"sizes",span:"span",spellcheck:"spellCheck",src:"src",srcdoc:"srcDoc",srclang:"srcLang",srcset:"srcSet",start:"start",step:"step",style:"style",summary:"summary",tabindex:"tabIndex",target:"target",title:"title",type:"type",usemap:"useMap",value:"value",width:"width",wmode:"wmode",wrap:"wrap",about:"about",accentheight:"accentHeight","accent-height":"accentHeight",accumulate:"accumulate",additive:"additive",alignmentbaseline:"alignmentBaseline","alignment-baseline":"alignmentBaseline",allowreorder:"allowReorder",alphabetic:"alphabetic",amplitude:"amplitude",arabicform:"arabicForm","arabic-form":"arabicForm",ascent:"ascent",attributename:"attributeName",attributetype:"attributeType",autoreverse:"autoReverse",azimuth:"azimuth",basefrequency:"baseFrequency",baselineshift:"baselineShift","baseline-shift":"baselineShift",baseprofile:"baseProfile",bbox:"bbox",begin:"begin",bias:"bias",by:"by",calcmode:"calcMode",capheight:"capHeight","cap-height":"capHeight",clip:"clip",clippath:"clipPath","clip-path":"clipPath",clippathunits:"clipPathUnits",cliprule:"clipRule","clip-rule":"clipRule",color:"color",colorinterpolation:"colorInterpolation","color-interpolation":"colorInterpolation",colorinterpolationfilters:"colorInterpolationFilters","color-interpolation-filters":"colorInterpolationFilters",colorprofile:"colorProfile","color-profile":"colorProfile",colorrendering:"colorRendering","color-rendering":"colorRendering",contentscripttype:"contentScriptType",contentstyletype:"contentStyleType",cursor:"cursor",cx:"cx",cy:"cy",d:"d",datatype:"datatype",decelerate:"decelerate",descent:"descent",diffuseconstant:"diffuseConstant",direction:"direction",display:"display",divisor:"divisor",dominantbaseline:"dominantBaseline","dominant-baseline":"dominantBaseline",dur:"dur",dx:"dx",dy:"dy",edgemode:"edgeMode",elevation:"elevation",enablebackground:"enableBackground","enable-background":"enableBackground",end:"end",exponent:"exponent",externalresourcesrequired:"externalResourcesRequired",fill:"fill",fillopacity:"fillOpacity","fill-opacity":"fillOpacity",fillrule:"fillRule","fill-rule":"fillRule",filter:"filter",filterres:"filterRes",filterunits:"filterUnits",floodopacity:"floodOpacity","flood-opacity":"floodOpacity",floodcolor:"floodColor","flood-color":"floodColor",focusable:"focusable",fontfamily:"fontFamily","font-family":"fontFamily",fontsize:"fontSize","font-size":"fontSize",fontsizeadjust:"fontSizeAdjust","font-size-adjust":"fontSizeAdjust",fontstretch:"fontStretch","font-stretch":"fontStretch",fontstyle:"fontStyle","font-style":"fontStyle",fontvariant:"fontVariant","font-variant":"fontVariant",fontweight:"fontWeight","font-weight":"fontWeight",format:"format",from:"from",fx:"fx",fy:"fy",g1:"g1",g2:"g2",glyphname:"glyphName","glyph-name":"glyphName",glyphorientationhorizontal:"glyphOrientationHorizontal","glyph-orientation-horizontal":"glyphOrientationHorizontal",glyphorientationvertical:"glyphOrientationVertical","glyph-orientation-vertical":"glyphOrientationVertical",glyphref:"glyphRef",gradienttransform:"gradientTransform",gradientunits:"gradientUnits",hanging:"hanging",horizadvx:"horizAdvX","horiz-adv-x":"horizAdvX",horizoriginx:"horizOriginX","horiz-origin-x":"horizOriginX",ideographic:"ideographic",imagerendering:"imageRendering","image-rendering":"imageRendering",in2:"in2",in:"in",inlist:"inlist",intercept:"intercept",k1:"k1",k2:"k2",k3:"k3",k4:"k4",k:"k",kernelmatrix:"kernelMatrix",kernelunitlength:"kernelUnitLength",kerning:"kerning",keypoints:"keyPoints",keysplines:"keySplines",keytimes:"keyTimes",lengthadjust:"lengthAdjust",letterspacing:"letterSpacing","letter-spacing":"letterSpacing",lightingcolor:"lightingColor","lighting-color":"lightingColor",limitingconeangle:"limitingConeAngle",local:"local",markerend:"markerEnd","marker-end":"markerEnd",markerheight:"markerHeight",markermid:"markerMid","marker-mid":"markerMid",markerstart:"markerStart","marker-start":"markerStart",markerunits:"markerUnits",markerwidth:"markerWidth",mask:"mask",maskcontentunits:"maskContentUnits",maskunits:"maskUnits",mathematical:"mathematical",mode:"mode",numoctaves:"numOctaves",offset:"offset",opacity:"opacity",operator:"operator",order:"order",orient:"orient",orientation:"orientation",origin:"origin",overflow:"overflow",overlineposition:"overlinePosition","overline-position":"overlinePosition",overlinethickness:"overlineThickness","overline-thickness":"overlineThickness",paintorder:"paintOrder","paint-order":"paintOrder",panose1:"panose1","panose-1":"panose1",pathlength:"pathLength",patterncontentunits:"patternContentUnits",patterntransform:"patternTransform",patternunits:"patternUnits",pointerevents:"pointerEvents","pointer-events":"pointerEvents",points:"points",pointsatx:"pointsAtX",pointsaty:"pointsAtY",pointsatz:"pointsAtZ",popover:"popover",popovertarget:"popoverTarget",popovertargetaction:"popoverTargetAction",prefix:"prefix",preservealpha:"preserveAlpha",preserveaspectratio:"preserveAspectRatio",primitiveunits:"primitiveUnits",property:"property",r:"r",radius:"radius",refx:"refX",refy:"refY",renderingintent:"renderingIntent","rendering-intent":"renderingIntent",repeatcount:"repeatCount",repeatdur:"repeatDur",requiredextensions:"requiredExtensions",requiredfeatures:"requiredFeatures",resource:"resource",restart:"restart",result:"result",results:"results",rotate:"rotate",rx:"rx",ry:"ry",scale:"scale",security:"security",seed:"seed",shaperendering:"shapeRendering","shape-rendering":"shapeRendering",slope:"slope",spacing:"spacing",specularconstant:"specularConstant",specularexponent:"specularExponent",speed:"speed",spreadmethod:"spreadMethod",startoffset:"startOffset",stddeviation:"stdDeviation",stemh:"stemh",stemv:"stemv",stitchtiles:"stitchTiles",stopcolor:"stopColor","stop-color":"stopColor",stopopacity:"stopOpacity","stop-opacity":"stopOpacity",strikethroughposition:"strikethroughPosition","strikethrough-position":"strikethroughPosition",strikethroughthickness:"strikethroughThickness","strikethrough-thickness":"strikethroughThickness",string:"string",stroke:"stroke",strokedasharray:"strokeDasharray","stroke-dasharray":"strokeDasharray",strokedashoffset:"strokeDashoffset","stroke-dashoffset":"strokeDashoffset",strokelinecap:"strokeLinecap","stroke-linecap":"strokeLinecap",strokelinejoin:"strokeLinejoin","stroke-linejoin":"strokeLinejoin",strokemiterlimit:"strokeMiterlimit","stroke-miterlimit":"strokeMiterlimit",strokewidth:"strokeWidth","stroke-width":"strokeWidth",strokeopacity:"strokeOpacity","stroke-opacity":"strokeOpacity",suppresscontenteditablewarning:"suppressContentEditableWarning",suppresshydrationwarning:"suppressHydrationWarning",surfacescale:"surfaceScale",systemlanguage:"systemLanguage",tablevalues:"tableValues",targetx:"targetX",targety:"targetY",textanchor:"textAnchor","text-anchor":"textAnchor",textdecoration:"textDecoration","text-decoration":"textDecoration",textlength:"textLength",textrendering:"textRendering","text-rendering":"textRendering",to:"to",transform:"transform",transformorigin:"transformOrigin","transform-origin":"transformOrigin",typeof:"typeof",u1:"u1",u2:"u2",underlineposition:"underlinePosition","underline-position":"underlinePosition",underlinethickness:"underlineThickness","underline-thickness":"underlineThickness",unicode:"unicode",unicodebidi:"unicodeBidi","unicode-bidi":"unicodeBidi",unicoderange:"unicodeRange","unicode-range":"unicodeRange",unitsperem:"unitsPerEm","units-per-em":"unitsPerEm",unselectable:"unselectable",valphabetic:"vAlphabetic","v-alphabetic":"vAlphabetic",values:"values",vectoreffect:"vectorEffect","vector-effect":"vectorEffect",version:"version",vertadvy:"vertAdvY","vert-adv-y":"vertAdvY",vertoriginx:"vertOriginX","vert-origin-x":"vertOriginX",vertoriginy:"vertOriginY","vert-origin-y":"vertOriginY",vhanging:"vHanging","v-hanging":"vHanging",videographic:"vIdeographic","v-ideographic":"vIdeographic",viewbox:"viewBox",viewtarget:"viewTarget",visibility:"visibility",vmathematical:"vMathematical","v-mathematical":"vMathematical",vocab:"vocab",widths:"widths",wordspacing:"wordSpacing","word-spacing":"wordSpacing",writingmode:"writingMode","writing-mode":"writingMode",x1:"x1",x2:"x2",x:"x",xchannelselector:"xChannelSelector",xheight:"xHeight","x-height":"xHeight",xlinkactuate:"xlinkActuate","xlink:actuate":"xlinkActuate",xlinkarcrole:"xlinkArcrole","xlink:arcrole":"xlinkArcrole",xlinkhref:"xlinkHref","xlink:href":"xlinkHref",xlinkrole:"xlinkRole","xlink:role":"xlinkRole",xlinkshow:"xlinkShow","xlink:show":"xlinkShow",xlinktitle:"xlinkTitle","xlink:title":"xlinkTitle",xlinktype:"xlinkType","xlink:type":"xlinkType",xmlbase:"xmlBase","xml:base":"xmlBase",xmllang:"xmlLang","xml:lang":"xmlLang",xmlns:"xmlns","xml:space":"xmlSpace",xmlnsxlink:"xmlnsXlink","xmlns:xlink":"xmlnsXlink",xmlspace:"xmlSpace",y1:"y1",y2:"y2",y:"y",ychannelselector:"yChannelSelector",z:"z",zoomandpan:"zoomAndPan"},f=new Set(["allowFullScreen","async","autoPlay","controls","default","defer","disabled","disablePictureInPicture","disableRemotePlayback","formNoValidate","hidden","loop","noModule","noValidate","open","playsInline","readOnly","required","reversed","scoped","seamless","itemScope","autoFocus"]),b=new Set(["capture","download"]);function k(e,t){return e in t?t[e]:e}let y=/[\u0000-\u001F]/g,x=/[\s!"#$%&'()*+,./:;<=>?@[\\\]^_`{|}~-]+/g,v={};for(let e of[{base:"A",letters:"AⒶA\xc0\xc1\xc2ẦẤẪẨ\xc3ĀĂẰẮẴẲȦǠ\xc4ǞẢ\xc5ǺǍȀȂẠẬẶḀĄȺⱯ"},{base:"AA",letters:"Ꜳ"},{base:"AE",letters:"\xc6ǼǢ"},{base:"AO",letters:"Ꜵ"},{base:"AU",letters:"Ꜷ"},{base:"AV",letters:"ꜸꜺ"},{base:"AY",letters:"Ꜽ"},{base:"B",letters:"BⒷBḂḄḆɃƂƁ"},{base:"C",letters:"CⒸCĆĈĊČ\xc7ḈƇȻꜾ"},{base:"D",letters:"DⒹDḊĎḌḐḒḎĐƋƊƉꝹ"},{base:"DZ",letters:"DZDŽ"},{base:"Dz",letters:"DzDž"},{base:"E",letters:"EⒺE\xc8\xc9\xcaỀẾỄỂẼĒḔḖĔĖ\xcbẺĚȄȆẸỆȨḜĘḘḚƐƎ"},{base:"F",letters:"FⒻFḞƑꝻ"},{base:"G",letters:"GⒼGǴĜḠĞĠǦĢǤƓꞠꝽꝾ"},{base:"H",letters:"HⒽHĤḢḦȞḤḨḪĦⱧⱵꞍ"},{base:"I",letters:"IⒾI\xcc\xcd\xceĨĪĬİ\xcfḮỈǏȈȊỊĮḬƗ"},{base:"J",letters:"JⒿJĴɈ"},{base:"K",letters:"KⓀKḰǨḲĶḴƘⱩꝀꝂꝄꞢ"},{base:"L",letters:"LⓁLĿĹĽḶḸĻḼḺŁȽⱢⱠꝈꝆꞀ"},{base:"LJ",letters:"LJ"},{base:"Lj",letters:"Lj"},{base:"M",letters:"MⓂMḾṀṂⱮƜ"},{base:"N",letters:"NⓃNǸŃ\xd1ṄŇṆŅṊṈȠƝꞐꞤ"},{base:"NJ",letters:"NJ"},{base:"Nj",letters:"Nj"},{base:"O",letters:"OⓄO\xd2\xd3\xd4ỒỐỖỔ\xd5ṌȬṎŌṐṒŎȮȰ\xd6ȪỎŐǑȌȎƠỜỚỠỞỢỌỘǪǬ\xd8ǾƆƟꝊꝌ"},{base:"OI",letters:"Ƣ"},{base:"OO",letters:"Ꝏ"},{base:"OU",letters:"Ȣ"},{base:"OE",letters:"\x8cŒ"},{base:"oe",letters:"\x9cœ"},{base:"P",letters:"PⓅPṔṖƤⱣꝐꝒꝔ"},{base:"Q",letters:"QⓆQꝖꝘɊ"},{base:"R",letters:"RⓇRŔṘŘȐȒṚṜŖṞɌⱤꝚꞦꞂ"},{base:"S",letters:"SⓈSẞŚṤŜṠŠṦṢṨȘŞⱾꞨꞄ"},{base:"T",letters:"TⓉTṪŤṬȚŢṰṮŦƬƮȾꞆ"},{base:"TZ",letters:"Ꜩ"},{base:"U",letters:"UⓊU\xd9\xda\xdbŨṸŪṺŬ\xdcǛǗǕǙỦŮŰǓȔȖƯỪỨỮỬỰỤṲŲṶṴɄ"},{base:"V",letters:"VⓋVṼṾƲꝞɅ"},{base:"VY",letters:"Ꝡ"},{base:"W",letters:"WⓌWẀẂŴẆẄẈⱲ"},{base:"X",letters:"XⓍXẊẌ"},{base:"Y",letters:"YⓎYỲ\xddŶỸȲẎŸỶỴƳɎỾ"},{base:"Z",letters:"ZⓏZŹẐŻŽẒẔƵȤⱿⱫꝢ"},{base:"a",letters:"aⓐaẚ\xe0\xe1\xe2ầấẫẩ\xe3āăằắẵẳȧǡ\xe4ǟả\xe5ǻǎȁȃạậặḁąⱥɐ"},{base:"aa",letters:"ꜳ"},{base:"ae",letters:"\xe6ǽǣ"},{base:"ao",letters:"ꜵ"},{base:"au",letters:"ꜷ"},{base:"av",letters:"ꜹꜻ"},{base:"ay",letters:"ꜽ"},{base:"b",letters:"bⓑbḃḅḇƀƃɓ"},{base:"c",letters:"cⓒcćĉċč\xe7ḉƈȼꜿↄ"},{base:"d",letters:"dⓓdḋďḍḑḓḏđƌɖɗꝺ"},{base:"dz",letters:"dzdž"},{base:"e",letters:"eⓔe\xe8\xe9\xeaềếễểẽēḕḗĕė\xebẻěȅȇẹệȩḝęḙḛɇɛǝ"},{base:"f",letters:"fⓕfḟƒꝼ"},{base:"g",letters:"gⓖgǵĝḡğġǧģǥɠꞡᵹꝿ"},{base:"h",letters:"hⓗhĥḣḧȟḥḩḫẖħⱨⱶɥ"},{base:"hv",letters:"ƕ"},{base:"i",letters:"iⓘi\xec\xed\xeeĩīĭ\xefḯỉǐȉȋịįḭɨı"},{base:"j",letters:"jⓙjĵǰɉ"},{base:"k",letters:"kⓚkḱǩḳķḵƙⱪꝁꝃꝅꞣ"},{base:"l",letters:"lⓛlŀĺľḷḹļḽḻſłƚɫⱡꝉꞁꝇ"},{base:"lj",letters:"lj"},{base:"m",letters:"mⓜmḿṁṃɱɯ"},{base:"n",letters:"nⓝnǹń\xf1ṅňṇņṋṉƞɲʼnꞑꞥ"},{base:"nj",letters:"nj"},{base:"o",letters:"oⓞo\xf2\xf3\xf4ồốỗổ\xf5ṍȭṏōṑṓŏȯȱ\xf6ȫỏőǒȍȏơờớỡởợọộǫǭ\xf8ǿɔꝋꝍɵ"},{base:"oi",letters:"ƣ"},{base:"ou",letters:"ȣ"},{base:"oo",letters:"ꝏ"},{base:"p",letters:"pⓟpṕṗƥᵽꝑꝓꝕ"},{base:"q",letters:"qⓠqɋꝗꝙ"},{base:"r",letters:"rⓡrŕṙřȑȓṛṝŗṟɍɽꝛꞧꞃ"},{base:"s",letters:"sⓢs\xdfśṥŝṡšṧṣṩșşȿꞩꞅẛ"},{base:"t",letters:"tⓣtṫẗťṭțţṱṯŧƭʈⱦꞇ"},{base:"tz",letters:"ꜩ"},{base:"u",letters:"uⓤu\xf9\xfa\xfbũṹūṻŭ\xfcǜǘǖǚủůűǔȕȗưừứữửựụṳųṷṵʉ"},{base:"v",letters:"vⓥvṽṿʋꝟʌ"},{base:"vy",letters:"ꝡ"},{base:"w",letters:"wⓦwẁẃŵẇẅẘẉⱳ"},{base:"x",letters:"xⓧxẋẍ"},{base:"y",letters:"yⓨyỳ\xfdŷỹȳẏ\xffỷẙỵƴɏỿ"},{base:"z",letters:"zⓩzźẑżžẓẕƶȥɀⱬꝣ"}])for(let t of e.letters.split(""))v[t]=e.base;let w=new Set(["area","base","br","col","embed","hr","img","input","link","meta","source","track","wbr"]),I=new Map([["bash","shell"],["zsh","shell"],["sh","shell"],["js","javascript"],["ts","typescript"],["py","python"],["yml","yaml"]]);function E({suppressHydrationWarning:e=!1,specialImageSizeInTitleOrAlt:t=!0,customRenderMethods:u={},customReactComponentsForHtmlTags:m={},UNSAFE_allowHtml:h=!1}={}){return{...function(e,t,u,m){let h=[];function y(){return h.join("-")}function x(t,n=null,i={}){let a={key:"foxmd-"+y()+"-"+t,suppressHydrationWarning:e};return r(k(t,u),{...i,...a},n)}return{get elIdList(){return h},get elementId(){return y()},incrementElId(){h[h.length-1]+=1},heading:(e,t,r)=>x(`h${t}`,e,{id:r}),paragraph:e=>x("p",e),link:(e,t,r)=>((e.startsWith("javascript:")||e.startsWith("data:")||e.startsWith("vbscript:"))&&(e=""),x("a",t,{href:e,title:r,target:void 0})),image(e,r,n){let i,a;if(t){if(r.includes("|")){let[e,t]=r.split("|");t&&t.includes("x")&&([i,a]=t.split("x").map(e=>e.trim()),r=e)}(void 0===i||void 0===a)&&n?.includes("size:")&&(n=n.replace(/size:(\d+)x(\d+)/,(e,t,r)=>(i=t,a=r,"")))}return x("img",null,{src:e,alt:r,title:n,width:i,height:a})},codespan:(e,t=null)=>x("code",e,{className:t?`language-${t}`:void 0}),code(e,t=""){return x("pre",this.codespan(e,t),{"data-language":(I.has(t)?I.get(t):t).toUpperCase()})},blockquote:e=>x("blockquote",e),list:(e,t,r)=>x(t?"ol":"ul",e,t&&1!==r?{start:r}:{}),listItem:e=>x("li",e),checkbox:e=>x("input",null,{type:"checkbox",disabled:!0,checked:e}),table:e=>x("table",e),tableHeader:e=>x("thead",e),tableBody:e=>x("tbody",e),tableRow:e=>x("tr",e),tableCell:(e,t)=>x(t.header?"th":"td",e,{align:t.align}),strong:e=>x("strong",e),em:e=>x("em",e),del:e=>x("del",e),text:e=>e,html(e){if(m){var t;let m;return t=y(),new i(m=new s,{decodeEntities:!0}).parseComplete(e),m.dom.map((e,i)=>(function e(t,i,s,u){if(l(t))return null;if(o(t))return t.data;if(c(t)||d(t))return null;let m=null;"children"in t&&t.children.length>0&&(m=t.children.reduce((t,r,n)=>{let a=e(r,n,s+"-"+i,u);return null!=a&&t.push(a),t},[]));var h,y=m;let x="name"in t&&t.name.includes("-"),v={key:"foxmd-html-"+s+"-"+i+("name"in t?"-"+t.name:"")};if("attribs"in t&&t.attribs){for(let e in t.attribs)if(Object.hasOwn(t.attribs,e)){if(x){v[e]=t.attribs[e];continue}if("ref"===e||e.startsWith("on"))continue;let r=t.attribs[e];if(e.startsWith("data-")||e.startsWith("aria-")){v[e]=""===r||r;continue}let n=e.toLowerCase();if(n in g&&(e=g[n]),"style"===e){v.style=p(r);continue}if(("checked"===e||"value"===e)&&"reset"!==t.attribs.type&&"submit"!==t.attribs.type){e=g[`default${n}`]||e;continue}if(f.has(e)){v[e]=!0;continue}if(b.has(e)){v[e]=""===r||r;continue}v[e]=r}}if("data"in t&&null!=t.data&&console.warn("[foxmd] Unknown node.data found vs node:",{node:t,data:t.data}),a(t))return r(n,v,y);return(h=t.name,w.has(h))?y?.length?(console.warn("[foxmd] Void HTML tag should not have children, foxmd push children after the self-closing tags.",{node:t,tag:t.name,children:y}),r(n,null,r(k(t.name,u),v),y)):r(k(t.name,u),v):r(k(t.name,u),v,y)})(e,i,t,u))}return e},hr:()=>x("hr"),br:()=>x("br")}}(e,t,m,h),...u}}function z(e,{UNSAFE_pickSingleImageChildOutOfParentParagraph:t=!1}={}){let r=new Map;function n(t=[]){e.elIdList.push(0);let r=!1,i="",a=t.map(t=>{switch(t.type){case"text":if(r)return i+=t.text,null;return e.incrementElId(),e.text(m(t.text));case"strong":return e.incrementElId(),e.strong(n(t.tokens).jsx);case"em":return e.incrementElId(),e.em(n(t.tokens).jsx);case"del":return e.incrementElId(),e.del(n(t.tokens).jsx);case"codespan":return e.incrementElId(),e.codespan(m(t.text));case"link":return e.incrementElId(),e.link(t.href,n(t.tokens).jsx,t.title??void 0);case"image":return e.incrementElId(),e.image(t.href,t.text,t.title);case"html":{if("inRawBlock"in t&&(r=t.inRawBlock),r)return i+=t.text,null;e.incrementElId();let n=e.html(i);return i="",n}case"br":return e.incrementElId(),e.br();case"escape":return e.incrementElId(),e.text(t.text);default:return console.warn(`[foxmd] Token with "${t.type}" type was not found`),null}});return e.elIdList.pop(),{jsx:a,toc:[]}}return{parse:function i(a){let s=[];e.elIdList.push(0);let l=!1,o="",c=a.map(a=>{switch(a.type){case"space":return null;case"heading":{let t=a.depth,i=function e(t=[]){return h(t.map(t=>{switch(t.type){case"text":case"codespan":return m(t.text);case"strong":case"em":case"del":case"link":return e(t.tokens);case"image":case"html":case"br":case"escape":return"";default:return console.warn(`[foxmd] Token with "${t.type}" type was not found`),""}}),"-")}(a.tokens),l=function(e){if("string"!=typeof e)throw TypeError("str must be a string!");let t=u("-");return e.replaceAll(/[^\u0000-\u007E]/g,e=>v[e]||e).replaceAll(y,"").replaceAll(x,"-").replaceAll(RegExp(`${t}{2,}`,"g"),"-").replaceAll(RegExp(`^${t}+|${t}+$`,"g"),"").toLowerCase()}(i),o=1;return r.has(l)?(o=r.get(l)+1,r.set(l,o),l=l+"-"+o):r.set(l,o),s.push({text:i,id:l,level:t}),e.incrementElId(),e.heading(n(a.tokens).jsx,t,l)}case"paragraph":if(t&&a.tokens?.length===1&&"image"===a.tokens[0].type)return n(a.tokens).jsx;return e.incrementElId(),e.paragraph(n(a.tokens).jsx);case"text":if(l)return o+=a.text,null;return a.tokens?n(a.tokens).jsx:a.text;case"blockquote":{let t=i(a.tokens).jsx;return e.incrementElId(),e.blockquote(t)}case"list":{e.elIdList.push(0);let t=a.items.map(t=>{let r=[];return t.task&&(e.incrementElId(),r.push(e.checkbox(t.checked??!1))),r.push(i(t.tokens).jsx),e.incrementElId(),e.listItem(r)});return e.elIdList.pop(),e.incrementElId(),e.list(t,a.ordered,a.ordered?a.start:void 0)}case"code":return e.incrementElId(),e.code(a.text,a.lang);case"html":{if("inRawBlock"in a&&(l=a.inRawBlock),l)return o+=a.text,null;e.incrementElId();let t=e.html(o);return o="",t}case"table":{e.elIdList.push(0);let t=a.header.map((t,r)=>(e.incrementElId(),e.tableCell(n(t.tokens).jsx,{header:!0,align:a.align[r]})));e.elIdList.pop(),e.incrementElId();let r=e.tableRow(t);e.incrementElId();let i=e.tableHeader(r);e.elIdList.push(0);let s=a.rows.map(t=>{e.elIdList.push(0);let r=t.map((t,r)=>(e.incrementElId(),e.tableCell(n(t.tokens).jsx,{header:!1,align:a.align[r]})));return e.elIdList.pop(),e.incrementElId(),e.tableRow(r)});e.elIdList.pop(),e.incrementElId();let l=e.tableBody(s);return e.incrementElId(),e.table([i,l])}case"hr":return e.incrementElId(),e.hr();default:return console.warn(`[foxmd] Token with "${a.type}" type was not found`),null}});return e.elIdList.pop(),{jsx:c,toc:s}},parseInline:n}}let S=e(()=>new t);function A(e,{foxmdRendererOptions:t,foxmdParserOptions:r,markedInstance:n=S(),lexerOptions:i=function(e){return{gfm:!0,breaks:!0,tokenizer:e.defaults.tokenizer}}(n),isInline:a=!1}={}){let s=n.lexer(e,i),l=z(E(t),r);return a?l.parseInline(s):l.parse(s)}export{z as createFoxmdParser,E as createFoxmdRenderer,A as foxmd};
1
+ import"server-only";import{lazyValue as e}from"foxts/lazy-value";import{Marked as t}from"marked";import{createElement as r,Fragment as n}from"react";import{Parser as i}from"htmlparser2";import{isDocument as a,DomHandler as s,isDirective as l,isText as o,isComment as c,isCDATA as d}from"domhandler";import p from"style-to-object";import{escapeRegexp as u}from"fast-escape-regexp";import{decode as m}from"html-entities";import{fastStringArrayJoin as h}from"foxts/fast-string-array-join";let g={accept:"accept",acceptcharset:"acceptCharset","accept-charset":"acceptCharset",accesskey:"accessKey",action:"action",allowfullscreen:"allowFullScreen",alt:"alt",as:"as",async:"async",autocapitalize:"autoCapitalize",autocomplete:"autoComplete",autocorrect:"autoCorrect",autofocus:"autoFocus",autoplay:"autoPlay",autosave:"autoSave",capture:"capture",cellpadding:"cellPadding",cellspacing:"cellSpacing",challenge:"challenge",charset:"charSet",checked:"checked",children:"children",cite:"cite",class:"className",classid:"classID",classname:"className",cols:"cols",colspan:"colSpan",content:"content",contenteditable:"contentEditable",contextmenu:"contextMenu",controls:"controls",controlslist:"controlsList",coords:"coords",crossorigin:"crossOrigin",dangerouslysetinnerhtml:"dangerouslySetInnerHTML",data:"data",datetime:"dateTime",default:"default",defaultchecked:"defaultChecked",defaultvalue:"defaultValue",defer:"defer",dir:"dir",disabled:"disabled",disablepictureinpicture:"disablePictureInPicture",disableremoteplayback:"disableRemotePlayback",download:"download",draggable:"draggable",enctype:"encType",enterkeyhint:"enterKeyHint",fetchpriority:"fetchPriority",for:"htmlFor",form:"form",formmethod:"formMethod",formaction:"formAction",formenctype:"formEncType",formnovalidate:"formNoValidate",formtarget:"formTarget",frameborder:"frameBorder",headers:"headers",height:"height",hidden:"hidden",high:"high",href:"href",hreflang:"hrefLang",htmlfor:"htmlFor",httpequiv:"httpEquiv","http-equiv":"httpEquiv",icon:"icon",id:"id",imagesizes:"imageSizes",imagesrcset:"imageSrcSet",inert:"inert",innerhtml:"innerHTML",inputmode:"inputMode",integrity:"integrity",is:"is",itemid:"itemID",itemprop:"itemProp",itemref:"itemRef",itemscope:"itemScope",itemtype:"itemType",keyparams:"keyParams",keytype:"keyType",kind:"kind",label:"label",lang:"lang",list:"list",loop:"loop",low:"low",manifest:"manifest",marginwidth:"marginWidth",marginheight:"marginHeight",max:"max",maxlength:"maxLength",media:"media",mediagroup:"mediaGroup",method:"method",min:"min",minlength:"minLength",multiple:"multiple",muted:"muted",name:"name",nomodule:"noModule",nonce:"nonce",novalidate:"noValidate",open:"open",optimum:"optimum",pattern:"pattern",placeholder:"placeholder",playsinline:"playsInline",poster:"poster",preload:"preload",profile:"profile",radiogroup:"radioGroup",readonly:"readOnly",referrerpolicy:"referrerPolicy",rel:"rel",required:"required",reversed:"reversed",role:"role",rows:"rows",rowspan:"rowSpan",sandbox:"sandbox",scope:"scope",scoped:"scoped",scrolling:"scrolling",seamless:"seamless",selected:"selected",shape:"shape",size:"size",sizes:"sizes",span:"span",spellcheck:"spellCheck",src:"src",srcdoc:"srcDoc",srclang:"srcLang",srcset:"srcSet",start:"start",step:"step",style:"style",summary:"summary",tabindex:"tabIndex",target:"target",title:"title",type:"type",usemap:"useMap",value:"value",width:"width",wmode:"wmode",wrap:"wrap",about:"about",accentheight:"accentHeight","accent-height":"accentHeight",accumulate:"accumulate",additive:"additive",alignmentbaseline:"alignmentBaseline","alignment-baseline":"alignmentBaseline",allowreorder:"allowReorder",alphabetic:"alphabetic",amplitude:"amplitude",arabicform:"arabicForm","arabic-form":"arabicForm",ascent:"ascent",attributename:"attributeName",attributetype:"attributeType",autoreverse:"autoReverse",azimuth:"azimuth",basefrequency:"baseFrequency",baselineshift:"baselineShift","baseline-shift":"baselineShift",baseprofile:"baseProfile",bbox:"bbox",begin:"begin",bias:"bias",by:"by",calcmode:"calcMode",capheight:"capHeight","cap-height":"capHeight",clip:"clip",clippath:"clipPath","clip-path":"clipPath",clippathunits:"clipPathUnits",cliprule:"clipRule","clip-rule":"clipRule",color:"color",colorinterpolation:"colorInterpolation","color-interpolation":"colorInterpolation",colorinterpolationfilters:"colorInterpolationFilters","color-interpolation-filters":"colorInterpolationFilters",colorprofile:"colorProfile","color-profile":"colorProfile",colorrendering:"colorRendering","color-rendering":"colorRendering",contentscripttype:"contentScriptType",contentstyletype:"contentStyleType",cursor:"cursor",cx:"cx",cy:"cy",d:"d",datatype:"datatype",decelerate:"decelerate",descent:"descent",diffuseconstant:"diffuseConstant",direction:"direction",display:"display",divisor:"divisor",dominantbaseline:"dominantBaseline","dominant-baseline":"dominantBaseline",dur:"dur",dx:"dx",dy:"dy",edgemode:"edgeMode",elevation:"elevation",enablebackground:"enableBackground","enable-background":"enableBackground",end:"end",exponent:"exponent",externalresourcesrequired:"externalResourcesRequired",fill:"fill",fillopacity:"fillOpacity","fill-opacity":"fillOpacity",fillrule:"fillRule","fill-rule":"fillRule",filter:"filter",filterres:"filterRes",filterunits:"filterUnits",floodopacity:"floodOpacity","flood-opacity":"floodOpacity",floodcolor:"floodColor","flood-color":"floodColor",focusable:"focusable",fontfamily:"fontFamily","font-family":"fontFamily",fontsize:"fontSize","font-size":"fontSize",fontsizeadjust:"fontSizeAdjust","font-size-adjust":"fontSizeAdjust",fontstretch:"fontStretch","font-stretch":"fontStretch",fontstyle:"fontStyle","font-style":"fontStyle",fontvariant:"fontVariant","font-variant":"fontVariant",fontweight:"fontWeight","font-weight":"fontWeight",format:"format",from:"from",fx:"fx",fy:"fy",g1:"g1",g2:"g2",glyphname:"glyphName","glyph-name":"glyphName",glyphorientationhorizontal:"glyphOrientationHorizontal","glyph-orientation-horizontal":"glyphOrientationHorizontal",glyphorientationvertical:"glyphOrientationVertical","glyph-orientation-vertical":"glyphOrientationVertical",glyphref:"glyphRef",gradienttransform:"gradientTransform",gradientunits:"gradientUnits",hanging:"hanging",horizadvx:"horizAdvX","horiz-adv-x":"horizAdvX",horizoriginx:"horizOriginX","horiz-origin-x":"horizOriginX",ideographic:"ideographic",imagerendering:"imageRendering","image-rendering":"imageRendering",in2:"in2",in:"in",inlist:"inlist",intercept:"intercept",k1:"k1",k2:"k2",k3:"k3",k4:"k4",k:"k",kernelmatrix:"kernelMatrix",kernelunitlength:"kernelUnitLength",kerning:"kerning",keypoints:"keyPoints",keysplines:"keySplines",keytimes:"keyTimes",lengthadjust:"lengthAdjust",letterspacing:"letterSpacing","letter-spacing":"letterSpacing",lightingcolor:"lightingColor","lighting-color":"lightingColor",limitingconeangle:"limitingConeAngle",local:"local",markerend:"markerEnd","marker-end":"markerEnd",markerheight:"markerHeight",markermid:"markerMid","marker-mid":"markerMid",markerstart:"markerStart","marker-start":"markerStart",markerunits:"markerUnits",markerwidth:"markerWidth",mask:"mask",maskcontentunits:"maskContentUnits",maskunits:"maskUnits",mathematical:"mathematical",mode:"mode",numoctaves:"numOctaves",offset:"offset",opacity:"opacity",operator:"operator",order:"order",orient:"orient",orientation:"orientation",origin:"origin",overflow:"overflow",overlineposition:"overlinePosition","overline-position":"overlinePosition",overlinethickness:"overlineThickness","overline-thickness":"overlineThickness",paintorder:"paintOrder","paint-order":"paintOrder",panose1:"panose1","panose-1":"panose1",pathlength:"pathLength",patterncontentunits:"patternContentUnits",patterntransform:"patternTransform",patternunits:"patternUnits",pointerevents:"pointerEvents","pointer-events":"pointerEvents",points:"points",pointsatx:"pointsAtX",pointsaty:"pointsAtY",pointsatz:"pointsAtZ",popover:"popover",popovertarget:"popoverTarget",popovertargetaction:"popoverTargetAction",prefix:"prefix",preservealpha:"preserveAlpha",preserveaspectratio:"preserveAspectRatio",primitiveunits:"primitiveUnits",property:"property",r:"r",radius:"radius",refx:"refX",refy:"refY",renderingintent:"renderingIntent","rendering-intent":"renderingIntent",repeatcount:"repeatCount",repeatdur:"repeatDur",requiredextensions:"requiredExtensions",requiredfeatures:"requiredFeatures",resource:"resource",restart:"restart",result:"result",results:"results",rotate:"rotate",rx:"rx",ry:"ry",scale:"scale",security:"security",seed:"seed",shaperendering:"shapeRendering","shape-rendering":"shapeRendering",slope:"slope",spacing:"spacing",specularconstant:"specularConstant",specularexponent:"specularExponent",speed:"speed",spreadmethod:"spreadMethod",startoffset:"startOffset",stddeviation:"stdDeviation",stemh:"stemh",stemv:"stemv",stitchtiles:"stitchTiles",stopcolor:"stopColor","stop-color":"stopColor",stopopacity:"stopOpacity","stop-opacity":"stopOpacity",strikethroughposition:"strikethroughPosition","strikethrough-position":"strikethroughPosition",strikethroughthickness:"strikethroughThickness","strikethrough-thickness":"strikethroughThickness",string:"string",stroke:"stroke",strokedasharray:"strokeDasharray","stroke-dasharray":"strokeDasharray",strokedashoffset:"strokeDashoffset","stroke-dashoffset":"strokeDashoffset",strokelinecap:"strokeLinecap","stroke-linecap":"strokeLinecap",strokelinejoin:"strokeLinejoin","stroke-linejoin":"strokeLinejoin",strokemiterlimit:"strokeMiterlimit","stroke-miterlimit":"strokeMiterlimit",strokewidth:"strokeWidth","stroke-width":"strokeWidth",strokeopacity:"strokeOpacity","stroke-opacity":"strokeOpacity",suppresscontenteditablewarning:"suppressContentEditableWarning",suppresshydrationwarning:"suppressHydrationWarning",surfacescale:"surfaceScale",systemlanguage:"systemLanguage",tablevalues:"tableValues",targetx:"targetX",targety:"targetY",textanchor:"textAnchor","text-anchor":"textAnchor",textdecoration:"textDecoration","text-decoration":"textDecoration",textlength:"textLength",textrendering:"textRendering","text-rendering":"textRendering",to:"to",transform:"transform",transformorigin:"transformOrigin","transform-origin":"transformOrigin",typeof:"typeof",u1:"u1",u2:"u2",underlineposition:"underlinePosition","underline-position":"underlinePosition",underlinethickness:"underlineThickness","underline-thickness":"underlineThickness",unicode:"unicode",unicodebidi:"unicodeBidi","unicode-bidi":"unicodeBidi",unicoderange:"unicodeRange","unicode-range":"unicodeRange",unitsperem:"unitsPerEm","units-per-em":"unitsPerEm",unselectable:"unselectable",valphabetic:"vAlphabetic","v-alphabetic":"vAlphabetic",values:"values",vectoreffect:"vectorEffect","vector-effect":"vectorEffect",version:"version",vertadvy:"vertAdvY","vert-adv-y":"vertAdvY",vertoriginx:"vertOriginX","vert-origin-x":"vertOriginX",vertoriginy:"vertOriginY","vert-origin-y":"vertOriginY",vhanging:"vHanging","v-hanging":"vHanging",videographic:"vIdeographic","v-ideographic":"vIdeographic",viewbox:"viewBox",viewtarget:"viewTarget",visibility:"visibility",vmathematical:"vMathematical","v-mathematical":"vMathematical",vocab:"vocab",widths:"widths",wordspacing:"wordSpacing","word-spacing":"wordSpacing",writingmode:"writingMode","writing-mode":"writingMode",x1:"x1",x2:"x2",x:"x",xchannelselector:"xChannelSelector",xheight:"xHeight","x-height":"xHeight",xlinkactuate:"xlinkActuate","xlink:actuate":"xlinkActuate",xlinkarcrole:"xlinkArcrole","xlink:arcrole":"xlinkArcrole",xlinkhref:"xlinkHref","xlink:href":"xlinkHref",xlinkrole:"xlinkRole","xlink:role":"xlinkRole",xlinkshow:"xlinkShow","xlink:show":"xlinkShow",xlinktitle:"xlinkTitle","xlink:title":"xlinkTitle",xlinktype:"xlinkType","xlink:type":"xlinkType",xmlbase:"xmlBase","xml:base":"xmlBase",xmllang:"xmlLang","xml:lang":"xmlLang",xmlns:"xmlns","xml:space":"xmlSpace",xmlnsxlink:"xmlnsXlink","xmlns:xlink":"xmlnsXlink",xmlspace:"xmlSpace",y1:"y1",y2:"y2",y:"y",ychannelselector:"yChannelSelector",z:"z",zoomandpan:"zoomAndPan"},f=new Set(["allowFullScreen","async","autoPlay","controls","default","defer","disabled","disablePictureInPicture","disableRemotePlayback","formNoValidate","hidden","loop","noModule","noValidate","open","playsInline","readOnly","required","reversed","scoped","seamless","itemScope","autoFocus"]),b=new Set(["capture","download"]);function k(e,t){return e in t?t[e]:e}let y=/[\u0000-\u001F]/g,x=/[\s!"#$%&'()*+,./:;<=>?@[\\\]^_`{|}~-]+/g,v={};for(let e of[{base:"A",letters:"AⒶA\xc0\xc1\xc2ẦẤẪẨ\xc3ĀĂẰẮẴẲȦǠ\xc4ǞẢ\xc5ǺǍȀȂẠẬẶḀĄȺⱯ"},{base:"AA",letters:"Ꜳ"},{base:"AE",letters:"\xc6ǼǢ"},{base:"AO",letters:"Ꜵ"},{base:"AU",letters:"Ꜷ"},{base:"AV",letters:"ꜸꜺ"},{base:"AY",letters:"Ꜽ"},{base:"B",letters:"BⒷBḂḄḆɃƂƁ"},{base:"C",letters:"CⒸCĆĈĊČ\xc7ḈƇȻꜾ"},{base:"D",letters:"DⒹDḊĎḌḐḒḎĐƋƊƉꝹ"},{base:"DZ",letters:"DZDŽ"},{base:"Dz",letters:"DzDž"},{base:"E",letters:"EⒺE\xc8\xc9\xcaỀẾỄỂẼĒḔḖĔĖ\xcbẺĚȄȆẸỆȨḜĘḘḚƐƎ"},{base:"F",letters:"FⒻFḞƑꝻ"},{base:"G",letters:"GⒼGǴĜḠĞĠǦĢǤƓꞠꝽꝾ"},{base:"H",letters:"HⒽHĤḢḦȞḤḨḪĦⱧⱵꞍ"},{base:"I",letters:"IⒾI\xcc\xcd\xceĨĪĬİ\xcfḮỈǏȈȊỊĮḬƗ"},{base:"J",letters:"JⒿJĴɈ"},{base:"K",letters:"KⓀKḰǨḲĶḴƘⱩꝀꝂꝄꞢ"},{base:"L",letters:"LⓁLĿĹĽḶḸĻḼḺŁȽⱢⱠꝈꝆꞀ"},{base:"LJ",letters:"LJ"},{base:"Lj",letters:"Lj"},{base:"M",letters:"MⓂMḾṀṂⱮƜ"},{base:"N",letters:"NⓃNǸŃ\xd1ṄŇṆŅṊṈȠƝꞐꞤ"},{base:"NJ",letters:"NJ"},{base:"Nj",letters:"Nj"},{base:"O",letters:"OⓄO\xd2\xd3\xd4ỒỐỖỔ\xd5ṌȬṎŌṐṒŎȮȰ\xd6ȪỎŐǑȌȎƠỜỚỠỞỢỌỘǪǬ\xd8ǾƆƟꝊꝌ"},{base:"OI",letters:"Ƣ"},{base:"OO",letters:"Ꝏ"},{base:"OU",letters:"Ȣ"},{base:"OE",letters:"\x8cŒ"},{base:"oe",letters:"\x9cœ"},{base:"P",letters:"PⓅPṔṖƤⱣꝐꝒꝔ"},{base:"Q",letters:"QⓆQꝖꝘɊ"},{base:"R",letters:"RⓇRŔṘŘȐȒṚṜŖṞɌⱤꝚꞦꞂ"},{base:"S",letters:"SⓈSẞŚṤŜṠŠṦṢṨȘŞⱾꞨꞄ"},{base:"T",letters:"TⓉTṪŤṬȚŢṰṮŦƬƮȾꞆ"},{base:"TZ",letters:"Ꜩ"},{base:"U",letters:"UⓊU\xd9\xda\xdbŨṸŪṺŬ\xdcǛǗǕǙỦŮŰǓȔȖƯỪỨỮỬỰỤṲŲṶṴɄ"},{base:"V",letters:"VⓋVṼṾƲꝞɅ"},{base:"VY",letters:"Ꝡ"},{base:"W",letters:"WⓌWẀẂŴẆẄẈⱲ"},{base:"X",letters:"XⓍXẊẌ"},{base:"Y",letters:"YⓎYỲ\xddŶỸȲẎŸỶỴƳɎỾ"},{base:"Z",letters:"ZⓏZŹẐŻŽẒẔƵȤⱿⱫꝢ"},{base:"a",letters:"aⓐaẚ\xe0\xe1\xe2ầấẫẩ\xe3āăằắẵẳȧǡ\xe4ǟả\xe5ǻǎȁȃạậặḁąⱥɐ"},{base:"aa",letters:"ꜳ"},{base:"ae",letters:"\xe6ǽǣ"},{base:"ao",letters:"ꜵ"},{base:"au",letters:"ꜷ"},{base:"av",letters:"ꜹꜻ"},{base:"ay",letters:"ꜽ"},{base:"b",letters:"bⓑbḃḅḇƀƃɓ"},{base:"c",letters:"cⓒcćĉċč\xe7ḉƈȼꜿↄ"},{base:"d",letters:"dⓓdḋďḍḑḓḏđƌɖɗꝺ"},{base:"dz",letters:"dzdž"},{base:"e",letters:"eⓔe\xe8\xe9\xeaềếễểẽēḕḗĕė\xebẻěȅȇẹệȩḝęḙḛɇɛǝ"},{base:"f",letters:"fⓕfḟƒꝼ"},{base:"g",letters:"gⓖgǵĝḡğġǧģǥɠꞡᵹꝿ"},{base:"h",letters:"hⓗhĥḣḧȟḥḩḫẖħⱨⱶɥ"},{base:"hv",letters:"ƕ"},{base:"i",letters:"iⓘi\xec\xed\xeeĩīĭ\xefḯỉǐȉȋịįḭɨı"},{base:"j",letters:"jⓙjĵǰɉ"},{base:"k",letters:"kⓚkḱǩḳķḵƙⱪꝁꝃꝅꞣ"},{base:"l",letters:"lⓛlŀĺľḷḹļḽḻſłƚɫⱡꝉꞁꝇ"},{base:"lj",letters:"lj"},{base:"m",letters:"mⓜmḿṁṃɱɯ"},{base:"n",letters:"nⓝnǹń\xf1ṅňṇņṋṉƞɲʼnꞑꞥ"},{base:"nj",letters:"nj"},{base:"o",letters:"oⓞo\xf2\xf3\xf4ồốỗổ\xf5ṍȭṏōṑṓŏȯȱ\xf6ȫỏőǒȍȏơờớỡởợọộǫǭ\xf8ǿɔꝋꝍɵ"},{base:"oi",letters:"ƣ"},{base:"ou",letters:"ȣ"},{base:"oo",letters:"ꝏ"},{base:"p",letters:"pⓟpṕṗƥᵽꝑꝓꝕ"},{base:"q",letters:"qⓠqɋꝗꝙ"},{base:"r",letters:"rⓡrŕṙřȑȓṛṝŗṟɍɽꝛꞧꞃ"},{base:"s",letters:"sⓢs\xdfśṥŝṡšṧṣṩșşȿꞩꞅẛ"},{base:"t",letters:"tⓣtṫẗťṭțţṱṯŧƭʈⱦꞇ"},{base:"tz",letters:"ꜩ"},{base:"u",letters:"uⓤu\xf9\xfa\xfbũṹūṻŭ\xfcǜǘǖǚủůűǔȕȗưừứữửựụṳųṷṵʉ"},{base:"v",letters:"vⓥvṽṿʋꝟʌ"},{base:"vy",letters:"ꝡ"},{base:"w",letters:"wⓦwẁẃŵẇẅẘẉⱳ"},{base:"x",letters:"xⓧxẋẍ"},{base:"y",letters:"yⓨyỳ\xfdŷỹȳẏ\xffỷẙỵƴɏỿ"},{base:"z",letters:"zⓩzźẑżžẓẕƶȥɀⱬꝣ"}])for(let t of e.letters.split(""))v[t]=e.base;let w=new Set(["area","base","br","col","embed","hr","img","input","link","meta","source","track","wbr"]),I=new Map([["bash","shell"],["zsh","shell"],["sh","shell"],["js","javascript"],["ts","typescript"],["py","python"],["yml","yaml"]]);function E({suppressHydrationWarning:e=!1,specialImageSizeInTitleOrAlt:t=!0,customRenderMethods:u={},customReactComponentsForHtmlTags:m={},UNSAFE_allowHtml:h=!1}={}){return{...function(e,t,u,m){let h=[];function y(){return h.join("-")}function x(t,n=null,i={}){let a={key:"foxmd-"+y()+"-"+t,suppressHydrationWarning:e};return r(k(t,u),{...i,...a},n)}return{get elIdList(){return h},get elementId(){return this.elIdList.join("-")},incrementElId(){h[h.length-1]+=1},heading:(e,t,r)=>x(`h${t}`,e,{id:r}),paragraph:e=>x("p",e),link:(e,t,r)=>((e.startsWith("javascript:")||e.startsWith("data:")||e.startsWith("vbscript:"))&&(e=""),x("a",t,{href:e,title:r,target:void 0})),image(e,r,n){let i,a;if(t){if(r.includes("|")){let[e,t]=r.split("|");t&&t.includes("x")&&([i,a]=t.split("x").map(e=>e.trim()),r=e)}(void 0===i||void 0===a)&&n?.includes("size:")&&(n=n.replace(/size:(\d+)x(\d+)/,(e,t,r)=>(i=t,a=r,"")))}return x("img",null,{src:e,alt:r,title:n,width:i,height:a})},codespan:(e,t=null)=>x("code",e,{className:t?`language-${t}`:void 0}),code(e,t=""){return x("pre",this.codespan(e,t),{"data-language":(I.has(t)?I.get(t):t).toUpperCase()})},blockquote:e=>x("blockquote",e),list:(e,t,r)=>x(t?"ol":"ul",e,t&&1!==r?{start:r}:{}),listItem:e=>x("li",e),checkbox:e=>x("input",null,{type:"checkbox",disabled:!0,checked:e}),table:e=>x("table",e),tableHeader:e=>x("thead",e),tableBody:e=>x("tbody",e),tableRow:e=>x("tr",e),tableCell:(e,t)=>x(t.header?"th":"td",e,{align:t.align}),strong:e=>x("strong",e),em:e=>x("em",e),del:e=>x("del",e),text:e=>e,html(e){if(m){var t;let m;return t=y(),new i(m=new s,{decodeEntities:!0}).parseComplete(e),m.dom.map((e,i)=>(function e(t,i,s,u){if(l(t))return null;if(o(t))return t.data;if(c(t)||d(t))return null;let m=null;"children"in t&&t.children.length>0&&(m=t.children.reduce((t,r,n)=>{let a=e(r,n,s+"-"+i,u);return null!=a&&t.push(a),t},[]));var h,y=m;let x="name"in t&&t.name.includes("-"),v={key:"foxmd-html-"+s+"-"+i+("name"in t?"-"+t.name:"")};if("attribs"in t&&t.attribs){for(let e in t.attribs)if(Object.hasOwn(t.attribs,e)){if(x){v[e]=t.attribs[e];continue}if("ref"===e||e.startsWith("on"))continue;let r=t.attribs[e];if(e.startsWith("data-")||e.startsWith("aria-")){v[e]=""===r||r;continue}let n=e.toLowerCase();if(n in g&&(e=g[n]),"style"===e){v.style=p(r);continue}if(("checked"===e||"value"===e)&&"reset"!==t.attribs.type&&"submit"!==t.attribs.type){e=g[`default${n}`]||e;continue}if(f.has(e)){v[e]=!0;continue}if(b.has(e)){v[e]=""===r||r;continue}v[e]=r}}if("data"in t&&null!=t.data&&console.warn("[foxmd] Unknown node.data found vs node:",{node:t,data:t.data}),a(t))return r(n,v,y);return(h=t.name,w.has(h))?y?.length?(console.warn("[foxmd] Void HTML tag should not have children, foxmd push children after the self-closing tags.",{node:t,tag:t.name,children:y}),r(n,null,r(k(t.name,u),v),y)):r(k(t.name,u),v):r(k(t.name,u),v,y)})(e,i,t,u))}return e},hr:()=>x("hr"),br:()=>x("br")}}(e,t,m,h),...u}}function z(e,{UNSAFE_pickSingleImageChildOutOfParentParagraph:t=!1}={}){let r=new Map;function n(t=[]){e.elIdList.push(0);let r=!1,i="",a=t.map(t=>{switch(t.type){case"text":if(r)return i+=t.text,null;return e.incrementElId(),e.text(m(t.text));case"strong":return e.incrementElId(),e.strong(n(t.tokens).jsx);case"em":return e.incrementElId(),e.em(n(t.tokens).jsx);case"del":return e.incrementElId(),e.del(n(t.tokens).jsx);case"codespan":return e.incrementElId(),e.codespan(m(t.text));case"link":return e.incrementElId(),e.link(t.href,n(t.tokens).jsx,t.title??void 0);case"image":return e.incrementElId(),e.image(t.href,t.text,t.title);case"html":{if("inRawBlock"in t&&(r=t.inRawBlock),r)return i+=t.text,null;e.incrementElId();let n=e.html(i);return i="",n}case"br":return e.incrementElId(),e.br();case"escape":return e.incrementElId(),e.text(t.text);default:return console.warn(`[foxmd] Token with "${t.type}" type was not found`),null}});return e.elIdList.pop(),{jsx:a,toc:[]}}return{parse:function i(a){let s=[];e.elIdList.push(0);let l=!1,o="",c=a.map(a=>{switch(a.type){case"space":return null;case"heading":{let t=a.depth,i=function e(t=[]){return h(t.map(t=>{switch(t.type){case"text":case"codespan":return m(t.text);case"strong":case"em":case"del":case"link":return e(t.tokens);case"image":case"html":case"br":case"escape":return"";default:return console.warn(`[foxmd] Token with "${t.type}" type was not found`),""}}),"-")}(a.tokens),l=function(e){if("string"!=typeof e)throw TypeError("str must be a string!");let t=u("-");return e.replaceAll(/[^\u0000-\u007E]/g,e=>v[e]||e).replaceAll(y,"").replaceAll(x,"-").replaceAll(RegExp(`${t}{2,}`,"g"),"-").replaceAll(RegExp(`^${t}+|${t}+$`,"g"),"").toLowerCase()}(i),o=1;return r.has(l)?(o=r.get(l)+1,r.set(l,o),l=l+"-"+o):r.set(l,o),s.push({text:i,id:l,level:t}),e.incrementElId(),e.heading(n(a.tokens).jsx,t,l)}case"paragraph":if(t&&a.tokens?.length===1&&"image"===a.tokens[0].type)return n(a.tokens).jsx;return e.incrementElId(),e.paragraph(n(a.tokens).jsx);case"text":if(l)return o+=a.text,null;return a.tokens?n(a.tokens).jsx:a.text;case"blockquote":{let t=i(a.tokens).jsx;return e.incrementElId(),e.blockquote(t)}case"list":{e.elIdList.push(0);let t=a.items.map(t=>{let r=[];return t.task&&(e.incrementElId(),r.push(e.checkbox(t.checked??!1))),r.push(i(t.tokens).jsx),e.incrementElId(),e.listItem(r)});return e.elIdList.pop(),e.incrementElId(),e.list(t,a.ordered,a.ordered?a.start:void 0)}case"code":return e.incrementElId(),e.code(a.text,a.lang);case"html":{if("inRawBlock"in a&&(l=a.inRawBlock),l)return o+=a.text,null;e.incrementElId();let t=e.html(o);return o="",t}case"table":{e.elIdList.push(0);let t=a.header.map((t,r)=>(e.incrementElId(),e.tableCell(n(t.tokens).jsx,{header:!0,align:a.align[r]})));e.elIdList.pop(),e.incrementElId();let r=e.tableRow(t);e.incrementElId();let i=e.tableHeader(r);e.elIdList.push(0);let s=a.rows.map(t=>{e.elIdList.push(0);let r=t.map((t,r)=>(e.incrementElId(),e.tableCell(n(t.tokens).jsx,{header:!1,align:a.align[r]})));return e.elIdList.pop(),e.incrementElId(),e.tableRow(r)});e.elIdList.pop(),e.incrementElId();let l=e.tableBody(s);return e.incrementElId(),e.table([i,l])}case"hr":return e.incrementElId(),e.hr();default:return console.warn(`[foxmd] Token with "${a.type}" type was not found`),null}});return e.elIdList.pop(),{jsx:c,toc:s}},parseInline:n}}let S=e(()=>new t);function j(e,{foxmdRendererOptions:t,foxmdParserOptions:r,markedInstance:n=S(),lexerOptions:i=function(e){return{gfm:!0,breaks:!0,tokenizer:e.defaults.tokenizer}}(n),isInline:a=!1}={}){let s=n.lexer(e,i),l=z(E(t),r);return a?l.parseInline(s):l.parse(s)}export{z as createFoxmdParser,E as createFoxmdRenderer,j as foxmd};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "foxmd",
3
- "version": "0.2.0-beta.7",
3
+ "version": "0.2.0-beta.9",
4
4
  "description": "An opinionated Markdown to React transformer for React Server Component",
5
5
  "repository": {
6
6
  "url": "https://github.com/SukkaW/foxmd"