md-editor-rt
Version:
Markdown editor for react, developed in jsx and typescript, dark theme、beautify content by prettier、render articles directly、paste or clip the picture and upload it...
2 lines (1 loc) • 2.1 kB
JavaScript
"use strict";const i=require("react/jsx-runtime"),r=require("react"),l=require("./chunks/ContentPreview.cjs"),y=require("./chunks/index3.cjs"),e=require("./chunks/config.cjs"),F=require("./chunks/context.cjs"),u=require("./chunks/event-name.cjs"),j=(o,n)=>{const{editorId:a}=o;r.useImperativeHandle(n,()=>({rerender(){u.bus.emit(a,u.RERENDER)}}),[a])},z=r.forwardRef((o,n)=>{const{value:a=o.modelValue||e.defaultProps.modelValue,onChange:m=e.defaultProps.onChange,theme:c=e.defaultProps.theme,className:g=e.defaultProps.className,showCodeRowNumber:h=e.defaultProps.showCodeRowNumber,previewTheme:P=e.defaultProps.previewTheme,noMermaid:p=e.defaultProps.noMermaid,noKatex:x=e.defaultProps.noKatex,onHtmlChanged:I=e.defaultProps.onHtmlChanged,onGetCatalog:v=e.defaultProps.onGetCatalog,sanitize:C=e.defaultProps.sanitize,mdHeadingId:w=e.defaultProps.mdHeadingId,noHighlight:R=e.defaultProps.noHighlight,noImgZoomIn:H=e.defaultProps.noImgZoomIn,language:b=e.defaultProps.language,sanitizeMermaid:q=e.defaultProps.sanitizeMermaid,codeFoldable:E=e.defaultProps.codeFoldable,autoFoldThreshold:M=e.defaultProps.autoFoldThreshold}=o,d=l.useEditorId(o),[t]=r.useState(()=>({editorId:d,noKatex:x,noMermaid:p,noHighlight:R})),f=r.useRef(null),[N,T,s]=l.useConfig(o);return j(t,n),r.useEffect(()=>()=>{u.bus.clear(d)},[d]),i.jsx(F.EditorContext.Provider,{value:{editorId:t.editorId,tabWidth:2,theme:c,language:b,highlight:N,showCodeRowNumber:h,usedLanguageText:T,previewTheme:P,customIcon:o.customIcon||{},rootRef:f,disabled:!1},children:i.jsx("div",{id:t.editorId,className:y.classnames([e.prefix,g,c==="dark"&&`${e.prefix}-dark`,s.fullscreen||s.pageFullscreen?`${e.prefix}-fullscreen`:"",`${e.prefix}-previewOnly`]),style:o.style,ref:f,children:i.jsx(l.ContentPreview,{modelValue:a,onChange:m,setting:s,mdHeadingId:w,onHtmlChanged:I,onGetCatalog:v,sanitize:C,noMermaid:t.noMermaid,noHighlight:t.noHighlight,noKatex:t.noKatex,formatCopiedText:o.formatCopiedText,noImgZoomIn:H,previewOnly:!0,sanitizeMermaid:q,codeFoldable:E,autoFoldThreshold:M,onRemount:o.onRemount},"preview-only")})})});module.exports=z;