@next-bricks/markdown 1.14.1 → 1.15.1

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 CHANGED
@@ -22,5 +22,5 @@
22
22
  "presentational.code-wrapper"
23
23
  ]
24
24
  },
25
- "filePath": "bricks/markdown/dist/index.cea25fdd.js"
25
+ "filePath": "bricks/markdown/dist/index.217627f4.js"
26
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"chunks/2587.6b482a20.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}a{color:var(--antd-btn-link-color);-webkit-text-decoration:none;text-decoration:none}a:hover{color:var(--antd-btn-link-hover-color)}.external-link-icon{margin-left:3px;color:var(--text-color-disabled)}`, \"\"]);\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 rehypeExternalLinks, {\n type Options as RehypeExternalLinksOptions,\n} from \"rehype-external-links\";\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 type { RehypeExternalLinksOptions, Element };\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 externalLinks?: RehypeExternalLinksOptions;\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 externalLinks,\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(rehypeExternalLinks, externalLinks)\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, externalLinks, 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 { getBasePath } from \"@next-core/runtime\";\nimport { useCurrentTheme } from \"@next-core/react-runtime\";\nimport \"@next-core/theme\";\nimport {\n MarkdownComponent,\n type Element,\n type MarkdownComponentProps,\n type RehypeExternalLinksOptions,\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\nconst externalLinks: RehypeExternalLinksOptions = {\n target: \"_blank\",\n rel: [\"nofollow\", \"noopener\", \"noreferrer\"],\n test: (element: Element) => {\n return isExternalLink(element.properties.href);\n },\n content(element) {\n if (containsImg(element)) {\n return;\n }\n return {\n type: \"element\",\n tagName: \"eo-icon\",\n properties: {\n lib: \"lucide\",\n icon: \"external-link\",\n },\n children: [],\n };\n },\n contentProperties: {\n className: \"external-link-icon\",\n },\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 externalLinks={externalLinks}\n />\n );\n}\n\nfunction containsImg(element: Element): boolean {\n return element.children.some((child) => {\n if (child.type === \"element\") {\n return child.tagName === \"img\" || containsImg(child);\n }\n return false;\n });\n}\n\nfunction isExternalLink(href: unknown): boolean {\n if (typeof href !== \"string\") {\n return false;\n }\n try {\n const url = new URL(href, `${location.origin}${getBasePath()}`);\n return url.origin !== location.origin;\n } catch {\n return true;\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","externalLinks","reactContent","setReactContent","ignore","highlighter","vFile","unified","remarkParse","remarkGfm","remarkToRehype","rehypeExternalLinks","rehypeShikiFromHighlighter","lazy","defaultLanguage","rehypeReact","passNode","process","result","color","String","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","WrappedCodeWrapper","target","rel","test","element","href","URL","location","origin","getBasePath","isExternalLink","containsImg","contentProperties","_MarkdownDisplay","MarkdownDisplay","ReactNextElement","_init_content","_init_extra_content","_init_themeVariant","_init_extra_themeVariant","themeVariant","MarkdownDisplayComponent","systemTheme","useCurrentTheme","shikiOptions","pre","_ref2","_props$className","preProps","showCopyButton","some","child","_MarkdownDisplay2"],"sourceRoot":""}
1
+ {"version":3,"file":"chunks/2587.6b482a20.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}a{color:var(--antd-btn-link-color);-webkit-text-decoration:none;text-decoration:none}a:hover{color:var(--antd-btn-link-hover-color)}.external-link-icon{margin-left:3px;color:var(--text-color-disabled)}`, \"\"]);\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 MarkdownEditorEventsMap {\n \"image.upload\": CustomEvent<ImageInfo>;\n \"markdown.value.change\": CustomEvent<string>;\n}\n\nexport interface MarkdownEditorEventsMapping {\n onImageUpload: \"image.upload\";\n onMarkdownValueChange: \"markdown.value.change\";\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 rehypeExternalLinks, {\n type Options as RehypeExternalLinksOptions,\n} from \"rehype-external-links\";\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 type { RehypeExternalLinksOptions, Element };\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 externalLinks?: RehypeExternalLinksOptions;\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 externalLinks,\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(rehypeExternalLinks, externalLinks)\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, externalLinks, 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 { getBasePath } from \"@next-core/runtime\";\nimport { useCurrentTheme } from \"@next-core/react-runtime\";\nimport \"@next-core/theme\";\nimport {\n MarkdownComponent,\n type Element,\n type MarkdownComponentProps,\n type RehypeExternalLinksOptions,\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\nconst externalLinks: RehypeExternalLinksOptions = {\n target: \"_blank\",\n rel: [\"nofollow\", \"noopener\", \"noreferrer\"],\n test: (element: Element) => {\n return isExternalLink(element.properties.href);\n },\n content(element) {\n if (containsImg(element)) {\n return;\n }\n return {\n type: \"element\",\n tagName: \"eo-icon\",\n properties: {\n lib: \"lucide\",\n icon: \"external-link\",\n },\n children: [],\n };\n },\n contentProperties: {\n className: \"external-link-icon\",\n },\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 externalLinks={externalLinks}\n />\n );\n}\n\nfunction containsImg(element: Element): boolean {\n return element.children.some((child) => {\n if (child.type === \"element\") {\n return child.tagName === \"img\" || containsImg(child);\n }\n return false;\n });\n}\n\nfunction isExternalLink(href: unknown): boolean {\n if (typeof href !== \"string\") {\n return false;\n }\n try {\n const url = new URL(href, `${location.origin}${getBasePath()}`);\n return url.origin !== location.origin;\n } catch {\n return true;\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","externalLinks","reactContent","setReactContent","ignore","highlighter","vFile","unified","remarkParse","remarkGfm","remarkToRehype","rehypeExternalLinks","rehypeShikiFromHighlighter","lazy","defaultLanguage","rehypeReact","passNode","process","result","color","String","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","WrappedCodeWrapper","target","rel","test","element","href","URL","location","origin","getBasePath","isExternalLink","containsImg","contentProperties","_MarkdownDisplay","MarkdownDisplay","ReactNextElement","_init_content","_init_extra_content","_init_themeVariant","_init_extra_themeVariant","themeVariant","MarkdownDisplayComponent","systemTheme","useCurrentTheme","shikiOptions","pre","_ref2","_props$className","preProps","showCopyButton","some","child","_MarkdownDisplay2"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(globalThis.webpackChunk_next_bricks_markdown=globalThis.webpackChunk_next_bricks_markdown||[]).push([[7613],{24758:(e,t,r)=>{r.d(t,{N:()=>s});var o=r(33971),n=r(18769),a=r.n(n);const i=["text","typescript","javascript","go","python","php","html","css","json","markdown"],s=()=>{const{contentRef:e,node:t,setAttrs:r}=(0,o.e2)();return a().createElement("div",{className:"codeBlockContainer"},a().createElement("div",{contentEditable:"false",suppressContentEditableWarning:!0,style:{marginBottom:"0.5rem",display:"flex",justifyContent:"space-between"}},a().createElement("select",{className:"codeBlockSelect",value:t.attrs.language||"text",onChange:e=>{r({language:e.target.value})}},i.map((e=>a().createElement("option",{value:e,key:e},e)))),a().createElement("button",{className:"codeBlockCopyBtn",onClick:e=>{e.preventDefault(),navigator.clipboard.writeText(t.textContent)}},"Copy")),a().createElement("pre",{spellCheck:!1},a().createElement("code",{ref:e})))}},26816:(e,t,r)=>{r.d(t,{EI:()=>k,ST:()=>y,jp:()=>z,nk:()=>u});var o=r(27647),n=r(83751),a=r(30537),i=r(81570),s=r(2402),l=r(73686),c=r(92466),p=r(16512),d=r(33971),w=r(18769),h=r.n(w),m=r(30981),b=r(53373),g=r.n(b);const u=(0,p.Qx)(null,"tableTooltip"),v=(0,m.wrapBrick)("eo-icon"),f=e=>{let{icon:t,onClick:r}=e;return h().createElement("button",{className:"table-tooltip-btn-box",onClick:e=>{null==r||r(),e.preventDefault()}},h().createElement(v,t))},k=(0,n.y)("TABLE"),y=()=>{var e;const t=(0,w.useRef)(null),{view:r}=(0,d.hi)(),i=(0,w.useRef)(),[l,p]=(0,c.Nj)(),m=r.state.selection instanceof s.rn&&r.state.selection.isRowSelection(),b=r.state.selection instanceof s.rn&&r.state.selection.isColSelection(),g=m&&b,v=m&&"table_header"===(null===(e=r.state.doc.nodeAt(r.state.selection.$headCell.pos))||void 0===e?void 0:e.type.name);return(0,w.useEffect)((()=>{if(t.current&&!l&&!i.current&&r&&r.state){const e=new n.B({content:t.current,tippyOptions:{zIndex:30},shouldShow:()=>!1});e.update(r);const o=p();o&&o.ctx&&o.ctx.isInjected(u.key)&&(o.ctx.set(u.key,e),i.current=e)}return()=>{var e;null===(e=i.current)||void 0===e||e.destroy()}}),[p,l,r]),h().createElement("div",{style:{visibility:"hidden"}},h().createElement("div",{ref:t,style:{display:"flex"}},!g&&!v&&m&&h().createElement(f,{icon:{lib:"antd",icon:"arrow-up"},onClick:()=>{var e;l||(p().action((e=>{e.get(o.MD).call(a.kD.key)})),null===(e=i.current)||void 0===e||e.hide())}}),!g&&b&&h().createElement(f,{icon:{lib:"antd",icon:"arrow-left"},onClick:()=>{var e;l||(p().action((e=>{e.get(o.MD).call(a._r.key)})),null===(e=i.current)||void 0===e||e.hide())}}),(g||!v)&&h().createElement(f,{icon:{lib:"antd",icon:"delete"},onClick:()=>{var e;l||(p().action((e=>{e.get(o.MD).call(a.pK.key)})),null===(e=i.current)||void 0===e||e.hide())}}),!g&&m&&h().createElement(f,{icon:{lib:"antd",icon:"arrow-down"},onClick:()=>{var e;l||(p().action((e=>{e.get(o.MD).call(a.RP.key)})),null===(e=i.current)||void 0===e||e.hide())}}),!g&&b&&h().createElement(f,{icon:{lib:"antd",icon:"arrow-right"},onClick:()=>{var e;l||(p().action((e=>{e.get(o.MD).call(a.vh.key)})),null===(e=i.current)||void 0===e||e.hide())}}),!g&&b&&h().createElement(f,{icon:{lib:"antd",icon:"align-left"},onClick:()=>{l||p().action((e=>{e.get(o.MD).call(a.zF.key,"left")}))}}),!g&&b&&h().createElement(f,{icon:{lib:"antd",icon:"align-center"},onClick:()=>{l||p().action((e=>{e.get(o.MD).call(a.zF.key,"center")}))}}),!g&&b&&h().createElement(f,{icon:{lib:"antd",icon:"align-right"},onClick:()=>{l||p().action((e=>{e.get(o.MD).call(a.zF.key,"right")}))}})))},x=()=>{var e;const{spec:t}=(0,d.W4)(),r=null==t?void 0:t.type,n=null!==(e=null==t?void 0:t.index)&&void 0!==e?e:0,[i,s]=(0,c.Nj)(),l=(0,w.useRef)(null),[p,m]=(0,w.useState)(!1);return h().createElement("div",{ref:l,draggable:"top-left"!==r,className:g()("tableBarCommon",{tableBarLeft:"left"===r,tableBarTop:"top"===r,tableBarOther:"top"!==r&&"left"!==r,dragOverTableBar:p}),onClick:e=>{e.stopPropagation();const t=l.current;!i&&t&&s().action((e=>{var i;const s=e.get(u.key);null==s||null===(i=s.getInstance())||void 0===i||i.setProps({getReferenceClientRect:()=>t.getBoundingClientRect()}),null==s||s.show();const l=e.get(o.MD);"left"===r?l.call(a.kr.key,n):"top"===r?l.call(a.cq.key,n):l.call(a.A7.key)}))},onDragStart:e=>{e.stopPropagation();const r={index:null==t?void 0:t.index,type:null==t?void 0:t.type};e.dataTransfer.setData("application/milkdown-table-sort",JSON.stringify(r)),e.dataTransfer.effectAllowed="move"},onDragOver:e=>{m(!0),e.stopPropagation(),e.preventDefault(),e.dataTransfer.dropEffect="move"},onDragLeave:()=>{m(!1)},onDrop:e=>{if(m(!1),"top-left"===r)return;const n=null==t?void 0:t.index;if(i||null==n)return;const l=e.dataTransfer.getData("application/milkdown-table-sort");try{const{index:e,type:t}=JSON.parse(l);s().action((r=>{const i=r.get(o.MD),s={from:Number(e),to:n};i.call("left"===t?a.lW.key:a.tt.key,s)}))}catch{}}})},z=e=>(0,p.Gf)((()=>{const t=new i.hs("MILKDOWN_TABLE_SELECTOR");return new i.k_({key:t,state:{init:()=>({decorations:l.zF.empty,pos:0}),apply(t,r,o,n){const i=(0,a.bA)(0,t.selection);if(!i)return{decorations:l.zF.empty,pos:0};const s=(0,a.xu)(0,t.selection);if(!s)return{decorations:l.zF.empty,pos:0};const c=e({as:"div",component:x}),[p]=i;if(!p)return{decorations:l.zF.empty,pos:0};const d=[];return d.push(c(p.pos+1,{type:"top-left"})),i.forEach(((e,t)=>{d.push(c(e.pos+1,{type:"left",index:t}))})),s.forEach(((e,t)=>{d.push(c(e.pos+1,{type:"top",index:t}))})),r.pos===p.pos&&o.doc.eq(n.doc)?r:{decorations:l.zF.create(t.doc,d),pos:p.pos}}},props:{decorations:e=>t.getState(e).decorations}})}))},41757:(e,t,r)=>{r.d(t,{N:()=>A});var o,n=r(70918),a=r(86121),i=r(70829),s=r(62740),l=r(90870),c=r(30981);let p,d,w,h,m,b,g,u,v;const{method:f,property:k}=(0,l.createDecorators)();var y=new WeakMap,x=new WeakMap,z=new WeakMap,C=new WeakMap,M=new WeakMap,E=new WeakMap,B=new WeakMap;class A extends c.ReactNextElement{constructor(){super(...arguments),(0,n.A)(this,y,(p(this),!1)),(0,n.A)(this,x,"normal"),(0,n.A)(this,z,!1),(0,n.A)(this,C,d(this)),(0,n.A)(this,M,(w(this),h(this))),(0,n.A)(this,E,(m(this),b(this))),(0,n.A)(this,B,(g(this),u(this))),v(this)}get _notRender(){return(0,i.A)(y,this)}set _notRender(e){(0,a.A)(y,this,e)}get validate(){return(0,i.A)(x,this)}set validate(e){(0,a.A)(x,this,e)}get bindFormItem(){return(0,i.A)(z,this)}set bindFormItem(e){(0,a.A)(z,this,e)}get isFormItemElement(){return!0}set validateState(e){this.validate=e,this._render()}get validateState(){return this.validate}set notRender(e){this.hidden=e,this._notRender=e,this._render()}get notRender(){return this._notRender}get $bindFormItem(){return this.bindFormItem}set $bindFormItem(e){this.bindFormItem=e,this._render()}get helpBrick(){return(0,i.A)(C,this)}set helpBrick(e){(0,a.A)(C,this,e)}get labelBrick(){return(0,i.A)(M,this)}set labelBrick(e){(0,a.A)(M,this,e)}get labelCol(){return(0,i.A)(E,this)}set labelCol(e){(0,a.A)(E,this,e)}get wrapperCol(){return(0,i.A)(B,this)}set wrapperCol(e){(0,a.A)(B,this,e)}setNotRender(e){this.notRender=e}getFormElement(){let e=this;for(;(e=e.parentNode)&&e&&!e.isFormElement;);return e}}o=A,[d,w,h,m,b,g,u,v,p]=(0,s.A)(o,[],[[k({attribute:!1}),1,"helpBrick"],[k({attribute:!1}),1,"labelBrick"],[k({attribute:!1}),1,"labelCol"],[k({attribute:!1}),1,"wrapperCol"],[f(),2,"setNotRender"],[f(),2,"getFormElement"]],0,void 0,c.ReactNextElement).e},42736:(e,t,r)=>{r.d(t,{v:()=>a});var o=r(20563);const n=["formElement","curElement","name","label","current","required","pattern","type","min","max","labelCol","wrapperCol","message","layout","size","trigger","valuePropsName","notRender","helpBrick","labelBrick","needValidate","validator"];function a(e){return(0,o.pick)(e,n)}},90998:(e,t,r)=>{r.d(t,{A:()=>w});var o=r(36758),n=r.n(o),a=r(40935),i=r.n(a),s=r(20062),l=r.n(s),c=new URL(r(97677),r.b),p=i()(n()),d=l()(c);p.push([e.id,`.ProseMirror{position:relative;word-wrap:break-word;white-space:pre-wrap;white-space:break-spaces;font-variant-ligatures:none;font-feature-settings:"liga" 0,none}.ProseMirror pre{white-space:pre-wrap}.ProseMirror li{position:relative}.ProseMirror-hideselection *::selection{background:transparent}.ProseMirror-hideselection *::-moz-selection{background:transparent}.ProseMirror-hideselection{caret-color:transparent}.ProseMirror-selectednode{outline:2px solid #8cf}li.ProseMirror-selectednode{outline:none}li.ProseMirror-selectednode:after{content:"";position:absolute;left:-32px;right:-2px;top:-2px;bottom:-2px;border:2px solid #8cf;pointer-events:none}img.ProseMirror-separator{display:inline!important;border:none!important;margin:0!important}.ProseMirror .tableWrapper{overflow-x:auto}.ProseMirror table{border-collapse:collapse;table-layout:fixed;max-width:80%;overflow:hidden}.ProseMirror td,\n.ProseMirror th{vertical-align:top;box-sizing:border-box;position:relative}.ProseMirror .column-resize-handle{position:absolute;right:-2px;top:0;bottom:0;width:4px;z-index:20;background-color:#adf;pointer-events:none}.ProseMirror.resize-cursor{cursor:ew-resize;cursor:col-resize}.ProseMirror .selectedCell:after{z-index:2;position:absolute;content:"";left:0;right:0;top:0;bottom:0;background:rgba(200,200,255,0.4);pointer-events:none}.milkdown-theme-nord blockquote{border-left-width:4px;--tw-border-opacity:1;border-color:rgb(94 129 172/var(--tw-border-opacity));padding-left:1rem;font-family:ui-serif,Georgia,Cambria,Times New Roman,Times,serif;font-style:normal}.milkdown-theme-nord code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-weight:400;--tw-text-opacity:1;color:rgb(94 129 172/var(--tw-text-opacity))}.milkdown-theme-nord pre code{color:inherit}.milkdown-theme-nord img{margin-top:0!important;margin-bottom:0!important;display:inline-block;max-width:960px}.milkdown-theme-nord.prose\n :where(blockquote):not(:where([class~="not-prose"] *)){font-weight:400}.milkdown-theme-nord.prose\n :where(ol > li):not(:where([class~="not-prose"] *))::marker,\n.milkdown-theme-nord.prose\n :where(ul > li):not(:where([class~="not-prose"] *))::marker{--tw-text-opacity:1;color:rgb(94 129 172/var(--tw-text-opacity))}.milkdown-theme-nord.prose\n :where(blockquote p:first-of-type):not(:where([class~="not-prose"] *)):before,\n.milkdown-theme-nord.prose\n :where(blockquote p:first-of-type):not(:where([class~="not-prose"] *)):after{content:""}.milkdown-theme-nord.prose\n :where(code):not(:where([class~="not-prose"] *)):before,\n.milkdown-theme-nord.prose\n :where(code):not(:where([class~="not-prose"] *)):after{content:""}.milkdown-theme-nord.prose .tableWrapper{position:relative;margin-bottom:0.25rem;overflow-x:auto}.milkdown-theme-nord.prose table{margin:1rem!important;overflow:visible!important;font-size:0.875rem;line-height:1.25rem;--tw-shadow:0 4px 6px -1px rgb(0 0 0/0.1),0 2px 4px -2px rgb(0 0 0/0.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}@media (min-width: 640px){.milkdown-theme-nord.prose table{border-radius:0.5rem}}.milkdown-theme-nord.prose td,\nth{padding:0.75rem 1.5rem!important}.milkdown-theme-nord.prose tr{border-bottom-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.dark .milkdown-theme-nord.prose tr{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}.milkdown-theme-nord.prose :where(td, th) p{margin:0!important}.milkdown-theme-nord.prose :where(td, th):nth-child(odd){background-color:var(--color-fill-bg-base-1)}.dark .milkdown-theme-nord.prose :where(td, th):nth-child(odd){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.milkdown-theme-nord.prose.ProseMirror .selectedCell:after{background-color:#88c0d04d}.milkdown-theme-nord.prose br[data-is-inline="true"],\n.milkdown-theme-nord.prose br[data-is-inline="true"]:after{content:" "}*,\n::before,\n::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}::before,\n::after{--tw-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline;text-decoration:underline dotted}h1,\nh2,\nh3,\nh4,\nh5,\nh6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,\nstrong{font-weight:bolder}code,\nkbd,\nsamp,\npre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}small{font-size:80%}sub,\nsup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,\ninput,\noptgroup,\nselect,\ntextarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,\nselect{text-transform:none}button,\n[type="button"],\n[type="reset"],\n[type="submit"]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,\n::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,\nul,\nmenu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::placeholder,\ntextarea::placeholder{opacity:1;color:#9ca3af}button,\n[role="button"]{cursor:pointer}:disabled{cursor:default}img,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject{display:block;vertical-align:middle}img,\nvideo{max-width:100%;height:auto}[hidden]{display:none}*,\n::before,\n::after{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.prose{color:var(--color-normal-text)}.prose :where(p):not(:where([class~="not-prose"] *)){margin-top:0.25em;margin-bottom:0.25em}.prose :where([class~="lead"]):not(:where([class~="not-prose"] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~="not-prose"] *)){color:var(--color-info);-webkit-text-decoration:underline;text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~="not-prose"] *)){color:var(--color-strong-text);font-weight:600}.prose :where(a strong):not(:where([class~="not-prose"] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~="not-prose"] *)){color:inherit}.prose :where(thead th strong):not(:where([class~="not-prose"] *)){color:inherit}.prose :where(ol):not(:where([class~="not-prose"] *)){list-style-type:decimal;margin-top:0.25em;margin-bottom:0.25em;padding-left:1.625em}.prose :where(ol[type="A"]):not(:where([class~="not-prose"] *)){list-style-type:upper-alpha}.prose :where(ol[type="a"]):not(:where([class~="not-prose"] *)){list-style-type:lower-alpha}.prose :where(ol[type="A" s]):not(:where([class~="not-prose"] *)){list-style-type:upper-alpha}.prose :where(ol[type="a" s]):not(:where([class~="not-prose"] *)){list-style-type:lower-alpha}.prose :where(ol[type="I"]):not(:where([class~="not-prose"] *)){list-style-type:upper-roman}.prose :where(ol[type="i"]):not(:where([class~="not-prose"] *)){list-style-type:lower-roman}.prose :where(ol[type="I" s]):not(:where([class~="not-prose"] *)){list-style-type:upper-roman}.prose :where(ol[type="i" s]):not(:where([class~="not-prose"] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~="not-prose"] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~="not-prose"] *)){list-style-type:disc;margin-top:0.25em;margin-bottom:0.25em;padding-left:1.625em}.prose :where(ol > li):not(:where([class~="not-prose"] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul > li):not(:where([class~="not-prose"] *))::marker{color:var(--tw-prose-bullets)}.prose :where(hr):not(:where([class~="not-prose"] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~="not-prose"] *)){font-weight:500;font-style:italic;color:var(--color-auxiliary-text);border-left-width:0.25rem;border-left-color:var(--tw-prose-quote-borders);quotes:"\\201C" "\\201D" "\\2018" "\\2019";margin-top:0.75em;margin-bottom:0.75em;padding-left:1em}.prose\n :where(blockquote p:first-of-type):not(\n :where([class~="not-prose"] *)\n )::before{content:open-quote}.prose\n :where(blockquote p:last-of-type):not(:where([class~="not-prose"] *))::after{content:close-quote}.prose :where(h1):not(:where([class~="not-prose"] *)){color:var(--color-strong-text);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:0.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~="not-prose"] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~="not-prose"] *)){color:var(--color-strong-text);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~="not-prose"] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~="not-prose"] *)){color:var(--color-strong-text);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:0.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~="not-prose"] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~="not-prose"] *)){color:var(--color-strong-text);font-weight:600;margin-top:1.5em;margin-bottom:0.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~="not-prose"] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~="not-prose"] *)){margin-top:2em;margin-bottom:2em}.prose :where(figure > *):not(:where([class~="not-prose"] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~="not-prose"] *)){color:var(--tw-prose-captions);font-size:0.875em;line-height:1.4285714;margin-top:0.8571429em}.prose :where(code):not(:where([class~="not-prose"] *)){color:var(--tw-prose-code);font-weight:600;font-size:0.875em}.prose :where(code):not(:where([class~="not-prose"] *))::before{content:"\`"}.prose :where(code):not(:where([class~="not-prose"] *))::after{content:"\`"}.prose :where(a code):not(:where([class~="not-prose"] *)){color:inherit}.prose :where(h1 code):not(:where([class~="not-prose"] *)){color:inherit}.prose :where(h2 code):not(:where([class~="not-prose"] *)){color:inherit;font-size:0.875em}.prose :where(h3 code):not(:where([class~="not-prose"] *)){color:inherit;font-size:0.9em}.prose :where(h4 code):not(:where([class~="not-prose"] *)){color:inherit}.prose :where(blockquote code):not(:where([class~="not-prose"] *)){color:inherit}.prose :where(thead th code):not(:where([class~="not-prose"] *)){color:inherit}.prose :where(pre):not(:where([class~="not-prose"] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:0.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:0.375rem;padding-top:0.8571429em;padding-right:1.1428571em;padding-bottom:0.8571429em;padding-left:1.1428571em}.prose :where(pre code):not(:where([class~="not-prose"] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~="not-prose"] *))::before{content:none}.prose :where(pre code):not(:where([class~="not-prose"] *))::after{content:none}.prose :where(table):not(:where([class~="not-prose"] *)){width:100%;table-layout:auto;text-align:left;margin-top:2em;margin-bottom:2em;font-size:0.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~="not-prose"] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~="not-prose"] *)){color:var(--color-strong-text);font-weight:600;vertical-align:bottom;padding-right:0.5714286em;padding-bottom:0.5714286em;padding-left:0.5714286em}.prose :where(tbody tr):not(:where([class~="not-prose"] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~="not-prose"] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~="not-prose"] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~="not-prose"] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~="not-prose"] *)){vertical-align:top}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:rgb(0 0 0/50%);--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(video):not(:where([class~="not-prose"] *)){margin-top:2em;margin-bottom:2em}.prose :where(figure):not(:where([class~="not-prose"] *)){margin-top:2em;margin-bottom:2em}.prose :where(li):not(:where([class~="not-prose"] *)){margin-top:0.25em;margin-bottom:0.25em}.prose :where(ol > li):not(:where([class~="not-prose"] *)){padding-left:0.375em}.prose :where(ul > li):not(:where([class~="not-prose"] *)){padding-left:0.375em}.prose :where(.prose > ul > li p):not(:where([class~="not-prose"] *)){margin-top:0.75em;margin-bottom:0.75em}.prose\n :where(.prose > ul > li > *:first-child):not(:where([class~="not-prose"] *)){margin-top:0.25em}.prose\n :where(.prose > ul > li > *:last-child):not(:where([class~="not-prose"] *)){margin-bottom:0.25em}.prose\n :where(.prose > ol > li > *:first-child):not(:where([class~="not-prose"] *)){margin-top:0.25em}.prose\n :where(.prose > ol > li > *:last-child):not(:where([class~="not-prose"] *)){margin-bottom:0.25em}.prose :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"] *)){margin-top:0.75em;margin-bottom:0.75em}.prose :where(hr + *):not(:where([class~="not-prose"] *)){margin-top:0}.prose :where(h2 + *):not(:where([class~="not-prose"] *)){margin-top:0}.prose :where(h3 + *):not(:where([class~="not-prose"] *)){margin-top:0}.prose :where(h4 + *):not(:where([class~="not-prose"] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~="not-prose"] *)){padding-left:0}.prose :where(thead th:last-child):not(:where([class~="not-prose"] *)){padding-right:0}.prose :where(tbody td, tfoot td):not(:where([class~="not-prose"] *)){padding-top:0.5714286em;padding-right:0.5714286em;padding-bottom:0.5714286em;padding-left:0.5714286em}.prose\n :where(tbody td:first-child, tfoot td:first-child):not(\n :where([class~="not-prose"] *)\n ){padding-left:0}.prose\n :where(tbody td:last-child, tfoot td:last-child):not(\n :where([class~="not-prose"] *)\n ){padding-right:0}.prose :where(.prose > :first-child):not(:where([class~="not-prose"] *)){margin-top:0}.prose :where(.prose > :last-child):not(:where([class~="not-prose"] *)){margin-bottom:0}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.isolate{isolation:isolate}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.\\!table{display:table!important}.table{display:table}.inline-table{display:inline-table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row-group{display:table-row-group}.table-row{display:table-row}.flow-root{display:flow-root}.grid{display:grid}.inline-grid{display:inline-grid}.contents{display:contents}.list-item{display:list-item}.hidden{display:none}.flex-shrink{flex-shrink:1}.shrink{flex-shrink:1}.flex-grow{flex-grow:1}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.\\!transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.select-all{-webkit-user-select:all;user-select:all}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.break-all{word-break:break-all}.rounded{border-radius:0.25rem}.border{border-width:1px}.text-justify{text-align:justify}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.slashed-zero{--tw-slashed-zero:slashed-zero;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.lining-nums{--tw-numeric-figure:lining-nums;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.oldstyle-nums{--tw-numeric-figure:oldstyle-nums;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.proportional-nums{--tw-numeric-spacing:proportional-nums;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.diagonal-fractions{--tw-numeric-fraction:diagonal-fractions;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.stacked-fractions{--tw-numeric-fraction:stacked-fractions;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.underline{text-decoration-line:underline}.overline{text-decoration-line:overline}.line-through{text-decoration-line:line-through}.shadow{--tw-shadow:0 1px 3px 0 rgb(0 0 0/0.1),0 1px 2px -1px rgb(0 0 0/0.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.sepia{--tw-sepia:sepia(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.ease-in{transition-timing-function:cubic-bezier(0.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(0.4,0,0.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,0.2,1)}.milkdown{border-radius:0.25rem;padding:1rem;height:100%}div[data-milkdown-root="true"]{height:100%}.readonly .milkdown{margin:0;padding:0}.editor{margin-left:auto;margin-right:auto;height:100%}.dark .dark\\:prose-invert{--tw-prose-body:var(--tw-prose-invert-body);--tw-prose-headings:var(--tw-prose-invert-headings);--tw-prose-lead:var(--tw-prose-invert-lead);--tw-prose-links:var(--tw-prose-invert-links);--tw-prose-bold:var(--tw-prose-invert-bold);--tw-prose-counters:var(--tw-prose-invert-counters);--tw-prose-bullets:var(--tw-prose-invert-bullets);--tw-prose-hr:var(--tw-prose-invert-hr);--tw-prose-quotes:var(--tw-prose-invert-quotes);--tw-prose-quote-borders:var(--tw-prose-invert-quote-borders);--tw-prose-captions:var(--tw-prose-invert-captions);--tw-prose-code:var(--tw-prose-invert-code);--tw-prose-pre-code:var(--tw-prose-invert-pre-code);--tw-prose-pre-bg:var(--tw-prose-invert-pre-bg);--tw-prose-th-borders:var(--tw-prose-invert-th-borders);--tw-prose-td-borders:var(--tw-prose-invert-td-borders)}.markdown-container{position:relative;height:100%;padding-top:2.5rem;background-color:var(--antd-input-bg);border:1px solid var(--color-border-divider-line);border-radius:var(--larger-border-radius)}.markdown-container.readonly{padding-top:0}.menu-container-outter{position:absolute;top:0;height:2.5rem;width:100%;border-bottom-width:1px;--tw-border-opacity:1;border-color:var(--color-border-divider-line)}.menu-container-inner{display:flex;margin-left:auto;margin-right:auto}.editor-container{height:100%;overflow:auto;overscroll-behavior:none}.menu-btn-box{display:flex;height:2.5rem;width:2.5rem;cursor:pointer;justify-content:center;align-items:center;border-radius:0.25rem;position:relative;color:var(--color-normal-text)}.menu-btn-box .menuIconTooltip{visibility:hidden;font-size:0.9rem;background-color:#474747;color:rgb(255,255,255);text-align:center;padding:3px 8px;border-radius:6px;position:absolute;z-index:2;top:2.4rem;white-space:nowrap}.menu-btn-box:hover{color:var(--color-info-hover)}.menu-btn-box:hover .menuIconTooltip{visibility:visible}.menu-btn-box:hover::after{position:absolute;bottom:0.15rem;left:1rem;border-width:0.3rem;border-color:transparent transparent #474747 transparent;border-style:solid;width:0px;height:0px;content:""}.tableBarLeft{width:0.5rem;height:100%;left:-0.875rem;top:0}.tableBarTop{right:1px;height:0.5rem;left:0;top:-0.875rem}.tableBarOther{height:0.75rem;width:0.75rem;left:-1rem;top:-1rem;border-radius:9999px}.tableBarCommon{position:absolute;cursor:pointer;background-color:var(--color-border-divider-line)}.tableBarCommon:hover{--tw-bg-opacity:1;background-color:rgb(129 161 193/var(--tw-bg-opacity))}.dragOverTableBar{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.table-tooltip-btn-box{display:inline;align-items:center;justify-content:center;border-radius:0.25rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity));background-color:var(--antd-input-bg);padding-left:1rem;padding-right:1rem;padding-top:0.5rem;padding-bottom:0.5rem;color:var(--color-normal-text);font-size:1rem;line-height:1.5rem;font-weight:500;line-height:1.5rem;--tw-shadow:0 1px 2px 0 rgba(0,0,0,0.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.table-tooltip-btn-box:hover{color:var(--color-info-hover)}.codeBlockContainer{margin-top:1rem;margin-bottom:1rem;border-radius:0.25rem;background-color:var(--color-fill-bg-base-1);padding:1rem 1rem 0.1rem 1rem;--tw-shadow:0 1px 3px 0 rgba(0,0,0,0.1),0 1px 2px -1px rgba(0,0,0,0.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);background-position:right 0.5rem center;background-repeat:no-repeat;background-size:1.5rem 1.5rem}.codeBlockSelect{cursor:pointer;border-radius:0.25rem;border-width:0!important;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));--tw-shadow:0 1px 2px 0 rgba(0,0,0,0.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);padding:0rem 1.75rem 0rem 0.5rem;background-image:url(${d});background-position:right 1rem center;background-repeat:no-repeat;background-size:0.7rem 0.7rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;color:rgb(22,22,22)}.codeBlockCopyBtn{display:inline-flex;align-items:center;justify-content:center;border-radius:0.25rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));padding:0.25rem 0.5rem;font-size:0.9rem;font-weight:500;line-height:1.5rem;color:rgb(22,22,22);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.codeBlockCopyBtn:hover{border-color:rgb(189 190 192/var(--tw-border-opacity));color:var(--color-info-hover)}code[class*="language-"],\npre[class*="language-"]{color:#f8f8f2;background:none;font-family:"Fira Code",Consolas,Monaco,"Andale Mono","Ubuntu Mono",monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;tab-size:4;-webkit-hyphens:none;hyphens:none}pre[class*="language-"]{padding:1em;margin:0.5em 0;overflow:auto;border-radius:0.3em}:not(pre) > code[class*="language-"],\npre[class*="language-"]{background:#2e3440}:not(pre) > code[class*="language-"]{padding:0.1em;border-radius:0.3em;white-space:normal}.token.comment,\n.token.prolog,\n.token.doctype,\n.token.cdata{color:#636f88}.token.punctuation{color:#81a1c1}.namespace{opacity:0.7}.token.property,\n.token.tag,\n.token.constant,\n.token.symbol,\n.token.deleted{color:#81a1c1}.token.number{color:#b48ead}.token.boolean{color:#81a1c1}.token.selector,\n.token.attr-name,\n.token.string,\n.token.char,\n.token.builtin,\n.token.inserted{color:#a3be8c}.token.operator,\n.token.entity,\n.token.url,\n.language-css .token.string,\n.style .token.string,\n.token.variable{color:#81a1c1}.token.atrule,\n.token.attr-value,\n.token.function,\n.token.class-name{color:#88c0d0}.token.keyword{color:#81a1c1}.token.regex,\n.token.important{color:#ebcb8b}.token.important,\n.token.bold{font-weight:bold}.token.italic{font-style:italic}.token.entity{cursor:help}`,""]);const w=p.toString()},97677:(e,t,r)=>{e.exports=r.p+"images/1edfab86.svg"}}]);
2
+ //# sourceMappingURL=7613.b4599370.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunks/7613.b4599370.js","mappings":"+LAIA,MAAMA,EAAQ,CACZ,OACA,aACA,aACA,KACA,SACA,MACA,OACA,MACA,OACA,YAGWC,EAAgBA,KAC3B,MAAM,WAAEC,EAAU,KAAEC,EAAI,SAAEC,IAAaC,EAAAA,EAAAA,MACvC,OACEC,IAAAA,cAAA,OAAKC,UAAU,sBACbD,IAAAA,cAAA,OACEE,gBAAgB,QAChBC,gCAA8B,EAC9BC,MAAO,CACLC,aAAc,SACdC,QAAS,OACTC,eAAgB,kBAGlBP,IAAAA,cAAA,UACEC,UAAU,kBACVO,MAAOX,EAAKY,MAAMC,UAAY,OAC9BC,SAAWC,IACTd,EAAS,CAAEY,SAAUE,EAAEC,OAAOL,OAAQ,GAGvCd,EAAMoB,KAAKC,GACVf,IAAAA,cAAA,UAAQQ,MAAOO,EAAMC,IAAKD,GACvBA,MAKPf,IAAAA,cAAA,UACEC,UAAU,mBACVgB,QAAUL,IACRA,EAAEM,iBACFC,UAAUC,UAAUC,UAAUxB,EAAKyB,YAAY,GAElD,SAIHtB,IAAAA,cAAA,OAAKuB,YAAY,GACfvB,IAAAA,cAAA,QAAMwB,IAAK5B,KAET,C,wNCnBH,MAAM6B,GAAkBC,EAAAA,EAAAA,IAC7B,KACA,gBAGIC,GAAcC,EAAAA,EAAAA,WAAyC,WAEvDC,EAGDC,IAAuB,IAAtB,KAAEC,EAAI,QAAEd,GAASa,EACrB,OACE9B,IAAAA,cAAA,UACEC,UAAU,wBACVgB,QAAUL,IACRK,SAAAA,IACAL,EAAEM,gBAAgB,GAGpBlB,IAAAA,cAAC2B,EAAgBI,GACV,EAIAC,GAAeC,EAAAA,EAAAA,GAAe,SAC9BC,EAAmBA,KAAM,IAAAC,EACpC,MAAMX,GAAMY,EAAAA,EAAAA,QAAuB,OAC7B,KAAEC,IAASC,EAAAA,EAAAA,MACXC,GAAkBH,EAAAA,EAAAA,WACjBI,EAASC,IAAaC,EAAAA,EAAAA,MAEvBC,EACJN,EAAKO,MAAMC,qBAAqBC,EAAAA,IAChCT,EAAKO,MAAMC,UAAUE,iBACjBC,EACJX,EAAKO,MAAMC,qBAAqBC,EAAAA,IAChCT,EAAKO,MAAMC,UAAUI,iBACjBC,EAAeP,GAASK,EACxBG,EACJR,GAEkB,kBAD0D,QAA5ER,EAAAE,EAAKO,MAAMQ,IAAIC,OAAQhB,EAAKO,MAAMC,UAA4BS,UAAUC,YAAI,IAAApB,OAAA,EAA5EA,EACIqB,KAAKC,MAmCX,OAjCAC,EAAAA,EAAAA,YAAU,KACR,GACElC,EAAImC,UACHnB,IACAD,EAAgBoB,SACjBtB,GACAA,EAAKO,MACL,CACA,MAAMgB,EAAW,IAAIC,EAAAA,EAAgB,CACnCC,QAAStC,EAAImC,QACbI,aAAc,CACZC,OAAQ,IAEVC,WAAYA,KACH,IAIXL,EAASM,OAAO7B,GAEhB,MAAM8B,EAAS1B,IAEX0B,GAAUA,EAAOC,KAAOD,EAAOC,IAAIC,WAAW5C,EAAgBT,OAChEmD,EAAOC,IAAIE,IAAI7C,EAAgBT,IAAK4C,GACpCrB,EAAgBoB,QAAUC,EAE9B,CAEA,MAAO,KAAM,IAAAW,EACY,QAAvBA,EAAAhC,EAAgBoB,eAAO,IAAAY,GAAvBA,EAAyBC,SAAS,CACnC,GACA,CAAC/B,EAAWD,EAASH,IAGtBrC,IAAAA,cAAA,OAAKI,MAAO,CAAEqE,WAAY,WACxBzE,IAAAA,cAAA,OAAKwB,IAAKA,EAAKpB,MAAO,CAAEE,QAAS,UAC7B4C,IAAiBC,GAAaR,GAC9B3C,IAAAA,cAAC6B,EAAkB,CACjBE,KAAM,CAAE2C,IAAK,OAAQ3C,KAAM,YAC3Bd,QAASA,KAAM,IAAA0D,EACTnC,IACJC,IAAYmC,QAAQR,IAClBA,EAAIS,IAAIC,EAAAA,IAAaC,KAAKC,EAAAA,GAAoBhE,IAAI,IAE7B,QAAvB2D,EAAApC,EAAgBoB,eAAO,IAAAgB,GAAvBA,EAAyBM,OAAM,KAInC/B,GAAgBF,GAChBhD,IAAAA,cAAC6B,EAAkB,CACjBE,KAAM,CAAE2C,IAAK,OAAQ3C,KAAM,cAC3Bd,QAASA,KAAM,IAAAiE,EACT1C,IACJC,IAAYmC,QAAQR,IAClBA,EAAIS,IAAIC,EAAAA,IAAaC,KAAKI,EAAAA,GAAoBnE,IAAI,IAE7B,QAAvBkE,EAAA3C,EAAgBoB,eAAO,IAAAuB,GAAvBA,EAAyBD,OAAM,KAInC/B,IAAiBC,IACjBnD,IAAAA,cAAC6B,EAAkB,CACjBE,KAAM,CAAE2C,IAAK,OAAQ3C,KAAM,UAC3Bd,QAASA,KAAM,IAAAmE,EACT5C,IACJC,IAAYmC,QAAQR,IAClBA,EAAIS,IAAIC,EAAAA,IAAaC,KAAKM,EAAAA,GAA2BrE,IAAI,IAEpC,QAAvBoE,EAAA7C,EAAgBoB,eAAO,IAAAyB,GAAvBA,EAAyBH,OAAM,KAInC/B,GAAgBP,GAChB3C,IAAAA,cAAC6B,EAAkB,CACjBE,KAAM,CAAE2C,IAAK,OAAQ3C,KAAM,cAC3Bd,QAASA,KAAM,IAAAqE,EACT9C,IACJC,IAAYmC,QAAQR,IAClBA,EAAIS,IAAIC,EAAAA,IAAaC,KAAKQ,EAAAA,GAAmBvE,IAAI,IAE5B,QAAvBsE,EAAA/C,EAAgBoB,eAAO,IAAA2B,GAAvBA,EAAyBL,OAAM,KAInC/B,GAAgBF,GAChBhD,IAAAA,cAAC6B,EAAkB,CACjBE,KAAM,CAAE2C,IAAK,OAAQ3C,KAAM,eAC3Bd,QAASA,KAAM,IAAAuE,EACThD,IACJC,IAAYmC,QAAQR,IAClBA,EAAIS,IAAIC,EAAAA,IAAaC,KAAKU,EAAAA,GAAmBzE,IAAI,IAE5B,QAAvBwE,EAAAjD,EAAgBoB,eAAO,IAAA6B,GAAvBA,EAAyBP,OAAM,KAInC/B,GAAgBF,GAChBhD,IAAAA,cAAC6B,EAAkB,CACjBE,KAAM,CAAE2C,IAAK,OAAQ3C,KAAM,cAC3Bd,QAASA,KACHuB,GACJC,IAAYmC,QAAQR,IAClBA,EAAIS,IAAIC,EAAAA,IAAaC,KAAKW,EAAAA,GAAgB1E,IAAK,OAAO,GACtD,KAINkC,GAAgBF,GAChBhD,IAAAA,cAAC6B,EAAkB,CACjBE,KAAM,CAAE2C,IAAK,OAAQ3C,KAAM,gBAC3Bd,QAASA,KACHuB,GACJC,IAAYmC,QAAQR,IAClBA,EAAIS,IAAIC,EAAAA,IAAaC,KAAKW,EAAAA,GAAgB1E,IAAK,SAAS,GACxD,KAINkC,GAAgBF,GAChBhD,IAAAA,cAAC6B,EAAkB,CACjBE,KAAM,CAAE2C,IAAK,OAAQ3C,KAAM,eAC3Bd,QAASA,KACHuB,GACJC,IAAYmC,QAAQR,IAClBA,EAAIS,IAAIC,EAAAA,IAAaC,KAAKW,EAAAA,GAAgB1E,IAAK,QAAQ,GACvD,KAKN,EAIJ2E,EAA0BA,KAAM,IAAAC,EACpC,MAAM,KAAEC,IAASC,EAAAA,EAAAA,MACXtC,EAAOqC,aAAI,EAAJA,EAAMrC,KACbuC,EAAmB,QAAdH,EAAGC,aAAI,EAAJA,EAAME,aAAK,IAAAH,EAAAA,EAAI,GACtBpD,EAASC,IAAaC,EAAAA,EAAAA,MACvBlB,GAAMY,EAAAA,EAAAA,QAAuB,OAE5B4D,EAAUC,IAAeC,EAAAA,EAAAA,WAAS,GAEzC,OACElG,IAAAA,cAAA,OACEwB,IAAKA,EACL2E,UAAoB,aAAT3C,EACXvD,UAAWmG,IAAW,iBAAkB,CACtCC,aAAuB,SAAT7C,EACd8C,YAAsB,QAAT9C,EACb+C,cAAwB,QAAT/C,GAA2B,SAATA,EACjCgD,iBAAkBR,IAEpB/E,QAAUL,IACRA,EAAE6F,kBACF,MAAMC,EAAMlF,EAAImC,SACZnB,GAAYkE,GAChBjE,IAAYmC,QAAQR,IAAQ,IAAAuC,EAC1B,MAAMC,EAAUxC,EAAIS,IAAIpD,EAAgBT,KACxC4F,SAAsB,QAAfD,EAAPC,EAASC,qBAAa,IAAAF,GAAtBA,EAAwBG,SAAS,CAC/BC,uBAAwBA,IACfL,EAAIM,0BAGfJ,SAAAA,EAASK,OAET,MAAMC,EAAW9C,EAAIS,IAAIC,EAAAA,IAEZ,SAATtB,EAAiB0D,EAASnC,KAAKoC,EAAAA,GAAiBnG,IAAK+E,GACvC,QAATvC,EAAgB0D,EAASnC,KAAKqC,EAAAA,GAAiBpG,IAAK+E,GACxDmB,EAASnC,KAAKsC,EAAAA,GAAmBrG,IAAI,GAC1C,EAEJsG,YAAc1G,IACZA,EAAE6F,kBAEF,MAAMc,EAAO,CAAExB,MAAOF,aAAI,EAAJA,EAAME,MAAOvC,KAAMqC,aAAI,EAAJA,EAAMrC,MAC/C5C,EAAE4G,aAAaC,QACb,kCACAC,KAAKC,UAAUJ,IAEjB3G,EAAE4G,aAAaI,cAAgB,MAAM,EAEvCC,WAAajH,IACXqF,GAAY,GACZrF,EAAE6F,kBACF7F,EAAEM,iBACFN,EAAE4G,aAAaM,WAAa,MAAM,EAEpCC,YAAaA,KACX9B,GAAY,EAAM,EAEpB+B,OAASpH,IAEP,GADAqF,GAAY,GACC,aAATzC,EAAqB,OACzB,MAAMyE,EAAIpC,aAAI,EAAJA,EAAME,MAChB,GAAIvD,GAAgB,MAALyF,EAAW,OAC1B,MAAMV,EAAO3G,EAAE4G,aAAaU,QAAQ,mCACpC,IACE,MAAM,MAAEnC,EAAK,KAAEvC,GAASkE,KAAKS,MAAMZ,GAEnC9E,IAAYmC,QAAQR,IAClB,MAAM8C,EAAW9C,EAAIS,IAAIC,EAAAA,IACnBsD,EAAU,CACdC,KAAMC,OAAOvC,GACbwC,GAAIN,GAGNf,EAASnC,KACE,SAATvB,EAAkBgF,EAAAA,GAAexH,IAAMyH,EAAAA,GAAezH,IACtDoH,EACD,GAEL,CAAE,MACA,IAGJ,EAIOM,EACXC,IAEAC,EAAAA,EAAAA,KAAO,KACL,MAAM5H,EAAM,IAAI6H,EAAAA,GAAU,2BAC1B,OAAO,IAAIC,EAAAA,GAAO,CAChB9H,MACA4B,MAAO,CACLmG,KAAIA,KACK,CACLC,YAAaC,EAAAA,GAAcC,MAC3B3F,IAAK,IAGT4F,KAAAA,CACEC,EACA5I,EACA6I,EACAC,GAEA,MAAMC,GAAYC,EAAAA,EAAAA,IAAc,EAAGJ,EAAGvG,WACtC,IAAK0G,EAAW,MAAO,CAAEP,YAAaC,EAAAA,GAAcC,MAAO3F,IAAK,GAChE,MAAMkG,GAAWC,EAAAA,EAAAA,IAAc,EAAGN,EAAGvG,WACrC,IAAK4G,EAAU,MAAO,CAAET,YAAaC,EAAAA,GAAcC,MAAO3F,IAAK,GAE/D,MAAMoG,EAAehB,EAAkB,CACrCiB,GAAI,MACJC,UAAWlE,KAGNmE,GAAWP,EAClB,IAAKO,EAAS,MAAO,CAAEd,YAAaC,EAAAA,GAAcC,MAAO3F,IAAK,GAE9D,MAAMyF,EAA4B,GAalC,OAZAA,EAAYe,KAAKJ,EAAaG,EAAQvG,IAAM,EAAG,CAAEC,KAAM,cACvD+F,EAAUS,SAAQ,CAACC,EAAMlE,KACvBiD,EAAYe,KACVJ,EAAaM,EAAK1G,IAAM,EAAG,CAAEC,KAAM,OAAQuC,UAC5C,IAEH0D,EAASO,SAAQ,CAACC,EAAMlE,KACtBiD,EAAYe,KACVJ,EAAaM,EAAK1G,IAAM,EAAG,CAAEC,KAAM,MAAOuC,UAC3C,IAGCvF,EAAM+C,MAAQuG,EAAQvG,KAAO8F,EAASjG,IAAI8G,GAAGZ,EAASlG,KACjD5C,EAEF,CACLwI,YAAaC,EAAAA,GAAckB,OAAOf,EAAGhG,IAAK4F,GAC1CzF,IAAKuG,EAAQvG,IAEjB,GAEF6G,MAAO,CACLpB,YAAYpG,GACH5B,EAAIqJ,SAASzH,GAAOoG,cAG/B,G,iICrWN,MAAM,OAAEsB,EAAM,SAAEC,IAAaC,EAAAA,EAAAA,oBAAmB,IAAAC,EAAA,IAAAC,QAAAC,EAAA,IAAAD,QAAAE,EAAA,IAAAF,QAAAG,EAAA,IAAAH,QAAAI,EAAA,IAAAJ,QAAAK,EAAA,IAAAL,QAAAM,EAAA,IAAAN,QAEzC,MAAeO,UAA4BC,EAAAA,iBAAiBC,WAAAA,GAAA,SAAAC,YAAAC,EAAAA,EAAAA,GAAA,KAAAZ,GAAAa,EAAA,OACnC,KAAKD,EAAAA,EAAAA,GAAA,KAAAV,EACP,WAAQU,EAAAA,EAAAA,GAAA,KAAAT,GACJ,IAAKS,EAAAA,EAAAA,GAAA,KAAAR,EAAAU,EAAA,QAAAF,EAAAA,EAAAA,GAAA,KAAAP,GAAAU,EAAA,MAAAC,EAAA,SAAAJ,EAAAA,EAAAA,GAAA,KAAAN,GAAAW,EAAA,MAAAC,EAAA,SAAAN,EAAAA,EAAAA,GAAA,KAAAL,GAAAY,EAAA,MAAAC,EAAA,QAAAC,EAAA,oBAFpBC,GAAU,OAAAC,EAAAA,EAAAA,GAAAvB,EAAA,oBAAVsB,CAAUE,IAAAC,EAAAA,EAAAA,GAAAzB,EAAA,KAAAwB,EAAA,aACVE,GAAQ,OAAAH,EAAAA,EAAAA,GAAArB,EAAA,kBAARwB,CAAQF,IAAAC,EAAAA,EAAAA,GAAAvB,EAAA,KAAAsB,EAAA,iBACRG,GAAY,OAAAJ,EAAAA,EAAAA,GAAApB,EAAA,sBAAZwB,CAAYH,IAAAC,EAAAA,EAAAA,GAAAtB,EAAA,KAAAqB,EAAA,CAE7B,qBAAII,GACF,OAAO,CACT,CAEA,iBAAIC,CAAc9L,GAChB+L,KAAKJ,SAAW3L,EAChB+L,KAAKC,SACP,CACA,iBAAIF,GACF,OAAOC,KAAKJ,QACd,CAOA,aAAIM,CAAUjM,GACZ+L,KAAKG,OAASlM,EACd+L,KAAKR,WAAavL,EAClB+L,KAAKC,SACP,CACA,aAAIC,GACF,OAAOF,KAAKR,UACd,CAEA,iBAAIY,GACF,OAAOJ,KAAKH,YACd,CACA,iBAAIO,CAAcnM,GAChB+L,KAAKH,aAAe5L,EACpB+L,KAAKC,SACP,CAAC,aAKQI,GAAS,OAAAZ,EAAAA,EAAAA,GAAAnB,EAAA,mBAAT+B,CAASX,IAAAC,EAAAA,EAAAA,GAAArB,EAAA,KAAAoB,EAAA,eAOTY,GAAU,OAAAb,EAAAA,EAAAA,GAAAlB,EAAA,oBAAV+B,CAAUZ,IAAAC,EAAAA,EAAAA,GAAApB,EAAA,KAAAmB,EAAA,aAOVa,GAAQ,OAAAd,EAAAA,EAAAA,GAAAjB,EAAA,kBAAR+B,CAAQb,IAAAC,EAAAA,EAAAA,GAAAnB,EAAA,KAAAkB,EAAA,eAKRc,GAAU,OAAAf,EAAAA,EAAAA,GAAAhB,EAAA,oBAAV+B,CAAUd,IAAAC,EAAAA,EAAAA,GAAAlB,EAAA,KAAAiB,EAAA,CAGnBe,YAAAA,CAAaxM,GACX+L,KAAKE,UAAYjM,CACnB,CAGAyM,cAAAA,GAEE,IAAIC,EAA+BX,KACnC,MAAQW,EAAUA,EAAQC,aACnBD,IAAWA,EAAQE,gBAI1B,OAAOF,CACT,EACDG,EA/EqBpC,GAAmBM,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAR,IAAAgC,EAAAA,EAAAA,GAAAD,EAAA,KAuCtC9C,EAAS,CACRgD,WAAW,IACX,gBAKDhD,EAAS,CACRgD,WAAW,IACX,iBAKDhD,EAAS,CACRgD,WAAW,IACX,eAGDhD,EAAS,CACRgD,WAAW,IACX,iBAGDjD,IAAQ,mBAKRA,IAAQ,8BApEuCY,EAAAA,kBAAgBtK,C,kDCHlE,MAAM4M,EAAuB,CAC3B,cACA,aACA,OACA,QACA,UACA,WACA,UACA,OACA,MACA,MACA,WACA,aACA,UACA,SACA,OACA,UACA,iBACA,YACA,YACA,aACA,eACA,aAGK,SAASC,EACdrD,GAEA,OAAOsD,EAAAA,EAAAA,MAAKtD,EAAOoD,EACrB,C,mGC7BIG,EAAgC,IAAIC,IAAI,cACxCC,EAA0B,IAA4B,KACtDC,EAAqC,IAAgCH,GAEzEE,EAAwB9D,KAAK,CAACgE,EAAOC,GAAI,oi8BA2Eo5XF,klEAwBn2X,KAE1F,QAAeD,EAAwBI,U","sources":["webpack:///./src/markdown-editor/components/CodeBlock.tsx","webpack:///./src/markdown-editor/components/TableWidget.tsx","webpack:///../../src/FormItemElement.tsx","webpack:///../../src/pickFormItemProps.ts","webpack:///./src/markdown-editor/markdown-editor.shadow.css"],"sourcesContent":["import { useNodeViewContext } from \"@prosemirror-adapter/react\";\nimport type { FC } from \"react\";\nimport React from \"react\";\n\nconst langs = [\n \"text\",\n \"typescript\",\n \"javascript\",\n \"go\",\n \"python\",\n \"php\",\n \"html\",\n \"css\",\n \"json\",\n \"markdown\",\n];\n\nexport const CodeBlock: FC = () => {\n const { contentRef, node, setAttrs } = useNodeViewContext();\n return (\n <div className=\"codeBlockContainer\">\n <div\n contentEditable=\"false\"\n suppressContentEditableWarning\n style={{\n marginBottom: \"0.5rem\",\n display: \"flex\",\n justifyContent: \"space-between\",\n }}\n >\n <select\n className=\"codeBlockSelect\"\n value={node.attrs.language || \"text\"}\n onChange={(e) => {\n setAttrs({ language: e.target.value });\n }}\n >\n {langs.map((lang) => (\n <option value={lang} key={lang}>\n {lang}\n </option>\n ))}\n </select>\n\n <button\n className=\"codeBlockCopyBtn\"\n onClick={(e) => {\n e.preventDefault();\n navigator.clipboard.writeText(node.textContent);\n }}\n >\n Copy\n </button>\n </div>\n <pre spellCheck={false}>\n <code ref={contentRef} />\n </pre>\n </div>\n );\n};\n","import { commandsCtx } from \"@milkdown/core\";\nimport { TooltipProvider, tooltipFactory } from \"@milkdown/plugin-tooltip\";\nimport {\n addColAfterCommand,\n addColBeforeCommand,\n addRowAfterCommand,\n addRowBeforeCommand,\n deleteSelectedCellsCommand,\n getCellsInCol,\n getCellsInRow,\n moveColCommand,\n moveRowCommand,\n selectColCommand,\n selectRowCommand,\n selectTableCommand,\n setAlignCommand,\n} from \"@milkdown/preset-gfm\";\nimport { Plugin, PluginKey } from \"@milkdown/prose/state\";\nimport { CellSelection } from \"@milkdown/prose/tables\";\nimport type { Decoration } from \"@milkdown/prose/view\";\nimport { DecorationSet } from \"@milkdown/prose/view\";\nimport { useInstance } from \"@milkdown/react\";\nimport { $ctx, $prose } from \"@milkdown/utils\";\nimport type { useWidgetViewFactory } from \"@prosemirror-adapter/react\";\nimport {\n usePluginViewContext,\n useWidgetViewContext,\n} from \"@prosemirror-adapter/react\";\nimport type { FC } from \"react\";\nimport React from \"react\";\nimport { useEffect, useRef, useState } from \"react\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport classNames from \"classnames\";\n\nexport const tableTooltipCtx = $ctx<TooltipProvider | null, \"tableTooltip\">(\n null,\n \"tableTooltip\"\n);\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\nconst TableTooltipButton: FC<{\n icon: GeneralIconProps;\n onClick?: () => void;\n}> = ({ icon, onClick }) => {\n return (\n <button\n className=\"table-tooltip-btn-box\"\n onClick={(e) => {\n onClick?.();\n e.preventDefault();\n }}\n >\n <WrappedIcon {...icon} />\n </button>\n );\n};\n\nexport const tableTooltip = tooltipFactory(\"TABLE\");\nexport const TableTooltip: FC = () => {\n const ref = useRef<HTMLDivElement>(null);\n const { view } = usePluginViewContext();\n const tooltipProvider = useRef<TooltipProvider>();\n const [loading, getEditor] = useInstance();\n\n const isRow =\n view.state.selection instanceof CellSelection &&\n view.state.selection.isRowSelection();\n const isCol =\n view.state.selection instanceof CellSelection &&\n view.state.selection.isColSelection();\n const isWholeTable = isRow && isCol;\n const isHeading =\n isRow &&\n view.state.doc.nodeAt((view.state.selection as CellSelection).$headCell.pos)\n ?.type.name === \"table_header\";\n\n useEffect(() => {\n if (\n ref.current &&\n !loading &&\n !tooltipProvider.current &&\n view &&\n view.state\n ) {\n const provider = new TooltipProvider({\n content: ref.current,\n tippyOptions: {\n zIndex: 30,\n },\n shouldShow: () => {\n return false;\n },\n });\n\n provider.update(view);\n\n const editor = getEditor();\n\n if (editor && editor.ctx && editor.ctx.isInjected(tableTooltipCtx.key)) {\n editor.ctx.set(tableTooltipCtx.key, provider);\n tooltipProvider.current = provider;\n }\n }\n\n return () => {\n tooltipProvider.current?.destroy();\n };\n }, [getEditor, loading, view]);\n\n return (\n <div style={{ visibility: \"hidden\" }}>\n <div ref={ref} style={{ display: \"flex\" }}>\n {!isWholeTable && !isHeading && isRow && (\n <TableTooltipButton\n icon={{ lib: \"antd\", icon: \"arrow-up\" }}\n onClick={() => {\n if (loading) return;\n getEditor().action((ctx) => {\n ctx.get(commandsCtx).call(addRowBeforeCommand.key);\n });\n tooltipProvider.current?.hide();\n }}\n />\n )}\n {!isWholeTable && isCol && (\n <TableTooltipButton\n icon={{ lib: \"antd\", icon: \"arrow-left\" }}\n onClick={() => {\n if (loading) return;\n getEditor().action((ctx) => {\n ctx.get(commandsCtx).call(addColBeforeCommand.key);\n });\n tooltipProvider.current?.hide();\n }}\n />\n )}\n {(isWholeTable || !isHeading) && (\n <TableTooltipButton\n icon={{ lib: \"antd\", icon: \"delete\" }}\n onClick={() => {\n if (loading) return;\n getEditor().action((ctx) => {\n ctx.get(commandsCtx).call(deleteSelectedCellsCommand.key);\n });\n tooltipProvider.current?.hide();\n }}\n />\n )}\n {!isWholeTable && isRow && (\n <TableTooltipButton\n icon={{ lib: \"antd\", icon: \"arrow-down\" }}\n onClick={() => {\n if (loading) return;\n getEditor().action((ctx) => {\n ctx.get(commandsCtx).call(addRowAfterCommand.key);\n });\n tooltipProvider.current?.hide();\n }}\n />\n )}\n {!isWholeTable && isCol && (\n <TableTooltipButton\n icon={{ lib: \"antd\", icon: \"arrow-right\" }}\n onClick={() => {\n if (loading) return;\n getEditor().action((ctx) => {\n ctx.get(commandsCtx).call(addColAfterCommand.key);\n });\n tooltipProvider.current?.hide();\n }}\n />\n )}\n {!isWholeTable && isCol && (\n <TableTooltipButton\n icon={{ lib: \"antd\", icon: \"align-left\" }}\n onClick={() => {\n if (loading) return;\n getEditor().action((ctx) => {\n ctx.get(commandsCtx).call(setAlignCommand.key, \"left\");\n });\n }}\n />\n )}\n {!isWholeTable && isCol && (\n <TableTooltipButton\n icon={{ lib: \"antd\", icon: \"align-center\" }}\n onClick={() => {\n if (loading) return;\n getEditor().action((ctx) => {\n ctx.get(commandsCtx).call(setAlignCommand.key, \"center\");\n });\n }}\n />\n )}\n {!isWholeTable && isCol && (\n <TableTooltipButton\n icon={{ lib: \"antd\", icon: \"align-right\" }}\n onClick={() => {\n if (loading) return;\n getEditor().action((ctx) => {\n ctx.get(commandsCtx).call(setAlignCommand.key, \"right\");\n });\n }}\n />\n )}\n </div>\n </div>\n );\n};\n\nconst TableSelectorWidget: FC = () => {\n const { spec } = useWidgetViewContext();\n const type = spec?.type;\n const index = spec?.index ?? 0;\n const [loading, getEditor] = useInstance();\n const ref = useRef<HTMLDivElement>(null);\n\n const [dragOver, setDragOver] = useState(false);\n\n return (\n <div\n ref={ref}\n draggable={type !== \"top-left\"}\n className={classNames(\"tableBarCommon\", {\n tableBarLeft: type === \"left\",\n tableBarTop: type === \"top\",\n tableBarOther: type !== \"top\" && type !== \"left\",\n dragOverTableBar: dragOver,\n })}\n onClick={(e) => {\n e.stopPropagation();\n const div = ref.current;\n if (loading || !div) return;\n getEditor().action((ctx) => {\n const tooltip = ctx.get(tableTooltipCtx.key);\n tooltip?.getInstance()?.setProps({\n getReferenceClientRect: () => {\n return div.getBoundingClientRect();\n },\n });\n tooltip?.show();\n\n const commands = ctx.get(commandsCtx);\n\n if (type === \"left\") commands.call(selectRowCommand.key, index);\n else if (type === \"top\") commands.call(selectColCommand.key, index);\n else commands.call(selectTableCommand.key);\n });\n }}\n onDragStart={(e) => {\n e.stopPropagation();\n\n const data = { index: spec?.index, type: spec?.type };\n e.dataTransfer.setData(\n \"application/milkdown-table-sort\",\n JSON.stringify(data)\n );\n e.dataTransfer.effectAllowed = \"move\";\n }}\n onDragOver={(e) => {\n setDragOver(true);\n e.stopPropagation();\n e.preventDefault();\n e.dataTransfer.dropEffect = \"move\";\n }}\n onDragLeave={() => {\n setDragOver(false);\n }}\n onDrop={(e) => {\n setDragOver(false);\n if (type === \"top-left\") return;\n const i = spec?.index;\n if (loading || i == null) return;\n const data = e.dataTransfer.getData(\"application/milkdown-table-sort\");\n try {\n const { index, type } = JSON.parse(data);\n\n getEditor().action((ctx) => {\n const commands = ctx.get(commandsCtx);\n const options = {\n from: Number(index),\n to: i,\n };\n\n commands.call(\n type === \"left\" ? moveRowCommand.key : moveColCommand.key,\n options\n );\n });\n } catch {\n // ignore data from other source\n }\n }}\n />\n );\n};\n\nexport const tableSelectorPlugin = (\n widgetViewFactory: ReturnType<typeof useWidgetViewFactory>\n) =>\n $prose(() => {\n const key = new PluginKey(\"MILKDOWN_TABLE_SELECTOR\");\n return new Plugin({\n key,\n state: {\n init() {\n return {\n decorations: DecorationSet.empty,\n pos: 0,\n };\n },\n apply(\n tr,\n value: { decorations: DecorationSet; pos: number },\n oldState,\n newState\n ) {\n const leftCells = getCellsInCol(0, tr.selection);\n if (!leftCells) return { decorations: DecorationSet.empty, pos: 0 };\n const topCells = getCellsInRow(0, tr.selection);\n if (!topCells) return { decorations: DecorationSet.empty, pos: 0 };\n\n const createWidget = widgetViewFactory({\n as: \"div\",\n component: TableSelectorWidget,\n });\n\n const [topLeft] = leftCells;\n if (!topLeft) return { decorations: DecorationSet.empty, pos: 0 };\n\n const decorations: Decoration[] = [];\n decorations.push(createWidget(topLeft.pos + 1, { type: \"top-left\" }));\n leftCells.forEach((cell, index) => {\n decorations.push(\n createWidget(cell.pos + 1, { type: \"left\", index })\n );\n });\n topCells.forEach((cell, index) => {\n decorations.push(\n createWidget(cell.pos + 1, { type: \"top\", index })\n );\n });\n\n if (value.pos === topLeft.pos && oldState.doc.eq(newState.doc))\n return value;\n\n return {\n decorations: DecorationSet.create(tr.doc, decorations),\n pos: topLeft.pos,\n };\n },\n },\n props: {\n decorations(state) {\n return key.getState(state).decorations;\n },\n },\n });\n });\n","import { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport type { AbstractForm, ColProps } from \"./Form.js\";\nimport { UseSingleBrickConf } from \"@next-core/types\";\n\nconst { method, property } = createDecorators();\n\nexport abstract class FormItemElementBase extends ReactNextElement {\n private accessor _notRender = false;\n private accessor validate = \"normal\";\n private accessor bindFormItem = false;\n\n get isFormItemElement(): true {\n return true;\n }\n\n set validateState(value: string) {\n this.validate = value;\n this._render();\n }\n get validateState() {\n return this.validate;\n }\n\n /**\n * 控制该表单项是否隐藏\n * @default false\n * @group ui\n */\n set notRender(value: boolean) {\n this.hidden = value;\n this._notRender = value;\n this._render();\n }\n get notRender(): boolean {\n return this._notRender;\n }\n\n get $bindFormItem() {\n return this.bindFormItem;\n }\n set $bindFormItem(value: boolean) {\n this.bindFormItem = value;\n this._render();\n }\n\n @property({\n attribute: false,\n })\n accessor helpBrick:\n | { useBrick: UseSingleBrickConf | UseSingleBrickConf[] }\n | undefined;\n\n @property({\n attribute: false,\n })\n accessor labelBrick:\n | { useBrick: UseSingleBrickConf | UseSingleBrickConf[] }\n | undefined;\n\n @property({\n attribute: false,\n })\n accessor labelCol: ColProps | undefined;\n\n @property({\n attribute: false,\n })\n accessor wrapperCol: ColProps | undefined;\n\n @method()\n setNotRender(value: boolean) {\n this.notRender = value;\n }\n\n @method()\n getFormElement(): AbstractForm | null {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n let element: AbstractForm | null = this as unknown as AbstractForm;\n while ((element = element.parentNode as AbstractForm | null)) {\n if (!element || element.isFormElement) {\n break;\n }\n }\n return element as AbstractForm | null;\n }\n}\n","// istanbul ignore file\nimport { pick } from \"lodash\";\nimport type { FormItemProps } from \"./interfaces\";\n\nconst FORM_ITEM_PROP_NAMES = [\n \"formElement\",\n \"curElement\",\n \"name\",\n \"label\",\n \"current\",\n \"required\",\n \"pattern\",\n \"type\",\n \"min\",\n \"max\",\n \"labelCol\",\n \"wrapperCol\",\n \"message\",\n \"layout\",\n \"size\",\n \"trigger\",\n \"valuePropsName\",\n \"notRender\",\n \"helpBrick\",\n \"labelBrick\",\n \"needValidate\",\n \"validator\",\n] as const;\n\nexport function pickFormItemProps<T extends FormItemProps>(\n props: T\n): FormItemProps {\n return pick(props, FORM_ITEM_PROP_NAMES);\n}\n\n/* ====== Type checks ====== */\ntype Equal<X, Y> =\n (<T>() => T extends X ? 1 : 2) extends <T>() => T extends Y ? 1 : 2\n ? true\n : false;\ntype Expect<T extends true> = T;\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\ntype cases = [\n Expect<Equal<keyof FormItemProps, (typeof FORM_ITEM_PROP_NAMES)[number]>>,\n];\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\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../images/down-arrow.svg\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ProseMirror{position:relative;word-wrap:break-word;white-space:pre-wrap;white-space:break-spaces;font-variant-ligatures:none;font-feature-settings:\"liga\" 0,none}.ProseMirror pre{white-space:pre-wrap}.ProseMirror li{position:relative}.ProseMirror-hideselection *::selection{background:transparent}.ProseMirror-hideselection *::-moz-selection{background:transparent}.ProseMirror-hideselection{caret-color:transparent}.ProseMirror-selectednode{outline:2px solid #8cf}li.ProseMirror-selectednode{outline:none}li.ProseMirror-selectednode:after{content:\"\";position:absolute;left:-32px;right:-2px;top:-2px;bottom:-2px;border:2px solid #8cf;pointer-events:none}img.ProseMirror-separator{display:inline!important;border:none!important;margin:0!important}.ProseMirror .tableWrapper{overflow-x:auto}.ProseMirror table{border-collapse:collapse;table-layout:fixed;max-width:80%;overflow:hidden}.ProseMirror td,\n.ProseMirror th{vertical-align:top;box-sizing:border-box;position:relative}.ProseMirror .column-resize-handle{position:absolute;right:-2px;top:0;bottom:0;width:4px;z-index:20;background-color:#adf;pointer-events:none}.ProseMirror.resize-cursor{cursor:ew-resize;cursor:col-resize}.ProseMirror .selectedCell:after{z-index:2;position:absolute;content:\"\";left:0;right:0;top:0;bottom:0;background:rgba(200,200,255,0.4);pointer-events:none}.milkdown-theme-nord blockquote{border-left-width:4px;--tw-border-opacity:1;border-color:rgb(94 129 172/var(--tw-border-opacity));padding-left:1rem;font-family:ui-serif,Georgia,Cambria,Times New Roman,Times,serif;font-style:normal}.milkdown-theme-nord code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-weight:400;--tw-text-opacity:1;color:rgb(94 129 172/var(--tw-text-opacity))}.milkdown-theme-nord pre code{color:inherit}.milkdown-theme-nord img{margin-top:0!important;margin-bottom:0!important;display:inline-block;max-width:960px}.milkdown-theme-nord.prose\n :where(blockquote):not(:where([class~=\"not-prose\"] *)){font-weight:400}.milkdown-theme-nord.prose\n :where(ol > li):not(:where([class~=\"not-prose\"] *))::marker,\n.milkdown-theme-nord.prose\n :where(ul > li):not(:where([class~=\"not-prose\"] *))::marker{--tw-text-opacity:1;color:rgb(94 129 172/var(--tw-text-opacity))}.milkdown-theme-nord.prose\n :where(blockquote p:first-of-type):not(:where([class~=\"not-prose\"] *)):before,\n.milkdown-theme-nord.prose\n :where(blockquote p:first-of-type):not(:where([class~=\"not-prose\"] *)):after{content:\"\"}.milkdown-theme-nord.prose\n :where(code):not(:where([class~=\"not-prose\"] *)):before,\n.milkdown-theme-nord.prose\n :where(code):not(:where([class~=\"not-prose\"] *)):after{content:\"\"}.milkdown-theme-nord.prose .tableWrapper{position:relative;margin-bottom:0.25rem;overflow-x:auto}.milkdown-theme-nord.prose table{margin:1rem!important;overflow:visible!important;font-size:0.875rem;line-height:1.25rem;--tw-shadow:0 4px 6px -1px rgb(0 0 0/0.1),0 2px 4px -2px rgb(0 0 0/0.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}@media (min-width: 640px){.milkdown-theme-nord.prose table{border-radius:0.5rem}}.milkdown-theme-nord.prose td,\nth{padding:0.75rem 1.5rem!important}.milkdown-theme-nord.prose tr{border-bottom-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.dark .milkdown-theme-nord.prose tr{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}.milkdown-theme-nord.prose :where(td, th) p{margin:0!important}.milkdown-theme-nord.prose :where(td, th):nth-child(odd){background-color:var(--color-fill-bg-base-1)}.dark .milkdown-theme-nord.prose :where(td, th):nth-child(odd){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.milkdown-theme-nord.prose.ProseMirror .selectedCell:after{background-color:#88c0d04d}.milkdown-theme-nord.prose br[data-is-inline=\"true\"],\n.milkdown-theme-nord.prose br[data-is-inline=\"true\"]:after{content:\" \"}*,\n::before,\n::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}::before,\n::after{--tw-content:\"\"}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,\"Noto Sans\",sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\";font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline;text-decoration:underline dotted}h1,\nh2,\nh3,\nh4,\nh5,\nh6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,\nstrong{font-weight:bolder}code,\nkbd,\nsamp,\npre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace;font-size:1em}small{font-size:80%}sub,\nsup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,\ninput,\noptgroup,\nselect,\ntextarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,\nselect{text-transform:none}button,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,\n::-webkit-outer-spin-button{height:auto}[type=\"search\"]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,\nul,\nmenu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::placeholder,\ntextarea::placeholder{opacity:1;color:#9ca3af}button,\n[role=\"button\"]{cursor:pointer}:disabled{cursor:default}img,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject{display:block;vertical-align:middle}img,\nvideo{max-width:100%;height:auto}[hidden]{display:none}*,\n::before,\n::after{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.prose{color:var(--color-normal-text)}.prose :where(p):not(:where([class~=\"not-prose\"] *)){margin-top:0.25em;margin-bottom:0.25em}.prose :where([class~=\"lead\"]):not(:where([class~=\"not-prose\"] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=\"not-prose\"] *)){color:var(--color-info);-webkit-text-decoration:underline;text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=\"not-prose\"] *)){color:var(--color-strong-text);font-weight:600}.prose :where(a strong):not(:where([class~=\"not-prose\"] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=\"not-prose\"] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=\"not-prose\"] *)){color:inherit}.prose :where(ol):not(:where([class~=\"not-prose\"] *)){list-style-type:decimal;margin-top:0.25em;margin-bottom:0.25em;padding-left:1.625em}.prose :where(ol[type=\"A\"]):not(:where([class~=\"not-prose\"] *)){list-style-type:upper-alpha}.prose :where(ol[type=\"a\"]):not(:where([class~=\"not-prose\"] *)){list-style-type:lower-alpha}.prose :where(ol[type=\"A\" s]):not(:where([class~=\"not-prose\"] *)){list-style-type:upper-alpha}.prose :where(ol[type=\"a\" s]):not(:where([class~=\"not-prose\"] *)){list-style-type:lower-alpha}.prose :where(ol[type=\"I\"]):not(:where([class~=\"not-prose\"] *)){list-style-type:upper-roman}.prose :where(ol[type=\"i\"]):not(:where([class~=\"not-prose\"] *)){list-style-type:lower-roman}.prose :where(ol[type=\"I\" s]):not(:where([class~=\"not-prose\"] *)){list-style-type:upper-roman}.prose :where(ol[type=\"i\" s]):not(:where([class~=\"not-prose\"] *)){list-style-type:lower-roman}.prose :where(ol[type=\"1\"]):not(:where([class~=\"not-prose\"] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=\"not-prose\"] *)){list-style-type:disc;margin-top:0.25em;margin-bottom:0.25em;padding-left:1.625em}.prose :where(ol > li):not(:where([class~=\"not-prose\"] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul > li):not(:where([class~=\"not-prose\"] *))::marker{color:var(--tw-prose-bullets)}.prose :where(hr):not(:where([class~=\"not-prose\"] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=\"not-prose\"] *)){font-weight:500;font-style:italic;color:var(--color-auxiliary-text);border-left-width:0.25rem;border-left-color:var(--tw-prose-quote-borders);quotes:\"\\\\201C\" \"\\\\201D\" \"\\\\2018\" \"\\\\2019\";margin-top:0.75em;margin-bottom:0.75em;padding-left:1em}.prose\n :where(blockquote p:first-of-type):not(\n :where([class~=\"not-prose\"] *)\n )::before{content:open-quote}.prose\n :where(blockquote p:last-of-type):not(:where([class~=\"not-prose\"] *))::after{content:close-quote}.prose :where(h1):not(:where([class~=\"not-prose\"] *)){color:var(--color-strong-text);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:0.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=\"not-prose\"] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=\"not-prose\"] *)){color:var(--color-strong-text);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=\"not-prose\"] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=\"not-prose\"] *)){color:var(--color-strong-text);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:0.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=\"not-prose\"] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=\"not-prose\"] *)){color:var(--color-strong-text);font-weight:600;margin-top:1.5em;margin-bottom:0.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=\"not-prose\"] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=\"not-prose\"] *)){margin-top:2em;margin-bottom:2em}.prose :where(figure > *):not(:where([class~=\"not-prose\"] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=\"not-prose\"] *)){color:var(--tw-prose-captions);font-size:0.875em;line-height:1.4285714;margin-top:0.8571429em}.prose :where(code):not(:where([class~=\"not-prose\"] *)){color:var(--tw-prose-code);font-weight:600;font-size:0.875em}.prose :where(code):not(:where([class~=\"not-prose\"] *))::before{content:\"\\`\"}.prose :where(code):not(:where([class~=\"not-prose\"] *))::after{content:\"\\`\"}.prose :where(a code):not(:where([class~=\"not-prose\"] *)){color:inherit}.prose :where(h1 code):not(:where([class~=\"not-prose\"] *)){color:inherit}.prose :where(h2 code):not(:where([class~=\"not-prose\"] *)){color:inherit;font-size:0.875em}.prose :where(h3 code):not(:where([class~=\"not-prose\"] *)){color:inherit;font-size:0.9em}.prose :where(h4 code):not(:where([class~=\"not-prose\"] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=\"not-prose\"] *)){color:inherit}.prose :where(thead th code):not(:where([class~=\"not-prose\"] *)){color:inherit}.prose :where(pre):not(:where([class~=\"not-prose\"] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:0.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:0.375rem;padding-top:0.8571429em;padding-right:1.1428571em;padding-bottom:0.8571429em;padding-left:1.1428571em}.prose :where(pre code):not(:where([class~=\"not-prose\"] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=\"not-prose\"] *))::before{content:none}.prose :where(pre code):not(:where([class~=\"not-prose\"] *))::after{content:none}.prose :where(table):not(:where([class~=\"not-prose\"] *)){width:100%;table-layout:auto;text-align:left;margin-top:2em;margin-bottom:2em;font-size:0.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=\"not-prose\"] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=\"not-prose\"] *)){color:var(--color-strong-text);font-weight:600;vertical-align:bottom;padding-right:0.5714286em;padding-bottom:0.5714286em;padding-left:0.5714286em}.prose :where(tbody tr):not(:where([class~=\"not-prose\"] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=\"not-prose\"] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=\"not-prose\"] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=\"not-prose\"] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=\"not-prose\"] *)){vertical-align:top}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:rgb(0 0 0/50%);--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(video):not(:where([class~=\"not-prose\"] *)){margin-top:2em;margin-bottom:2em}.prose :where(figure):not(:where([class~=\"not-prose\"] *)){margin-top:2em;margin-bottom:2em}.prose :where(li):not(:where([class~=\"not-prose\"] *)){margin-top:0.25em;margin-bottom:0.25em}.prose :where(ol > li):not(:where([class~=\"not-prose\"] *)){padding-left:0.375em}.prose :where(ul > li):not(:where([class~=\"not-prose\"] *)){padding-left:0.375em}.prose :where(.prose > ul > li p):not(:where([class~=\"not-prose\"] *)){margin-top:0.75em;margin-bottom:0.75em}.prose\n :where(.prose > ul > li > *:first-child):not(:where([class~=\"not-prose\"] *)){margin-top:0.25em}.prose\n :where(.prose > ul > li > *:last-child):not(:where([class~=\"not-prose\"] *)){margin-bottom:0.25em}.prose\n :where(.prose > ol > li > *:first-child):not(:where([class~=\"not-prose\"] *)){margin-top:0.25em}.prose\n :where(.prose > ol > li > *:last-child):not(:where([class~=\"not-prose\"] *)){margin-bottom:0.25em}.prose :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~=\"not-prose\"] *)){margin-top:0.75em;margin-bottom:0.75em}.prose :where(hr + *):not(:where([class~=\"not-prose\"] *)){margin-top:0}.prose :where(h2 + *):not(:where([class~=\"not-prose\"] *)){margin-top:0}.prose :where(h3 + *):not(:where([class~=\"not-prose\"] *)){margin-top:0}.prose :where(h4 + *):not(:where([class~=\"not-prose\"] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=\"not-prose\"] *)){padding-left:0}.prose :where(thead th:last-child):not(:where([class~=\"not-prose\"] *)){padding-right:0}.prose :where(tbody td, tfoot td):not(:where([class~=\"not-prose\"] *)){padding-top:0.5714286em;padding-right:0.5714286em;padding-bottom:0.5714286em;padding-left:0.5714286em}.prose\n :where(tbody td:first-child, tfoot td:first-child):not(\n :where([class~=\"not-prose\"] *)\n ){padding-left:0}.prose\n :where(tbody td:last-child, tfoot td:last-child):not(\n :where([class~=\"not-prose\"] *)\n ){padding-right:0}.prose :where(.prose > :first-child):not(:where([class~=\"not-prose\"] *)){margin-top:0}.prose :where(.prose > :last-child):not(:where([class~=\"not-prose\"] *)){margin-bottom:0}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.isolate{isolation:isolate}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.\\\\!table{display:table!important}.table{display:table}.inline-table{display:inline-table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row-group{display:table-row-group}.table-row{display:table-row}.flow-root{display:flow-root}.grid{display:grid}.inline-grid{display:inline-grid}.contents{display:contents}.list-item{display:list-item}.hidden{display:none}.flex-shrink{flex-shrink:1}.shrink{flex-shrink:1}.flex-grow{flex-grow:1}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.\\\\!transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.select-all{-webkit-user-select:all;user-select:all}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.break-all{word-break:break-all}.rounded{border-radius:0.25rem}.border{border-width:1px}.text-justify{text-align:justify}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.slashed-zero{--tw-slashed-zero:slashed-zero;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.lining-nums{--tw-numeric-figure:lining-nums;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.oldstyle-nums{--tw-numeric-figure:oldstyle-nums;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.proportional-nums{--tw-numeric-spacing:proportional-nums;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.diagonal-fractions{--tw-numeric-fraction:diagonal-fractions;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.stacked-fractions{--tw-numeric-fraction:stacked-fractions;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.underline{text-decoration-line:underline}.overline{text-decoration-line:overline}.line-through{text-decoration-line:line-through}.shadow{--tw-shadow:0 1px 3px 0 rgb(0 0 0/0.1),0 1px 2px -1px rgb(0 0 0/0.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.sepia{--tw-sepia:sepia(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.ease-in{transition-timing-function:cubic-bezier(0.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(0.4,0,0.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,0.2,1)}.milkdown{border-radius:0.25rem;padding:1rem;height:100%}div[data-milkdown-root=\"true\"]{height:100%}.readonly .milkdown{margin:0;padding:0}.editor{margin-left:auto;margin-right:auto;height:100%}.dark .dark\\\\:prose-invert{--tw-prose-body:var(--tw-prose-invert-body);--tw-prose-headings:var(--tw-prose-invert-headings);--tw-prose-lead:var(--tw-prose-invert-lead);--tw-prose-links:var(--tw-prose-invert-links);--tw-prose-bold:var(--tw-prose-invert-bold);--tw-prose-counters:var(--tw-prose-invert-counters);--tw-prose-bullets:var(--tw-prose-invert-bullets);--tw-prose-hr:var(--tw-prose-invert-hr);--tw-prose-quotes:var(--tw-prose-invert-quotes);--tw-prose-quote-borders:var(--tw-prose-invert-quote-borders);--tw-prose-captions:var(--tw-prose-invert-captions);--tw-prose-code:var(--tw-prose-invert-code);--tw-prose-pre-code:var(--tw-prose-invert-pre-code);--tw-prose-pre-bg:var(--tw-prose-invert-pre-bg);--tw-prose-th-borders:var(--tw-prose-invert-th-borders);--tw-prose-td-borders:var(--tw-prose-invert-td-borders)}.markdown-container{position:relative;height:100%;padding-top:2.5rem;background-color:var(--antd-input-bg);border:1px solid var(--color-border-divider-line);border-radius:var(--larger-border-radius)}.markdown-container.readonly{padding-top:0}.menu-container-outter{position:absolute;top:0;height:2.5rem;width:100%;border-bottom-width:1px;--tw-border-opacity:1;border-color:var(--color-border-divider-line)}.menu-container-inner{display:flex;margin-left:auto;margin-right:auto}.editor-container{height:100%;overflow:auto;overscroll-behavior:none}.menu-btn-box{display:flex;height:2.5rem;width:2.5rem;cursor:pointer;justify-content:center;align-items:center;border-radius:0.25rem;position:relative;color:var(--color-normal-text)}.menu-btn-box .menuIconTooltip{visibility:hidden;font-size:0.9rem;background-color:#474747;color:rgb(255,255,255);text-align:center;padding:3px 8px;border-radius:6px;position:absolute;z-index:2;top:2.4rem;white-space:nowrap}.menu-btn-box:hover{color:var(--color-info-hover)}.menu-btn-box:hover .menuIconTooltip{visibility:visible}.menu-btn-box:hover::after{position:absolute;bottom:0.15rem;left:1rem;border-width:0.3rem;border-color:transparent transparent #474747 transparent;border-style:solid;width:0px;height:0px;content:\"\"}.tableBarLeft{width:0.5rem;height:100%;left:-0.875rem;top:0}.tableBarTop{right:1px;height:0.5rem;left:0;top:-0.875rem}.tableBarOther{height:0.75rem;width:0.75rem;left:-1rem;top:-1rem;border-radius:9999px}.tableBarCommon{position:absolute;cursor:pointer;background-color:var(--color-border-divider-line)}.tableBarCommon:hover{--tw-bg-opacity:1;background-color:rgb(129 161 193/var(--tw-bg-opacity))}.dragOverTableBar{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.table-tooltip-btn-box{display:inline;align-items:center;justify-content:center;border-radius:0.25rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity));background-color:var(--antd-input-bg);padding-left:1rem;padding-right:1rem;padding-top:0.5rem;padding-bottom:0.5rem;color:var(--color-normal-text);font-size:1rem;line-height:1.5rem;font-weight:500;line-height:1.5rem;--tw-shadow:0 1px 2px 0 rgba(0,0,0,0.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.table-tooltip-btn-box:hover{color:var(--color-info-hover)}.codeBlockContainer{margin-top:1rem;margin-bottom:1rem;border-radius:0.25rem;background-color:var(--color-fill-bg-base-1);padding:1rem 1rem 0.1rem 1rem;--tw-shadow:0 1px 3px 0 rgba(0,0,0,0.1),0 1px 2px -1px rgba(0,0,0,0.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);background-position:right 0.5rem center;background-repeat:no-repeat;background-size:1.5rem 1.5rem}.codeBlockSelect{cursor:pointer;border-radius:0.25rem;border-width:0!important;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));--tw-shadow:0 1px 2px 0 rgba(0,0,0,0.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);padding:0rem 1.75rem 0rem 0.5rem;background-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___});background-position:right 1rem center;background-repeat:no-repeat;background-size:0.7rem 0.7rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;color:rgb(22,22,22)}.codeBlockCopyBtn{display:inline-flex;align-items:center;justify-content:center;border-radius:0.25rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));padding:0.25rem 0.5rem;font-size:0.9rem;font-weight:500;line-height:1.5rem;color:rgb(22,22,22);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.codeBlockCopyBtn:hover{border-color:rgb(189 190 192/var(--tw-border-opacity));color:var(--color-info-hover)}code[class*=\"language-\"],\npre[class*=\"language-\"]{color:#f8f8f2;background:none;font-family:\"Fira Code\",Consolas,Monaco,\"Andale Mono\",\"Ubuntu Mono\",monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;tab-size:4;-webkit-hyphens:none;hyphens:none}pre[class*=\"language-\"]{padding:1em;margin:0.5em 0;overflow:auto;border-radius:0.3em}:not(pre) > code[class*=\"language-\"],\npre[class*=\"language-\"]{background:#2e3440}:not(pre) > code[class*=\"language-\"]{padding:0.1em;border-radius:0.3em;white-space:normal}.token.comment,\n.token.prolog,\n.token.doctype,\n.token.cdata{color:#636f88}.token.punctuation{color:#81a1c1}.namespace{opacity:0.7}.token.property,\n.token.tag,\n.token.constant,\n.token.symbol,\n.token.deleted{color:#81a1c1}.token.number{color:#b48ead}.token.boolean{color:#81a1c1}.token.selector,\n.token.attr-name,\n.token.string,\n.token.char,\n.token.builtin,\n.token.inserted{color:#a3be8c}.token.operator,\n.token.entity,\n.token.url,\n.language-css .token.string,\n.style .token.string,\n.token.variable{color:#81a1c1}.token.atrule,\n.token.attr-value,\n.token.function,\n.token.class-name{color:#88c0d0}.token.keyword{color:#81a1c1}.token.regex,\n.token.important{color:#ebcb8b}.token.important,\n.token.bold{font-weight:bold}.token.italic{font-style:italic}.token.entity{cursor:help}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n"],"names":["langs","CodeBlock","contentRef","node","setAttrs","useNodeViewContext","React","className","contentEditable","suppressContentEditableWarning","style","marginBottom","display","justifyContent","value","attrs","language","onChange","e","target","map","lang","key","onClick","preventDefault","navigator","clipboard","writeText","textContent","spellCheck","ref","tableTooltipCtx","$ctx","WrappedIcon","wrapBrick","TableTooltipButton","_ref","icon","tableTooltip","tooltipFactory","TableTooltip","_view$state$doc$nodeA","useRef","view","usePluginViewContext","tooltipProvider","loading","getEditor","useInstance","isRow","state","selection","CellSelection","isRowSelection","isCol","isColSelection","isWholeTable","isHeading","doc","nodeAt","$headCell","pos","type","name","useEffect","current","provider","TooltipProvider","content","tippyOptions","zIndex","shouldShow","update","editor","ctx","isInjected","set","_tooltipProvider$curr","destroy","visibility","lib","_tooltipProvider$curr2","action","get","commandsCtx","call","addRowBeforeCommand","hide","_tooltipProvider$curr3","addColBeforeCommand","_tooltipProvider$curr4","deleteSelectedCellsCommand","_tooltipProvider$curr5","addRowAfterCommand","_tooltipProvider$curr6","addColAfterCommand","setAlignCommand","TableSelectorWidget","_spec$index","spec","useWidgetViewContext","index","dragOver","setDragOver","useState","draggable","classNames","tableBarLeft","tableBarTop","tableBarOther","dragOverTableBar","stopPropagation","div","_tooltip$getInstance","tooltip","getInstance","setProps","getReferenceClientRect","getBoundingClientRect","show","commands","selectRowCommand","selectColCommand","selectTableCommand","onDragStart","data","dataTransfer","setData","JSON","stringify","effectAllowed","onDragOver","dropEffect","onDragLeave","onDrop","i","getData","parse","options","from","Number","to","moveRowCommand","moveColCommand","tableSelectorPlugin","widgetViewFactory","$prose","PluginKey","Plugin","init","decorations","DecorationSet","empty","apply","tr","oldState","newState","leftCells","getCellsInCol","topCells","getCellsInRow","createWidget","as","component","topLeft","push","forEach","cell","eq","create","props","getState","method","property","createDecorators","_A","WeakMap","_B","_C","_D","_E","_F","_G","FormItemElementBase","ReactNextElement","constructor","arguments","_classPrivateFieldInitSpec","_initProto","_init_helpBrick","_init_extra_helpBrick","_init_labelBrick","_init_extra_labelBrick","_init_labelCol","_init_extra_labelCol","_init_wrapperCol","_init_extra_wrapperCol","_notRender","_classPrivateFieldGet","v","_classPrivateFieldSet","validate","bindFormItem","isFormItemElement","validateState","this","_render","notRender","hidden","$bindFormItem","helpBrick","labelBrick","labelCol","wrapperCol","setNotRender","getFormElement","element","parentNode","isFormElement","_FormItemElementBase","_applyDecs","attribute","FORM_ITEM_PROP_NAMES","pickFormItemProps","pick","___CSS_LOADER_URL_IMPORT_0___","URL","___CSS_LOADER_EXPORT___","___CSS_LOADER_URL_REPLACEMENT_0___","module","id","toString"],"sourceRoot":""}