@next-bricks/markdown 1.13.18 → 1.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bricks.json +1 -1
- package/dist/chunks/2587.6b482a20.js +2 -0
- package/dist/chunks/2587.6b482a20.js.map +1 -0
- package/dist/chunks/{7218.aeb703eb.js → 4837.138212ea.js} +2 -2
- package/dist/chunks/{7218.aeb703eb.js.map → 4837.138212ea.js.map} +1 -1
- package/dist/chunks/{4837.16db2c80.js → 7218.2e9c211b.js} +2 -2
- package/dist/chunks/{4837.16db2c80.js.map → 7218.2e9c211b.js.map} +1 -1
- package/dist/chunks/8257.6fd1229f.js +3 -0
- package/dist/chunks/8257.6fd1229f.js.map +1 -0
- package/dist/chunks/eo-markdown-display.2f79ccbd.js +2 -0
- package/dist/chunks/eo-markdown-display.2f79ccbd.js.map +1 -0
- package/dist/chunks/main.891446ba.js +2 -0
- package/dist/chunks/main.891446ba.js.map +1 -0
- package/dist/index.cea25fdd.js +2 -0
- package/dist/index.cea25fdd.js.map +1 -0
- package/package.json +4 -2
- package/dist/chunks/2587.6eccec12.js +0 -2
- package/dist/chunks/2587.6eccec12.js.map +0 -1
- package/dist/chunks/9321.3ca2f9fd.js +0 -3
- package/dist/chunks/9321.3ca2f9fd.js.map +0 -1
- package/dist/chunks/eo-markdown-display.fa48079e.js +0 -2
- package/dist/chunks/eo-markdown-display.fa48079e.js.map +0 -1
- package/dist/chunks/main.39366960.js +0 -2
- package/dist/chunks/main.39366960.js.map +0 -1
- package/dist/index.52f112df.js +0 -2
- package/dist/index.52f112df.js.map +0 -1
- /package/dist/chunks/{9321.3ca2f9fd.js.LICENSE.txt → 8257.6fd1229f.js.LICENSE.txt} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/2587.6eccec12.js","mappings":"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","sources":["webpack:///./src/markdown-display/host-context.css","webpack:///./src/markdown-display/styles.shadow.css","webpack:///./src/markdown-editor/index.tsx","webpack:///../../src/index.ts","webpack:///../../src/utils.ts","webpack:///../../src/rehypeMermaid.ts","webpack:///../../src/MarkdownComponent.tsx","webpack:///./src/markdown-display/host-context.css?6555","webpack:///./src/markdown-display/index.tsx"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:root{--eo-markdown-display-code-color:#b30056;--eo-markdown-display-code-background:#ffe6ec;--eo-markdown-display-blockquote-border-color:#bcc0c5}html[data-theme=\"dark\"],\nhtml[data-theme=\"dark-v2\"]{--eo-markdown-display-code-color:#f3679a;--eo-markdown-display-code-background:var(--color-fill-bg-base-1)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block}:host([hidden]){display:none}:not(pre) > code{color:var(--eo-markdown-display-code-color);background:var(--eo-markdown-display-code-background);margin:0 2px;padding:1px 6px;white-space:nowrap;border-radius:3px}blockquote{border-left:6px solid var(--eo-markdown-display-blockquote-border-color);padding:0 1em}:not(blockquote) > blockquote{margin-left:0;margin-right:0}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","import React, { FC, useEffect, useMemo, useState } from \"react\";\nimport { createDecorators, type EventEmitter } from \"@next-core/element\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport styleText from \"./markdown-editor.shadow.css\";\nimport { ObjectStoreApi_putObject } from \"@next-api-sdk/object-store-sdk\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type { CmdKey } from \"@milkdown/core\";\nimport {\n defaultValueCtx,\n Editor,\n editorViewOptionsCtx,\n rootCtx,\n} from \"@milkdown/core\";\nimport { Milkdown, MilkdownProvider, useEditor } from \"@milkdown/react\";\nimport {\n commonmark,\n toggleStrongCommand,\n toggleEmphasisCommand,\n wrapInBulletListCommand,\n wrapInOrderedListCommand,\n wrapInBlockquoteCommand,\n codeBlockSchema,\n} from \"@milkdown/preset-commonmark\";\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport { nord } from \"@milkdown/theme-nord\";\nimport { history, redoCommand, undoCommand } from \"@milkdown/plugin-history\";\nimport { upload, uploadConfig, Uploader } from \"@milkdown/plugin-upload\";\nimport { callCommand, $view, replaceAll } from \"@milkdown/utils\";\nimport type { Node } from \"@milkdown/prose/model\";\nimport { listener, listenerCtx } from \"@milkdown/plugin-listener\";\nimport {\n gfm,\n toggleStrikethroughCommand,\n insertTableCommand,\n} from \"@milkdown/preset-gfm\";\nimport { indent } from \"@milkdown/plugin-indent\";\nimport { Ctx, MilkdownPlugin } from \"@milkdown/ctx\";\nimport { prism, prismConfig } from \"@milkdown/plugin-prism\";\nimport {\n usePluginViewFactory,\n ProsemirrorAdapterProvider,\n useWidgetViewFactory,\n useNodeViewFactory,\n} from \"@prosemirror-adapter/react\";\nimport { refractor } from \"refractor/lib/common\";\nimport {\n tableSelectorPlugin,\n TableTooltip,\n tableTooltip,\n tableTooltipCtx,\n} from \"./components/TableWidget.js\";\nimport { CodeBlock } from \"./components/CodeBlock.js\";\nimport type { FormItem, FormItemProps } from \"@next-bricks/form/form-item\";\nimport { FormItemElementBase, pickFormItemProps } from \"@next-shared/form\";\nimport classNames from \"classnames\";\n\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\"eo-form-item\");\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\nconst MenuButton: FC<MenuButtonProps> = ({ icon, onClick, tooltip }) => {\n return (\n <div\n className=\"menu-btn-box\"\n onMouseDown={(e) => {\n onClick?.();\n e.preventDefault();\n }}\n >\n <WrappedIcon style={{ verticalAlign: \"middle\" }} {...icon} />\n {tooltip && <div className=\"menuIconTooltip\">{tooltip}</div>}\n </div>\n );\n};\n\nexport interface MenuButtonProps {\n icon: GeneralIconProps;\n onClick?: () => void;\n tooltip?: string;\n}\n\nexport interface MarkdownEditorProps extends FormItemProps {\n value?: string;\n bucketName?: string;\n containerStyle?: React.CSSProperties;\n readonly?: boolean;\n onUploadImage?: (value: ImageInfo) => void;\n onMarkdownValueChange?: (value: string) => void;\n}\n\nexport interface ImageInfo {\n name: string;\n src: string;\n}\n\nconst { defineElement, property, event } = createDecorators();\n\n@defineElement(\"eo-markdown-editor\", {\n styleTexts: [styleText],\n alias: [\"markdown.markdown-editor\"],\n})\n\n/**\n * markdown编辑器\n * @docKind brick\n * @author kehua\n * @noInheritDoc\n * @category form-input-advanced\n */\nclass MarkdownEditor extends FormItemElementBase {\n /**\n * 字段名称\n */\n @property() accessor name: string | undefined;\n\n /**\n * 标签文字\n */\n @property() accessor label: string | undefined;\n\n /**\n * 是否必填\n */\n @property({ type: Boolean })\n accessor required: boolean | undefined;\n\n /**\n * 初始值\n * @group basic\n */\n @property() accessor value: string | undefined;\n\n /**\n * 对象存储桶名字,请在业务编排的时候与后台同学商量创建,一般一个业务需求对应一个存储桶名称。如不传则默认以base64格式转换图片\n * @group advanced\n */\n @property() accessor bucketName: string | undefined;\n\n /**\n * 只读模式\n */\n @property({\n type: Boolean,\n })\n accessor readonly: boolean | undefined;\n\n /**\n * 外层容器样式\n */\n @property({\n attribute: false,\n })\n accessor containerStyle: React.CSSProperties | undefined;\n\n /**\n * 上传图片时触发的事件\n * @detail\n */\n @event({ type: \"image.upload\" })\n accessor #uploadImage!: EventEmitter<ImageInfo>;\n\n private handleUploadImage = (value: ImageInfo): void => {\n this.#uploadImage.emit(value);\n };\n\n /**\n * 编辑markdown触发的变化事件\n * @detail\n */\n @event({ type: \"markdown.value.change\" })\n accessor #markdownValueChange!: EventEmitter<string>;\n\n handleMarkdownValueChange = (value: string): void => {\n this.getFormElement()?.formStore.onChange(this.name!, value);\n this.value = value;\n this.#markdownValueChange.emit(value);\n };\n\n render() {\n return (\n <MilkdownProvider>\n <ProsemirrorAdapterProvider>\n <MarkdownEditorComponent\n formElement={this.getFormElement()}\n name={this.name}\n label={this.label}\n required={this.required}\n curElement={this}\n bucketName={this.bucketName}\n value={this.value}\n readonly={this.readonly}\n containerStyle={this.containerStyle}\n onUploadImage={this.handleUploadImage}\n onMarkdownValueChange={this.handleMarkdownValueChange}\n />\n </ProsemirrorAdapterProvider>\n </MilkdownProvider>\n );\n }\n}\n\nexport { MarkdownEditor };\n\nexport function MarkdownEditorComponent(props: MarkdownEditorProps) {\n const {\n bucketName,\n containerStyle,\n value,\n formElement,\n readonly,\n onUploadImage,\n onMarkdownValueChange,\n } = props;\n\n const [isFocus, setIsFocus] = useState(false);\n\n const transformResponseToUrl = (objectName: string): string => {\n return `/next/api/gateway/object_store.object_store.GetObject/api/v1/objectStore/bucket/${props.bucketName}/object/${objectName}`;\n };\n\n const uploader: Uploader = async (files: FileList, schema: any) => {\n const images: File[] = [];\n let nodes: Node[] = [];\n\n for (let i = 0; i < files.length; i++) {\n const file = files.item(i);\n\n if (!file) {\n continue;\n }\n\n // Only handle image\n if (!file.type.includes(\"image\")) {\n continue;\n }\n\n images.push(file);\n }\n\n // upload file\n try {\n nodes = await Promise.all(\n images.map(async (image) => {\n const response: any = await ObjectStoreApi_putObject(\n bucketName as string,\n {\n file: image,\n width: 0,\n height: 0,\n }\n );\n const src = transformResponseToUrl(response?.objectName as string);\n const alt = image.name;\n onUploadImage && onUploadImage({ name: alt, src });\n return schema.nodes.image.createAndFill({\n src,\n alt,\n }) as Node;\n })\n );\n } catch (err) {\n // eslint-disable-next-line no-console\n console.error(\"upload failed:\", err);\n }\n\n return nodes;\n };\n\n const pluginViewFactory = usePluginViewFactory();\n const widgetViewFactory = useWidgetViewFactory();\n const nodeViewFactory = useNodeViewFactory();\n\n const gfmPlugins: MilkdownPlugin[] = useMemo(() => {\n return readonly\n ? []\n : [\n gfm,\n tableTooltip,\n tableTooltipCtx,\n (ctx: Ctx) => async () => {\n ctx.set(tableTooltip.key, {\n view: pluginViewFactory({\n component: TableTooltip,\n }),\n });\n },\n tableSelectorPlugin(widgetViewFactory),\n ].flat();\n }, [readonly, pluginViewFactory, widgetViewFactory]);\n\n const { get } = useEditor((root: any) => {\n return Editor.make()\n .config((ctx: any) => {\n // 配置root\n ctx.set(rootCtx, root);\n ctx.update(editorViewOptionsCtx, (prev: any) => ({\n ...prev,\n editable: () => !readonly,\n }));\n // 配置默认值\n value && ctx.set(defaultValueCtx, value);\n // 配置事件监听\n ctx\n .get(listenerCtx)\n .markdownUpdated(\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n (ctx: any, markdown: string, prevMarkdown: string) => {\n onMarkdownValueChange && onMarkdownValueChange(markdown);\n }\n )\n .focus(() => {\n setIsFocus(true);\n })\n .blur(() => {\n setIsFocus(false);\n });\n // 配置文件上传,不传bucketName则默认把图片转为base64格式\n bucketName &&\n ctx.update(uploadConfig.key, (prev: any) => ({\n ...prev,\n uploader,\n }));\n // 支持code代码高亮\n ctx.update(prismConfig.key, (prev: any) => ({\n ...prev,\n configureRefractor: () => refractor,\n }));\n })\n .config(nord)\n .use(listener)\n .use(commonmark)\n .use(history)\n .use(gfm)\n .use(indent)\n .use(upload)\n .use(gfmPlugins)\n .use(prism)\n .use(\n readonly\n ? []\n : $view(codeBlockSchema.node, () =>\n nodeViewFactory({ component: CodeBlock })\n )\n );\n }, []);\n\n useEffect(() => {\n // 当编辑器没有处在focus状态,即初始化或者通过其他构件重置值时,才允许调用replaceAll修改其值\n // 防止与用户输入动作起冲突\n if (formElement && value !== undefined && !isFocus) {\n get()?.action(replaceAll(value));\n }\n }, [get(), value]);\n\n function call<T>(command: CmdKey<T>, payload?: T) {\n return get()?.action(callCommand(command, payload));\n }\n\n const MenuBtnData: MenuButtonProps[] = [\n {\n icon: { lib: \"antd\", icon: \"undo\" },\n onClick: () => call(undoCommand.key),\n tooltip: \"撤销\",\n },\n {\n icon: { lib: \"antd\", icon: \"redo\" },\n onClick: () => call(redoCommand.key),\n tooltip: \"重做\",\n },\n {\n icon: { lib: \"antd\", icon: \"bold\" },\n onClick: () => call(toggleStrongCommand.key),\n tooltip: \"粗体\",\n },\n {\n icon: { lib: \"antd\", icon: \"italic\" },\n onClick: () => call(toggleEmphasisCommand.key),\n tooltip: \"斜体\",\n },\n {\n icon: { lib: \"antd\", icon: \"strikethrough\" },\n onClick: () => call(toggleStrikethroughCommand.key),\n tooltip: \"删除线\",\n },\n {\n icon: { lib: \"antd\", icon: \"table\" },\n onClick: () => call(insertTableCommand.key),\n tooltip: \"表格\",\n },\n {\n icon: { lib: \"antd\", icon: \"unordered-list\" },\n onClick: () => call(wrapInBulletListCommand.key),\n tooltip: \"无序列表\",\n },\n {\n icon: { lib: \"antd\", icon: \"ordered-list\" },\n onClick: () => call(wrapInOrderedListCommand.key),\n tooltip: \"有序列表\",\n },\n {\n icon: { lib: \"fa\", icon: \"quote-right\" },\n onClick: () => call(wrapInBlockquoteCommand.key),\n tooltip: \"块引用\",\n },\n ];\n\n return (\n <WrappedFormItem exportparts=\"message\" {...pickFormItemProps(props)}>\n <div\n className={classNames(\"markdown-container\", {\n readonly,\n })}\n style={containerStyle}\n >\n {!readonly && (\n <div className=\"menu-container-outter\">\n <div className=\"menu-container-inner prose\">\n {MenuBtnData.map((item) => (\n <MenuButton {...item} key={JSON.stringify(item.icon)} />\n ))}\n </div>\n </div>\n )}\n <div className=\"editor-container\">\n <Milkdown />\n </div>\n </div>\n </WrappedFormItem>\n );\n}\n","// istanbul ignore file\n\n/*\nnpx shiki-codegen \\\n --langs json,javascript,typescript,html,html-derivative,xml,css,markdown,mermaid,jsx,tsx,shellscript,python,go,sql \\\n --themes light-plus,dark-plus \\\n --engine oniguruma \\\n ./shared/shiki/src/bundle.ts\n*/\n\nimport lightPlus from \"@shikijs/themes/light-plus\";\nimport darkPlus from \"@shikijs/themes/dark-plus\";\n\n/* Generate by @shikijs/codegen */\nimport type {\n DynamicImportLanguageRegistration,\n HighlighterGeneric,\n ThemeInput,\n} from \"@shikijs/types\";\nimport {\n createSingletonShorthands,\n createdBundledHighlighter,\n} from \"@shikijs/core\";\nimport { createOnigurumaEngine } from \"@shikijs/engine-oniguruma\";\n\ntype BundledLanguage =\n | \"json\"\n | \"javascript\"\n | \"js\"\n | \"typescript\"\n | \"ts\"\n | \"html\"\n | \"html-derivative\"\n | \"xml\"\n | \"css\"\n | \"markdown\"\n | \"md\"\n | \"mermaid\"\n | \"mmd\"\n | \"jsx\"\n | \"tsx\"\n | \"shellscript\"\n | \"bash\"\n | \"sh\"\n | \"shell\"\n | \"zsh\"\n | \"python\"\n | \"py\"\n | \"go\"\n | \"sql\"\n | \"yaml\";\ntype BundledTheme = \"light-plus\" | \"dark-plus\";\ntype Highlighter = HighlighterGeneric<BundledLanguage, BundledTheme>;\n\nconst bundledLanguages = {\n json: () => import(\"@shikijs/langs/json\"),\n javascript: () => import(\"@shikijs/langs/javascript\"),\n js: () => import(\"@shikijs/langs/javascript\"),\n typescript: () => import(\"@shikijs/langs/typescript\"),\n ts: () => import(\"@shikijs/langs/typescript\"),\n html: () => import(\"@shikijs/langs/html\"),\n \"html-derivative\": () => import(\"@shikijs/langs/html-derivative\"),\n xml: () => import(\"@shikijs/langs/xml\"),\n css: () => import(\"@shikijs/langs/css\"),\n markdown: () => import(\"@shikijs/langs/markdown\"),\n md: () => import(\"@shikijs/langs/markdown\"),\n mermaid: () => import(\"@shikijs/langs/mermaid\"),\n mmd: () => import(\"@shikijs/langs/mermaid\"),\n jsx: () => import(\"@shikijs/langs/jsx\"),\n tsx: () => import(\"@shikijs/langs/tsx\"),\n shellscript: () => import(\"@shikijs/langs/shellscript\"),\n bash: () => import(\"@shikijs/langs/shellscript\"),\n sh: () => import(\"@shikijs/langs/shellscript\"),\n shell: () => import(\"@shikijs/langs/shellscript\"),\n zsh: () => import(\"@shikijs/langs/shellscript\"),\n python: () => import(\"@shikijs/langs/python\"),\n py: () => import(\"@shikijs/langs/python\"),\n go: () => import(\"@shikijs/langs/go\"),\n sql: () => import(\"@shikijs/langs/sql\"),\n yaml: () => import(\"@shikijs/langs/yaml\"),\n} as Record<BundledLanguage, DynamicImportLanguageRegistration>;\n\nconst bundledThemes = {\n \"light-plus\": lightPlus,\n \"dark-plus\": darkPlus,\n} as Record<BundledTheme, ThemeInput>;\n\nconst createHighlighter = /* @__PURE__ */ createdBundledHighlighter<\n BundledLanguage,\n BundledTheme\n>({\n langs: bundledLanguages,\n themes: bundledThemes,\n engine: () => createOnigurumaEngine(import(\"shiki/wasm\")),\n});\n\nconst {\n codeToHtml,\n codeToHast,\n codeToTokensBase,\n codeToTokens,\n codeToTokensWithThemes,\n getSingletonHighlighter,\n getLastGrammarState,\n} = /* @__PURE__ */ createSingletonShorthands<BundledLanguage, BundledTheme>(\n createHighlighter,\n {\n guessEmbeddedLanguages(code, lang) {\n if (lang === \"markdown\" || lang === \"md\") {\n return [\"mermaid\"];\n }\n },\n }\n);\n\nexport {\n bundledLanguages,\n bundledThemes,\n codeToHast,\n codeToHtml,\n codeToTokens,\n codeToTokensBase,\n codeToTokensWithThemes,\n getLastGrammarState,\n getSingletonHighlighter,\n};\nexport type { BundledLanguage, BundledTheme, Highlighter };\n","import type { Element } from \"hast\";\n\nexport function getCodeLanguage(node: Element) {\n const className = (node.properties.className as string[]) || [];\n\n for (const classListItem of className) {\n if (classListItem.slice(0, 9) === \"language-\") {\n return classListItem.slice(9).toLowerCase();\n }\n }\n\n return null;\n}\n","import { visit } from \"unist-util-visit\";\nimport { toString } from \"hast-util-to-string\";\nimport type { Element } from \"hast\";\nimport type Mermaid from \"mermaid\";\nimport { fromHtmlIsomorphic } from \"hast-util-from-html-isomorphic\";\nimport { getCodeLanguage } from \"./utils.js\";\n\nlet mermaidPromise: Promise<typeof Mermaid> | undefined;\n\nfunction loadMermaid() {\n if (mermaidPromise) {\n return mermaidPromise;\n }\n mermaidPromise = doLoadMermaid();\n return mermaidPromise;\n}\n\nasync function doLoadMermaid() {\n const mermaid = (await import(\"mermaid\")).default;\n mermaid.initialize({\n startOnLoad: false,\n theme: \"base\",\n themeVariables: {\n fontSize: \"14px\",\n lineColor: \"#979797\",\n primaryColor: \"#DCD2F3\",\n primaryBorderColor: \"#0000001A\",\n },\n });\n return mermaid;\n}\n\nlet count = 0;\n\nconst parser = new DOMParser();\nconst serializer = new XMLSerializer();\n\n// Reference https://github.com/remcohaszing/rehype-mermaid\nexport function rehypeMermaid() {\n return async (tree: Element) => {\n const promises: Promise<void>[] = [];\n\n visit(tree, \"element\", (node, index, parent) => {\n if (\n !parent ||\n parent.type !== \"element\" ||\n parent.tagName !== \"pre\" ||\n node.tagName !== \"code\"\n ) {\n return;\n }\n\n const lang = getCodeLanguage(node);\n\n if (lang !== \"mermaid\") {\n return;\n }\n\n promises.push(\n (async () => {\n const id = `mermaid-${count++}`;\n let svg: string;\n try {\n const mermaid = await loadMermaid();\n const result = await mermaid.render(id, toString(node));\n svg = result.svg;\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(\"Error rendering mermaid diagram:\", error);\n document.getElementById(id)?.remove();\n return;\n }\n const root = parser.parseFromString(svg, \"text/html\");\n const svgElement = root.querySelector(\"svg\") as SVGSVGElement;\n\n const defs = root.createElementNS(\n \"http://www.w3.org/2000/svg\",\n \"defs\"\n );\n defs.innerHTML = `<linearGradient id=\"linear-gradient-${id}\" x1=\"0%\" y1=\"0%\" x2=\"0%\" y2=\"100%\">\n <stop offset=\"0%\" stop-color=\"#F0EBFA\" />\n <stop offset=\"75%\" stop-color=\"#DED4F4\" />\n <stop offset=\"100%\" stop-color=\"#C5C7FA\" />\n</linearGradient>`;\n svgElement.prepend(defs);\n\n const style = root.createElementNS(\n \"http://www.w3.org/2000/svg\",\n \"style\"\n );\n style.textContent = `\n#${id} .node rect,\n#${id} .node circle,\n#${id} .node ellipse,\n#${id} .node polygon,\n#${id} .node path {\n fill: url(#linear-gradient-${id});\n}\n#${id} .node rect {\n rx: 4;\n ry: 4;\n}\n#${id} .labelBkg {\n background-color: #f5f8ff;\n}\n#${id} .edgeLabel,\n#${id} .edgeLabel p {\n background-color: transparent;\n}\n#${id} .edgeLabel {\n color: #8c8c8c;\n font-size: 12px;\n}\n`;\n svgElement.appendChild(style);\n\n const modifiedSvg = serializer.serializeToString(svgElement);\n\n const replacements = fromHtmlIsomorphic(modifiedSvg, {\n fragment: true,\n }).children as Element[];\n parent.children.splice(index!, 1, ...replacements);\n parent.properties.className = (\n (parent.properties.className as string[]) || []\n ).concat(\"mermaid\");\n })()\n );\n });\n\n await Promise.all(promises);\n };\n}\n","import React, { useEffect, useState } from \"react\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nimport { unified } from \"unified\";\nimport remarkParse from \"remark-parse\";\nimport remarkGfm from \"remark-gfm\";\nimport remarkToRehype from \"remark-rehype\";\nimport rehypeReact, { Options as RehypeReactOptions } from \"rehype-react\";\nimport type { Components } from \"hast-util-to-jsx-runtime\";\nimport rehypeShikiFromHighlighter from \"@shikijs/rehype/core\";\nimport type { Element } from \"hast\";\nimport { visit } from \"unist-util-visit\";\nimport { getSingletonHighlighter, bundledLanguages } from \"@next-shared/shiki\";\nimport { rehypeMermaid } from \"./rehypeMermaid.js\";\nimport { getCodeLanguage } from \"./utils.js\";\n\nconst production = { Fragment, jsx, jsxs };\n\nexport interface MarkdownComponentProps {\n content?: string;\n components?: Partial<Components>;\n shiki?: {\n /** @default \"dark-plus\" */\n theme?: \"light-plus\" | \"dark-plus\";\n };\n}\n\nexport async function preloadHighlighter(\n theme: \"light-plus\" | \"dark-plus\"\n): Promise<void> {\n await getSingletonHighlighter({\n themes: [theme],\n });\n}\n\nfunction rehypeFallbackLanguage() {\n return (tree: Element) => {\n visit(tree, \"element\", (node, index, parent) => {\n if (\n !parent ||\n parent.type !== \"element\" ||\n parent.tagName !== \"pre\" ||\n node.tagName !== \"code\"\n ) {\n return;\n }\n\n const lang = getCodeLanguage(node);\n if (\n lang &&\n !Object.prototype.hasOwnProperty.call(bundledLanguages, lang)\n ) {\n node.properties.className = (node.properties.className as string[]).map(\n (c) => (c.startsWith(\"language-\") ? \"language-text\" : c)\n );\n }\n });\n };\n}\n\n// Reference https://github.com/remarkjs/react-remark/blob/39553e5f5c9e9b903bebf261788ff45130668de0/src/index.ts\nexport function MarkdownComponent({\n content,\n components,\n shiki,\n}: MarkdownComponentProps): JSX.Element | null {\n const [reactContent, setReactContent] = useState<JSX.Element | null>(null);\n const theme = shiki?.theme ?? \"dark-plus\";\n\n useEffect(() => {\n let ignore = false;\n (async () => {\n try {\n const highlighter = await getSingletonHighlighter({\n themes: [theme],\n });\n if (ignore) {\n return;\n }\n const vFile = await unified()\n .use(remarkParse)\n .use(remarkGfm)\n .use(remarkToRehype)\n .use(rehypeMermaid)\n .use(rehypeFallbackLanguage)\n .use(rehypeShikiFromHighlighter, highlighter as any, {\n theme,\n lazy: true,\n defaultLanguage: \"text\",\n })\n .use(rehypeReact, {\n ...production,\n passNode: true,\n components,\n } as RehypeReactOptions)\n .process(content);\n if (!ignore) {\n setReactContent(vFile.result);\n }\n } catch (error) {\n if (!ignore) {\n // eslint-disable-next-line no-console\n console.error(\"Convert markdown failed:\", error);\n setReactContent(\n <div style={{ color: \"var(--color-error)\" }}>\n Convert markdown failed: {String(error)}\n </div>\n );\n }\n }\n })();\n return () => {\n ignore = true;\n };\n }, [components, content, theme]);\n\n return reactContent;\n}\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./host-context.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./host-context.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React, { useMemo } from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport { useCurrentTheme } from \"@next-core/react-runtime\";\nimport \"@next-core/theme\";\nimport {\n MarkdownComponent,\n type MarkdownComponentProps,\n} from \"@next-shared/markdown\";\nimport {\n CodeWrapper,\n type CodeWrapperProps,\n} from \"@next-bricks/presentational/code-wrapper\";\nimport styleText from \"./styles.shadow.css\";\nimport \"./host-context.css\";\n\nconst WrappedCodeWrapper = wrapBrick<CodeWrapper, CodeWrapperProps>(\n \"presentational.code-wrapper\"\n);\n\nconst { defineElement, property } = createDecorators();\n\nexport interface MarkdownDisplayProps {\n content?: string;\n themeVariant?: \"default\" | \"elevo\";\n}\n\n/**\n * 用于展示 markdown 内容的构件。\n */\nexport\n@defineElement(\"eo-markdown-display\", {\n styleTexts: [styleText],\n})\nclass MarkdownDisplay extends ReactNextElement implements MarkdownDisplayProps {\n @property()\n accessor content: string | undefined;\n\n /**\n * 主题变体\n */\n @property()\n accessor themeVariant: \"default\" | \"elevo\" | undefined;\n\n render() {\n return (\n <MarkdownDisplayComponent\n content={this.content}\n themeVariant={this.themeVariant}\n />\n );\n }\n}\n\nfunction MarkdownDisplayComponent({\n content,\n themeVariant,\n}: MarkdownDisplayProps) {\n const systemTheme = useCurrentTheme();\n const shikiOptions = useMemo<MarkdownComponentProps[\"shiki\"]>(\n () => ({\n theme: systemTheme === \"dark-v2\" ? \"dark-plus\" : \"light-plus\",\n }),\n [systemTheme]\n );\n\n const components = useMemo<MarkdownComponentProps[\"components\"]>(\n () => ({\n pre: function Pre({ node, ...props }) {\n return (\n <WrappedCodeWrapper\n preProps={props}\n showCopyButton={!!props.className?.includes(\"shiki\")}\n themeVariant={themeVariant}\n exportparts=\"pre, copy, mermaid\"\n />\n );\n },\n }),\n [themeVariant]\n );\n\n return (\n <MarkdownComponent\n content={content}\n components={components}\n shiki={shikiOptions}\n />\n );\n}\n"],"names":["___CSS_LOADER_EXPORT___","push","module","id","toString","WrappedFormItem","wrapBrick","WrappedIcon","MenuButton","_ref","icon","onClick","tooltip","React","className","onMouseDown","e","preventDefault","_extends","style","verticalAlign","defineElement","property","event","createDecorators","_MarkdownEditor","_A","WeakMap","_B","_C","_D","_E","_F","_G","_H","_MarkdownEditor_brand","WeakSet","_I","MarkdownEditor","FormItemElementBase","constructor","arguments","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_init_name","_init_extra_name","_init_label","_init_extra_label","_init_required","_init_extra_required","_init_value","_init_extra_value","_init_bucketName","_init_extra_bucketName","_init_readonly","_init_extra_readonly","_init_containerStyle","_init_extra_containerStyle","_init_uploadImage","_defineProperty","_init_extra_uploadImage","value","_classPrivateGetter","this","_get_uploadImage","emit","_init_markdownValueChange","_init_extra_markdownValueChange","_this$getFormElement","getFormElement","formStore","onChange","name","_get_markdownValueChange","_classPrivateFieldGet","v","_classPrivateFieldSet","label","required","bucketName","readonly","containerStyle","render","MilkdownProvider","ProsemirrorAdapterProvider","MarkdownEditorComponent","formElement","curElement","onUploadImage","handleUploadImage","onMarkdownValueChange","handleMarkdownValueChange","props","isFocus","setIsFocus","useState","uploader","async","files","schema","images","nodes","i","length","file","item","type","includes","Promise","all","map","response","ObjectStoreApi_putObject","image","width","height","src","objectName","alt","createAndFill","err","console","error","pluginViewFactory","usePluginViewFactory","widgetViewFactory","useWidgetViewFactory","nodeViewFactory","useNodeViewFactory","gfmPlugins","useMemo","gfm","tableTooltip","tableTooltipCtx","ctx","set","key","view","component","TableTooltip","tableSelectorPlugin","flat","get","useEditor","root","Editor","make","config","rootCtx","update","editorViewOptionsCtx","prev","editable","defaultValueCtx","listenerCtx","markdownUpdated","markdown","prevMarkdown","focus","blur","uploadConfig","prismConfig","configureRefractor","refractor","nord","use","listener","commonmark","history","indent","upload","prism","$view","codeBlockSchema","node","CodeBlock","call","command","payload","_get2","action","callCommand","useEffect","_get","undefined","replaceAll","MenuBtnData","lib","undoCommand","redoCommand","toggleStrongCommand","toggleEmphasisCommand","toggleStrikethroughCommand","insertTableCommand","wrapInBulletListCommand","wrapInOrderedListCommand","wrapInBlockquoteCommand","exportparts","pickFormItemProps","classNames","JSON","stringify","Milkdown","_MarkdownEditor2","_set_uploadImage","_set_markdownValueChange","c","_initClass","_applyDecs","styleTexts","styleText","alias","Boolean","attribute","o","_","has","_checkInRHS","bundledLanguages","json","javascript","js","typescript","ts","html","html-derivative","xml","css","md","mermaid","mmd","jsx","tsx","shellscript","bash","sh","shell","zsh","python","py","go","sql","yaml","bundledThemes","lightPlus","darkPlus","createHighlighter","createdBundledHighlighter","langs","themes","engine","createOnigurumaEngine","codeToHtml","codeToHast","codeToTokensBase","codeToTokens","codeToTokensWithThemes","getSingletonHighlighter","getLastGrammarState","createSingletonShorthands","guessEmbeddedLanguages","code","lang","getCodeLanguage","properties","classListItem","slice","toLowerCase","mermaidPromise","count","parser","DOMParser","serializer","XMLSerializer","rehypeMermaid","promises","visit","tree","index","parent","tagName","svg","default","initialize","startOnLoad","theme","themeVariables","fontSize","lineColor","primaryColor","primaryBorderColor","doLoadMermaid","_document$getElementB","document","getElementById","remove","parseFromString","svgElement","querySelector","defs","createElementNS","innerHTML","prepend","textContent","appendChild","modifiedSvg","serializeToString","replacements","fromHtmlIsomorphic","fragment","children","splice","concat","production","Fragment","jsxs","rehypeFallbackLanguage","Object","prototype","hasOwnProperty","startsWith","MarkdownComponent","_shiki$theme","content","components","shiki","reactContent","setReactContent","ignore","highlighter","vFile","unified","remarkParse","remarkGfm","remarkToRehype","rehypeShikiFromHighlighter","lazy","defaultLanguage","rehypeReact","passNode","process","result","color","String","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","WrappedCodeWrapper","_MarkdownDisplay","MarkdownDisplay","ReactNextElement","_init_content","_init_extra_content","_init_themeVariant","_init_extra_themeVariant","themeVariant","MarkdownDisplayComponent","systemTheme","useCurrentTheme","shikiOptions","pre","_ref2","_props$className","preProps","showCopyButton","_MarkdownDisplay2"],"sourceRoot":""}
|