foxmd 0.2.0-beta.1 → 0.2.0-beta.2
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 +1 -1
- package/dist/index.d.ts +19 -14
- package/dist/index.mjs +1 -1
- package/package.json +1 -1
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"),a=require("domhandler"),i=require("style-to-object"),s=require("html-entities"),l=require("foxts/fast-string-array-join"),o=require("fast-escape-regexp"),c=i&&i.__esModule?i:{default:i};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"]),m=new Set(["area","base","br","col","embed","hr","img","input","link","meta","source","track","wbr"]),h=new Map([["bash","shell"],["zsh","shell"],["sh","shell"],["js","javascript"],["ts","typescript"],["py","python"],["yml","yaml"]]);function g({suppressHydrationWarning:e=!1,specialImageSizeInTitleOrAlt:t=!0,customRenderMethods:i={},UNSAFE_allowHtml:s=!1}={}){return{...function(e,t,i){let s=[];function l(){return s.join("-")}function o(t,n=null,a={}){let i={key:"foxmd-"+l(),suppressHydrationWarning:e};return r.createElement(t,{...a,...i},n)}return{get elIdList(){return s},get elementId(){return l()},incrementElId(){s[s.length-1]+=1},heading:(e,t,r)=>o(`h${t}`,e,{id:r}),paragraph:e=>o("p",e),link:(e,t,r)=>((e.startsWith("javascript:")||e.startsWith("data:")||e.startsWith("vbscript:"))&&(e=""),o("a",t,{href:e,title:r,target:void 0})),image(e,r,n){let a,i;if(t){if(r.includes("|")){let[e,t]=r.split("|");t&&t.includes("x")&&([a,i]=t.split("x").map(e=>e.trim()),r=e)}(void 0===a||void 0===i)&&n?.includes("size:")&&(n=n.replace(/size:(\d+)x(\d+)/,(e,t,r)=>(a=t,i=r,"")))}return o("img",null,{src:e,alt:r,title:n,width:a,height:i})},codespan:(e,t=null)=>o("code",e,{className:t?`language-${t}`:void 0}),code(e,t=""){return o("pre",this.codespan(e,t),{"data-language":(h.has(t)?h.get(t):t).toUpperCase()})},blockquote:e=>o("blockquote",e),list:(e,t,r)=>o(t?"ol":"ul",e,t&&1!==r?{start:r}:{}),listItem:e=>o("li",e),checkbox:e=>o("input",null,{type:"checkbox",disabled:!0,checked:e}),table:e=>o("table",e),tableHeader:e=>o("thead",e),tableBody:e=>o("tbody",e),tableRow:e=>o("tr",e),tableCell:(e,t)=>o(t.header?"th":"td",e,{align:t.align}),strong:e=>o("strong",e),em:e=>o("em",e),del:e=>o("del",e),text:e=>e,html(e){if(i){var t;let i;return t=l(),i=new a.DomHandler,new n.Parser(i,{decodeEntities:!0}).parseComplete(e),i.dom.map((e,n)=>(function e(t,n,i,s=0){if(a.isDirective(t))return null;if(a.isText(t))return t.data;if(a.isComment(t)||a.isCDATA(t))return null;let l=null;"children"in t&&t.children.length>0&&(l=t.children.reduce((t,r,n)=>{let a=e(r,n,i,s+1);return null!=a&&t.push(a),t},[]));var o,h=l;let g="name"in t&&t.name.includes("-"),f={key:"foxmd-html-"+i+"-"+s+"-"+n};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}),a.isDocument(t))return r.createElement(r.Fragment,f,h);return(o=t.name,m.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,{key:f.key},r.createElement(t.name,f),h)):r.createElement(t.name,f):r.createElement(t.name,f,h)})(e,n,t,0))}return e},hr:()=>o("hr"),br:()=>o("br")}}(e,t,s),...i}}let f=/[\u0000-\u001F]/g,b=/[\s!"#$%&'()*+,./:;<=>?@[\\\]^_`{|}~-]+/g,k={};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(""))k[t]=e.base;function y(e,{UNSAFE_pickSingleImageChildOutOfParentParagraph:t=!1}={}){let r=new Map;function n(t=[]){e.elIdList.push(0);let r=t.map(t=>{switch(t.type){case"text":return e.incrementElId(),e.text(s.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(s.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":return e.incrementElId(),e.html(t.text);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:r,toc:[]}}return{parse:function a(i){let c=[];e.elIdList.push(0);let d=i.map(i=>{switch(i.type){case"space":return null;case"heading":{let t=i.depth,a=function e(t=[]){return l.fastStringArrayJoin(t.map(t=>{switch(t.type){case"text":case"codespan":return s.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`),""}}),"-")}(i.tokens),d=function(e){if("string"!=typeof e)throw TypeError("str must be a string!");let t=o.escapeRegexp("-");return e.replaceAll(/[^\u0000-\u007E]/g,e=>k[e]||e).replaceAll(f,"").replaceAll(b,"-").replaceAll(RegExp(`${t}{2,}`,"g"),"-").replaceAll(RegExp(`^${t}+|${t}+$`,"g"),"").toLowerCase()}(a),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:a,id:d,level:t}),e.incrementElId(),e.heading(n(i.tokens).jsx,t,d)}case"paragraph":if(t&&i.tokens?.length===1&&"image"===i.tokens[0].type)return n(i.tokens).jsx;return e.incrementElId(),e.paragraph(n(i.tokens).jsx);case"text":return i.tokens?n(i.tokens).jsx:i.text;case"blockquote":{let t=a(i.tokens).jsx;return e.incrementElId(),e.blockquote(t)}case"list":{e.elIdList.push(0);let t=i.items.map(t=>{let r=[];return t.task&&(e.incrementElId(),r.push(e.checkbox(t.checked??!1))),r.push(a(t.tokens).jsx),e.incrementElId(),e.listItem(r)});return e.elIdList.pop(),e.incrementElId(),e.list(t,i.ordered,i.ordered?i.start:void 0)}case"code":return e.incrementElId(),e.code(i.text,i.lang);case"html":return e.incrementElId(),e.html(i.text);case"table":{e.elIdList.push(0);let t=i.header.map((t,r)=>e.tableCell(n(t.tokens).jsx,{header:!0,align:i.align[r]}));e.elIdList.pop(),e.incrementElId();let r=e.tableRow(t);e.incrementElId();let a=e.tableHeader(r);e.elIdList.push(0);let s=i.rows.map(t=>{e.elIdList.push(0);let r=t.map((t,r)=>e.tableCell(n(t.tokens).jsx,{header:!1,align:i.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([a,l])}case"hr":return e.incrementElId(),e.hr();default:return console.warn(`[foxmd] Token with "${i.type}" type was not found`),null}});return e.elIdList.pop(),{jsx:d,toc:c}},parseInline:n}}let x=e.lazyValue(()=>new t.Marked);exports.createFoxmdParser=y,exports.createFoxmdRenderer=g,exports.foxmd=function(e,{foxmdRendererOptions:t,foxmdParserOptions:r,markedInstance:n=x(),lexerOptions:a=function(e){return{gfm:!0,breaks:!0,tokenizer:e.defaults.tokenizer}}(n),isInline:i=!1}={}){let s=n.lexer(e,a),l=y(g(t),r);return i?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"),a=require("domhandler"),i=require("style-to-object"),s=require("fast-escape-regexp"),l=require("html-entities"),o=require("foxts/fast-string-array-join"),c=i&&i.__esModule?i:{default:i};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:i={},customReactComponentsForHtmlTags:s={},UNSAFE_allowHtml:l=!1}={}){return{...function(e,t,i,s){let l=[];function o(){return l.join("-")}function h(t,n=null,a={}){let s={key:"foxmd-"+o(),suppressHydrationWarning:e},l=m(t,i);return r.createElement(l,{...a,...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 a,i;if(t){if(r.includes("|")){let[e,t]=r.split("|");t&&t.includes("x")&&([a,i]=t.split("x").map(e=>e.trim()),r=e)}(void 0===a||void 0===i)&&n?.includes("size:")&&(n=n.replace(/size:(\d+)x(\d+)/,(e,t,r)=>(a=t,i=r,"")))}return h("img",null,{src:e,alt:r,title:n,width:a,height:i})},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 a.DomHandler,new n.Parser(s,{decodeEntities:!0}).parseComplete(e),s.dom.map((e,n)=>(function e(t,n,i,s,l=0){if(a.isDirective(t))return null;if(a.isText(t))return t.data;if(a.isComment(t)||a.isCDATA(t))return null;let o=null;"children"in t&&t.children.length>0&&(o=t.children.reduce((t,r,n)=>{let a=e(r,n,i,s,l+1);return null!=a&&t.push(a),t},[]));var h,g=o;let f="name"in t&&t.name.includes("-"),k={key:"foxmd-html-"+i+"-"+l+"-"+n};if("attribs"in t&&t.attribs){for(let e in t.attribs)if(Object.hasOwn(t.attribs,e)){if(f){k[e]=t.attribs[e];continue}if("ref"===e||e.startsWith("on"))continue;let r=t.attribs[e];if(e.startsWith("data-")||e.startsWith("aria-")){k[e]=""===r||r;continue}let n=e.toLowerCase();if(n in d&&(e=d[n]),"style"===e){k.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)){k[e]=!0;continue}if(u.has(e)){k[e]=""===r||r;continue}k[e]=r}}if("data"in t&&null!=t.data&&console.warn("[foxmd] Unknown node.data found vs node:",{node:t,data:t.data}),a.isDocument(t))return k.key+="-fragment",r.createElement(r.Fragment,k,g);return(k.key+=k.key+"-"+t.name,h=t.name,b.has(h))?g?.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:g}),r.createElement(r.Fragment,null,r.createElement(m(t.name,s),k),g)):r.createElement(m(t.name,s),k):r.createElement(m(t.name,s),k,g)})(e,n,t,i,0))}return e},hr:()=>h("hr"),br:()=>h("br")}}(e,t,s,l),...i}}function x(e,{UNSAFE_pickSingleImageChildOutOfParentParagraph:t=!1}={}){let r=new Map;function n(t=[]){e.elIdList.push(0);let r=t.map(t=>{switch(t.type){case"text":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":return e.incrementElId(),e.html(t.text);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:r,toc:[]}}return{parse:function a(i){let c=[];e.elIdList.push(0);let d=i.map(i=>{switch(i.type){case"space":return null;case"heading":{let t=i.depth,a=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`),""}}),"-")}(i.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()}(a),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:a,id:d,level:t}),e.incrementElId(),e.heading(n(i.tokens).jsx,t,d)}case"paragraph":if(t&&i.tokens?.length===1&&"image"===i.tokens[0].type)return n(i.tokens).jsx;return e.incrementElId(),e.paragraph(n(i.tokens).jsx);case"text":return i.tokens?n(i.tokens).jsx:i.text;case"blockquote":{let t=a(i.tokens).jsx;return e.incrementElId(),e.blockquote(t)}case"list":{e.elIdList.push(0);let t=i.items.map(t=>{let r=[];return t.task&&(e.incrementElId(),r.push(e.checkbox(t.checked??!1))),r.push(a(t.tokens).jsx),e.incrementElId(),e.listItem(r)});return e.elIdList.pop(),e.incrementElId(),e.list(t,i.ordered,i.ordered?i.start:void 0)}case"code":return e.incrementElId(),e.code(i.text,i.lang);case"html":return e.incrementElId(),e.html(i.text);case"table":{e.elIdList.push(0);let t=i.header.map((t,r)=>e.tableCell(n(t.tokens).jsx,{header:!0,align:i.align[r]}));e.elIdList.pop(),e.incrementElId();let r=e.tableRow(t);e.incrementElId();let a=e.tableHeader(r);e.elIdList.push(0);let s=i.rows.map(t=>{e.elIdList.push(0);let r=t.map((t,r)=>e.tableCell(n(t.tokens).jsx,{header:!1,align:i.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([a,l])}case"hr":return e.incrementElId(),e.hr();default:return console.warn(`[foxmd] Token with "${i.type}" type was not found`),null}});return e.elIdList.pop(),{jsx:d,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:a=function(e){return{gfm:!0,breaks:!0,tokenizer:e.defaults.tokenizer}}(n),isInline:i=!1}={}){let s=n.lexer(e,a),l=x(y(t),r);return i?l.parseInline(s):l.parse(s)};
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { Token, Marked, MarkedOptions } from 'marked';
|
|
2
2
|
import React$1, { ReactNode } from 'react';
|
|
3
3
|
|
|
4
|
+
type HtmlTagReplaceReact = {
|
|
5
|
+
[TagName in keyof React.JSX.IntrinsicElements]?: React.ComponentType<TagName>;
|
|
6
|
+
};
|
|
7
|
+
|
|
4
8
|
type HeadingLevels = 1 | 2 | 3 | 4 | 5 | 6;
|
|
5
9
|
interface TableFlags {
|
|
6
10
|
header?: boolean;
|
|
@@ -10,10 +14,11 @@ type CustomRendererMethods = Partial<Omit<FoxmdRenderer, 'elIdList' | 'elementId
|
|
|
10
14
|
interface FoxmdRendererOptions {
|
|
11
15
|
suppressHydrationWarning?: boolean;
|
|
12
16
|
customRenderMethods?: CustomRendererMethods;
|
|
17
|
+
customReactComponentsForHtmlTags?: HtmlTagReplaceReact;
|
|
13
18
|
specialImageSizeInTitleOrAlt?: boolean;
|
|
14
19
|
UNSAFE_allowHtml?: boolean;
|
|
15
20
|
}
|
|
16
|
-
declare function createInternalFoxmdRenderer(suppressHydrationWarning: boolean, specialImageSizeInTitleOrAlt: boolean, UNSAFE_allowHtml: boolean): {
|
|
21
|
+
declare function createInternalFoxmdRenderer(suppressHydrationWarning: boolean, specialImageSizeInTitleOrAlt: boolean, customReactComponentsForHtmlTags: HtmlTagReplaceReact, UNSAFE_allowHtml: boolean): {
|
|
17
22
|
readonly elIdList: number[];
|
|
18
23
|
readonly elementId: string;
|
|
19
24
|
incrementElId(): void;
|
|
@@ -40,29 +45,29 @@ declare function createInternalFoxmdRenderer(suppressHydrationWarning: boolean,
|
|
|
40
45
|
hr(): ReactNode;
|
|
41
46
|
br(): ReactNode;
|
|
42
47
|
};
|
|
43
|
-
declare function createFoxmdRenderer({ suppressHydrationWarning, specialImageSizeInTitleOrAlt, customRenderMethods, UNSAFE_allowHtml }?: FoxmdRendererOptions): {
|
|
44
|
-
|
|
45
|
-
|
|
48
|
+
declare function createFoxmdRenderer({ suppressHydrationWarning, specialImageSizeInTitleOrAlt, customRenderMethods, customReactComponentsForHtmlTags, UNSAFE_allowHtml }?: FoxmdRendererOptions): {
|
|
49
|
+
blockquote: (children: ReactNode) => ReactNode;
|
|
50
|
+
br: () => ReactNode;
|
|
51
|
+
code: (code: ReactNode, 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[];
|
|
46
56
|
link: (href: string, text: ReactNode, title?: string) => ReactNode;
|
|
57
|
+
strong: (children: ReactNode) => ReactNode;
|
|
58
|
+
table: (children: ReactNode[]) => ReactNode;
|
|
47
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;
|
|
48
63
|
codespan: (code: ReactNode, lang?: string | null) => ReactNode;
|
|
49
|
-
code: (code: ReactNode, lang?: string | undefined) => ReactNode;
|
|
50
|
-
blockquote: (children: ReactNode) => ReactNode;
|
|
51
64
|
list: (children: ReactNode, ordered: boolean, start: number | undefined) => ReactNode;
|
|
52
65
|
listItem: (children: ReactNode[]) => ReactNode;
|
|
53
66
|
checkbox: (checked: boolean | undefined) => ReactNode;
|
|
54
|
-
table: (children: ReactNode[]) => ReactNode;
|
|
55
67
|
tableHeader: (children: ReactNode) => ReactNode;
|
|
56
68
|
tableBody: (children: ReactNode[]) => ReactNode;
|
|
57
69
|
tableRow: (children: ReactNode[]) => ReactNode;
|
|
58
70
|
tableCell: (children: ReactNode[], flags: TableFlags) => ReactNode;
|
|
59
|
-
strong: (children: ReactNode) => ReactNode;
|
|
60
|
-
em: (children: ReactNode) => ReactNode;
|
|
61
|
-
del: (children: ReactNode) => ReactNode;
|
|
62
|
-
text: (text: ReactNode) => ReactNode;
|
|
63
|
-
html: (html: string) => React.ReactNode | React.ReactNode[];
|
|
64
|
-
hr: () => ReactNode;
|
|
65
|
-
br: () => ReactNode;
|
|
66
71
|
elIdList: number[];
|
|
67
72
|
elementId: string;
|
|
68
73
|
incrementElId(): void;
|
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 o,isText as l,isComment as c,isCDATA as d}from"domhandler";import p from"style-to-object";import{decode as u}from"html-entities";import{fastStringArrayJoin as m}from"foxts/fast-string-array-join";import{escapeRegexp as h}from"fast-escape-regexp";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"]),k=new Set(["area","base","br","col","embed","hr","img","input","link","meta","source","track","wbr"]),y=new Map([["bash","shell"],["zsh","shell"],["sh","shell"],["js","javascript"],["ts","typescript"],["py","python"],["yml","yaml"]]);function x({suppressHydrationWarning:e=!1,specialImageSizeInTitleOrAlt:t=!0,customRenderMethods:u={},UNSAFE_allowHtml:m=!1}={}){return{...function(e,t,u){let m=[];function h(){return m.join("-")}function x(t,n=null,i={}){let a={key:"foxmd-"+h(),suppressHydrationWarning:e};return r(t,{...i,...a},n)}return{get elIdList(){return m},get elementId(){return h()},incrementElId(){m[m.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":(y.has(t)?y.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(u){var t;let u;return t=h(),new i(u=new s,{decodeEntities:!0}).parseComplete(e),u.dom.map((e,i)=>(function e(t,i,s,u=0){if(o(t))return null;if(l(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 i=e(r,n,s,u+1);return null!=i&&t.push(i),t},[]));var h,y=m;let x="name"in t&&t.name.includes("-"),v={key:"foxmd-html-"+s+"-"+u+"-"+i};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,k.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,{key:v.key},r(t.name,v),y)):r(t.name,v):r(t.name,v,y)})(e,i,t,0))}return e},hr:()=>x("hr"),br:()=>x("br")}}(e,t,m),...u}}let v=/[\u0000-\u001F]/g,w=/[\s!"#$%&'()*+,./:;<=>?@[\\\]^_`{|}~-]+/g,I={};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(""))I[t]=e.base;function E(e,{UNSAFE_pickSingleImageChildOutOfParentParagraph:t=!1}={}){let r=new Map;function n(t=[]){e.elIdList.push(0);let r=t.map(t=>{switch(t.type){case"text":return e.incrementElId(),e.text(u(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(u(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":return e.incrementElId(),e.html(t.text);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:r,toc:[]}}return{parse:function i(a){let s=[];e.elIdList.push(0);let o=a.map(a=>{switch(a.type){case"space":return null;case"heading":{let t=a.depth,i=function e(t=[]){return m(t.map(t=>{switch(t.type){case"text":case"codespan":return u(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),o=function(e){if("string"!=typeof e)throw TypeError("str must be a string!");let t=h("-");return e.replaceAll(/[^\u0000-\u007E]/g,e=>I[e]||e).replaceAll(v,"").replaceAll(w,"-").replaceAll(RegExp(`${t}{2,}`,"g"),"-").replaceAll(RegExp(`^${t}+|${t}+$`,"g"),"").toLowerCase()}(i),l=1;return r.has(o)?(l=r.get(o)+1,r.set(o,l),o=o+"-"+l):r.set(o,l),s.push({text:i,id:o,level:t}),e.incrementElId(),e.heading(n(a.tokens).jsx,t,o)}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":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":return e.incrementElId(),e.html(a.text);case"table":{e.elIdList.push(0);let t=a.header.map((t,r)=>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.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 o=e.tableBody(s);return e.incrementElId(),e.table([i,o])}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:o,toc:s}},parseInline:n}}let z=e(()=>new t);function S(e,{foxmdRendererOptions:t,foxmdParserOptions:r,markedInstance:n=z(),lexerOptions:i=function(e){return{gfm:!0,breaks:!0,tokenizer:e.defaults.tokenizer}}(n),isInline:a=!1}={}){let s=n.lexer(e,i),o=E(x(t),r);return a?o.parseInline(s):o.parse(s)}export{E as createFoxmdParser,x as createFoxmdRenderer,S 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 o,isText as l,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(),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,m=0){if(o(t))return null;if(l(t))return t.data;if(c(t)||d(t))return null;let h=null;"children"in t&&t.children.length>0&&(h=t.children.reduce((t,r,n)=>{let i=e(r,n,s,u,m+1);return null!=i&&t.push(i),t},[]));var y,x=h;let v="name"in t&&t.name.includes("-"),I={key:"foxmd-html-"+s+"-"+m+"-"+i};if("attribs"in t&&t.attribs){for(let e in t.attribs)if(Object.hasOwn(t.attribs,e)){if(v){I[e]=t.attribs[e];continue}if("ref"===e||e.startsWith("on"))continue;let r=t.attribs[e];if(e.startsWith("data-")||e.startsWith("aria-")){I[e]=""===r||r;continue}let n=e.toLowerCase();if(n in g&&(e=g[n]),"style"===e){I.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)){I[e]=!0;continue}if(b.has(e)){I[e]=""===r||r;continue}I[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 I.key+="-fragment",r(n,I,x);return(I.key+=I.key+"-"+t.name,y=t.name,w.has(y))?x?.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:x}),r(n,null,r(k(t.name,u),I),x)):r(k(t.name,u),I):r(k(t.name,u),I,x)})(e,i,t,u,0))}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=t.map(t=>{switch(t.type){case"text":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":return e.incrementElId(),e.html(t.text);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:r,toc:[]}}return{parse:function i(a){let s=[];e.elIdList.push(0);let o=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),o=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),l=1;return r.has(o)?(l=r.get(o)+1,r.set(o,l),o=o+"-"+l):r.set(o,l),s.push({text:i,id:o,level:t}),e.incrementElId(),e.heading(n(a.tokens).jsx,t,o)}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":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":return e.incrementElId(),e.html(a.text);case"table":{e.elIdList.push(0);let t=a.header.map((t,r)=>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.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 o=e.tableBody(s);return e.incrementElId(),e.table([i,o])}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:o,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),o=z(E(t),r);return a?o.parseInline(s):o.parse(s)}export{z as createFoxmdParser,E as createFoxmdRenderer,A as foxmd};
|