@next-bricks/markdown 1.12.21 → 1.12.23

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.
Files changed (23) hide show
  1. package/dist/bricks.json +1 -1
  2. package/dist/chunks/{114.2a2714af.js → 114.9c73672d.js} +2 -2
  3. package/dist/chunks/{114.2a2714af.js.map → 114.9c73672d.js.map} +1 -1
  4. package/dist/chunks/{623.4a672a14.js → 623.4eaa6d49.js} +2 -2
  5. package/dist/chunks/{623.4a672a14.js.map → 623.4eaa6d49.js.map} +1 -1
  6. package/dist/chunks/{698.9f443cfc.js → 698.9f706f48.js} +2 -2
  7. package/dist/chunks/{698.9f443cfc.js.map → 698.9f706f48.js.map} +1 -1
  8. package/dist/chunks/{733.375ffac6.js → 733.5804af84.js} +2 -2
  9. package/dist/chunks/{733.375ffac6.js.map → 733.5804af84.js.map} +1 -1
  10. package/dist/chunks/818.0756786a.js +3 -0
  11. package/dist/chunks/818.0756786a.js.map +1 -0
  12. package/dist/chunks/{eo-markdown-display.8d524e11.js → eo-markdown-display.2ed94f5a.js} +2 -2
  13. package/dist/chunks/{eo-markdown-display.8d524e11.js.map → eo-markdown-display.2ed94f5a.js.map} +1 -1
  14. package/dist/chunks/{eo-markdown-editor.e9b099a2.js → eo-markdown-editor.26c2d2c0.js} +2 -2
  15. package/dist/chunks/{eo-markdown-editor.e9b099a2.js.map → eo-markdown-editor.26c2d2c0.js.map} +1 -1
  16. package/dist/chunks/{main.7e260023.js → main.f5a3d942.js} +2 -2
  17. package/dist/chunks/{main.7e260023.js.map → main.f5a3d942.js.map} +1 -1
  18. package/dist/{index.da06c41f.js → index.79c4cc1f.js} +2 -2
  19. package/dist/{index.da06c41f.js.map → index.79c4cc1f.js.map} +1 -1
  20. package/package.json +4 -4
  21. package/dist/chunks/818.607a13b2.js +0 -3
  22. package/dist/chunks/818.607a13b2.js.map +0 -1
  23. /package/dist/chunks/{818.607a13b2.js.LICENSE.txt → 818.0756786a.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"chunks/623.4a672a14.js","mappings":"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","sources":["webpack:///../../src/pickFormItemProps.ts","webpack:///../../src/FormItemElement.tsx","webpack:///./src/markdown-editor/markdown-editor.shadow.css","webpack:///./src/markdown-editor/components/TableWidget.tsx","webpack:///./src/markdown-editor/components/CodeBlock.tsx"],"sourcesContent":["// 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","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 accessor #_notRender = false;\n accessor #validate = \"normal\";\n 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","// 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","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 { 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"],"names":["FORM_ITEM_PROP_NAMES","pickFormItemProps","props","pick","method","property","createDecorators","_A","WeakMap","_FormItemElementBase_brand","WeakSet","_B","_C","_D","_E","_F","_G","FormItemElementBase","ReactNextElement","constructor","arguments","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_initProto","_init_helpBrick","_init_extra_helpBrick","_init_labelBrick","_init_extra_labelBrick","_init_labelCol","_init_extra_labelCol","_init_wrapperCol","_init_extra_wrapperCol","isFormItemElement","validateState","value","_classPrivateSetter","_set_validate","this","_render","_classPrivateGetter","_get_validate","notRender","hidden","_set__notRender","_get__notRender","$bindFormItem","_get_bindFormItem","_set_bindFormItem","helpBrick","_classPrivateFieldGet","v","_classPrivateFieldSet","labelBrick","labelCol","wrapperCol","setNotRender","getFormElement","element","parentNode","isFormElement","_this","_this2","_this3","_this4","_this5","_this6","_FormItemElementBase","_applyDecs","attribute","e","___CSS_LOADER_URL_IMPORT_0___","URL","___CSS_LOADER_EXPORT___","___CSS_LOADER_URL_REPLACEMENT_0___","push","module","id","toString","tableTooltipCtx","$ctx","WrappedIcon","wrapBrick","TableTooltipButton","_ref","icon","onClick","React","className","preventDefault","tableTooltip","tooltipFactory","TableTooltip","_view$state$doc$nodeA","ref","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","key","set","_tooltipProvider$curr","destroy","style","visibility","display","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","forEach","cell","eq","create","getState","langs","CodeBlock","contentRef","node","setAttrs","useNodeViewContext","contentEditable","suppressContentEditableWarning","marginBottom","justifyContent","attrs","language","onChange","target","map","lang","navigator","clipboard","writeText","textContent","spellCheck"],"sourceRoot":""}
1
+ {"version":3,"file":"chunks/623.4eaa6d49.js","mappings":"sKAIA,MAAMA,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,EACdC,GAEA,OAAOC,EAAAA,EAAAA,MAAKD,EAAOF,EACrB,C,qJC5BA,MAAM,OAAEI,EAAM,SAAEC,IAAaC,EAAAA,EAAAA,oBAAmB,IAAAC,EAAA,IAAAC,QAAAC,EAAA,IAAAC,QAAAC,EAAA,IAAAH,QAAAI,EAAA,IAAAJ,QAAAK,EAAA,IAAAL,QAAAM,EAAA,IAAAN,QAAAO,EAAA,IAAAP,QAAAQ,EAAA,IAAAR,QAEzC,MAAeS,UAA4BC,EAAAA,iBAAiBC,WAAAA,GAAA,SAAAC,YAAAC,EAAAA,EAAAA,GAAA,KAAAZ,IAAAa,EAAAA,EAAAA,GAAA,KAAAf,GAAAgB,EAAA,OAC1C,KAAKD,EAAAA,EAAAA,GAAA,KAAAX,EACP,WAAQW,EAAAA,EAAAA,GAAA,KAAAV,GACJ,IAAKU,EAAAA,EAAAA,GAAA,KAAAT,EAAAW,EAAA,QAAAF,EAAAA,EAAAA,GAAA,KAAAR,GAAAW,EAAA,MAAAC,EAAA,SAAAJ,EAAAA,EAAAA,GAAA,KAAAP,GAAAY,EAAA,MAAAC,EAAA,SAAAN,EAAAA,EAAAA,GAAA,KAAAN,GAAAa,EAAA,MAAAC,EAAA,QAAAC,EAAA,MAE9B,qBAAIC,GACF,OAAO,CACT,CAEA,iBAAIC,CAAcC,IAChBC,EAAAA,EAAAA,GAAA1B,EAAK2B,EAALC,KAAiBH,GACjBG,KAAKC,SACP,CACA,iBAAIL,GACF,OAAOM,EAAAA,EAAAA,GAAA9B,EAAA4B,KAAKG,EACd,CAOA,aAAIC,CAAUP,GACZG,KAAKK,OAASR,GACdC,EAAAA,EAAAA,GAAA1B,EAAKkC,EAALN,KAAmBH,GACnBG,KAAKC,SACP,CACA,aAAIG,GACF,OAAOF,EAAAA,EAAAA,GAAA9B,EAAA4B,KAAKO,EACd,CAEA,iBAAIC,GACF,OAAON,EAAAA,EAAAA,GAAA9B,EAAA4B,KAAKS,EACd,CACA,iBAAID,CAAcX,IAChBC,EAAAA,EAAAA,GAAA1B,EAAKsC,EAALV,KAAqBH,GACrBG,KAAKC,SACP,CAAC,aAKQU,GAAS,OAAAC,EAAAA,EAAAA,GAAApC,EAAA,mBAATmC,CAASE,IAAAC,EAAAA,EAAAA,GAAAtC,EAAA,KAAAqC,EAAA,eAOTE,GAAU,OAAAH,EAAAA,EAAAA,GAAAnC,EAAA,oBAAVsC,CAAUF,IAAAC,EAAAA,EAAAA,GAAArC,EAAA,KAAAoC,EAAA,aAOVG,GAAQ,OAAAJ,EAAAA,EAAAA,GAAAlC,EAAA,kBAARsC,CAAQH,IAAAC,EAAAA,EAAAA,GAAApC,EAAA,KAAAmC,EAAA,eAKRI,GAAU,OAAAL,EAAAA,EAAAA,GAAAjC,EAAA,oBAAVsC,CAAUJ,IAAAC,EAAAA,EAAAA,GAAAnC,EAAA,KAAAkC,EAAA,CAGnBK,YAAAA,CAAarB,GACXG,KAAKI,UAAYP,CACnB,CAGAsB,cAAAA,GAEE,IAAIC,EAA+BpB,KACnC,MAAQoB,EAAUA,EAAQC,aACnBD,IAAWA,EAAQE,gBAI1B,OAAOF,CACT,EA9EuC,SAAAb,EAAAgB,GAAA,OAAAX,EAAAA,EAAAA,GAAA1C,EAAAqD,EAAA,UAAAjB,EAAAkB,EAAAX,IAAAC,EAAAA,EAAAA,GAAA5C,EAAAsD,EAAAX,EAAA,UAAAV,EAAAsB,GAAA,OAAAb,EAAAA,EAAAA,GAAAtC,EAAAmD,EAAA,UAAA1B,EAAA2B,EAAAb,IAAAC,EAAAA,EAAAA,GAAAxC,EAAAoD,EAAAb,EAAA,UAAAJ,EAAAkB,GAAA,OAAAf,EAAAA,EAAAA,GAAArC,EAAAoD,EAAA,UAAAjB,EAAAkB,EAAAf,IAAAC,EAAAA,EAAAA,GAAAvC,EAAAqD,EAAAf,EAAA,CA+ExCgB,EA/EqBjD,GAAmBO,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAR,IAAA4C,EAAAA,EAAAA,GAAAD,EAAA,KAuCtC7D,EAAS,CACR+D,WAAW,IACX,gBAKD/D,EAAS,CACR+D,WAAW,IACX,iBAKD/D,EAAS,CACR+D,WAAW,IACX,eAGD/D,EAAS,CACR+D,WAAW,IACX,iBAGDhE,IAAQ,mBAKRA,IAAQ,8BApEuCc,EAAAA,kBAAgBmD,C,2FCH9DC,EAAgC,IAAIC,IAAI,aACxCC,EAA0B,IAA4B,KACtDC,EAAqC,IAAgCH,GAEzEE,EAAwBE,KAAK,CAACC,EAAOC,GAAI,oi8BA2Eo5XH,klEAwBn2X,KAE1F,QAAeD,EAAwBK,U,2MCvEhC,MAAMC,GAAkBC,EAAAA,EAAAA,IAC7B,KACA,gBAGIC,GAAcC,EAAAA,EAAAA,WAAyC,WAEvDC,EAGDC,IAAuB,IAAtB,KAAEC,EAAI,QAAEC,GAASF,EACrB,OACEG,IAAAA,cAAA,UACEC,UAAU,wBACVF,QAAUhB,IACRgB,SAAAA,IACAhB,EAAEmB,gBAAgB,GAGpBF,IAAAA,cAACN,EAAgBI,GACV,EAIAK,GAAeC,EAAAA,EAAAA,GAAe,SAC9BC,EAAmBA,KAAM,IAAAC,EACpC,MAAMC,GAAMC,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,QAA5ET,EAAAG,EAAKO,MAAMQ,IAAIC,OAAQhB,EAAKO,MAAMC,UAA4BS,UAAUC,YAAI,IAAArB,OAAA,EAA5EA,EACIsB,KAAKC,MAmCX,OAjCAC,EAAAA,EAAAA,YAAU,KACR,GACEvB,EAAIwB,UACHnB,IACAD,EAAgBoB,SACjBtB,GACAA,EAAKO,MACL,CACA,MAAMgB,EAAW,IAAIC,EAAAA,EAAgB,CACnCC,QAAS3B,EAAIwB,QACbI,aAAc,CACZC,OAAQ,IAEVC,WAAYA,KACH,IAIXL,EAASM,OAAO7B,GAEhB,MAAM8B,EAAS1B,IAEX0B,GAAUA,EAAOC,KAAOD,EAAOC,IAAIC,WAAWjD,EAAgBkD,OAChEH,EAAOC,IAAIG,IAAInD,EAAgBkD,IAAKV,GACpCrB,EAAgBoB,QAAUC,EAE9B,CAEA,MAAO,KAAM,IAAAY,EACY,QAAvBA,EAAAjC,EAAgBoB,eAAO,IAAAa,GAAvBA,EAAyBC,SAAS,CACnC,GACA,CAAChC,EAAWD,EAASH,IAGtBT,IAAAA,cAAA,OAAK8C,MAAO,CAAEC,WAAY,WACxB/C,IAAAA,cAAA,OAAKO,IAAKA,EAAKuC,MAAO,CAAEE,QAAS,UAC7B1B,IAAiBC,GAAaR,GAC9Bf,IAAAA,cAACJ,EAAkB,CACjBE,KAAM,CAAEmD,IAAK,OAAQnD,KAAM,YAC3BC,QAASA,KAAM,IAAAmD,EACTtC,IACJC,IAAYsC,QAAQX,IAClBA,EAAIY,IAAIC,EAAAA,IAAaC,KAAKC,EAAAA,GAAoBb,IAAI,IAE7B,QAAvBQ,EAAAvC,EAAgBoB,eAAO,IAAAmB,GAAvBA,EAAyBM,OAAM,KAInClC,GAAgBF,GAChBpB,IAAAA,cAACJ,EAAkB,CACjBE,KAAM,CAAEmD,IAAK,OAAQnD,KAAM,cAC3BC,QAASA,KAAM,IAAA0D,EACT7C,IACJC,IAAYsC,QAAQX,IAClBA,EAAIY,IAAIC,EAAAA,IAAaC,KAAKI,EAAAA,GAAoBhB,IAAI,IAE7B,QAAvBe,EAAA9C,EAAgBoB,eAAO,IAAA0B,GAAvBA,EAAyBD,OAAM,KAInClC,IAAiBC,IACjBvB,IAAAA,cAACJ,EAAkB,CACjBE,KAAM,CAAEmD,IAAK,OAAQnD,KAAM,UAC3BC,QAASA,KAAM,IAAA4D,EACT/C,IACJC,IAAYsC,QAAQX,IAClBA,EAAIY,IAAIC,EAAAA,IAAaC,KAAKM,EAAAA,GAA2BlB,IAAI,IAEpC,QAAvBiB,EAAAhD,EAAgBoB,eAAO,IAAA4B,GAAvBA,EAAyBH,OAAM,KAInClC,GAAgBP,GAChBf,IAAAA,cAACJ,EAAkB,CACjBE,KAAM,CAAEmD,IAAK,OAAQnD,KAAM,cAC3BC,QAASA,KAAM,IAAA8D,EACTjD,IACJC,IAAYsC,QAAQX,IAClBA,EAAIY,IAAIC,EAAAA,IAAaC,KAAKQ,EAAAA,GAAmBpB,IAAI,IAE5B,QAAvBmB,EAAAlD,EAAgBoB,eAAO,IAAA8B,GAAvBA,EAAyBL,OAAM,KAInClC,GAAgBF,GAChBpB,IAAAA,cAACJ,EAAkB,CACjBE,KAAM,CAAEmD,IAAK,OAAQnD,KAAM,eAC3BC,QAASA,KAAM,IAAAgE,EACTnD,IACJC,IAAYsC,QAAQX,IAClBA,EAAIY,IAAIC,EAAAA,IAAaC,KAAKU,EAAAA,GAAmBtB,IAAI,IAE5B,QAAvBqB,EAAApD,EAAgBoB,eAAO,IAAAgC,GAAvBA,EAAyBP,OAAM,KAInClC,GAAgBF,GAChBpB,IAAAA,cAACJ,EAAkB,CACjBE,KAAM,CAAEmD,IAAK,OAAQnD,KAAM,cAC3BC,QAASA,KACHa,GACJC,IAAYsC,QAAQX,IAClBA,EAAIY,IAAIC,EAAAA,IAAaC,KAAKW,EAAAA,GAAgBvB,IAAK,OAAO,GACtD,KAINpB,GAAgBF,GAChBpB,IAAAA,cAACJ,EAAkB,CACjBE,KAAM,CAAEmD,IAAK,OAAQnD,KAAM,gBAC3BC,QAASA,KACHa,GACJC,IAAYsC,QAAQX,IAClBA,EAAIY,IAAIC,EAAAA,IAAaC,KAAKW,EAAAA,GAAgBvB,IAAK,SAAS,GACxD,KAINpB,GAAgBF,GAChBpB,IAAAA,cAACJ,EAAkB,CACjBE,KAAM,CAAEmD,IAAK,OAAQnD,KAAM,eAC3BC,QAASA,KACHa,GACJC,IAAYsC,QAAQX,IAClBA,EAAIY,IAAIC,EAAAA,IAAaC,KAAKW,EAAAA,GAAgBvB,IAAK,QAAQ,GACvD,KAKN,EAIJwB,EAA0BA,KAAM,IAAAC,EACpC,MAAM,KAAEC,IAASC,EAAAA,EAAAA,MACXzC,EAAOwC,aAAI,EAAJA,EAAMxC,KACb0C,EAAmB,QAAdH,EAAGC,aAAI,EAAJA,EAAME,aAAK,IAAAH,EAAAA,EAAI,GACtBvD,EAASC,IAAaC,EAAAA,EAAAA,MACvBP,GAAMC,EAAAA,EAAAA,QAAuB,OAE5B+D,EAAUC,IAAeC,EAAAA,EAAAA,WAAS,GAEzC,OACEzE,IAAAA,cAAA,OACEO,IAAKA,EACLmE,UAAoB,aAAT9C,EACX3B,UAAW0E,IAAW,iBAAkB,CACtCC,aAAuB,SAAThD,EACdiD,YAAsB,QAATjD,EACbkD,cAAwB,QAATlD,GAA2B,SAATA,EACjCmD,iBAAkBR,IAEpBxE,QAAUhB,IACRA,EAAEiG,kBACF,MAAMC,EAAM1E,EAAIwB,SACZnB,GAAYqE,GAChBpE,IAAYsC,QAAQX,IAAQ,IAAA0C,EAC1B,MAAMC,EAAU3C,EAAIY,IAAI5D,EAAgBkD,KACxCyC,SAAsB,QAAfD,EAAPC,EAASC,qBAAa,IAAAF,GAAtBA,EAAwBG,SAAS,CAC/BC,uBAAwBA,IACfL,EAAIM,0BAGfJ,SAAAA,EAASK,OAET,MAAMC,EAAWjD,EAAIY,IAAIC,EAAAA,IAEZ,SAATzB,EAAiB6D,EAASnC,KAAKoC,EAAAA,GAAiBhD,IAAK4B,GACvC,QAAT1C,EAAgB6D,EAASnC,KAAKqC,EAAAA,GAAiBjD,IAAK4B,GACxDmB,EAASnC,KAAKsC,EAAAA,GAAmBlD,IAAI,GAC1C,EAEJmD,YAAc9G,IACZA,EAAEiG,kBAEF,MAAMc,EAAO,CAAExB,MAAOF,aAAI,EAAJA,EAAME,MAAO1C,KAAMwC,aAAI,EAAJA,EAAMxC,MAC/C7C,EAAEgH,aAAaC,QACb,kCACAC,KAAKC,UAAUJ,IAEjB/G,EAAEgH,aAAaI,cAAgB,MAAM,EAEvCC,WAAarH,IACXyF,GAAY,GACZzF,EAAEiG,kBACFjG,EAAEmB,iBACFnB,EAAEgH,aAAaM,WAAa,MAAM,EAEpCC,YAAaA,KACX9B,GAAY,EAAM,EAEpB+B,OAASxH,IAEP,GADAyF,GAAY,GACC,aAAT5C,EAAqB,OACzB,MAAM4E,EAAIpC,aAAI,EAAJA,EAAME,MAChB,GAAI1D,GAAgB,MAAL4F,EAAW,OAC1B,MAAMV,EAAO/G,EAAEgH,aAAaU,QAAQ,mCACpC,IACE,MAAM,MAAEnC,EAAK,KAAE1C,GAASqE,KAAKS,MAAMZ,GAEnCjF,IAAYsC,QAAQX,IAClB,MAAMiD,EAAWjD,EAAIY,IAAIC,EAAAA,IACnBsD,EAAU,CACdC,KAAMC,OAAOvC,GACbwC,GAAIN,GAGNf,EAASnC,KACE,SAAT1B,EAAkBmF,EAAAA,GAAerE,IAAMsE,EAAAA,GAAetE,IACtDiE,EACD,GAEL,CAAE,MACA,IAGJ,EAIOM,EACXC,IAEAC,EAAAA,EAAAA,KAAO,KACL,MAAMzE,EAAM,IAAI0E,EAAAA,GAAU,2BAC1B,OAAO,IAAIC,EAAAA,GAAO,CAChB3E,MACA1B,MAAO,CACLsG,KAAIA,KACK,CACLC,YAAaC,EAAAA,GAAcC,MAC3B9F,IAAK,IAGT+F,KAAAA,CACEC,EACA/K,EACAgL,EACAC,GAEA,MAAMC,GAAYC,EAAAA,EAAAA,IAAc,EAAGJ,EAAG1G,WACtC,IAAK6G,EAAW,MAAO,CAAEP,YAAaC,EAAAA,GAAcC,MAAO9F,IAAK,GAChE,MAAMqG,GAAWC,EAAAA,EAAAA,IAAc,EAAGN,EAAG1G,WACrC,IAAK+G,EAAU,MAAO,CAAET,YAAaC,EAAAA,GAAcC,MAAO9F,IAAK,GAE/D,MAAMuG,EAAehB,EAAkB,CACrCiB,GAAI,MACJC,UAAWlE,KAGNmE,GAAWP,EAClB,IAAKO,EAAS,MAAO,CAAEd,YAAaC,EAAAA,GAAcC,MAAO9F,IAAK,GAE9D,MAAM4F,EAA4B,GAalC,OAZAA,EAAYnI,KAAK8I,EAAaG,EAAQ1G,IAAM,EAAG,CAAEC,KAAM,cACvDkG,EAAUQ,SAAQ,CAACC,EAAMjE,KACvBiD,EAAYnI,KACV8I,EAAaK,EAAK5G,IAAM,EAAG,CAAEC,KAAM,OAAQ0C,UAC5C,IAEH0D,EAASM,SAAQ,CAACC,EAAMjE,KACtBiD,EAAYnI,KACV8I,EAAaK,EAAK5G,IAAM,EAAG,CAAEC,KAAM,MAAO0C,UAC3C,IAGC1H,EAAM+E,MAAQ0G,EAAQ1G,KAAOiG,EAASpG,IAAIgH,GAAGX,EAASrG,KACjD5E,EAEF,CACL2K,YAAaC,EAAAA,GAAciB,OAAOd,EAAGnG,IAAK+F,GAC1C5F,IAAK0G,EAAQ1G,IAEjB,GAEF/G,MAAO,CACL2M,YAAYvG,GACH0B,EAAIgG,SAAS1H,GAAOuG,cAG/B,G,mECtWN,MAAMoB,EAAQ,CACZ,OACA,aACA,aACA,KACA,SACA,MACA,OACA,MACA,OACA,YAGWC,EAAgBA,KAC3B,MAAM,WAAEC,EAAU,KAAEC,EAAI,SAAEC,IAAaC,EAAAA,EAAAA,MACvC,OACEhJ,IAAAA,cAAA,OAAKC,UAAU,sBACbD,IAAAA,cAAA,OACEiJ,gBAAgB,QAChBC,gCAA8B,EAC9BpG,MAAO,CACLqG,aAAc,SACdnG,QAAS,OACToG,eAAgB,kBAGlBpJ,IAAAA,cAAA,UACEC,UAAU,kBACVrD,MAAOkM,EAAKO,MAAMC,UAAY,OAC9BC,SAAWxK,IACTgK,EAAS,CAAEO,SAAUvK,EAAEyK,OAAO5M,OAAQ,GAGvC+L,EAAMc,KAAKC,GACV1J,IAAAA,cAAA,UAAQpD,MAAO8M,EAAMhH,IAAKgH,GACvBA,MAKP1J,IAAAA,cAAA,UACEC,UAAU,mBACVF,QAAUhB,IACRA,EAAEmB,iBACFyJ,UAAUC,UAAUC,UAAUf,EAAKgB,YAAY,GAElD,SAIH9J,IAAAA,cAAA,OAAK+J,YAAY,GACf/J,IAAAA,cAAA,QAAMO,IAAKsI,KAET,C","sources":["webpack:///../../src/pickFormItemProps.ts","webpack:///../../src/FormItemElement.tsx","webpack:///./src/markdown-editor/markdown-editor.shadow.css","webpack:///./src/markdown-editor/components/TableWidget.tsx","webpack:///./src/markdown-editor/components/CodeBlock.tsx"],"sourcesContent":["// 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","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 accessor #_notRender = false;\n accessor #validate = \"normal\";\n 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","// 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","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 { 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"],"names":["FORM_ITEM_PROP_NAMES","pickFormItemProps","props","pick","method","property","createDecorators","_A","WeakMap","_FormItemElementBase_brand","WeakSet","_B","_C","_D","_E","_F","_G","FormItemElementBase","ReactNextElement","constructor","arguments","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_initProto","_init_helpBrick","_init_extra_helpBrick","_init_labelBrick","_init_extra_labelBrick","_init_labelCol","_init_extra_labelCol","_init_wrapperCol","_init_extra_wrapperCol","isFormItemElement","validateState","value","_classPrivateSetter","_set_validate","this","_render","_classPrivateGetter","_get_validate","notRender","hidden","_set__notRender","_get__notRender","$bindFormItem","_get_bindFormItem","_set_bindFormItem","helpBrick","_classPrivateFieldGet","v","_classPrivateFieldSet","labelBrick","labelCol","wrapperCol","setNotRender","getFormElement","element","parentNode","isFormElement","_this","_this2","_this3","_this4","_this5","_this6","_FormItemElementBase","_applyDecs","attribute","e","___CSS_LOADER_URL_IMPORT_0___","URL","___CSS_LOADER_EXPORT___","___CSS_LOADER_URL_REPLACEMENT_0___","push","module","id","toString","tableTooltipCtx","$ctx","WrappedIcon","wrapBrick","TableTooltipButton","_ref","icon","onClick","React","className","preventDefault","tableTooltip","tooltipFactory","TableTooltip","_view$state$doc$nodeA","ref","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","key","set","_tooltipProvider$curr","destroy","style","visibility","display","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","forEach","cell","eq","create","getState","langs","CodeBlock","contentRef","node","setAttrs","useNodeViewContext","contentEditable","suppressContentEditableWarning","marginBottom","justifyContent","attrs","language","onChange","target","map","lang","navigator","clipboard","writeText","textContent","spellCheck"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- "use strict";(globalThis.webpackChunk_next_bricks_markdown=globalThis.webpackChunk_next_bricks_markdown||[]).push([[698],{698:(e,t,n)=>{var o,a=n(4586),r=n(4635),i=n(918),l=n(6902),s=n(5536),c=n(6121),d=n(829),u=n(2740),m=n(9575),h=n(8769),p=n.n(h),k=n(6192),b=n(9859),g=(n(6477),n(998)),y=n(1408),A=n(2113),w=n(2466),v=n(1854),f=n(9760),E=n(135),N=n(6486),x=n(6512),C=n(8653),S=n(537),M=n(5435),j=n(9796),W=n(3971),q=n(9830),I=n(1151),T=n(4557),_=n(426),D=n(235),F=n(3373),U=n.n(F);let V,$,B,O,R,L,P,G,J,K,X,Y,Q,Z,z,H,ee,te,ne,oe,ae,re,ie;const le=(0,b.wrapBrick)("eo-form-item"),se=(0,b.wrapBrick)("eo-icon"),ce=e=>{let{icon:t,onClick:n,tooltip:o}=e;return p().createElement("div",{className:"menu-btn-box",onMouseDown:e=>{null==n||n(),e.preventDefault()}},p().createElement(se,(0,m.A)({style:{verticalAlign:"middle"}},t)),o&&p().createElement("div",{className:"menuIconTooltip"},o))},{defineElement:de,property:ue,event:me}=(0,k.createDecorators)();let he;var pe=new WeakMap,ke=new WeakMap,be=new WeakMap,ge=new WeakMap,ye=new WeakMap,Ae=new WeakMap,we=new WeakMap,ve=new WeakMap,fe=new WeakSet,Ee=new WeakMap;class Ne extends _.N{constructor(){super(...arguments),(0,r.A)(this,fe),(0,i.A)(this,pe,$(this)),(0,i.A)(this,ke,(B(this),O(this))),(0,i.A)(this,be,(R(this),L(this))),(0,i.A)(this,ge,(P(this),G(this))),(0,i.A)(this,ye,(J(this),K(this))),(0,i.A)(this,Ae,(X(this),Y(this))),(0,i.A)(this,we,(Q(this),Z(this))),(0,i.A)(this,ve,(z(this),H(this))),(0,a.A)(this,"handleUploadImage",(ne(this),e=>{(0,s.A)(fe,this,ee).emit(e)})),(0,i.A)(this,Ee,oe(this)),(0,a.A)(this,"handleMarkdownValueChange",(ie(this),e=>{var t;null===(t=this.getFormElement())||void 0===t||t.formStore.onChange(this.name,e),this.value=e,(0,s.A)(fe,this,ae).emit(e)}))}get name(){return(0,d.A)(pe,this)}set name(e){(0,c.A)(pe,this,e)}get label(){return(0,d.A)(ke,this)}set label(e){(0,c.A)(ke,this,e)}get required(){return(0,d.A)(be,this)}set required(e){(0,c.A)(be,this,e)}get value(){return(0,d.A)(ge,this)}set value(e){(0,c.A)(ge,this,e)}get bucketName(){return(0,d.A)(ye,this)}set bucketName(e){(0,c.A)(ye,this,e)}get readonly(){return(0,d.A)(Ae,this)}set readonly(e){(0,c.A)(Ae,this,e)}get containerStyle(){return(0,d.A)(we,this)}set containerStyle(e){(0,c.A)(we,this,e)}render(){return p().createElement(w.pb,null,p().createElement(W.vo,null,p().createElement(xe,{formElement:this.getFormElement(),name:this.name,label:this.label,required:this.required,curElement:this,bucketName:this.bucketName,value:this.value,readonly:this.readonly,containerStyle:this.containerStyle,onUploadImage:this.handleUploadImage,onMarkdownValueChange:this.handleMarkdownValueChange})))}}function xe(e){const{bucketName:t,containerStyle:n,value:o,formElement:a,readonly:r,onUploadImage:i,onMarkdownValueChange:l}=e,[s,c]=(0,h.useState)(!1),d=async(n,o)=>{const a=[];let r=[];for(let e=0;e<n.length;e++){const t=n.item(e);t&&t.type.includes("image")&&a.push(t)}try{r=await Promise.all(a.map((async n=>{const a=await(0,y.i)(t,{file:n,width:0,height:0}),r=(l=null==a?void 0:a.objectName,`/next/api/gateway/object_store.object_store.GetObject/api/v1/objectStore/bucket/${e.bucketName}/object/${l}`);var l;const s=n.name;return i&&i({name:s,src:r}),o.nodes.image.createAndFill({src:r,alt:s})})))}catch(e){console.error("upload failed:",e)}return r},u=(0,W.Uv)(),k=(0,W.rJ)(),b=(0,W.$X)(),g=(0,h.useMemo)((()=>r?[]:[S.Te,I.EI,I.nk,e=>async()=>{e.set(I.EI.key,{view:u({component:I.ST})})},(0,I.jp)(k)].flat()),[r,u,k]),{get:_}=(0,w.hG)((e=>A.KE.make().config((n=>{n.set(A.k,e),n.update(A.QM,(e=>({...e,editable:()=>!r}))),o&&n.set(A.CI,o),n.get(C.Ob).markdownUpdated(((e,t,n)=>{l&&l(t)})).focus((()=>{c(!0)})).blur((()=>{c(!1)})),t&&n.update(N.wu.key,(e=>({...e,uploader:d}))),n.update(j.mS.key,(e=>({...e,configureRefractor:()=>q.L})))})).config(f.E).use(C.F_).use(v.PD).use(E.b6).use(S.Te).use(M.pZ).use(N.Se).use(g).use(j.Wj).use(r?[]:(0,x.m5)(v.Ay.node,(()=>b({component:T.N}))))),[]);function F(e,t){var n;return null===(n=_())||void 0===n?void 0:n.action((0,x.KD)(e,t))}(0,h.useEffect)((()=>{var e;a&&void 0!==o&&!s&&(null===(e=_())||void 0===e||e.action((0,x.yh)(o)))}),[_(),o]);const V=[{icon:{lib:"antd",icon:"undo"},onClick:()=>F(E.Eb.key),tooltip:"撤销"},{icon:{lib:"antd",icon:"redo"},onClick:()=>F(E.eD.key),tooltip:"重做"},{icon:{lib:"antd",icon:"bold"},onClick:()=>F(v.vY.key),tooltip:"粗体"},{icon:{lib:"antd",icon:"italic"},onClick:()=>F(v.e0.key),tooltip:"斜体"},{icon:{lib:"antd",icon:"strikethrough"},onClick:()=>F(S.$l.key),tooltip:"删除线"},{icon:{lib:"antd",icon:"table"},onClick:()=>F(S.f$.key),tooltip:"表格"},{icon:{lib:"antd",icon:"unordered-list"},onClick:()=>F(v.Xk.key),tooltip:"无序列表"},{icon:{lib:"antd",icon:"ordered-list"},onClick:()=>F(v.Ej.key),tooltip:"有序列表"},{icon:{lib:"fa",icon:"quote-right"},onClick:()=>F(v.oO.key),tooltip:"块引用"}];return p().createElement(le,(0,m.A)({exportparts:"message"},(0,D.v)(e)),p().createElement("div",{className:U()("markdown-container",{readonly:r}),style:n},!r&&p().createElement("div",{className:"menu-container-outter"},p().createElement("div",{className:"menu-container-inner prose"},V.map((e=>p().createElement(ce,(0,m.A)({},e,{key:JSON.stringify(e.icon)})))))),p().createElement("div",{className:"editor-container"},p().createElement(w.y5,null))))}o=Ne,({e:[$,B,O,R,L,P,G,J,K,X,Y,Q,Z,z,H,ee,te,ne,oe,ae,re,ie],c:[he,V]}=(0,u.A)(o,[de("eo-markdown-editor",{styleTexts:[g.A],alias:["markdown.markdown-editor"]})],[[ue(),1,"name"],[ue(),1,"label"],[ue({type:Boolean}),1,"required"],[ue(),1,"value"],[ue(),1,"bucketName"],[ue({type:Boolean}),1,"readonly"],[ue({attribute:!1}),1,"containerStyle"],[me({type:"image.upload"}),1,"uploadImage",e=>(0,d.A)(ve,e),(e,t)=>(0,c.A)(ve,e,t)],[me({type:"markdown.value.change"}),1,"markdownValueChange",e=>(0,d.A)(Ee,e),(e,t)=>(0,c.A)(Ee,e,t)]],0,(e=>fe.has((0,l.A)(e))),_.N)),V();var Ce=n(1085),Se=n(45),Me=n(5301),je=n(2967),We=n(3730),qe=n(5487),Ie=n(4269),Te=n(4650);function _e(){function e(e,t,n){if(!n||"pre"!==n.tagName||"code"!==e.tagName)return;const o=function(e){const t=e.properties.className||[];for(const e of t)if("language-"===e.slice(0,9))return e.slice(9).toLowerCase();return null}(e);if(null===o)return;let a;try{n.properties.className=(n.properties.className||[]).concat("language-"+o),a=q.L.highlight((0,Te.d)(e),o)}catch{return}e.children=a.children}return t=>{(0,Ie.YR)(t,"element",e)}}const De={Fragment:Ce.Fragment,jsx:Ce.jsx,jsxs:Ce.jsxs};function Fe(e){let{content:t}=e;const[n,o]=(0,h.useState)(null);return(0,h.useEffect)((()=>{let e=!1;return(0,Se.l)().use(Me.A).use(je.A).use(We.A).use([_e]).use(qe.A,De).process(t).then((t=>{e||o(t.result)})).catch((t=>{e||(console.error("Convert markdown failed:",t),o(null))})),()=>{e=!0}}),[t]),n}var Ue,Ve=n(4724),$e=n(2591),Be=n.n($e),Oe=n(1740),Re=n.n(Oe),Le=n(8128),Pe=n.n(Le),Ge=n(855),Je=n.n(Ge),Ke=n(3051),Xe=n.n(Ke),Ye=n(3656),Qe=n.n(Ye),Ze=n(7148),ze={};let He,et,tt;ze.styleTagTransform=Qe(),ze.setAttributes=Je(),ze.insert=Pe().bind(null,"head"),ze.domAPI=Re(),ze.insertStyleElement=Xe(),Be()(Ze.A,ze),Ze.A&&Ze.A.locals&&Ze.A.locals;const{defineElement:nt,property:ot}=(0,k.createDecorators)();let at;var rt=new WeakMap;class it extends b.ReactNextElement{constructor(){super(...arguments),(0,i.A)(this,rt,et(this)),tt(this)}get content(){return(0,d.A)(rt,this)}set content(e){(0,c.A)(rt,this,e)}render(){return p().createElement(Fe,{content:this.content})}}Ue=it,({e:[et,tt],c:[at,He]}=(0,u.A)(Ue,[nt("eo-markdown-display",{styleTexts:[Ve.A]})],[[ot(),1,"content"]],0,void 0,b.ReactNextElement)),He()},4724:(e,t,n)=>{n.d(t,{A:()=>c});var o=n(6758),a=n.n(o),r=n(935),i=n.n(r),l=n(6131),s=i()(a());s.i(l.A),s.push([e.id,":host{display:block}:host([hidden]){display:none}pre{white-space:pre-wrap;background-color:var(--palette-gray-3);border-radius:6px;padding:1em}: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}",""]);const c=s.toString()},6131:(e,t,n)=>{n.d(t,{A:()=>c});var o=n(6758),a=n.n(o),r=n(935),i=n.n(r),l=n(7745),s=i()(a());s.i(l.A),s.push([e.id,"",""]);const c=s.toString()},7148:(e,t,n)=>{n.d(t,{A:()=>l});var o=n(6758),a=n.n(o),r=n(935),i=n.n(r)()(a());i.push([e.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)}',""]);const l=i}}]);
2
- //# sourceMappingURL=698.9f443cfc.js.map
1
+ "use strict";(globalThis.webpackChunk_next_bricks_markdown=globalThis.webpackChunk_next_bricks_markdown||[]).push([[698],{698:(e,t,n)=>{var o,a=n(4586),r=n(4635),i=n(918),l=n(6902),s=n(5536),c=n(6121),d=n(829),u=n(2740),m=n(9575),h=n(8769),p=n.n(h),k=n(7921),b=n(1280),g=(n(6477),n(998)),y=n(1408),A=n(2113),w=n(2466),v=n(1854),f=n(9760),E=n(135),N=n(6486),x=n(6512),C=n(8653),S=n(537),M=n(5435),j=n(9796),W=n(3971),q=n(9830),I=n(1151),T=n(4557),_=n(426),D=n(235),F=n(3373),U=n.n(F);let V,$,B,O,R,L,P,G,J,K,X,Y,Q,Z,z,H,ee,te,ne,oe,ae,re,ie;const le=(0,b.wrapBrick)("eo-form-item"),se=(0,b.wrapBrick)("eo-icon"),ce=e=>{let{icon:t,onClick:n,tooltip:o}=e;return p().createElement("div",{className:"menu-btn-box",onMouseDown:e=>{null==n||n(),e.preventDefault()}},p().createElement(se,(0,m.A)({style:{verticalAlign:"middle"}},t)),o&&p().createElement("div",{className:"menuIconTooltip"},o))},{defineElement:de,property:ue,event:me}=(0,k.createDecorators)();let he;var pe=new WeakMap,ke=new WeakMap,be=new WeakMap,ge=new WeakMap,ye=new WeakMap,Ae=new WeakMap,we=new WeakMap,ve=new WeakMap,fe=new WeakSet,Ee=new WeakMap;class Ne extends _.N{constructor(){super(...arguments),(0,r.A)(this,fe),(0,i.A)(this,pe,$(this)),(0,i.A)(this,ke,(B(this),O(this))),(0,i.A)(this,be,(R(this),L(this))),(0,i.A)(this,ge,(P(this),G(this))),(0,i.A)(this,ye,(J(this),K(this))),(0,i.A)(this,Ae,(X(this),Y(this))),(0,i.A)(this,we,(Q(this),Z(this))),(0,i.A)(this,ve,(z(this),H(this))),(0,a.A)(this,"handleUploadImage",(ne(this),e=>{(0,s.A)(fe,this,ee).emit(e)})),(0,i.A)(this,Ee,oe(this)),(0,a.A)(this,"handleMarkdownValueChange",(ie(this),e=>{var t;null===(t=this.getFormElement())||void 0===t||t.formStore.onChange(this.name,e),this.value=e,(0,s.A)(fe,this,ae).emit(e)}))}get name(){return(0,d.A)(pe,this)}set name(e){(0,c.A)(pe,this,e)}get label(){return(0,d.A)(ke,this)}set label(e){(0,c.A)(ke,this,e)}get required(){return(0,d.A)(be,this)}set required(e){(0,c.A)(be,this,e)}get value(){return(0,d.A)(ge,this)}set value(e){(0,c.A)(ge,this,e)}get bucketName(){return(0,d.A)(ye,this)}set bucketName(e){(0,c.A)(ye,this,e)}get readonly(){return(0,d.A)(Ae,this)}set readonly(e){(0,c.A)(Ae,this,e)}get containerStyle(){return(0,d.A)(we,this)}set containerStyle(e){(0,c.A)(we,this,e)}render(){return p().createElement(w.pb,null,p().createElement(W.vo,null,p().createElement(xe,{formElement:this.getFormElement(),name:this.name,label:this.label,required:this.required,curElement:this,bucketName:this.bucketName,value:this.value,readonly:this.readonly,containerStyle:this.containerStyle,onUploadImage:this.handleUploadImage,onMarkdownValueChange:this.handleMarkdownValueChange})))}}function xe(e){const{bucketName:t,containerStyle:n,value:o,formElement:a,readonly:r,onUploadImage:i,onMarkdownValueChange:l}=e,[s,c]=(0,h.useState)(!1),d=async(n,o)=>{const a=[];let r=[];for(let e=0;e<n.length;e++){const t=n.item(e);t&&t.type.includes("image")&&a.push(t)}try{r=await Promise.all(a.map((async n=>{const a=await(0,y.i)(t,{file:n,width:0,height:0}),r=(l=null==a?void 0:a.objectName,`/next/api/gateway/object_store.object_store.GetObject/api/v1/objectStore/bucket/${e.bucketName}/object/${l}`);var l;const s=n.name;return i&&i({name:s,src:r}),o.nodes.image.createAndFill({src:r,alt:s})})))}catch(e){console.error("upload failed:",e)}return r},u=(0,W.Uv)(),k=(0,W.rJ)(),b=(0,W.$X)(),g=(0,h.useMemo)((()=>r?[]:[S.Te,I.EI,I.nk,e=>async()=>{e.set(I.EI.key,{view:u({component:I.ST})})},(0,I.jp)(k)].flat()),[r,u,k]),{get:_}=(0,w.hG)((e=>A.KE.make().config((n=>{n.set(A.k,e),n.update(A.QM,(e=>({...e,editable:()=>!r}))),o&&n.set(A.CI,o),n.get(C.Ob).markdownUpdated(((e,t,n)=>{l&&l(t)})).focus((()=>{c(!0)})).blur((()=>{c(!1)})),t&&n.update(N.wu.key,(e=>({...e,uploader:d}))),n.update(j.mS.key,(e=>({...e,configureRefractor:()=>q.L})))})).config(f.E).use(C.F_).use(v.PD).use(E.b6).use(S.Te).use(M.pZ).use(N.Se).use(g).use(j.Wj).use(r?[]:(0,x.m5)(v.Ay.node,(()=>b({component:T.N}))))),[]);function F(e,t){var n;return null===(n=_())||void 0===n?void 0:n.action((0,x.KD)(e,t))}(0,h.useEffect)((()=>{var e;a&&void 0!==o&&!s&&(null===(e=_())||void 0===e||e.action((0,x.yh)(o)))}),[_(),o]);const V=[{icon:{lib:"antd",icon:"undo"},onClick:()=>F(E.Eb.key),tooltip:"撤销"},{icon:{lib:"antd",icon:"redo"},onClick:()=>F(E.eD.key),tooltip:"重做"},{icon:{lib:"antd",icon:"bold"},onClick:()=>F(v.vY.key),tooltip:"粗体"},{icon:{lib:"antd",icon:"italic"},onClick:()=>F(v.e0.key),tooltip:"斜体"},{icon:{lib:"antd",icon:"strikethrough"},onClick:()=>F(S.$l.key),tooltip:"删除线"},{icon:{lib:"antd",icon:"table"},onClick:()=>F(S.f$.key),tooltip:"表格"},{icon:{lib:"antd",icon:"unordered-list"},onClick:()=>F(v.Xk.key),tooltip:"无序列表"},{icon:{lib:"antd",icon:"ordered-list"},onClick:()=>F(v.Ej.key),tooltip:"有序列表"},{icon:{lib:"fa",icon:"quote-right"},onClick:()=>F(v.oO.key),tooltip:"块引用"}];return p().createElement(le,(0,m.A)({exportparts:"message"},(0,D.v)(e)),p().createElement("div",{className:U()("markdown-container",{readonly:r}),style:n},!r&&p().createElement("div",{className:"menu-container-outter"},p().createElement("div",{className:"menu-container-inner prose"},V.map((e=>p().createElement(ce,(0,m.A)({},e,{key:JSON.stringify(e.icon)})))))),p().createElement("div",{className:"editor-container"},p().createElement(w.y5,null))))}o=Ne,({e:[$,B,O,R,L,P,G,J,K,X,Y,Q,Z,z,H,ee,te,ne,oe,ae,re,ie],c:[he,V]}=(0,u.A)(o,[de("eo-markdown-editor",{styleTexts:[g.A],alias:["markdown.markdown-editor"]})],[[ue(),1,"name"],[ue(),1,"label"],[ue({type:Boolean}),1,"required"],[ue(),1,"value"],[ue(),1,"bucketName"],[ue({type:Boolean}),1,"readonly"],[ue({attribute:!1}),1,"containerStyle"],[me({type:"image.upload"}),1,"uploadImage",e=>(0,d.A)(ve,e),(e,t)=>(0,c.A)(ve,e,t)],[me({type:"markdown.value.change"}),1,"markdownValueChange",e=>(0,d.A)(Ee,e),(e,t)=>(0,c.A)(Ee,e,t)]],0,(e=>fe.has((0,l.A)(e))),_.N)),V();var Ce=n(1085),Se=n(45),Me=n(5301),je=n(2967),We=n(3730),qe=n(5487),Ie=n(4269),Te=n(4650);function _e(){function e(e,t,n){if(!n||"pre"!==n.tagName||"code"!==e.tagName)return;const o=function(e){const t=e.properties.className||[];for(const e of t)if("language-"===e.slice(0,9))return e.slice(9).toLowerCase();return null}(e);if(null===o)return;let a;try{n.properties.className=(n.properties.className||[]).concat("language-"+o),a=q.L.highlight((0,Te.d)(e),o)}catch{return}e.children=a.children}return t=>{(0,Ie.YR)(t,"element",e)}}const De={Fragment:Ce.Fragment,jsx:Ce.jsx,jsxs:Ce.jsxs};function Fe(e){let{content:t}=e;const[n,o]=(0,h.useState)(null);return(0,h.useEffect)((()=>{let e=!1;return(0,Se.l)().use(Me.A).use(je.A).use(We.A).use([_e]).use(qe.A,De).process(t).then((t=>{e||o(t.result)})).catch((t=>{e||(console.error("Convert markdown failed:",t),o(null))})),()=>{e=!0}}),[t]),n}var Ue,Ve=n(4724),$e=n(2591),Be=n.n($e),Oe=n(1740),Re=n.n(Oe),Le=n(8128),Pe=n.n(Le),Ge=n(855),Je=n.n(Ge),Ke=n(3051),Xe=n.n(Ke),Ye=n(3656),Qe=n.n(Ye),Ze=n(7148),ze={};let He,et,tt;ze.styleTagTransform=Qe(),ze.setAttributes=Je(),ze.insert=Pe().bind(null,"head"),ze.domAPI=Re(),ze.insertStyleElement=Xe(),Be()(Ze.A,ze),Ze.A&&Ze.A.locals&&Ze.A.locals;const{defineElement:nt,property:ot}=(0,k.createDecorators)();let at;var rt=new WeakMap;class it extends b.ReactNextElement{constructor(){super(...arguments),(0,i.A)(this,rt,et(this)),tt(this)}get content(){return(0,d.A)(rt,this)}set content(e){(0,c.A)(rt,this,e)}render(){return p().createElement(Fe,{content:this.content})}}Ue=it,({e:[et,tt],c:[at,He]}=(0,u.A)(Ue,[nt("eo-markdown-display",{styleTexts:[Ve.A]})],[[ot(),1,"content"]],0,void 0,b.ReactNextElement)),He()},4724:(e,t,n)=>{n.d(t,{A:()=>c});var o=n(6758),a=n.n(o),r=n(935),i=n.n(r),l=n(6131),s=i()(a());s.i(l.A),s.push([e.id,":host{display:block}:host([hidden]){display:none}pre{white-space:pre-wrap;background-color:var(--palette-gray-3);border-radius:6px;padding:1em}: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}",""]);const c=s.toString()},6131:(e,t,n)=>{n.d(t,{A:()=>c});var o=n(6758),a=n.n(o),r=n(935),i=n.n(r),l=n(7745),s=i()(a());s.i(l.A),s.push([e.id,"",""]);const c=s.toString()},7148:(e,t,n)=>{n.d(t,{A:()=>l});var o=n(6758),a=n.n(o),r=n(935),i=n.n(r)()(a());i.push([e.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)}',""]);const l=i}}]);
2
+ //# sourceMappingURL=698.9f706f48.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chunks/698.9f443cfc.js","mappings":"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","sources":["webpack:///./src/markdown-editor/index.tsx","webpack:///../../src/rehypePrism.ts","webpack:///../../src/MarkdownComponent.tsx","webpack:///./src/markdown-display/host-context.css?6555","webpack:///./src/markdown-display/index.tsx","webpack:///./src/markdown-display/styles.shadow.css","webpack:///../../shared/markdown/dist/esm/prism-tomorrow.css","webpack:///./src/markdown-display/host-context.css"],"sourcesContent":["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","import { visit } from \"unist-util-visit\";\nimport { toString } from \"hast-util-to-string\";\nimport { refractor, type RefractorElement } from \"refractor\";\n\n// Reference https://github.com/mapbox/rehype-prism\nexport function rehypePrism() {\n function visitor(\n node: RefractorElement,\n _index: number | undefined,\n parent: RefractorElement | undefined\n ) {\n if (!parent || parent.tagName !== \"pre\" || node.tagName !== \"code\") {\n return;\n }\n\n const lang = getLanguage(node);\n\n if (lang === null) {\n return;\n }\n\n let result;\n try {\n parent.properties.className = (\n (parent.properties.className as string[]) || []\n ).concat(\"language-\" + lang);\n result = refractor.highlight(toString(node), lang);\n } catch {\n return;\n }\n\n node.children = result.children;\n }\n return (tree: RefractorElement) => {\n visit(tree, \"element\", visitor);\n };\n}\n\nfunction getLanguage(node: RefractorElement) {\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 { useEffect, useState } from \"react\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nimport { unified } from \"unified\";\nimport remarkParse from \"remark-parse\";\nimport remarkGfm from \"remark-gfm\";\nimport remarkToRehype from \"remark-rehype\";\nimport rehypeReact, { Options as RehypeReactOptions } from \"rehype-react\";\nimport { rehypePrism } from \"./rehypePrism.js\";\n\nconst production = { Fragment, jsx, jsxs };\n\nexport interface MarkdownComponentProps {\n content?: string;\n}\n\n// Reference https://github.com/remarkjs/react-remark/blob/39553e5f5c9e9b903bebf261788ff45130668de0/src/index.ts\nexport function MarkdownComponent({ content }: MarkdownComponentProps) {\n const [reactContent, setReactContent] = useState<JSX.Element | null>(null);\n\n useEffect(() => {\n let ignore = false;\n unified()\n .use(remarkParse)\n .use(remarkGfm)\n .use(remarkToRehype)\n .use([rehypePrism])\n .use(rehypeReact, production as RehypeReactOptions)\n .process(content)\n .then((vFile) => {\n if (!ignore) {\n setReactContent(vFile.result);\n }\n })\n .catch((error) => {\n if (!ignore) {\n // eslint-disable-next-line no-console\n console.error(\"Convert markdown failed:\", error);\n setReactContent(null);\n }\n });\n return () => {\n ignore = true;\n };\n }, [content]);\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 from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport { MarkdownComponent } from \"@next-shared/markdown\";\nimport styleText from \"./styles.shadow.css\";\nimport \"./host-context.css\";\n\nconst { defineElement, property } = createDecorators();\n\nexport interface MarkdownDisplayProps {\n content?: string;\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 render() {\n return <MarkdownComponent content={this.content} />;\n }\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_AT_RULE_IMPORT_0___ from \"-!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[0]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../../../shared/markdown/dist/esm/prism-tomorrow.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block}:host([hidden]){display:none}pre{white-space:pre-wrap;background-color:var(--palette-gray-3);border-radius:6px;padding:1em}:not(pre) > code{color:var(--eo-markdown-display-code-color);background:var(--eo-markdown-display-code-background);margin:0 2px;padding:1px 6px;white-space:nowrap;border-radius:3px}blockquote{border-left:6px solid var(--eo-markdown-display-blockquote-border-color);padding:0 1em}:not(blockquote) > blockquote{margin-left:0;margin-right:0}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// 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_AT_RULE_IMPORT_0___ from \"-!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[0]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../../../node_modules/prismjs/themes/prism-tomorrow.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\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, `: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"],"names":["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","push","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","rehypePrism","visitor","_index","parent","tagName","lang","properties","classListItem","slice","toLowerCase","getLanguage","result","concat","highlight","toString","children","tree","visit","production","Fragment","jsx","jsxs","MarkdownComponent","content","reactContent","setReactContent","ignore","unified","remarkParse","remarkGfm","remarkToRehype","rehypeReact","process","then","vFile","catch","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","_MarkdownDisplay","MarkdownDisplay","ReactNextElement","_init_content","_init_extra_content","_MarkdownDisplay2","___CSS_LOADER_EXPORT___","module","id"],"sourceRoot":""}
1
+ {"version":3,"file":"chunks/698.9f706f48.js","mappings":"4hBA6DA,MAAMA,IAAkBC,EAAAA,EAAAA,WAAmC,gBAErDC,IAAcD,EAAAA,EAAAA,WAAyC,WAEvDE,GAAkCC,IAAgC,IAA/B,KAAEC,EAAI,QAAEC,EAAO,QAAEC,GAASH,EACjE,OACEI,IAAAA,cAAA,OACEC,UAAU,eACVC,YAAcC,IACZL,SAAAA,IACAK,EAAEC,gBAAgB,GAGpBJ,IAAAA,cAACN,IAAWW,EAAAA,EAAAA,GAAA,CAACC,MAAO,CAAEC,cAAe,WAAgBV,IACpDE,GAAWC,IAAAA,cAAA,OAAKC,UAAU,mBAAmBF,GAC1C,GAwBJ,cAAES,GAAa,SAAEC,GAAUC,MAAKA,KAAKC,EAAAA,EAAAA,oBAAmB,IAAAC,GAAA,IAAAC,GAAA,IAAAC,QAAAC,GAAA,IAAAD,QAAAE,GAAA,IAAAF,QAAAG,GAAA,IAAAH,QAAAI,GAAA,IAAAJ,QAAAK,GAAA,IAAAL,QAAAM,GAAA,IAAAN,QAAAO,GAAA,IAAAP,QAAAQ,GAAA,IAAAC,QAAAC,GAAA,IAAAV,QAE9D,MAAAW,WAY6BC,EAAAA,EAAoBC,WAAAA,GAAA,SAAAC,YAAAC,EAAAA,EAAAA,GAAA,KAAAP,KAC/CQ,EAAAA,EAAAA,GAAA,KAAAjB,GAAAkB,EAAA,QAKAD,EAAAA,EAAAA,GAAA,KAAAf,IAAAiB,EAAA,MAAAC,EAAA,SAKAH,EAAAA,EAAAA,GAAA,KAAAd,IAAAkB,EAAA,MAAAC,EAAA,SAMAL,EAAAA,EAAAA,GAAA,KAAAb,IAAAmB,EAAA,MAAAC,EAAA,SAMAP,EAAAA,EAAAA,GAAA,KAAAZ,IAAAoB,EAAA,MAAAC,EAAA,SAMAT,EAAAA,EAAAA,GAAA,KAAAX,IAAAqB,EAAA,MAAAC,EAAA,SAQAX,EAAAA,EAAAA,GAAA,KAAAV,IAAAsB,EAAA,MAAAC,EAAA,SAQAb,EAAAA,EAAAA,GAAA,KAAAT,IAAAuB,EAAA,MAAAC,EAAA,SAAAC,EAAAA,EAAAA,GAAA,0BAAAC,GAAA,MAO6BC,KAC3BC,EAAAA,EAAAA,GAAA3B,GAAA4B,KAAKC,IAAaC,KAAKJ,EAAM,KAG/BlB,EAAAA,EAAAA,GAAA,KAAAN,GAAA6B,GAAA,QAAAP,EAAAA,EAAAA,GAAA,kCAAAQ,GAAA,MAO6BN,IAAwB,IAAAO,EAC9B,QAArBA,EAAAL,KAAKM,wBAAgB,IAAAD,GAArBA,EAAuBE,UAAUC,SAASR,KAAKS,KAAOX,GACtDE,KAAKF,MAAQA,GACbC,EAAAA,EAAAA,GAAA3B,GAAA4B,KAAKU,IAAqBR,KAAKJ,EAAM,GACtC,SA/DoBW,GAAI,OAAAE,EAAAA,EAAAA,GAAAhD,GAAA,cAAJ8C,CAAIG,IAAAC,EAAAA,EAAAA,GAAAlD,GAAA,KAAAiD,EAAA,UAKJE,GAAK,OAAAH,EAAAA,EAAAA,GAAA9C,GAAA,eAALiD,CAAKF,IAAAC,EAAAA,EAAAA,GAAAhD,GAAA,KAAA+C,EAAA,aAMjBG,GAAQ,OAAAJ,EAAAA,EAAAA,GAAA7C,GAAA,kBAARiD,CAAQH,IAAAC,EAAAA,EAAAA,GAAA/C,GAAA,KAAA8C,EAAA,UAMId,GAAK,OAAAa,EAAAA,EAAAA,GAAA5C,GAAA,eAAL+B,CAAKc,IAAAC,EAAAA,EAAAA,GAAA9C,GAAA,KAAA6C,EAAA,eAMLI,GAAU,OAAAL,EAAAA,EAAAA,GAAA3C,GAAA,oBAAVgD,CAAUJ,IAAAC,EAAAA,EAAAA,GAAA7C,GAAA,KAAA4C,EAAA,aAQtBK,GAAQ,OAAAN,EAAAA,EAAAA,GAAA1C,GAAA,kBAARgD,CAAQL,IAAAC,EAAAA,EAAAA,GAAA5C,GAAA,KAAA2C,EAAA,mBAQRM,GAAc,OAAAP,EAAAA,EAAAA,GAAAzC,GAAA,wBAAdgD,CAAcN,IAAAC,EAAAA,EAAAA,GAAA3C,GAAA,KAAA0C,EAAA,CA0BvBO,MAAAA,GACE,OACErE,IAAAA,cAACsE,EAAAA,GAAgB,KACftE,IAAAA,cAACuE,EAAAA,GAA0B,KACzBvE,IAAAA,cAACwE,GAAuB,CACtBC,YAAavB,KAAKM,iBAClBG,KAAMT,KAAKS,KACXK,MAAOd,KAAKc,MACZC,SAAUf,KAAKe,SACfS,WAAYxB,KACZgB,WAAYhB,KAAKgB,WACjBlB,MAAOE,KAAKF,MACZmB,SAAUjB,KAAKiB,SACfC,eAAgBlB,KAAKkB,eACrBO,cAAezB,KAAK0B,kBACpBC,sBAAuB3B,KAAK4B,6BAKtC,EAKK,SAASN,GAAwBO,GACtC,MAAM,WACJb,EAAU,eACVE,EAAc,MACdpB,EAAK,YACLyB,EAAW,SACXN,EAAQ,cACRQ,EAAa,sBACbE,GACEE,GAEGC,EAASC,IAAcC,EAAAA,EAAAA,WAAS,GAMjCC,EAAqBC,MAAOC,EAAiBC,KACjD,MAAMC,EAAiB,GACvB,IAAIC,EAAgB,GAEpB,IAAK,IAAIC,EAAI,EAAGA,EAAIJ,EAAMK,OAAQD,IAAK,CACrC,MAAME,EAAON,EAAMO,KAAKH,GAEnBE,GAKAA,EAAKE,KAAKC,SAAS,UAIxBP,EAAOQ,KAAKJ,EACd,CAGA,IACEH,QAAcQ,QAAQC,IACpBV,EAAOW,KAAId,UACT,MAAMe,QAAsBC,EAAAA,EAAAA,GAC1BlC,EACA,CACEyB,KAAMU,EACNC,MAAO,EACPC,OAAQ,IAGNC,GAnCkBC,EAmCWN,aAAQ,EAARA,EAAUM,WAlC5C,mFAAmF1B,EAAMb,qBAAqBuC,KADvFA,MAoCxB,MAAMC,EAAML,EAAM1C,KAElB,OADAgB,GAAiBA,EAAc,CAAEhB,KAAM+C,EAAKF,QACrClB,EAAOE,MAAMa,MAAMM,cAAc,CACtCH,MACAE,OACA,IAGR,CAAE,MAAOE,GAEPC,QAAQC,MAAM,iBAAkBF,EAClC,CAEA,OAAOpB,CAAK,EAGRuB,GAAoBC,EAAAA,EAAAA,MACpBC,GAAoBC,EAAAA,EAAAA,MACpBC,GAAkBC,EAAAA,EAAAA,MAElBC,GAA+BC,EAAAA,EAAAA,UAAQ,IACpCnD,EACH,GACA,CACEoD,EAAAA,GACAC,EAAAA,GACAC,EAAAA,GACCC,GAAatC,UACZsC,EAAIC,IAAIH,EAAAA,GAAaI,IAAK,CACxBC,KAAMd,EAAkB,CACtBe,UAAWC,EAAAA,MAEb,GAEJC,EAAAA,EAAAA,IAAoBf,IACpBgB,QACL,CAAC9D,EAAU4C,EAAmBE,KAE3B,IAAEiB,IAAQC,EAAAA,EAAAA,KAAWC,GAClBC,EAAAA,GAAOC,OACXC,QAAQb,IAEPA,EAAIC,IAAIa,EAAAA,EAASJ,GACjBV,EAAIe,OAAOC,EAAAA,IAAuBC,IAAS,IACtCA,EACHC,SAAUA,KAAOzE,MAGnBnB,GAAS0E,EAAIC,IAAIkB,EAAAA,GAAiB7F,GAElC0E,EACGQ,IAAIY,EAAAA,IACJC,iBAEC,CAACrB,EAAUsB,EAAkBC,KAC3BpE,GAAyBA,EAAsBmE,EAAS,IAG3DE,OAAM,KACLjE,GAAW,EAAK,IAEjBkE,MAAK,KACJlE,GAAW,EAAM,IAGrBf,GACEwD,EAAIe,OAAOW,EAAAA,GAAaxB,KAAMe,IAAS,IAClCA,EACHxD,eAGJuC,EAAIe,OAAOY,EAAAA,GAAYzB,KAAMe,IAAS,IACjCA,EACHW,mBAAoBA,IAAMC,EAAAA,KACzB,IAEJhB,OAAOiB,EAAAA,GACPC,IAAIC,EAAAA,IACJD,IAAIE,EAAAA,IACJF,IAAIG,EAAAA,IACJH,IAAIlC,EAAAA,IACJkC,IAAII,EAAAA,IACJJ,IAAIK,EAAAA,IACJL,IAAIpC,GACJoC,IAAIM,EAAAA,IACJN,IACCtF,EACI,IACA6F,EAAAA,EAAAA,IAAMC,EAAAA,GAAgBC,MAAM,IAC1B/C,EAAgB,CAAEW,UAAWqC,EAAAA,QAGtC,IAUH,SAASC,EAAQC,EAAoBC,GAAa,IAAAC,EAChD,OAAY,QAAZA,EAAOrC,WAAK,IAAAqC,OAAA,EAALA,EAAOC,QAAOC,EAAAA,EAAAA,IAAYJ,EAASC,GAC5C,EAVAI,EAAAA,EAAAA,YAAU,KAG4C,IAAAC,EAAhDlG,QAAyBmG,IAAV5H,IAAwBgC,IACpC,QAAL2F,EAAAzC,WAAK,IAAAyC,GAALA,EAAOH,QAAOK,EAAAA,EAAAA,IAAW7H,IAC3B,GACC,CAACkF,IAAOlF,IAMX,MAAM8H,EAAiC,CACrC,CACEjL,KAAM,CAAEkL,IAAK,OAAQlL,KAAM,QAC3BC,QAASA,IAAMsK,EAAKY,EAAAA,GAAYpD,KAChC7H,QAAS,MAEX,CACEF,KAAM,CAAEkL,IAAK,OAAQlL,KAAM,QAC3BC,QAASA,IAAMsK,EAAKa,EAAAA,GAAYrD,KAChC7H,QAAS,MAEX,CACEF,KAAM,CAAEkL,IAAK,OAAQlL,KAAM,QAC3BC,QAASA,IAAMsK,EAAKc,EAAAA,GAAoBtD,KACxC7H,QAAS,MAEX,CACEF,KAAM,CAAEkL,IAAK,OAAQlL,KAAM,UAC3BC,QAASA,IAAMsK,EAAKe,EAAAA,GAAsBvD,KAC1C7H,QAAS,MAEX,CACEF,KAAM,CAAEkL,IAAK,OAAQlL,KAAM,iBAC3BC,QAASA,IAAMsK,EAAKgB,EAAAA,GAA2BxD,KAC/C7H,QAAS,OAEX,CACEF,KAAM,CAAEkL,IAAK,OAAQlL,KAAM,SAC3BC,QAASA,IAAMsK,EAAKiB,EAAAA,GAAmBzD,KACvC7H,QAAS,MAEX,CACEF,KAAM,CAAEkL,IAAK,OAAQlL,KAAM,kBAC3BC,QAASA,IAAMsK,EAAKkB,EAAAA,GAAwB1D,KAC5C7H,QAAS,QAEX,CACEF,KAAM,CAAEkL,IAAK,OAAQlL,KAAM,gBAC3BC,QAASA,IAAMsK,EAAKmB,EAAAA,GAAyB3D,KAC7C7H,QAAS,QAEX,CACEF,KAAM,CAAEkL,IAAK,KAAMlL,KAAM,eACzBC,QAASA,IAAMsK,EAAKoB,EAAAA,GAAwB5D,KAC5C7H,QAAS,QAIb,OACEC,IAAAA,cAACR,IAAea,EAAAA,EAAAA,GAAA,CAACoL,YAAY,YAAcC,EAAAA,EAAAA,GAAkB3G,IAC3D/E,IAAAA,cAAA,OACEC,UAAW0L,IAAW,qBAAsB,CAC1CxH,aAEF7D,MAAO8D,IAELD,GACAnE,IAAAA,cAAA,OAAKC,UAAU,yBACbD,IAAAA,cAAA,OAAKC,UAAU,8BACZ6K,EAAY5E,KAAKN,GAChB5F,IAAAA,cAACL,IAAUU,EAAAA,EAAAA,GAAA,GAAKuF,EAAI,CAAEgC,IAAKgE,KAAKC,UAAUjG,EAAK/F,aAKvDG,IAAAA,cAAA,OAAKC,UAAU,oBACbD,IAAAA,cAAC8L,EAAAA,GAAQ,QAKnB,CAtOCC,EAAAtK,KAAAtB,GAAA4B,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAM,GAAA6I,GAAAjJ,GAAAM,GAAAO,GAAAqI,GAAA3I,IAAA4I,GAAAtL,GAAAuL,KAAAC,EAAAA,EAAAA,GAAAL,EAAA,CAtGAvL,GAAc,qBAAsB,CACnC6L,WAAY,CAACC,EAAAA,GACbC,MAAO,CAAC,+BACR,EAaC9L,KAAU,WAKVA,KAAU,YAKVA,GAAS,CAAEoF,KAAM2G,UAAU,eAO3B/L,KAAU,YAMVA,KAAU,iBAKVA,GAAS,CACRoF,KAAM2G,UACN,eAMD/L,GAAS,CACRgM,WAAW,IACX,qBAOD/L,GAAM,CAAEmF,KAAM,iBAAiB,gBAAA6G,IAAA7I,EAAAA,EAAAA,GAAAxC,GAAAqL,GAAA,CAAAA,EAAA5I,KAAAC,EAAAA,EAAAA,GAAA1C,GAAAqL,EAAA5I,IAAA,CAW/BpD,GAAM,CAAEmF,KAAM,0BAA0B,wBAAA6G,IAAA7I,EAAAA,EAAAA,GAAArC,GAAAkL,GAAA,CAAAA,EAAA5I,KAAAC,EAAAA,EAAAA,GAAAvC,GAAAkL,EAAA5I,KAAA,GAAA6I,GAAArL,GAAAsL,KAAAC,EAAAA,EAAAA,GAAAF,KA5DdjL,EAAAA,IAAmByK,I,0FC7GzC,SAASW,KACd,SAASC,EACP7C,EACA8C,EACAC,GAEA,IAAKA,GAA6B,QAAnBA,EAAOC,SAAsC,SAAjBhD,EAAKgD,QAC9C,OAGF,MAAMC,EAuBV,SAAqBjD,GACnB,MAAMjK,EAAaiK,EAAKkD,WAAWnN,WAA0B,GAE7D,IAAK,MAAMoN,KAAiBpN,EAC1B,GAAkC,cAA9BoN,EAAcC,MAAM,EAAG,GACzB,OAAOD,EAAcC,MAAM,GAAGC,cAIlC,OAAO,IACT,CAjCiBC,CAAYtD,GAEzB,GAAa,OAATiD,EACF,OAGF,IAAIM,EACJ,IACER,EAAOG,WAAWnN,WACfgN,EAAOG,WAAWnN,WAA0B,IAC7CyN,OAAO,YAAcP,GACvBM,EAASlE,EAAAA,EAAUoE,WAAUC,EAAAA,GAAAA,GAAS1D,GAAOiD,EAC/C,CAAE,MACA,MACF,CAEAjD,EAAK2D,SAAWJ,EAAOI,QACzB,CACA,OAAQC,KACNC,EAAAA,GAAAA,IAAMD,EAAM,UAAWf,EAAQ,CAEnC,CC3BA,MAAMiB,GAAa,CAAEC,SAAQ,YAAEC,IAAG,OAAEC,KAAIA,GAAAA,MAOjC,SAASC,GAAiBxO,GAAsC,IAArC,QAAEyO,GAAiCzO,EACnE,MAAO0O,EAAcC,IAAmBrJ,EAAAA,EAAAA,UAA6B,MA4BrE,OA1BAwF,EAAAA,EAAAA,YAAU,KACR,IAAI8D,GAAS,EAoBb,OAnBAC,EAAAA,GAAAA,KACGhF,IAAIiF,GAAAA,GACJjF,IAAIkF,GAAAA,GACJlF,IAAImF,GAAAA,GACJnF,IAAI,CAACqD,KACLrD,IAAIoF,GAAAA,EAAab,IACjBc,QAAQT,GACRU,MAAMC,IACAR,GACHD,EAAgBS,EAAMvB,OACxB,IAEDwB,OAAOnI,IACD0H,IAEH3H,QAAQC,MAAM,2BAA4BA,GAC1CyH,EAAgB,MAClB,IAEG,KACLC,GAAS,CAAI,CACd,GACA,CAACH,IAEGC,CACT,C,gKCnCIY,GAAU,CAAC,E,aAEfA,GAAQC,kBAAoB,KAC5BD,GAAQE,cAAgB,KACxBF,GAAQG,OAAS,UAAc,KAAM,QACrCH,GAAQI,OAAS,KACjBJ,GAAQK,mBAAqB,KAEhB,KAAI,KAASL,IAKJ,MAAW,KAAQM,QAAS,KAAQA,OChB1D,MAAQhP,cAAa,GAAEC,SAAQA,KAAKE,EAAAA,EAAAA,oBAAmB,IAAA8O,GAAA,IAAA5O,GAAA,IAAAC,QAUvD,MAAA4O,WAG8BC,EAAAA,iBAAiDhO,WAAAA,GAAA,SAAAC,YAAAE,EAAAA,EAAAA,GAAA,KAAAjB,GAAA+O,GAAA,OAAAC,GAAA,iBAEpExB,GAAO,OAAAxK,EAAAA,EAAAA,GAAAhD,GAAA,iBAAPwN,CAAOvK,IAAAC,EAAAA,EAAAA,GAAAlD,GAAA,KAAAiD,EAAA,CAEhBO,MAAAA,GACE,OAAOrE,IAAAA,cAACoO,GAAiB,CAACC,QAASnL,KAAKmL,SAC1C,EACDyB,GAAAJ,KAAAvP,GAAAyP,GAAAC,IAAA3D,GAAAuD,GAAAtD,MAAAC,EAAAA,EAAAA,GAAA0D,GAAA,CAVAtP,GAAc,sBAAuB,CACpC6L,WAAY,CAACC,GAAAA,MACb,EAEC7L,KAAU,uBADiBkP,EAAAA,mBAAgBxD,I,qFCjB1C4D,EAA0B,IAA4B,KAC1DA,EAAwBtK,EAAE,KAE1BsK,EAAwBhK,KAAK,CAACiK,EAAOC,GAAI,oeAAqe,KAE9gB,QAAeF,EAAwBnC,U,qFCLnCmC,EAA0B,IAA4B,KAC1DA,EAAwBtK,EAAE,KAE1BsK,EAAwBhK,KAAK,CAACiK,EAAOC,GAAI,GAAI,KAE7C,QAAeF,EAAwBnC,U,kECNnCmC,E,MAA0B,GAA4B,KAE1DA,EAAwBhK,KAAK,CAACiK,EAAOC,GAAI,sTACgG,KAEzI,S","sources":["webpack:///./src/markdown-editor/index.tsx","webpack:///../../src/rehypePrism.ts","webpack:///../../src/MarkdownComponent.tsx","webpack:///./src/markdown-display/host-context.css?6555","webpack:///./src/markdown-display/index.tsx","webpack:///./src/markdown-display/styles.shadow.css","webpack:///../../shared/markdown/dist/esm/prism-tomorrow.css","webpack:///./src/markdown-display/host-context.css"],"sourcesContent":["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","import { visit } from \"unist-util-visit\";\nimport { toString } from \"hast-util-to-string\";\nimport { refractor, type RefractorElement } from \"refractor\";\n\n// Reference https://github.com/mapbox/rehype-prism\nexport function rehypePrism() {\n function visitor(\n node: RefractorElement,\n _index: number | undefined,\n parent: RefractorElement | undefined\n ) {\n if (!parent || parent.tagName !== \"pre\" || node.tagName !== \"code\") {\n return;\n }\n\n const lang = getLanguage(node);\n\n if (lang === null) {\n return;\n }\n\n let result;\n try {\n parent.properties.className = (\n (parent.properties.className as string[]) || []\n ).concat(\"language-\" + lang);\n result = refractor.highlight(toString(node), lang);\n } catch {\n return;\n }\n\n node.children = result.children;\n }\n return (tree: RefractorElement) => {\n visit(tree, \"element\", visitor);\n };\n}\n\nfunction getLanguage(node: RefractorElement) {\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 { useEffect, useState } from \"react\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nimport { unified } from \"unified\";\nimport remarkParse from \"remark-parse\";\nimport remarkGfm from \"remark-gfm\";\nimport remarkToRehype from \"remark-rehype\";\nimport rehypeReact, { Options as RehypeReactOptions } from \"rehype-react\";\nimport { rehypePrism } from \"./rehypePrism.js\";\n\nconst production = { Fragment, jsx, jsxs };\n\nexport interface MarkdownComponentProps {\n content?: string;\n}\n\n// Reference https://github.com/remarkjs/react-remark/blob/39553e5f5c9e9b903bebf261788ff45130668de0/src/index.ts\nexport function MarkdownComponent({ content }: MarkdownComponentProps) {\n const [reactContent, setReactContent] = useState<JSX.Element | null>(null);\n\n useEffect(() => {\n let ignore = false;\n unified()\n .use(remarkParse)\n .use(remarkGfm)\n .use(remarkToRehype)\n .use([rehypePrism])\n .use(rehypeReact, production as RehypeReactOptions)\n .process(content)\n .then((vFile) => {\n if (!ignore) {\n setReactContent(vFile.result);\n }\n })\n .catch((error) => {\n if (!ignore) {\n // eslint-disable-next-line no-console\n console.error(\"Convert markdown failed:\", error);\n setReactContent(null);\n }\n });\n return () => {\n ignore = true;\n };\n }, [content]);\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 from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport { MarkdownComponent } from \"@next-shared/markdown\";\nimport styleText from \"./styles.shadow.css\";\nimport \"./host-context.css\";\n\nconst { defineElement, property } = createDecorators();\n\nexport interface MarkdownDisplayProps {\n content?: string;\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 render() {\n return <MarkdownComponent content={this.content} />;\n }\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_AT_RULE_IMPORT_0___ from \"-!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[0]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../../../shared/markdown/dist/esm/prism-tomorrow.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block}:host([hidden]){display:none}pre{white-space:pre-wrap;background-color:var(--palette-gray-3);border-radius:6px;padding:1em}:not(pre) > code{color:var(--eo-markdown-display-code-color);background:var(--eo-markdown-display-code-background);margin:0 2px;padding:1px 6px;white-space:nowrap;border-radius:3px}blockquote{border-left:6px solid var(--eo-markdown-display-blockquote-border-color);padding:0 1em}:not(blockquote) > blockquote{margin-left:0;margin-right:0}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// 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_AT_RULE_IMPORT_0___ from \"-!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[0]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../../../node_modules/prismjs/themes/prism-tomorrow.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\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, `: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"],"names":["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","push","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","rehypePrism","visitor","_index","parent","tagName","lang","properties","classListItem","slice","toLowerCase","getLanguage","result","concat","highlight","toString","children","tree","visit","production","Fragment","jsx","jsxs","MarkdownComponent","content","reactContent","setReactContent","ignore","unified","remarkParse","remarkGfm","remarkToRehype","rehypeReact","process","then","vFile","catch","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","_MarkdownDisplay","MarkdownDisplay","ReactNextElement","_init_content","_init_extra_content","_MarkdownDisplay2","___CSS_LOADER_EXPORT___","module","id"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- "use strict";(globalThis.webpackChunk_next_bricks_markdown=globalThis.webpackChunk_next_bricks_markdown||[]).push([[733],{114:(e,t,n)=>{n.r(t),n.d(t,{ReactNextElement:()=>f,wrapBrick:()=>y,wrapLocalBrick:()=>S});var r=n(4635),s=n(918),o=n(2559),i=n(6121),c=n(829),a=n(8769),l=n(5873),h=n(9435),d=n(6192),u=new WeakMap,p=new WeakSet;class f extends d.NextElement{constructor(){super(...arguments),(0,r.A)(this,p),(0,s.A)(this,u,void 0)}connectedCallback(){super._markConnectedCallbackCalled(),(0,o.A)(p,this,w).call(this),this._render()}disconnectedCallback(){var e;null===(e=(0,c.A)(u,this))||void 0===e||e.render(null)}_render(){const e=()=>{if(!this.isConnected||!(0,c.A)(u,this))return;const e=this.constructor;var t;e.shadowOptions?(0,c.A)(u,this).render((0,d.supportsAdoptingStyleSheets)()||null===(t=e.styleTexts)||void 0===t||!t.length?this.render():a.createElement(a.Fragment,null,a.createElement("style",null,e.styleTexts.join("\n")),this.render())):(0,c.A)(u,this).render(this.render())};window.BRICK_NEXT_VERSIONS&&!window.DISABLE_REACT_FLUSH_SYNC?(0,h.flushSync)(e):e()}}function w(){if((0,c.A)(u,this))return;const e=this.constructor;if(e.shadowOptions){const n=this.attachShadow(e.shadowOptions);var t;if((0,d.supportsAdoptingStyleSheets)()&&null!==(t=e.styleTexts)&&void 0!==t&&t.length){const t=new CSSStyleSheet;t.replaceSync(e.styleTexts.join("")),n.adoptedStyleSheets=[t]}(0,i.A)(u,this,(0,l.H)(n))}else(0,i.A)(u,this,(0,l.H)(this))}var A=n(9575);function S(e,t){return(0,a.forwardRef)((function(n,r){let{children:s,...o}=n;const i="string"==typeof e?e:e.__tagName,c=k(o,t);return a.createElement(i,(0,A.A)({},c,{ref:r}),s)}))}function y(e,t){return(0,a.forwardRef)((function(n,r){let{children:s,...o}=n;const i=k(o,t);return a.createElement(e,(0,A.A)({},i,{ref:r}),s)}))}function k(e,t){let n;if(t){n={};for(const[r,s]of Object.entries(e))Object.prototype.hasOwnProperty.call(t,r)?n[`on${t[r]}`]=s:n[r]=s}else n=e;return n}},4635:(e,t,n)=>{n.d(t,{A:()=>s});var r=n(2016);function s(e,t){(0,r.A)(e,t),t.add(e)}},5873:(e,t,n)=>{var r=n(9435);t.H=r.createRoot,r.hydrateRoot},9575:(e,t,n)=>{function r(){return r=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},r.apply(this,arguments)}n.d(t,{A:()=>r})}}]);
2
- //# sourceMappingURL=733.375ffac6.js.map
1
+ "use strict";(globalThis.webpackChunk_next_bricks_markdown=globalThis.webpackChunk_next_bricks_markdown||[]).push([[733],{114:(e,t,n)=>{n.r(t),n.d(t,{ReactNextElement:()=>f,wrapBrick:()=>y,wrapLocalBrick:()=>S});var r=n(4635),s=n(918),o=n(2559),i=n(6121),c=n(829),a=n(8769),l=n(5873),h=n(9435),d=n(7921),u=new WeakMap,p=new WeakSet;class f extends d.NextElement{constructor(){super(...arguments),(0,r.A)(this,p),(0,s.A)(this,u,void 0)}connectedCallback(){super._markConnectedCallbackCalled(),(0,o.A)(p,this,w).call(this),this._render()}disconnectedCallback(){var e;null===(e=(0,c.A)(u,this))||void 0===e||e.render(null)}_render(){const e=()=>{if(!this.isConnected||!(0,c.A)(u,this))return;const e=this.constructor;var t;e.shadowOptions?(0,c.A)(u,this).render((0,d.supportsAdoptingStyleSheets)()||null===(t=e.styleTexts)||void 0===t||!t.length?this.render():a.createElement(a.Fragment,null,a.createElement("style",null,e.styleTexts.join("\n")),this.render())):(0,c.A)(u,this).render(this.render())};window.BRICK_NEXT_VERSIONS&&!window.DISABLE_REACT_FLUSH_SYNC?(0,h.flushSync)(e):e()}}function w(){if((0,c.A)(u,this))return;const e=this.constructor;if(e.shadowOptions){const n=this.attachShadow(e.shadowOptions);var t;if((0,d.supportsAdoptingStyleSheets)()&&null!==(t=e.styleTexts)&&void 0!==t&&t.length){const t=new CSSStyleSheet;t.replaceSync(e.styleTexts.join("")),n.adoptedStyleSheets=[t]}(0,i.A)(u,this,(0,l.H)(n))}else(0,i.A)(u,this,(0,l.H)(this))}var A=n(9575);function S(e,t){return(0,a.forwardRef)((function(n,r){let{children:s,...o}=n;const i="string"==typeof e?e:e.__tagName,c=k(o,t);return a.createElement(i,(0,A.A)({},c,{ref:r}),s)}))}function y(e,t){return(0,a.forwardRef)((function(n,r){let{children:s,...o}=n;const i=k(o,t);return a.createElement(e,(0,A.A)({},i,{ref:r}),s)}))}function k(e,t){let n;if(t){n={};for(const[r,s]of Object.entries(e))Object.prototype.hasOwnProperty.call(t,r)?n[`on${t[r]}`]=s:n[r]=s}else n=e;return n}},4635:(e,t,n)=>{n.d(t,{A:()=>s});var r=n(2016);function s(e,t){(0,r.A)(e,t),t.add(e)}},5873:(e,t,n)=>{var r=n(9435);t.H=r.createRoot,r.hydrateRoot},9575:(e,t,n)=>{function r(){return r=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},r.apply(this,arguments)}n.d(t,{A:()=>r})}}]);
2
+ //# sourceMappingURL=733.5804af84.js.map